admin
2024-08-06 391c4168a4f6a531aaa2a913c83df4f264d8f439
jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java
@@ -18,6 +18,8 @@
import com.jcdm.common.utils.DateUtils;
import com.jcdm.common.utils.StringUtils;
import com.jcdm.framework.websocket.WebSocketUsers;
import com.jcdm.main.bs.formulaChildInfoTemp.domain.BsFormulaChildInfoTemp;
import com.jcdm.main.bs.formulaChildInfoTemp.service.IBsFormulaChildInfoTempService;
import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper;
import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService;
@@ -81,6 +83,9 @@
    private IDaParamCollectionTempService daParamCollectionTempService;
    Map<String, Session> map = WebSocketUsers.getUsers();
    @Autowired
    private IBsFormulaChildInfoTempService bsFormulaChildInfoTempService;
    /**
     * 查询配方配置子信息
@@ -393,6 +398,7 @@
        LambdaUpdateWrapper<BsFormulaChildInfo> updateWrapper = new LambdaUpdateWrapper();
        updateWrapper.set(BsFormulaChildInfo::getCollectData, "");
        updateWrapper.set(BsFormulaChildInfo::getResults,"");
        updateWrapper.set(BsFormulaChildInfo::getNgTimes,0);
        updateWrapper.eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode());
        updateWrapper.eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode());
        BsFormulaChildInfo info = new BsFormulaChildInfo();
@@ -548,14 +554,15 @@
            bsFormulaChildInfo.setResults("NG");
            bsFormulaChildInfo.setCollectData(bsFormulaChildInfo.getTightenTheArray());
//            Integer ngTimes = bsFormulaChildInfo.getNgTimes();
//            bsFormulaChildInfo.setNgTimes(ngTimes+1);
//            if(ngTimes > 3){
//                WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "NG");
//                this.recordNgTighteningData(bsFormulaChildInfo.getLocationCode(), bsFormulaChildInfo.getProductCode());
//                return AjaxResult.error("超过三次拧紧 pack NG下线!");
//            }
            Integer ngTimes = bsFormulaChildInfo.getNgTimes();
            bsFormulaChildInfo.setNgTimes(ngTimes+1);
            bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfo);
            if(bsFormulaChildInfo.getNgTimes() > 3){
                this.recordNgTighteningData(bsFormulaChildInfo.getLocationCode(), bsFormulaChildInfo.getProductCode(), bsFormulaChildInfo.getProductBarcode());
                WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "NG");
                return AjaxResult.error("超过三次拧紧 pack NG下线!");
            }
            return AjaxResult.error("拧紧结果NG,请重新拧紧!");
        }else {
            //List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery);
@@ -593,7 +600,17 @@
                String originalString = bsFormulaChildInfo.getTightenTheArray();
                String modifiedString = originalString.replaceFirst("OK", "NG");
                bsFormulaChildInfo.setCollectData(modifiedString);
//                bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfo);
                Integer ngTimes = bsFormulaChildInfo.getNgTimes();
                bsFormulaChildInfo.setNgTimes(ngTimes+1);
                bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfo);
                if(bsFormulaChildInfo.getNgTimes() > 3){
                    this.recordNgTighteningData(bsFormulaChildInfo.getLocationCode(), bsFormulaChildInfo.getProductCode(), bsFormulaChildInfo.getProductBarcode());
                    WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "NG");
                    return AjaxResult.error("超过三次拧紧 pack NG下线!");
                }
                return AjaxResult.error("拧紧结果NG,请重新拧紧!");
            }
@@ -603,7 +620,7 @@
        return AjaxResult.success("拧紧成功!");
    }
    public void recordNgTighteningData(String locationCode,String productCode){
    public void recordNgTighteningData(String locationCode,String productCode,String packId){
        List<BsFormulaChildInfo> ngFormulaList = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
                .eq(BsFormulaChildInfo::getProcessesCode, locationCode)
                .eq(BsFormulaChildInfo::getProductCode, productCode)
@@ -612,9 +629,15 @@
                .filter(formula -> formula.getResults() != null && !formula.getResults().isEmpty())
                .collect(Collectors.toList());
        for (BsFormulaChildInfo childInfo : filteredList) {
            childInfo.setNgCollectData(childInfo.getCollectData());
            childInfo.setNgResults(childInfo.getResults());
            bsFormulaChildInfoMapper.updateBsFormulaChildInfo(childInfo);
            BsFormulaChildInfoTemp childInfoTemp = new BsFormulaChildInfoTemp();
            childInfoTemp.setCollectData(childInfo.getCollectData());
            childInfoTemp.setResults(childInfo.getResults());
            childInfoTemp.setSfcCode(packId);
            childInfoTemp.setProcessesCode(childInfo.getProcessesCode());
            childInfoTemp.setProductCode(childInfo.getProductCode());
            childInfoTemp.setStepSort(childInfo.getStepSort());
            childInfoTemp.setChildId(childInfo.getId());
            bsFormulaChildInfoTempService.save(childInfoTemp);
        }
    }