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/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java     |   69 +++++++++
 jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/service/impl/OmProductionOrdeInfoServiceImpl.java |    8 +
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java                    |    3 
 jcdm-ui/src/views/main/kb/stationTerminal/index.vue                                                       |   25 +++
 jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java        |   18 ++
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/impl/DaParamCollectionServiceImpl.java   |  125 +++++++++++++++++
 jcdm-ui/src/api/main/da/paramCollection/paramCollection.js                                                |    9 +
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java      |    9 +
 jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java           |    4 
 jcdm-ui/src/views/main/kb/heatingFilmTerminal/index.vue                                                   |   22 ++
 jcdm-ui/src/views/main/cfkb/Instructions/index.vue                                                        |   22 ++
 jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/IBsFormulaChildInfoService.java             |    4 
 jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js                                                      |   20 ++
 jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java    |   36 +++--
 jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java                                |   24 ++-
 15 files changed, 360 insertions(+), 38 deletions(-)

diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java
index 6a5a950..b33d274 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java
@@ -162,6 +162,24 @@
     }
 
     /**
+     * 鏀捐璇风┖鐘舵��
+     */
+    @GetMapping("/clearWorkpieceRelease")
+    public AjaxResult clearWorkpieceRelease(BsFormulaChildInfo bsFormulaChildInfo)
+    {
+        return bsFormulaChildInfoService.clearWorkpieceRelease(bsFormulaChildInfo);
+    }
+
+    /**
+     * 鏀捐璇风┖鐘舵��
+     */
+    @GetMapping("/jrmWorkpieceRelease")
+    public AjaxResult jrmWorkpieceRelease(BsFormulaChildInfo bsFormulaChildInfo)
+    {
+        return bsFormulaChildInfoService.jrmWorkpieceRelease(bsFormulaChildInfo);
+    }
+
+    /**
      * 鎷х揣鍚庢洿鏂板搴旀暟鎹�
      */
     @GetMapping("/updateTighteningFormula")
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/IBsFormulaChildInfoService.java b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/IBsFormulaChildInfoService.java
index 211569b..0bebc3e 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/IBsFormulaChildInfoService.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/IBsFormulaChildInfoService.java
@@ -81,4 +81,8 @@
     AjaxResult yzUpdateTighteningFormula(BsFormulaChildInfo bsFormulaChildInfo);
 
     AjaxResult jrmUpdateResults(BsFormulaChildInfo bsFormulaChildInfo);
+
+    AjaxResult jrmWorkpieceRelease(BsFormulaChildInfo bsFormulaChildInfo);
+
+    AjaxResult clearWorkpieceRelease(BsFormulaChildInfo bsFormulaChildInfo);
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java
index 2f3d4ae..8350814 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/service/impl/BsFormulaChildInfoServiceImpl.java
@@ -18,6 +18,8 @@
 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;
@@ -71,6 +73,9 @@
 
     @Autowired
     private IDaPassingStationCollectionService daPassingStationCollectionService;
+
+    @Autowired
+    private IDaParamCollectionTempService daParamCollectionTempService;
 
     Map<String, Session> map = WebSocketUsers.getUsers();
 
@@ -327,6 +332,47 @@
     }
 
     @Override
