From d40c3ccad0e5264fefd33264254564dead8c80df Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期一, 06 十一月 2023 11:44:36 +0800
Subject: [PATCH] 单据名称增加单据来源

---
 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java |  126 +++++++++++++++++++++++++++++++++--------
 1 files changed, 100 insertions(+), 26 deletions(-)

diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java
index c4a5d40..073cfe2 100644
--- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java
+++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/RepairOrderController.java
@@ -1,42 +1,41 @@
 package org.jeecg.modules.eam.controller;
 
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import org.jeecg.common.constant.CommonConstant;
-import org.jeecg.common.system.query.QueryGenerator;
 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.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-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.context.annotation.Lazy;
-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.math.BigDecimal;
-import java.util.*;
-
-import org.jeecg.common.util.oConvertUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.jeecg.common.aspect.annotation.AutoLog;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
+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.system.vo.LoginUser;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.eam.entity.*;
+import org.jeecg.modules.eam.service.*;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.*;
 import java.util.stream.Collectors;
 
  /**
@@ -93,6 +92,12 @@
 	 @Autowired
 	 @Lazy
 	 private IProjectMaintenanceOrderService projectMaintenanceOrderService;
+	 @Autowired
+	 @Lazy
+	 private IdentityService sysIdentityService;
+
+
+
 
 
 
@@ -280,7 +285,21 @@
     //@RequiresPermissions("org.jeecg.modules.demo:mom_eam_repair_order:delete")
     @DeleteMapping(value = "/delete")
     public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-        repairOrderService.update(new UpdateWrapper<RepairOrder>().set("del_flag", CommonConstant.DEL_FLAG_1).eq("id",id));
+		/**
+		 * 鏍规嵁涓氬姟绫诲瀷鑾峰彇缁翠慨宸ュ崟鐨勬潵婧� 鍒犻櫎宸ュ崟鏃舵仮澶嶆潵婧愮姸鎬�
+		 * 2023-8-17
+		 */
+		RepairOrder repairOrder = repairOrderService.getById(id);
+		String businessType = repairOrder.getBusinessType();
+		if("2".equals(businessType)){//1:鎶ヤ慨鏁呴殰鍗� 2锛氶」鐩�х淮淇�
+			String projectMaintenanceOrderDetailId = repairOrder.getProjectMaintenanceOrderId();
+			projectMaintenanceOrderDetailService.update(new UpdateWrapper<ProjectMaintenanceOrderDetail>().set("is_create_order",0).eq("id",projectMaintenanceOrderDetailId));
+		}else if("1".equals(businessType)){
+			String reportRepairId = repairOrder.getReportRepairId();
+			equipmentReportRepairService.update(new UpdateWrapper<EquipmentReportRepair>().set("is_create_order",0).eq("id",reportRepairId));
+		}
+
+		repairOrderService.update(new UpdateWrapper<RepairOrder>().set("del_flag", CommonConstant.DEL_FLAG_1).eq("id",id));
         return Result.OK("鍒犻櫎鎴愬姛!");
     }
 
@@ -337,6 +356,14 @@
         IPage<RepairOrderDetail> pageList = repairOrderDetailService.page(page, queryWrapper);
         return Result.OK(pageList);
     }
+
+	 @GetMapping(value = "/pageRepairOrderDetailByMainId")
+	 public Result<IPage<RepairOrderDetail>> pageRepairOrderDetailByMainId(@RequestParam("pageNo") Integer pageNo,
+																		   @RequestParam("pageSize") Integer pageSize,
+																		   @RequestParam Map<String, Object> params) {
+		 IPage<RepairOrderDetail> pageList = repairOrderDetailService.pageRepairOrderDetailByMainId(pageNo, pageSize, params);
+		 return Result.OK(pageList);
+	 }
 
 	/**
 	 * 娣诲姞
@@ -1470,14 +1497,34 @@
 	  * @return
 	  */
 	 @PutMapping(value = "/start")
