From 0a926b3ce629047a88dbc65cc38ec86c43520336 Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期五, 07 三月 2025 16:33:09 +0800 Subject: [PATCH] -换型bug修改 --- jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java | 546 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 422 insertions(+), 124 deletions(-) diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java index e84ac6a..2215dd3 100644 --- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java +++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java @@ -7,12 +7,17 @@ import cn.hutool.db.Db; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; +import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.google.gson.Gson; import com.jcdm.common.core.domain.AjaxResult; import com.jcdm.common.utils.DateUtils; +import com.jcdm.common.utils.SecurityUtils; import com.jcdm.common.utils.StringUtils; +import com.jcdm.framework.websocket.WebSocketUsers; import com.jcdm.main.bs.formula.service.IBsFormulaInfoService; import com.jcdm.main.bs.formula.service.impl.BsFormulaInfoServiceImpl; import com.jcdm.main.bs.formulaChild.domain.BsFormulaChildInfo; @@ -30,6 +35,8 @@ 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.om.productionOrde.domain.OmProductionOrdeInfo; +import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService; import com.jcdm.main.plcserver.sub.OPCUaSubscription; import com.jcdm.main.restful.factoryMes.service.RestfulService; import com.jcdm.main.restful.qingYan.doman.ChildVO; @@ -47,6 +54,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import javax.websocket.Session; import java.text.SimpleDateFormat; import java.time.Instant; import java.util.*; @@ -95,7 +103,16 @@ @Autowired private IDaParamCollectionTempService daParamCollectionTempService; + @Autowired + private IOmProductionOrdeInfoService omProductionOrdeInfoService; + + @Autowired + private IDaPassingStationCollectionService daPassingStationCollectionService; + public SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + Map<String, Session> map = WebSocketUsers.getUsers(); + /** * 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦 @@ -247,6 +264,7 @@ daParamCollectionTemp.setSfcCode(daParamCollection.getProductBarcode()); daParamCollectionTemp.setLocationCode(daParamCollection.getLocationCode()); daParamCollectionTemp.setProductCode(daParamCollection.getProductCode()); + daParamCollectionTemp.setWorkOrderNo(daParamCollection.getWorkOrderNo()); daParamCollectionTempService.save(daParamCollectionTemp); } } @@ -254,12 +272,13 @@ @Override public void saveCampaignTimeParameters(DaParamCollection daParamCollection) { - List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() - .eq(BsFormulaChildInfo::getProcessesCode, daParamCollection.getLocationCode()) - .eq(BsFormulaChildInfo::getSpareField4, "1") - ); - if(StringUtils.isNotBlank(list.get(0).getResults())){ - if(!list.get(0).getResults().equals("OK")){ +// List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>() +// .eq(BsFormulaChildInfo::getProcessesCode, daParamCollection.getLocationCode()) +// .eq(BsFormulaChildInfo::getSpareField4, "1") +// ); + BsFormulaChildInfo childInfo = daParamCollection.getFormulaChildEntity(); + if(StringUtils.isNotBlank(childInfo.getResults())){ + if(!childInfo.getResults().equals("OK")){ try { miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+daParamCollection.getLocationCode()+".RecordDataDone").value(22).build()); } catch (Exception e) { @@ -275,45 +294,84 @@ } return; } - BsFormulaChildInfo bsFormulaChildInfo = new BsFormulaChildInfo(); - bsFormulaChildInfo.setProcessesCode(daParamCollection.getLocationCode()); - bsFormulaChildInfo.setProductCode(daParamCollection.getProductCode()); - bsFormulaChildInfo.setSpareField4("1"); - List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(bsFormulaChildInfo); - String result = bsFormulaChildInfos.get(0).getResults(); +// BsFormulaChildInfo bsFormulaChildInfo = new BsFormulaChildInfo(); +// bsFormulaChildInfo.setProcessesCode(daParamCollection.getLocationCode()); +// bsFormulaChildInfo.setProductCode(daParamCollection.getProductCode()); +// bsFormulaChildInfo.setSpareField4("1"); +// List<BsFormulaChildInfo> bsFormulaChildInfos = bsFormulaChildInfoMapper.selectBsFormulaChildInfoList(bsFormulaChildInfo); + String result = childInfo.getResults(); if(result != null && !result.isEmpty()){ try { - //杩囩珯鍙傛暟閲囬泦璁板綍鍑虹珯鏃堕棿 - DaCollectionParamConf daCollectionParamConf = new DaCollectionParamConf(); - daCollectionParamConf.setProcessesCode(daParamCollection.getLocationCode()); - daCollectionParamConf.setCollectParameterId("OUTT"); - List<DaCollectionParamConf> daCollectionParamConfs = daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf); - DaParamCollection saveData = new DaParamCollection(); - saveData.setWorkOrderNo(daParamCollection.getWorkOrderNo()); - saveData.setProductCode(daParamCollection.getProductCode()); - saveData.setLocationCode(daParamCollection.getLocationCode()); - saveData.setSfcCode(daParamCollection.getProductBarcode()); - saveData.setParamCode(daCollectionParamConfs.get(0).getCollectParameterId()); - saveData.setParamName(daCollectionParamConfs.get(0).getCollectParameterName()); - saveData.setCollectionTime(new Date()); - saveData.setParamValue(DateUtil.formatDateTime(new Date())); - daParamCollectionMapper.insertDaParamCollection(saveData); +// //鏇存柊鍙傛暟閲囬泦閰嶇疆琛� +// DaCollectionParamConf daCollectionParamConf = new DaCollectionParamConf(); +// daCollectionParamConf.setProcessesCode(daParamCollection.getLocationCode()); +// daCollectionParamConf.setCollectParameterId("OUTT"); +// List<DaCollectionParamConf> daCollectionParamConfs = daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf); +// DaParamCollection saveData = new DaParamCollection(); +// saveData.setWorkOrderNo(daParamCollection.getWorkOrderNo()); +// saveData.setProductCode(daParamCollection.getProductCode()); +// saveData.setLocationCode(daParamCollection.getLocationCode()); +// saveData.setSfcCode(daParamCollection.getProductBarcode()); +// saveData.setParamCode(daCollectionParamConfs.get(0).getCollectParameterId()); +// saveData.setParamName(daCollectionParamConfs.get(0).getCollectParameterName()); +// saveData.setCollectionTime(new Date()); +// saveData.setParamValue(DateUtil.formatDateTime(new Date())); +// daParamCollectionMapper.insertDaParamCollection(saveData); - //鏇存柊杩囩珯璁板綍琛ㄥ嚭绔欐椂闂� + //澧炲姞杩囩珯璁板綍 DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); daPassingStationCollection.setWorkOrderNo(daParamCollection.getWorkOrderNo()); + daPassingStationCollection.setSfcCode(daParamCollection.getProductBarcode()); + daPassingStationCollection.setProductCode(daParamCollection.getProductCode()); daPassingStationCollection.setLocationCode(daParamCollection.getLocationCode()); - List<DaPassingStationCollection> daPassingStationCollections = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection); - daPassingStationCollections.get(0).setOutboundTime(new Date()); - int i = daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0)); + daPassingStationCollection.setInboundTime(daParamCollection.getInboundTime()); + daPassingStationCollection.setOutboundTime(new Date()); + daPassingStationCollection.setCreateTime(new Date()); + daPassingStationCollection.setOutRsSign("1"); + boolean save = daPassingStationCollectionService.save(daPassingStationCollection); + + //娣诲姞鍩虹鍙傛暟 + this.manualWorkstationsAddBasicParameters(daParamCollection); + +// //鏇存柊杩囩珯璁板綍琛ㄥ嚭绔欐椂闂� +// DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); +// daPassingStationCollection.setWorkOrderNo(daParamCollection.getWorkOrderNo()); +// daPassingStationCollection.setLocationCode(daParamCollection.getLocationCode()); +// List<DaPassingStationCollection> daPassingStationCollections = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection); +// daPassingStationCollections.get(0).setOutboundTime(new Date()); +// int i = daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0)); // OPCUaSubscription.SaveParamData(daParamCollection.getProductBarcode(),"OP",daParamCollection.getLocationCode(),daParamCollection.getWorkOrderNo(),daParamCollection.getProductCode()); //缁檕pc鍙�21 miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+daParamCollection.getLocationCode()+".RecordDataDone").value(21).build()); - if(daParamCollection.getLocationCode().equals("OP240")){ - RestfulService.getWorkReportResultFeedback(daParamCollection.getProductBarcode(),"OP230",format.format(new Date())); + if(daParamCollection.getLocationCode().equals("POP240")){ + try{ + CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { + logger.info("OP230鎶ュ伐寮�濮�-宸ュ巶MES寮傛鏂规硶"); + String reportResult = RestfulService.getWorkReportResultFeedback(daParamCollection.getProductBarcode(), "POP230", format.format(new Date())); + JSONObject jsonObject = new JSONObject(reportResult); + String code = jsonObject.getStr("code"); + if("success".equals(code)){ + //濡傛灉鎴愬姛锛屾墽琛屾姤宸ユ垚鍔熸柟娉曪紝淇敼鏄惁鎶ュ伐涓�1锛屾坊鍔犳姤宸ユ椂闂� + omProductionOrdeInfoService.updateOrderByProductNum("1",daParamCollection.getProductBarcode(),"POP230"); + }else{ + //瑙f瀽宸ュ巶mes杩斿洖缁撴灉锛屽鏋滃け璐ワ紝鎵ц鎶ュ伐澶辫触鏂规硶锛屼慨鏀规槸鍚︽姤宸ヤ负2锛屾坊鍔犳姤宸ユ椂闂� + omProductionOrdeInfoService.updateOrderByProductNum("2",daParamCollection.getProductBarcode(),"POP230"); + } + logger.info("OP230鎶ュ伐缁撴潫-宸ュ巶MES寮傛鏂规硶{}"+reportResult); + }); + }catch (Exception e){ + System.out.println(e.getMessage()); + } +// RestfulService.getWorkReportResultFeedback(daParamCollection.getProductBarcode(),"OP230",format.format(new Date())); } + if(daParamCollection.getLocationCode().equals("POP430")){ + this.enterWeighing(daParamCollection); + } + + + } catch (Exception e) { throw new RuntimeException(e); } @@ -376,36 +434,26 @@ @Override public void jrmSaveCampaignTimeParameters(DaParamCollection daParamCollection) { - DaCollectionParamConf daCollectionParamConf = new DaCollectionParamConf(); - daCollectionParamConf.setProcessesCode(daParamCollection.getLocationCode()); - daCollectionParamConf.setCollectParameterId("OUTT"); - List<DaCollectionParamConf> daCollectionParamConfs = daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf); - DaParamCollection saveData = new DaParamCollection(); - saveData.setWorkOrderNo(daParamCollection.getWorkOrderNo()); - saveData.setProductCode(daParamCollection.getProductCode()); - saveData.setLocationCode(daParamCollection.getLocationCode()); - saveData.setSfcCode(daParamCollection.getProductBarcode()); - saveData.setParamCode(daCollectionParamConfs.get(0).getCollectParameterId()); - saveData.setParamName(daCollectionParamConfs.get(0).getCollectParameterName()); - saveData.setCollectionTime(new Date()); - saveData.setParamValue(DateUtil.formatDateTime(new Date())); - daParamCollectionMapper.insertDaParamCollection(saveData); - - //鏇存柊杩囩珯璁板綍琛ㄥ嚭绔欐椂闂� + //澧炲姞杩囩珯璁板綍 DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); daPassingStationCollection.setWorkOrderNo(daParamCollection.getWorkOrderNo()); + daPassingStationCollection.setSfcCode(daParamCollection.getProductBarcode()); + daPassingStationCollection.setProductCode(daParamCollection.getProductCode()); daPassingStationCollection.setLocationCode(daParamCollection.getLocationCode()); - List<DaPassingStationCollection> daPassingStationCollections = daPassingStationCollectionMapper.selectDaPassingStationCollectionList(daPassingStationCollection); - daPassingStationCollections.get(0).setOutboundTime(new Date()); - int i = daPassingStationCollectionMapper.updateDaPassingStationCollection(daPassingStationCollections.get(0)); + daPassingStationCollection.setInboundTime(daParamCollection.getInboundTime()); + daPassingStationCollection.setOutboundTime(new Date()); + daPassingStationCollection.setCreateTime(new Date()); + daPassingStationCollection.setOutRsSign("1"); + boolean save = daPassingStationCollectionService.save(daPassingStationCollection); -// OPCUaSubscription.SaveParamData(daParamCollection.getProductBarcode(),"OP",daParamCollection.getLocationCode(),daParamCollection.getWorkOrderNo(),daParamCollection.getProductCode()); + //娣诲姞鍩虹鍙傛暟 + this.manualWorkstationsAddBasicParameters(daParamCollection); //缁檕pc鍙�21 try { // miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+daParamCollection.getLocationCode()+".RecordDataDone").value(21).build()); - String strA = daParamCollection.getLocationCode(); - miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+strA+".RecordDataDone").value(21).build()); + String str = daParamCollection.getLocationCode(); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+str+".RecordDataDone").value(21).build()); } catch (Exception e) { throw new RuntimeException(e); } @@ -479,23 +527,18 @@ parentVO.setTotalResult("1"); List<ChildVO> listChildVo = new ArrayList<>(); + String productModel = "PE01B"; + OmProductionOrdeInfo orderOne = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum, packID)); + productModel = orderOne.getProductCode(); + for (DaParamCollectionTemp daParamCollection : paramList) { ChildVO childVO = new ChildVO(); childVO.setItemCode(daParamCollection.getParamCode()); -// BsFormulaChildInfo childOne = bsFormulaChildInfoService.getOne(new LambdaQueryWrapper<BsFormulaChildInfo>().eq(BsFormulaChildInfo::getParamCode, daParamCollection.getParamCode())); -// DaCollectionParamConf paramConfOne = daCollectionParamConfService.getOne(new LambdaQueryWrapper<DaCollectionParamConf>().eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode())); - List<DaCollectionParamConf> paramConfOneList = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>().eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode())); + List<DaCollectionParamConf> paramConfOneList = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>() + .eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode()) + .eq(DaCollectionParamConf::getProductModel, productModel) + ); DaCollectionParamConf paramConfOne = paramConfOneList.get(0); -// if(childOne!=null){ -// String operationType = childOne.getOperationType(); -// if(operationType.equals("1")){ -// childVO.setItemType("2"); -// }else if(operationType.equals("2")){ -// childVO.setItemType("1"); -// } -// }else { -// childVO.setItemType("3"); -// } if(paramConfOne!=null){ childVO.setItemType(paramConfOne.getSpareField1()); childVO.setItemText(paramConfOne.getCollectParameterName()); @@ -521,22 +564,21 @@ parentVO.setCheckList(listChildVo); try{ CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { - logger.info("寮�濮嬫墽琛屽紓姝ユ柟娉�"); + logger.info("宸ヤ綅{}---寮�濮嬫墽琛屽紓姝ユ柟娉�---pack鐮佹槸{}"+stationCode,packID); HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute(); - logger.info("寮傛鏂规硶鎵ц缁撴潫"); - logger.info("鎵嬪姩宸ヤ綅浼犲伐鍘侻ES寮傛鏂规硶{}"+execute.body()); - List<Long> idsList = paramList.stream().map(DaParamCollectionTemp::getId).collect(Collectors.toList()); - Long[] array = idsList.toArray(new Long[0]); - int i = daParamCollectionTempService.deleteDaParamCollectionTempByIds(array); + logger.info("宸ヤ綅{}---寮傛鏂规硶鎵ц缁撴潫---pack鐮佹槸{}"+stationCode,packID); + logger.info("鎵嬪姩宸ヤ綅{}浼犲伐鍘傚叆鍙俈O{}---pack鐮佹槸{}" + stationCode,new Gson().toJson(parentVO),packID); + logger.info("鎵嬪姩宸ヤ綅{}浼犲伐鍘侻ES寮傛鏂规硶{}---pack鐮佹槸{}"+stationCode,execute.body(),packID); + + DaParamCollectionTemp daParamCollectionTemp = new DaParamCollectionTemp(); + daParamCollectionTemp.setSfcCode(packID); + daParamCollectionTemp.setLocationCode(stationCode); + int i = daParamCollectionTempService.deleteDaParamCollectionTempBySfcCodeAndLocationCode(daParamCollectionTemp); logger.info("鍒犻櫎涓存椂琛ㄦ暟鎹潯鏁皗}-宸ヤ綅{}-pack鐮亄}",i,stationCode,packID); }); }catch (Exception e){ System.out.println(e.getMessage()); } -// HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute(); - -// System.out.println(execute.body()); - System.out.println("-----------------------"+totalResult); logger.info("缁撴潫浜哄伐宸ヤ綅鎺ㄩ�佸伐鍘侻ES鏁版嵁鏂规硶-pushGeelycvMesFeedback-宸ヤ綅{}-pack鐮亄}",stationCode,packID); } @@ -559,23 +601,20 @@ parentVO.setTotalResult("1"); List<ChildVO> listChildVo = new ArrayList<>(); +// String productModel = "PE01B"; +// OmProductionOrdeInfo orderOne = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum, packID)); +// productModel = orderOne.getProductCode(); + for (DaParamCollection daParamCollection : paramList) { ChildVO childVO = new ChildVO(); childVO.setItemCode(daParamCollection.getParamCode()); // BsFormulaChildInfo childOne = bsFormulaChildInfoService.getOne(new LambdaQueryWrapper<BsFormulaChildInfo>().eq(BsFormulaChildInfo::getParamCode, daParamCollection.getParamCode())); // DaCollectionParamConf paramConfOne = daCollectionParamConfService.getOne(new LambdaQueryWrapper<DaCollectionParamConf>().eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode())); - List<DaCollectionParamConf> paramConfOneList = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>().eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode())); + List<DaCollectionParamConf> paramConfOneList = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>() + .eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode()) + .eq(DaCollectionParamConf::getProductModel, "PE01B") + ); DaCollectionParamConf paramConfOne = paramConfOneList.get(0); -// if(childOne!=null){ -// String operationType = childOne.getOperationType(); -// if(operationType.equals("1")){ -// childVO.setItemType("2"); -// }else if(operationType.equals("2")){ -// childVO.setItemType("1"); -// } -// }else { -// childVO.setItemType("3"); -// } if(paramConfOne!=null){ childVO.setItemType(paramConfOne.getSpareField1()); childVO.setItemText(paramConfOne.getCollectParameterName()); @@ -602,18 +641,17 @@ logger.info("杩涘叆宸ヤ綅{}-宸ュ巶MES鎺ㄩ�佹暟鎹柟娉旽ttpResponseSend",stationCode); try{ CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { - logger.info("寮�濮嬫墽琛屽紓姝ユ柟娉�"); + logger.info("宸ヤ綅{}---鑷姩宸ヤ綅寮�濮嬫墽琛屽紓姝ユ柟娉�---pack鐮佹槸{}"+stationCode,packID); HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute(); - System.out.println(execute.body()); - logger.info("寮傛鏂规硶鎵ц缁撴潫"); - logger.info("鑷姩宸ヤ綅浼犲伐鍘侻ES寮傛鏂规硶{}"+execute.body()); + logger.info("宸ヤ綅{}---鑷姩宸ヤ綅寮傛鏂规硶鎵ц缁撴潫---pack鐮佹槸{}"+stationCode,packID); + logger.info("鑷姩宸ヤ綅{}浼犲伐鍘傚叆鍙俈O{}" + stationCode,new Gson().toJson(parentVO)); + logger.info("鑷姩宸ヤ綅{}浼犲伐鍘侻ES寮傛鏂规硶杩斿洖{}"+stationCode,execute.body()); }); }catch (Exception e){ System.out.println(e.getMessage()); } // HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute(); logger.info("缁撴潫宸ヤ綅{}-宸ュ巶MES鎺ㄩ�佹暟鎹柟娉旽ttpResponseSend",stationCode); - System.out.println("-----------------------"+totalResult); } logger.info("缁撴潫宸ヤ綅{}-宸ュ巶MES鎺ㄩ�佹暟鎹柟娉昦utomaticWorkstationPushGeelycvMesFeedback",stationCode); } @@ -644,36 +682,296 @@ @Override public void enterWeighing(DaParamCollection daParamCollection) { String url = "https://imes-group.geelycv.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback"; - long timestampMillis = Instant.now().toEpochMilli(); - ParentVO parentVO = new ParentVO(); - ChildVO childVO = new ChildVO(); - List<ChildVO> childVOList = new ArrayList<>(); - childVO.setItemCode("PWD_PW"); - childVO.setItemType("3"); - childVO.setItemText("Pack閲嶉噺鍊�"); - childVO.setItemValue(daParamCollection.getWeightValue()); - childVO.setCheckTime(format.format(new Date())); - childVO.setCheckResult("1"); - childVOList.add(childVO); - parentVO.setSiteCode("3983"); - parentVO.setRecordId(""+timestampMillis); - parentVO.setStationCode("OP500"); - parentVO.setProductNum(daParamCollection.getSfcCode()); - parentVO.setTotalResult("1"); - parentVO.setCheckList(childVOList); - HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute(); -// try{ -// CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { -// logger.info("寮�濮嬫墽琛屽紓姝ユ柟娉�"); -// HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute(); -// System.out.println(execute.body()); -// logger.info("寮傛鏂规硶鎵ц缁撴潫"); -// logger.info("绉伴噸寮傛鏂规硶{}",execute.body()); -// }); -// }catch (Exception e){ -// System.out.println(e.getMessage()); -// } - RestfulService.getWorkReportResultFeedback(daParamCollection.getSfcCode(),"OP500",format.format(new Date())); +// String url = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback"; + try{ + daParamCollection.setWeightValue(getRandomNumberBetween(312.5, 313.5)); + Object recordDataDone = miloService.readFromOpcUa("PACK" + "." + daParamCollection.getLocationCode() + ".weight").getValue(); + if(ObjectUtil.isNotNull(recordDataDone)){ + daParamCollection.setWeightValue(recordDataDone.toString()); + } + long timestampMillis = Instant.now().toEpochMilli(); + ParentVO parentVO = new ParentVO(); + ChildVO childVO = new ChildVO(); + List<ChildVO> childVOList = new ArrayList<>(); + childVO.setItemCode("PWD_PW"); + childVO.setItemType("3"); + childVO.setItemText("Pack閲嶉噺鍊�"); + childVO.setItemValue(daParamCollection.getWeightValue()); + childVO.setCheckTime(format.format(new Date())); + childVO.setCheckResult("1"); + childVOList.add(childVO); + parentVO.setSiteCode("3983"); + parentVO.setRecordId(""+timestampMillis); + parentVO.setStationCode("POP430"); + parentVO.setProductNum(daParamCollection.getProductBarcode()); + parentVO.setTotalResult("1"); + parentVO.setCheckList(childVOList); + CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { + logger.info("POP430鎶ュ伐寮�濮�-宸ュ巶MES寮傛鏂规硶"); + HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute(); + logger.info("绉伴噸430杩斿洖缁撴灉"+execute.body()); + String reportResult = RestfulService.getWorkReportResultFeedback(daParamCollection.getProductBarcode(), "POP430", format.format(new Date())); + JSONObject jsonObject = new JSONObject(reportResult); + String code = jsonObject.getStr("code"); + String resultCode = jsonObject.getJSONObject("data").getStr("resultCode"); + if("success".equals(code)&&"S".equals(resultCode)){ + //濡傛灉鎴愬姛锛屾墽琛屾姤宸ユ垚鍔熸柟娉曪紝淇敼鏄惁鎶ュ伐涓�1锛屾坊鍔犳姤宸ユ椂闂� + WebSocketUsers.sendMessageToUserByText(map.get("POP430"), "reportSuccess"); + omProductionOrdeInfoService.updateOrderByProductNum("1",daParamCollection.getProductBarcode(),"POP430"); + }else{ + WebSocketUsers.sendMessageToUserByText(map.get("POP430"), "reportError"); + //瑙f瀽宸ュ巶mes杩斿洖缁撴灉锛屽鏋滃け璐ワ紝鎵ц鎶ュ伐澶辫触鏂规硶锛屼慨鏀规槸鍚︽姤宸ヤ负2锛屾坊鍔犳姤宸ユ椂闂� + omProductionOrdeInfoService.updateOrderByProductNum("2",daParamCollection.getProductBarcode(),"POP430"); + } + logger.info("OP430鎶ュ伐缁撴潫-宸ュ巶MES寮傛鏂规硶{}"+reportResult); + }); + }catch (Exception e){ + WebSocketUsers.sendMessageToUserByText(map.get("POP430"), "reportError"); + System.out.println(e.getMessage()); + } +// HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute(); +// RestfulService.getWorkReportResultFeedback(daParamCollection.getSfcCode(),"POP430",format.format(new Date())); } + @Override + public void manualWorkstationsAddBasicParameters(DaParamCollection daParamCollection) { + // 鍋囪杩欐槸浠庢暟鎹簱鎴栧叾浠栧湴鏂硅幏鍙栫殑鍙傛暟鏁版嵁 + Map<String, String> map = new HashMap<>(); + map.put("GC", "鍗楁禂宸ュ巶"); + map.put("CXBH", "Pack绾�"); + map.put("SBBH", "璁惧001"); + map.put("YGBH", SecurityUtils.getUsername()); + map.put("GDBH", daParamCollection.getWorkOrderNo()); + map.put("CPXH", daParamCollection.getProductCode()); + map.put("INT", format.format(daParamCollection.getInboundTime())); + map.put("OUTT",format.format(new Date())); + + map.forEach((key, value) -> { + DaCollectionParamConf daCollectionParamConf = new DaCollectionParamConf(); + daCollectionParamConf.setProcessesCode(daParamCollection.getLocationCode()); + daCollectionParamConf.setCollectParameterId(key); + List<DaCollectionParamConf> daCollectionParamConfs = daCollectionParamConfMapper.selectDaCollectionParamConfList(daCollectionParamConf); + DaParamCollection saveData = new DaParamCollection(); + saveData.setWorkOrderNo(daParamCollection.getWorkOrderNo()); + saveData.setProductCode(daParamCollection.getProductCode()); + saveData.setLocationCode(daParamCollection.getLocationCode()); + saveData.setSfcCode(daParamCollection.getProductBarcode()); + saveData.setParamCode(daCollectionParamConfs.get(0).getCollectParameterId()); + saveData.setParamName(daCollectionParamConfs.get(0).getCollectParameterName()); + saveData.setCollectionTime(new Date()); + saveData.setParamValue(value); + daParamCollectionMapper.insertDaParamCollection(saveData); + + DaParamCollectionTemp saveDataTemp = new DaParamCollectionTemp(); + saveDataTemp.setWorkOrderNo(daParamCollection.getWorkOrderNo()); + saveDataTemp.setProductCode(daParamCollection.getProductCode()); + saveDataTemp.setLocationCode(daParamCollection.getLocationCode()); + saveDataTemp.setSfcCode(daParamCollection.getProductBarcode()); + saveDataTemp.setParamCode(daCollectionParamConfs.get(0).getCollectParameterId()); + saveDataTemp.setParamName(daCollectionParamConfs.get(0).getCollectParameterName()); + saveDataTemp.setCollectionTime(new Date()); + saveDataTemp.setParamValue(value); + daParamCollectionTempService.save(saveDataTemp); + + }); + } + + @Override + public void preInstallOut(DaParamCollection daParamCollection) { + String locationCode = daParamCollection.getLocationCode(); + //澧炲姞杩囩珯璁板綍 + DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection(); + daPassingStationCollection.setSfcCode(daParamCollection.getProductBarcode()); + daPassingStationCollection.setLocationCode(locationCode); + daPassingStationCollection.setInboundTime(daParamCollection.getInboundTime()); + daPassingStationCollection.setOutboundTime(new Date()); + daPassingStationCollection.setCreateTime(new Date()); + daPassingStationCollection.setOutRsSign("1"); + boolean save = daPassingStationCollectionService.save(daPassingStationCollection); + //娣诲姞鍩虹鍙傛暟 + this.manualWorkstationsAddBasicParameters(daParamCollection); + + try { + String str = "PACK."+locationCode+".RecordDataDone"; + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(str).value(21).build()); + logger.info("棰勮宸ヤ綅鍐欏叆OPC鎴愬姛锛屽伐浣嶏細{}锛屽�納}",str,21); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + @Override + public AjaxResult addRepairTighteningData(DaParamCollection daParamCollection) { + try { + String url = "https://imes-group.geelycv.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback"; +// String url = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback"; + String processesCode = daParamCollection.getLocationCode(); + + long timestampMillis = Instant.now().toEpochMilli(); + ParentVO parentVO = new ParentVO(); + List<ChildVO> childVOList = new ArrayList<>(); + parentVO.setSiteCode("3983"); + parentVO.setRecordId(""+timestampMillis); + parentVO.setStationCode(processesCode); + parentVO.setProductNum(daParamCollection.getSfcCode()); + parentVO.setTotalResult("1"); + parentVO.setCheckList(childVOList); + + String screwNumber = daParamCollection.getScrewNumber(); + String torque = daParamCollection.getTorque(); + String angle = daParamCollection.getAngle(); + String torqueResult = daParamCollection.getTorqueResult(); + String angleResult = daParamCollection.getAngleResult(); + + Map<String, String> map = new HashMap<>(); + map.put("POP320","妯$粍"); + map.put("POP400","绠辩洊"); + + List<String> nameLikeString = new ArrayList<>(); + nameLikeString.add(map.get(processesCode)+"鎷х揣鏈�缁堟壄鐭�"); + nameLikeString.add(map.get(processesCode)+"鎷х揣鏈�缁堣搴�"); + nameLikeString.add(map.get(processesCode)+"鎷х揣鏈�缁堟壄鐭╂槸鍚﹀湪鑼冨洿鍐�"); + nameLikeString.add(map.get(processesCode)+"鎷х揣鏈�缁堣搴︽槸鍚﹀湪鑼冨洿鍐�"); + + if(screwNumber.contains("锛�")){ + String[] screwNumberSplit = screwNumber.split("锛�"); + String[] torqueSplit = torque.split("锛�"); + String[] angleSplit = angle.split("锛�"); + String[] torqueResultSplit = torqueResult.split("锛�"); + String[] angleResultSplit = angleResult.split("锛�"); + + List<String[]> dataList = new ArrayList<String[]>(); + dataList.add(torqueSplit); + dataList.add(angleSplit); + dataList.add(torqueResultSplit); + dataList.add(angleResultSplit); + + for (int k = 0; k < nameLikeString.size(); k++) { + for (int i = 0; i < screwNumberSplit.length; i++) { + String s1 = nameLikeString.get(k)+screwNumberSplit[i]; + List<DaCollectionParamConf> confList = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>() + .eq(DaCollectionParamConf::getProcessesCode, processesCode) + .eq(DaCollectionParamConf::getCollectParameterName, s1) + ); + DaCollectionParamConf daCollectionParamConf = confList.get(0); + ChildVO childVO = new ChildVO(); + childVO.setItemCode(daCollectionParamConf.getCollectParameterId()); + childVO.setItemType(daCollectionParamConf.getSpareField1()); + childVO.setItemText(daCollectionParamConf.getCollectParameterName()); + String itemValue = dataList.get(k)[i]; + childVO.setItemValue(itemValue); + childVO.setCheckTime(format.format(new Date())); + childVO.setCheckResult("1"); + childVOList.add(childVO); + } + } + }else { + List<String> dataList = new ArrayList<>(); + dataList.add(torque); + dataList.add(angle); + dataList.add(torqueResult); + dataList.add(angleResult); + for (int k = 0; k < nameLikeString.size(); k++) { + String collectParameterName = nameLikeString.get(k)+screwNumber; + List<DaCollectionParamConf> confList = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>() + .eq(DaCollectionParamConf::getProcessesCode, processesCode) + .eq(DaCollectionParamConf::getCollectParameterName, collectParameterName) + ); + DaCollectionParamConf daCollectionParamConf = confList.get(0); + ChildVO childVO = new ChildVO(); + childVO.setItemCode(daCollectionParamConf.getCollectParameterId()); + childVO.setItemType(daCollectionParamConf.getSpareField1()); + childVO.setItemText(daCollectionParamConf.getCollectParameterName()); + String itemValue = dataList.get(k); + childVO.setItemValue(itemValue); + childVO.setCheckTime(format.format(new Date())); + childVO.setCheckResult("1"); + childVOList.add(childVO); + } + } + + System.out.println(childVOList); + logger.info("宸ヤ綅{}-----------杩斾慨鏁版嵁涓婁紶鍏ュ弬vo锛歿}",processesCode,new Gson().toJson(parentVO)); + HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute(); + logger.info("宸ヤ綅{}-----------杩斾慨鏁版嵁涓婁紶缁撴灉锛歿}",processesCode,execute.body()); + return AjaxResult.success("涓婁紶鎴愬姛"); + }catch (Exception e){ + return AjaxResult.error("涓婁紶澶辫触锛屽弬鏁颁笉瀵硅妫�鏌ワ紒"); + } + } + + @Override + public void jrmPushGeelycvMesFeedback(String packID, String stationCode, String productCode) { + logger.info("杩涘叆浜哄伐宸ヤ綅鎺ㄩ�佸伐鍘侻ES鏁版嵁鏂规硶-pushGeelycvMesFeedback-宸ヤ綅{}-pack鐮亄}",stationCode,packID); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// String url = "https://imes-uat-group.geelycv-test.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback"; + String url = "https://imes-group.geelycv.com/api/mom-open/restful/aMesSysIntegration/deviceResultFeedback"; + String totalResult = "0"; + List<DaParamCollectionTemp> paramList = daParamCollectionTempService.list(new LambdaQueryWrapper<DaParamCollectionTemp>().eq(DaParamCollectionTemp::getSfcCode, packID).eq(DaParamCollectionTemp::getLocationCode, stationCode)); + if(paramList.size() > 0){ + ParentVO parentVO = new ParentVO(); + parentVO.setSiteCode("3983"); + parentVO.setRecordId(String.valueOf(Instant.now().toEpochMilli())); + parentVO.setStationCode(stationCode); + parentVO.setProductNum(packID); + parentVO.setTotalResult("1"); + List<ChildVO> listChildVo = new ArrayList<>(); + + for (DaParamCollectionTemp daParamCollection : paramList) { + ChildVO childVO = new ChildVO(); + childVO.setItemCode(daParamCollection.getParamCode()); + List<DaCollectionParamConf> paramConfOneList = daCollectionParamConfService.list(new LambdaQueryWrapper<DaCollectionParamConf>() + .eq(DaCollectionParamConf::getCollectParameterId, daParamCollection.getParamCode()) + .eq(DaCollectionParamConf::getProductModel, productCode) + ); + DaCollectionParamConf paramConfOne = paramConfOneList.get(0); + if(paramConfOne!=null){ + childVO.setItemType(paramConfOne.getSpareField1()); + childVO.setItemText(paramConfOne.getCollectParameterName()); + }else { + childVO.setItemType("3"); + childVO.setItemText(""); + } + childVO.setItemValue(daParamCollection.getParamValue()); + + if(daParamCollection.getParamValue().equals("1")){ + childVO.setCheckResult("1"); + }else if(daParamCollection.getParamValue().equals("2")){ + childVO.setCheckResult("0"); + parentVO.setTotalResult("0"); + totalResult = "1"; + }else { + childVO.setCheckResult("1"); + } + childVO.setCheckTime(format.format(daParamCollection.getCollectionTime())); + listChildVo.add(childVO); + + } + parentVO.setCheckList(listChildVo); + try{ + CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { + logger.info("宸ヤ綅{}---寮�濮嬫墽琛屽紓姝ユ柟娉�---pack鐮佹槸{}"+stationCode,packID); + HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute(); + logger.info("宸ヤ綅{}---寮傛鏂规硶鎵ц缁撴潫---pack鐮佹槸{}"+stationCode,packID); + logger.info("鎵嬪姩宸ヤ綅{}浼犲伐鍘傚叆鍙俈O{}---pack鐮佹槸{}" + stationCode,new Gson().toJson(parentVO),packID); + logger.info("鎵嬪姩宸ヤ綅{}浼犲伐鍘侻ES寮傛鏂规硶{}---pack鐮佹槸{}"+stationCode,execute.body(),packID); + + DaParamCollectionTemp daParamCollectionTemp = new DaParamCollectionTemp(); + daParamCollectionTemp.setSfcCode(packID); + daParamCollectionTemp.setLocationCode(stationCode); + int i = daParamCollectionTempService.deleteDaParamCollectionTempBySfcCodeAndLocationCode(daParamCollectionTemp); + logger.info("鍒犻櫎涓存椂琛ㄦ暟鎹潯鏁皗}-宸ヤ綅{}-pack鐮亄}",i,stationCode,packID); + }); + }catch (Exception e){ + System.out.println(e.getMessage()); + } + logger.info("缁撴潫浜哄伐宸ヤ綅鎺ㄩ�佸伐鍘侻ES鏁版嵁鏂规硶-pushGeelycvMesFeedback-宸ヤ綅{}-pack鐮亄}",stationCode,packID); + } + } + + public static String getRandomNumberBetween(double min, double max) { + return String.format("%.1f",min + (Math.random() * (max - min))); + } + + } -- Gitblit v1.9.3