+    public AjaxResult jrmWorkpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) {
+        List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
+                .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode())
+                .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode()));
+        for (BsFormulaChildInfo info : list) {
+            info.setCollectData("");
+            info.setResults("");
+            bsFormulaChildInfoService.saveOrUpdate(info);
+        }
+        String[] split = bsFormulaChildInfo.getProductBarcode().split(",");
+        try {
+            for (int i = 0; i < split.length; i++) {
+                daParamCollectionService.pushGeelycvMesFeedback(split[i], bsFormulaChildInfo.getLocationCode());
+                String barCode = bsFormulaChildInfo.getProductBarcode();
+                String locationCode = bsFormulaChildInfo.getLocationCode();
+                DaPassingStationCollection passingStationCollectionOne = daPassingStationCollectionService.getOne(new LambdaQueryWrapper<DaPassingStationCollection>().eq(DaPassingStationCollection::getSfcCode, barCode).eq(DaPassingStationCollection::getLocationCode, locationCode));
+                if (passingStationCollectionOne != null) {
+                    passingStationCollectionOne.setOutRsSign("1");
+                    passingStationCollectionOne.setOutboundTime(new Date());
+                    daPassingStationCollectionService.saveOrUpdate(passingStationCollectionOne);
+                }
+            }
+        }catch (Exception e){
+        }
+        return AjaxResult.success();
+    }
+
+    @Override
+    public AjaxResult clearWorkpieceRelease(BsFormulaChildInfo bsFormulaChildInfo) {
+        List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
+                .eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getLocationCode())
+                .eq(BsFormulaChildInfo::getProductCode, bsFormulaChildInfo.getProductCode()));
+        for (BsFormulaChildInfo info : list) {
+            info.setCollectData("");
+            info.setResults("");
+            bsFormulaChildInfoService.saveOrUpdate(info);
+        }
+        return AjaxResult.success();
+    }
+
+    @Override
     public BsFormulaChildInfo releaseCheck(BsFormulaChildInfo bsFormulaChildInfo) {
         return bsFormulaChildInfoMapper.releaseCheck(bsFormulaChildInfo);
     }
@@ -391,6 +437,16 @@
         daParamCollection.setCollectionTime(new Date());
         daParamCollection.setSfcCode(bsFormulaChildInfo.getSfcBarcode());
         daParamCollectionMapper.insertDaParamCollection(daParamCollection);
+
+        DaParamCollectionTemp daParamCollectionTemp = new DaParamCollectionTemp();
+        daParamCollectionTemp.setParamCode(bsFormulaChildInfo.getParamCode());
+        daParamCollectionTemp.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo());
+        daParamCollectionTemp.setLocationCode(bsFormulaChildInfo.getLocationCode());
+        daParamCollectionTemp.setParamValue(bsFormulaChildInfo.getParamValue());
+        daParamCollectionTemp.setProductCode(bsFormulaChildInfo.getProductCode());
+        daParamCollectionTemp.setCollectionTime(new Date());
+        daParamCollectionTemp.setSfcCode(bsFormulaChildInfo.getSfcBarcode());
+        daParamCollectionTempService.save(daParamCollectionTemp);
     }
 
     public void jrmAddParameterCollection(BsFormulaChildInfo bsFormulaChildInfo){
@@ -413,6 +469,19 @@
             daParamCollectionMapper.insertDaParamCollection(daParamCollection);
 //        }
 
+            DaParamCollectionTemp daParamCollectionTemp = new DaParamCollectionTemp();
+            daParamCollectionTemp.setParamCode(bsFormulaChildInfo.getParamCode());
+            daParamCollectionTemp.setWorkOrderNo(bsFormulaChildInfo.getWorkOrderNo());
+            daParamCollectionTemp.setLocationCode(bsFormulaChildInfo.getLocationCode());
+            daParamCollectionTemp.setParamValue(bsFormulaChildInfo.getParamValue());
+            daParamCollectionTemp.setProductCode(bsFormulaChildInfo.getProductCode());
+            daParamCollectionTemp.setCollectionTime(new Date());
+            if(bsFormulaChildInfo.getParamCode().contains("B")){
+                daParamCollectionTemp.setSfcCode(modeleSplit[1]);
+            }else {
+                daParamCollectionTemp.setSfcCode(modeleSplit[0]);
+            }
+            daParamCollectionTempService.save(daParamCollectionTemp);
     }
 
     @Override
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java
index a600dff..73b2417 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/controller/DaParamCollectionController.java
@@ -151,6 +151,15 @@
     }
 
     /**
+     * 鏇存崲鎬绘垚鍙�
+     */
+    @PostMapping("/enterWeighing")
+    public void enterWeighing(@RequestBody DaParamCollection daParamCollection)
+    {
+        daParamCollectionService.enterWeighing(daParamCollection);
+    }
+
+    /**
      * 淇敼璁惧浜у搧杩囩▼鍙傛暟閲囬泦
      */
     @PreAuthorize("@ss.hasPermi('main:paramCollection:edit')")
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java
index 9c4a35a..6405e3d 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/domain/DaParamCollection.java
@@ -114,6 +114,9 @@
     @TableField(exist = false)
     private String yzSfcCode;
 
