From a3cb768d958e64625786857e0db69335875f5d8e Mon Sep 17 00:00:00 2001
From: hyingbo <1363390067@qq.com>
Date: 星期五, 06 六月 2025 13:43:55 +0800
Subject: [PATCH] 消息类型更新

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentMaintenancePlanController.java |  138 +++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 124 insertions(+), 14 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentMaintenancePlanController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentMaintenancePlanController.java
index 6f6b6c6..36bb9ae 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentMaintenancePlanController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EquipmentMaintenancePlanController.java
@@ -1,6 +1,8 @@
 package org.jeecg.modules.eam.controller;
 
+import org.jeecg.common.api.dto.message.MessageDTO;
 import org.jeecg.common.constant.CommonConstant;
+import org.jeecg.common.system.api.ISysBaseAPI;
 import org.jeecg.common.system.query.QueryGenerator;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -8,18 +10,18 @@
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.common.api.vo.Result;
+import org.jeecg.modules.eam.entity.*;
+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 javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import org.springframework.web.servlet.ModelAndView;
+
+import java.util.ArrayList;
 import java.util.Arrays;
 import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.eam.entity.EquipmentMaintenancePlanDetail;
-import org.jeecg.modules.eam.entity.EquipmentMaintenancePlan;
-import org.jeecg.modules.eam.service.IEquipmentMaintenancePlanService;
-import org.jeecg.modules.eam.service.IEquipmentMaintenancePlanDetailService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.jeecg.common.aspect.annotation.AutoLog;
@@ -55,6 +57,29 @@
 	@Autowired
 	private IEquipmentMaintenancePlanDetailService equipmentMaintenancePlanDetailService;
 
+	@Autowired
+	private IDailyMaintenanceOrderService dailyMaintenanceOrderService;
+
+	@Autowired
+	private IEamEquipmentService equipmentService;
+
+	@Autowired
+	private IMaintenanceStandardService maintenanceStandardService;
+
+    @Autowired
+	private IdentityService sysIdentityService;
+
+	 @Autowired
+	 private ISysBaseAPI sysBaseApi;
+
+	 @Autowired
+	 private IDailyMaintenanceOrderDetailService maintenanceOrderDetailService;
+
+	 @Autowired
+	 private IMaintenanceStandardDetailService maintenanceStandardDetailService;
+
+
+
 
 	/*---------------------------------涓昏〃澶勭悊-begin-------------------------------------*/
 
