From 6d313a4a6f9f9d7ea65ec50ab0d4491e595edb97 Mon Sep 17 00:00:00 2001
From: admin <15939171744@163.com>
Date: 星期二, 15 十月 2024 09:47:26 +0800
Subject: [PATCH] -打印bug修改

---
 jcdm-main/src/main/java/com/jcdm/main/bs/formulaChild/controller/BsFormulaChildInfoController.java |  199 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 195 insertions(+), 4 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 4b05d80..6e78dfb 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
@@ -1,9 +1,21 @@
 package com.jcdm.main.bs.formulaChild.controller;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 import javax.servlet.http.HttpServletResponse;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.jcdm.main.bs.formulaChildInfoTemp.domain.BsFormulaChildInfoTemp;
+import com.jcdm.main.bs.formulaChildInfoTemp.service.IBsFormulaChildInfoTempService;
+import com.jcdm.main.constant.Constants;
+import com.jcdm.main.om.productionOrde.domain.OmProductionOrdeInfo;
+import com.jcdm.main.om.productionOrde.service.IOmProductionOrdeInfoService;
+import com.kangaroohy.milo.model.ReadWriteEntity;
+import com.kangaroohy.milo.service.MiloService;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -36,19 +48,143 @@
     @Autowired
     private IBsFormulaChildInfoService bsFormulaChildInfoService;
 
