From d629434b0c626644dcbfbdef2d5f4006ed693a9a Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期四, 16 十一月 2023 18:52:54 +0800
Subject: [PATCH] 维修完成12小时自动验收

---
 lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_11_16(lnl)/sys_dict_update.sql |   27 +++++++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java                    |    3 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml           |    6 +++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java              |    3 +
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/RepairReportFinishJob.java             |   38 +++++++++++++++++++
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java   |   11 +++--
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java          |    7 +++
 7 files changed, 88 insertions(+), 7 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java
index c200ca3..1892d1f 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EquipmentReportRepair.java
@@ -171,6 +171,12 @@
      */
     @TableField(exist = false)
     private String equipmentSpecification;
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date acceptTime;
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date finishTime;
     /**
      * 闄勪欢涓婁紶鍒楄〃
      */
@@ -184,4 +190,5 @@
     private Integer quantity;
     @TableField(exist = false)
     private String batchNo;
+
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java
index 1b82779..2b46cc9 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/RepairOrder.java
@@ -279,13 +279,14 @@
     List<RepairOrderActualWorkHours> actualHours;
     @TableField(exist = false)
     List<RepairOrderDetail> orderDetails;
-
     @TableField(exist = false)
     private String factoryModelId;
     @TableField(exist = false)
     private String equipmentCategoryId;
     @TableField(exist = false)
     private String userId;
+    @TableField(exist = false)
+    private String nums;
 
 
 }
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/RepairReportFinishJob.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/RepairReportFinishJob.java
new file mode 100644
index 0000000..607cfc4
--- /dev/null
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/RepairReportFinishJob.java
@@ -0,0 +1,38 @@
+package org.jeecg.modules.eam.job;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.jeecg.modules.eam.entity.EquipmentReportRepair;
+import org.jeecg.modules.eam.service.IEquipmentReportRepairService;
+import org.quartz.Job;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+
+import javax.annotation.Resource;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 12灏忔椂鑷姩楠屾敹
+ * @author lnl
+ */
+public class RepairReportFinishJob implements Job {
+    @Resource
+    private IEquipmentReportRepairService reportRepairService;
+    @Override
+    public void execute(JobExecutionContext context) throws JobExecutionException {
+        LocalDateTime currentDateTime = LocalDateTime.now();
+        LocalDateTime hourBefore12 = currentDateTime.minusHours(12);
+        Date result= Date.from(hourBefore12.atZone(ZoneId.systemDefault()).toInstant());
+        List<EquipmentReportRepair> list = reportRepairService
+                .list(new QueryWrapper<EquipmentReportRepair>().eq("status","4")
+                        .lt("finish_time",result));
+        for(EquipmentReportRepair equipmentReportRepair:list){
+            equipmentReportRepair.setStatus("5");
+            equipmentReportRepair.setAcceptTime(new Date());
+        }
+        reportRepairService.updateBatchById(list);
+    }
+}
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java
index 6e65ac6..596e6b2 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/RepairOrderMapper.java
@@ -34,7 +34,8 @@
                                          @Param("equipmentCategoryId")   String equipmentCategoryId,
                                          @Param("factoryModelId")    String  factoryModelId,
                                          @Param("specificEquipment")     String     specificEquipment,
-                                         @Param("teamId")   String teamId
+                                         @Param("teamId")   String teamId,
+                                         @Param("equipNums") List<String> equipNums
     );
 
     IPage<Map<String, Object>> getUserTeam(IPage<Map> pageData, @Param("realname") String realname);
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml
index aa3a807..fd9b49c 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/RepairOrderMapper.xml
@@ -53,6 +53,12 @@
         <if test="num != null and num != ''">
             and t1.num like concat('%',#{num},'%')
         </if>
+        <if test="equipNums.size!=0">
+            and t2.num in
+            <foreach collection="equipNums" open="(" separator="," close=")" item="num">
+                #{num}
+            </foreach>
+        </if>
         <if test="equipmentNum != null and equipmentNum != ''">
             and t2.num like concat('%',#{equipmentNum},'%')
         </if>
diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java
index e56b625..d6ada97 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/RepairOrderServiceImpl.java
@@ -16,9 +16,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.io.Serializable;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @Description: 缁翠慨宸ュ崟
@@ -86,8 +84,11 @@
 		}else{
 			repairOrder.setTeamId("");
 		}
-
-		return page.setRecords(baseMapper.getRepairOrderList(page,repairOrder.getNum(),repairOrder.getEquipmentNum(),repairOrder.getEquipmentName(),repairOrder.getStatus(),repairOrder.getRepairOrderType(),repairOrder.getEquipmentCategoryId(),repairOrder.getFactoryModelId(),repairOrder.getSpecificEquipment(),repairOrder.getTeamId()));
+		List<String> equipNums = new ArrayList<>();
+        if(StringUtils.isNotBlank(repairOrder.getNums())){
+        	equipNums = Arrays.asList(repairOrder.getNums().trim().split(","));
+		}
+		return page.setRecords(baseMapper.getRepairOrderList(page,repairOrder.getNum(),repairOrder.getEquipmentNum(),repairOrder.getEquipmentName(),repairOrder.getStatus(),repairOrder.getRepairOrderType(),repairOrder.getEquipmentCategoryId(),repairOrder.getFactoryModelId(),repairOrder.getSpecificEquipment(),repairOrder.getTeamId(),equipNums));
 	}
 
 	@Override
