From bcd7d1c9222431f37a6579a72456b2edb8f02402 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期五, 07 三月 2025 10:54:38 +0800
Subject: [PATCH] art: 验收日期 与 下次三保日期计算关系

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
index 7d881d7..e4dc0fb 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentController.java
@@ -1,5 +1,6 @@
 package org.jeecg.modules.eam.controller;
 
+import java.time.LocalDate;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
@@ -20,6 +21,7 @@
 import org.jeecg.common.system.base.entity.SysUpload;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.DateUtils;
 import org.jeecg.modules.base.entity.Constructor;
 import org.jeecg.modules.base.service.IConstructorService;
 import org.jeecg.modules.base.service.IFactoryModelService;
@@ -368,6 +370,20 @@
 	@PostMapping(value = "/add")
 	@Transactional(rollbackFor = { Exception.class })
 	public Result<String> add(@RequestBody Equipment equipment) {
+		//涓嬫涓変繚鏃ユ湡澶勭悊
+		if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
+			//濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡
+			int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
+			LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate());
+			LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod);
+			Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get());
+			equipment.setNextThirdMaintenanceTime(date);
+		}else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
+			//濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡
+			int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
+			Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod);
+			equipment.setNextThirdMaintenanceTime(date);
+		}
 		equipmentService.save(equipment);
 		//鑾峰彇宸ヨ壓鍙傛暟妯℃澘鏄庣粏
 		String processParametersTemplateId = equipment.getProcessParametersTemplateId();
@@ -447,6 +463,21 @@
 			equipmentPrecisionParameters.setEquipmentId(equipment.getId());
 			equipmentPrecisionParameters.setPrecisionParametersId(precisionParameter.getPrecisionParametersId());
 			equipmentPrecisionParametersService.save(equipmentPrecisionParameters);
+		}
+
+		//涓嬫涓変繚鏃ユ湡澶勭悊
+		if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
+			//濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡
+			int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
+			LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate());
+			LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod);
+			Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get());
+			equipment.setNextThirdMaintenanceTime(date);
+		}else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
+			//濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡
+			int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
+			Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod);
+			equipment.setNextThirdMaintenanceTime(date);
 		}
 
 		equipmentService.updateById(equipment);
@@ -987,6 +1018,20 @@
 										}
 									}
 								 }
+								 //涓嬫涓変繚鏃ユ湡澶勭悊
+								 if(equipment.getThirdMaintenanceTime() == null && equipment.getAcceptanceCheckDate() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
+									 //濡傛灉娌℃湁涓変繚鏃ユ湡 鎸夌収楠屾敹鏃ユ湡璁$畻涓嬫涓変繚鏃ユ湡
+									 int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
+									 LocalDate acceptanceCheckDate = LocalDate.parse(equipment.getAcceptanceCheckDate());
+									 LocalDate localDate = acceptanceCheckDate.plusDays(checkPeriod);
+									 Date date = DateUtils.str2Date(localDate.toString(), DateUtils.date_sdf.get());
+									 equipment.setNextThirdMaintenanceTime(date);
+								 }else if(equipment.getThirdMaintenanceTime() != null && StringUtils.isNotBlank(equipment.getCheckPeriod())){
+									 //濡傛灉鏈変笁淇濇棩鏈� 鍒欎娇鐢ㄤ笁淇濇棩鏈熻绠� 涓嬫涓変繚鏃ユ湡
+									 int checkPeriod = Integer.parseInt(equipment.getCheckPeriod()) - 1;
+									 Date date = DateUtils.getDayAfter(equipment.getThirdMaintenanceTime(), checkPeriod);
+									 equipment.setNextThirdMaintenanceTime(date);
+								 }
 								 equipmentService.save(equipment);
 							 }else {
 								 exceptionInfo = exceptionInfo+"绗�"+(i+2)+"琛屽鍏ュけ璐ワ紝鍘熷洜锛氱粺涓�缂栫爜宸插瓨鍦紝鏁版嵁閲嶅瀵煎叆;";

--
Gitblit v1.9.3