guoyujie
2025-08-11 a12834e87a110fbf1414e24eb574f2e87b29e03c
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -11,12 +11,12 @@
import com.example.erp.entity.userInfo.Log;
import com.example.erp.exception.ServiceException;
import com.example.erp.mapper.pp.FlowCardMapper;
import com.example.erp.mapper.pp.ReportingWorkMapper;
import com.example.erp.mapper.sd.*;
import com.example.erp.service.userInfo.LogService;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Service;
import java.awt.*;
import java.time.LocalDate;
import java.util.List;
import java.util.Map;
@@ -48,8 +48,12 @@
    private final OrderDetailMapper orderDetailMapper;
    private final OrderMapper orderMapper;
    private final ReportingWorkMapper reportingWorkMapper;
    public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, LogService logService, ProductMapper productMapper, ProductDetailMapper productDetailMapper, OrderDetailMapper orderDetailMapper, OrderMapper orderMapper) {
    public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper,
                           OrderProcessDetailMapper orderProcessDetailMapper, LogService logService,
                           ProductMapper productMapper, ProductDetailMapper productDetailMapper,
                           OrderDetailMapper orderDetailMapper, OrderMapper orderMapper,ReportingWorkMapper reportingWorkMapper) {
        this.flowCardMapper = flowCardMapper;
        this.orderGlassDetailMapper = orderGlassDetailMapper;
        this.orderProcessDetailMapper = orderProcessDetailMapper;
@@ -58,6 +62,7 @@
        this.productDetailMapper = productDetailMapper;
        this.orderDetailMapper = orderDetailMapper;
        this.orderMapper = orderMapper;
        this.reportingWorkMapper = reportingWorkMapper;
    }
    //流程卡管理查询
@@ -322,9 +327,10 @@
                if (printMerge.equals("") || printMerge.equals("null")) {
                    //是否包含切割
                    //boolean containsCutting = flowCard.getProcess().contains("切割");
                    String processSub = flowCard.getProcess().substring(0, 2);
                    String processSub = flowCard.getProcess().split("->")[0];
                    //获取工序对应的别称
                    String processName = flowCardMapper.getProcessName(processSub);
                    //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)
@@ -526,8 +532,24 @@
        List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("composing")), FlowCard.class);
        if (!flowCardList.isEmpty()) {
            for (FlowCard flowCard : flowCardList) {
                flowCardMapper.updateComposing(flowCard.getProcessId());
                //先获取排版状态
                Integer layoutStatus = flowCardMapper.getLayoutStatus(flowCard.getProcessId());
                //2优化占用
                if (layoutStatus!=2){
                    flowCardMapper.updateComposing(flowCard.getProcessId());
                }
                else {
                    return false;
                }
            }
            //保存日志
            Log log = new Log();
            log.setContent(object.toString());
            log.setFunction("FlowCardSv流程卡排版状态");
            log.setOperatorId((String) object.get("userId"));
            log.setOperator((String) object.get("userName"));
            logService.saveLog(log);
            return true;
        } else {
            return false;
@@ -618,7 +640,10 @@
    public Map<String, Object> getSelectPrintCustomLabelSv(String type, Integer lableType, Map<String, Object> object) {
        String isRepeat = object.get("isRepeat").toString();
        //根据mse传过来的值,如果不存在 赋值false
        String isRepeat = Optional.ofNullable(object.get("isRepeat"))
                .map(Object::toString)
                .orElse("false");
        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);
@@ -638,9 +663,16 @@
                    }
                    Map<String, Object> itemmap = new HashMap<>();
                    itemmap.put("data", flowCardMapper.getPrintCustomData(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
                    list.add(itemmap);
                    Integer sumQuantity = flowCardMapper.getSumQuantity(flowCard.getOrderId());
                    List<Map<String, Object>> details = flowCardMapper.getPrintCustomData(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity());
                    for (Map<String, Object> detail : details) {
                        detail.put("sumQuantity", sumQuantity);
                    }
                    itemmap.put("data", details);
                    list.add(itemmap);
                    // 将该 processId 加入已处理集合
                    processedKeys.add(uniqueKey);
                }
@@ -658,14 +690,14 @@
                                flowCard.getProcessId(),
                                flowCard.getTechnologyNumber(),
                                flowCard.getProcess(),
                                flowCard.getOrderNumber()
                                flowCard.getOrderNumber(), flowCard.getPrintQuantity()
                        ));
                    } else {
                        itemmap.put("data", flowCardMapper.getPrintCustomDataSemiTj(
                                flowCard.getProcessId(),
                                flowCard.getTechnologyNumber(),
                                flowCard.getProcess()
                                flowCard.getProcess(), flowCard.getPrintQuantity()
                        ));
                    }
                    list.add(itemmap);
@@ -703,7 +735,7 @@
            } else {//小片标签
                for (FlowCard flowCard : flowCardList) {
                    Map<String, Object> itemmap = new HashMap<>();
                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flowCard.getOrderNumber()));
                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
                    list.add(itemmap);
                }
            }
@@ -920,7 +952,7 @@
            } else {//小片标签
                for (FlowCard flowCard : flowCardList) {
                    Map<String, Object> itemmap = new HashMap<>();
                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flowCard.getOrderNumber()));
                    itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(), flowCard.getTechnologyNumber(), flowCard.getProcess(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
                    list.add(itemmap);
                }
            }
@@ -1405,6 +1437,34 @@
        List<LocalDate> date= (List<LocalDate>) dates.get("date");
        return flowCardMapper.exportDateProcessMp(date);
    }
    public Map<String, Object> selectSortingCardSv(String orderId, String productionId, String flashback, String optionVal, FlowCard flowCard) {
        Map<String, Object> map = new HashMap<>();
        map.put("data", flowCardMapper.selectSortingCardMp(orderId, productionId,flashback,optionVal, flowCard));
        map.put("maxFlowCard", flowCardMapper.selectMaxFlowCard(orderId, productionId));
        map.put("orderOtherMoney", flowCardMapper.selectorderOtherMoney());
        return map;
    }
    public Boolean updateTerminationSv(String processId, Integer orderNumber, Integer value) {
        if (processId!=""){
            flowCardMapper.updateTerminationMp(processId,orderNumber,value);
            return true;
        }else {
            return false;
        }
    }
    public Map<String, Object> selectCompletedSv(String processId, Integer orderNumber, String process) {
        Map<String, Object> map = new HashMap<>();
        String[] processList = process.split("->");
        //获取工艺流程第一个工序
        String interceptProcess = processList[0];
        map.put("data", flowCardMapper.selectCompletedMp(processId, orderNumber,interceptProcess));
        return map;
    }
}