From 2e5fe8dc8e213e4928013684d930f68fbd86b157 Mon Sep 17 00:00:00 2001 From: 廖井涛 <2265517004@qq.com> Date: 星期一, 17 二月 2025 13:55:30 +0800 Subject: [PATCH] 流程卡合并标记打印 --- north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java | 52 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 44 insertions(+), 8 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 69cac4a..60c56dc 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 @@ -270,17 +270,21 @@ return null; } } - public Map<String, Object> getSelectPrintingSv(Map<String, Object> object, String printMerge, String printLike) { + public Map<String, Object> getSelectPrintingSv(Map<String, Object> object, String printMerge, String printLike, String merge) { if (printMerge == null){ printMerge= ""; } 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<>(); //娴佺▼鍗¤〃澶磋〃灏炬暟鎹� @@ -296,10 +300,24 @@ itemmap.put("detailList", detailList); } else { - itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId())); + 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.getDetailListLike(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getProcess()); - itemmap.put("detailList", detailList); + 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); + } + } } @@ -354,12 +372,16 @@ return map; } - public Map<String, Object> getSelectPrintProject(String printProject) { + 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<>(); @@ -381,9 +403,23 @@ else { if(flowCard.getPatchState().equals(0)){ - itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getGlassChild(),flowCard.getProcess(),flowCard.getOrderId())); - List<Map<String, Object>> detailList = flowCardMapper.getDetailListLikes(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber()),flowCard.getProcess(),printProject,flowCard.getQuantity()); - itemmap.put("detailList", detailList); + 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()); -- Gitblit v1.8.0