From 391c4168a4f6a531aaa2a913c83df4f264d8f439 Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期二, 06 八月 2024 19:54:55 +0800 Subject: [PATCH] -打印bug修改 --- jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java | 188 +++++++++++++++++++--------------------------- 1 files changed, 77 insertions(+), 111 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java index 3221f31..b74e37d 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java +++ b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java @@ -8,6 +8,7 @@ import java.util.regex.Pattern; import java.util.stream.Collectors; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -17,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; @@ -80,6 +83,9 @@ private IDaParamCollectionTempService daParamCollectionTempService; Map<String, Session> map = WebSocketUsers.getUsers(); + + @Autowired + private IBsFormulaChildInfoTempService bsFormulaChildInfoTempService; /** * 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭� @@ -190,6 +196,12 @@ } } } +// for (BsFormulaChildInfo formulaChildInfo : infos) { +// if(bsFormulaChildInfo.getScanBarcode().contains(formulaChildInfo.getMaterialCode())) { +// bsFormulaChildInfos.add(formulaChildInfo); +// break; +// } +// } if(bsFormulaChildInfos.size()>0){ String spareField4 = bsFormulaChildInfos.get(0).getSpareField4(); bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getScanBarcode()); @@ -338,6 +350,8 @@ // miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+strA+".RecordDataDone").value(21).build()); // miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+strB+".RecordDataDone").value(21).build()); String locationCode = bsFormulaChildInfo.getLocationCode(); + WebSocketUsers.sendMessageToUserByText(map.get(locationCode), "OUT"); + // miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+locationCode+".RecordDataDone").value(21).build()); } catch (Exception e) { throw new RuntimeException(e); @@ -353,54 +367,12 @@ @Override public AjaxResult jrmWorkpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) { this.clearCollectDataAndResultsByProcessesCode(bsFormulaChildInfo); -// List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() -// .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode()) -// .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode())); -// for (BsFormulaChildInfo info : list) { -// info.setCollectData(""); -// info.setResults(""); -// bsFormulaChildInfoService.saveOrUpdate(info); -// } - String[] split = bsFormulaChildInfo.getProductBarcode().split(","); - try { - for (int i = 0; i < split.length; i++) { - daParamCollectionService.pushGeelycvMesFeedback(split[i], bsFormulaChildInfo.getLocationCode()); - - String barCode = split[i]; - String locationCode = bsFormulaChildInfo.getLocationCode(); - - if(StringUtils.isNotBlank(locationCode)&&StringUtils.isNotBlank(barCode)){ - DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); - daPassingStationCollection.setOutRsSign("1"); - daPassingStationCollection.setOutboundTime(new Date()); - daPassingStationCollection.setSfcCode(barCode); - daPassingStationCollection.setLocationCode(locationCode); - int updateDaPassingStation = daPassingStationCollectionService.updateDaPassingStationCollectionBySfcCodeAndLocationCode(daPassingStationCollection); - logger.info("鍔犵儹鑶滀汉宸ュ伐浣嶆洿鏂拌繃绔欒褰晆pdateDaPassingStationCollectionBySfcCodeAndLocationCode:鏇存柊浜唟}鏉℃暟鎹�-鏇存柊鏉′欢pack鐮亄}-宸ヤ綅{}",updateDaPassingStation,barCode,locationCode); - } - -// DaPassingStationCollection passingStationCollectionOne = daPassingStationCollectionService.getOne(new LambdaQueryWrapper<DaPassingStationCollection>().eq(DaPassingStationCollection::getSfcCode, barCode).eq(DaPassingStationCollection::getLocationCode, locationCode)); -// if (passingStationCollectionOne != null) { -// passingStationCollectionOne.setOutRsSign("1"); -// passingStationCollectionOne.setOutboundTime(new Date()); -// daPassingStationCollectionService.saveOrUpdate(passingStationCollectionOne); -// } - } - }catch (Exception e){ - } + daParamCollectionService.pushGeelycvMesFeedback(bsFormulaChildInfo.getProductBarcode(), bsFormulaChildInfo.getLocationCode()); return AjaxResult.success(); } @Override public AjaxResult clearWorkpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) { -// List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() -// .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode()) -// .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode())); -// for (BsFormulaChildInfo info : list) { -// info.setCollectData(""); -// info.setResults(""); -// bsFormulaChildInfoService.saveOrUpdate(info); -// } this.clearCollectDataAndResultsByProcessesCode(bsFormulaChildInfo); return AjaxResult.success(); } @@ -426,7 +398,9 @@ 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(); boolean update = this.update(info,updateWrapper); return AjaxResult.success(update); @@ -518,71 +492,34 @@ public void jrmAddParameterCollection(BsFormulaChildInfo bsFormulaChildInfo){ String scanBarCode = bsFormulaChildInfo.getSfcBarcode(); - String[] modeleSplit = scanBarCode.split(","); -// for (String modele : modeleSplit) { - DaParamCollection daParamCollection = new DaParamCollection(); - daParamCollection.setParamCode(bsFormulaChildInfo.getParamCode()); - daParamCollection.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo()); - daParamCollection.setLocationCode(bsFormulaChildInfo.getLocationCode()); - daParamCollection.setParamValue(bsFormulaChildInfo.getParamValue()); - daParamCollection.setProductCode(bsFormulaChildInfo.getProductCode()); - daParamCollection.setCollectionTime(new Date()); - if(bsFormulaChildInfo.getParamCode().contains("B")){ - daParamCollection.setSfcCode(modeleSplit[1]); - }else { - daParamCollection.setSfcCode(modeleSplit[0]); - } -// daParamCollection.setSfcCode(modele); - daParamCollectionMapper.insertDaParamCollection(daParamCollection); -// } + DaParamCollection daParamCollection = new DaParamCollection(); + daParamCollection.setParamCode(bsFormulaChildInfo.getParamCode()); + daParamCollection.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo()); + daParamCollection.setLocationCode(bsFormulaChildInfo.getLocationCode()); + daParamCollection.setParamValue(bsFormulaChildInfo.getParamValue()); + daParamCollection.setProductCode(bsFormulaChildInfo.getProductCode()); + daParamCollection.setCollectionTime(new Date()); + daParamCollection.setSfcCode(scanBarCode); + daParamCollectionMapper.insertDaParamCollection(daParamCollection); - DaParamCollectionTemp daParamCollectionTemp = new DaParamCollectionTemp(); - daParamCollectionTemp.setParamCode(bsFormulaChildInfo.getParamCode()); - daParamCollectionTemp.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo()); - daParamCollectionTemp.setLocationCode(bsFormulaChildInfo.getLocationCode()); - daParamCollectionTemp.setParamValue(bsFormulaChildInfo.getParamValue()); - daParamCollectionTemp.setProductCode(bsFormulaChildInfo.getProductCode()); - daParamCollectionTemp.setCollectionTime(new Date()); - if(bsFormulaChildInfo.getParamCode().contains("B")){ - daParamCollectionTemp.setSfcCode(modeleSplit[1]); - }else { - daParamCollectionTemp.setSfcCode(modeleSplit[0]); - } - daParamCollectionTempService.save(daParamCollectionTemp); + DaParamCollectionTemp daParamCollectionTemp = new DaParamCollectionTemp(); + daParamCollectionTemp.setParamCode(bsFormulaChildInfo.getParamCode()); + daParamCollectionTemp.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo()); + daParamCollectionTemp.setLocationCode(bsFormulaChildInfo.getLocationCode()); + daParamCollectionTemp.setParamValue(bsFormulaChildInfo.getParamValue()); + daParamCollectionTemp.setProductCode(bsFormulaChildInfo.getProductCode()); + daParamCollectionTemp.setCollectionTime(new Date()); + daParamCollectionTemp.setSfcCode(scanBarCode); + + boolean save = daParamCollectionTempService.save(daParamCollectionTemp); + System.out.println(save); } @Override public AjaxResult workpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) { this.clearCollectDataAndResultsByProcessesCode(bsFormulaChildInfo); -// List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() -// .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode()) -// .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode())); -// for (BsFormulaChildInfo info : list) { -// info.setCollectData(""); -// info.setResults(""); -// bsFormulaChildInfoService.saveOrUpdate(info); -// } try { daParamCollectionService.pushGeelycvMesFeedback(bsFormulaChildInfo.getProductBarcode(), bsFormulaChildInfo.getLocationCode()); -// String barCode = bsFormulaChildInfo.getProductBarcode(); -// String locationCode = bsFormulaChildInfo.getLocationCode(); -// -// if(StringUtils.isNotBlank(locationCode)&&StringUtils.isNotBlank(barCode)){ -// DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); -// daPassingStationCollection.setOutRsSign("1"); -// daPassingStationCollection.setOutboundTime(new Date()); -// daPassingStationCollection.setSfcCode(barCode); -// daPassingStationCollection.setLocationCode(locationCode); -// int updateDaPassingStation = daPassingStationCollectionService.updateDaPassingStationCollectionBySfcCodeAndLocationCode(daPassingStationCollection); -// logger.info("鏅�氫汉宸ュ伐浣嶆洿鏂拌繃绔欒褰晆pdateDaPassingStationCollectionBySfcCodeAndLocationCode:鏇存柊浜唟}鏉℃暟鎹�-鏇存柊鏉′欢pack鐮亄}-宸ヤ綅{}",updateDaPassingStation,barCode,locationCode); -// } - -// DaPassingStationCollection passingStationCollectionOne = daPassingStationCollectionService.getOne(new LambdaQueryWrapper<DaPassingStationCollection>().eq(DaPassingStationCollection::getSfcCode, barCode).eq(DaPassingStationCollection::getLocationCode, locationCode)); -// if (passingStationCollectionOne != null) { -// passingStationCollectionOne.setOutRsSign("1"); -// passingStationCollectionOne.setOutboundTime(new Date()); -// daPassingStationCollectionService.saveOrUpdate(passingStationCollectionOne); -// } }catch (Exception e){ } return AjaxResult.success(); @@ -614,13 +551,18 @@ String paramCode = bsFormulaChildInfo.getTightenTheArray(); if(paramCode.contains("NG")){ - /* List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); - bsFormulaChildInfos.get(0).setResults("NG"); - bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray()); -*/ bsFormulaChildInfo.setResults("NG"); bsFormulaChildInfo.setCollectData(bsFormulaChildInfo.getTightenTheArray()); + + 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); @@ -646,13 +588,6 @@ // 鎵ц鎿嶄綔 if(spareField4.equals("1")){ try { - // //鏇存柊杩囩珯璁板綍琛ㄥ嚭绔欐椂闂� - // DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); - // daPassingStationCollection.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo()); - // List<DaPassingStationCollection> daPassingStationCollections = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection); - // daPassingStationCollections.get(0).setOutboundTime(new Date()); - // daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0)); -// miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".RecordDataDone").value(21).build()); WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "OUT"); } catch (Exception e) { throw new RuntimeException(e); @@ -665,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,璇烽噸鏂版嫥绱э紒"); } @@ -675,6 +620,27 @@ return AjaxResult.success("鎷х揣鎴愬姛锛�"); } + 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) + ); + List<BsFormulaChildInfo> filteredList = ngFormulaList.stream() + .filter(formula -> formula.getResults() != null && !formula.getResults().isEmpty()) + .collect(Collectors.toList()); + for (BsFormulaChildInfo childInfo : filteredList) { + 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); + } + } + -- Gitblit v1.9.3