廖井涛
2024-07-11 5e26543d85895c57d614e2e0cfabf1fbc9423681
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -6,27 +6,22 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.pp.ProductionScheduling;
import com.example.erp.entity.sd.OrderGlassDetail;
import com.example.erp.entity.sd.OrderProcessDetail;
import com.example.erp.mapper.pp.FlowCardMapper;
import com.example.erp.mapper.sd.OrderGlassDetailMapper;
import com.example.erp.mapper.sd.OrderProcessDetailMapper;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import jdk.nashorn.internal.parser.JSONParser;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.type.TypeReference;
import java.io.IOException;
import java.io.StringReader;
import java.sql.Date;
import java.time.LocalDate;
import java.util.*;
import static com.example.erp.service.sd.OrderService.getOrderProcessDetails;
@@ -238,7 +233,10 @@
            return null;
        }
    }
    public Map<String, Object> getSelectPrintingSv(Map<String, Object> object) {
    public Map<String, Object> getSelectPrintingSv(Map<String, Object> object, String printMerge) {
        if (printMerge == null){
            printMerge= "";
        }
        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);
@@ -246,16 +244,20 @@
            for (FlowCard flowCard : flowCardList) {
                Map<String, Object> itemmap = new HashMap<>();
                //流程卡表头表尾数据
                itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), flowCard.getTechnologyNumber()));
                itemmap.put("numberList", flowCardMapper.getGlassNumber(flowCard.getTechnologyNumber(),flowCard.getProcessId()));
                //是否传入合并层数
                if (printMerge.equals("")||printMerge.equals("null") ){
                    itemmap.put("detail", flowCardMapper.getPrimaryList(flowCard.getProcessId(), String.valueOf(flowCard.getTechnologyNumber())));
                }
                else{
                    itemmap.put("detail", flowCardMapper.getPrimaryListMerge(flowCard.getProcessId(), printMerge));
                }
                //流程卡明细数据
                List<Map<String, Object>> detailList = flowCardMapper.getDetailList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
                List<Map<String, Object>> glassList = flowCardMapper.getGlassNumber(flowCard.getTechnologyNumber(),flowCard.getProcessId());
                //工艺流程
                List<Map<String, Object>> processList = flowCardMapper.getProcessList(flowCard.getProcessId(), flowCard.getTechnologyNumber());
                itemmap.put("detailList", detailList);
                itemmap.put("processList", processList);
              //  itemmap.put("numberList", numberList);
                list.add(itemmap);
            }
@@ -282,23 +284,27 @@
        Map<String, Object> map = new HashMap<>();
        map.put("data", flowCardMapper.getPrintLabel(projectNo));
        return map;
       /* 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.getPrintLabel(flowCard.getProcessId(), flowCard.getTechnologyNumber()));
    }
    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);
                //}
                    //}
                }
            }
        }
            map.put("data", list);
        map.put("data", list);
        return map;*/
        return map;
    }
    public Map<String, Object> printFlowCardDetailsSv(String processId, String technologyNumber, FlowCard flowCard) {
@@ -318,18 +324,35 @@
    }
    public Map<String, Object> getSelectPrintCustomLabelSv(String type, Map<String, Object> object) {
    public Map<String, Object> getSelectPrintCustomLabelSv(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()) {
            for (FlowCard flowCard : flowCardList) {
            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.getPrintCustomData(flowCard.getProcessId(),flowCard.getTechnologyNumber()));
                    list.add(itemmap);
                    // 将该 processId 加入已处理集合
                    processedProcessIds.add(processId);
                }
            }
            else{
                for (FlowCard flowCard : flowCardList) {
                    Map<String, Object> itemmap = new HashMap<>();
                    itemmap.put("data", flowCardMapper.getPrintCustomData(flowCard.getProcessId(),flowCard.getTechnologyNumber()));
                    list.add(itemmap);
                }
            }
        }
        map.put("data", list);
@@ -343,6 +366,35 @@
        return map;
    }
    public Boolean updatePrintStateSv(Integer printState, Map<String, Object> object) {
        List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class);
        if (!flowCardList.isEmpty()) {
            for (FlowCard flowCard : flowCardList) {
                // 更新打印状态
                flowCardMapper.updatePrintStateMp(printState,flowCard.getProcessId(),flowCard.getTechnologyNumber());
            }
            return true;
        } else {
            return false;
        }
    }
    public Map<String, Object> printFlowCardOrderSortSv(String orderId, FlowCard flowCard) {
        Map<String, Object> map = new HashMap<>();
        map.put("data", flowCardMapper.printFlowCardOrderSortMp(orderId, flowCard));
        return map;
    }
    public Boolean printOrderSort(Map<String, Object> object) {
        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());
            }
        }
        return true;
    }
}