
# 集成
#### 条码集成
**概述：**条码应用分为三个部分：扫码、条码应用、WEBAPI，WEBAPI通过与B1的交互完成数据的查询和保存等功能，条码的集成开发是指通过集成工作台实现B1与条码应用的对接，替代WEBAPI。
**应用场景分析：**根据条码应用中WEBAPI的功能，集成开发需要完成查询数据和保存数据的功能：
- 查询数据，数据查询sql从条码应用提交到集成工作台，集成工作台调用diapi服务，执行sql查询ERP的数据返回给条码应用；
- 保存数据，数据按某种数据结构从条码应用提交到集成工作台，集成工作台调用service layer服务接口，将数据保存到ERP；
**集成方案设计**
1. 查询数据方案 
   图1整体设计流程   
   ![](https://support.huaweicloud.com/sparkpack-saasapp/zh-cn_image_0000002267906252.png)
   图2具体设计方案   
   ![](https://support.huaweicloud.com/sparkpack-saasapp/zh-cn_image_0000002302563073.png)
   如上图，数据查询具体方案如下：
   - 在集成工作台创建diapi连接器，连接器通过登录接口进行自定义认证；
   
   - 在diapi连接器中创建执行动作，封装执行sql的接口；
   
   - 通过diapi登录接口创建连接，连接diapi系统；
   
   - 在集成工作台创建api流，接受来自条码应用携带sql的请求；
   
   - 在流中使用diapi连接器中执行sql的执行动作，执行sql查询数据；
   
   - 将查询的数据按照条码应用所需结构进行封装，返回给条码应用
   
   
   
   
2. 保存数据方案 
   图3整体设计流程   
   ![](https://support.huaweicloud.com/sparkpack-saasapp/zh-cn_image_0000002267963178.png)
   图4具体设计方案   
   ![](https://support.huaweicloud.com/sparkpack-saasapp/zh-cn_image_0000002302476181.png)
   如上图，数据查询具体方案如下：
   - 在集成工作台创建servicelayer连接器，连接器通过登录接口进行自定义认证；
   
   - 在servicelayer连接器中创建执行动作，封装创建生产发料、创建生产收货等所需接口；
   
   - 通过servicelayer登录接口创建连接，连接servicelayer系统；
   
   - diapi连接器使用查询接口中已经创建好的连接器；
   
   - 在集成工作台创建一个手动触发流，作为保存子流；
   
   - 在集成工作台创建api流，接受来自条码应用保存数据的请求；
   
   - 根据请求中的数据判断是否倒扣料；
   
   - 如果倒扣料，使用diapi连接器中执行sql的执行动作，查询发料行，构造生产发料请求数据，调用子流创建生产发料；构造生产收货请求数据，调用子流创建生产收货；
   
   - 如果没有倒扣料，则直接调用子流创建出入库单据；
   
   - 根据条码应用请求所需返回的数据，将结果返回
   
   
   
   
 
