From 1a2258c4eca2e7514b6096004fa1c3e0036b402b Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期四, 28 三月 2024 14:04:24 +0800
Subject: [PATCH] Merge branch 'master' of http://117.34.109.166:18448/r/mdc_430 into develop

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PlanChangeApplyController.java |   96 ++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 88 insertions(+), 8 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PlanChangeApplyController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PlanChangeApplyController.java
index 3bf58bc..7c067b4 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PlanChangeApplyController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PlanChangeApplyController.java
@@ -1,26 +1,35 @@
 package org.jeecg.modules.eam.controller;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.DateUtils;
+import org.jeecg.modules.eam.entity.DailyMaintenanceOrder;
+import org.jeecg.modules.eam.entity.EquipmentMaintenancePlanDetail;
+import org.jeecg.modules.eam.entity.MaintenanceCycle;
 import org.jeecg.modules.eam.entity.PlanChangeApply;
-import org.jeecg.modules.eam.service.IPlanChangeApplyService;
+import org.jeecg.modules.eam.service.*;
 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;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Arrays;
+import java.util.Date;
 
- /**
+/**
  * @Description: mom_eam_plan_change_apply
  * @Author: jeecg-boot
  * @Date:   2023-09-04
@@ -33,7 +42,16 @@
 public class PlanChangeApplyController extends JeecgController<PlanChangeApply, IPlanChangeApplyService> {
 	@Autowired
 	private IPlanChangeApplyService planChangeApplyService;
-	
+
+	@Autowired
+	private IDailyMaintenanceOrderService dailyMaintenanceOrderService;
+
+	@Autowired
+	private IMaintenanceCycleService maintenanceCycleService;
+
+	@Autowired
+	private IEquipmentMaintenancePlanDetailService maintenancePlanDetailService;
+
 	/**
 	 * 鍒嗛〉鍒楄〃鏌ヨ
 	 *
@@ -55,7 +73,7 @@
 		IPage<PlanChangeApply> pageList = planChangeApplyService.page(page, queryWrapper);
 		return Result.OK(pageList);
 	}
-	
+
 	/**
 	 *   娣诲姞
 	 *
@@ -67,10 +85,34 @@
 	//@RequiresPermissions("org.jeecg.modules.mdc:mom_eam_plan_change_apply:add")
 	@PostMapping(value = "/add")
 	public Result<String> add(@RequestBody PlanChangeApply planChangeApply) {
+		planChangeApply.setMaintenanceOrderId(planChangeApply.getId());
+		planChangeApply.setId("");
 		planChangeApplyService.save(planChangeApply);
+
+		/**
+		 * 鏍规嵁鐢宠寤朵繚鏃堕棿  閲嶆柊璁$畻宸ュ崟鐨勭粨鏉熸椂闂�
+		 */
+		DailyMaintenanceOrder dailyMaintenanceOrder = dailyMaintenanceOrderService.getById(planChangeApply.getMaintenanceOrderId());
+		String maintenanceCycleId = dailyMaintenanceOrder.getMaintenanceCycleId();
+		Date planDelayTime = planChangeApply.getPlanDelayTime();
+		MaintenanceCycle maintenanceCycle = maintenanceCycleService.getById(maintenanceCycleId);
+		String unit = maintenanceCycle.getUnit();
+		int effectiveTime = maintenanceCycle.getEffectiveTime().intValue();
+		Date date = null;
+		if ("min".equals(unit)) {
+			date = DateUtils.getMinAfter(planDelayTime, effectiveTime);
+		} else if ("hour".equals(unit)) {
+			date = DateUtils.getHourAfter(planDelayTime, effectiveTime);
+		} else if ("day".equals(unit)) {
+			date = DateUtils.getDayAfter(planDelayTime, effectiveTime);
+		}
+		dailyMaintenanceOrder.setPlanEndTime(date);
+		dailyMaintenanceOrder.setPlanStartTime(planDelayTime);
+		dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder);
+
 		return Result.OK("娣诲姞鎴愬姛锛�");
 	}
