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