+    @TableField(exist = false)
+    private String weightValue;
+
     public String getTightenTheArray() {
         return tightenTheArray;
     }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java
index 919c4da..aea5023 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/da/paramCollection/service/IDaParamCollectionService.java
@@ -81,5 +81,9 @@
 
     void pushGeelycvMesFeedback(String packID,String stationCode);
 
+    void automaticWorkstationPushGeelycvMesFeedback(String packID,String stationCode,List<DaParamCollection> list);
+
     AjaxResult checkRecordDataDone(DaParamCollection daParamCollection);
+
+    void enterWeighing(DaParamCollection daParamCollection);
 }
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 dc72ecb..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
@@ -25,6 +25,8 @@
 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;
@@ -82,6 +84,9 @@
 
     @Autowired
     private IDaCollectionParamConfService daCollectionParamConfService;
+
+    @Autowired
+    private IDaParamCollectionTempService daParamCollectionTempService;
 
     public SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
@@ -224,6 +229,14 @@
                 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);
             }
         }
     }
@@ -444,7 +457,72 @@
 //        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));
+        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");
@@ -457,8 +535,10 @@
             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()));
+//                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")){
@@ -495,21 +575,54 @@
             System.out.println(execute.body());
             System.out.println("-----------------------"+totalResult);
         }
-
     }
 
     @Override
     public AjaxResult checkRecordDataDone(DaParamCollection daParamCollection) {
         String result = "";
+
+
         try {
-            Object recordDataDone = miloService.readFromOpcUa("PACK" + "." + daParamCollection.getLocationCode() + ".RecordDataDone").getValue();
+            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());
+    }
+
 }
diff --git a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java
index 65b724a..f645c2e 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/controller/OmProductionOrdeInfoController.java
@@ -17,7 +17,10 @@
 import com.jcdm.main.om.productionOrde.mapper.OmProductionOrdeInfoMapper;
 import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
 import com.jcdm.main.restful.factoryMes.service.RestfulService;
+import lombok.extern.slf4j.Slf4j;
 import org.aspectj.weaver.loadtime.Aj;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -42,10 +45,13 @@
  * @author ruimin
  * @date 2023-12-11
  */
+@Slf4j
 @RestController
 @RequestMapping("/om/productionOrde")
 public class OmProductionOrdeInfoController extends BaseController
 {
+    private static final Logger logger = LoggerFactory.getLogger("sys-user");
+
     @Autowired
     private IOmProductionOrdeInfoService omProductionOrdeInfoService;
 
@@ -122,24 +128,26 @@
         String code = jsonObject.getStr("code");
         // 鍒ゆ柇鎺ュ崟鏄惁鎴愬姛
         if(code.equals("success")){
-            OmProductionOrdeInfo omProductionOrdeInfo = new OmProductionOrdeInfo();
-            omProductionOrdeInfo.setWorkOrderNo(dataObject.getStr("productionOrderNum"));
-            omProductionOrdeInfo.setProductNum(dataObject.getStr("productNum"));
-            omProductionOrdeInfo.setStationCode(dataObject.getStr("stationCode"));
-            omProductionOrdeInfo.setMaterialCode(dataObject.getStr("materialCode"));
-            if(dataObject.getStr("model").equals("PE01A")){
-                omProductionOrdeInfo.setProductCode("1P102S");
-            }else {
-                omProductionOrdeInfo.setProductCode(dataObject.getStr("model"));
+            logger.info("璇锋眰宸ュ巶MES宸ュ崟锛氬叆鍙俻ack{}鍑哄弬pack锛歿}",paramProductNum,dataObject.getStr("productNum"));
+            List<OmProductionOrdeInfo> check = omProductionOrdeInfoService.list(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum,dataObject.getStr("productNum")));
+            if(check.size() == 0){
+                OmProductionOrdeInfo omProductionOrdeInfo = new OmProductionOrdeInfo();
+                omProductionOrdeInfo.setWorkOrderNo(dataObject.getStr("productionOrderNum"));
+                omProductionOrdeInfo.setProductNum(dataObject.getStr("productNum"));
+                omProductionOrdeInfo.setStationCode(dataObject.getStr("stationCode"));
+                omProductionOrdeInfo.setMaterialCode(dataObject.getStr("materialCode"));
+                if(dataObject.getStr("model").equals("PE01A")){
+                    omProductionOrdeInfo.setProductCode("1P102S");
+                }else {
+                    omProductionOrdeInfo.setProductCode(dataObject.getStr("model"));
+                }
+                omProductionOrdeInfo.setCreateTime(new Date());
+                omProductionOrdeInfo.setCreateUser("宸ュ巶MES");
+                omProductionOrdeInfoService.save(omProductionOrdeInfo);
             }
-            omProductionOrdeInfo.setCreateTime(new Date());
-            omProductionOrdeInfo.setCreateUser("宸ュ巶MES");
-
-            omProductionOrdeInfoService.save(omProductionOrdeInfo);
         }else {
             return AjaxResult.error("鎺ュ崟澶辫触,璇疯仈绯荤鐞嗗憳");
         }
-
         return AjaxResult.success(dataObject.getStr("productNum"));
     }
 
