From 5706372636fb594320db25d2e2aab8b94e3ef294 Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期四, 14 九月 2023 18:11:15 +0800
Subject: [PATCH] 预测性维护工单

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkOrderController.java |  173 +++++++++++++++++++++++++++++++++------------------------
 1 files changed, 100 insertions(+), 73 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkOrderController.java
index dae24cf..0e81472 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PredictiveWorkOrderController.java
@@ -2,6 +2,8 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -12,14 +14,13 @@
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.eam.entity.Equipment;
-import org.jeecg.modules.eam.entity.MaintenanceOrderActualWorkingHour;
-import org.jeecg.modules.eam.entity.PredictiveWorkOrder;
-import org.jeecg.modules.eam.entity.SpecialtyMaintenanceOrder;
+import org.jeecg.modules.eam.entity.*;
+import org.jeecg.modules.eam.service.IMaintenanceOrderActualMaterialService;
 import org.jeecg.modules.eam.service.IMaintenanceOrderActualWorkingHourService;
 import org.jeecg.modules.eam.service.IPredictiveWorkOrderService;
 import org.jeecg.modules.eam.service.ISpecialtyMaintenanceOrderService;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
@@ -28,6 +29,7 @@
 import java.math.BigDecimal;
 import java.util.Arrays;
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 @RestController
@@ -40,6 +42,9 @@
 
     @Autowired
     private IMaintenanceOrderActualWorkingHourService maintenanceOrderActualWorkingHourService;
+
+    @Autowired
+    private IMaintenanceOrderActualMaterialService maintenanceOrderActualMaterialService;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -77,12 +82,12 @@
         return Result.ok(specialtyMaintenanceOrderList);
     }
 
-    /**
-     * 娣诲姞
-     *
-     * @param specialtyMaintenanceOrder
-     * @return
-     */
+//    /**
+//     * 娣诲姞
+//     *
+//     * @param specialtyMaintenanceOrder
+//     * @return
+//     */
 //    @AutoLog(value = "mom_eam_specialty_maintenance_order-娣诲姞")
 //    @ApiOperation(value = "mom_eam_specialty_maintenance_order-娣诲姞", notes = "mom_eam_specialty_maintenance_order-娣诲姞")
 //    //@RequiresPermissions("org.jeecg.modules:mom_eam_specialty_maintenance_order:add")
@@ -114,60 +119,82 @@
 //    }
 //
 //