+    @Autowired
+    private IOmProductionOrdeInfoService omProductionOrdeInfoService;
+
+    @Autowired
+    private MiloService miloService;
+
+    @Autowired
+    private IBsFormulaChildInfoTempService bsFormulaChildInfoTempService;
+
+    /**
+     * 鎵爜纭
+     */
+    @GetMapping("/inPlaceInspection")
+    public AjaxResult inPlaceInspection(BsFormulaChildInfo bsFormulaChildInfo)
+    {
+        Integer recordDataDone = 0;
+        try {
+            Object orderNumberObject = miloService.readFromOpcUa("PACK."+bsFormulaChildInfo.getProcessesCode()+".RecordDataDone").getValue();
+            if(ObjectUtil.isNotEmpty(orderNumberObject)){
+                if(Integer.valueOf(orderNumberObject.toString()) == 11){
+                    recordDataDone = 1;
+                }
+            }
+
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        return AjaxResult.success(recordDataDone);
+    }
+
+    /**
+     * 鎵爜纭
+     */
+    @GetMapping("/unfinishedProcess")
+    public AjaxResult unfinishedProcess(BsFormulaChildInfo bsFormulaChildInfo)
+    {
+        try {
+            String str = "PACK."+bsFormulaChildInfo.getProcessesCode()+".RecordDataDone";
+            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(str).value(bsFormulaChildInfo.getRecordDataDone()).build());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        return AjaxResult.success();
+    }
+
+    @GetMapping("/manualNgOffline")
+    public AjaxResult manualNgOffline(BsFormulaChildInfo bsFormulaChildInfo)
+    {
+        Integer stepNumber = 31;
+        try {
+            logger.info("鎵嬪姩涓嬬嚎锛屽啓鍏rtificialNgSignal涓猴細{}",stepNumber);
+            String str = "PACK."+bsFormulaChildInfo.getLocationCode()+".ArtificialNgSignal";
+            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(str).value(stepNumber).build());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        OmProductionOrdeInfo one = omProductionOrdeInfoService.getOne(new LambdaQueryWrapper<OmProductionOrdeInfo>()
+                .eq(OmProductionOrdeInfo::getProductNum, bsFormulaChildInfo.getSfcBarcode())
+        );
+        one.setArtificialNgFlag("1");
+        omProductionOrdeInfoService.saveOrUpdate(one);
+        return AjaxResult.success(stepNumber);
+    }
+
+    /**
+     * 鎵爜纭
+     */
+    @GetMapping("/fistSetpNumber")
+    public AjaxResult fistSetpNumber(BsFormulaChildInfo bsFormulaChildInfo)
+    {
+        Integer stepNumber = 1;
+        try {
+            List<BsFormulaChildInfo> op260 = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>().eq(BsFormulaChildInfo::getProcessesCode, bsFormulaChildInfo.getProcessesCode()));
+            List<BsFormulaChildInfo> filteredList = op260.stream()
+                    .filter(obj -> obj.getResults() != null && !obj.getResults().isEmpty())
+                    .collect(Collectors.toList());
+            if(filteredList.size() > 0){
+                if("1".equals(bsFormulaChildInfo.getArtificialNgFlag())){
+                    stepNumber = Integer.valueOf(filteredList.get(filteredList.size()-1).getStepSort());
+                }else {
+                    stepNumber = Integer.valueOf(filteredList.get(filteredList.size()-1).getStepSort())+1;
+                }
+            }
+
+            String str = "PACK."+bsFormulaChildInfo.getProcessesCode()+".MStepNumber";
+            miloService.writeToOpcShort(ReadWriteEntity.builder().identifier(str).value(stepNumber).build());
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+        return AjaxResult.success(stepNumber);
+    }
+
     /**
      * 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭垪琛�
      */
     @GetMapping("/noPageListFormulaChild")
     public TableDataInfo noPageListFormulaChild(BsFormulaChildInfo bsFormulaChildInfo)
     {
+        if("1".equals(bsFormulaChildInfo.getArtificialNgFlag())){
+            List<BsFormulaChildInfoTemp> tempList = bsFormulaChildInfoTempService.list(new LambdaQueryWrapper<BsFormulaChildInfoTemp>()
+                    .eq(BsFormulaChildInfoTemp::getProcessesCode, bsFormulaChildInfo.getProcessesCode())
+                    .eq(BsFormulaChildInfoTemp::getProductCode, bsFormulaChildInfo.getProductCode())
+                    .eq(BsFormulaChildInfoTemp::getSfcCode, bsFormulaChildInfo.getSfcBarcode()));
+
+            List<Long> ids = new ArrayList<>();
+            for (int i = 0; i < tempList.size(); i++) {
+                BsFormulaChildInfoTemp childInfoTemp = tempList.get(i);
+                LambdaUpdateWrapper <BsFormulaChildInfo> updateWrapper = new LambdaUpdateWrapper<>();
+                updateWrapper.set( BsFormulaChildInfo::getResults, childInfoTemp.getResults());
+                updateWrapper.set( BsFormulaChildInfo::getCollectData, childInfoTemp.getCollectData());
+                updateWrapper.eq( BsFormulaChildInfo::getId, childInfoTemp.getChildId());
+                bsFormulaChildInfoService.update(new BsFormulaChildInfo(),updateWrapper);
+
+                if(i == tempList.size()-1){
+                    LambdaUpdateWrapper<OmProductionOrdeInfo> orderInfoUpdateWrapper = new LambdaUpdateWrapper<>();
+                    orderInfoUpdateWrapper.set(OmProductionOrdeInfo::getArtificialNgFlag, "");
+                    orderInfoUpdateWrapper.eq(OmProductionOrdeInfo::getProductNum, childInfoTemp.getSfcCode());
+                    boolean update = omProductionOrdeInfoService.update(new OmProductionOrdeInfo(), orderInfoUpdateWrapper);
+                }
+
+                ids.add(childInfoTemp.getId());
+            }
+            bsFormulaChildInfoTempService.removeByIds(ids);
+        }
+
         List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
                 .eq(BsFormulaChildInfo::getProductCode,bsFormulaChildInfo.getProductCode())
-                .eq(BsFormulaChildInfo::getProcessesCode,bsFormulaChildInfo.getProcessesCode()));
+                .eq(BsFormulaChildInfo::getProcessesCode,bsFormulaChildInfo.getProcessesCode())
+        );
+        if (CollUtil.isNotEmpty(list)){
+            List<BsFormulaChildInfo> collect1 = list.stream().filter(x -> Constants.OK.equals(x.getResults())).collect(Collectors.toList());
+            List<BsFormulaChildInfo> collect2 = list.stream().filter(x -> !Constants.OK.equals(x.getResults())).collect(Collectors.toList());
+            list = collect1;
+            list.addAll(collect2);
+        }
+
         for (BsFormulaChildInfo formulaChildInfo : list) {
-//            formulaChildInfo.setSort(formulaChildInfo.getStepSort());
-//            formulaChildInfo.setAddress(formulaChildInfo.getTechRequirement());
-//            formulaChildInfo.setImg(formulaChildInfo.getOperationSteps());
             if(formulaChildInfo.getCollectData()!=null&& !"".equals(formulaChildInfo.getCollectData())){
                 if(formulaChildInfo.getCollectData().contains("[")){
                     String data = formulaChildInfo.getCollectData();
@@ -58,8 +194,36 @@
                 }
             }
         }