diff --git a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/service/impl/OmProductionOrdeInfoServiceImpl.java b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/service/impl/OmProductionOrdeInfoServiceImpl.java
index b8b1408..fcd563a 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/service/impl/OmProductionOrdeInfoServiceImpl.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/om/productionOrde/service/impl/OmProductionOrdeInfoServiceImpl.java
@@ -12,6 +12,9 @@
 import com.jcdm.main.om.productionOrde.mapper.OmProductionOrdeInfoMapper;
 import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
 import com.jcdm.main.restful.factoryMes.service.RestfulService;
+import lombok.extern.slf4j.Slf4j;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -21,9 +24,12 @@
  * @author ruimin
  * @date 2023-12-11
  */
+@Slf4j
 @Service
 public class OmProductionOrdeInfoServiceImpl extends ServiceImpl<OmProductionOrdeInfoMapper,OmProductionOrdeInfo> implements IOmProductionOrdeInfoService
 {
+    private static final Logger logger = LoggerFactory.getLogger("sys-user");
+
     @Autowired
     private OmProductionOrdeInfoMapper omProductionOrdeInfoMapper;
 
@@ -163,6 +169,8 @@
         OmProductionOrdeInfo one = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>().eq(OmProductionOrdeInfo::getProductNum, omProductionOrdeInfo.getProductNum()));
         one.setTrolleyYard(omProductionOrdeInfo.getTrolleyYard());
         omProductionOrdeInfoService.saveOrUpdate(one);
+        logger.info("缁戝畾pack鐮亄}鍒板皬杞︼細{}",omProductionOrdeInfo.getProductNum(),omProductionOrdeInfo.getTrolleyYard());
+
         return AjaxResult.success();
     }
 
diff --git a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
index 3e8cebc..dca43ce 100644
--- a/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
+++ b/jcdm-main/src/main/java/com/jcdm/main/plcserver/sub/OPCUaSubscription.java
@@ -24,6 +24,8 @@
 import com.jcdm.main.plcserver.conf.OPCElement;
 import com.jcdm.main.plcserver.util.TimeUtil;
 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.runner.subscription.SubscriptionCallback;
 import com.kangaroohy.milo.service.MiloService;
@@ -35,6 +37,7 @@
 
 import javax.websocket.Session;
 import java.text.SimpleDateFormat;
+import java.time.Instant;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -313,7 +316,7 @@
 
                     saveStationInfo(snCode,thoroughfare,device,workOrderNo,productCode);
                     //3銆佷繚瀛樺弬鏁伴噰闆嗘暟鎹�
-                    SaveParamData(snCode,thoroughfare,device,workOrderNo,productCode);
+                    List<DaParamCollection> daParamCollectionList = SaveParamData(snCode,thoroughfare,device,workOrderNo,productCode);
 
                     //濡傛灉鏄湯灏惧伐绔欒鎶ュ伐
                     if(device.equals("OP500")){
@@ -322,7 +325,7 @@
                         updateOrderInfo(snCode);
                     }
                     try{
-                        daParamCollectionService.pushGeelycvMesFeedback(snCode,device);
+                        daParamCollectionService.automaticWorkstationPushGeelycvMesFeedback(snCode,device,daParamCollectionList);
                     }catch (Exception e){
                     }
                     result = "21";
