From 2c98be64470f8298d3083ce337b0ffb948bee5f7 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期一, 09 六月 2025 16:45:34 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java | 109 ++++++++++++++++++++++++++++++++++++------------------
1 files changed, 72 insertions(+), 37 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 f7aa975..7872e80 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
@@ -19,6 +19,7 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Service;
+import java.time.LocalDate;
import java.util.List;
import java.util.Map;
@@ -53,11 +54,25 @@
}
//娴佺▼鍗$鐞嗘煡璇�
- public Map<String, Object> selectProcessCard(Integer pageNum, Integer pageSize, Date selectTime1, Date selectTime2, FlowCard flowCard) {
+ public Map<String, Object> selectProcessCard(Integer pageNum, Integer pageSize,List<String> selectDate, FlowCard flowCard) {
Integer offset = (pageNum - 1) * pageSize;
+ String endDate = LocalDate.now().toString();
+ String startDate = LocalDate.now().minusDays(15).toString();
+ if(selectDate !=null && selectDate.size()==2){
+ if(!selectDate.get(0).isEmpty()){
+ startDate = selectDate.get(0);
+ }
+ if(!selectDate.get(1).isEmpty()){
+ endDate = selectDate.get(1);
+ }
+ }
Map<String, Object> map = new HashMap<>();
- map.put("data", flowCardMapper.selectFlowCard(offset, pageSize, selectTime1, selectTime2, flowCard));
- map.put("total", flowCardMapper.getPageTotal(offset, pageSize, selectTime1, selectTime2, flowCard));
+ map.put("data", flowCardMapper.selectFlowCard(offset, pageSize, startDate, endDate, flowCard));
+ map.put("total", flowCardMapper.getPageTotal(offset, pageSize, startDate, endDate, flowCard));
+ List<String> list = new ArrayList<>();
+ list.add(startDate);
+ list.add(endDate);
+ map.put("selectDate",list);
return map;
}
@@ -217,6 +232,7 @@
public Object flowCardDetailSv(String processId, FlowCard flowCard) {
Map<String, Object> map = new HashMap<>();
map.put("data", flowCardMapper.flowCardDetailMp(processId, flowCard));
+ map.put("merge", flowCardMapper.flowCardDetailMergeMp(processId));
return map;
}
@@ -288,8 +304,11 @@
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
if (!flowCardList.isEmpty()) {
- Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
+ Set<String> processedKeys = new HashSet<>();
for (FlowCard flowCard : flowCardList) {
+ String processId = flowCard.getProcessId();
+ Integer orderNumber = flowCard.getOrderNumber();
+ String uniqueKey = processId + "|" + orderNumber; // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐�
Map<String, Object> itemmap = new HashMap<>();
//娴佺▼鍗¤〃澶磋〃灏炬暟鎹�
//鏄惁浼犲叆鍚堝苟灞傛暟
@@ -297,7 +316,9 @@
//鏄惁鍖呭惈鍒囧壊
//boolean containsCutting = flowCard.getProcess().contains("鍒囧壊");
String processSub = flowCard.getProcess().substring(0, 2);
- if (processSub.equals("澶硅兌") || processSub.equals("涓┖")) {//宸ヨ壓鏄惁鍖呭惈澶硅兌涓┖
+ //鑾峰彇宸ュ簭瀵瑰簲鐨勫埆绉�
+ String processName = flowCardMapper.getProcessName(processSub);
+ if (processName.equals("stepC") || processName.equals("stepD")) {//宸ヨ壓鏄惁鍖呭惈澶硅兌涓┖
itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess());
@@ -305,11 +326,11 @@
} else {
if (merge.equals("1") && flowCard.getMerge().equals(1)) {
// 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
- if (processedProcessIds.contains(flowCard.getProcessId())) {
+ if (processedKeys.contains(uniqueKey)) {
continue;
}
// 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
- processedProcessIds.add(flowCard.getProcessId());
+ processedKeys.add(uniqueKey);
itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess());
@@ -382,15 +403,20 @@
}
List<FlowCard> flowCardList = flowCardMapper.getFlowCardListPrintProject(printProject);
if (!flowCardList.isEmpty()) {
- Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
+ Set<String> processedKeys = new HashSet<>();
+
for (FlowCard flowCard : flowCardList) {
Map<String, Object> itemmap = new HashMap<>();
-
+ String processId = flowCard.getProcessId();
+ Integer orderNumber = flowCard.getOrderNumber();
+ String uniqueKey = processId + "|" + orderNumber; // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐�
//鏄惁鍖呭惈鍒囧壊
//boolean containsCutting = flowCard.getProcess().contains("鍒囧壊");
String processSub = flowCard.getProcess().substring(0, 2);
- if (processSub.equals("澶硅兌") || processSub.equals("涓┖")) {
+ //鑾峰彇宸ュ簭瀵瑰簲鐨勫埆绉�
+ String processName = flowCardMapper.getProcessName(processSub);
+ if (processName.equals("stepC") || processName.equals("stepD")) {//宸ヨ壓鏄惁鍖呭惈澶硅兌涓┖
itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
if (flowCard.getPatchState().equals(0)) {
List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess());
@@ -405,11 +431,11 @@
if (flowCard.getPatchState().equals(0)) {
if (merge.equals("1") && flowCard.getMerge().equals(1)) {
// 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
- if (processedProcessIds.contains(flowCard.getProcessId())) {
+ if (processedKeys.contains(uniqueKey)) {
continue;
}
// 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
- processedProcessIds.add(flowCard.getProcessId());
+ processedKeys.add(uniqueKey);
itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId()));
List<Map<String, Object>> detailList = flowCardMapper.getDetailListMerge(flowCard.getProcessId(), flowCard.getProcess());
@@ -569,14 +595,15 @@
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
if (!flowCardList.isEmpty()) {
- Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
+ Set<String> processedKeys = new HashSet<>();
if (lableType != 2) {//鎴愬搧鏍囩
for (FlowCard flowCard : flowCardList) {
String processId = flowCard.getProcessId();
-
+ Integer orderNumber = flowCard.getOrderNumber();
+ String uniqueKey = processId + "|" + orderNumber; // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐�
// 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
- if (processedProcessIds.contains(processId)) {
+ if (processedKeys.contains(uniqueKey)) {
continue;
}
Map<String, Object> itemmap = new HashMap<>();
@@ -584,7 +611,7 @@
list.add(itemmap);
// 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
- processedProcessIds.add(processId);
+ processedKeys.add(uniqueKey);
}
} else {//灏忕墖鏍囩
for (FlowCard flowCard : flowCardList) {
@@ -604,14 +631,15 @@
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
if (!flowCardList.isEmpty()) {
- Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
-
+ Set<String> processedKeys = new HashSet<>();
if (lableType != 2) {//鎴愬搧鏍囩
for (FlowCard flowCard : flowCardList) {
String processId = flowCard.getProcessId();
+ Integer orderNumber = flowCard.getOrderNumber();
+ String uniqueKey = processId + "|" + orderNumber; // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐�
// 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
- if (processedProcessIds.contains(processId)) {
+ if (processedKeys.contains(uniqueKey)) {
continue;
}
Map<String, Object> itemmap = new HashMap<>();
@@ -619,7 +647,7 @@
list.add(itemmap);
// 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
- processedProcessIds.add(processId);
+ processedKeys.add(uniqueKey);
}
} else {//灏忕墖鏍囩
for (FlowCard flowCard : flowCardList) {
@@ -707,8 +735,10 @@
//宸ヨ壓娴佺▼
List<Map<String, Object>> processList = flowCardMapper.getProcessList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
-
+ //宸ュ簭鍒楄〃
+ List<Map<String, Object>> processNameList = flowCardMapper.getProcessNameList();
itemmap.put("processList", processList);
+ itemmap.put("processNameList", processNameList);
// itemmap.put("numberList", numberList);
list.add(itemmap);
@@ -798,16 +828,17 @@
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
if (!flowCardList.isEmpty()) {
- Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
+ Set<String> processedKeys = new HashSet<>();
if (lableType != 2) {//鎴愬搧鏍囩
for (FlowCard flowCard : flowCardList) {
String orderId = flowCard.getOrderId();
String processId = flowCard.getProcessId();
String orderNumber = flowCard.getOrderNumber().toString();
+ String uniqueKey = processId + "|" + orderNumber; // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐�
if (processId!=null){
// 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
- if (processedProcessIds.contains(processId) && processedProcessIds.contains(orderNumber)) {
+ if (processedKeys.contains(uniqueKey)) {
continue;
}
Map<String, Object> itemmap = new HashMap<>();
@@ -815,8 +846,7 @@
list.add(itemmap);
// 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
- processedProcessIds.add(processId);
- processedProcessIds.add(orderNumber);
+ processedKeys.add(uniqueKey);
} else{
Map<String, Object> itemmap = new HashMap<>();
@@ -864,23 +894,27 @@
}
- public String mergeFlowCard(Map<String, Object> object) {
+ public String mergeFlowCard(Map<String, Object> object, Integer merge) {
String returns = "false";
List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class);
if (!flowCardList.isEmpty()) {
List<Map<String, Object>> flowCardList1 = flowCardMapper.selectFlowCardMerge(flowCardList.get(0).getProcessId());
- int index = 1;
- for (int i = 0; i < flowCardList1.size(); i++) {
- if (Integer.valueOf(flowCardList1.get(i).get("count2").toString()) > 1) {
- List<Integer> technologyNumber = Arrays.stream(flowCardList1.get(i).get("count1").toString().split(","))
- .map(Integer::parseInt)
- .collect(Collectors.toList());
- flowCardMapper.updateFlowCardMerge(flowCardList.get(0).getProcessId(), technologyNumber, index);
- index += 1;
- returns = "true";
+ if (merge == 0){
+ int index = 1;
+ for (int i = 0; i < flowCardList1.size(); i++) {
+ if (Integer.valueOf(flowCardList1.get(i).get("count2").toString()) > 1) {
+ List<Integer> technologyNumber = Arrays.stream(flowCardList1.get(i).get("count1").toString().split(","))
+ .map(Integer::parseInt)
+ .collect(Collectors.toList());
+ flowCardMapper.updateFlowCardMerge(flowCardList.get(0).getProcessId(), technologyNumber, index);
+ index += 1;
+ returns = "true";
+ }
}
+ }else {//鍙栨秷鍚堝苟
+ flowCardMapper.updateFlowCardIsMerge(flowCardList.get(0).getProcessId());
+ returns = "true";
}
-
}
@@ -982,7 +1016,6 @@
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
if (!flowCardList.isEmpty()) {
- Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
for (FlowCard flowCard : flowCardList) {
Map<String, Object> itemmap = new HashMap<>();
//鏄惁鏄伐绋嬫槑缁嗘墦鍗�
@@ -1174,6 +1207,7 @@
newOrderDetail.setLandingSequence(flowCardNo);
orderDetailList.add(newOrderDetail);
orderDetail.setQuantity(orderDetail.getQuantity() - shelfQuantity);
+ orderDetail.setBaiscQuantity(String.valueOf(Integer.valueOf(orderDetail.getBaiscQuantity())-shelfQuantity));
flowCardNo += 1;
shelfQuantity = shelfQuantity - shelfQuantity;
} else {
@@ -1184,6 +1218,7 @@
newOrderDetail.setOrderNumber(orderDetail.getOrderNumber());
newOrderDetail.setShape(orderDetail.getShape());
newOrderDetail.setLandingSequence(flowCardNo);
+ newOrderDetail.setBaiscQuantity(String.valueOf(orderDetail.getBaiscQuantity()));
orderDetailList.add(newOrderDetail);
//褰撳墠鏋跺瓙鍓╀綑鏁伴噺
shelfQuantity = shelfQuantity - Math.toIntExact(orderDetail.getQuantity());
--
Gitblit v1.8.0