From 8cfe20288690f2ba46c804f41f39e8aa48c2dea0 Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期六, 15 六月 2024 09:08:30 +0800 Subject: [PATCH] 上传逻辑大版本更新 --- jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java | 237 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 189 insertions(+), 48 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 a555451..8350814 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 @@ -4,6 +4,8 @@ import java.util.Date; import java.util.List; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; import cn.hutool.core.util.StrUtil; @@ -15,11 +17,20 @@ import com.jcdm.framework.websocket.WebSocketUsers; import com.jcdm.main.da.paramCollection.domain.DaParamCollection; import com.jcdm.main.da.paramCollection.mapper.DaParamCollectionMapper; +import com.jcdm.main.da.paramCollection.service.IDaParamCollectionService; +import com.jcdm.main.da.paramCollectionTemp.domain.DaParamCollectionTemp; +import com.jcdm.main.da.paramCollectionTemp.service.IDaParamCollectionTempService; import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection; import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper; +import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; +import com.jcdm.main.da.testDeviceInterface.service.IDaTestDeviceInterfaceService; +import com.jcdm.main.plcserver.util.TimeUtil; import com.kangaroohy.milo.model.ReadWriteEntity; import com.kangaroohy.milo.service.MiloService; +import lombok.extern.slf4j.Slf4j; import org.aspectj.weaver.loadtime.Aj; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.jcdm.main.bs.formulaChild.mapper.BsFormulaChildInfoMapper; @@ -35,8 +46,10 @@ * @date 2023-12-26 */ @Service +@Slf4j public class BsFormulaChildInfoServiceImpl extends ServiceImpl<BsFormulaChildInfoMapper,BsFormulaChildInfo> implements IBsFormulaChildInfoService { + private static final Logger logger = LoggerFactory.getLogger("sys-user"); @Autowired private BsFormulaChildInfoMapper bsFormulaChildInfoMapper; @@ -51,6 +64,18 @@ @Autowired private DaPassingStationCollectionMapper daPassingStationCollectionMapper; + + @Autowired + private IDaTestDeviceInterfaceService daTestDeviceInterfaceService; + + @Autowired + private IDaParamCollectionService daParamCollectionService; + + @Autowired + private IDaPassingStationCollectionService daPassingStationCollectionService; + + @Autowired + private IDaParamCollectionTempService daParamCollectionTempService; Map<String, Session> map = WebSocketUsers.getUsers(); @@ -187,6 +212,7 @@ @Override public AjaxResult yzUpdateTighteningFormula(BsFormulaChildInfo bsFormulaChildInfo) { + Boolean b = true; String result = "1"; BsFormulaChildInfo getMaterTwo = new BsFormulaChildInfo(); getMaterTwo.setProcessesCode(bsFormulaChildInfo.getLocationCode()); @@ -195,44 +221,63 @@ List<String> collect = operationType.stream().map(BsFormulaChildInfo::getResults).collect(Collectors.toList()); for (String s : collect) { if(s.equals("")){ - return AjaxResult.error("鎵弿鏈畬鎴愶紝绂佹鎷х揣鎿嶄綔锛�"); +// return AjaxResult.success("鎵弿鏈畬鎴愶紝绂佹鎷х揣鎿嶄綔锛�"); } } BsFormulaChildInfo listQuery = new BsFormulaChildInfo(); listQuery.setParamCode(bsFormulaChildInfo.getParamCode()); + listQuery.setProcessesCode(bsFormulaChildInfo.getLocationCode()); String paramCode = bsFormulaChildInfo.getTightenTheArray(); if(paramCode.contains("N")){ + result = "3"; List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); bsFormulaChildInfos.get(0).setResults("NG"); bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray()); bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); - return AjaxResult.error("鎵弿缁撴灉NG,璇烽噸鏂版壂鎻忥紒"); +// return AjaxResult.success("鎵弿缁撴灉NG,璇烽噸鏂版壂鎻忥紒"); }else { List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); - bsFormulaChildInfos.get(0).setResults("OK"); - bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray()); - bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); - - Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort()); - try { - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber).build()); - } catch (Exception e) { - throw new RuntimeException(e); + if(bsFormulaChildInfos.get(0).getSpareField2()!=null&&bsFormulaChildInfos.get(0).getSpareField3()!=null){ + String tightenArray = bsFormulaChildInfo.getTightenTheArray().replace("[", "").replace("]", "").replace(" ", ""); + String[] tightenDataParts = tightenArray.split(","); + b = TimeUtil.isNumberInRange(Double.parseDouble(tightenDataParts[0]),Double.parseDouble(bsFormulaChildInfos.get(0).getSpareField2()),Double.parseDouble(bsFormulaChildInfos.get(0).getSpareField3())); } + if(b){ + result = "3"; + bsFormulaChildInfos.get(0).setResults("OK"); + bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray()); + bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); + logger.info("yzUpdateTighteningFormula--鏌ヨ鏉′欢鍙傛暟锛�"+listQuery); + logger.info("yzUpdateTighteningFormula--鏌ヨ缁撴灉锛�"+bsFormulaChildInfos.get(0)); + Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort()); + try { + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber+1).build()); + } catch (Exception e) { + throw new RuntimeException(e); + } - String spareField4 = bsFormulaChildInfos.get(0).getSpareField4(); - if (spareField4 != null && !spareField4.isEmpty()) { - // 鎵ц鎿嶄綔 - if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){ - try { + String spareField4 = bsFormulaChildInfos.get(0).getSpareField4(); + if (spareField4 != null && !spareField4.isEmpty()) { + // 鎵ц鎿嶄綔 + if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){ + try { // WebSocketUsers.sendMessageToUserByText(map.get(bsFormulaChildInfo.getLocationCode()), "OUT"); - result = "2"; - } catch (Exception e) { - throw new RuntimeException(e); + result = "2"; + } catch (Exception e) { + throw new RuntimeException(e); + } } } + }else { + result = "3"; + List<BsFormulaChildInfo> bsFormulaChildInfos1 = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); + bsFormulaChildInfos1.get(0).setResults("NG"); + String originalString = bsFormulaChildInfo.getTightenTheArray(); + String modifiedString = originalString.replaceFirst("OK", "NG"); + bsFormulaChildInfos1.get(0).setCollectData(modifiedString); + bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos1.get(0)); +// return AjaxResult.success("鎵弿缁撴灉NG,璇烽噸鏂版壂鎻忥紒"); } - } return AjaxResult.success(result); } @@ -269,10 +314,12 @@ if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){ try { result = "3"; - String strA = bsFormulaChildInfo.getLocationCode() + "A"; - String strB = bsFormulaChildInfo.getLocationCode() + "B"; - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+strA+".RecordDataDone").value(21).build()); - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+strB+".RecordDataDone").value(21).build()); +// String strA = bsFormulaChildInfo.getLocationCode() + "A"; +// String strB = bsFormulaChildInfo.getLocationCode() + "B"; +// 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(); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+locationCode+".RecordDataDone").value(21).build()); } catch (Exception e) { throw new RuntimeException(e); } @@ -282,6 +329,47 @@ result = "1"; } return AjaxResult.success(result); + } + + @Override + public AjaxResult jrmWorkpieceRelease(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); + } + String[] split = bsFormulaChildInfo.getProductBarcode().split(","); + try { + for (int i = 0; i < split.length; i++) { + daParamCollectionService.pushGeelycvMesFeedback(split[i], bsFormulaChildInfo.getLocationCode()); + String barCode = bsFormulaChildInfo.getProductBarcode(); + String locationCode = bsFormulaChildInfo.getLocationCode(); + 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(); + } + + @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); + } + return AjaxResult.success(); } @Override @@ -349,6 +437,16 @@ daParamCollection.setCollectionTime(new Date()); daParamCollection.setSfcCode(bsFormulaChildInfo.getSfcBarcode()); 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()); + daParamCollectionTemp.setSfcCode(bsFormulaChildInfo.getSfcBarcode()); + daParamCollectionTempService.save(daParamCollectionTemp); } public void jrmAddParameterCollection(BsFormulaChildInfo bsFormulaChildInfo){ @@ -371,6 +469,19 @@ 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); } @Override @@ -383,11 +494,24 @@ info.setResults(""); bsFormulaChildInfoService.saveOrUpdate(info); } + try { + daParamCollectionService.pushGeelycvMesFeedback(bsFormulaChildInfo.getProductBarcode(), bsFormulaChildInfo.getLocationCode()); + String barCode = bsFormulaChildInfo.getProductBarcode(); + String locationCode = bsFormulaChildInfo.getLocationCode(); + 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(); } @Override public AjaxResult updateTighteningFormula(BsFormulaChildInfo bsFormulaChildInfo) { + Boolean b = true; BsFormulaChildInfo getMaterTwo = new BsFormulaChildInfo(); getMaterTwo.setProcessesCode(bsFormulaChildInfo.getLocationCode()); getMaterTwo.setOperationType("2"); @@ -400,6 +524,7 @@ } BsFormulaChildInfo listQuery = new BsFormulaChildInfo(); listQuery.setParamCode(bsFormulaChildInfo.getParamCode()); + listQuery.setProcessesCode(bsFormulaChildInfo.getLocationCode()); String paramCode = bsFormulaChildInfo.getTightenTheArray(); if(paramCode.contains("N")){ List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); @@ -409,34 +534,50 @@ return AjaxResult.error("鎵弿缁撴灉NG,璇烽噸鏂版壂鎻忥紒"); }else { List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); - bsFormulaChildInfos.get(0).setResults("OK"); - bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray()); - bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); - - Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort()); - try { - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber).build()); - } catch (Exception e) { - throw new RuntimeException(e); + if(bsFormulaChildInfos.get(0).getSpareField2()!=null&&bsFormulaChildInfos.get(0).getSpareField3()!=null){ + String tightenArray = bsFormulaChildInfo.getTightenTheArray().replace("[", "").replace("]", "").replace(" ", ""); + String[] tightenDataParts = tightenArray.split(","); + b = TimeUtil.isNumberInRange(Double.parseDouble(tightenDataParts[0]),Double.parseDouble(bsFormulaChildInfos.get(0).getSpareField2()),Double.parseDouble(bsFormulaChildInfos.get(0).getSpareField3())); } + if(b){ + bsFormulaChildInfos.get(0).setResults("OK"); + bsFormulaChildInfos.get(0).setCollectData(bsFormulaChildInfo.getTightenTheArray()); + bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); + logger.info("鏌ヨ鏉′欢鍙傛暟锛�"+listQuery); + logger.info("鏌ヨ缁撴灉锛�"+bsFormulaChildInfos.get(0)); + Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort()); + try { + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".MStepNumber").value(stepNumber+1).build()); + } catch (Exception e) { + throw new RuntimeException(e); + } - String spareField4 = bsFormulaChildInfos.get(0).getSpareField4(); - if (spareField4 != null && !spareField4.isEmpty()) { - // 鎵ц鎿嶄綔 - if(bsFormulaChildInfos.get(0).getSpareField4().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); + String spareField4 = bsFormulaChildInfos.get(0).getSpareField4(); + if (spareField4 != null && !spareField4.isEmpty()) { + // 鎵ц鎿嶄綔 + if(bsFormulaChildInfos.get(0).getSpareField4().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); + } } } + }else { + List<BsFormulaChildInfo> bsFormulaChildInfos1 = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(listQuery); + bsFormulaChildInfos1.get(0).setResults("NG"); + String originalString = bsFormulaChildInfo.getTightenTheArray(); + String modifiedString = originalString.replaceFirst("OK", "NG"); + bsFormulaChildInfos1.get(0).setCollectData(modifiedString); + bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos1.get(0)); + return AjaxResult.error("鎵弿缁撴灉NG,璇烽噸鏂版壂鎻忥紒"); } } -- Gitblit v1.9.3