From 8ebb968641c80accdc03551164cfeb93e41ff976 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期一, 29 十二月 2025 17:36:34 +0800
Subject: [PATCH] 修改零件批次属性问题修复
---
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java | 50 +++++++++++++-----------
inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsPartPropsRecordMapper.java | 2 +
inspect-server/src/main/resources/mapper/IfsPartPropsRecordMapper.xml | 10 +++++
3 files changed, 39 insertions(+), 23 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsPartPropsRecordMapper.java b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsPartPropsRecordMapper.java
index 7e7b986..9548beb 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsPartPropsRecordMapper.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/mapper/IfsPartPropsRecordMapper.java
@@ -3,6 +3,7 @@
import com.ruoyi.inspect.pojo.IfsPartPropsRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
/**
* @author 27233
@@ -13,6 +14,7 @@
@Mapper
public interface IfsPartPropsRecordMapper extends BaseMapper<IfsPartPropsRecord> {
+ Long selectCountByPartNoAndLotBatchNo(@Param("partNo") String partNo, @Param("lotBatchNo") String lotBatchNo);
}
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java
index 89fb4c2..ab2e7cc 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/IfsPartPropsRecordServiceImpl.java
@@ -48,29 +48,33 @@
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);
}
diff --git a/inspect-server/src/main/resources/mapper/IfsPartPropsRecordMapper.xml b/inspect-server/src/main/resources/mapper/IfsPartPropsRecordMapper.xml
index c29c7a1..4cccb84 100644
--- a/inspect-server/src/main/resources/mapper/IfsPartPropsRecordMapper.xml
+++ b/inspect-server/src/main/resources/mapper/IfsPartPropsRecordMapper.xml
@@ -21,4 +21,14 @@
start_meter_mark,end_meter_mark,insulation_color,
outer_color,lettering_info,part_props_flag
</sql>
+ <select id="selectCountByPartNoAndLotBatchNo" resultType="java.lang.Long">
+ select
+ COUNT(iiq.id)
+ from ifs_inventory_quantity iiq
+ left join ifs_part_props_record ippr
+ on iiq.id = ippr.ifs_inventory_id
+ where iiq.part_no = #{partNo}
+ and iiq.update_batch_no= #{lotBatchNo}
+ and ippr.id is not null
+ </select>
</mapper>
--
Gitblit v1.9.3