| | |
| | | |
| | | 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.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.da.passingStationCollection.mapper.DaPassingStationCollectionMapper; |
| | | import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService; |
| | | 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; |
| | |
| | | |
| | | @Autowired |
| | | private IDaCollectionParamConfService daCollectionParamConfService; |
| | | |
| | | public SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | |
| | | /** |
| | | * 查询设备产品过程参数采集 |
| | |
| | | |
| | | @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); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | .eq(BsFormulaChildInfo::getProcessesCode, daParamCollection.getLocationCode()) |
| | | .eq(BsFormulaChildInfo::getSpareField4, "1") |
| | | ); |
| | | if(!list.get(0).getResults().equals("OK")){ |
| | | 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) { |
| | |
| | | |
| | | //给opc发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())); |
| | | } |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | |
| | | //给opc发21 |
| | | try { |
| | | // miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+daParamCollection.getLocationCode()+".RecordDataDone").value(21).build()); |
| | | String strA = daParamCollection.getLocationCode() + "A"; |
| | | String strB = daParamCollection.getLocationCode() + "B"; |
| | | String strA = daParamCollection.getLocationCode(); |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+strA+".RecordDataDone").value(21).build()); |
| | | miloService.writeToOpcShort(ReadWriteEntity.builder().identifier("PACK."+strB+".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-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>() |
| | |
| | | @Override |
| | | public void pushGeelycvMesFeedback(String packID, String 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-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<DaParamCollection> paramList = daParamCollectionService.list(new LambdaQueryWrapper<DaParamCollection>().eq(DaParamCollection::getSfcCode, packID).eq(DaParamCollection::getLocationCode, stationCode)); |
| | | if(paramList.size() > 0){ |
| | |
| | | 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())); |
| | | 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(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()); |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public AjaxResult checkRecordDataDone(DaParamCollection daParamCollection) { |
| | | String result = ""; |
| | | try { |
| | | 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); |
| | | } |
| | | |
| | | } |