@@ -391,11 +394,12 @@
         daPassingStationCollectionService.insertDaPassingStationCollection(daPassingStationCollection);
     }
 
-    public static void SaveParamData(String packCode,String thoroughfare,String device,String workOrderNo,String productType) throws Exception {
+    public static List<DaParamCollection> SaveParamData(String packCode,String thoroughfare,String device,String workOrderNo,String productType) throws Exception {
         List<DaCollectionParamConf> list;
         DaCollectionParamConf daCollectionParamConf = new DaCollectionParamConf();
         daCollectionParamConf.setGatherAddress(thoroughfare+ "." + device);
         list = collectionParamConfService.selectDaCollectionParamConfList(daCollectionParamConf);
+        List<DaParamCollection> daParamCollectionlist = new ArrayList<>();
 
         List<String> nodeIdList = list.stream().map(info -> {
             String nodeid = info.getGatherAddress();
@@ -409,11 +413,12 @@
                     readWriteEntityList.get(i).setValue(" ");
                 }
             }
-            List<DaParamCollection> daParamCollectionlist = new ArrayList<>();
+
             for(int i=0;i<nodeIdList.size();i++){
                 if(!readWriteEntityList.get(i).getValue().toString().equals("0.0")){
                     String tt = readWriteEntityList.get(i).getValue().toString();
                     DaParamCollection ParamCollection = new DaParamCollection();
+                    ChildVO childVO = new ChildVO();
                     ParamCollection.setParamCode(list.get(i).getCollectParameterId());
                     ParamCollection.setLocationCode(device);
                     if(tt.contains("Time")){
@@ -445,12 +450,16 @@
                 }
             }
             daParamCollectionService.saveBeachDaParamCollection(daParamCollectionlist);
-        }
-        addBaseData(workOrderNo,productType,device,packCode);
 
+        }
+        List<DaParamCollection> baseDataList = addBaseData(workOrderNo,productType,device,packCode);
+        for (int i = 0; i < baseDataList.size(); i++){
+            daParamCollectionlist.add(baseDataList.get(i));
+        }
+        return daParamCollectionlist;
     }
 
-    public static void addBaseData(String workOrderNo,String productCode,String locationCode,String packCode){
+    public static List<DaParamCollection> addBaseData(String workOrderNo,String productCode,String locationCode,String packCode){
         Map<String, String> map = new HashMap<>();
         map.put("GC", "鍗楁禂宸ュ巶");
         map.put("CXBH", "Pack绾�");
@@ -473,6 +482,7 @@
             confList.add(saveData);
         });
         daParamCollectionService.insertBatch(confList);
+        return confList;
     }
 
     public static void getFactoryOrder(String locationCode){
diff --git a/jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js b/jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js
index 26ae74b..1d5ad78 100644
--- a/jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js
+++ b/jcdm-ui/src/api/main/bs/formulaChild/formulaChild.js
@@ -67,6 +67,26 @@
 }
 
 // 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭垪琛�
