From 91b61fe723df498d62c596372521d426299f0f8b Mon Sep 17 00:00:00 2001 From: guoyujie <guoyujie@ng.com> Date: 星期一, 09 六月 2025 16:54:26 +0800 Subject: [PATCH] 标签不显示标题问题 --- north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java | 742 ++++++++++++++++++++++++++++++-------------------------- 1 files changed, 398 insertions(+), 344 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 72ae94d..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; @@ -29,6 +30,7 @@ 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; @@ -44,19 +46,33 @@ final LogService logService; - public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper,LogService logService) { + public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, LogService logService) { this.flowCardMapper = flowCardMapper; this.orderGlassDetailMapper = orderGlassDetailMapper; this.orderProcessDetailMapper = orderProcessDetailMapper; - this.logService= logService; + 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; } @@ -101,7 +117,7 @@ //淇濆瓨鏃ュ織 Log log = new Log(); - log.setContent(orderId+processId); + log.setContent(orderId + processId); log.setFunction("deleteFlowCardSv娴佺▼鍗″垹闄�"); log.setOperatorId(userId); log.setOperator(userName); @@ -216,10 +232,11 @@ 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; } - public Object selectPrintFlowCardSv(Date selectTime1, Date selectTime2, String orderId, String project,String userId, FlowCard flowCard) { + public Object selectPrintFlowCardSv(Date selectTime1, Date selectTime2, String orderId, String project, String userId, Integer state, FlowCard flowCard) { if ("null".equals(orderId)) { orderId = ""; } @@ -227,9 +244,9 @@ project = ""; } Map<String, Object> map = new HashMap<>(); - map.put("data", flowCardMapper.selectPrintFlowCardMp(selectTime1, selectTime2, orderId, project, flowCard)); - String roleId=flowCardMapper.selectUserMp(userId); - map.put("user",roleId ); + map.put("data", flowCardMapper.selectPrintFlowCardMp(selectTime1, selectTime2, orderId, project,state, flowCard)); + String roleId = flowCardMapper.selectUserMp(userId); + map.put("user", roleId); return map; } @@ -246,7 +263,7 @@ 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 if ("3".equals(inquiryMode)) {//鍚堝苟娴佺▼鍗′笉鎸夐厤缃樉绀� itemmap.put("detail", flowCardMapper.selectPrintAllMp(flowCard.getOrderId())); @@ -265,72 +282,76 @@ 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, String merge) { - if (printMerge == null){ - printMerge= ""; + if (printMerge == null) { + printMerge = ""; } - if (printLike == null){ - printLike= ""; + if (printLike == null) { + printLike = ""; } - if (merge == null){ - merge= ""; + 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 + 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<>(); //娴佺▼鍗¤〃澶磋〃灏炬暟鎹� //鏄惁浼犲叆鍚堝苟灞傛暟 - if (printMerge.equals("")||printMerge.equals("null") ){ + if (printMerge.equals("") || printMerge.equals("null")) { //鏄惁鍖呭惈鍒囧壊 //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())); + String processSub = flowCard.getProcess().substring(0, 2); + //鑾峰彇宸ュ簭瀵瑰簲鐨勫埆绉� + 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()); + List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess()); itemmap.put("detailList", detailList); - } - else { - if(merge.equals("1")&& flowCard.getMerge().equals(1)){ + } 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()); - itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId())); + 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()); + 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())); + } 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()); + 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") ){ + 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()); itemmap.put("detailList", detailList); - } - else { + } 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()); @@ -359,7 +380,7 @@ } 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); @@ -369,67 +390,70 @@ map.put("data", list); //鍒濆鍖栧�� - printLike=null; + printLike = null; return map; } - public Map<String, Object> getSelectPrintProject(String printProject,String merge) { + 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= ""; + if (merge == null) { + merge = ""; } 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<>(); - - //鏄惁鍖呭惈鍒囧壊 - //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); - } - + String processId = flowCard.getProcessId(); + Integer orderNumber = flowCard.getOrderNumber(); + String uniqueKey = processId + "|" + orderNumber; // 鐢ㄧ壒娈婂瓧绗﹁繛鎺ラ槻姝㈠啿绐� + //鏄惁鍖呭惈鍒囧壊 + //boolean containsCutting = flowCard.getProcess().contains("鍒囧壊"); + String processSub = flowCard.getProcess().substring(0, 2); + //鑾峰彇宸ュ簭瀵瑰簲鐨勫埆绉� + 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()); + 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())); + } else { - 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); + if (flowCard.getPatchState().equals(0)) { + if (merge.equals("1") && flowCard.getMerge().equals(1)) { + // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� processId锛屽鏋滃鐞嗚繃鍒欒烦杩� + if (processedKeys.contains(uniqueKey)) { + continue; } + // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚� + processedKeys.add(uniqueKey); + itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()), flowCard.getGlassChild(), flowCard.getProcess(), flowCard.getOrderId())); - }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()); + 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); } + + } //宸ヨ壓娴佺▼ @@ -455,9 +479,9 @@ itemmap.put("processList", processList); // itemmap.put("numberList", numberList); - if(flowCard.getPatchState().equals(0)){ + if (flowCard.getPatchState().equals(0)) { itemmap.put("count", flowCardMapper.countFlowCard(flowCard.getOrderId())); - }else{ + } else { itemmap.put("count", flowCardList.size()); } itemmap.put("state", flowCard.getPatchState()); @@ -478,8 +502,7 @@ flowCardMapper.updateComposing(flowCard.getProcessId()); } return true; - } - else { + } else { return false; } @@ -489,19 +512,18 @@ 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()); + flowCardMapper.updateProcessCardRack(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getRack()); } return true; - } - else { + } else { return false; } } - public Map<String, Object> getSelectPrintLabelSv(String projectNo,String type) { + public Map<String, Object> getSelectPrintLabelSv(String projectNo, String type) { Map<String, Object> map = new HashMap<>(); - if(Objects.equals(type, "1")){ + if (Objects.equals(type, "1")) { map.put("data", flowCardMapper.getPrintLabel(projectNo)); } else if (Objects.equals(type, "2")) { map.put("data", flowCardMapper.getPrintLabel2(projectNo)); @@ -514,16 +536,16 @@ 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) { - Map<String, Object> itemmap = new HashMap<>(); - 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; } @@ -547,7 +569,7 @@ 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)); + map.put("data", flowCardMapper.printFlowCardDetailsMp(processId, technologyNumber, process, flowCard)); return map; } @@ -556,11 +578,11 @@ if (!FlowCardList.isEmpty()) { for (FlowCard flowCard : FlowCardList) { //鍒ゆ柇淇濆瓨鐨勬暟鎹槸鍚﹀凡瀛樺湪 - 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()); + 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()); } } } @@ -573,28 +595,28 @@ 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){//鎴愬搧鏍囩 + 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<>(); - itemmap.put("data", flowCardMapper.getPrintCustomData(flowCard.getProcessId(),flowCard.getOrderNumber())); + itemmap.put("data", flowCardMapper.getPrintCustomData(flowCard.getProcessId(), flowCard.getOrderNumber())); list.add(itemmap); // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚� - processedProcessIds.add(processId); + processedKeys.add(uniqueKey); } - } - else{//灏忕墖鏍囩 + } else {//灏忕墖鏍囩 for (FlowCard flowCard : flowCardList) { Map<String, Object> itemmap = new HashMap<>(); - itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getProcess())); + itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess())); list.add(itemmap); } } @@ -609,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 - - if (lableType != 2){//鎴愬搧鏍囩 + 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<>(); @@ -624,13 +647,12 @@ list.add(itemmap); // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚� - processedProcessIds.add(processId); + processedKeys.add(uniqueKey); } - } - else{//灏忕墖鏍囩 + } else {//灏忕墖鏍囩 for (FlowCard flowCard : flowCardList) { Map<String, Object> itemmap = new HashMap<>(); - itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getProcess())); + itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess())); list.add(itemmap); } } @@ -642,7 +664,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; } @@ -651,7 +673,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 { @@ -670,18 +692,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, String mergeTechnologyNumber) { - 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>>();//鏈�缁堢粨鏋� @@ -691,32 +713,32 @@ 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(),flowCard.getReportingWorkId(),mergeTechnologyNumber,flowCard.getPatchReason(),flowCard.getOrderId())); - List<Map<String, Object>> detailList = flowCardMapper.getDetailListRefund(flowCard.getProcessId(), flowCard.getTechnologyNumber(),flowCard.getOrderNumber(),flowCard.getReportingWorkId(),flowCard.getPatchReason()); + 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(),flowCard.getOrderId())); + 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(), flowCard.getPatchReason()); + 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(), flowCard.getReportingWorkId(), mergeTechnologyNumber, flowCard.getPatchReason(), flowCard.getOrderId())); + } 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); } } //宸ヨ壓娴佺▼ 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); @@ -724,16 +746,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>>();//鏈�缁堢粨鏋� @@ -743,24 +765,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(),flowCard.getReportingWorkId(),flowCard.getOrderId())); - 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(), flowCard.getOrderId())); + 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(), flowCard.getReportingWorkId(), flowCard.getOrderId())); + } 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); } } @@ -776,22 +796,24 @@ } map.put("data", list); //鍒濆鍖栧�� - printLike=null; + printLike = null; return map; } - public Object selectPrintDetailsSv(Map<String, Object> object, String inquiryMode,Integer type) { + 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())); - } + 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); } @@ -806,30 +828,37 @@ 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){//鎴愬搧鏍囩 + 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 (processedKeys.contains(uniqueKey)) { + continue; + } + Map<String, Object> itemmap = new HashMap<>(); + itemmap.put("data", flowCardMapper.getPrintCustomDataDetails(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity())); + list.add(itemmap); - // 妫�鏌ユ槸鍚﹀凡缁忓鐞嗚繃璇� 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 鍔犲叆宸插鐞嗛泦鍚� + processedKeys.add(uniqueKey); + } else{ - // 灏嗚 processId 鍔犲叆宸插鐞嗛泦鍚� - processedProcessIds.add(processId); - processedProcessIds.add(orderNumber); + Map<String, Object> itemmap = new HashMap<>(); + itemmap.put("data", flowCardMapper.getPrintOrderDataDetails(flowCard.getOrderId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity())); + list.add(itemmap); + } + } - } - else{//灏忕墖鏍囩 + } else {//灏忕墖鏍囩 for (FlowCard flowCard : flowCardList) { Map<String, Object> itemmap = new HashMap<>(); - itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getProcess())); + itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess())); list.add(itemmap); } } @@ -865,23 +894,27 @@ } - public String mergeFlowCard(Map<String, Object> object) { - String returns= "false"; + 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"; + List<Map<String, Object>> flowCardList1 = flowCardMapper.selectFlowCardMerge(flowCardList.get(0).getProcessId()); + 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"; } - } @@ -890,18 +923,21 @@ } - public List<FlowCard> getProcessCard(Map<String, String> processCards) { + public List<FlowCard> getProcessCard(Map<String, String> processCards) { String processCard = processCards.get("processCard"); - if(!processCard.contains("/")){ + 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]) - .eq("technology_number", processCardList[1]) + .in("technology_number", result) ); for (FlowCard flowCard : flowCardList) { flowCard.setOrderGlassDetail( @@ -931,40 +967,40 @@ 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); + 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 { - return false; + //淇敼璁㈠崟琛ㄥ垎鏋剁姸鎬佷负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; + } + return true; } @@ -980,25 +1016,23 @@ 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())); + 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); } + //闈炲伐绋嬫墦鍗� + 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)); @@ -1011,7 +1045,7 @@ Integer count = flowCardMapper.reportingWorkCount(processId); if (count == 0) { //鍒犻櫎灏忕墖宸ヨ壓琛ㄥ搴旂殑鏁版嵁 - flowCardMapper.deleteProcessMp(processId,technologyNumber); + flowCardMapper.deleteProcessMp(processId, technologyNumber); //閲嶆柊鎻掑叆淇敼濂藉伐鑹烘祦绋嬪崱鐨勬暟鎹� List<String> newCraftList = (List<String>) object.get("newCraft"); List<String> numberList = (List<String>) object.get("technologyNumber"); @@ -1019,18 +1053,17 @@ if (newCraftList != null) { for (String number : numberList) { //淇敼璁㈠崟灏忕墖琛ㄥ伐鑹烘祦绋� - flowCardMapper.updateOrderProcessMp(orderId,number,technologyNumber,Orderprocess); + flowCardMapper.updateOrderProcessMp(orderId, number, technologyNumber, Orderprocess); for (String process : newCraftList) { - flowCardMapper.updateProcessMp(processId,technologyNumber,process,number); + flowCardMapper.updateProcessMp(processId, technologyNumber, process, number); } } } return true; - }else { + } else { return false; } - } @@ -1066,142 +1099,163 @@ } public Object processCardAutoRack(Map<String, Object> object) { - String orderId = "NG25000004"; - String productionId = "NG25000004B"; - /*String orderId = object.get("orderId").toString(); + 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())*1000; + Float shelfThickness = Float.parseFloat(object.get("shelfThickness").toString()); Float spacerThickness = Float.parseFloat(object.get("spacerThickness").toString()); - */ - Integer inMaxQuantity = 30; - Float inWeight = 100.0f; - Float shelfThickness = 2000.0f; - /*鍨墖鍘氬害*/ - Float spacerThickness = 0.0f; - Map<String,Object> thickness = flowCardMapper.getGlassThicknessByProdutionId(orderId,productionId); + 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()); - Float glassTotalThickness = Float.parseFloat(thickness.get("totalThickness").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); + 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)); + Integer shelfMaxQuantityByThickness = (int) (shelfThickness / (glassTotalThickness + spacerThickness)); //鐢ㄤ簬鎺ユ敹鏈�缁堢敓鎴愮殑娴佺▼鍗� - List<FlowCard> flowCardList = new ArrayList<>(); + List<OrderDetail> orderDetailList = new ArrayList<>(); //娴佺▼鍗¤嚜澧炵鍙� int flowCardNo = 1; // 褰撳墠鏋跺瓙鍓╀綑鍙斁鏁伴噺 Integer shelfQuantity = 0; - for(OrderDetail orderDetail : orderDetails){ + for (OrderDetail orderDetail : orderDetails) { //鏋跺瓙鏍规嵁灏哄閲嶉噺鏈�澶ц兘鏀惧灏� - int shelfQuantityByWeight = (int) (inWeight/ + int shelfQuantityByWeight = (int) (inWeight / (orderDetail.getHeight() - *orderDetail.getWidth() - *glassThickness - *2.5/1000000) + * orderDetail.getWidth() + * glassThickness + * 2.5 / 1000000) ); - System.out.println(shelfQuantityByWeight); //褰撳墠璁㈠崟鏄庣粏鍓╀綑鏁伴噺 - if(shelfQuantity==0){ - shelfQuantity = shelfQuantityByWeight; + 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 ) { - FlowCard flowCard = new FlowCard(); + //Integer maxQuantity = 0; + while (orderDetail.getQuantity() > 0) { + OrderDetail newOrderDetail = new OrderDetail(); //褰撴寰幆涓紝褰撳墠鏋跺瓙鍓╀綑鏁伴噺涓�0鏃讹紝閲嶆柊璁$畻鏋跺瓙鍓╀綑鏁伴噺 - if(shelfQuantity==0){ - shelfQuantity = shelfQuantityByWeight; - System.out.println("flowCardNo锛�"+flowCardNo); + if (shelfQuantity == 0) { + shelfQuantity = Math.min(Math.min(shelfMaxQuantityByThickness,inMaxQuantity),shelfQuantityByWeight); } - String processId = productionId+String.format("%05d",flowCardNo); + String processId = productionId + String.format("%03d", flowCardNo); //鍙栨渶灏忓�� - maxQuantity = Math.min(shelfQuantity, Math.min(inMaxQuantity, shelfMaxQuantityByThickness)); - System.out.println(shelfQuantity+","+inMaxQuantity+","+shelfMaxQuantityByThickness); - System.out.println(flowCardNo+","+maxQuantity); - System.out.println("------"); + //maxQuantity = Math.min(shelfQuantity, Math.min(inMaxQuantity, shelfMaxQuantityByThickness)); + //maxQuantity = Math.min(shelfQuantity, shelfMaxQuantityByThickness); - if (orderDetail.getQuantity() > maxQuantity){ - flowCard.setProcessId(processId); - flowCard.setQuantity(maxQuantity); - flowCardList.add(flowCard); - orderDetail.setQuantity(orderDetail.getQuantity()-maxQuantity); - flowCardNo+=1; - }else{ - flowCard.setProcessId(processId); - flowCard.setQuantity(Math.toIntExact(orderDetail.getQuantity())); - flowCardList.add(flowCard); + /*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; + shelfQuantity = shelfQuantity - Math.toIntExact(orderDetail.getQuantity()); + if (shelfQuantity == 0) { + flowCardNo += 1; } orderDetail.setQuantity(0L); } } } - - - - return flowCardList; + 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; + } - public Object processCardAutoRack1(Map<String, Object> object) { - String orderId = "NG25000004"; - String productionId = "NG25000004B"; - /*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())*1000; - Float spacerThickness = Float.parseFloat(object.get("spacerThickness").toString()); - */ - Integer inMaxQuantity = 30; - Float inWeight = 100.0f; - Float shelfThickness = 2000.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); - Integer flowCardQuantity = 0; - for(OrderDetail orderDetail:orderDetails){ - flowCardQuantity+=Math.toIntExact(orderDetail.getQuantity()); - } - - - //鏍规嵁鐜荤拑鍘氬害鍜屽灚鐗囧帤搴﹀綋鍓嶆灦瀛愭渶澶у彲鏀炬暟閲� - Integer shelfMaxQuantityByThickness = (int) (shelfThickness / (glassTotalThickness+spacerThickness)); - - //鐢ㄤ簬鎺ユ敹鏈�缁堢敓鎴愮殑娴佺▼鍗� - List<FlowCard> flowCardList = new ArrayList<>(); - - //娴佺▼鍗¤嚜澧炵鍙� - int flowCardNo = 1; - // 褰撳墠鏋跺瓙鍓╀綑鍙斁鏁伴噺 - Integer shelfQuantity = 0; - - while(flowCardQuantity>0){ + } + return true; + } else { + return false; } - - - - - return flowCardList; } } -- Gitblit v1.8.0