From f1ec60de737efb5108c177e1618573be2a53f51f Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 21 十一月 2023 10:04:30 +0800
Subject: [PATCH] 签审

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderReportController.java |  152 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 134 insertions(+), 18 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderReportController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderReportController.java
index 7297000..0e1e02e 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderReportController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/CalibrationOrderReportController.java
@@ -5,32 +5,33 @@
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.dto.message.MessageDTO;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.system.base.entity.SysUpload;
 import org.jeecg.common.system.base.entity.SysUploadRela;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.StrUtils;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.eam.entity.CalibrationOrder;
-import org.jeecg.modules.eam.entity.CalibrationOrderReport;
-import org.jeecg.modules.eam.entity.Equipment;
-import org.jeecg.modules.eam.entity.EquipmentDocument;
-import org.jeecg.modules.eam.service.ICalibrationOrderReportService;
+import org.jeecg.modules.eam.entity.*;
+import org.jeecg.modules.eam.service.*;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
 
-import org.jeecg.modules.eam.service.ICalibrationOrderService;
-import org.jeecg.modules.eam.service.IEamEquipmentService;
+import org.jeecg.modules.system.entity.*;
+import org.jeecg.modules.system.service.*;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -69,6 +70,26 @@
 
     @Autowired
     private IEamEquipmentService eamEquipmentService;
+
+    @Autowired
+    private IDailyInspectionStandardService dailyInspectionStandardService;
+
+    @Autowired
+    private IInspectionOrderService inspectionOrderService;
+
+    @Autowired
+    private IDailyMaintenanceOrderService dailyMaintenanceOrderService;
+
+    @Resource
+    private ISysRoleService sysRoleService;
+    @Resource
+    private ISysDictService sysDictService;
+    @Resource
+    private ISysDictItemService sysDictItemService;
+    @Resource
+    private ISysUserRoleService sysUserRoleService;
+    @Resource
+    private ISysUserService sysUserService;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -134,21 +155,116 @@
         // 鏇存柊涓昏〃涓哄凡瀹屾垚
         CalibrationOrder calibrationOrder = calibrationOrderService.getById(calibrationOrderReport.getCalibrationOrderId());
         // status 宸插畬鎴�
-        calibrationOrder.setStatus("4");
-        calibrationOrder.setCalibrationResult(calibrationOrderReport.getJudgmentResult());
-        calibrationOrder.setCalibrationTime(new Date());
+        calibrationOrder.setStatus("2");
+//        calibrationOrder.setCalibrationResult(calibrationOrderReport.getJudgmentResult());
+//        calibrationOrder.setCalibrationTime(new Date());
         calibrationOrderService.updateById(calibrationOrder);
-        // 鏇存柊璁惧鎶�鏈姸鎬�
-        Equipment equipment = eamEquipmentService.getById(calibrationOrder.getEquipmentId());
-
-        if (StringUtils.isNotBlank(equipment.getId())) {
-            equipment.setTechnologyStatus(calibrationOrderReport.getJudgmentResult());
-            eamEquipmentService.updateById(equipment);
-        }
-
+//        // 鏇存柊璁惧鎶�鏈姸鎬�
+//        Equipment equipment = eamEquipmentService.getById(calibrationOrder.getEquipmentId());
+//
+//        if (StringUtils.isNotBlank(equipment.getId())) {
+//            equipment.setTechnologyStatus(calibrationOrderReport.getJudgmentResult());
+//            eamEquipmentService.updateById(equipment);
+//        }
         return Result.ok("涓婁紶鎴愬姛!");
     }
 