diff --git "a/lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_11_16\050lnl\051/sys_dict_update.sql" "b/lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_11_16\050lnl\051/sys_dict_update.sql"
index c7c6eea..0116575 100644
--- "a/lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_11_16\050lnl\051/sys_dict_update.sql"
+++ "b/lxzn-module-system/lxzn-system-start/src/main/resources/db/2023_11_16\050lnl\051/sys_dict_update.sql"
@@ -5,3 +5,30 @@
 UPDATE [dbo].[sys_dict_item] SET [dict_id] = N'1681127343392382977', [item_text] = N'瀹屾垚', [item_value] = N'4', [description] = '', [sort_order] = 4, [status] = 1, [create_by] = N'admin', [create_time] = '2023-07-18 10:23:48.0000000', [update_by] = N'admin', [update_time] = '2023-11-16 11:22:33.5730000' WHERE CONVERT(NVARCHAR(MAX), [id]) = N'1681127599911821314';
 UPDATE [dbo].[sys_dict_item] SET [dict_id] = N'1681127343392382977', [item_text] = N'楠屾敹', [item_value] = N'5', [description] = '', [sort_order] = 5, [status] = 1, [create_by] = N'admin', [create_time] = '2023-10-24 18:56:56.0000000', [update_by] = N'admin', [update_time] = '2023-11-16 14:21:48.9800000' WHERE CONVERT(NVARCHAR(MAX), [id]) = N'1716770747655516161';
 
+INSERT INTO [dbo].[sys_dict] ([id], [dict_name], [dict_code], [description], [del_flag], [create_by], [create_time], [update_by], [update_time], [type]) VALUES (N'1725087877949898753', N'缁翠慨鐘舵��', N'repair_status', '', 0, N'admin', '2023-11-16 17:46:15.3370000', NULL, NULL, NULL);
+INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1725087989132509185', N'1725087877949898753', N'姝e父缁翠慨', N'normal', '', 1, 1, N'admin', '2023-11-16 17:46:41.8490000', NULL, NULL);
+INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1725088326862061570', N'1725087877949898753', N'绛夊緟澶囦欢', N'needSpare', '', 2, 1, N'admin', '2023-11-16 17:48:02.3790000', NULL, NULL);
+INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1725089103869460481', N'1725087877949898753', N'绛夊緟鍔犲伐浠�', N'needPart', '', 3, 1, N'admin', '2023-11-16 17:51:07.0000000', N'admin', '2023-11-16 17:51:13.7290000');
+INSERT INTO [dbo].[sys_dict_item] ([id], [dict_id], [item_text], [item_value], [description], [sort_order], [status], [create_by], [create_time], [update_by], [update_time]) VALUES (N'1725089375681331201', N'1725087877949898753', N'甯︽晠闅滆繍琛�', N'working', '', 4, 1, N'admin', '2023-11-16 17:52:12.0000000', N'admin', '2023-11-16 17:52:18.4560000');
+
+ALTER TABLE [dbo].[mom_eam_equipment_report_repair] ADD [accept_time] datetime2 NULL
+    GO
+
+ALTER TABLE [dbo].[mom_eam_equipment_report_repair] ADD [finish_time] datetime2 NULL
+    GO
+
+    EXEC sp_addextendedproperty
+    'MS_Description', N'楠屾敹鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'mom_eam_equipment_report_repair',
+    'COLUMN', N'accept_time'
+    GO
+
+    EXEC sp_addextendedproperty
+    'MS_Description', N'瀹屾垚鏃堕棿',
+    'SCHEMA', N'dbo',
+    'TABLE', N'mom_eam_equipment_report_repair',
+    'COLUMN', N'finish_time'
+
+INSERT INTO [dbo].[sys_quartz_job] ([id], [create_by], [create_time], [del_flag], [update_by], [update_time], [job_class_name], [cron_expression], [parameter], [description], [status], [job_name]) VALUES (N'1301802672317695720', N'admin', '2023-11-16 18:38:01.0000000', 0, N'admin', '2023-11-16 18:38:11.0000000', N'org.jeecg.modules.eam.job/EquipmentWarrantyEndDateAlertJob', N'0 0 1 * * ? *', NULL, N'鏁呴殰鎶ヤ慨楠屾敹', 0, N'缁翠慨瀹屾垚12灏忔椂鍚庨獙鏀�');
+

--
Gitblit v1.9.3