From ed48aa9f30a87c528f071d06bf6b59d7d15428e9 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期一, 26 五月 2025 16:12:55 +0800
Subject: [PATCH] 点检报表后端

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterServiceImpl.java |   62 ++++++++++++++++++++++++-------
 1 files changed, 48 insertions(+), 14 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterServiceImpl.java
index 00c9b6a..c927c54 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/PredictiveWorkPlanParameterServiceImpl.java
@@ -1,15 +1,11 @@
 package org.jeecg.modules.eam.service.impl;
 
-import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
+import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.annotations.ApiModelProperty;
-import org.jeecg.common.constant.CommonConstant;
-import org.jeecg.common.system.base.entity.JeecgEntity;
-import org.jeecg.common.util.DateUtils;
+import org.jeecg.common.util.UUIDGenerator;
 import org.jeecg.modules.eam.entity.PredictiveWorkOrder;
 import org.jeecg.modules.eam.entity.PredictiveWorkPlan;
 import org.jeecg.modules.eam.entity.PredictiveWorkPlanParameter;
@@ -20,12 +16,9 @@
 import org.jeecg.modules.eam.service.IPredictiveWorkPlanParameterHistoryService;
 import org.jeecg.modules.eam.service.IPredictiveWorkPlanParameterService;
 import org.jeecg.modules.eam.service.IPredictiveWorkPlanService;
-import org.jeecgframework.poi.excel.annotation.Excel;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.format.annotation.DateTimeFormat;
 import org.springframework.stereotype.Service;
 
-import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -86,24 +79,51 @@
             }
             if (needCreateFlag) {
                 //鐢熸垚宸ュ崟 ,灏嗗弬鏁颁俊鎭浠�
-                this.createOrder(predictiveWorkPlan.getId(), predictiveWorkPlan.getEquipmentId());
-                this.backInfo(predictiveWorkPlan.getId(), predictiveWorkPlanParameterList);
+                PredictiveWorkOrder predictiveWorkOrder = this.createOrder(predictiveWorkPlan.getId(), predictiveWorkPlan.getEquipmentId());
+                if (predictiveWorkOrder != null) {
+                    this.backInfo(predictiveWorkPlan.getId(), predictiveWorkOrder.getId(), predictiveWorkPlanParameterList);
+                }
+
             }
         }
     }
 
-    private void createOrder(String workPlanId, String equipmentId) {
+    @Override
+    public void removeByWorkPlanId(String predictiveWorkPlanId) {
+        LambdaUpdateChainWrapper<PredictiveWorkPlanParameter> lambdaUpdate = this.lambdaUpdate();
+        lambdaUpdate.eq(PredictiveWorkPlanParameter::getWorkPlanId, predictiveWorkPlanId);
+        lambdaUpdate.remove();
+    }
+
+    @Override
+    public void revise(String oldWorkPlanId, String workPlanId) {
+        LambdaQueryChainWrapper<PredictiveWorkPlanParameter> lambdaQuery = this.lambdaQuery();
+        lambdaQuery.eq(PredictiveWorkPlanParameter::getWorkPlanId, oldWorkPlanId).eq(PredictiveWorkPlanParameter::getDelFlag, 0);
+        List<PredictiveWorkPlanParameter> insertList = lambdaQuery.list();
+        for (PredictiveWorkPlanParameter predictiveWorkPlanParameter : insertList) {
+            predictiveWorkPlanParameter.setWorkPlanId(workPlanId);
+            predictiveWorkPlanParameter.setId(UUIDGenerator.generate());
+        }
+        this.saveBatch(insertList);
+    }
+
+    private PredictiveWorkOrder createOrder(String workPlanId, String equipmentId) {
         PredictiveWorkOrder predictiveWorkOrder = new PredictiveWorkOrder();
         predictiveWorkOrder.setWorkPlanId(workPlanId);
         predictiveWorkOrder.setEquipmentId(equipmentId);
+        //TODO 寰呴獙璇�
         predictiveWorkOrderService.add(predictiveWorkOrder);
+        return predictiveWorkOrder;
     }
 
-    private void backInfo(String workPlanId, List<PredictiveWorkPlanParameter> predictiveWorkPlanParameterList) {
+    private void backInfo(String workPlanId, String workOrderId, List<PredictiveWorkPlanParameter> predictiveWorkPlanParameterList) {
         List<PredictiveWorkPlanParameterHistory> list = new ArrayList<>();
         for (PredictiveWorkPlanParameter predictiveWorkPlanParameter : predictiveWorkPlanParameterList) {
             PredictiveWorkPlanParameterHistory predictiveWorkPlanParameterHistory = new PredictiveWorkPlanParameterHistory();
             predictiveWorkPlanParameterHistory.setWorkPlanId(workPlanId);
+            //TODO 鍔犲睘鎬orkOrderId
+            predictiveWorkPlanParameterHistory.setWorkOrderId(workOrderId);
+            predictiveWorkPlanParameterHistory.setParameterUnit(predictiveWorkPlanParameter.getParameterUnit());
             predictiveWorkPlanParameterHistory.setParameterId(predictiveWorkPlanParameter.getParameterId());
             predictiveWorkPlanParameterHistory.setParameterCode(predictiveWorkPlanParameter.getParameterCode());
             predictiveWorkPlanParameterHistory.setParameterName(predictiveWorkPlanParameter.getParameterName());
@@ -130,7 +150,21 @@
     }
 
     private ParameterVo findParameterInfo(String saveTableName, float lowerLimitValue, float upperLimitValue, String parameterCode) {
-        return this.getBaseMapper().findParameterInfo(saveTableName, lowerLimitValue, upperLimitValue, parameterCode);
+//        String temp = "[" + saveTableName + "]";
+//        return this.getBaseMapper().findParameterInfo(temp, lowerLimitValue, upperLimitValue, parameterCode);
+        Integer lowerLimitValueInt = (int) lowerLimitValue;
+        Integer upperLimitValueInt = (int)upperLimitValue;
+        String sql = "SELECT TOP 1 " +
+                "            t1.CollectTime collectTime, " +
+                "            t1." + parameterCode + " actualValue " +
+                "        FROM " +
+                "            [" + saveTableName + "] t1 " +
+                "        WHERE " +
+                "            t1." + parameterCode + " <  " + lowerLimitValueInt +
+                "           OR t1." + parameterCode + " > " + upperLimitValueInt +
+                "        ORDER BY " +
+                "            t1.CollectTime DESC";
+        return this.getBaseMapper().findCommonParameterInfo(sql);
     }
 
     private List<PredictiveWorkPlanParameter> listParameter(String predictiveWorkPlanId) {

--
Gitblit v1.9.3