@@ -74,6 +99,12 @@
 								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
 								   HttpServletRequest req) {
 		QueryWrapper<EquipmentMaintenancePlan> queryWrapper = QueryGenerator.initQueryWrapper(equipmentMaintenancePlan, req.getParameterMap());
+        //鎸夊垱寤烘椂闂磋寖鍥存煡璇�,浠庡墠绔帴鏀朵袱涓弬鏁帮紝beginTime鍜宔ndTime
+		String beginTime = req.getParameter("beginTime");
+		String endTime = req.getParameter("endTime");
+		if(oConvertUtils.isNotEmpty(beginTime) && oConvertUtils.isNotEmpty(endTime)){
+			queryWrapper.between("create_time",beginTime,endTime);
+		}
 		Page<EquipmentMaintenancePlan> page = new Page<EquipmentMaintenancePlan>(pageNo, pageSize);
 		IPage<EquipmentMaintenancePlan> pageList = equipmentMaintenancePlanService.page(page, queryWrapper);
 		return Result.OK(pageList);
@@ -89,15 +120,44 @@
     @PostMapping(value = "/add")
 	@Transactional(rollbackFor = {Exception.class})
     public Result<String> add(@RequestBody EquipmentMaintenancePlan equipmentMaintenancePlan) {
-    	equipmentMaintenancePlan.setStatus("created");
-        List<EquipmentMaintenancePlanDetail> equipmentMaintenancePlanDetails = equipmentMaintenancePlan.getEquipmentMaintenancePlanDetailList();
-		equipmentMaintenancePlan.setEquipNo(equipmentMaintenancePlanDetails.size());
+    	//鍒ゆ柇selectOption绫诲瀷
+		equipmentMaintenancePlan.setStatus("created");
 		equipmentMaintenancePlan.setDelFlag(CommonConstant.DEL_FLAG_0);
-		equipmentMaintenancePlanService.save(equipmentMaintenancePlan);
-        for(EquipmentMaintenancePlanDetail equipmentMaintenancePlanDetail:equipmentMaintenancePlanDetails){
-        	equipmentMaintenancePlanDetail.setPlanId(equipmentMaintenancePlan.getId());
+		if(equipmentMaintenancePlan.getSelectOption().equals("0")){
+			//鏌ヨ鎵�鏈夎澶囧苟灏嗗叾id灏佽鎴恑dList
+			List<Equipment> equipments = equipmentService.list();
+			List<String> idList = equipments.stream().map(Equipment::getId).collect(Collectors.toList());
+			//鏍规嵁idList鍜宼ype鏌ヨ鎵�鏈夎澶囩殑淇濆吇鏍囧噯
+			Map<String, Object> maintenanceStandards = equipmentMaintenancePlanService.getStandards(idList,equipmentMaintenancePlan.getType());
+			List<MaintenanceStandard> maintenanceStandardList = (List<MaintenanceStandard>) maintenanceStandards.get("records");
+			//寰幆maintenanceStandardList灏嗘暟鎹皝瑁呭埌equipmentMaintenancePlanDetailList
+			List<EquipmentMaintenancePlanDetail> equipmentMaintenancePlanDetailList = new ArrayList<>();
+			equipmentMaintenancePlan.setEquipNo(maintenanceStandardList.size());
+			equipmentMaintenancePlanService.save(equipmentMaintenancePlan);
+			for(MaintenanceStandard maintenanceStandard:maintenanceStandardList){
+				EquipmentMaintenancePlanDetail equipmentMaintenancePlanDetail = new EquipmentMaintenancePlanDetail();
+				equipmentMaintenancePlanDetail.setStandardNum(maintenanceStandard.getNum());
+				equipmentMaintenancePlanDetail.setEquipmentName(maintenanceStandard.getEquipmentName());
+				equipmentMaintenancePlanDetail.setEquipmentId(maintenanceStandard.getEquipmentId());
+				equipmentMaintenancePlanDetail.setEquipmentNum(maintenanceStandard.getEquipmentNum());
+				equipmentMaintenancePlanDetail.setModel(maintenanceStandard.getEquipmentModel());
+				equipmentMaintenancePlanDetail.setStandardId(maintenanceStandard.getId());
+				equipmentMaintenancePlanDetail.setPlanId(equipmentMaintenancePlan.getId());
+				equipmentMaintenancePlanDetail.setPlanStartTime(equipmentMaintenancePlan.getBeginTime());
+				equipmentMaintenancePlanDetail.setPlanEndTime(equipmentMaintenancePlan.getEndTime());
+				equipmentMaintenancePlanDetailList.add(equipmentMaintenancePlanDetail);
+			}
+			equipmentMaintenancePlanDetailService.saveBatch(equipmentMaintenancePlanDetailList);
 		}
-        equipmentMaintenancePlanDetailService.saveBatch(equipmentMaintenancePlanDetails);
+		else{
+			List<EquipmentMaintenancePlanDetail> equipmentMaintenancePlanDetails = equipmentMaintenancePlan.getEquipmentMaintenancePlanDetailList();
+			equipmentMaintenancePlan.setEquipNo(equipmentMaintenancePlanDetails.size());
+			equipmentMaintenancePlanService.save(equipmentMaintenancePlan);
+			for(EquipmentMaintenancePlanDetail equipmentMaintenancePlanDetail:equipmentMaintenancePlanDetails){
+				equipmentMaintenancePlanDetail.setPlanId(equipmentMaintenancePlan.getId());
+			}
+			equipmentMaintenancePlanDetailService.saveBatch(equipmentMaintenancePlanDetails);
+		}
         return Result.OK("娣诲姞鎴愬姛锛�");
     }
 
@@ -195,8 +255,53 @@
 	}
 	@PutMapping("distrbute")
 	public Result<?> distrbute(@RequestBody EquipmentMaintenancePlan equipmentMaintenancePlan) {
+		 LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
 		 equipmentMaintenancePlan.setStatus("distributed");
-		 equipmentMaintenancePlanService.updateById(equipmentMaintenancePlan);
+		 //鐢熸垚宸ュ崟
+		 List<EquipmentMaintenancePlanDetail> equipmentMaintenancePlanDetails = equipmentMaintenancePlanDetailService.selectByMainId(equipmentMaintenancePlan.getId());
+         for(EquipmentMaintenancePlanDetail equipmentMaintenancePlanDetail:equipmentMaintenancePlanDetails){
+			 MaintenanceStandard maintenanceStandard = maintenanceStandardService.getById(equipmentMaintenancePlanDetail.getStandardId());
+			 String num = sysIdentityService.getNumByTypeAndLength("MaintenanceOrder",4);
+			 DailyMaintenanceOrder dailyMaintenanceOrder = new DailyMaintenanceOrder();
+			 dailyMaintenanceOrder.setNum(num);
+			 dailyMaintenanceOrder.setEquipmentId(maintenanceStandard.getEquipmentId());
+			 dailyMaintenanceOrder.setPlanStartTime(equipmentMaintenancePlanDetail.getPlanStartTime());
+			 dailyMaintenanceOrder.setPlanEndTime(equipmentMaintenancePlanDetail.getPlanEndTime());
+			 dailyMaintenanceOrder.setStatus("3");//3:鏈紑濮�
+			 dailyMaintenanceOrder.setMaintenanceStandardId(maintenanceStandard.getId());
+			 dailyMaintenanceOrder.setCreateType(CommonConstant.ANNOUNCEMENT_SEND_STATUS_2);
+			 List<MaintenanceStandardDetail> maintenanceStandardDetailList = equipmentMaintenancePlanService.getCycle(maintenanceStandard.getId(),equipmentMaintenancePlan.getType());
+			 if(maintenanceStandardDetailList.size()>0){
+				 dailyMaintenanceOrder.setMaintenanceCycleId(maintenanceStandardDetailList.get(0).getMaintenanceCycleId());
+			 }
+			 dailyMaintenanceOrder.setMaintenanceOrderUda1(equipmentMaintenancePlan.getId());
+			 dailyMaintenanceOrder.setMaintenanceOrderUda2(equipmentMaintenancePlanDetail.getId());
+			 dailyMaintenanceOrder.setDelFlag(CommonConstant.DEL_FLAG_0);
+			 dailyMaintenanceOrder.setPrecisionInspectionStatus(CommonConstant.STATUS_0);
+			 dailyMaintenanceOrder.setStoveExemptStatus(CommonConstant.STATUS_0);
+			 dailyMaintenanceOrder.setConfirmStatus(CommonConstant.STATUS_0);
+			 dailyMaintenanceOrderService.save(dailyMaintenanceOrder);
+			 for(MaintenanceStandardDetail maintenanceStandardDetail:maintenanceStandardDetailList){
+			 	DailyMaintenanceOrderDetail dailyMaintenanceOrderDetail = new DailyMaintenanceOrderDetail();
+			 	dailyMaintenanceOrderDetail.setDailyMaintenanceOrderId(dailyMaintenanceOrder.getId());
+			 	dailyMaintenanceOrderDetail.setMaintenanceStandardDetailId(maintenanceStandardDetail.getId());
+			 	dailyMaintenanceOrderDetail.setMaintenanceStandardId(maintenanceStandard.getId());
+			 	dailyMaintenanceOrderDetail.setMaintenanceProjectId(maintenanceStandardDetail.getMaintenanceProjectId());
+			 	dailyMaintenanceOrderDetail.setDelFlag(0);
+			 	maintenanceOrderDetailService.save(dailyMaintenanceOrderDetail);
+			 }
+		 }
+         equipmentMaintenancePlanService.updateById(equipmentMaintenancePlan);
+         String msg  = "鍗曟嵁鍙蜂负銆�"+equipmentMaintenancePlan.getNum()+"銆戠殑淇濆吇璁″垝宸茬敓鎴愪繚鍏诲伐鍗�";
+         MessageDTO messageDTO = new MessageDTO();
+         messageDTO.setTitle("鏈夋柊鐨勪繚鍏诲伐鍗�");
+         messageDTO.setContent(msg);
+         messageDTO.setCategory("淇濆吇宸ュ崟");
+         messageDTO.setFromUser(user.getUsername());
+         messageDTO.setToUser("admin");
+         if(equipmentMaintenancePlanDetails.size()!=0){
+         	sysBaseApi.sendSysAnnouncement(messageDTO);
+         }
 		 return Result.OK("鎿嶄綔鎴愬姛");
 	}
 
@@ -340,9 +445,14 @@
 		 }
 		 return Result.error("鏂囦欢瀵煎叆澶辫触锛�");
     }
-
+    @GetMapping("/getStandards")
+	 public Result<?> getStandards(@RequestParam(name="ids",required=true) String ids,
+								   @RequestParam(name="maintenanceType",required=true) String maintenanceType
+	){
+    	 List<String> equipmentIds = Arrays.asList(ids.split(","));
+         return Result.OK(equipmentMaintenancePlanService.getStandards(equipmentIds,maintenanceType));
+	}
     /*--------------------------------瀛愯〃澶勭悊-淇濆吇璁″垝鏄庣粏-end----------------------------------------------*/
-
 
 
 

--
Gitblit v1.9.3