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