一、 调价表保存、提交、审核生效,最新逻辑:
1. 保存校验:调价表内部校验:校验当前调价表中所有的行是否存在相同维度的,生效区间重叠的数据,不允许出现区间重叠的数据保存。
2. 提交校验:模拟生效,调用价目表的校验:提交时校验调价表中的数据与价目表中的数据,相同维度数据是否存在重叠,避免在调价表生效时提示生效区间的重叠而不能生效。
3. 审核生效:
3.1 调价表明细行中有指定价目表的,更新数据时,找到对应价目表进行更新。
3.2 调价表中是否价目表下推标识为“是”(调价类型= 变更),根据携带的价目表分录内码直接更新对应行的价目表。
3.3 调价表中是否价目表下推标识为“否”(调价类型= 新增), 查找价目表中相同维度的行,根据与对应价目表行生效区间的交叉关系,选择直接新增价目表行或者拆分更新更新价目表行,拆分逻辑如下:
3.1.1 如果在对应价目表找到物料、辅助属性、计价单位、需求组织、作业、从、至及6个自定义字段相同且有效期无匹配数据时;表示无重叠和可匹配更新数据则直接新增一行价目表分录。
3.1.2 如果在对应价目表找到物料、辅助属性、计价单位、需求组织、作业、从、至及6个自定义字段相同,且有效期交叉存在匹配值时,1、若仅匹配到一条数据,且该条分录是生效日期最大的那一条,则对该条价目表分录进行拆分更新。生效成功后,该调价分录的调价类型也会变为修改类型。2、若按以上维度和有效期间匹配到多条价目表数据时,则在提交时提示错误信息。
3.1.3 拆分逻辑:按以上逻辑匹配到相同维度生效期间重叠的数据后,判断价目表中匹配数据的生效日期小于调价表中生效日期时,则将价目表数据的失效日期变更为调价表的生效日期,保存后再按调价表数据在价目表新增一行价目表数据。若价目表原失效日期大于调价表数据中的失效日期时,后续数据不作拆分,按调价表失效日期为准截止。数据示例如下:
场景一:
调价后的数据,生效日期会分为两行4.1~4.5, 4.5~5.1
场景二:
调价后的数据,生效日期会分为两行4.1~4.5, 4.5~5.10
场景三:
以上场景不支持自动拆分,建议在调价表中先对原有行进行变更设置为3.25~4.25,并新增行4.25~5.1的数据
场景四:
调价后的数据,生效日期会分为两行4.1~4.5, 4.5~4.25。4.25之后的数据不会被保留。
场景五:
以上场景不支持自动拆分,在提交是会提示数据重叠,此场景数据变更建议采用下推的方式,逐行修改变更3.1~3.5, 3.5~4.1, 并新增行4.1~5.10
推荐阅读