+export function jrmWorkpieceRelease(query) {
+  return request({
+    url: '/bs/formulaChild/jrmWorkpieceRelease',
+    method: 'get',
+    params: query
+
+  })
+}
+
+// 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭垪琛�
+export function clearWorkpieceRelease(query) {
+  return request({
+    url: '/bs/formulaChild/clearWorkpieceRelease',
+    method: 'get',
+    params: query
+
+  })
+}
+
+// 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭垪琛�
 export function workpieceRelease(query) {
   return request({
     url: '/bs/formulaChild/workpieceRelease',
diff --git a/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js b/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js
index 68bf467..b259fca 100644
--- a/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js
+++ b/jcdm-ui/src/api/main/da/paramCollection/paramCollection.js
@@ -45,6 +45,15 @@
 }
 
 // 绾胯竟鎬绘垚鎹㈡�绘垚鐮�
+export function enterWeighing(data) {
+  return request({
+    url: '/main/paramCollection/enterWeighing',
+    method: 'post',
+    data: data
+  })
+}
+
+// 绾胯竟鎬绘垚鎹㈡�绘垚鐮�
 export function replaceAssemblyCode(data) {
   return request({
     url: '/main/paramCollection/replaceAssemblyCode',
diff --git a/jcdm-ui/src/views/main/cfkb/Instructions/index.vue b/jcdm-ui/src/views/main/cfkb/Instructions/index.vue
index deb759a..392992f 100644
--- a/jcdm-ui/src/views/main/cfkb/Instructions/index.vue
+++ b/jcdm-ui/src/views/main/cfkb/Instructions/index.vue
@@ -23,7 +23,7 @@
 
     </el-row>
     <el-row :gutter="5" style="margin-top: 5px">
-      <el-col :span="24">
+      <el-col :span="12">
         <el-tabs type="border-card"  style="height: 600px" v-model="activeName" @tab-click="changeMenu">
           <el-tab-pane name="first">
             <span slot="label"> <a class="el-icon-date"></a>棣栭〉</span>
@@ -60,6 +60,10 @@
             </el-col>
           </el-tab-pane>
         </el-tabs>
+      </el-col>
+      <el-col :span="12">
+        <el-input v-model="weightValue" placeholder="璇疯緭鍏ョО閲嶆暟鎹�"></el-input>
+        <el-button @click="enterWeighing">褰曞叆</el-button>
       </el-col>
     </el-row>
     <el-dialog v-dialogpop-up :title="title" :visible.sync="open1" width="1000" append-to-body>
@@ -213,7 +217,7 @@
 import USBDevice from "@/utils/usb.json";
 import {addPassingStationCollection} from "@/api/main/da/passingStationCollection/passingStationCollection";
 import {
-  addTighteningParameters,
+  addTighteningParameters, enterWeighing,
   replaceAssemblyCode,
   saveCampaignTimeParameters,
   yzAddBasicParameters,
@@ -224,6 +228,7 @@
   name: "stationTerminal",
   data() {
     return {
+      weightValue: '',
       showInput: true,
       serialPortContent: '',
       // 鏌ヨ鍙傛暟
@@ -338,6 +343,19 @@
     },
   },
   methods: {
+    enterWeighing(){
+      if(this.headContent.sfcCode ==='' || this.weightValue === '' ){
+        this.$message.error('鍙傛暟涓嶅叏锛�');
+      }else {
+        let param = {
+          sfcCode: this.headContent.sfcCode,
+          weightValue: this.weightValue,
+        }
+        enterWeighing(param).then(response => {
+          this.$message('褰曞叆瀹屾垚锛�');
+        });
+      }
+    },
     serialLink() {
       this.open1 = true
     },
diff --git a/jcdm-ui/src/views/main/kb/heatingFilmTerminal/index.vue b/jcdm-ui/src/views/main/kb/heatingFilmTerminal/index.vue
index 2eddd7a..0bec12d 100644
--- a/jcdm-ui/src/views/main/kb/heatingFilmTerminal/index.vue
+++ b/jcdm-ui/src/views/main/kb/heatingFilmTerminal/index.vue
@@ -245,7 +245,7 @@
 import {listWorkReport} from "@/api/main/om/workReport/workReport";
 import {listStationConf,getIpv4} from "@/api/main/sc/stationConf";
 import {
-  jrmUpdateResults,
+  jrmUpdateResults, jrmWorkpieceRelease,
   listFormulaChild,
   noPageListFormulaChild,
   releaseCheck,
@@ -518,8 +518,19 @@
       console.log(tab, event);
     },
     clearClick(){
-      this.$message('杩欐槸涓�鏉℃竻闄ゆ秷鎭彁绀�');
-      this.headContent.sfcCode = null
+      const param = {
+        workOrderNo: this.workpieceInformation.workOrderNo,
+        productCode: "1P102S",
+        locationCode: this.headContent.processesCode,
+        productBarcode: this.headContent.moduleA+','+this.headContent.moduleB,
+      }
+      jrmSaveCampaignTimeParameters(param).then(response => {});
+      this.cakeLamp.release = 1;
+      this.endClear()
+      // workpieceRelease(param).then(response => {});
+      jrmWorkpieceRelease(param).then(response => {});
+      // this.$message('杩欐槸涓�鏉℃竻闄ゆ秷鎭彁绀�');
+      // this.headContent.sfcCode = null
     },
     scanCompleted(){
       this.$message('鎵爜瀹屾垚'+this.content);
@@ -609,12 +620,13 @@
             workOrderNo: self.workpieceInformation.workOrderNo,
             productCode: "1P102S",
             locationCode: self.headContent.processesCode,
-            productBarcode: self.headContent.sfcCode,
+            productBarcode: self.headContent.moduleA+','+self.headContent.moduleB,
           }
           jrmSaveCampaignTimeParameters(param).then(response => {});
           self.cakeLamp.release = 1;
           self.endClear()
-          workpieceRelease(param).then(response => {});
+          // workpieceRelease(param).then(response => {});
+          jrmWorkpieceRelease(param).then(response => {});
         } else if (event.data.includes("[")) {
           let formulaChilds = "";
           self.formulaChildList.sort((a, b) => a.stepSort - b.stepSort);
diff --git a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
index acc3d9b..ab5af44 100644
--- a/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
+++ b/jcdm-ui/src/views/main/kb/stationTerminal/index.vue
@@ -109,9 +109,12 @@
            <span slot="label"> <a class="el-icon-date"></a>棣栭〉</span>
            <el-col :span="24">
              <el-table height="500" :cell-style="rowStyle" :data="formulaChildList">
-               <el-table-column label="鎺掑簭" width="60" align="center" type="index">
+<!--               <el-table-column label="鎺掑簭" width="60" align="center" type="index">-->
+<!--               </el-table-column>-->
+               <el-table-column label="鎷х揣姝ュ彿" align="center" prop="stepSort">
                </el-table-column>
-               <el-table-column label="鎿嶄綔鍐呭" :show-overflow-tooltip='true' align="center" prop="operationSteps">
+<!--               <el-table-column label="鎿嶄綔鍐呭" :show-overflow-tooltip='true' align="center" prop="operationSteps">-->
+               <el-table-column label="鎿嶄綔鍐呭" align="center" prop="operationSteps">
                </el-table-column>
                <el-table-column label="浜у搧缂栧彿" align="center" prop="productCode">
                </el-table-column>
@@ -121,6 +124,7 @@
                </el-table-column>
                <el-table-column label="缁撴灉" align="center" prop="results">
                </el-table-column>
+
              </el-table>
            </el-col>
 <!--           <el-col :span="14">-->
@@ -297,6 +301,7 @@
 import {listWorkReport} from "@/api/main/om/workReport/workReport";
 import {listStationConf,getIpv4} from "@/api/main/sc/stationConf";
 import {
+  clearWorkpieceRelease,
   fistSetpNumber,
   listFormulaChild,
   noPageListFormulaChild,
@@ -561,8 +566,16 @@
       console.log(tab, event);
     },
     clearClick(){
-      this.$message('杩欐槸涓�鏉℃竻闄ゆ秷鎭彁绀�');
-      this.headContent.sfcCode = null
+      const param = {
+        workOrderNo: this.workpieceInformation.workOrderNo,
+        productCode: this.workpieceInformation.productCode,
+        locationCode: this.headContent.processesCode,
+        productBarcode: this.headContent.sfcCode,
+      }
+      this.endClear()
+      clearWorkpieceRelease(param).then(response => {});
+      this.headContent.sfcCode = ''
+      this.$message('娓呮鎴愬姛锛�');
     },
     scanCompleted(){
       this.$message('鎵爜瀹屾垚'+this.content);
@@ -591,6 +604,10 @@
       this.addOverStationCollection()
     },
 
+    addBaseData(){
+      addBasicParameters(this.passingStationForm).then(response => {});
+    },
+
     /** 鍏ョ珯澧炲姞杩囩珯閲囬泦璁板綍 **/
     addOverStationCollection(){
       this.passingStationForm = {

--
Gitblit v1.9.3