admin
2024-10-15 6d313a4a6f9f9d7ea65ec50ab0d4491e595edb97
jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java
@@ -1,5 +1,6 @@
package com.jcdm.main.bs.formulaChild.controller;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
@@ -117,12 +118,6 @@
    @GetMapping("/fistSetpNumber")
    public AjaxResult fistSetpNumber(BsFormulaChildInfo bsFormulaChildInfo)
    {
//        try {
//            String str = "PACK."+bsFormulaChildInfo.getProcessesCode()+".MStepNumber";
//            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(str).value(1).build());
//        } catch (Exception e) {
//            throw new RuntimeException(e);
//        }
        Integer stepNumber = 1;
        try {
            List<BsFormulaChildInfo> op260 = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>().eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getProcessesCode()));
@@ -130,7 +125,11 @@
                    .filter(obj -> obj.getResults() != null && !obj.getResults().isEmpty())
                    .collect(Collectors.toList());
            if(filteredList.size() > 0){
                stepNumber = Integer.valueOf(filteredList.get(filteredList.size()-1).getStepSort())+1;
                if("1".equals(bsFormulaChildInfo.getArtificialNgFlag())){
                    stepNumber = Integer.valueOf(filteredList.get(filteredList.size()-1).getStepSort());
                }else {
                    stepNumber = Integer.valueOf(filteredList.get(filteredList.size()-1).getStepSort())+1;
                }
            }
            String str = "PACK."+bsFormulaChildInfo.getProcessesCode()+".MStepNumber";
@@ -144,85 +143,39 @@
    /**
     * 查询配方配置子信息列表
     */
//    @GetMapping("/noPageListFormulaChild")
//    public TableDataInfo noPageListFormulaChild(BsFormulaChildInfo bsFormulaChildInfo)
//    {
//
//        List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
//                .eq(BsFormulaChildInfo::getProductCode,bsFormulaChildInfo.getProductCode())
//                .eq(BsFormulaChildInfo::getProcessesCode,bsFormulaChildInfo.getProcessesCode())
//        );
//        if (CollUtil.isNotEmpty(list)){
//            List<BsFormulaChildInfo> collect1 = list.stream().filter(x -> Constants.OK.equals(x.getResults())).collect(Collectors.toList());
//            List<BsFormulaChildInfo> collect2 = list.stream().filter(x -> !Constants.OK.equals(x.getResults())).collect(Collectors.toList());
//            list = collect1;
//            list.addAll(collect2);
//        }
//
//        if("1".equals(bsFormulaChildInfo.getArtificialNgFlag())){
//            List<BsFormulaChildInfoTemp> tempList = bsFormulaChildInfoTempService.list(new LambdaQueryWrapper<BsFormulaChildInfoTemp>()
//                    .eq(BsFormulaChildInfoTemp::getProcessesCode, bsFormulaChildInfo.getProcessesCode())
//                    .eq(BsFormulaChildInfoTemp::getProductCode, bsFormulaChildInfo.getProductCode())
//                    .eq(BsFormulaChildInfoTemp::getSfcCode, bsFormulaChildInfo.getSfcBarcode()));
//
//            for (int i = 0; i < list.size(); i++) {
//                BsFormulaChildInfo formulaChildInfo = list.get(i);
//                if(i < tempList.size()){
//                    BsFormulaChildInfoTemp childInfoTemp = tempList.get(i);
//                    if(ObjectUtil.isNotEmpty(childInfoTemp)){
//                        formulaChildInfo.setResults(childInfoTemp.getResults());
//                        formulaChildInfo.setCollectData(childInfoTemp.getCollectData());
//                        bsFormulaChildInfoService.saveOrUpdate(formulaChildInfo);
//                    }
//                }
//                if(formulaChildInfo.getCollectData()!=null&& !"".equals(formulaChildInfo.getCollectData())){
//                    if(formulaChildInfo.getCollectData().contains("[")){
//                        String data = formulaChildInfo.getCollectData();
//                        data = data.replace("[", "").replace("]", "").replace(" ", "");
//                        String[] tightenDataParts = data.split(",");
//                        formulaChildInfo.setCollectData("扭矩"+tightenDataParts[0]+"角度"+tightenDataParts[1]+"扭矩结果"+tightenDataParts[2]+"角度结果"+tightenDataParts[3]);
//                    }
//                }
//            }
//
//            //给plc写ng工步
//            BsFormulaChildInfoTemp lastTemp = tempList.get(tempList.size()-1);
//            try {
//                Integer stepSort = Integer.valueOf(lastTemp.getStepSort()+1);
//                logger.info("ng工件给plc写工步为:{}---工位{}---pack码{}",stepSort,lastTemp.getProcessesCode(),lastTemp.getSfcCode());
//                String str = "PACK."+bsFormulaChildInfo.getProcessesCode()+".MStepNumber";
//                miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(str).value(stepSort+1).build());
//            } catch (Exception e) {
//                throw new RuntimeException(e);
//            }
//
//            //清除工单标记
//            LambdaUpdateWrapper<OmProductionOrdeInfo> updateWrapper = new LambdaUpdateWrapper<>();
//            updateWrapper.set(OmProductionOrdeInfo::getArtificialNgFlag, "");
//            updateWrapper.eq(OmProductionOrdeInfo::getProductNum, lastTemp.getSfcCode());
//            boolean update = omProductionOrdeInfoService.update(new OmProductionOrdeInfo(), updateWrapper);
//        }else {
//            for (BsFormulaChildInfo formulaChildInfo : list) {
//                if(formulaChildInfo.getCollectData()!=null&& !"".equals(formulaChildInfo.getCollectData())){
//                    if(formulaChildInfo.getCollectData().contains("[")){
//                        String data = formulaChildInfo.getCollectData();
//                        data = data.replace("[", "").replace("]", "").replace(" ", "");
//                        String[] tightenDataParts = data.split(",");
//                        formulaChildInfo.setCollectData("扭矩"+tightenDataParts[0]+"角度"+tightenDataParts[1]+"扭矩结果"+tightenDataParts[2]+"角度结果"+tightenDataParts[3]);
//                    }
//                }
//            }
//        }
//        return getDataTable(list);
//    }
    @GetMapping("/noPageListFormulaChild")
    public TableDataInfo noPageListFormulaChild(BsFormulaChildInfo bsFormulaChildInfo)
    {
        if("1".equals(bsFormulaChildInfo.getArtificialNgFlag())){
            List<BsFormulaChildInfoTemp> tempList = bsFormulaChildInfoTempService.list(new LambdaQueryWrapper<BsFormulaChildInfoTemp>()
                    .eq(BsFormulaChildInfoTemp::getProcessesCode, bsFormulaChildInfo.getProcessesCode())
                    .eq(BsFormulaChildInfoTemp::getProductCode, bsFormulaChildInfo.getProductCode())
                    .eq(BsFormulaChildInfoTemp::getSfcCode, bsFormulaChildInfo.getSfcBarcode()));
            List<Long> ids = new ArrayList<>();
            for (int i = 0; i < tempList.size(); i++) {
                BsFormulaChildInfoTemp childInfoTemp = tempList.get(i);
                LambdaUpdateWrapper <BsFormulaChildInfo> updateWrapper = new LambdaUpdateWrapper<>();
                updateWrapper.set( BsFormulaChildInfo::getResults, childInfoTemp.getResults());
                updateWrapper.set( BsFormulaChildInfo::getCollectData, childInfoTemp.getCollectData());
                updateWrapper.eq( BsFormulaChildInfo::getId, childInfoTemp.getChildId());
                bsFormulaChildInfoService.update(new BsFormulaChildInfo(),updateWrapper);
                if(i == tempList.size()-1){
                    LambdaUpdateWrapper<OmProductionOrdeInfo> orderInfoUpdateWrapper = new LambdaUpdateWrapper<>();
                    orderInfoUpdateWrapper.set(OmProductionOrdeInfo::getArtificialNgFlag, "");
                    orderInfoUpdateWrapper.eq(OmProductionOrdeInfo::getProductNum, childInfoTemp.getSfcCode());
                    boolean update = omProductionOrdeInfoService.update(new OmProductionOrdeInfo(), orderInfoUpdateWrapper);
                }
                ids.add(childInfoTemp.getId());
            }
            bsFormulaChildInfoTempService.removeByIds(ids);
        }
        List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
                        .eq(BsFormulaChildInfo::getProductCode,bsFormulaChildInfo.getProductCode())
                        .eq(BsFormulaChildInfo::getProcessesCode,bsFormulaChildInfo.getProcessesCode())
                .eq(BsFormulaChildInfo::getProductCode,bsFormulaChildInfo.getProductCode())
                .eq(BsFormulaChildInfo::getProcessesCode,bsFormulaChildInfo.getProcessesCode())
        );
        if (CollUtil.isNotEmpty(list)){
            List<BsFormulaChildInfo> collect1 = list.stream().filter(x -> Constants.OK.equals(x.getResults())).collect(Collectors.toList());
@@ -230,6 +183,7 @@
            list = collect1;
            list.addAll(collect2);
        }
        for (BsFormulaChildInfo formulaChildInfo : list) {
            if(formulaChildInfo.getCollectData()!=null&& !"".equals(formulaChildInfo.getCollectData())){
                if(formulaChildInfo.getCollectData().contains("[")){
@@ -240,9 +194,37 @@
                }
            }
        }
        return getDataTable(list);
    }
