admin
2024-07-18 0aaabac24ac4ebc2fe3e54c56e95f250ea238d5b
jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java
@@ -7,6 +7,9 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.jcdm.main.bs.formulaChildInfoTemp.domain.BsFormulaChildInfoTemp;
import com.jcdm.main.bs.formulaChildInfoTemp.service.IBsFormulaChildInfoTempService;
import com.jcdm.main.constant.Constants;
import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
@@ -50,6 +53,9 @@
    @Autowired
    private MiloService miloService;
    @Autowired
    private IBsFormulaChildInfoTempService bsFormulaChildInfoTempService;
    /**
     * 扫码确认
     */
@@ -89,9 +95,10 @@
    @GetMapping("/manualNgOffline")
    public AjaxResult manualNgOffline(BsFormulaChildInfo bsFormulaChildInfo)
    {
        Integer stepNumber = 90;
        Integer stepNumber = 31;
        try {
            String str = "PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber";
            logger.info("手动下线,写入ArtificialNgSignal为:{}",stepNumber);
            String str = "PACK."+bsFormulaChildInfo.getLocationCode()+".ArtificialNgSignal";
            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(str).value(stepNumber).build());
        } catch (Exception e) {
            throw new RuntimeException(e);
@@ -137,14 +144,85 @@
    /**
     * 查询配方配置子信息列表
     */
//    @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)
    {
        List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
                .eq(BsFormulaChildInfo::getProductCode,bsFormulaChildInfo.getProductCode())
                .eq(BsFormulaChildInfo::getProcessesCode,bsFormulaChildInfo.getProcessesCode())
//                .orderByAsc(BsFormulaChildInfo::getStepSort)
                        .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());