+	 @Transactional(rollbackFor = Exception.class)
 	 public Result<?> orderStart(@RequestBody RepairOrder repairOrder){
+	 	if(StringUtils.isNotBlank(repairOrder.getReportRepairId())){
+			EquipmentReportRepair equipmentReportRepair = equipmentReportRepairService.getById(repairOrder.getReportRepairId());
+			equipmentReportRepair.setStatus("3");
+			equipmentReportRepairService.updateById(equipmentReportRepair);
+			if(StringUtils.isNotBlank(equipmentReportRepair.getEquipmentId())){
+				Equipment equipment = equipmentService.getById(equipmentReportRepair.getEquipmentId());
+				equipment.setEquipmentStatus("7");
+				equipmentService.updateById(equipment);
+			}
+		}
 	 	if(StringUtils.isNotBlank(repairOrder.getProjectMaintenanceOrderId())){
 			//鍒ゆ柇椤圭洰鎬х淮淇瓙琛ㄧ姸鎬�
 	 		ProjectMaintenanceOrderDetail projectMaintenanceOrderDetail = projectMaintenanceOrderDetailService.getById(repairOrder.getProjectMaintenanceOrderId());
 			projectMaintenanceOrderDetail.setTypeStatus("underExecution");
+			projectMaintenanceOrderDetail.setActualStartTime(new Date());
 			projectMaintenanceOrderDetailService.updateById(projectMaintenanceOrderDetail);
 			//鍒ゆ柇椤圭洰鎬х淮淇富琛ㄧ姸鎬�
 			ProjectMaintenanceOrder projectMaintenanceOrder = projectMaintenanceOrderService.getById(projectMaintenanceOrderDetail.getProjectMaintenanceOrderId());
+			/**
+			 * 椤圭洰椤圭淮淇富琛ㄧ淮鎶ら娆″紑濮嬫椂闂达紝
+			 * 閫昏緫锛氬鏋滄槸null锛屾槑缁嗙敓鎴愮殑缁翠慨宸ュ崟寮�宸ユ椂锛岀淮鎶ゅ疄闄呭紑濮嬫椂闂达紝
+			 */
+			Date actualStartTime = projectMaintenanceOrder.getActualStartTime();
+			if(actualStartTime == null){
+				projectMaintenanceOrder.setActualStartTime(new Date());
+			}
 			projectMaintenanceOrder.setTypeStatus("underExecution");
 			projectMaintenanceOrderService.updateById(projectMaintenanceOrder);
 		}
@@ -1494,10 +1541,13 @@
 			 //鍒ゆ柇椤圭洰鎬х淮淇瓙琛ㄧ姸鎬�
 			 ProjectMaintenanceOrderDetail projectMaintenanceOrderDetail = projectMaintenanceOrderDetailService.getById(repairOrder.getProjectMaintenanceOrderId());
 			 projectMaintenanceOrderDetail.setTypeStatus("completed");
+			 projectMaintenanceOrderDetail.setActualEndTime(new Date());
 			 projectMaintenanceOrderDetailService.updateById(projectMaintenanceOrderDetail);
 			 //鍒ゆ柇椤圭洰鎬х淮淇富琛ㄧ姸鎬�
-			 List<ProjectMaintenanceOrderDetail> projectMaintenanceOrderDetailList = projectMaintenanceOrderDetailService.lambdaQuery().eq(ProjectMaintenanceOrderDetail::getProjectMaintenanceOrderId,projectMaintenanceOrderDetail.getProjectMaintenanceOrderId())
-					 .eq(ProjectMaintenanceOrderDetail::getDelFlag,CommonConstant.DEL_FLAG_0).list();
+			 List<ProjectMaintenanceOrderDetail> projectMaintenanceOrderDetailList = projectMaintenanceOrderDetailService.lambdaQuery()
+					 .eq(ProjectMaintenanceOrderDetail::getProjectMaintenanceOrderId,projectMaintenanceOrderDetail.getProjectMaintenanceOrderId())
+					 .eq(ProjectMaintenanceOrderDetail::getDelFlag,CommonConstant.DEL_FLAG_0)
+					 .list();
 			 ProjectMaintenanceOrder projectMaintenanceOrder = projectMaintenanceOrderService.getById(projectMaintenanceOrderDetail.getProjectMaintenanceOrderId());
 			 boolean flag = true;
 			 for(ProjectMaintenanceOrderDetail projectMaintenanceOrderDetail1 : projectMaintenanceOrderDetailList){
@@ -1508,6 +1558,7 @@
 				}
 			 }
 			 if(flag){
+				 projectMaintenanceOrder.setActualEndTime(new Date());
 				 projectMaintenanceOrder.setTypeStatus("completed");
 			 }else {
 				 projectMaintenanceOrder.setTypeStatus("underExecution");
@@ -1544,5 +1595,28 @@
 		 }
 		 return Result.OK(repairOrderService.update(new UpdateWrapper<RepairOrder>().set("status",7).eq("id",repairOrder.getId())));
 	 }
-
+	 @PostMapping("addBySelectReport")
+	 public Result<?> addBySelectReport(@RequestBody List<EquipmentReportRepair> equipmentReportRepairs){
+	 	LoginUser user= (LoginUser)SecurityUtils.getSubject().getPrincipal();
+	 	for(EquipmentReportRepair equipmentReportRepair:equipmentReportRepairs){
+			String num = sysIdentityService.getNumByTypeAndLength("RepairOrder",4);
+			Equipment equipment = equipmentService.getById(equipmentReportRepair.getEquipmentId());
+	 		equipmentReportRepair.setStatus("2");
+	 		RepairOrder repairOrder = new RepairOrder();
+	 		repairOrder.setNum(num);
+	 		repairOrder.setReportRepairId(equipmentReportRepair.getId());
+	 		repairOrder.setStatus("2");
+	 		repairOrder.setEquipmentId(equipment.getId());
+	 		repairOrder.setTeamId(equipment.getTeamId());
+	 		repairOrder.setDepartId(equipment.getUseId());
+	 		repairOrder.setFaultDescription(equipmentReportRepair.getFaultDescription());
+	 		repairOrder.setFaultTime(equipmentReportRepair.getFaultTime());
+	 		repairOrder.setResponsibilityId(user.getId());
+	 		repairOrder.setRepairOrderType(0);
+	 		repairOrder.setDelFlag(0);
+	 		repairOrderService.save(repairOrder);
+		}
+	 	equipmentReportRepairService.updateBatchById(equipmentReportRepairs);
+	 	return Result.OK("棰嗗彇鎴愬姛");
+	 }
 }

--
Gitblit v1.9.3