From b8982b86a15d186c4cf6144fface700d9769fa95 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 21 三月 2025 09:13:13 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java | 926 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 811 insertions(+), 115 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 d9903f6..6958c49 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
@@ -5,15 +5,21 @@
import com.alibaba.fastjson.JSONObject;
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.entity.pp.FlowCard;
+import com.example.erp.entity.sd.OrderDetail;
import com.example.erp.entity.sd.OrderGlassDetail;
import com.example.erp.entity.sd.OrderProcessDetail;
+import com.example.erp.entity.userInfo.Log;
+import com.example.erp.exception.ServiceException;
import com.example.erp.mapper.pp.FlowCardMapper;
import com.example.erp.mapper.sd.OrderGlassDetailMapper;
import com.example.erp.mapper.sd.OrderProcessDetailMapper;
+import com.example.erp.service.userInfo.LogService;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Service;
+import java.time.LocalDate;
import java.util.List;
import java.util.Map;
@@ -23,6 +29,8 @@
import java.sql.Date;
import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.IntStream;
import static com.example.erp.service.sd.OrderService.getOrderProcessDetails;
@@ -35,19 +43,36 @@
OrderGlassDetailMapper orderGlassDetailMapper;
final
OrderProcessDetailMapper orderProcessDetailMapper;
+ final
+ LogService logService;
- public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper) {
+ public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, LogService logService) {
this.flowCardMapper = flowCardMapper;
this.orderGlassDetailMapper = orderGlassDetailMapper;
this.orderProcessDetailMapper = orderProcessDetailMapper;
+ this.logService = logService;
}
//娴佺▼鍗$鐞嗘煡璇�
- 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;
}
@@ -66,7 +91,7 @@
}
//鍒犻櫎娴佺▼鍗�
- public Boolean deleteFlowCardSv(String orderId, String processId) {
+ public Boolean deleteFlowCardSv(String orderId, String processId, String userId, String userName) {
if (!orderId.isEmpty() && !processId.isEmpty()) {
//鍒ゆ柇璇ユ祦绋嬪崱鏄惁鎶ュ伐
Integer count = flowCardMapper.reportingWorkCount(processId);
@@ -78,6 +103,8 @@
flowCardMapper.deleteReportingWork(processId);
//鍒犻櫎鍒嗘灦鏄庣粏
flowCardMapper.deleteFlowCardMp(orderId, processId);
+ //鍒犻櫎鎺掑簭琛ㄦ暟鎹�
+ flowCardMapper.deleteflowCardSort(orderId, processId);
//鍒ゆ柇璇ヨ鍗曟祦绋嬪崱鏄惁鍏ㄩ儴鍒犻櫎
Integer flowNumber = flowCardMapper.selectFlowCardCount(orderId);
if (flowNumber == 0) {
@@ -87,6 +114,14 @@
//淇敼璁㈠崟琛ㄥ垎鏋剁姸鎬佷负1,鍒犻櫎閮ㄥ垎
flowCardMapper.updateProcessingCard(orderId, 1);
}
+
+ //淇濆瓨鏃ュ織
+ Log log = new Log();
+ log.setContent(orderId + processId);
+ log.setFunction("deleteFlowCardSv娴佺▼鍗″垹闄�");
+ log.setOperatorId(userId);
+ log.setOperator(userName);
+ logService.saveLog(log);
return true;
} else {
return false;
@@ -101,6 +136,7 @@
public Map<String, Object> selectNoCardSv(String orderId, String productionId, FlowCard flowCard) {
Map<String, Object> map = new HashMap<>();
map.put("data", flowCardMapper.selectNoCardMp(orderId, productionId, flowCard));
+ map.put("maxFlowCard", flowCardMapper.selectMaxFlowCard(orderId, productionId));
map.put("orderOtherMoney", flowCardMapper.selectorderOtherMoney());
return map;
}
@@ -110,11 +146,7 @@
public Boolean updateLayoutStatusSv(String processId, Integer state) {
if (!processId.isEmpty()) {
-// Integer Status = flowCardMapper.selectLayoutStatus(processId);
-
flowCardMapper.updateLayoutStatusMp(processId, state);
-
-
return true;
} else {
return false;
@@ -122,12 +154,11 @@
}
//淇濆瓨娴佺▼鍗℃暟鎹�
- public Boolean addFlowCardSv(Map<String, Object> object) {
+ public Boolean addFlowCardSv(String orderId, Map<String, Object> object) {
String userName = "";
if (object.get("userName") != null) {
userName = object.get("userName").toString();
}
-
String productionId = "";
if (object.get("productionId") != null) {
productionId = object.get("productionId").toString();
@@ -143,30 +174,35 @@
//淇敼鍒嗘灦鐘舵�侊紝灏嗙姸鎬佹敼涓�1
flowCardMapper.updateFlowState(productionId, flowCard.getOrderNumber());
//鏌ヨ璇ヨ鍗曟湭鍒嗘灦鏁伴噺
- Integer FlowCount = flowCardMapper.selectFlowCount(productionId);
+ Integer FlowCount = flowCardMapper.selectFlowCount(orderId);
if (FlowCount == 0) {
//淇敼璁㈠崟琛ㄥ垎鏋剁姸鎬佷负2
- flowCardMapper.updateProcessingCard(productionId, 2);
+ flowCardMapper.updateProcessingCard(orderId, 2);
} else {
//淇敼璁㈠崟琛ㄥ垎鏋剁姸鎬佷负1,鏈叏閮ㄥ垎鏋跺畬鎴�
- flowCardMapper.updateProcessingCard(productionId, 1);
+ flowCardMapper.updateProcessingCard(orderId, 1);
}
//鏌ヨ璁㈠崟灏忕墖琛ㄨ幏鍙栧伐鑹轰紶鍏ュ皬鐗囧伐鑹鸿〃
List<OrderGlassDetail> orderGlassDetailList =
orderGlassDetailMapper.selectList(
new QueryWrapper<OrderGlassDetail>()
- .eq("order_id", flowCard.getProcessId().substring(0, 10))
+ .eq("order_id", orderId)
.eq("order_number", flowCard.getOrderNumber())
);
List<OrderProcessDetail> orderProcessDetailList = getOrderProcessDetails(orderGlassDetailList);
orderProcessDetailList.forEach(
orderGlassDetail -> orderGlassDetail.setProcessId(flowCard.getProcessId()));
-
//璧嬪�艰鍗曞伐鑹鸿〃
orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList);
}
-
+ //淇濆瓨鏃ュ織
+ Log log = new Log();
+ log.setContent(object.toString());
+ log.setFunction("addFlowCardSv娴佺▼鍗℃柊澧�");
+ log.setOperatorId((String) object.get("userId"));
+ log.setOperator((String) object.get("userName"));
+ logService.saveLog(log);
return true;
} else {
return false;
@@ -182,7 +218,6 @@
map.put("data", flowCardMapper.selectNoSchedulingMp(selectTime1, selectTime2, orderId, processes, flowCard));
}
-
return map;
}
@@ -200,7 +235,7 @@
return map;
}
- public Object selectPrintFlowCardSv(Date selectTime1, Date selectTime2, String orderId, String project, FlowCard flowCard) {
+ public Object selectPrintFlowCardSv(Date selectTime1, Date selectTime2, String orderId, String project, String userId, Integer state, FlowCard flowCard) {
if ("null".equals(orderId)) {
orderId = "";
}
@@ -208,7 +243,9 @@
project = "";
}
Map<String, Object> map = new HashMap<>();
- map.put("data", flowCardMapper.selectPrintFlowCardMp(selectTime1, selectTime2, orderId, project, flowCard));
+ map.put("data", flowCardMapper.selectPrintFlowCardMp(selectTime1, selectTime2, orderId, project,state, flowCard));
+ String roleId = flowCardMapper.selectUserMp(userId);
+ map.put("user", roleId);
return map;
}
@@ -225,10 +262,11 @@
if (!flowCardList.isEmpty()) {
for (FlowCard flowCard : flowCardList) {
Map<String, Object> itemmap = new HashMap<>();
- if ("1".equals(inquiryMode)){
+ if ("1".equals(inquiryMode)) {//鍚堝苟娴佺▼鍗�
itemmap.put("detail", flowCardMapper.selectPrintMp(flowCard.getOrderId()));
- }
- else {
+ } else if ("3".equals(inquiryMode)) {//鍚堝苟娴佺▼鍗′笉鎸夐厤缃樉绀�
+ itemmap.put("detail", flowCardMapper.selectPrintAllMp(flowCard.getOrderId()));
+ } else {//闈炲悎骞舵祦绋嬪崱
itemmap.put("detail", flowCardMapper.selectPrintNotMp(flowCard.getOrderId()));
}
@@ -243,70 +281,206 @@
private static Map<String, Object> parseJson(String json) {
ObjectMapper objectMapper = new ObjectMapper();
try {
- return objectMapper.readValue(json, new TypeReference<Map<String, Object>>() {});
+ return objectMapper.readValue(json, new TypeReference<Map<String, Object>>() {
+ });
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
- public Map<String, Object> getSelectPrintingSv(Map<String, Object> object, String printMerge, String printLike) {
- if (printMerge == null){
- printMerge= "";
+
+ public Map<String, Object> getSelectPrintingSv(Map<String, Object> object, String printMerge, String printLike, String merge) {
+ if (printMerge == null) {
+ printMerge = "";
}
- if (printLike == null){
- printLike= "";
+ if (printLike == null) {
+ printLike = "";
+ }
+ if (merge == null) {
+ merge = "";
}
Map<String, Object> map = new HashMap<>();
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<>();
//娴佺▼鍗¤〃澶磋〃灏炬暟鎹�
//鏄惁浼犲叆鍚堝苟灞傛暟
- if (printMerge.equals("")||printMerge.equals("null") ){
- itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess()));
+ if (printMerge.equals("") || printMerge.equals("null")) {
//鏄惁鍖呭惈鍒囧壊
- boolean containsCutting = flowCard.getProcess().contains("鍒囧壊");
- if(String.valueOf(flowCard.getTechnologyNumber()).length()>1 && containsCutting){
- List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()));
+ //boolean containsCutting = flowCard.getProcess().contains("鍒囧壊");
+ String processSub = flowCard.getProcess().substring(0, 2);
+ if (processSub.equals("澶硅兌") || processSub.equals("涓┖")) {//宸ヨ壓鏄惁鍖呭惈澶硅兌涓┖
+ 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());
itemmap.put("detailList", detailList);
- }
- else {
- List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
- itemmap.put("detailList", detailList);
+ } else {
+ if (merge.equals("1") && flowCard.getMerge().equals(1)) {
+ // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
+ if (processedProcessIds.contains(flowCard.getProcessId())) {
+ continue;
+ }
+ // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
+ processedProcessIds.add(flowCard.getProcessId());
+ 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());
+ 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(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getProcess());
+ itemmap.put("detailList", detailList);
+ }
+
}
- }
- else {
-
+ } else {
//娴佺▼鍗℃槑缁嗘暟鎹�
- if (printLike.equals("")||printLike.equals("null") ){
- itemmap.put("detail", flowCardMapper.getPrimaryListMerge(flowCard.getProcessId(), printMerge));
+ 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());
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess());
itemmap.put("detailList", detailList);
- }
- else {
- itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess()));
+ } 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);
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailListLike(flowCard.getProcessId(), printMerge, flowCard.getProcess());
itemmap.put("detailList", detailList);
}
}
//宸ヨ壓娴佺▼
- List<Map<String, Object>> processList = flowCardMapper.getProcessList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
+ //List<Map<String, Object>> processList = flowCardMapper.getProcessList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
+ String input = flowCard.getProcess();
+ String delimiter = "->";
+
+ // 鍒嗗壊瀛楃涓�
+ String[] parts = input.split(delimiter);
+
+ // 鍒涘缓 List<Map<String, Object>>
+ List<Map<String, Object>> processList = new ArrayList<>();
+
+ // 閬嶅巻鍒嗗壊鍚庣殑閮ㄥ垎骞跺皢鍏跺瓨鍏� List<Map<String, Object>>
+ for (int i = 0; i < parts.length; i++) {
+ Map<String, Object> maps = new HashMap<>();
+ maps.put("id", i); // 娣诲姞涓�涓储寮曞瓧娈�
+ maps.put("process", parts[i]); // 娣诲姞瀹為檯鐨勫��
+
+ processList.add(maps);
+ }
itemmap.put("processList", processList);
- // itemmap.put("numberList", numberList);
+ // itemmap.put("numberList", numberList);
+ itemmap.put("count", flowCardMapper.countFlowCard(flowCard.getOrderId()));
+ itemmap.put("remarkList", flowCardMapper.remakList(flowCard.getProcessId()));
list.add(itemmap);
}
}
+
map.put("data", list);
//鍒濆鍖栧��
- printLike=null;
+ printLike = null;
+ return map;
+ }
+
+ public Map<String, Object> getSelectPrintProject(String printProject, String merge) {
+
+ Map<String, Object> map = new HashMap<>();
+ List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
+ if (merge == null) {
+ merge = "";
+ }
+ List<FlowCard> flowCardList = flowCardMapper.getFlowCardListPrintProject(printProject);
+ if (!flowCardList.isEmpty()) {
+ Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
+ for (FlowCard flowCard : flowCardList) {
+ Map<String, Object> itemmap = new HashMap<>();
+
+
+ //鏄惁鍖呭惈鍒囧壊
+ //boolean containsCutting = flowCard.getProcess().contains("鍒囧壊");
+ String processSub = flowCard.getProcess().substring(0, 2);
+ if (processSub.equals("澶硅兌") || processSub.equals("涓┖")) {
+ 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());
+ itemmap.put("detailList", detailList);
+ } else {
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailLists(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flowCard.getOrderNumber());
+ itemmap.put("detailList", detailList);
+ }
+
+ } else {
+
+ if (flowCard.getPatchState().equals(0)) {
+ if (merge.equals("1") && flowCard.getMerge().equals(1)) {
+ // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
+ if (processedProcessIds.contains(flowCard.getProcessId())) {
+ continue;
+ }
+ // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
+ processedProcessIds.add(flowCard.getProcessId());
+ 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());
+ 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(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getProcess());
+ itemmap.put("detailList", detailList);
+ }
+
+ } else {
+ itemmap.put("detail", flowCardMapper.getPrimaryLists(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId(), flowCard.getQuantity()));
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailListLikes(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getProcess(), printProject, flowCard.getQuantity());
+ itemmap.put("detailList", detailList);
+ }
+
+
+ }
+
+
+ //宸ヨ壓娴佺▼
+ //List<Map<String, Object>> processList = flowCardMapper.getProcessList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
+ String input = flowCard.getProcess();
+ String delimiter = "->";
+
+ // 鍒嗗壊瀛楃涓�
+ String[] parts = input.split(delimiter);
+
+ // 鍒涘缓 List<Map<String, Object>>
+ List<Map<String, Object>> processList = new ArrayList<>();
+
+ // 閬嶅巻鍒嗗壊鍚庣殑閮ㄥ垎骞跺皢鍏跺瓨鍏� List<Map<String, Object>>
+ for (int i = 0; i < parts.length; i++) {
+ Map<String, Object> maps = new HashMap<>();
+ maps.put("id", i); // 娣诲姞涓�涓储寮曞瓧娈�
+ maps.put("process", parts[i]); // 娣诲姞瀹為檯鐨勫��
+
+ processList.add(maps);
+ }
+
+ itemmap.put("processList", processList);
+ // itemmap.put("numberList", numberList);
+
+ if (flowCard.getPatchState().equals(0)) {
+ itemmap.put("count", flowCardMapper.countFlowCard(flowCard.getOrderId()));
+ } else {
+ itemmap.put("count", flowCardList.size());
+ }
+ itemmap.put("state", flowCard.getPatchState());
+ itemmap.put("remarkList", flowCardMapper.remakList(flowCard.getProcessId()));
+ list.add(itemmap);
+
+ }
+ }
+
+ map.put("data", list);
return map;
}
@@ -317,43 +491,74 @@
flowCardMapper.updateComposing(flowCard.getProcessId());
}
return true;
- }
- else {
+ } else {
return false;
}
}
- public Map<String, Object> getSelectPrintLabelSv(String projectNo) {
+ public Boolean updateProcessCardRack(Map<String, Object> object) {
+ List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("composing")), FlowCard.class);
+ if (!flowCardList.isEmpty()) {
+ for (FlowCard flowCard : flowCardList) {
+ flowCardMapper.updateProcessCardRack(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getRack());
+ }
+ return true;
+ } else {
+ return false;
+
+ }
+ }
+
+ public Map<String, Object> getSelectPrintLabelSv(String projectNo, String type) {
Map<String, Object> map = new HashMap<>();
- map.put("data", flowCardMapper.getPrintLabel(projectNo));
+ if (Objects.equals(type, "1")) {
+ map.put("data", flowCardMapper.getPrintLabel(projectNo));
+ } else if (Objects.equals(type, "2")) {
+ map.put("data", flowCardMapper.getPrintLabel2(projectNo));
+ } else if (Objects.equals(type, "3")) {
+ map.put("data", flowCardMapper.getPrintLabel3(projectNo));
+ }
+
return map;
}
public Map<String, Object> getSelectPrintLabelSv1(Map<String, Object> object) {
Map<String, Object> map = new HashMap<>();
-
- 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()) {
- for (FlowCard flowCard : flowCardList) {
- // Integer count=flowCardMapper.getPrintLabelCount(flowCard.getProcessId(), flowCard.getTechnologyNumber());
- Map<String, Object> itemmap = new HashMap<>();
- // for (int i = 0; i < count; i++) {
- itemmap.put("data", flowCardMapper.getPrintLabel1(flowCard.getProcessId(), flowCard.getTechnologyNumber()));
- list.add(itemmap);
- //}
-
- }
+ 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()) {
+ for (FlowCard flowCard : flowCardList) {
+ Map<String, Object> itemmap = new HashMap<>();
+ itemmap.put("data", flowCardMapper.getPrintLabel1(flowCard.getProcessId(), flowCard.getTechnologyNumber()));
+ list.add(itemmap);
}
- map.put("data", list);
+ }
+ map.put("data", list);
return map;
}
- public Map<String, Object> printFlowCardDetailsSv(String processId, String technologyNumber, FlowCard flowCard) {
+ public Map<String, Object> getSelectPrintLabelDetails(Map<String, Object> object) {
Map<String, Object> map = new HashMap<>();
- map.put("data", flowCardMapper.printFlowCardDetailsMp(processId, technologyNumber, flowCard));
+
+ 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()) {
+ for (FlowCard flowCard : flowCardList) {
+ Map<String, Object> itemmap = new HashMap<>();
+ itemmap.put("data", flowCardMapper.getPrintLabelDetail(flowCard));
+ list.add(itemmap);
+ }
+ }
+ map.put("data", list);
+
+ return map;
+ }
+
+ public Map<String, Object> printFlowCardDetailsSv(String processId, String technologyNumber, String process, FlowCard flowCard) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("data", flowCardMapper.printFlowCardDetailsMp(processId, technologyNumber, process, flowCard));
return map;
}
@@ -361,7 +566,13 @@
List<FlowCard> FlowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class);
if (!FlowCardList.isEmpty()) {
for (FlowCard flowCard : FlowCardList) {
- flowCardMapper.printSortMp(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getTechnologyNumber(),flowCard.getSort());
+ //鍒ゆ柇淇濆瓨鐨勬暟鎹槸鍚﹀凡瀛樺湪
+ Integer count = flowCardMapper.printAddSortCountMp(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getTechnologyNumber(), flowCard.getSort(), flowCard.getProcess());
+ if (count > 0) {
+ flowCardMapper.printUpdateSortMp(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getTechnologyNumber(), flowCard.getSort(), flowCard.getProcess());
+ } else {
+ flowCardMapper.printAddSortMp(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getTechnologyNumber(), flowCard.getSort(), flowCard.getProcess());
+ }
}
}
return true;
@@ -375,7 +586,7 @@
if (!flowCardList.isEmpty()) {
Set<String> processedProcessIds = new HashSet<>(); // 鐢ㄦ潵瀛樻斁宸插鐞嗚繃鐨� processId
- if (lableType != 2){
+ if (lableType != 2) {//鎴愬搧鏍囩
for (FlowCard flowCard : flowCardList) {
String processId = flowCard.getProcessId();
@@ -384,17 +595,51 @@
continue;
}
Map<String, Object> itemmap = new HashMap<>();
- itemmap.put("data", flowCardMapper.getPrintCustomData(flowCard.getProcessId(),flowCard.getTechnologyNumber()));
+ itemmap.put("data", flowCardMapper.getPrintCustomData(flowCard.getProcessId(), flowCard.getOrderNumber()));
list.add(itemmap);
// 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
processedProcessIds.add(processId);
}
- }
- else{
+ } else {//灏忕墖鏍囩
for (FlowCard flowCard : flowCardList) {
Map<String, Object> itemmap = new HashMap<>();
- itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber()));
+ itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess()));
+ list.add(itemmap);
+ }
+ }
+ }
+ map.put("data", list);
+ map.put("title", flowCardMapper.getPrintTitle(type));
+ return map;
+ }
+
+ public Map<String, Object> getSelectPrintCustomLabelSv2(String type, Integer lableType, Map<String, Object> object) {
+ Map<String, Object> map = new HashMap<>();
+ 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
+
+ if (lableType != 2) {//鎴愬搧鏍囩
+ for (FlowCard flowCard : flowCardList) {
+ String processId = flowCard.getProcessId();
+
+ // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
+ if (processedProcessIds.contains(processId)) {
+ continue;
+ }
+ Map<String, Object> itemmap = new HashMap<>();
+ itemmap.put("data", flowCardMapper.getPrintCustomData2(flowCard.getProcessId()));
+ list.add(itemmap);
+
+ // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
+ processedProcessIds.add(processId);
+ }
+ } else {//灏忕墖鏍囩
+ for (FlowCard flowCard : flowCardList) {
+ Map<String, Object> itemmap = new HashMap<>();
+ itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess()));
list.add(itemmap);
}
}
@@ -406,7 +651,7 @@
public Object getCustomLabelDetailSv(String name, String form, String id, FlowCard flowCard) {
Map<String, Object> map = new HashMap<>();
- map.put("data", flowCardMapper.getCustomLabelDetailMp(name, form,id, flowCard));
+ map.put("data", flowCardMapper.getCustomLabelDetailMp(name, form, id, flowCard));
return map;
}
@@ -415,7 +660,7 @@
if (!flowCardList.isEmpty()) {
for (FlowCard flowCard : flowCardList) {
// 鏇存柊鎵撳嵃鐘舵��
- flowCardMapper.updatePrintStateMp(printState,flowCard.getProcessId(),flowCard.getTechnologyNumber());
+ flowCardMapper.updatePrintStateMp(printState, flowCard.getProcessId(), flowCard.getTechnologyNumber());
}
return true;
} else {
@@ -434,18 +679,18 @@
List<FlowCard> FlowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class);
if (!FlowCardList.isEmpty()) {
for (FlowCard flowCard : FlowCardList) {
- flowCardMapper.printOrderSortMp(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getTechnologyNumber(),flowCard.getSort());
+ flowCardMapper.printOrderSortMp(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getTechnologyNumber(), flowCard.getSort());
}
}
return true;
}
- public Map<String, Object> getSelectPrintingRefundSv(Map<String, Object> object, String printMerge, String printLike) {
- if (printMerge == null){
- printMerge= "";
+ public Map<String, Object> getSelectPrintingRefundSv(Map<String, Object> object, String printMerge, String printLike, String mergeTechnologyNumber) {
+ if (printMerge == null) {
+ printMerge = "";
}
- if (printLike == null){
- printLike= "";
+ if (printLike == null) {
+ printLike = "";
}
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
@@ -455,24 +700,22 @@
Map<String, Object> itemmap = new HashMap<>();
//娴佺▼鍗¤〃澶磋〃灏炬暟鎹�
//鏄惁浼犲叆鍚堝苟灞傛暟
- if (printMerge.equals("")||printMerge.equals("null") ){
- itemmap.put("detail", flowCardMapper.getPrimaryListRefund(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getOrderNumber()));
- List<Map<String, Object>> detailList = flowCardMapper.getDetailListRefund(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getOrderNumber(),flowCard.getReportingWorkId());
+ if (printMerge.equals("") || printMerge.equals("null")) {
+ itemmap.put("detail", flowCardMapper.getPrimaryListRefund(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getOrderNumber(), flowCard.getReportingWorkId(), mergeTechnologyNumber, flowCard.getPatchReason(), flowCard.getOrderId()));
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailListRefund(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getOrderNumber(), flowCard.getReportingWorkId(), flowCard.getPatchReason());
itemmap.put("detailList", detailList);
- }
- else {
+ } else {
//娴佺▼鍗℃槑缁嗘暟鎹�
- if (printLike.equals("")||printLike.equals("null") ){
- itemmap.put("detail", flowCardMapper.getPrimaryListMergeRefund(flowCard.getProcessId(), printMerge,flowCard.getOrderNumber()));
+ if (printLike.equals("") || printLike.equals("null")) {
+ itemmap.put("detail", flowCardMapper.getPrimaryListMergeRefund(flowCard.getProcessId(), printMerge, flowCard.getOrderNumber(), flowCard.getOrderId()));
- List<Map<String, Object>> detailList = flowCardMapper.getDetailListRefund(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getOrderNumber(), flowCard.getReportingWorkId());
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailListRefund(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getOrderNumber(), flowCard.getReportingWorkId(), flowCard.getPatchReason());
itemmap.put("detailList", detailList);
- }
- else {
- itemmap.put("detail", flowCardMapper.getPrimaryListRefund(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getOrderNumber()));
+ } else {
+ itemmap.put("detail", flowCardMapper.getPrimaryListRefund(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getOrderNumber(), flowCard.getReportingWorkId(), mergeTechnologyNumber, flowCard.getPatchReason(), flowCard.getOrderId()));
- List<Map<String, Object>> detailList = flowCardMapper.getDetailListLikeRefund(flowCard.getProcessId(), printMerge,flowCard.getOrderNumber(),flowCard.getReportingWorkId());
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailListLikeRefund(flowCard.getProcessId(), printMerge, flowCard.getOrderNumber(), flowCard.getReportingWorkId());
itemmap.put("detailList", detailList);
}
}
@@ -488,16 +731,16 @@
}
map.put("data", list);
//鍒濆鍖栧��
- printLike=null;
+ printLike = null;
return map;
}
public Map<String, Object> getSelectPrinReworkSv(Map<String, Object> object, String printMerge, String printLike) {
- if (printMerge == null){
- printMerge= "";
+ if (printMerge == null) {
+ printMerge = "";
}
- if (printLike == null){
- printLike= "";
+ if (printLike == null) {
+ printLike = "";
}
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋�
@@ -507,24 +750,22 @@
Map<String, Object> itemmap = new HashMap<>();
//娴佺▼鍗¤〃澶磋〃灏炬暟鎹�
//鏄惁浼犲叆鍚堝苟灞傛暟
- if (printMerge.equals("")||printMerge.equals("null") ){
- itemmap.put("detail", flowCardMapper.getPrimaryListRework(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getOrderNumber()));
- List<Map<String, Object>> detailList = flowCardMapper.getDetailListRework(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getOrderNumber(),flowCard.getReportingWorkId());
+ if (printMerge.equals("") || printMerge.equals("null")) {
+ itemmap.put("detail", flowCardMapper.getPrimaryListRework(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getOrderNumber(), flowCard.getReportingWorkId(), flowCard.getOrderId()));
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailListRework(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getOrderNumber(), flowCard.getReportingWorkId());
itemmap.put("detailList", detailList);
- }
- else {
+ } else {
//娴佺▼鍗℃槑缁嗘暟鎹�
- if (printLike.equals("")||printLike.equals("null") ){
- itemmap.put("detail", flowCardMapper.getPrimaryListMergeRework(flowCard.getProcessId(), printMerge,flowCard.getOrderNumber()));
+ if (printLike.equals("") || printLike.equals("null")) {
+ itemmap.put("detail", flowCardMapper.getPrimaryListMergeRework(flowCard.getProcessId(), printMerge, flowCard.getOrderNumber(), flowCard.getOrderId()));
- List<Map<String, Object>> detailList = flowCardMapper.getDetailListRework(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getOrderNumber(), flowCard.getReportingWorkId());
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailListRework(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getOrderNumber(), flowCard.getReportingWorkId());
itemmap.put("detailList", detailList);
- }
- else {
- itemmap.put("detail", flowCardMapper.getPrimaryListRework(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getOrderNumber()));
+ } else {
+ itemmap.put("detail", flowCardMapper.getPrimaryListRework(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getOrderNumber(), flowCard.getReportingWorkId(), flowCard.getOrderId()));
- List<Map<String, Object>> detailList = flowCardMapper.getDetailListLikeRework(flowCard.getProcessId(), printMerge,flowCard.getOrderNumber(),flowCard.getReportingWorkId());
+ List<Map<String, Object>> detailList = flowCardMapper.getDetailListLikeRework(flowCard.getProcessId(), printMerge, flowCard.getOrderNumber(), flowCard.getReportingWorkId());
itemmap.put("detailList", detailList);
}
}
@@ -540,9 +781,464 @@
}
map.put("data", list);
//鍒濆鍖栧��
- printLike=null;
+ printLike = null;
return map;
}
+
+ public Object selectPrintDetailsSv(Map<String, Object> object, String inquiryMode, Integer type) {
+ Map<String, Object> map = new HashMap<>();
+ 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()) {
+ for (FlowCard flowCard : flowCardList) {
+ Map<String, Object> itemmap = new HashMap<>();
+ if (type == 1) {//鏄庣粏鎵撳嵃
+ itemmap.put("detail", flowCardMapper.selectPrintDetailsMp(flowCard.getOrderId()));
+ } else if (type == 2) {//鏄庣粏鍒嗘灦鎵撳嵃
+ itemmap.put("detail", flowCardMapper.selectPrintDetailsMp1(flowCard.getOrderId()));
+ }else if (type == 3) {//璁㈠崟鎵撳嵃
+ itemmap.put("detail", flowCardMapper.selectPrintDetailsMp2(flowCard.getOrderId()));
+ }
+
+ list.add(itemmap);
+ }
+ }
+ map.put("data", list);
+ map.put("type", flowCardMapper.selectType());
+ return map;
+ }
+
+ public Map<String, Object> getSelectPrintCustomLabelDetailsSv(String type, Integer lableType, Map<String, Object> object) {
+ Map<String, Object> map = new HashMap<>();
+ 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
+
+ if (lableType != 2) {//鎴愬搧鏍囩
+ for (FlowCard flowCard : flowCardList) {
+ String orderId = flowCard.getOrderId();
+ String processId = flowCard.getProcessId();
+ String orderNumber = flowCard.getOrderNumber().toString();
+ if (processId!=null){
+ // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩�
+ if (processedProcessIds.contains(processId) && processedProcessIds.contains(orderNumber)) {
+ continue;
+ }
+ Map<String, Object> itemmap = new HashMap<>();
+ itemmap.put("data", flowCardMapper.getPrintCustomDataDetails(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
+ list.add(itemmap);
+
+ // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚�
+ processedProcessIds.add(processId);
+ processedProcessIds.add(orderNumber);
+ } else{
+
+ Map<String, Object> itemmap = new HashMap<>();
+ itemmap.put("data", flowCardMapper.getPrintOrderDataDetails(flowCard.getOrderId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
+ list.add(itemmap);
+ }
+
+ }
+ } else {//灏忕墖鏍囩
+ for (FlowCard flowCard : flowCardList) {
+ Map<String, Object> itemmap = new HashMap<>();
+ itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess()));
+ list.add(itemmap);
+ }
+ }
+ }
+ map.put("data", list);
+ map.put("title", flowCardMapper.getPrintTitle(type));
+ return map;
+ }
+
+ public Map<String, Object> getPrintCustomDataProjectNo(String type, String projectNo) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("data", flowCardMapper.getPrintCustomDataProjectNo(projectNo));
+ map.put("title", flowCardMapper.getPrintTitle(type));
+ return map;
+ }
+
+ public Object selectSortTableSv(Map<String, Object> object) {
+ Map<String, Object> map = new HashMap<>();
+ 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()) {
+ for (FlowCard flowCard : flowCardList) {
+ Map<String, Object> itemmap = new HashMap<>();
+ itemmap.put("data", flowCardMapper.selectSortTableMp(flowCard.getOrderId()));
+ list.add(itemmap);
+
+ }
+ }
+ map.put("data", list);
+
+ return map;
+
+
+ }
+
+ public String mergeFlowCard(Map<String, Object> object) {
+ 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";
+ }
+ }
+
+
+ }
+
+ return returns;
+
+
+ }
+
+ public List<FlowCard> getProcessCard(Map<String, String> processCards) {
+ String processCard = processCards.get("processCard");
+ if (!processCard.contains("/")) {
+ throw new ServiceException(Constants.Code_600, "閿欒鐨勬祦绋嬪崱鍙凤紝璇锋鏌�!");
+ }
+
+ String[] processCardList = processCard.split("/");
+ List<String> result = IntStream.range(0, processCardList[1].length())
+ .mapToObj(i -> String.valueOf(processCardList[1].charAt(i)))
+ .collect(Collectors.toList());
+
+ List<FlowCard> flowCardList = flowCardMapper.selectList(
+ new QueryWrapper<FlowCard>()
+ .eq("process_id", processCardList[0])
+ .in("technology_number", result)
+ );
+ for (FlowCard flowCard : flowCardList) {
+ flowCard.setOrderGlassDetail(
+ orderGlassDetailMapper.selectOne(
+ new QueryWrapper<OrderGlassDetail>()
+ .eq("order_id", flowCard.getOrderId())
+ .eq("order_number", flowCard.getOrderNumber())
+ .eq("technology_number", flowCard.getTechnologyNumber())
+ )
+ );
+ String str = flowCard.getOrderGlassDetail().getGlassChild();
+ String delimiter = "mm";
+ int index = str.indexOf(delimiter);
+ Integer subString = Integer.valueOf(str.substring(0, index).trim());
+ flowCard.getOrderGlassDetail().setThickness(subString);
+ }
+ return flowCardList;
+ }
+
+ public Boolean checkboxDeleteSv(Map<String, Object> object) {
+ String userName = "";
+ if (object.get("userName") != null) {
+ userName = object.get("userName").toString();
+ }
+ String userId = "";
+ if (object.get("userId") != null) {
+ userId = object.get("userId").toString();
+ }
+ List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("composing")), FlowCard.class);
+ for (FlowCard flowCard : flowCardList) {
+ //鏌ヨ鏄惁鎶ュ伐
+ Integer count = flowCardMapper.reportingWorkCount(flowCard.getProcessId());
+ if (count == 0) {
+ //淇敼鍒嗘灦鐘舵��
+ flowCardMapper.updateDeleteState(flowCard.getOrderId(), flowCard.getProcessId());
+ //鍒犻櫎鎶ュ伐娴佺▼鏄庣粏琛ㄦ暟鎹�
+ flowCardMapper.deleteReportingWork(flowCard.getProcessId());
+ //鍒犻櫎鍒嗘灦鏄庣粏
+ flowCardMapper.deleteFlowCardMp(flowCard.getOrderId(), flowCard.getProcessId());
+ //鍒犻櫎鎺掑簭琛ㄦ暟鎹�
+ flowCardMapper.deleteflowCardSort(flowCard.getOrderId(), flowCard.getProcessId());
+ //鍒ゆ柇璇ヨ鍗曟祦绋嬪崱鏄惁鍏ㄩ儴鍒犻櫎
+ Integer flowNumber = flowCardMapper.selectFlowCardCount(flowCard.getOrderId());
+ if (flowNumber == 0) {
+ //淇敼璁㈠崟琛ㄥ垎鏋剁姸鎬佷负0,鍏ㄩ儴鍒犻櫎
+ flowCardMapper.updateProcessingCard(flowCard.getOrderId(), 0);
+ } else {
+ //淇敼璁㈠崟琛ㄥ垎鏋剁姸鎬佷负1,鍒犻櫎閮ㄥ垎
+ flowCardMapper.updateProcessingCard(flowCard.getOrderId(), 1);
+ }
+
+ //淇濆瓨鏃ュ織
+ Log log = new Log();
+ log.setContent(flowCard.getOrderId() + flowCard.getProcessId());
+ log.setFunction("checkboxDeleteSv娴佺▼鍗″垹闄�");
+ log.setOperatorId(userId);
+ log.setOperator(userName);
+ logService.saveLog(log);
+ } else {
+ return false;
+ }
+ }
+ return true;
+
+
+ }
+
+ public Map<String, Object> getPrintProjectDetails(String projectNo) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("data", flowCardMapper.getPrintProjectDetailsMp(projectNo));
+ 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>>();//鏈�缁堢粨鏋�
+ 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<>();
+ //鏄惁鏄伐绋嬫槑缁嗘墦鍗�
+ if (detailType == 0) {//宸ョ▼鎵撳嵃鏄庣粏
+ itemmap.put("data", flowCardMapper.getPrintCustomDataProjectDetail(flowCard.getProjectNo(), flowCard.getStockId()));
+
+ }
+ //闈炲伐绋嬫墦鍗�
+ else if (detailType == 1) {
+ itemmap.put("data", flowCardMapper.getPrintCustomDataProject(flowCard.getProjectNo()));
+
+ } else {
+ itemmap.put("data", flowCardMapper.getPrintCustomDataProject(flowCard.getProjectNo()));
+
+ }
+ list.add(itemmap);
+ }
+ }
+ map.put("data", list);
+ map.put("title", flowCardMapper.getPrintTitle(type));
+ return map;
+ }
+
+ public Boolean updateProcessSv(String processId, String technologyNumber, String orderId, String Orderprocess, Map<String, Object> object) {
+
+ //鍒ゆ柇璇ユ祦绋嬪崱鏄惁鎶ュ伐
+ Integer count = flowCardMapper.reportingWorkCount(processId);
+ if (count == 0) {
+ //鍒犻櫎灏忕墖宸ヨ壓琛ㄥ搴旂殑鏁版嵁
+ flowCardMapper.deleteProcessMp(processId, technologyNumber);
+ //閲嶆柊鎻掑叆淇敼濂藉伐鑹烘祦绋嬪崱鐨勬暟鎹�
+ List<String> newCraftList = (List<String>) object.get("newCraft");
+ List<String> numberList = (List<String>) object.get("technologyNumber");
+ // 鍒ゆ柇 newCraftList 鏄惁涓虹┖
+ if (newCraftList != null) {
+ for (String number : numberList) {
+ //淇敼璁㈠崟灏忕墖琛ㄥ伐鑹烘祦绋�
+ flowCardMapper.updateOrderProcessMp(orderId, number, technologyNumber, Orderprocess);
+ for (String process : newCraftList) {
+ flowCardMapper.updateProcessMp(processId, technologyNumber, process, number);
+ }
+ }
+ }
+
+ return true;
+ } else {
+ return false;
+ }
+
+
+ }
+
+ public Integer updateProjectLabelPrintCount(String projectNo) {
+ flowCardMapper.updateProjectLabelPrintCount(projectNo);
+ return flowCardMapper.selectProjectLabelPrintCount(projectNo);
+ }
+
+ public Integer updateProjectProcessPrintCount(String projectNo) {
+ flowCardMapper.updateProjectProcessPrintCount(projectNo);
+ return flowCardMapper.selectProjectProcessPrintCount(projectNo);
+ }
+
+
+ public Map<String, Object> flowCardDetail(Map<String, Object> object) {
+
+ Map<String, Object> map = new HashMap<>();
+ 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()) {
+
+ for (FlowCard flowCard : flowCardList) {
+ Map<String, Object> itemmap = new HashMap<>();
+ itemmap.put("detail", flowCardMapper.getFlowCardDetail(flowCard.getProcessId()));
+ list.add(itemmap);
+
+ }
+ }
+
+ map.put("data", list);
+ return map;
+ }
+
+ public Object processCardAutoRack(Map<String, Object> object) {
+ String orderId = object.get("orderId").toString();
+ String productionId = object.get("productionId").toString();
+ Integer inMaxQuantity = Integer.parseInt(object.get("inMaxQuantity").toString());
+ Float inWeight = Float.parseFloat(object.get("inWeight").toString());
+ Float shelfThickness = Float.parseFloat(object.get("shelfThickness").toString());
+ Float spacerThickness = Float.parseFloat(object.get("spacerThickness").toString());
+ Float inLenMax = Float.parseFloat(object.get("inLenMax").toString());
+ Float inLenMin = Float.parseFloat(object.get("inLenMin").toString());
+ Float inShortMax = Float.parseFloat(object.get("inShortMax").toString());
+ Float inShortMin = Float.parseFloat(object.get("inShortMin").toString());
+
+ /*String orderId = "NG25000004";
+ String productionId = "NG25000004A";
+ Integer inMaxQuantity = 1;
+ Float inWeight = 4000.0f;
+ Float shelfThickness = 2000.0f;
+ Float maxHeight = 1520.0f;
+ Float maxWid = 400.0f;
+ Float spacerThickness = 0.0f;//鍨墖鍘氬害*/
+
+
+ Map<String, Object> thickness = flowCardMapper.getGlassThicknessByProdutionId(orderId, productionId);
+
+ //鎴愬搧鐜荤拑鎬诲帤搴�
+ Float glassTotalThickness = Float.parseFloat(thickness.get("totalThickness").toString());
+ //鎴愬搧鐜荤拑鍘氬害
+ Float glassThickness = Float.parseFloat(thickness.get("thickness").toString());
+
+ //鑾峰彇姝ゅ伐绋嬪彿璁㈠崟鏄庣粏淇℃伅
+ List<OrderDetail> orderDetails = flowCardMapper.getOrderDetailByProductionId(orderId, productionId,"scope",inLenMax,inLenMin,inShortMax,inShortMin,glassThickness);
+ List<OrderDetail> orderDetailsNotScope = flowCardMapper.getOrderDetailByProductionId(orderId, productionId,"notScope",inLenMax,inLenMin,inShortMax,inShortMin,glassThickness);
+
+ //鏍规嵁鐜荤拑鍘氬害鍜屽灚鐗囧帤搴﹀綋鍓嶆灦瀛愭渶澶у彲鏀炬暟閲�
+ Integer shelfMaxQuantityByThickness = (int) (shelfThickness / (glassTotalThickness + spacerThickness));
+
+ //鐢ㄤ簬鎺ユ敹鏈�缁堢敓鎴愮殑娴佺▼鍗�
+ List<OrderDetail> orderDetailList = new ArrayList<>();
+
+ //娴佺▼鍗¤嚜澧炵鍙�
+ int flowCardNo = 1;
+ // 褰撳墠鏋跺瓙鍓╀綑鍙斁鏁伴噺
+ Integer shelfQuantity = 0;
+ for (OrderDetail orderDetail : orderDetails) {
+ //鏋跺瓙鏍规嵁灏哄閲嶉噺鏈�澶ц兘鏀惧灏�
+ int shelfQuantityByWeight = (int) (inWeight /
+ (orderDetail.getHeight()
+ * orderDetail.getWidth()
+ * glassThickness
+ * 2.5 / 1000000)
+ );
+ //褰撳墠璁㈠崟鏄庣粏鍓╀綑鏁伴噺
+ if (shelfQuantity == 0) {
+ shelfQuantity =Math.min( Math.min(shelfMaxQuantityByThickness,inMaxQuantity),shelfQuantityByWeight);
+ }else if(shelfQuantity>0){//鏋跺瓙鍓╀綑鏁伴噺澶т簬0鏃讹紝鍒ゆ柇褰撳墠鏋跺瓙鍓╀綑閲嶉噺锛屾槸鍚︽敮鎸佹渶鏂板簭鍙风殑鐨勬垚鍝侀噸閲�
+ String FlowCardId = orderDetailList.get(orderDetailList.size() - 1).getProcessId();
+ double flowCardWeight = 0.0;
+ for (OrderDetail orderDetail1 : orderDetailList) {
+ if (orderDetail1.getProcessId().equals(FlowCardId)) {
+ flowCardWeight += orderDetail1.getHeight()*orderDetail1.getQuantity()* orderDetail1.getWidth()* glassThickness* 2.5 / 1000000;
+ }
+ }
+ if(flowCardWeight>0){
+ flowCardWeight = inWeight - flowCardWeight;
+ //鎸夌収褰撳墠娴佺▼鍗″墿浣欓噸閲忥紝璁$畻褰撳墠娴佺▼鍗″墿浣欐暟閲�
+ int remainingQuantity = (int) (flowCardWeight /
+ (orderDetail.getHeight()
+ * orderDetail.getWidth()
+ * glassThickness
+ * 2.5 / 1000000));
+ shelfQuantity =Math.min(Math.min(Math.min(shelfQuantityByWeight, Math.min(inMaxQuantity, shelfMaxQuantityByThickness)),shelfQuantity),remainingQuantity);
+ if (shelfQuantity == 0) {
+ shelfQuantity = Math.min(shelfQuantityByWeight, Math.min(inMaxQuantity, shelfMaxQuantityByThickness));
+ flowCardNo += 1;
+ }
+ }
+
+ }
+ //鍙栨渶灏忓��
+ //Integer maxQuantity = 0;
+ while (orderDetail.getQuantity() > 0) {
+ OrderDetail newOrderDetail = new OrderDetail();
+ //褰撴寰幆涓紝褰撳墠鏋跺瓙鍓╀綑鏁伴噺涓�0鏃讹紝閲嶆柊璁$畻鏋跺瓙鍓╀綑鏁伴噺
+ if (shelfQuantity == 0) {
+ shelfQuantity = Math.min(Math.min(shelfMaxQuantityByThickness,inMaxQuantity),shelfQuantityByWeight);
+ }
+ String processId = productionId + String.format("%03d", flowCardNo);
+ //鍙栨渶灏忓��
+ //maxQuantity = Math.min(shelfQuantity, Math.min(inMaxQuantity, shelfMaxQuantityByThickness));
+ //maxQuantity = Math.min(shelfQuantity, shelfMaxQuantityByThickness);
+
+ /*System.out.println("璁㈠崟搴忓彿锛�"+orderDetail.getOrderNumber());
+ System.out.println(shelfQuantity + "," + "," + shelfMaxQuantityByThickness);
+ System.out.println(flowCardNo + "," + maxQuantity);
+ System.out.println("------");*/
+ if(shelfQuantity<=0){
+ return false;
+ }
+
+ if (orderDetail.getQuantity() > shelfQuantity) {
+ newOrderDetail.setProcessId(processId);
+ newOrderDetail.setQuantity(Long.valueOf(shelfQuantity));
+ newOrderDetail.setHeight(orderDetail.getHeight());
+ newOrderDetail.setWidth(orderDetail.getWidth());
+ newOrderDetail.setOrderNumber(orderDetail.getOrderNumber());
+ newOrderDetail.setShape(orderDetail.getShape());
+ 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 {
+ newOrderDetail.setProcessId(processId);
+ newOrderDetail.setQuantity(orderDetail.getQuantity());
+ newOrderDetail.setHeight(orderDetail.getHeight());
+ newOrderDetail.setWidth(orderDetail.getWidth());
+ 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());
+ if (shelfQuantity == 0) {
+ flowCardNo += 1;
+ }
+ orderDetail.setQuantity(0L);
+ }
+ }
+
+ }
+ Map<String, Object> map = new HashMap<>();
+ Collections.reverse(orderDetailList);
+ map.put("orderDetailList", orderDetailList);
+ map.put("orderDetailsNotScope", orderDetailsNotScope);
+ return map;
+ }
+
+
+ public Boolean revokeComposingSv(Map<String, Object> object) {
+ List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("composing")), FlowCard.class);
+ if (!flowCardList.isEmpty()) {
+ for (FlowCard flowCard : flowCardList) {
+ //鑾峰彇娌℃湁宸ョ▼鍙风殑鏉℃暟锛屽凡鐢熸垚宸ョ▼鍙蜂笉鑳芥挙鍥�
+ Integer count = flowCardMapper.selectProjectNo(flowCard.getProcessId());
+ if (count == 0){
+ flowCardMapper.revokeComposing(flowCard.getProcessId());
+ } else {
+ return false;
+ }
+
+ }
+ return true;
+ } else {
+ return false;
+
+ }
+ }
}
--
Gitblit v1.8.0