首页 > 代码库 > 3.9 批量导入一揽子采购协议
3.9 批量导入一揽子采购协议
3.9.1 业务方案描述
- 一揽子采购协议可以手工维护,也可以批量导入,批量导入一揽子采购协议的功能,以提高价格维护的效率。
- 采购一揽子协议是区分OU的,不同OU的采购协议需要单独维护。
- 批量导入一揽子采购协议的功能具体如下:
1) 调价:适用于该供应商已存在采购协议,且在协议中有该物料的价格信息,需要新增某一时间段内的价格。
2) 供应商新增物料报价:适用于该供应商已存在采购协议,在该协议中没有该物料的报价,需要在采购协议中增加记录。
3) 新建采购协议:适用于该供应商没有采购协议,需要新建采购协议。
3.9.2 业务方案逻辑控制
- 将供应商报价按照模板整理,通过该批量上载到临时接口表中,执行批量导入一揽子采购协议的从excel到临时接口表的前处理工作。
- 采购协议生成逻辑:
1) 首先判断模板中指定的采购协议中有没有该物料编码,如没有该物料编码,则增加该物料至一揽子协议中,同时在分段价格表中按照日期增加记录,然后在ASL中增加记录,将采购协议、物料、供应商建立关系;如有该物料编码,则在分段价格表中按照日期增加记录。
2) 如果在模板中没有指定采购协议号,则为新建一个采购协议,将记录分别通过接口表或API插入协议头、行、分段价格表中。
3. 采购协议验证逻辑:
1) 同一个供应商地点只能有一个批准的一揽子采购协议,当重复时,报错。
2) 验证物料编码是否有效:是否在该OU缺省的库存组织中是否分配了物料编码。如验证失败,状态显示为“失败”,同时提示相应的错误信息。
3) 验证供应商是否有效:验证该供应商及供应商地点是否有效,如验证失败,状态显示为“失败”,同时提示相应的错误信息。
4) 验证模板中有效日期是否与系统中已存在的记录的日期是否交叉,如验证失败,状态显示为“失败”,同时提示相应的错误信息。
5) 如模板中已有采购协议为空,则还要判断该供应商在ASL中有没有绑定采购协议,如有则验证失败,状态显示为“失败”,同时提示相应的错误信息。
6) 一个采购协议中只能有相同物料只能有一条记录,但是如果行信息被取消,可以重新为该物料增加新协议行。
7) 验证模板中的其它数据是否符合Oracle相关表中的字段类型,如是LOV,还要验证有效性。
4. 生成一揽子采购协议的审批状态为”未完成”,需要价格监控员在Oracle中提交批准。这样做的目的是,让价格监控员可以审核导入协议,如果有错,可以将该协议删除。
5. 批量导入的记录一定要在采购订单历史中记录导入历史信息,便于事后跟踪。
3.9.3 业务方案执行控制
1. 并发程序名称:导入采购协议
2. 处理逻辑: Web ADI执行导入操作后,会自动触发该程序,执行从临时接口表到Oracle数据表的后处理工作。
3. 参数:从前端界面上自动传入。
4. 用户必须按照模板整理数据。
5. 客户端浏览器安全性设置中的所有ActiveX控件置为”提醒”。
1) 设置路径为:IE->Internet 选项->安全->自定义->…
6. 客户端Excel中安全性控制选项 ”信任对于“Vision basic 项目”的访问”必须选择。
1) 设置路径为:Excel->工具-> 安全性->可靠来源->