+    /**
+     * 鏍规嵁妫�瀹氱粨鏋�  淇敼璁惧鎶�鏈姸鎬�
+     * @return
+     */
+//    @PostMapping(value = "/editEquipmentTechnologyStatus")
+    @RequestMapping(value = "/editEquipmentTechnologyStatus", method = {RequestMethod.PUT,RequestMethod.POST})
+    @Transactional(rollbackFor = {Exception.class})
+    public Result<?> editEquipmentTechnologyStatus(@RequestBody CalibrationOrderReport calibrationOrderReport){
+        String status = calibrationOrderReport.getStatus();
+        CalibrationOrder calibrationOrder = calibrationOrderService.getById(calibrationOrderReport.getId());
+        if("3".equals(status)){//3:宸查┏鍥�
+            calibrationOrder.setStatus("3");
+            calibrationOrder.setRemark(calibrationOrderReport.getRemark());
+            calibrationOrder.setCalibrationResult(calibrationOrderReport.getJudgmentResult());
+            calibrationOrderService.updateById(calibrationOrder);
+            return Result.ok("椹冲洖鎴愬姛!");
+        }else{
+            calibrationOrder.setStatus("4");
+            calibrationOrder.setRemark(calibrationOrderReport.getRemark());
+            calibrationOrder.setCalibrationResult(calibrationOrderReport.getJudgmentResult());
+            calibrationOrder.setCalibrationTime(new Date());
+            calibrationOrderService.updateById(calibrationOrder);
+            // 鏇存柊璁惧鎶�鏈姸鎬�
+            Equipment equipment = eamEquipmentService.getById(calibrationOrder.getEquipmentId());
+
+            if (StringUtils.isNotBlank(equipment.getId())) {
+                equipment.setTechnologyStatus(calibrationOrderReport.getJudgmentResult());
+                eamEquipmentService.updateById(equipment);
+
+                this.equipmentTechnologyStatuAlart(equipment.getNum());
+            }
+            String judgmentResult = calibrationOrderReport.getJudgmentResult();
+            if("disabledScrapping".equals(judgmentResult)){
+                this.cancleAllOrder(equipment.getId());
+            }
+            return Result.ok("璁惧鎶�鏈姸鎬佷慨鏀瑰畬鎴�!");
+        }
+    }
+
+    void equipmentTechnologyStatuAlart(String equipmentNum){
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false);
+        SysDictItem sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>().eq("item_text","杩愪繚璁惧绠$悊鍛�")
+                .eq("dict_id",sysDict.getId()),false);
+        String roleCode = sysDictItem.getItemValue();
+        SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().eq("role_code",roleCode),false);
+        List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("role_id",sysRole.getId()));
+        for(SysUserRole sysUserRole:sysUserRoles){
+            SysUser user = sysUserService.getById(sysUserRole.getUserId());
+            String msg = sysUser.getRealname()+"灏嗙粺涓�缂栧彿涓恒��"+equipmentNum+"銆戠殑鎶�鏈姸鎬佷慨鏀逛负宸茬鐢�";
+            MessageDTO messageDTO = new MessageDTO();
+            messageDTO.setTitle("璁惧鍙拌处鎶�鏈姸鎬佷慨鏀�");
+            messageDTO.setContent(msg);
+            messageDTO.setCategory("杩愪繚璁惧绠$悊鍛�");
+            messageDTO.setFromUser("璁惧鍙拌处鎶�鏈姸鎬佷慨鏀规彁閱掑皬鍔╂墜");
+            messageDTO.setToUser(user.getUsername());
+            sysBaseApi.sendSysAnnouncement(messageDTO);
+        }
+    }
+
+    void cancleAllOrder(String equipmentId){
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        //濡傛灉鎶�鏈姸鎬侀壌瀹� 涓虹鐢紙宸叉彁浜ゆ姤搴燂級 鐘舵�� 瀵瑰簲褰撳墠鐐规鏍囧噯澶辨晥锛屾敼涓虹粺涓�鐨勭偣妫�鏍囧噯(寰愰潤鎻愪緵)锛屽師鐐规宸ュ崟銆佷簩淇濆伐鍗曘�佷笁淇濆伐鍗曞叏閮ㄥ彇娑堬紝
+        List<DailyInspectionStandard> dailyInspectionStandards = dailyInspectionStandardService.lambdaQuery()
+                .eq(DailyInspectionStandard::getVersionStatus, "2")
+                .eq(DailyInspectionStandard::getEquipmentId, equipmentId)
+                .eq(DailyInspectionStandard::getDelFlag, "0").list();
+        for (DailyInspectionStandard dailyInspectionStandard : dailyInspectionStandards) {
+            dailyInspectionStandard.setVersionStatus("3");
+            dailyInspectionStandard.setLoseEfficacyPerson(sysUser.getRealname());
+            dailyInspectionStandard.setLoseEfficacyTime(new Date());
+            dailyInspectionStandardService.updateById(dailyInspectionStandard);
+        }
+
+        List<InspectionOrder> inspectionOrders = inspectionOrderService.lambdaQuery()
+                .eq(InspectionOrder::getStatus, "1")
+                .eq(InspectionOrder::getEquipmentId, equipmentId)
+                .eq(InspectionOrder::getDelFlag, "0").list();
+        for (InspectionOrder inspectionOrder : inspectionOrders) {
+            inspectionOrder.setStatus("7");
+            inspectionOrderService.updateById(inspectionOrder);
+        }
+
+        List<DailyMaintenanceOrder> dailyMaintenanceOrders = dailyMaintenanceOrderService.lambdaQuery()
+                .eq(DailyMaintenanceOrder::getStatus, "1")
+                .eq(DailyMaintenanceOrder::getEquipmentId, equipmentId)
+                .eq(DailyMaintenanceOrder::getDelFlag, "0").list();
+        for (DailyMaintenanceOrder dailyMaintenanceOrder : dailyMaintenanceOrders) {
+            dailyMaintenanceOrder.setStatus("7");
+            dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder);
+        }
+
+    }
+
+
+
     @PostMapping(value = "/edit")
     @Transactional(rollbackFor = {Exception.class})
     public Result<?> edit(MultipartHttpServletRequest request, HttpServletResponse response) throws Exception {

--
Gitblit v1.9.3