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/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java |  301 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 287 insertions(+), 14 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 b32ca5d..92bc866 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,34 +1,53 @@
 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.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 org.apache.ibatis.session.ExecutorType;
 import org.apache.ibatis.session.SqlSession;
 import org.apache.ibatis.session.SqlSessionFactory;
 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.stream.Collectors;
 
 /**
  * 璁惧浜у搧杩囩▼鍙傛暟閲囬泦Service涓氬姟灞傚鐞�
@@ -62,6 +81,14 @@
 
     @Autowired
     private IDaParamCollectionService daParamCollectionService;
+
+    @Autowired
+    private IDaCollectionParamConfService daCollectionParamConfService;
+
+    @Autowired
+    private IDaParamCollectionTempService daParamCollectionTempService;
+
+    public SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
     /**
      * 鏌ヨ璁惧浜у搧杩囩▼鍙傛暟閲囬泦
@@ -190,17 +217,27 @@
 
     @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());
+                daParamCollectionTempService.save(daParamCollectionTemp);
+            }
         }
     }
 
@@ -210,7 +247,16 @@
                 .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) {
@@ -254,6 +300,9 @@
 
                 //缁檕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()));
+                }
             } catch (Exception e) {
                 throw new RuntimeException(e);
             }
@@ -344,12 +393,236 @@
         //缁檕pc鍙�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-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) {
+        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);
+            HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
+            List<Long> idsList = paramList.stream().map(DaParamCollectionTemp::getId).collect(Collectors.toList());
+            Long[] array = idsList.toArray(new Long[0]);
+            daParamCollectionTempService.deleteDaParamCollectionTempByIds(array);
+            System.out.println(execute.body());
+            System.out.println("-----------------------"+totalResult);
+        }
+
+    }
+
+    @Override
+    public void automaticWorkstationPushGeelycvMesFeedback(String packID, String stationCode,List<DaParamCollection> paramList) {
+        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){
+            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);
+            HttpResponse execute = HttpRequest.post(url).body(JSONUtil.toJsonStr(parentVO)).execute();
+            System.out.println(execute.body());
+            System.out.println("-----------------------"+totalResult);
+        }
+    }
+
+    @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();
+        RestfulService.getWorkReportResultFeedback(daParamCollection.getSfcCode(),"OP500",format.format(new Date()));
+        System.out.println(execute.body());
+    }
+
 }

--
Gitblit v1.9.3