From a60fef88880990c61fa45072b092150c1ffec437 Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期六, 25 五月 2024 10:12:58 +0800 Subject: [PATCH] - --- jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java | 159 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 141 insertions(+), 18 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 cd0b658..5d0670a 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,8 +4,11 @@ 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; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -14,8 +17,11 @@ 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.passingStationCollection.domain.DaPassingStationCollection; import com.jcdm.main.da.passingStationCollection.mapper.DaPassingStationCollectionMapper; +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 org.aspectj.weaver.loadtime.Aj; @@ -50,6 +56,12 @@ @Autowired private DaPassingStationCollectionMapper daPassingStationCollectionMapper; + + @Autowired + private IDaTestDeviceInterfaceService daTestDeviceInterfaceService; + + @Autowired + private IDaParamCollectionService daParamCollectionService; Map<String, Session> map = WebSocketUsers.getUsers(); @@ -211,6 +223,14 @@ 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+1).build()); + } catch (Exception e) { + throw new RuntimeException(e); + } + String spareField4 = bsFormulaChildInfos.get(0).getSpareField4(); if (spareField4 != null && !spareField4.isEmpty()) { // 鎵ц鎿嶄綔 @@ -224,6 +244,55 @@ } } + } + return AjaxResult.success(result); + } + + @Override + public AjaxResult jrmUpdateResults(BsFormulaChildInfo bsFormulaChildInfo) { + String result = ""; + List<BsFormulaChildInfo> bsFormulaChildInfos = new ArrayList<>(); + List<BsFormulaChildInfo> infos = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() + .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode()) + .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode()) + .eq(BsFormulaChildInfo::getOperationType, "2") + ).stream().filter(x -> StrUtil.isBlank(x.getCollectData())).collect(Collectors.toList()); + + + 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()); + bsFormulaChildInfos.get(0).setResults("OK"); + bsFormulaChildInfoMapper.updateBsFormulaChildInfo(bsFormulaChildInfos.get(0)); + bsFormulaChildInfo.setParamValue(bsFormulaChildInfo.getScanBarcode()); + bsFormulaChildInfo.setParamCode(bsFormulaChildInfos.get(0).getParamCode()); + bsFormulaChildInfo.setSfcBarcode(bsFormulaChildInfo.getSfcBarcode()); + jrmAddParameterCollection(bsFormulaChildInfo); + + if (spareField4 != null && !spareField4.isEmpty()) { + // 鎵ц鎿嶄綔 + 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 locationCode = bsFormulaChildInfo.getLocationCode(); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+locationCode+".RecordDataDone").value(21).build()); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } + }else { + result = "1"; } return AjaxResult.success(result); } @@ -258,6 +327,14 @@ bsFormulaChildInfo.setParamCode(bsFormulaChildInfos.get(0).getParamCode()); bsFormulaChildInfo.setSfcBarcode(bsFormulaChildInfo.getSfcBarcode()); addParameterCollection(bsFormulaChildInfo); + +// Integer stepNumber = Integer.valueOf(bsFormulaChildInfos.get(0).getStepSort()); +// try { +// miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+bsFormulaChildInfo.getLocationCode()+".StepNumber").value(stepNumber).build()); +// } catch (Exception e) { +// throw new RuntimeException(e); +// } + if (spareField4 != null && !spareField4.isEmpty()) { // 鎵ц鎿嶄綔 if(bsFormulaChildInfos.get(0).getSpareField4().equals("1")){ @@ -287,8 +364,31 @@ daParamCollectionMapper.insertDaParamCollection(daParamCollection); } + 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); +// } + + } + @Override public AjaxResult workpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) { + daParamCollectionService.pushGeelycvMesFeedback(bsFormulaChildInfo.getProductBarcode(), bsFormulaChildInfo.getLocationCode()); List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode()) .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode())); @@ -302,6 +402,7 @@ @Override public AjaxResult updateTighteningFormula(BsFormulaChildInfo bsFormulaChildInfo) { + Boolean b = true; BsFormulaChildInfo getMaterTwo = new BsFormulaChildInfo(); getMaterTwo.setProcessesCode(bsFormulaChildInfo.getLocationCode()); getMaterTwo.setOperationType("2"); @@ -323,26 +424,48 @@ 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)); - 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); + 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)); + 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); + } } } + }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