zouyu
6 天以前 e50a43bb067adff10cd1dcc81349b1aafdfda882
业务管理:IFS域区分【ZTNS】和【KJNS】
已添加1个文件
已重命名1个文件
已修改16个文件
222 ■■■■ 文件已修改
inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/dto/IfsPartPropsRecordDTO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/dto/ReportPageDto.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/task/RawMaterIalSchedule.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/vo/IfsOrderVO.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPlanVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsOrderMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsReportMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/resources/mapper/InsSampleMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin-ztns/src/main/resources/application-druid.yml 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin-ztns/src/main/resources/application-ztns.yml 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/config/ifs/IfsConfig.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/config/ifs/IfsProperties.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/api/IfsApiUtils.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/controller/InsOrderController.java
@@ -178,7 +178,7 @@
    @GetMapping("/getIfsOrder")
    public Result<?> getIfsOrder() {
        HashMap<String, Object> map = new HashMap<>();
        map.put("LOCATION_NO", "1302;WG-04-001");
//        map.put("LOCATION_NO", "1302;WG-04-001");
        map.put("STATE_DB", "To be Inspected");
        insOrderService.getIfsOrder(map, false);
        return Result.success();
inspect-server/src/main/java/com/ruoyi/inspect/dto/IfsPartPropsRecordDTO.java
@@ -6,8 +6,19 @@
@Data
public class IfsPartPropsRecordDTO extends IfsPartPropsRecord {
    /**
     * é›¶ä»¶å·
     */
    private String partNo;
    /**
     * æ‰¹æ¬¡å·
     */
    private String lotBatchNo;
    /**
     * IFS域
     */
    private String contract;
}
inspect-server/src/main/java/com/ruoyi/inspect/dto/ReportPageDto.java
@@ -9,6 +9,9 @@
@Data
public class ReportPageDto extends InsReport implements Serializable {
    @ApiModelProperty(value = "IFS域")
    private String contract;
    @ApiModelProperty(value = "委托编号")
    private String entrustCode;
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/FinishProductSpotCheckServiceImpl.java
@@ -82,7 +82,7 @@
        jresult.put("data", new JSONArray());
        JSONObject jsonObject = new JSONObject();
        generateIfsStockQueryParams(jsonObject, ifsStockQueryDTO, ifsStockQueryDTO.getPage(), ifsStockQueryDTO.getLimit());
        Result result = ifsApiUtils.getIfsStock(jsonObject.toJSONString());
        Result result = ifsApiUtils.getIfsStock("ZTNS",jsonObject.toJSONString());
        if (result.getCode() == 200) {
            JSONObject data = (JSONObject) JSON.toJSON(result.getData());
            JSONArray array = new JSONArray();
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java
@@ -42,9 +42,6 @@
    @Autowired
    private IfsSplitOrderRecordMapper ifsSplitOrderRecordMapper;
    @Value("${ifs.contract}")
    public String contract;
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean saveOrUpdateProps(IfsPartPropsRecordDTO ifsPartPropsRecord) {
@@ -61,7 +58,7 @@
            inAttrMap.put("SYSCODE", "LIMS");
            inAttrMap.put("SYSMODEL", "库存物料批次属性修改");
            HashMap<String, Object> batchInfoMap = new HashMap<>();
            batchInfoMap.put("CONTRACT",contract);//域
            batchInfoMap.put("CONTRACT",ifsPartPropsRecord.getContract());//域
            batchInfoMap.put("PART_NO",ifsPartPropsRecord.getPartNo());//零件号
            batchInfoMap.put("LOT_BATCH_NO",ifsPartPropsRecord.getLotBatchNo());//批次号
            batchInfoMap.put("ATTR1",ifsPartPropsRecord.getDrumNo());//载具编号
@@ -74,7 +71,7 @@
            batchInfoMap.put("ATTR24","0");//分割预留数量
            batchInfoMap.put("ACTION_TYPE",actionType);//操作类型
            inAttrMap.put("BATCH_INFO", Collections.singletonList(batchInfoMap));
            Result result = ifsApiUtils.importPartLotAttr(JSONUtil.toJsonStr(inAttrMap));
            Result result = ifsApiUtils.importPartLotAttr(ifsPartPropsRecord.getContract(),JSONUtil.toJsonStr(inAttrMap));
            if(result.getCode()!=200){
                throw new RuntimeException("库存物料批次属性更新失败:"+result.getMessage());
            }
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsOrderServiceImpl.java
@@ -25,6 +25,7 @@
import com.ruoyi.basic.pojo.StandardProductList;
import com.ruoyi.basic.pojo.StructureItemParameter;
import com.ruoyi.basic.pojo.StructureTestObject;
import com.ruoyi.common.config.ifs.IfsProperties;
import com.ruoyi.common.constant.InsOrderTypeConstants;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.core.domain.entity.User;
@@ -561,7 +562,7 @@
     */
    @Override
    public void getIfsOrder(Map<String, Object> map, Boolean isSplitOrder) {
        List<Map<String, Object>> inventory = ifsApiUtils.getInventory(JSONUtil.toJsonStr(map));
        List<Map<String, Object>> inventory = ifsApiUtils.getInventory(map);
        if (inventory.isEmpty()) {
            return;
        }
@@ -807,6 +808,8 @@
        ifsInventoryQuantity.setIsCopper(1);
        ifsInventoryQuantity.setIsQuarter(0);
        ifsInventoryQuantity.setInspectStatus(0);
        ifsInventoryQuantity.setOrderType(OrderType.RAW.getValue());
        ifsInventoryQuantity.setMaterialProp("01Cu");
        ifsInventoryQuantity.setQtyArrived(insOrder.getQtyArrived());
        ifsInventoryQuantity.setBuyUnitMeas(insOrder.getBuyUnitMeas());
@@ -1204,7 +1207,7 @@
            resultMap.put("SYSCODE", "LIMS");
            resultMap.put("SYSMODEL", "登记采购检验结果");
            resultMap.put("BATCH_INFO", resultList);
            Result result = ifsApiUtils.getProcurementResults(JSONUtil.toJsonStr(resultMap));
            Result result = ifsApiUtils.getProcurementResults(one.getContract(),JSONUtil.toJsonStr(resultMap));
            if (result.getCode() != 200) {
                throw new ErrorException("IFS登记采购检验结果失败: " + result.getMessage());
            }
@@ -1235,8 +1238,14 @@
         * TODO åŽç»­éœ€è¦è°ƒç”¨IFS的接口 ç§»å…¥çš„库位号 toLocation
         */
        // æ£€éªŒåŽç§»åº“
        //1301:原材料合格库,CP-02-001:成品库
        toLocation = StringUtils.equals(inventoryQuantity.getOrderType(), OrderType.RAW.getValue()) ? "1301" : "CP-02-001";
        //1.根据ifs域获取对应库位配置
        IfsProperties properties = ifsApiUtils.getPropByContract(one.getContract());
        //2.判断订单类型是否为原材料
        if(StringUtils.equals(inventoryQuantity.getOrderType(), OrderType.RAW.getValue())){
            toLocation = properties.getRawQualifiedLocation();
        }else{
            toLocation = properties.getProductQualifiedLocation();
        }
        Map<String, Object> moveResultMap = new HashMap<>();
        List<Map<String, Object>> moveResultList = new ArrayList<>();
        Map<String, Object> moveMap = new HashMap<>();
@@ -1259,7 +1268,7 @@
        moveResultMap.put("SYSMODEL", "检验后移库");
        moveResultMap.put("BATCH_INFO", moveResultList);
        Result result1 = ifsApiUtils.moveReceipt(JSONUtil.toJsonStr(moveResultMap));
        Result result1 = ifsApiUtils.moveReceipt(one.getContract(),JSONUtil.toJsonStr(moveResultMap));
        // å¦‚果有必须为零件指定批号报错需要重新提交移库信息去指定批号
        if (result1.getCode() != 200) {
            String message = result1.getMessage();
@@ -1309,7 +1318,7 @@
            resultMap.put("SYSMODEL", "修改采购订单批次号");
            resultMap.put("BATCH_INFO", resultList);
            Result result = ifsApiUtils.updateMoveReceiptLot(JSONUtil.toJsonStr(resultMap));
            Result result = ifsApiUtils.updateMoveReceiptLot(one.getContract(),JSONUtil.toJsonStr(resultMap));
            if (result.getCode() != 200) {
                throw new ErrorException("IFS修改批次号失败: " + result.getMessage());
@@ -1341,7 +1350,7 @@
        moveResultMap.put("SYSMODEL", "检验后移库");
        moveResultMap.put("BATCH_INFO", moveResultList);
        Result result1 = ifsApiUtils.moveReceipt(JSONUtil.toJsonStr(moveResultMap));
        Result result1 = ifsApiUtils.moveReceipt(one.getContract(),JSONUtil.toJsonStr(moveResultMap));
        if (result1.getCode() != 200) {
            throw new ErrorException("IFS检验后移库失败: " + result1.getMessage());
        }
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
@@ -895,7 +895,7 @@
        inAttrMap.put("BATCH_INFO", batchInfoData);
        String inAttr = JSONObject.toJSONString(inAttrMap);
        //调用ifs接口
        Result result = ifsApiUtils.updateMoveReceiptLot(inAttr);
        Result result = ifsApiUtils.updateMoveReceiptLot(ifsInventoryQuantity.getContract(),inAttr);
        if(result.getCode()!=200){
            throw new RuntimeException("IFS采购接收更改批号请求异常:"+result.getMessage());
        }
@@ -917,7 +917,7 @@
        }
        //ifs更改批号接口调用成功,拉取新拆分的ifs订单并报检
        Map<String, Object> map = new HashMap<>();
        map.put("LOCATION_NO","1302");
//        map.put("LOCATION_NO","1302");
        map.put("STATE_DB","To be Inspected");
        map.put("PART_NO",ifsInventoryQuantity.getPartNo());
        map.put("ORDER_NO",ifsInventoryQuantity.getOrderNo());
inspect-server/src/main/java/com/ruoyi/inspect/task/RawMaterIalSchedule.java
@@ -24,7 +24,7 @@
    @Scheduled(fixedDelay = 1200000)
    public void getIfsOrderTiming() {
        Map<String, Object> map = new HashMap<>();
        map.put("LOCATION_NO","1302");
//        map.put("LOCATION_NO","1302");
        map.put("STATE_DB","To be Inspected");
        insOrderService.getIfsOrder(map,false);
    }
inspect-server/src/main/java/com/ruoyi/inspect/vo/IfsOrderVO.java
@@ -73,4 +73,10 @@
    private String lotBatchNo;
    /**
     * ifs域
     */
    private String contract;
}
inspect-server/src/main/java/com/ruoyi/inspect/vo/InsOrderPlanVO.java
@@ -9,6 +9,9 @@
    private Integer id;
    @ApiModelProperty("IFS域")
    private String contract;
    @ApiModelProperty("委托编号")
    private String entrustCode;
inspect-server/src/main/resources/mapper/InsOrderMapper.xml
@@ -510,6 +510,7 @@
    </select>
    <select id="selectOrderInfoById" resultType="com.ruoyi.inspect.vo.IfsOrderVO">
        select  io.*,
                iiq.contract,
                iiq.is_split_order,
                iiq.order_type AS ifs_order_type,
                iiq.part_no,
inspect-server/src/main/resources/mapper/InsReportMapper.xml
@@ -22,7 +22,8 @@
        ip.son_laboratory,
        iiq.update_batch_no,
        iiq.part_desc,
        iiq.supplier_name
        iiq.supplier_name,
        iiq.contract
        from ins_report ir
        left join ins_order io on io.id = ir.ins_order_id
        LEFT JOIN ifs_inventory_quantity iiq ON iiq.id = io.ifs_inventory_id
inspect-server/src/main/resources/mapper/InsSampleMapper.xml
@@ -193,7 +193,7 @@
        ira.temp_url_pdf,
        iiq.is_copper,
        iiq.is_split_order,
        iiq.contract,
        CASE
        WHEN io.ifs_inventory_id IS NOT NULL THEN iiq.update_batch_no
        ELSE io.update_batch_no
ruoyi-admin-ztns/src/main/resources/application-druid.yml
@@ -153,12 +153,25 @@
  examiningUrl: # https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=21993616-9966-4fe4-81b0-68e99a40c964
ifs:
  contract: ZTNS
  contract-key-get: 4ttDeLKNsZuhstjtROMcRE1USNFXKdFYE7lQ2p1m5Bo=
  contract-key-post: 4ttDeLKNsZuhstjtROMcRE1USNFXKdFYE7lQ2p1m5Bo=
  custorder: http://192.168.20.47/PurchService.ashx?
  custorder-port: http://192.168.20.47:8008/PurchService.ashx?
  erp-services: http://192.168.20.47:8081
  props:
    - contract: ZTNS #中天耐丝域
      contract-key-get: 4ttDeLKNsZuhstjtROMcRE1USNFXKdFYE7lQ2p1m5Bo=  #get请求密钥
      contract-key-post: 4ttDeLKNsZuhstjtROMcRE1USNFXKdFYE7lQ2p1m5Bo= #post请求密钥
      custorder: http://192.168.20.47/PurchService.ashx?              #get请求地址
      custorder-port: http://192.168.20.47:8008/PurchService.ashx?    #post请求地址
      erp-services: http://192.168.20.47:8081                         #erp请求地址
      tobe-inspected-location: 1302                                   #待检库位
      raw-qualified-location: 1301                                    #原材料合格库位
      product-qualified-location: CP-02-001                           #成品合格库位
    - contract: KJNS #科技耐丝域
      contract-key-get: ueWGmvzoc4iR0y%2FsP6iOMeYn3ohC45KTCl3dZ94WaNk%3D #get请求密钥
      contract-key-post: ueWGmvzoc4iR0y/sP6iOMeYn3ohC45KTCl3dZ94WaNk=    #post请求密钥
      custorder: http://192.168.20.50/PurchService.ashx?                 #get请求地址
      custorder-port: http://192.168.20.50:8008/PurchService.ashx?       #post请求地址
      erp-services: http://192.168.20.50:8081                            #erp请求地址
      tobe-inspected-location: A101                                      #待检库位
      raw-qualified-location: A201                                       #原材料合格库位
      product-qualified-location: C101                                   #成品合格库位
mes:
  ztns:
ruoyi-admin-ztns/src/main/resources/application-ztns.yml
@@ -154,12 +154,25 @@
  person: https://ztt-connector.ztt.cn/api/org/v1/employees/simple/
ifs:
  contract: ZTNS
  contract-key-get: NmAkSXwoAeRF2NWF6dnsVc2O+kH2X3XuNVFbfDtnaFU=
  contract-key-post: NmAkSXwoAeRF2NWF6dnsVc2O+kH2X3XuNVFbfDtnaFU=
  custorder: http://192.168.20.50/PurchService.ashx?
  custorder-port: http://192.168.20.50:8008/PurchService.ashx?
  erp-services: http://192.168.20.50:8081
  props:
    - contract: ZTNS #中天耐丝域
      contract-key-get: NmAkSXwoAeRF2NWF6dnsVc2O+kH2X3XuNVFbfDtnaFU=  #get请求密钥
      contract-key-post: NmAkSXwoAeRF2NWF6dnsVc2O+kH2X3XuNVFbfDtnaFU= #post请求密钥
      custorder: http://192.168.20.50/PurchService.ashx?              #get请求地址
      custorder-port: http://192.168.20.50:8008/PurchService.ashx?    #post请求地址
      erp-services: http://192.168.20.50:8081                         #erp请求地址
      tobe-inspected-location: 1302                                   #待检库位
      raw-qualified-location: 1301                                    #原材料合格库位
      product-qualified-location: CP-02-001                           #成品合格库位
    - contract: KJNS #科技耐丝域
      contract-key-get: ueWGmvzoc4iR0y%2FsP6iOMeYn3ohC45KTCl3dZ94WaNk%3D #get请求密钥
      contract-key-post: ueWGmvzoc4iR0y/sP6iOMeYn3ohC45KTCl3dZ94WaNk=    #post请求密钥
      custorder: http://192.168.20.50/PurchService.ashx?                 #get请求地址
      custorder-port: http://192.168.20.50:8008/PurchService.ashx?       #post请求地址
      erp-services: http://192.168.20.50:8081                            #erp请求地址
      tobe-inspected-location: A101                                      #待检库位
      raw-qualified-location: A201                                       #原材料合格库位
      product-qualified-location: C101                                   #成品合格库位
mes:
  ztns:
ruoyi-common/src/main/java/com/ruoyi/common/config/ifs/IfsConfig.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package com.ruoyi.common.config.ifs;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.util.List;
/**
 * é…ç½®æ˜ å°„实体类
 */
@Configuration
@ConfigurationProperties(prefix = "ifs")
@Data
public class IfsConfig {
    private List<IfsProperties> props;
}
ruoyi-common/src/main/java/com/ruoyi/common/config/ifs/IfsProperties.java
ÎļþÃû´Ó ruoyi-common/src/main/java/com/ruoyi/common/config/IfsProperties.java ÐÞ¸Ä
@@ -1,15 +1,11 @@
package com.ruoyi.common.config;
package com.ruoyi.common.config.ifs;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
/**
 * @Author zhuo
 * @Date 2024/9/29
 */
@Configuration
@ConfigurationProperties(prefix = "ifs")
@Data
public class IfsProperties {
@@ -22,7 +18,6 @@
     * ç§˜é’¥-get
     */
    private String contractKeyGet;
    /**
     * ç§˜é’¥-post
@@ -43,4 +38,20 @@
     * 8081
     */
    private String erpServices;
    /**
     * å¾…检库位
     */
    private String tobeInspectedLocation;
    /**
     * åŽŸææ–™åˆæ ¼åº“ä½
     */
    private String rawQualifiedLocation;
    /**
     * æˆå“åˆæ ¼åº“位
     */
    private String productQualifiedLocation;
}
ruoyi-common/src/main/java/com/ruoyi/common/utils/api/IfsApiUtils.java
@@ -6,13 +6,15 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ruoyi.common.config.ifs.IfsConfig;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.config.IfsProperties;
import com.ruoyi.common.config.ifs.IfsProperties;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -25,27 +27,35 @@
@Component
public class IfsApiUtils {
    private IfsProperties ifsProperties;
    private IfsConfig ifsConfig;
    public IfsProperties getPropByContract(String contract){
        return ifsConfig.getProps().stream().filter(f-> StringUtils.equals(contract,f.getContract())).findFirst().orElse(new IfsProperties());
    }
    /**
     * æŸ¥è¯¢é‡‡è´­è®¢å•未检验
     */
    public List<Map<String, Object>> getInventory(String inAttr) {
    public List<Map<String, Object>> getInventory(Map<String,Object> inAttrMap) {
        List<Map<String, Object>> maps = new ArrayList<>();
        ifsConfig.getProps().forEach(ifsProp->{
        String procedureName = "QUERY_POL_RECEIPT_STD";
        JSONObject stockMap = getJsonObject(procedureName, inAttr);
        String body = HttpRequest.post(ifsProperties.getCustorderPort()).form(stockMap).execute().body();
            inAttrMap.put("LOCATION_NO",ifsProp.getTobeInspectedLocation());
            String inAttr = JSONUtil.toJsonStr(inAttrMap);
            JSONObject stockMap = getJsonObject(procedureName, inAttr,ifsProp.getContract(),ifsProp.getContractKeyPost());
            String body = HttpRequest.post(ifsProp.getCustorderPort()).form(stockMap).execute().body();
        ObjectMapper objectMapper = new ObjectMapper();
        try {
            Map map = objectMapper.readValue(body, Map.class);
            List<Map<String, Object>> maps = objectMapper.readValue(JSONUtil.toJsonStr(map.get("LIST_INFO")), new TypeReference<List<Map<String, Object>>>() {
            });
                maps.addAll(objectMapper.readValue(JSONUtil.toJsonStr(map.get("LIST_INFO")), new TypeReference<List<Map<String, Object>>>() {
                }));
            log.info("获取采购订单-->>" + maps);
            return maps;
        } catch (JsonProcessingException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
        }
        });
        return maps;
    }
@@ -53,8 +63,8 @@
    /**
     * ç™»è®°é‡‡è´­æ£€éªŒç»“æžœSTD
     */
    public Result getProcurementResults(String inAttr) {
        return getResult("REGIST_INSPECTION_RESULTS_STD", inAttr, ifsProperties.getCustorder(), "登记采购检验结果-->");
    public Result getProcurementResults(String contract,String inAttr) {
        return getResult(contract,"REGIST_INSPECTION_RESULTS_STD", inAttr, "GET", "登记采购检验结果-->");
    }
@@ -64,8 +74,8 @@
     * @param inAttr
     * @return
     */
    public Result moveReceipt(String inAttr) {
        return getResult("MOVE_RECEIPT_STD", inAttr, ifsProperties.getCustorder(), "检验后移库-->");
    public Result moveReceipt(String contract,String inAttr) {
        return getResult(contract,"MOVE_RECEIPT_STD", inAttr, "GET", "检验后移库-->");
    }
@@ -75,8 +85,8 @@
     * @param inAttr
     * @return
     */
    public Result updateMoveReceiptLot(String inAttr) {
        return getResult("MODIFY_PURCH_RECEIPT_LOT_STD", inAttr, ifsProperties.getCustorder(), "修改采购订单批次号-->");
    public Result updateMoveReceiptLot(String contract,String inAttr) {
        return getResult(contract,"MODIFY_PURCH_RECEIPT_LOT_STD", inAttr, "GET", "修改采购订单批次号-->");
    }
@@ -87,8 +97,8 @@
     * @param inAttr
     * @return
     */
    public Result getIfsStock(String inAttr) {
        return getResult("QUERY_INVENTORY_INFO_STD", inAttr, ifsProperties.getCustorderPort(), "查询库存信息-->");
    public Result getIfsStock(String contract,String inAttr) {
        return getResult(contract,"QUERY_INVENTORY_INFO_STD", inAttr, "POST", "查询库存信息-->");
    }
    /**
@@ -97,25 +107,28 @@
     * @param inAttr
     * @return
     */
    public Result importPartLotAttr(String inAttr) {
        return getResult("IMPORT_PART_LOT_ATTR_STD", inAttr, ifsProperties.getCustorder(), "库存物料批次属性新增修改接口-->");
    public Result importPartLotAttr(String contract,String inAttr) {
        return getResult(contract,"IMPORT_PART_LOT_ATTR_STD", inAttr, "GET", "库存物料批次属性新增修改接口-->");
    }
    /**
     * é€šç”¨æŽ¥å£
     * @param contract IFS域
     * @param procedureName æ–¹æ³•名
     * @param inAttr  ä¼ å‚
     * @param url åœ°å€
     * @param urlType è¯·æ±‚类型(GET/POST)
     * @param image æ¶ˆæ¯
     * @return
     */
    private Result<?> getResult(String procedureName, String inAttr, String url, String image) {
    private Result<?> getResult(String contract,String procedureName, String inAttr, String urlType, String image) {
        IfsProperties ifsProperties = getPropByContract(contract);
        JSONObject stockMap = new JSONObject();
        stockMap.put("procedureName", procedureName);
        stockMap.put("contract", ifsProperties.getContract());
        stockMap.put("contractKey", ifsProperties.getContractKeyPost());
        stockMap.put("userId", "lims_user");
        stockMap.put("inAttr", inAttr);
        String url = StringUtils.equals("GET",urlType)?ifsProperties.getCustorder():ifsProperties.getCustorderPort();
        String body = HttpRequest.post(url).form(stockMap).execute().body();
        log.info(image + body);
        ObjectMapper objectMapper = new ObjectMapper();
@@ -139,11 +152,11 @@
     * @param inAttr             è¯·æ±‚参数
     * @return
     */
    private JSONObject getJsonObject(String procedureName, String inAttr) {
    private JSONObject getJsonObject(String procedureName, String inAttr,String contract,String contractKeyPost) {
        JSONObject stockMap = new JSONObject();
        stockMap.put("procedureName", procedureName);
        stockMap.put("contract", ifsProperties.getContract());
        stockMap.put("contractKey", ifsProperties.getContractKeyPost());
        stockMap.put("contract", contract);
        stockMap.put("contractKey", contractKeyPost);
        stockMap.put("userId", "lims_user");
        stockMap.put("inAttr", inAttr);
        return stockMap;