首页 > 代码库 > 3.9 批量导入一揽子采购协议

3.9 批量导入一揽子采购协议

3.9.1   业务方案描述

  1. 一揽子采购协议可以手工维护,也可以批量导入,批量导入一揽子采购协议的功能,以提高价格维护的效率。
  2. 采购一揽子协议是区分OU的,不同OU的采购协议需要单独维护。
  3. 批量导入一揽子采购协议的功能具体如下:

          1) 调价:适用于该供应商已存在采购协议,且在协议中有该物料的价格信息,需要新增某一时间段内的价格。

          2) 供应商新增物料报价:适用于该供应商已存在采购协议,在该协议中没有该物料的报价,需要在采购协议中增加记录。

          3) 新建采购协议:适用于该供应商没有采购协议,需要新建采购协议。

3.9.2   业务方案逻辑控制

  1. 将供应商报价按照模板整理,通过该批量上载到临时接口表中,执行批量导入一揽子采购协议的从excel到临时接口表的前处理工作。
  2. 采购协议生成逻辑:

          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->工具-> 安全性->可靠来源->