From e4d0ac2171bb181144c4cca91506780b269a5e02 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期一, 15 十二月 2025 17:00:34 +0800
Subject: [PATCH] 订单拆分功能调整
---
inspect-server/src/main/java/com/ruoyi/inspect/pojo/IfsSplitOrderRecord.java | 4 ++++
inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java | 29 +++++++++++++++++++----------
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java | 12 +++++++-----
3 files changed, 30 insertions(+), 15 deletions(-)
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java
index 42a2539..0f8c327 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/aspect/MoveLocationAfterPushMesStockAspect.java
@@ -3,7 +3,9 @@
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.basic.mapper.IfsInventoryQuantityMapper;
import com.ruoyi.basic.pojo.IfsInventoryQuantity;
+import com.ruoyi.common.numgen.NumberGenerator;
import com.ruoyi.common.utils.api.MesApiUtils;
import com.ruoyi.inspect.pojo.IfsSplitOrderRecord;
import com.ruoyi.inspect.service.IfsSplitOrderRecordService;
@@ -11,15 +13,13 @@
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Transactional;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
/**
* 鎵цifs绉诲簱鎿嶄綔鍚庯紝鍚屾鎺ㄩ�乵es瀹炴椂搴撳瓨
@@ -37,10 +37,7 @@
private final static String LOCATION_NO = "WG-02-001";//mes澶栬喘鍚堟牸搴撲綅
- public static final int DIGIT = 6;
- public static final String PREFIX ="KC";
-
- @AfterReturning(value = "execution(* com.ruoyi.inspect.service.impl.InsOrderServiceImpl.moveRawMaterial(..))")
+ @Before(value = "execution(* com.ruoyi.inspect.service.impl.InsOrderServiceImpl.moveRawMaterial(..))")
@Transactional(rollbackFor = Exception.class,isolation = Isolation.READ_COMMITTED)
public void doAfterReturning(JoinPoint joinPoint) {
Object[] args = joinPoint.getArgs();
@@ -58,14 +55,25 @@
.last("limit 1")
);
if(Objects.nonNull(one)){
- //鐢熸垚绯荤粺缂栧彿
-
+ //鏌ヨ瀵瑰簲璁板綍鐩稿悓鎵瑰彿鍜岄浂浠朵笖宸插悓姝ョ殑璁㈠崟璁板綍
+ List<IfsSplitOrderRecord> quantityList = ifsSplitOrderRecordService.list(Wrappers.<IfsSplitOrderRecord>lambdaQuery()
+ .eq(IfsSplitOrderRecord::getPartNo,one.getPartNo())
+ .eq(IfsSplitOrderRecord::getLotBatchNo,one.getLotBatchNo())
+ .ne(IfsSplitOrderRecord::getId,one.getId())
+ .eq(IfsSplitOrderRecord::getSyncStatus,1)
+ );
+ if(!quantityList.isEmpty()){
+ //浣跨敤鐩稿悓鐨勭郴缁熺紪鍙�
+ one.setSystemNo(quantityList.get(0).getSystemNo());
+ }
//鍚屾MES瀹炴椂搴撳瓨
Map<String, Object> requestMap = new HashMap<>();
requestMap.put("partNo", one.getPartNo()); // 闆朵欢缂栧彿
requestMap.put("systemNo", one.getSystemNo()); // 绯荤粺缂栧彿
+ requestMap.put("newSystemNo", one.getSystemNo()); // 鏂扮郴缁熺紪鍙�
requestMap.put("spec", one.getSpec()); // 瑙勬牸
requestMap.put("partBatchNo", one.getLotBatchNo()); // 闆朵欢鎵瑰彿
+ requestMap.put("newPartBatchNo", one.getLotBatchNo()); // 鏂伴浂浠舵壒鍙�
requestMap.put("stockQuantity", one.getLength()); // 搴撳瓨鏁伴噺1
requestMap.put("qty", one.getQtyStock()); // 搴撳瓨鏁伴噺2
requestMap.put("insulationColor", one.getInsulationColor()); // 缁濈紭棰滆壊
@@ -78,6 +86,7 @@
requestMap.put("remark", one.getRemark()); // 澶囨敞
String jsonStr = JSONUtil.toJsonStr(Collections.singletonList(requestMap));
+ log.info("鍚屾MES瀹炴椂搴撳瓨璇锋眰鍙傛暟-->{}",jsonStr);
boolean b = mesApiUtils.batchAddStock(jsonStr);
//鍚屾鎴愬姛锛屾洿鏂板悓姝ョ姸鎬�
if(b){
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/IfsSplitOrderRecord.java b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/IfsSplitOrderRecord.java
index 3daf2ba..bc0ef3c 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/pojo/IfsSplitOrderRecord.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/pojo/IfsSplitOrderRecord.java
@@ -21,6 +21,10 @@
@TableField(exist = false)
private static final long serialVersionUID = 1L;
+ public static final int DIGIT = 6;//绯荤粺缂栧彿鐢熸垚浣嶆暟
+
+ public static final String PREFIX ="WG";//绯荤粺缂栧彿鐢熸垚鍓嶇紑
+
/**
* 涓婚敭id
*/
diff --git a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
index a515e38..14b7bbf 100644
--- a/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
+++ b/inspect-server/src/main/java/com/ruoyi/inspect/service/impl/RawMaterialOrderServiceImpl.java
@@ -104,6 +104,7 @@
private InsUnqualifiedHandlerMapper insUnqualifiedHandlerMapper;
+ private final NumberGenerator<IfsSplitOrderRecord> splitOrderRecordNumberGenerator;
@Override
public Result selectStandardTreeListByPartNo(String partNo) {
@@ -115,7 +116,7 @@
for (FactoryDto factoryDto : factoryDtos) {
for (LaboratoryDto laboratoryDto : factoryDto.getChildren()) {
for (SampleTypeDto sampleTypeDto : laboratoryDto.getChildren()) {
- if (sampleTypeDto.getChildren().size() == 0) {
+ if (sampleTypeDto.getChildren().isEmpty()) {
sampleTypeDto.setChildren(standardTreeMapper.getStandardTree3(sampleTypeDto.getValue()));
}
// 鍒ゆ柇缁戝畾鐨勬槸鍚︽槸褰撳墠闆朵欢鍙�
@@ -942,16 +943,17 @@
}
//鍕鹃�夊悓姝ュ埌MES锛屼繚瀛樿鍗曟媶鍒嗚褰�
if(orderSplitDTO.getPushToMes()){
- List<IfsSplitOrderRecord> collect = orderSplitDTO.getSplitDetailList().stream().map(m -> {
+ orderSplitDTO.getSplitDetailList().forEach(m -> {
IfsSplitOrderRecord record = new IfsSplitOrderRecord();
BeanUtil.copyProperties(m, record);
+ record.setSystemNo(splitOrderRecordNumberGenerator.generateNumberWithPrefix(IfsSplitOrderRecord.DIGIT, IfsSplitOrderRecord.PREFIX, IfsSplitOrderRecord::getSystemNo));
record.setOrderNo(ifsInventoryQuantity.getOrderNo());
record.setLineNo(ifsInventoryQuantity.getLineNo());
record.setReleaseNo(ifsInventoryQuantity.getReleaseNo());
record.setReceiptNo(ifsInventoryQuantity.getReceiptNo());
- return record;
- }).collect(Collectors.toList());
- return ifsSplitOrderRecordService.saveBatch(collect);
+ ifsSplitOrderRecordService.save(record);
+ });
+ return true;
}
return false;
}
--
Gitblit v1.9.3