//    @GetMapping("/noPageListFormulaChild")
//    public TableDataInfo noPageListFormulaChild(BsFormulaChildInfo bsFormulaChildInfo)
//    {
//
//        List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
//                        .eq(BsFormulaChildInfo::getProductCode,bsFormulaChildInfo.getProductCode())
//                        .eq(BsFormulaChildInfo::getProcessesCode,bsFormulaChildInfo.getProcessesCode())
//        );
//        if (CollUtil.isNotEmpty(list)){
//            List<BsFormulaChildInfo> collect1 = list.stream().filter(x -> Constants.OK.equals(x.getResults())).collect(Collectors.toList());
//            List<BsFormulaChildInfo> collect2 = list.stream().filter(x -> !Constants.OK.equals(x.getResults())).collect(Collectors.toList());
//            list = collect1;
//            list.addAll(collect2);
//        }
//        for (BsFormulaChildInfo formulaChildInfo : list) {
//            if(formulaChildInfo.getCollectData()!=null&& !"".equals(formulaChildInfo.getCollectData())){
//                if(formulaChildInfo.getCollectData().contains("[")){
//                    String data = formulaChildInfo.getCollectData();
//                    data = data.replace("[", "").replace("]", "").replace(" ", "");
//                    String[] tightenDataParts = data.split(",");
//                    formulaChildInfo.setCollectData("扭矩"+tightenDataParts[0]+"角度"+tightenDataParts[1]+"扭矩结果"+tightenDataParts[2]+"角度结果"+tightenDataParts[3]);
//                }
//            }
//        }
//        return getDataTable(list);
//    }
    /**
     * 查询配方配置子信息列表
     */