From 5677ab158fb78d1267c16bbbf29eb690e0b4039f Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期三, 13 十二月 2023 16:53:39 +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/RepairOrderController.java | 196 ++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 170 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 073cfe2..aa77ba7 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,8 +1,10 @@
package org.jeecg.modules.eam.controller;
+import com.alibaba.fastjson.JSONObject;
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.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
@@ -18,6 +20,7 @@
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.service.*;
+import org.jeecg.modules.eam.vo.EquipmentAvailabilityVo;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
@@ -35,6 +38,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.math.BigDecimal;
+import java.text.ParseException;
import java.util.*;
import java.util.stream.Collectors;
@@ -120,28 +124,28 @@
HttpServletRequest req) {
Page<RepairOrder> page = new Page<RepairOrder>(pageNo, pageSize);
IPage<RepairOrder> pageList = repairOrderService.getRepairOrderList(page, repairOrder);
- for(RepairOrder repairOrder1 : pageList.getRecords()){
- if(StringUtils.isNotBlank(repairOrder1.getReportRepairId())){
- EquipmentReportRepair equipmentReportRepair = equipmentReportRepairService.getById(repairOrder1.getReportRepairId());
- repairOrder1.setReportRepairNum(equipmentReportRepair.getNum());
- }
- if(StringUtils.isNotBlank(repairOrder1.getProjectMaintenanceOrderId())){
- ProjectMaintenanceOrderDetail projectMaintenanceOrderDetail = projectMaintenanceOrderDetailService.getById(repairOrder1.getProjectMaintenanceOrderId());
- repairOrder1.setProjectMaintenanceOrderNum(projectMaintenanceOrderDetail.getTaskNum());
- }
-
- String id = repairOrder1.getId();
- QueryWrapper<RepairOrderActualWorkHours> wrapper = new QueryWrapper<>();
- wrapper.eq("repair_order_id", id)
- .eq("del_flag", 0);
- wrapper.select("sum(actual_hour) as actualHour");
- Map<String, Object> map = repairOrderActualWorkHoursService.getMap(wrapper);
- BigDecimal actualHour = new BigDecimal(0);
- if (map != null) {
- actualHour = (BigDecimal) map.get("actualHour");
- }
- repairOrder1.setActualHour(actualHour);
- }
+// for(RepairOrder repairOrder1 : pageList.getRecords()){
+// if(StringUtils.isNotBlank(repairOrder1.getReportRepairId())){
+// EquipmentReportRepair equipmentReportRepair = equipmentReportRepairService.getById(repairOrder1.getReportRepairId());
+// repairOrder1.setReportRepairNum(equipmentReportRepair.getNum());
+// }
+// if(StringUtils.isNotBlank(repairOrder1.getProjectMaintenanceOrderId())){
+// ProjectMaintenanceOrderDetail projectMaintenanceOrderDetail = projectMaintenanceOrderDetailService.getById(repairOrder1.getProjectMaintenanceOrderId());
+// repairOrder1.setProjectMaintenanceOrderNum(projectMaintenanceOrderDetail.getTaskNum());
+// }
+//
+// String id = repairOrder1.getId();
+// QueryWrapper<RepairOrderActualWorkHours> wrapper = new QueryWrapper<>();
+// wrapper.eq("repair_order_id", id)
+// .eq("del_flag", 0);
+// wrapper.select("sum(actual_hour) as actualHour");
+// Map<String, Object> map = repairOrderActualWorkHoursService.getMap(wrapper);
+// BigDecimal actualHour = new BigDecimal(0);
+// if (map != null) {
+// actualHour = (BigDecimal) map.get("actualHour");
+// }
+// repairOrder1.setActualHour(actualHour);
+// }
return Result.OK(pageList);
}
@@ -1501,7 +1505,7 @@
public Result<?> orderStart(@RequestBody RepairOrder repairOrder){
if(StringUtils.isNotBlank(repairOrder.getReportRepairId())){
EquipmentReportRepair equipmentReportRepair = equipmentReportRepairService.getById(repairOrder.getReportRepairId());
- equipmentReportRepair.setStatus("3");
+ equipmentReportRepair.setStatus("2");
equipmentReportRepairService.updateById(equipmentReportRepair);
if(StringUtils.isNotBlank(equipmentReportRepair.getEquipmentId())){
Equipment equipment = equipmentService.getById(equipmentReportRepair.getEquipmentId());
@@ -1528,7 +1532,12 @@
projectMaintenanceOrder.setTypeStatus("underExecution");
projectMaintenanceOrderService.updateById(projectMaintenanceOrder);
}
- return Result.OK(repairOrderService.update(new UpdateWrapper<RepairOrder>().set("status",3).set("actual_start_time",new Date(System.currentTimeMillis())).eq("id",repairOrder.getId())));
+ repairOrder
+ .setStatus("3")
+ .setActualStartTime(new Date())
+ .setRepairOrderUda1("normal");
+ repairOrderService.updateById(repairOrder);
+ return Result.OK("寮�宸ユ垚鍔�");
}
/**
* 宸ュ崟鎶ュ伐
@@ -1536,7 +1545,17 @@
* @return
*/
@PutMapping(value = "/report")
+ @Transactional(rollbackFor = {Exception.class})
public Result<?> orderReport(@RequestBody RepairOrder repairOrder){
+ String id = repairOrder.getId();
+ List<RepairOrderActualWorkHours> hoursList = repairOrderActualWorkHoursService.list(new QueryWrapper<RepairOrderActualWorkHours>().eq("repair_order_id",id).eq("del_flag",0));
+ List<RepairOrderActualWorkHours> mainStuff = repairOrderActualWorkHoursService.list(new QueryWrapper<RepairOrderActualWorkHours>().eq("repair_order_id",id).eq("del_flag",0).eq("principal_contractor","1"));
+ if(hoursList.size()<2){
+ return Result.error("鎿嶄綔澶辫触锛岃鑷冲皯娣诲姞涓や釜鎵夸慨浜�");
+ }
+ if(mainStuff.size()!=1){
+ return Result.error("鎿嶄綔澶辫触锛岃娣诲姞涓绘壙淇汉锛屾湁涓斿彧鏈変竴涓�");
+ }
if(StringUtils.isNotBlank(repairOrder.getProjectMaintenanceOrderId())){
//鍒ゆ柇椤圭洰鎬х淮淇瓙琛ㄧ姸鎬�
ProjectMaintenanceOrderDetail projectMaintenanceOrderDetail = projectMaintenanceOrderDetailService.getById(repairOrder.getProjectMaintenanceOrderId());
@@ -1567,9 +1586,24 @@
}
LoginUser user= (LoginUser)SecurityUtils.getSubject().getPrincipal();
if(StringUtils.isNotBlank(repairOrder.getReportRepairId())){
- equipmentReportRepairService.update(new UpdateWrapper<EquipmentReportRepair>().eq("id",repairOrder.getReportRepairId()).set("status",3));
+ equipmentReportRepairService.update(new UpdateWrapper<EquipmentReportRepair>().eq("id",repairOrder.getReportRepairId()).set("status",4));
}
- return Result.OK(repairOrderService.update(new UpdateWrapper<RepairOrder>().set("status",4).set("actual_end_time",new Date(System.currentTimeMillis())).set("recipient_user_id",user.getId()).eq("id",repairOrder.getId())));
+ Date now = new Date();
+ Date start = repairOrder.getActualStartTime();
+ long timeDifference = now.getTime() - start.getTime();
+ BigDecimal hours = new BigDecimal(timeDifference)
+ .divide(new BigDecimal(60 * 60 * 1000), 3, BigDecimal.ROUND_HALF_EVEN);
+ repairOrder.setStatus("4");
+ repairOrder.setActualEndTime(now);
+ repairOrder.setActualHour(hours);
+ repairOrder.setRecipientUserId(mainStuff.get(0).getUserId());
+ repairOrderService.updateById(repairOrder);
+ if(StringUtils.isNotBlank(repairOrder.getEquipmentId())){
+ Equipment equipment = equipmentService.getById(repairOrder.getEquipmentId());
+ equipment.setEquipmentStatus("4");
+ equipmentService.updateById(equipment);
+ }
+ return Result.OK("鎶ュ伐鎴愬姛");
}
/**
* 宸ュ崟鎾ら攢
@@ -1619,4 +1653,114 @@
equipmentReportRepairService.updateBatchById(equipmentReportRepairs);
return Result.OK("棰嗗彇鎴愬姛");
}
+ /**
+ * 宸ュ崟绛夊浠�
+ * @param repairOrder
+ * @return
+ */
+ @PutMapping(value = "/handleSpare")
+ @Transactional(rollbackFor = {Exception.class})
+ public Result<?> handleSpare(@RequestBody RepairOrder repairOrder){
+ repairOrder.setRepairOrderUda2(new Date());
+ repairOrder.setRepairOrderUda1("needSpare");
+ repairOrderService.updateById(repairOrder);
+ if(StringUtils.isNotBlank(repairOrder.getEquipmentId())){
+ Equipment equipment = equipmentService.getById(repairOrder.getEquipmentId());
+ equipment.setEquipmentStatus("8");
+ equipmentService.updateById(equipment);
+ }
+ return Result.OK("鎿嶄綔鎴愬姛");
+ }
+ /**
+ * 宸ュ崟鍋滄绛夊浠�
+ * @param repairOrder
+ * @return
+ */
+ @PutMapping(value = "/handleSpareStop")
+ @Transactional(rollbackFor = {Exception.class})
+ public Result<?> handleSpareStop(@RequestBody RepairOrder repairOrder){
+ Date now = new Date();
+ Date start = repairOrder.getRepairOrderUda2();
+ long timeDifference = now.getTime() - start.getTime();
+ BigDecimal hours = new BigDecimal(timeDifference)
+ .divide(new BigDecimal(60 * 60 * 1000), 3, BigDecimal.ROUND_HALF_EVEN);
+ repairOrder.setRepairOrderUda3(now);
+ repairOrder.setRepairOrderUda1("normal");
+ repairOrder.setSpareTime(hours);
+ repairOrderService.updateById(repairOrder);
+ if(StringUtils.isNotBlank(repairOrder.getEquipmentId())){
+ Equipment equipment = equipmentService.getById(repairOrder.getEquipmentId());
+ equipment.setEquipmentStatus("7");
+ equipmentService.updateById(equipment);
+ }
+ return Result.OK("鎿嶄綔鎴愬姛");
+ }
+ /**
+ * 宸ュ崟绛夊姞宸ヤ欢
+ * @param repairOrder
+ * @return
+ */
+ @PutMapping(value = "/handlePart")
+ @Transactional(rollbackFor = {Exception.class})
+ public Result<?> handlePart(@RequestBody RepairOrder repairOrder){
+ repairOrder.setRepairOrderUda4(new Date());
+ repairOrder.setRepairOrderUda1("needPart");
+ repairOrderService.updateById(repairOrder);
+ if(StringUtils.isNotBlank(repairOrder.getEquipmentId())){
+ Equipment equipment = equipmentService.getById(repairOrder.getEquipmentId());
+ equipment.setEquipmentStatus("9");
+ equipmentService.updateById(equipment);
+ }
+ return Result.OK("鎿嶄綔鎴愬姛");
+ }
+ /**
+ * 宸ュ崟鍋滄绛夊姞宸ヤ欢
+ * @param repairOrder
+ * @return
+ */
+ @PutMapping(value = "/handlePartStop")
+ @Transactional(rollbackFor = {Exception.class})
+ public Result<?> handlePartStop(@RequestBody RepairOrder repairOrder){
+ Date now = new Date();
+ Date start = repairOrder.getRepairOrderUda4();
+ long timeDifference = now.getTime() - start.getTime();
+ BigDecimal hours = new BigDecimal(timeDifference)
+ .divide(new BigDecimal(60 * 60 * 1000), 3, BigDecimal.ROUND_HALF_EVEN);
+ repairOrder.setRepairOrderUda5(now);
+ repairOrder.setRepairOrderUda1("normal");
+ repairOrder.setPartTime(hours);
+ repairOrderService.updateById(repairOrder);
+ if(StringUtils.isNotBlank(repairOrder.getEquipmentId())){
+ Equipment equipment = equipmentService.getById(repairOrder.getEquipmentId());
+ equipment.setEquipmentStatus("7");
+ equipmentService.updateById(equipment);
+ }
+ return Result.OK("鎿嶄綔鎴愬姛");
+ }
+
+ /**
+ * 璁惧瀹屽ソ鐜�
+ *
+ * @return
+ */
+ @GetMapping("/equipmentAvailability")
+ public JSONObject equipmentAvailability(@RequestParam Map<String, String> query) throws ParseException {
+ List<EquipmentAvailabilityVo> list = repairOrderService.equipmentAvailability(query);
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("data",list);
+ return jsonObject;
+ }
+
+ /**
+ * 璁惧鍙紑鍔ㄧ巼
+ *
+ * @return
+ */
+ @GetMapping("/getStartRate")
+ public JSONObject getStartRate(@RequestParam Map<String, String> query) throws ParseException {
+ List<EquipmentAvailabilityVo> list = repairOrderService.getStartRate(query);
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("data",list);
+ return jsonObject;
+ }
}
--
Gitblit v1.9.3