-	
+
 	/**
 	 *  缂栬緫
 	 *
@@ -85,7 +127,7 @@
 		planChangeApplyService.updateById(planChangeApply);
 		return Result.OK("缂栬緫鎴愬姛!");
 	}
-	
+
 	/**
 	 *   閫氳繃id鍒犻櫎
 	 *
@@ -100,7 +142,7 @@
 		planChangeApplyService.removeById(id);
 		return Result.OK("鍒犻櫎鎴愬姛!");
 	}
-	
+
 	/**
 	 *  鎵归噺鍒犻櫎
 	 *
@@ -115,7 +157,7 @@
 		this.planChangeApplyService.removeByIds(Arrays.asList(ids.split(",")));
 		return Result.OK("鎵归噺鍒犻櫎鎴愬姛!");
 	}
-	
+
 	/**
 	 * 閫氳繃id鏌ヨ
 	 *
@@ -157,5 +199,43 @@
     public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
         return super.importExcel(request, response, PlanChangeApply.class);
     }
+	@PostMapping(value = "/addForPlan")
+	@Transactional(rollbackFor = {Exception.class})
+	public Result<String> addForPlan(@RequestBody PlanChangeApply planChangeApply) {
+    	DailyMaintenanceOrder dailyMaintenanceOrder = dailyMaintenanceOrderService
+				.getOne(new QueryWrapper<DailyMaintenanceOrder>()
+						.eq("maintenance_order_uda1",planChangeApply.getPlanId())
+						.eq("maintenance_order_uda2",planChangeApply.getId()),false);
+    	if(ObjectUtils.isNull(dailyMaintenanceOrder)){
+    		return Result.error("灏氭湭鐢熸垚宸ュ崟锛屾棤闇�鐢宠");
+		}else if(!dailyMaintenanceOrder.getStatus().equals("3")){
+            return Result.error("宸ュ崟宸蹭笅杈句笉鍏佽杩涜鍙樻洿");
+		}
+		maintenancePlanDetailService.update(new UpdateWrapper<EquipmentMaintenancePlanDetail>().eq("id",planChangeApply.getId()).set("plan_start_time",planChangeApply.getPlanDelayTime()));
+		planChangeApply.setMaintenanceOrderId(dailyMaintenanceOrder.getId());
+		planChangeApply.setId("");
+		planChangeApplyService.save(planChangeApply);
+		/**
+		 * 鏍规嵁鐢宠寤朵繚鏃堕棿  閲嶆柊璁$畻宸ュ崟鐨勭粨鏉熸椂闂�
+		 */
+		String maintenanceCycleId = dailyMaintenanceOrder.getMaintenanceCycleId();
+		Date planDelayTime = planChangeApply.getPlanDelayTime();
+		MaintenanceCycle maintenanceCycle = maintenanceCycleService.getById(maintenanceCycleId);
+		String unit = maintenanceCycle.getUnit();
+		int effectiveTime = maintenanceCycle.getEffectiveTime().intValue();
+		Date date = null;
+		if ("min".equals(unit)) {
+			date = DateUtils.getMinAfter(planDelayTime, effectiveTime);
+		} else if ("hour".equals(unit)) {
+			date = DateUtils.getHourAfter(planDelayTime, effectiveTime);
+		} else if ("day".equals(unit)) {
+			date = DateUtils.getDayAfter(planDelayTime, effectiveTime);
+		}
+		dailyMaintenanceOrder.setPlanEndTime(date);
+		dailyMaintenanceOrder.setPlanStartTime(planDelayTime);
+		dailyMaintenanceOrderService.updateById(dailyMaintenanceOrder);
+		return Result.OK("娣诲姞鎴愬姛锛�");
+	}
+
 
 }

--
Gitblit v1.9.3