From 29d74c2b0706143e550524153857737975eb88a0 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期五, 01 九月 2023 20:28:23 +0800
Subject: [PATCH] 审批完成

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java |   98 ++++++++++++++++++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml      |    3 
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml               |  130 ++++++++++++++++---------------
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java               |    6 +
 4 files changed, 172 insertions(+), 65 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java
index 0b7d503..d6914d6 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/DailyMaintenanceOrderController.java
@@ -37,6 +37,8 @@
 import lombok.extern.slf4j.Slf4j;
 
 
+import org.jeecg.modules.system.entity.SysUser;
+import org.jeecg.modules.system.service.ISysUserService;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -84,6 +86,12 @@
     @Autowired
     private IMaintenanceOrderActualWorkingHourService maintenanceOrderActualWorkingHourService;
 
+    @Autowired
+    private IFinishTransferOrderService finishTransferOrderService;
+
+    @Autowired
+    private ISysUserService sysUserService;
+
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -114,6 +122,7 @@
         List<Map<String, Object>> records = dailyMaintenanceOrderList.getRecords();
         for (Map<String, Object> record : records) {
             String id = (String) record.get("id");
+            String equipmentId = (String) record.get("equipmentId");
             String maintenanceStandardId = (String) record.get("maintenanceStandardId");
             List<MaintenanceCycleVo> maintenanceCycles = dailyMaintenanceOrderService.getMaintenanceCycleByStandardId(maintenanceStandardId);
             record.put("maintenanceCycles", maintenanceCycles);
@@ -151,6 +160,34 @@
                 actualQuantity = (BigDecimal) map.get("actualQuantity");
             }
             record.put("actualWorkingHourQuota", actualQuantity);
+
+            List<FinishTransferOrder> finishTransferOrders = finishTransferOrderService.lambdaQuery()
+                    .eq(FinishTransferOrder::getMaintenanceOrderId, id)
+                    .eq(FinishTransferOrder::getEquipmentId, equipmentId).list();
+            for (FinishTransferOrder finishTransferOrder : finishTransferOrders) {
+                String operateUser = finishTransferOrder.getOperateUser();
+                if(StringUtils.isNotBlank(operateUser)){
+                    SysUser sysUser = sysUserService.getById(operateUser);
+                    record.put("operateUserName", sysUser.getRealname());
+                }
+                String repairUser = finishTransferOrder.getRepairUser();
+                if(StringUtils.isNotBlank(repairUser)){
+                    SysUser sysUser = sysUserService.getById(repairUser);
+                    record.put("repairUserName", sysUser.getRealname());
+                }
+                String repairDirectorUser = finishTransferOrder.getRepairDirectorUser();
+                if(StringUtils.isNotBlank(repairDirectorUser)){
+                    SysUser sysUser = sysUserService.getById(repairDirectorUser);
+                    record.put("repairDirectorUserName", sysUser.getRealname());
+                }
+                String equipmentInspectorUser = finishTransferOrder.getEquipmentInspectorUser();
+                if(StringUtils.isNotBlank(equipmentInspectorUser)){
+                    SysUser sysUser = sysUserService.getById(equipmentInspectorUser);
+                    record.put("equipmentInspectorUserName", sysUser.getRealname());
+                }
+
+            }
+
         }
         return Result.ok(dailyMaintenanceOrderList);
     }
@@ -179,7 +216,9 @@
         } else if ("day".equals(unit)) {
             date = DateUtils.getDayAfter(planStartTime, effectiveTime);
         }
