From 782de1a5b6182e5f9b4eff9e85d99a82beeebe50 Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期四, 01 八月 2024 16:16:51 +0800
Subject: [PATCH] feat:工单状态同步点位
---
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java | 15 ++++
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java | 37 +----------
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 19 ++++-
ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java | 41 +++++++------
ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java | 9 +++
ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java | 2
6 files changed, 63 insertions(+), 60 deletions(-)
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java
index 51d98e6..92430f4 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/TMonitor.java
@@ -1,6 +1,7 @@
package com.ycl.platform.domain.entity;
import annotation.Excel;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycl.system.entity.BaseEntity;
@@ -141,15 +142,8 @@
@Excel(name = "绫诲瀷缂栫爜 : [131.鎽勫儚鏈虹紪鐮�;132.缃戠粶鎽勫儚鏈虹紪鐮�;]")
private Long lxbm;
- @Excel(name = "寮傚父鍘熷洜")
- private String reason;
-
- @Excel(name ="寮傚父鎭㈠鏍囪瘑")
- private Long recovery;
-
- @Excel(name = "寮傚父鎭㈠鏃堕棿")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date recoveryTime;
+ @TableField(exist = false)
+ private Integer recovery;
private Long deptId;
@@ -169,31 +163,13 @@
return installedTime;
}
- public Date getRecoveryTime() {
- return recoveryTime;
- }
-
- public void setRecoveryTime(Date recoveryTime) {
- this.recoveryTime = recoveryTime;
- }
-
- public Long getRecovery() {
+ public Integer getRecovery() {
return recovery;
}
- public void setRecovery(Long recovery) {
+ public void setRecovery(Integer recovery) {
this.recovery = recovery;
}
-
- public String getReason() {
- return reason;
- }
-
- public void setReason(String reason) {
- this.reason = reason;
- }
-
-
public void setId(Long id)
{
@@ -501,9 +477,6 @@
", cameraDept='" + cameraDept + '\'' +
", hybm='" + hybm + '\'' +
", lxbm=" + lxbm +
- ", reason='" + reason + '\'' +
- ", recovery=" + recovery +
- ", recoveryTime=" + recoveryTime +
", deptId=" + deptId +
'}';
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
index e041929..4fd4a81 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/YwPoint.java
@@ -3,13 +3,15 @@
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
-import java.time.LocalDateTime;
-
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycl.platform.base.AbsEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+import java.util.Date;
/**
* 杩愮淮鐐逛綅
@@ -60,5 +62,14 @@
@TableField("point_tag")
private String pointTag;
+ @TableField("reason")
+ private String reason;
+
+ @TableField("recovery")
+ private Integer recovery;
+
+ @TableField("recovery_time")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date recoveryTime;
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
index e9603bd..a6e6d44 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/YwPointService.java
@@ -85,4 +85,13 @@
* @return
*/
Result select(String keyword);
+
+ /**
+ * 鎵归噺鍚屾鐘舵��
+ *
+ * @param pointIds 鐐逛綅id
+ * @param recovery 鐘舵��
+ * @return 鏁伴噺
+ */
+ boolean updateRecovery(List<Integer> pointIds, int recovery);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
index 4a241b1..88610bb 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/TMonitorServiceImpl.java
@@ -52,7 +52,7 @@
public List<TMonitorVO> selectTMonitorList(TMonitor tMonitor)
{
List<TMonitorVO> monitors = tMonitorMapper.selectTMonitorList(tMonitor);
- if (Objects.equals(tMonitor.getRecovery(), 1L)) {
+ if (Objects.equals(tMonitor.getRecovery(), 1)) {
String time = configService.selectConfigByKey("abnormal.equipment.continuous.attention.time");
if (StringUtils.isBlank(time)) {
throw new RuntimeException("璇烽厤缃紓甯歌澶囪繛缁叧娉ㄦ椂闂�");
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index 6a4f2a8..39f6dff 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -17,6 +17,7 @@
import com.ycl.platform.service.NotifyService;
import com.ycl.platform.service.WorkOrderAuditingRecordService;
import com.ycl.platform.service.WorkOrderService;
+import com.ycl.platform.service.YwPointService;
import com.ycl.system.Result;
import com.ycl.system.model.LoginUser;
import com.ycl.system.page.PageUtil;
@@ -38,9 +39,7 @@
import java.time.LocalDateTime;
import java.time.ZoneId;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
import java.util.stream.Collectors;
/**
@@ -54,8 +53,7 @@
public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService {
private final WorkOrderMapper workOrderMapper;
- private final YwUnitMapper ywUnitMapper;
- private final YwPeopleMapper ywPeopleMapper;
+ private final YwPointService ywPointService;
private final WorkOrderAuditingRecordMapper workOrderAuditingRecordMapper;
private final WorkOrderAuditingRecordService workOrderAuditingRecordService;
private final WorkOrderYwConditionRecordMapper workOrderYwConditionRecordMapper;
@@ -125,6 +123,10 @@
UrgentLevelEnum.WARNING,
workOrder.getWorkOrderNo());
notifyService.save(notify);
+ // 鍚屾鐐逛綅鐘舵��
+ if (form.getAuditingResult() == WorkOrderStatusEnum.AUDITING_SUCCESS) {
+ ywPointService.updateRecovery(Collections.singletonList(workOrder.getPointId()), 0);
+ }
return Result.ok("鎿嶄綔鎴愬姛");
}
@@ -268,6 +270,7 @@
}
@Override
+ @Transactional
public Result distributeFast(DistributeWorkOrderVO data) {
// 鑾峰彇褰撳墠鏃堕棿
LocalDateTime now = LocalDateTime.now(ZoneId.systemDefault());
@@ -308,6 +311,8 @@
.in(WorkOrder::getId, ids)
.update();
addDistributeRecord(ids, WorkOrderDistributeWayEnum.FAST_DISTRIBUTE);
+ // 鍚屾鐐逛綅鐘舵��
+ ywPointService.updateRecovery(pointIds, 1);
return Result.ok("鎴愬姛涓嬪彂" + ids.size() + "鏉″伐鍗�");
} catch (Exception e) {
return Result.error("鎿嶄綔澶辫触");
@@ -317,6 +322,7 @@
}
@Override
+ @Transactional
public Result selectedIdsDistribute(DistributeWorkOrderQuery query) {
WorkOrderDistributeWayEnum distributeWayEnum = WorkOrderDistributeWayEnum.SELECTED_DISTRIBUTE;
if (!getDistributeLock()) { return Result.error("姝ゅ埢鏈変汉涓嬪彂涓紝涓洪伩鍏嶅啿绐侊紝璇风◢鍚庨噸璇�"); }
@@ -338,6 +344,9 @@
.in(WorkOrder::getId, query.getIds())
.update();
addDistributeRecord(query.getIds(), distributeWayEnum);
+ // 鍚屾鐐逛綅鐘舵��
+ List<Integer> pointIds = new LambdaQueryChainWrapper<>(baseMapper).select(WorkOrder::getPointId).in(WorkOrder::getId, query.getIds()).list().stream().map(WorkOrder::getPointId).toList();
+ ywPointService.updateRecovery(pointIds, 1);
return Result.ok("鎴愬姛涓嬪彂" + query.getIds().size() + "鏉″伐鍗�");
} catch (Exception e) {
return Result.error("鎿嶄綔澶辫触");
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
index b18d3a5..258f830 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -1,43 +1,35 @@
package com.ycl.platform.service.impl;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.platform.base.BaseSelect;
-import com.ycl.platform.domain.entity.Region;
import com.ycl.platform.domain.entity.YwPeople;
import com.ycl.platform.domain.entity.YwPoint;
-import com.ycl.platform.domain.entity.YwUnit;
import com.ycl.platform.domain.form.BatchEditPointForm;
-import com.ycl.platform.mapper.RegionMapper;
+import com.ycl.platform.domain.form.YwPointForm;
+import com.ycl.platform.domain.query.YwPointQuery;
+import com.ycl.platform.domain.vo.YwPointVO;
import com.ycl.platform.mapper.YwPeopleMapper;
import com.ycl.platform.mapper.YwPointMapper;
-import com.ycl.platform.mapper.YwUnitMapper;
import com.ycl.platform.service.YwPointService;
import com.ycl.platform.service.YwUnitService;
import com.ycl.system.Result;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.ycl.platform.domain.form.YwPointForm;
-import com.ycl.platform.domain.vo.YwPointVO;
-import com.ycl.platform.domain.query.YwPointQuery;
-import java.util.List;
-
-import com.ycl.system.entity.SysUser;
import com.ycl.system.mapper.SysDeptMapper;
-import com.ycl.system.service.ISysDeptService;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.system.page.PageUtil;
+import com.ycl.utils.DateUtils;
import com.ycl.utils.SecurityUtils;
-import enumeration.general.RegionLevelEnum;
-import org.springframework.stereotype.Service;
+import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
-import java.util.ArrayList;
+import org.springframework.util.StringUtils;
+
+import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
-import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
-import lombok.RequiredArgsConstructor;
-import org.springframework.util.StringUtils;
/**
* 杩愮淮鐐逛綅 鏈嶅姟瀹炵幇绫�
@@ -214,4 +206,13 @@
}).collect(Collectors.toList());
return Result.ok().data(data);
}
+
+ @Override
+ public boolean updateRecovery(List<Integer> pointIds, int recovery) {
+ return new LambdaUpdateChainWrapper<>(baseMapper)
+ .in(YwPoint::getId, pointIds)
+ .set(YwPoint::getRecovery, recovery)
+ .set(recovery == 0, YwPoint::getRecoveryTime, DateUtils.getNowDate())
+ .update();
+ }
}
--
Gitblit v1.8.0