From 2fbce7d8c0b7e5b055bb7ab77e58b1ec9ce61885 Mon Sep 17 00:00:00 2001 From: admin <15939171744@163.com> Date: 星期一, 24 六月 2024 19:00:22 +0800 Subject: [PATCH] 1,优化人工工位参数采集temp表删除方法 pushGeelycvMesFeedback 2,优化人工工位更新过站记录方法 workpieceRelease 3,优化未绑定小车码弹框提示 4,优化人工工位扫码重复会添加参数采集记录的问题及拧紧数据会添加上物料采集上的问题 --- jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java | 525 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 513 insertions(+), 12 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 2b00023..1a378e7 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 @@ -1,23 +1,58 @@ package com.jcdm.main.da.paramCollection.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import cn.hutool.db.Db; +import cn.hutool.http.HttpRequest; +import cn.hutool.http.HttpResponse; +import cn.hutool.json.JSONUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.jcdm.common.core.domain.AjaxResult; import com.jcdm.common.utils.DateUtils; +import com.jcdm.common.utils.StringUtils; +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; import com.jcdm.main.bs.formulaChild.mapper.BsFormulaChildInfoMapper; +import com.jcdm.main.bs.formulaChild.service.IBsFormulaChildInfoService; +import com.jcdm.main.constant.Constants; import com.jcdm.main.da.collectionParamConf.domain.DaCollectionParamConf; import com.jcdm.main.da.collectionParamConf.mapper.DaCollectionParamConfMapper; +import com.jcdm.main.da.collectionParamConf.service.IDaCollectionParamConfService; 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.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; +import com.jcdm.main.restful.qingYan.doman.ParentVO; import com.kangaroohy.milo.model.ReadWriteEntity; import com.kangaroohy.milo.service.MiloService; +import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.session.ExecutorType; +import org.apache.ibatis.session.SqlSession; +import org.apache.ibatis.session.SqlSessionFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.parameters.P; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.text.SimpleDateFormat; +import java.time.Instant; import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.stream.Collectors; /** * 璁惧浜у搧杩囩▼鍙傛暟閲囬泦Service涓氬姟灞傚鐞� @@ -25,9 +60,12 @@ * @author yyt * @date 2023-12-13 */ +@Slf4j @Service -public class DaParamCollectionServiceImpl implements IDaParamCollectionService +public class DaParamCollectionServiceImpl extends ServiceImpl<DaParamCollectionMapper,DaParamCollection> implements IDaParamCollectionService { + private static final Logger logger = LoggerFactory.getLogger("sys-user"); + @Autowired private DaParamCollectionMapper daParamCollectionMapper; @@ -38,10 +76,30 @@ private BsFormulaChildInfoMapper bsFormulaChildInfoMapper; @Autowired + private IBsFormulaChildInfoService bsFormulaChildInfoService; + + @Autowired private MiloService miloService; @Autowired private DaPassingStationCollectionMapper daPassingStationCollectionMapper; + + @Resource + private SqlSessionFactory sqlSessionFactory; + + @Autowired + private IDaParamCollectionService daParamCollectionService; + + @Autowired + private IDaCollectionParamConfService daCollectionParamConfService; + + @Autowired + private IDaParamCollectionTempService daParamCollectionTempService; + + @Autowired + private IOmProductionOrdeInfoService omProductionOrdeInfoService; + + public SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); /** * 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦 @@ -65,6 +123,30 @@ public List<DaParamCollection> selectDaParamCollectionList(DaParamCollection daParamCollection) { return daParamCollectionMapper.selectDaParamCollectionList(daParamCollection); + } + + @Override + public void saveBeachDaParamCollection(List<DaParamCollection> list) { + // ExecutorType.SIMPLE: 杩欎釜鎵ц鍣ㄧ被鍨嬩笉鍋氱壒娈婄殑浜嬫儏銆傚畠涓烘瘡涓鍙ョ殑鎵ц鍒涘缓涓�涓柊鐨勯澶勭悊璇彞銆� + // ExecutorType.REUSE: 杩欎釜鎵ц鍣ㄧ被鍨嬩細澶嶇敤棰勫鐞嗚鍙ャ�� + // ExecutorType.BATCH: 杩欎釜鎵ц鍣ㄤ細鎵归噺鎵ц鎵�鏈夋洿鏂拌鍙�,濡傛灉 SELECT 鍦ㄥ畠浠腑闂存墽琛岃繕浼氭爣瀹氬畠浠槸 蹇呴』鐨�,鏉ヤ繚璇佷竴涓畝鍗曞苟鏄撲簬鐞嗚В鐨勮涓恒�� + logger.info("杩涘叆涔愬伐鎵归噺鏂规硶saveBeachDaParamCollection"); + + // 鍏抽棴session鐨勮嚜鍔ㄦ彁浜� + SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false); + try { + DaParamCollectionMapper userMapper = sqlSession.getMapper(DaParamCollectionMapper.class); + list.stream().forEach(DaParamCollection -> userMapper.insertDaParamCollection(DaParamCollection)); + // 鎻愪氦鏁版嵁 + sqlSession.commit(); + sqlSession.rollback(); + logger.info("缁撴潫涔愬伐鎵归噺鏂规硶saveBeachDaParamCollection"); + + } catch (Exception e) { + sqlSession.rollback(); + } finally { + sqlSession.close(); + } } /** @@ -149,22 +231,54 @@ @Override public void addTighteningParameters(DaParamCollection daParamCollection) { - String tightenData = daParamCollection.getTightenTheArray(); - tightenData = tightenData.replace("[", "").replace("]", "").replace(" ", ""); - String[] tightenDataParts = tightenData.split(","); String paramCode = daParamCollection.getParamCode(); - String[] paramCodeParts = paramCode.split(","); - for (int i = 0; i < paramCodeParts.length; i++) { - daParamCollection.setParamValue(tightenDataParts[i]); - daParamCollection.setParamCode(paramCodeParts[i]); - daParamCollection.setCollectionTime(new Date()); - daParamCollection.setSfcCode(daParamCollection.getProductBarcode()); - daParamCollectionMapper.insertDaParamCollection(daParamCollection); + String tightenData = daParamCollection.getTightenTheArray(); + if(StringUtils.isNotBlank(paramCode)&&StringUtils.isNotBlank(tightenData)){ + tightenData = tightenData.replace("[", "").replace("]", "").replace(" ", ""); + String[] tightenDataParts = tightenData.split(","); + String[] paramCodeParts = paramCode.split(","); + for (int i = 0; i < paramCodeParts.length; i++) { + daParamCollection.setParamValue(tightenDataParts[i]); + daParamCollection.setParamCode(paramCodeParts[i]); + daParamCollection.setCollectionTime(new Date()); + daParamCollection.setSfcCode(daParamCollection.getProductBarcode()); + daParamCollectionMapper.insertDaParamCollection(daParamCollection); + + DaParamCollectionTemp daParamCollectionTemp = new DaParamCollectionTemp(); + daParamCollectionTemp.setParamValue(tightenDataParts[i]); + daParamCollectionTemp.setParamCode(paramCodeParts[i]); + daParamCollectionTemp.setCollectionTime(new Date()); + daParamCollectionTemp.setSfcCode(daParamCollection.getProductBarcode()); + daParamCollectionTemp.setLocationCode(daParamCollection.getLocationCode()); + daParamCollectionTemp.setProductCode(daParamCollection.getProductCode()); + daParamCollectionTempService.save(daParamCollectionTemp); + } } } @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")){ + try { + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+daParamCollection.getLocationCode()+".RecordDataDone").value(22).build()); + } catch (Exception e) { + throw new RuntimeException(e); + } + return; + } + }else { + try { + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+daParamCollection.getLocationCode()+".RecordDataDone").value(22).build()); + } catch (Exception e) { + throw new RuntimeException(e); + } + return; + } BsFormulaChildInfo bsFormulaChildInfo = new BsFormulaChildInfo(); bsFormulaChildInfo.setProcessesCode(daParamCollection.getLocationCode()); bsFormulaChildInfo.setProductCode(daParamCollection.getProductCode()); @@ -192,15 +306,402 @@ //鏇存柊杩囩珯璁板綍琛ㄥ嚭绔欐椂闂� 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("OP."+daParamCollection.getLocationCode()+".RecordDataDone").value(21).build()); + miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+daParamCollection.getLocationCode()+".RecordDataDone").value(21).build()); + if(daParamCollection.getLocationCode().equals("OP240")){ + try{ + CompletableFuture<Void> cp1 = CompletableFuture.runAsync(() -> { + logger.info("OP230鎶ュ伐寮�濮�-宸ュ巶MES寮傛鏂规硶"); + String reportResult = RestfulService.getWorkReportResultFeedback(daParamCollection.getProductBarcode(), "OP230", format.format(new Date())); + if("".equals(reportResult)){ + //鎵ц鎶ュ伐澶辫触鏂规硶 + }else{ + //瑙f瀽宸ュ巶mes杩斿洖缁撴灉锛屽鏋滃け璐ワ紝鎵ц鎶ュ伐澶辫触鏂规硶锛屼慨鏀规槸鍚︽姤宸ヤ负2锛屾坊鍔犳姤宸ユ椂闂� + + //濡傛灉鎴愬姛锛屾墽琛屾姤宸ユ垚鍔熸柟娉曪紝淇敼鏄惁鎶ュ伐涓�1锛屾坊鍔犳姤宸ユ椂闂� + } + logger.info("OP230鎶ュ伐缁撴潫-宸ュ巶MES寮傛鏂规硶{}"+reportResult); + }); + }catch (Exception e){ + System.out.println(e.getMessage()); + } +// RestfulService.getWorkReportResultFeedback(daParamCollection.getProductBarcode(),"OP230",format.format(new Date())); + } + + } catch (Exception e) { throw new RuntimeException(e); } } } + + @Override + public void insertBatch(List<DaParamCollection> confList){ + try{ + this.saveBatch(confList); + }catch (Exception e){ + return; + } + + } + + @Override + public void replaceAssemblyCode(DaParamCollection daParamCollection) { + List<DaParamCollection> list = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>() + .eq(DaParamCollection::getSfcCode, daParamCollection.getYzSfcCode()) + ); + if(list.size() > 0){ + for (DaParamCollection paramCollection : list) { + paramCollection.setSfcCode(daParamCollection.getSfcCode()); + daParamCollectionService.saveOrUpdate(paramCollection); + } + } + + } + + @Override + public void yzAddBasicParameters(DaParamCollection daParamCollection) { + // 鍋囪杩欐槸浠庢暟鎹簱鎴栧叾浠栧湴鏂硅幏鍙栫殑鍙傛暟鏁版嵁 + Map<String, String> map = new HashMap<>(); +// map.put("GC", "鍗楁禂宸ュ巶"); +// map.put("CXBH", "Pack绾�"); +// map.put("SBBH", "璁惧001"); +// map.put("YGBH", "鍛樺伐001"); +// map.put("GDBH", daParamCollection.getWorkOrderNo()); +// map.put("CPXH", daParamCollection.getModel()); + map.put("INT", DateUtil.formatDateTime(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); + }); + } + + @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.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 + 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()); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + + public void sendToFactoryMes(String stationCode,String productNum ){ +// 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"; + ParentVO vo =new ParentVO(); + List<ChildVO> checkList = new ArrayList<>(); + List<DaParamCollection> list = this.list(new LambdaQueryWrapper<DaParamCollection>() + .eq(DaParamCollection::getSfcCode, productNum) + .eq(DaParamCollection::getLocationCode, stationCode)); + vo.setTotalResult("1"); + String string = new Random(10).toString(); + vo.setRecordId(string); + vo.setProductNum(productNum); + vo.setSiteCode("3983"); + vo.setStationCode(stationCode); + if (CollUtil.isNotEmpty(list)){ + List<DaParamCollection> collect = list.stream().filter(x -> Constants.NG.equals(x.getParamValue())).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(collect)){ + vo.setTotalResult("0"); + } + List<BsFormulaChildInfo> bsFormulaChildInfoList = bsFormulaChildInfoService.list(); + for (DaParamCollection daParamCollection : list) { + ChildVO childVO = new ChildVO(); + childVO.setItemCode(daParamCollection.getParamCode()); + String time = daParamCollection.getCollectionTime() != null ? daParamCollection.getCollectionTime().toString() : ""; + childVO.setCheckResult("1"); + if (StrUtil.isNotBlank(daParamCollection.getParamValue())){ + if (Constants.NG.equals(daParamCollection.getParamValue())){ + childVO.setCheckResult("0"); + } + } + childVO.setCheckTime(time); + childVO.setItemValue(daParamCollection.getParamValue()); + childVO.setItemType("3"); + childVO.setItemText(daParamCollection.getParamName()); + if (StrUtil.isNotBlank(daParamCollection.getParamCode())){ + List<BsFormulaChildInfo> collect1 = bsFormulaChildInfoList.stream().filter(x -> daParamCollection.getParamCode().equals(x.getParamCode())).collect(Collectors.toList()); + if (CollUtil.isNotEmpty(collect1)){ + BsFormulaChildInfo bsFormulaChildInfo = collect1.get(0); + childVO.setItemType(bsFormulaChildInfo.getOperationType()); + } + } + + checkList.add(childVO); + } + } + vo.setCheckList(checkList); + HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(vo)).execute(); + + } + + @Override + public void pushGeelycvMesFeedback(String packID, String stationCode) { + 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()); +// 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())); + 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()); + }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("寮�濮嬫墽琛屽紓姝ユ柟娉�"); + HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute(); + logger.info("寮傛鏂规硶鎵ц缁撴潫"); + logger.info("鎵嬪姩宸ヤ綅浼犲伐鍘侻ES寮傛鏂规硶{}"+execute.body()); + + DaParamCollectionTemp daParamCollectionTemp = new DaParamCollectionTemp(); + daParamCollectionTemp.setSfcCode(packID); + daParamCollectionTemp.setLocationCode(stationCode); + int i = daParamCollectionTempService.deleteDaParamCollectionTempBySfcCodeAndLocationCode(daParamCollectionTemp); + logger.info("鍒犻櫎涓存椂琛ㄦ暟鎹潯鏁皗}-宸ヤ綅{}-pack鐮亄}",i,stationCode,packID); +// 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鐮亄}",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); + } + + } + + @Override + public void automaticWorkstationPushGeelycvMesFeedback(String packID, String stationCode,List<DaParamCollection> paramList) { + logger.info("杩涘叆宸ヤ綅{}-宸ュ巶MES鎺ㄩ�佹暟鎹柟娉昦utomaticWorkstationPushGeelycvMesFeedback",stationCode); + 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"; + if(paramList.size() > 0){ + logger.info("杩涘叆宸ヤ綅{}-鎷兼暟鎹�",stationCode); + 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 (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())); + 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()); + }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); + logger.info("缁撴潫宸ヤ綅{}-鎷兼暟鎹�",stationCode); + logger.info("杩涘叆宸ヤ綅{}-宸ュ巶MES鎺ㄩ�佹暟鎹柟娉旽ttpResponseSend",stationCode); + 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("鑷姩宸ヤ綅浼犲伐鍘侻ES寮傛鏂规硶{}"+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); + } + + @Override + public AjaxResult checkRecordDataDone(DaParamCollection daParamCollection) { + String result = ""; + + + try { + List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>().eq(BsFormulaChildInfo::getSpareField4, "1").eq(BsFormulaChildInfo::getProcessesCode, daParamCollection.getLocationCode())); + if(list.size()>0){ + String results = list.get(0).getResults(); + if(results!= null && !results.equals("") && results.equals("OK")){ + result = "21"; + } + } + /*Object recordDataDone = miloService.readFromOpcUa("PACK" + "." + daParamCollection.getLocationCode() + ".RecordDataDone").getValue(); + if(ObjectUtil.isNotNull(recordDataDone)){ + result = recordDataDone.toString(); + }*/ + } catch (Exception e) { + throw new RuntimeException(e); + } + return AjaxResult.success(result); + } + + @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())); + } + } -- Gitblit v1.9.3