+
         return getDataTable(list);
     }
+
+//    @GetMapping("/noPageListFormulaChild")
+//    public TableDataInfo noPageListFormulaChild(BsFormulaChildInfo bsFormulaChildInfo)
+//    {
+//
+//        List<BsFormulaChildInfo> list = bsFormulaChildInfoService.list(new LambdaQueryWrapper<BsFormulaChildInfo>()
+//                        .eq(BsFormulaChildInfo::getProductCode,bsFormulaChildInfo.getProductCode())
+//                        .eq(BsFormulaChildInfo::getProcessesCode,bsFormulaChildInfo.getProcessesCode())
+//        );
+//        if (CollUtil.isNotEmpty(list)){
+//            List<BsFormulaChildInfo> collect1 = list.stream().filter(x -> Constants.OK.equals(x.getResults())).collect(Collectors.toList());
+//            List<BsFormulaChildInfo> collect2 = list.stream().filter(x -> !Constants.OK.equals(x.getResults())).collect(Collectors.toList());
+//            list = collect1;
+//            list.addAll(collect2);
+//        }
+//        for (BsFormulaChildInfo formulaChildInfo : list) {
+//            if(formulaChildInfo.getCollectData()!=null&& !"".equals(formulaChildInfo.getCollectData())){
+//                if(formulaChildInfo.getCollectData().contains("[")){
+//                    String data = formulaChildInfo.getCollectData();
+//                    data = data.replace("[", "").replace("]", "").replace(" ", "");
+//                    String[] tightenDataParts = data.split(",");
+//                    formulaChildInfo.setCollectData("鎵煩"+tightenDataParts[0]+"瑙掑害"+tightenDataParts[1]+"鎵煩缁撴灉"+tightenDataParts[2]+"瑙掑害缁撴灉"+tightenDataParts[3]);
+//                }
+//            }
+//        }
+//        return getDataTable(list);
+//    }
 
     /**
      * 鏌ヨ閰嶆柟閰嶇疆瀛愪俊鎭垪琛�
@@ -133,6 +297,33 @@
     }
 
     /**
+     * 鏀捐璇风┖鐘舵��
+     */
+    @GetMapping("/checkMaterialCode")
+    public AjaxResult checkMaterialCode(BsFormulaChildInfo bsFormulaChildInfo)
+    {
+        return bsFormulaChildInfoService.checkMaterialCode(bsFormulaChildInfo);
+    }
+
+    /**
+     * 鏀捐璇风┖鐘舵��
+     */
+    @GetMapping("/clearWorkpieceRelease")
+    public AjaxResult clearWorkpieceRelease(BsFormulaChildInfo bsFormulaChildInfo)
+    {
+        return bsFormulaChildInfoService.clearWorkpieceRelease(bsFormulaChildInfo);
+    }
+
+    /**
+     * 鏀捐璇风┖鐘舵��
+     */
+    @GetMapping("/jrmWorkpieceRelease")
+    public AjaxResult jrmWorkpieceRelease(BsFormulaChildInfo bsFormulaChildInfo)
+    {
+        return bsFormulaChildInfoService.jrmWorkpieceRelease(bsFormulaChildInfo);
+    }
+
+    /**
      * 鎷х揣鍚庢洿鏂板搴旀暟鎹�
      */
     @GetMapping("/updateTighteningFormula")

--
Gitblit v1.9.3