chenlu
昨天 b9761afd90b4a71803ebfe4f71af5cee65999450
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -33,7 +33,6 @@
import java.io.IOException;
import java.sql.Date;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
@@ -419,7 +418,7 @@
                    //获取工序对应的别称
                    String processName = flowCardMapper.getProcessName(processSub);
                    //processName.equals("stepC") || processName.equals("stepD")
                    if (processName.equals("stepC") || processName.equals("stepD")) {//工艺是否包含夹胶中空
                    if (processName.equals("stepC") || processName.equals("stepD")) {//工艺是否包含夹胶中空,流程卡查询合并
                        itemmap.put("detail", flowCardMapper.getPrimaryListLimt(flowCard.getProcessId(),
                                String.valueOf("null".equals(compound)
                                        ? flowCard.getTechnologyNumber()//正常层
@@ -436,7 +435,7 @@
                            itemmap.put("detailList", detailList);
                        }
                    } else {
                        if (merge.equals("1") && flowCard.getMerge().equals(1)) {//否
                        if (merge.equals("1") && flowCard.getMerge().equals(1)) {//未启用,配置文件flowCardMerge值为1
                            // 检查是否已经处理过该 processId,如果处理过则跳过
                            if (processedKeys.contains(uniqueKey)) {
                                continue;
@@ -465,20 +464,8 @@
                        }
                    }
                    itemmap.put("processName",processName);
                } else {//否
                    //流程卡明细数据
                    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(), flashback, landingSequence);
                        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(), printMerge, flowCard.getProcess(), flashback, landingSequence);
                        itemmap.put("detailList", detailList);
                    }
                }
                //工艺流程
@@ -775,12 +762,19 @@
                    // 判断是否为非空字符串
                    if (orderNumber != null && !orderNumber.trim().isEmpty()) {
                        itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(
                        List<Map<String, Object>> customDataSemi =flowCardMapper.getPrintCustomDataSemi(
                                flowCard.getProcessId(),
                                flowCard.getTechnologyNumber(),
                                flowCard.getProcess(),
                                flowCard.getOrderNumber(), flowCard.getPrintQuantity()
                        ));
                                flowCard.getOrderNumber(), flowCard.getPrintQuantity());
                        for (Map<String, Object> dataMap : customDataSemi) {
                            dataMap.put("newList", flowCardMapper.getgetPrintCustomDataSemiSp(
                                    flowCard.getProcessId(),
                                    dataMap.get("technologyNumber").toString(),
                                    flowCard.getOrderNumber()
                            ));
                        }
                        itemmap.put("data", customDataSemi);
                    } else {
                            //用于天津现场流程卡打印界面的小片标签打印
                        itemmap.put("data", flowCardMapper.getPrintCustomDataSemiTj(
@@ -1360,11 +1354,13 @@
            }
            //将原来已报工的数据更新
            if (resultList != null && !resultList.isEmpty()) {
                for (OrderProcessDetail d : resultList) {
                    flowCardMapper.updateOrderProcessDetail(d.getProcessId(),d.getOrderNumber(),d.getTechnologyNumber(),
                            d.getReportingWorkNumCount(),d.getReportingWorkNum(),d.getBrokenNum(),d.getProcess());
                for (String number : numberList) {
                    for (OrderProcessDetail d : resultList) {
                        flowCardMapper.updateOrderProcessDetail(d.getProcessId(),number,d.getTechnologyNumber(),
                                d.getReportingWorkNumCount(),d.getReportingWorkNum(),d.getBrokenNum(),d.getProcess());
                    }
                }
            }
            return true;
@@ -1764,6 +1760,33 @@
    }
    public boolean getNewProcessSv(String processId, String orderNumber, String technologyNumber, List<String> orderProcess) {
        // 获取最新报工工序
        List<Map<String, Object>> newProcess = flowCardMapper.getNewProcessMp(processId, orderNumber, technologyNumber);
        if (newProcess == null || newProcess.isEmpty()) {
            return false; // 找不到标准值
        }
        // 最新工序排序号
        int standardSort = Integer.parseInt(newProcess.get(0).get("sort").toString());
        // 循环 orderProcess 的每一个工序,查询它们的 sort
        for (String processName : orderProcess) {
            Map<String, Object> data = flowCardMapper.getProcessInfo(processName);
            if (data == null) {
                return false; // 工序查不到
            }
            int orderSort = Integer.parseInt(data.get("sort").toString());
            // orderSort 必须 > standardSort
            if (orderSort <= standardSort) {
                return false;
            }
        }
        return true;
    }
}