| | |
| | | if(Objects.isNull(ifsPartPropsRecord)){ |
| | | throw new RuntimeException("参数不能为空"); |
| | | } |
| | | //判断是新增还是更新 |
| | | String actionType = Objects.isNull(ifsPartPropsRecord.getId())?"New":"Modify"; |
| | | Map<String, Object> inAttrMap = new HashMap<>(); |
| | | inAttrMap.put("RECORD_ID", UUID.randomUUID().toString()); |
| | | inAttrMap.put("SYSCODE", "LIMS"); |
| | | inAttrMap.put("SYSMODEL", "库存物料批次属性修改"); |
| | | HashMap<String, Object> batchInfoMap = new HashMap<>(); |
| | | batchInfoMap.put("CONTRACT","ZTNS");//域 |
| | | batchInfoMap.put("PART_NO",ifsPartPropsRecord.getPartNo());//零件号 |
| | | batchInfoMap.put("LOT_BATCH_NO",ifsPartPropsRecord.getLotBatchNo());//批次号 |
| | | batchInfoMap.put("ATTR1",ifsPartPropsRecord.getDrumNo());//载具编号 |
| | | batchInfoMap.put("ATTR2",ifsPartPropsRecord.getStartMeterMark().toString());//起始米标 |
| | | batchInfoMap.put("ATTR3",ifsPartPropsRecord.getEndMeterMark().toString());//截止米标 |
| | | batchInfoMap.put("ATTR4", ifsPartPropsRecord.getOuterColor());//外护颜色 |
| | | batchInfoMap.put("ATTR5",ifsPartPropsRecord.getInsulationColor());//绝缘颜色 |
| | | batchInfoMap.put("ATTR8",ifsPartPropsRecord.getLetteringInfo());//印字信息 |
| | | batchInfoMap.put("ATTR23","车间订单");//入库来源 |
| | | batchInfoMap.put("ATTR24","0");//分割预留数量 |
| | | batchInfoMap.put("ACTION_TYPE",actionType);//操作类型 |
| | | inAttrMap.put("BATCH_INFO", Collections.singletonList(batchInfoMap)); |
| | | Result result = ifsApiUtils.importPartLotAttr(JSONUtil.toJsonStr(inAttrMap)); |
| | | if(result.getCode()!=200){ |
| | | throw new RuntimeException("库存物料批次属性更新失败:"+result.getMessage()); |
| | | //查询是否已有同批次同零件号的批次属性,没有才更新 |
| | | Long count = baseMapper.selectCountByPartNoAndLotBatchNo(ifsPartPropsRecord.getPartNo(),ifsPartPropsRecord.getLotBatchNo()); |
| | | if(count==0){ |
| | | //判断是新增还是更新 |
| | | String actionType = Objects.isNull(ifsPartPropsRecord.getId())?"New":"Modify"; |
| | | Map<String, Object> inAttrMap = new HashMap<>(); |
| | | inAttrMap.put("RECORD_ID", UUID.randomUUID().toString()); |
| | | inAttrMap.put("SYSCODE", "LIMS"); |
| | | inAttrMap.put("SYSMODEL", "库存物料批次属性修改"); |
| | | HashMap<String, Object> batchInfoMap = new HashMap<>(); |
| | | batchInfoMap.put("CONTRACT","ZTNS");//域 |
| | | batchInfoMap.put("PART_NO",ifsPartPropsRecord.getPartNo());//零件号 |
| | | batchInfoMap.put("LOT_BATCH_NO",ifsPartPropsRecord.getLotBatchNo());//批次号 |
| | | batchInfoMap.put("ATTR1",ifsPartPropsRecord.getDrumNo());//载具编号 |
| | | batchInfoMap.put("ATTR2",ifsPartPropsRecord.getStartMeterMark().toString());//起始米标 |
| | | batchInfoMap.put("ATTR3",ifsPartPropsRecord.getEndMeterMark().toString());//截止米标 |
| | | batchInfoMap.put("ATTR4", ifsPartPropsRecord.getOuterColor());//外护颜色 |
| | | batchInfoMap.put("ATTR5",ifsPartPropsRecord.getInsulationColor());//绝缘颜色 |
| | | batchInfoMap.put("ATTR8",ifsPartPropsRecord.getLetteringInfo());//印字信息 |
| | | batchInfoMap.put("ATTR23","车间订单");//入库来源 |
| | | batchInfoMap.put("ATTR24","0");//分割预留数量 |
| | | batchInfoMap.put("ACTION_TYPE",actionType);//操作类型 |
| | | inAttrMap.put("BATCH_INFO", Collections.singletonList(batchInfoMap)); |
| | | Result result = ifsApiUtils.importPartLotAttr(JSONUtil.toJsonStr(inAttrMap)); |
| | | if(result.getCode()!=200){ |
| | | throw new RuntimeException("库存物料批次属性更新失败:"+result.getMessage()); |
| | | } |
| | | } |
| | | return this.saveOrUpdate(ifsPartPropsRecord); |
| | | } |