廖井涛
2024-12-05 cc1d8aaf0027355b77ffc293fcc15cb70edfb842
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -27,6 +27,7 @@
import java.sql.Date;
import java.util.*;
import java.util.stream.Collectors;
import static com.example.erp.service.sd.OrderService.getOrderProcessDetails;
@@ -381,6 +382,8 @@
            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;
@@ -417,7 +420,7 @@
                // 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.getPrintLabelDetail(flowCard.getProcessId(), flowCard.getOrderNumber()));
                itemmap.put("data", flowCardMapper.getPrintLabelDetail(flowCard));
                list.add(itemmap);
                //}
@@ -628,14 +631,19 @@
        return map;
    }
    public Object selectPrintDetailsSv(Map<String, Object> object, String inquiryMode) {
    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<>();
                    itemmap.put("detail", flowCardMapper.selectPrintDetailsMp(flowCard.getOrderId()));
                    if(type==1){
                        itemmap.put("detail", flowCardMapper.selectPrintDetailsMp(flowCard.getOrderId()));
                    }else if(type==2){
                        itemmap.put("detail", flowCardMapper.selectPrintDetailsMp1(flowCard.getOrderId()));
                    }
                list.add(itemmap);
            }
        }
@@ -649,12 +657,24 @@
        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();
                    String orderNumber = flowCard.getOrderNumber().toString();
                    // 检查是否已经处理过该 processId,如果处理过则跳过
                    if (processedProcessIds.contains(processId)&&processedProcessIds.contains(orderNumber)) {
                        continue;
                    }
                    Map<String, Object> itemmap = new HashMap<>();
                    itemmap.put("data", flowCardMapper.getPrintCustomDataDetails(flowCard.getProcessId(),flowCard.getOrderNumber()));
                    itemmap.put("data", flowCardMapper.getPrintCustomDataDetails(flowCard.getProcessId(),flowCard.getOrderNumber(),flowCard.getPrintQuantity()));
                    list.add(itemmap);
                    // 将该 processId 加入已处理集合
                    processedProcessIds.add(processId);
                    processedProcessIds.add(orderNumber);
                }
            }
            else{
@@ -666,6 +686,13 @@
            }
        }
        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;
    }
@@ -694,10 +721,18 @@
        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());
            if(flowCardList1.size()==1){
                flowCardMapper.updateFlowCardMerge(flowCardList.get(0).getProcessId());
                returns="true";
            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";
                }
            }
        }
@@ -783,6 +818,70 @@
    }
    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;
        }
    }
}