-        dailyMaintenanceOrder.setPlanEndTime(date);
+        dailyMaintenanceOrder.setPlanEndTime(date);//鍒涘缓绫诲瀷锛�1鎵嬪姩鍒涘缓锛�2鑷姩鍒涘缓锛�
+        dailyMaintenanceOrder.setCreateType("1");//鍒涘缓绫诲瀷锛�1鎵嬪姩鍒涘缓锛�2鑷姩鍒涘缓锛�
+        dailyMaintenanceOrder.setConfirmStatus("0");//绉讳氦纭鐘舵�侊紙0鏈‘璁わ紝1涓讳换纭锛�2妫�楠屽憳纭锛�
         dailyMaintenanceOrderService.save(dailyMaintenanceOrder);
         List<DailyMaintenanceOrderDetail> dailyMaintenanceOrderDetails = dailyMaintenanceOrder.getDailyMaintenanceOrderDetails();
         for (DailyMaintenanceOrderDetail dailyMaintenanceOrderDetail : dailyMaintenanceOrderDetails) {
@@ -400,6 +439,14 @@
         if ("5".equals(status)) {
             maintenanceOrder.setActualEndTime(null);
             boolean b = dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder);
+
+            List<FinishTransferOrder> finishTransferOrders = finishTransferOrderService.lambdaQuery()
+                    .eq(FinishTransferOrder::getMaintenanceOrderId, id)
+                    .eq(FinishTransferOrder::getEquipmentId, maintenanceOrder.getEquipmentId()).list();
+            for (FinishTransferOrder finishTransferOrder : finishTransferOrders) {
+                finishTransferOrderService.removeById(finishTransferOrder);
+            }
+
             if (b) {
                 return Result.OK("鎾ら攢鎴愬姛!");
             } else {
@@ -429,6 +476,18 @@
         dailyMaintenanceOrder.setMaintenanceUserId(userId);
         dailyMaintenanceOrder.setActualEndTime(new Date());
         boolean b = dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder);
+
+        String id = dailyMaintenanceOrder.getId();
+        DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(id);
+        FinishTransferOrder finishTransferOrder = new FinishTransferOrder();
+        finishTransferOrder.setEquipmentId(maintenanceOrder.getEquipmentId());
+        finishTransferOrder.setMaintenanceOrderId(maintenanceOrder.getId());
+        finishTransferOrder.setOperateUser(userId);
+        finishTransferOrder.setRepairUser(userId);
+        finishTransferOrder.setStatus("1");
+        finishTransferOrder.setDelFlag(0);
+        finishTransferOrderService.save(finishTransferOrder);
+
         if (!b) {
             return Result.error("鎶ュ伐澶辫触!");
         } else {
@@ -446,4 +505,41 @@
         return Result.ok(sysDeparts);
     }
 
+    /**
+     * 瀹℃壒
+     */
+    @RequestMapping(value = "/approve", method = {RequestMethod.PUT, RequestMethod.POST})
+    public Result<String> approve(@RequestBody DailyMaintenanceOrder dailyMaintenanceOrder) {
+        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        String userId = sysUser.getId();
+
+        String orderId = dailyMaintenanceOrder.getId();
+        DailyMaintenanceOrder maintenanceOrder = dailyMaintenanceOrderService.getById(orderId);
+        String equipmentId = maintenanceOrder.getEquipmentId();
+        String confirmStatus = maintenanceOrder.getConfirmStatus();
+
+        List<FinishTransferOrder> finishTransferOrders = finishTransferOrderService.lambdaQuery()
+                .eq(FinishTransferOrder::getMaintenanceOrderId, orderId)
+                .eq(FinishTransferOrder::getEquipmentId, equipmentId).list();
+       if(finishTransferOrders.size()>0){
+           FinishTransferOrder finishTransferOrder = finishTransferOrders.get(0);
+           if ("0".equals(confirmStatus)){
+               finishTransferOrder.setRepairDirectorUser(userId);
+               finishTransferOrderService.updateById(finishTransferOrder);
+
+               maintenanceOrder.setConfirmStatus("1");
+               dailyMaintenanceOrderService.updateById(maintenanceOrder);
+           }else{
+               finishTransferOrder.setEquipmentInspectorUser(userId);
+               finishTransferOrderService.updateById(finishTransferOrder);
+
+               maintenanceOrder.setConfirmStatus("2");
+               maintenanceOrder.setStatus("8");
+               dailyMaintenanceOrderService.updateById(maintenanceOrder);
+           }
+       }
+
+        return Result.OK("瀹℃壒鎴愬姛!");
+    }
+
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java
index 7844292..6a538ef 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/DailyMaintenanceOrder.java
@@ -117,6 +117,12 @@
     @ApiModelProperty(value = "澶囨敞")
     private String remark;
 
+    @ApiModelProperty(value = "绉讳氦纭鐘舵�侊紙0鏈‘璁わ紝1涓讳换纭锛�2妫�楠屽憳纭锛�")
+    private String confirmStatus;
+
+    @ApiModelProperty(value = "闂鍙婄浉搴斿鐞嗘帾鏂芥弿杩�")
+    private String description;
+
     @TableField(exist = false)
     private List<DailyMaintenanceOrderDetail> dailyMaintenanceOrderDetails;
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml
index 09ae195..c4e078c 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/DailyMaintenanceOrderMapper.xml
@@ -69,7 +69,8 @@
             t9.item_text as assignModeName,
             t1.create_by as createBy,
             t1.create_time as createTime,
-            t1.remark
+            t1.remark,
+            t1.description
         FROM
             mom_eam_daily_maintenance_order t1
         LEFT JOIN mom_eam_maintenance_standard t2 ON t1.maintenance_standard_id = t2.id
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
index 75c128d..6b7de40 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamEquipmentMapper.xml
@@ -3,42 +3,44 @@
 <mapper namespace="org.jeecg.modules.eam.mapper.EamEquipmentMapper">
 
     <select id="getResumeUseRecordList"  parameterType="Map" resultType="Map">
-        SELECT DISTINCT
-            t1.id,
-            t1.num,
-            '璁惧璋冨叆' AS 'type',
-            t1.create_time AS createTime,
-            t1.create_by AS createBy
-        FROM
-            mom_eam_equipment_transfer t1
-        left join mom_eam_equipment_transfer_in_detail t2 on t1.id = t2.equipment_transfer_id
-        where t1.del_flag = '0' and t2.del_flag = '0' and t2.equipment_id = #{params.equipmentId}
+        select * from (
+            SELECT DISTINCT
+                t1.id,
+                t1.num,
+                '璁惧璋冨叆' AS 'type',
+                t1.create_time AS createTime,
+                t1.create_by AS createBy
+            FROM
+                mom_eam_equipment_transfer t1
+            left join mom_eam_equipment_transfer_in_detail t2 on t1.id = t2.equipment_transfer_id
+            where t1.del_flag = '0' and t2.del_flag = '0' and t2.equipment_id = #{params.equipmentId}
 
-        UNION
+            UNION
 
-        SELECT DISTINCT
-            t1.id,
-            t1.num,
-            '璁惧璋冨嚭' AS 'type',
-            t1.create_time AS createTime,
-            t1.create_by AS createBy
-        FROM
-            mom_eam_equipment_transfer t1
-        left join mom_eam_equipment_transfer_out_detail t2 on t1.id = t2.equipment_transfer_id
-        where t1.del_flag = '0' and t2.del_flag = '0' and t2.equipment_id = #{params.equipmentId}
+            SELECT DISTINCT
+                t1.id,
+                t1.num,
+                '璁惧璋冨嚭' AS 'type',
+                t1.create_time AS createTime,
+                t1.create_by AS createBy
+            FROM
+                mom_eam_equipment_transfer t1
+            left join mom_eam_equipment_transfer_out_detail t2 on t1.id = t2.equipment_transfer_id
+            where t1.del_flag = '0' and t2.del_flag = '0' and t2.equipment_id = #{params.equipmentId}
 
-        UNION
+            UNION
 
-        SELECT DISTINCT
-            t1.id,
-            t1.num,
-            '璁惧鍙樺姩' AS 'type',
-            t1.create_time AS createTime,
-            t1.create_by AS createBy
-        FROM
-            mom_eam_equipment_change t1
-        left join mom_eam_equipment_change_detail t2 on t1.id = t2.equipment_change_id
-        where t1.del_flag = '0' and t2.del_flag = '0' and t2.equipment_id = #{params.equipmentId}
+            SELECT DISTINCT
+                t1.id,
+                t1.num,
+                '璁惧鍙樺姩' AS 'type',
+                t1.create_time AS createTime,
+                t1.create_by AS createBy
+            FROM
+                mom_eam_equipment_change t1
+            left join mom_eam_equipment_change_detail t2 on t1.id = t2.equipment_change_id
+            where t1.del_flag = '0' and t2.del_flag = '0' and t2.equipment_id = #{params.equipmentId}
+        ) as equipmentChange
     </select>
 
     <select id="getResumeInspectionRecordList"  parameterType="Map" resultType="Map">
@@ -61,39 +63,41 @@
     </select>
 
     <select id="getResumeMaintenanceRecordList"  parameterType="Map" resultType="Map">
-        SELECT DISTINCT
-            t1.id,
-            '鏃ュ父淇濆吇' as maintenanceType,
-            t1.num,
-            t4.name as teamName,
-            t5.realname as maintenanceuserName,
-            t1.actual_start_time as actualStartTime,
-            t1.actual_end_time as actualEndTime
-        FROM
-            mom_eam_daily_maintenance_order t1
-        LEFT JOIN mom_eam_daily_maintenance_order_detail t2 ON t1.id = t2.daily_maintenance_order_id
-        left join mom_eam_equipment t3 on t1.equipment_id = t3.id
-        left join mom_base_team t4 on t3.team_id = t4.id
-        left join sys_user t5 on t5.id= t1.maintenance_user_id
-        WHERE t1.del_flag = '0' and t2.del_flag= '0'  and t3.del_flag= '0' and t1.equipment_id = #{params.equipmentId}
+        select * from (
+            SELECT DISTINCT
+                t1.id,
+                '鏃ュ父淇濆吇' as maintenanceType,
+                t1.num,
+                t4.name as teamName,
+                t5.realname as maintenanceuserName,
+                t1.actual_start_time as actualStartTime,
+                t1.actual_end_time as actualEndTime
+            FROM
+                mom_eam_daily_maintenance_order t1
+            LEFT JOIN mom_eam_daily_maintenance_order_detail t2 ON t1.id = t2.daily_maintenance_order_id
+            left join mom_eam_equipment t3 on t1.equipment_id = t3.id
+            left join mom_base_team t4 on t3.team_id = t4.id
+            left join sys_user t5 on t5.id= t1.maintenance_user_id
+            WHERE t1.del_flag = '0' and t2.del_flag= '0'  and t3.del_flag= '0' and t1.equipment_id = #{params.equipmentId}
 
-        UNION
+            UNION
 
-        SELECT DISTINCT
-            t1.id,
-            '涓撲笟淇濆吇' AS maintenanceType,
-            t1.num,
-            t4.name as teamName,
-            t5.realname as maintenanceuserName,
-            t1.actual_start_time as actualStartTime,
-            t1.actual_end_time as actualEndTime
-        FROM
-            mom_eam_specialty_maintenance_order t1
-        left join mom_eam_specialty_maintenance_order_detail t2 on t1.id = t2.specialty_maintenance_order_id
-        left join mom_eam_equipment t3 on t2.equipment_id = t3.id
-        left join mom_base_team t4 on t3.team_id = t4.id
-        left join sys_user t5 on t5.id= t1.maintenance_user_id
-        WHERE t1.del_flag = '0' and t2.del_flag= '0'  and t3.del_flag= '0' and t2.equipment_id = #{params.equipmentId}
+            SELECT DISTINCT
+                t1.id,
+                '涓撲笟淇濆吇' AS maintenanceType,
+                t1.num,
+                t4.name as teamName,
+                t5.realname as maintenanceuserName,
+                t1.actual_start_time as actualStartTime,
+                t1.actual_end_time as actualEndTime
+            FROM
+                mom_eam_specialty_maintenance_order t1
+            left join mom_eam_specialty_maintenance_order_detail t2 on t1.id = t2.specialty_maintenance_order_id
+            left join mom_eam_equipment t3 on t2.equipment_id = t3.id
+            left join mom_base_team t4 on t3.team_id = t4.id
+            left join sys_user t5 on t5.id= t1.maintenance_user_id
+            WHERE t1.del_flag = '0' and t2.del_flag= '0'  and t3.del_flag= '0' and t2.equipment_id = #{params.equipmentId}
+        ) as maintenance
     </select>
 
     <select id="getResumeRepairRecordList"  parameterType="Map" resultType="Map">

--
Gitblit v1.9.3