From b159f7795dd800fd599589f36c2d6349e5cf15e7 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 02 十二月 2025 14:23:47 +0800
Subject: [PATCH] 流程卡明细界面修改工艺添加限制
---
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java | 128 ++++++++++++++++++++++++++++++++++--------
1 files changed, 104 insertions(+), 24 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
index 684f526..1a0998f 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -6,6 +6,7 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.erp.common.Constants;
+import com.example.erp.common.Result;
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.sd.*;
import com.example.erp.entity.userInfo.Log;
@@ -16,6 +17,7 @@
import com.example.erp.mapper.sd.*;
import com.example.erp.service.userInfo.LogService;
import com.example.erp.service.userInfo.SysErrorService;
+import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -31,7 +33,6 @@
import java.io.IOException;
-import java.sql.Date;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
@@ -417,7 +418,7 @@
//鑾峰彇宸ュ簭瀵瑰簲鐨勫埆绉�
String processName = flowCardMapper.getProcessName(processSub);
//processName.equals("stepC") || processName.equals("stepD")
- if (processName.equals("stepC") || processName.equals("stepD")) {//宸ヨ壓鏄惁鍖呭惈澶硅兌涓┖
+ if (processName.equals("stepC") || processName.equals("stepD")) {//宸ヨ壓鏄惁鍖呭惈澶硅兌涓┖锛屾祦绋嬪崱鏌ヨ鍚堝苟
itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(),
String.valueOf("null".equals(compound)
? flowCard.getTechnologyNumber()//姝e父灞�
@@ -434,7 +435,7 @@
itemmap.put("detailList", detailList);
}
} else {
- if (merge.equals("1") && flowCard.getMerge().equals(1)) {//鍚�
+ if (merge.equals("1") && flowCard.getMerge().equals(1)) {//鏈惎鐢�,閰嶇疆鏂囦欢flowCardMerge鍊间负1
// 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
if (processedKeys.contains(uniqueKey)) {
continue;
@@ -464,19 +465,6 @@
}
- } else {//鍚�
- //娴佺▼鍗℃槑缁嗘暟鎹�
- if (printLike.equals("") || printLike.equals("null")) {
- itemmap.put("detail", flowCardMapper.getPrimaryListMerge(flowCard.getProcessId(), printMerge, flowCard.getOrderId()));
-
- List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flashback, landingSequence);
- itemmap.put("detailList", detailList);
- } else {
- itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
-
- List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), printMerge, flowCard.getProcess(), flashback, landingSequence);
- itemmap.put("detailList", detailList);
- }
}
//宸ヨ壓娴佺▼
@@ -773,12 +761,19 @@
// 鍒ゆ柇鏄惁涓洪潪绌哄瓧绗︿覆
if (orderNumber != null && !orderNumber.trim().isEmpty()) {
- itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(
+ List<Map<String, Object>> customDataSemi =flowCardMapper.getPrintCustomDataSemi(
flowCard.getProcessId(),
flowCard.getTechnologyNumber(),
flowCard.getProcess(),
- flowCard.getOrderNumber(), flowCard.getPrintQuantity()
- ));
+ flowCard.getOrderNumber(), flowCard.getPrintQuantity());
+ for (Map<String, Object> dataMap : customDataSemi) {
+ dataMap.put("newList", flowCardMapper.getgetPrintCustomDataSemiSp(
+ flowCard.getProcessId(),
+ dataMap.get("technologyNumber").toString(),
+ flowCard.getOrderNumber()
+ ));
+ }
+ itemmap.put("data", customDataSemi);
} else {
//鐢ㄤ簬澶╂触鐜板満娴佺▼鍗℃墦鍗扮晫闈㈢殑灏忕墖鏍囩鎵撳嵃
itemmap.put("data", flowCardMapper.getPrintCustomDataSemiTj(
@@ -1272,6 +1267,19 @@
return map;
}
+ public Map<String, Object> selectPrintProjectDetailSmallPiece(Map<String, Object> object) throws JsonProcessingException {
+ Map<String, Object> map = new HashMap<>();
+ String projectNo=object.get("projectNo").toString();
+ String stockIdsStr=object.get("stockId").toString();
+ ObjectMapper objectMapper = new ObjectMapper();
+ if (stockIdsStr != null && !stockIdsStr.isEmpty()) {
+ List<Integer> list = objectMapper.readValue(stockIdsStr, new TypeReference<List<Integer>>() {});
+ map.put("data", flowCardMapper.getPrintProjectDetailsMpSp(projectNo,list));
+ }
+
+ return map;
+ }
+
public Map<String, Object> getPrintCustomDataProjectNoDetailSv(String type, Integer detailType, Map<String, Object> object) {
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
@@ -1281,7 +1289,8 @@
Map<String, Object> itemmap = new HashMap<>();
//鏄惁鏄伐绋嬫槑缁嗘墦鍗�
if (detailType == 0) {//宸ョ▼鎵撳嵃鏄庣粏
- itemmap.put("data", flowCardMapper.getPrintCustomDataProjectDetail(flowCard.getProjectNo(), flowCard.getStockId()));
+ itemmap.put("data", flowCardMapper.getPrintCustomDataProjectDetail(flowCard.getProjectNo(), flowCard.getStockId(),flowCard.getPolysId()));
+
}
//闈炲伐绋嬫墦鍗�
@@ -1344,11 +1353,13 @@
}
//灏嗗師鏉ュ凡鎶ュ伐鐨勬暟鎹洿鏂�
if (resultList != null && !resultList.isEmpty()) {
- for (OrderProcessDetail d : resultList) {
- flowCardMapper.updateOrderProcessDetail(d.getProcessId(),d.getOrderNumber(),d.getTechnologyNumber(),
- d.getReportingWorkNumCount(),d.getReportingWorkNum(),d.getBrokenNum(),d.getProcess());
-
+ for (String number : numberList) {
+ for (OrderProcessDetail d : resultList) {
+ flowCardMapper.updateOrderProcessDetail(d.getProcessId(),number,d.getTechnologyNumber(),
+ d.getReportingWorkNumCount(),d.getReportingWorkNum(),d.getBrokenNum(),d.getProcess());
+ }
}
+
}
return true;
@@ -1485,6 +1496,9 @@
if (orderDetail.getQuantity() > shelfQuantity) {
newOrderDetail.setProcessId(processId);
+ newOrderDetail.setLongSide(orderDetail.getLongSide());
+ newOrderDetail.setShortSide(orderDetail.getShortSide());
+ newOrderDetail.setBuildingNumber(orderDetail.getBuildingNumber());
newOrderDetail.setQuantity(Long.valueOf(shelfQuantity));
newOrderDetail.setHeight(orderDetail.getHeight());
newOrderDetail.setWidth(orderDetail.getWidth());
@@ -1498,6 +1512,10 @@
shelfQuantity = shelfQuantity - shelfQuantity;
} else {
newOrderDetail.setProcessId(processId);
+ newOrderDetail.setLongSide(orderDetail.getLongSide());
+ newOrderDetail.setShortSide(orderDetail.getShortSide());
+ newOrderDetail.setBuildingNumber(orderDetail.getBuildingNumber());
+
newOrderDetail.setQuantity(orderDetail.getQuantity());
newOrderDetail.setHeight(orderDetail.getHeight());
newOrderDetail.setWidth(orderDetail.getWidth());
@@ -1560,12 +1578,30 @@
public Boolean updateTerminationSv(String processId, Integer orderNumber, Integer value) {
if (processId!=""){
+
flowCardMapper.updateTerminationMp(processId,orderNumber,value);
+ //鑾峰彇缁堟鏁伴噺涓庢祦绋嬪崱鏁伴噺姣旇緝
+ Map<String, Object> data = flowCardMapper.getTerminationQuantity(processId,orderNumber);
+ Integer terminationNum = (Integer) data.get("termination_quantity");
+ Integer totalNum = (Integer) data.get("quantity");
+ if (terminationNum==totalNum){
+ flowCardMapper.updateTerminationStatus(processId,orderNumber);
+ }
return true;
}else {
return false;
}
+ }
+
+ public Boolean updateTerminationNoSv(String processId, Integer orderNumber) {
+ if (processId!=""){
+ flowCardMapper.updateTerminationNoMp(processId,orderNumber);
+
+ return true;
+ }else {
+ return false;
+ }
}
public Map<String, Object> selectCompletedSv(String processId, Integer orderNumber, String process) {
@@ -1703,9 +1739,53 @@
}
+ public Result selectProcessCardProgressSv(Map<String, String> object) {
+ String orderId = object.get("orderId");
+ String processId = object.get("processId");
+ String orderNumber = object.get("orderNumber");
+ String technologyNumber = object.get("technologyNumber");
+ String process = object.get("process");
+ Result result = new Result();
+ //褰撴祦绋嬪崱鍜岃鍗曞彿閮戒负绌烘椂锛岃繑鍥炴彁绀轰俊鎭�
+ if (orderId == null &&processId == null){
+ result.setCode(Constants.Code_600);
+ result.setMsg("Please enter at least one parameter for the order number and the process card.");
+ return result;
+ }
+ return result.success(
+ orderProcessDetailMapper
+ .selectProcessCardProgressSv( orderId, processId, orderNumber, technologyNumber, process)
+ );
+ }
+ public boolean getNewProcessSv(String processId, String orderNumber, String technologyNumber, List<String> orderProcess) {
+ // 鑾峰彇鏈�鏂版姤宸ュ伐搴�
+ List<Map<String, Object>> newProcess = flowCardMapper.getNewProcessMp(processId, orderNumber, technologyNumber);
+
+ if (newProcess == null || newProcess.isEmpty()) {
+ return false; // 鎵句笉鍒版爣鍑嗗��
+ }
+
+ // 鏈�鏂板伐搴忔帓搴忓彿
+ int standardSort = Integer.parseInt(newProcess.get(0).get("sort").toString());
+
+ // 寰幆 orderProcess 鐨勬瘡涓�涓伐搴忥紝鏌ヨ瀹冧滑鐨� sort
+ for (String processName : orderProcess) {
+ Map<String, Object> data = flowCardMapper.getProcessInfo(processName);
+
+ if (data == null) {
+ return false; // 宸ュ簭鏌ヤ笉鍒�
+ }
+ int orderSort = Integer.parseInt(data.get("sort").toString());
+ // orderSort 蹇呴』 > standardSort
+ if (orderSort <= standardSort) {
+ return false;
+ }
+ }
+ return true;
+ }
}
--
Gitblit v1.8.0