-//    @RequestMapping(value = "/editStatus", method = {RequestMethod.PUT, RequestMethod.POST})
-//    public Result<String> editStatus(@RequestBody SpecialtyMaintenanceOrder specialtyMaintenanceOrder) {
-//        specialtyMaintenanceOrder.setActualStartTime(new Date());
-//        boolean b = specialtyMaintenanceOrderService.updateById(specialtyMaintenanceOrder);
-//        if (b) {
-//            return Result.OK("涓嬪彂鎴愬姛!");
-//        } else {
-//            return Result.error("涓嬪彂澶辫触!");
-//        }
-//    }
-//
-//    @RequestMapping(value = "/report", method = {RequestMethod.PUT, RequestMethod.POST})
-//    public Result<String> report(@RequestBody SpecialtyMaintenanceOrder specialtyMaintenanceOrder) {
-//        specialtyMaintenanceOrder.setActualEndTime(new Date());
-//        boolean b = specialtyMaintenanceOrderService.updateById(specialtyMaintenanceOrder);
-//        if (!b) {
-//            return Result.error("鎶ュ伐澶辫触!");
-//        } else {
-//            return Result.ok("鎶ュ伐鎴愬姛!");
-//        }
-//    }
-//
-//    @RequestMapping(value = "/revocation", method = {RequestMethod.PUT, RequestMethod.POST})
-//    public Result<String> revocation(@RequestBody SpecialtyMaintenanceOrder specialtyMaintenanceOrder) {
-//        String id = specialtyMaintenanceOrder.getId();
-//        SpecialtyMaintenanceOrder maintenanceOrder = specialtyMaintenanceOrderService.getById(id);
-//        String status = maintenanceOrder.getStatus();
-//        if ("5".equals(status)) {
-//            maintenanceOrder.setActualEndTime(null);
-//            boolean b = specialtyMaintenanceOrderService.updateById(specialtyMaintenanceOrder);
-//            if (b) {
-//                return Result.OK("鎾ら攢鎴愬姛!");
-//            } else {
-//                return Result.error("鎾ら攢澶辫触!");
-//            }
-//        } else {
-//            return Result.error("浠呴檺宸插畬宸ョ姸鎬佹挙閿�瀹屾垚鎿嶄綔!");
-//        }
-//    }
-//
-//    @RequestMapping(value = "/orderGet", method = {RequestMethod.PUT, RequestMethod.POST})
-//    public Result<String> orderGet(@RequestBody SpecialtyMaintenanceOrder specialtyMaintenanceOrder) {
-//        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-//        String userId = sysUser.getId();
-//        specialtyMaintenanceOrder.setRecipientUserId(userId);
-//        specialtyMaintenanceOrder.setMaintenanceUserId(userId);
-//        specialtyMaintenanceOrder.setStatus("3");
-//        boolean b = specialtyMaintenanceOrderService.updateById(specialtyMaintenanceOrder);
-//        if (b) {
-//            return Result.OK("棰嗗彇鎴愬姛!");
-//        } else {
-//            return Result.error("棰嗗彇澶辫触!");
-//        }
-//    }
+    @RequestMapping(value = "/editStatus", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> editStatus(@RequestBody PredictiveWorkOrder predictiveWorkOrder) {
+        predictiveWorkOrder.setActualStartTime(new Date());
+        boolean b = predictiveWorkOrderService.updateById(predictiveWorkOrder);
+        if (b) {
+            return Result.OK("鎿嶄綔鎴愬姛!");
+        } else {
+            return Result.error("鎿嶄綔澶辫触!");
+        }
+    }
+
+    @RequestMapping(value = "/report", method = {RequestMethod.PUT, RequestMethod.POST})
+    @Transactional(rollbackFor = {Exception.class})
+    public Result<String> report(@RequestBody PredictiveWorkOrder predictiveWorkOrder) {
+        List<MaintenanceOrderActualMaterial> actualMaterialList = maintenanceOrderActualMaterialService
+                .list(new QueryWrapper<MaintenanceOrderActualMaterial>()
+                        .eq("maintenance_order_id",predictiveWorkOrder.getId())
+                        .eq("del_flag",0));
+        for(MaintenanceOrderActualMaterial maintenanceOrderActualMaterial:actualMaterialList){
+            if(maintenanceOrderActualMaterial.getIsLock().equals("no")){
+                throw new RuntimeException("  銆愬疄闄呯墿鏂欍�戝皻鏈攣鏂欙紝璇峰厛閿佹枡");
+            }
+        }
+        List<MaintenanceOrderActualWorkingHour> actualWorkingHours = maintenanceOrderActualWorkingHourService
+                .list(new QueryWrapper<MaintenanceOrderActualWorkingHour>()
+                .eq("maintenance_order_id",predictiveWorkOrder.getId())
+                .eq("del_flag",0));
+        for(MaintenanceOrderActualWorkingHour actualWorkingHour:actualWorkingHours){
+            if(ObjectUtils.isNull(actualWorkingHour.getActualWorkingHourQuota())){
+                throw new RuntimeException("銆愬疄闄呭伐鏃躲�戝瓨鍦ㄦ湭濉啓鐨勫伐鏃�,璇峰厛濉啓");
+            }
+            if(StringUtils.isBlank(actualWorkingHour.getUserId())){
+                throw new RuntimeException("銆愬疄闄呭伐鏃躲�戝瓨鍦ㄦ湭濉啓鐨勪汉鍛�,璇峰厛濉啓");
+            }
+        }
+        predictiveWorkOrder.setActualEndTime(new Date());
+        boolean b = predictiveWorkOrderService.updateById(predictiveWorkOrder);
+        if (!b) {
+            return Result.error("鎶ュ伐澶辫触!");
+        } else {
+            return Result.ok("鎶ュ伐鎴愬姛!");
+        }
+    }
+
+    @RequestMapping(value = "/revocation", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> revocation(@RequestBody PredictiveWorkOrder predictiveWorkOrder) {
+        String id = predictiveWorkOrder.getId();
+        PredictiveWorkOrder predictiveWorkOrder1 = predictiveWorkOrderService.getById(id);
+        String status = predictiveWorkOrder1.getStatus();
+        if ("5".equals(status)) {
+            predictiveWorkOrder1.setActualEndTime(null);
+            boolean b = predictiveWorkOrderService.updateById(predictiveWorkOrder);
+            if (b) {
+                return Result.OK("鎾ら攢鎴愬姛!");
+            } else {
+                return Result.error("鎾ら攢澶辫触!");
+            }
+        } else {
+            return Result.error("浠呴檺宸插畬宸ョ姸鎬佽繘琛屾挙閿�鎿嶄綔!");
+        }
+    }
+
+    @RequestMapping(value = "/orderGet", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> orderGet(@RequestBody PredictiveWorkOrder predictiveWorkOrder) {
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = sysUser.getId();
+        predictiveWorkOrder.setRecipientUserId(userId);
+        predictiveWorkOrder.setMaintenanceUserId(userId);
+        predictiveWorkOrder.setStatus("3");
+        boolean b = predictiveWorkOrderService.updateById(predictiveWorkOrder);
+        if (b) {
+            return Result.OK("棰嗗彇鎴愬姛!");
+        } else {
+            return Result.error("棰嗗彇澶辫触!");
+        }
+    }
 //
 //    /**
 //     * 閫氳繃id鍒犻櫎
@@ -241,15 +268,15 @@
 //        return super.importExcel(request, response, SpecialtyMaintenanceOrder.class);
 //    }
 //
-//    @RequestMapping(value = "/assign", method = {RequestMethod.PUT, RequestMethod.POST})
-//    public Result<String> assign(@RequestBody SpecialtyMaintenanceOrder specialtyMaintenanceOrder) {
-//        boolean b = specialtyMaintenanceOrderService.assign(specialtyMaintenanceOrder);
-//        if (b) {
-//            return Result.OK("鏀规淳鎴愬姛!");
-//        } else {
-//            return Result.error("鏀规淳澶辫触!");
-//        }
-//    }
+    @RequestMapping(value = "/assign", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> assign(@RequestBody PredictiveWorkOrder predictiveWorkOrder) {
+        boolean b = predictiveWorkOrderService.assign(predictiveWorkOrder);
+        if (b) {
+            return Result.OK("鏀规淳鎴愬姛!");
+        } else {
+            return Result.error("鏀规淳澶辫触!");
+        }
+    }
 
 
 }

--
Gitblit v1.9.3