From b86b34a3ba3a844207d3db527db8f9e9fa22033b Mon Sep 17 00:00:00 2001
From: 龚焕茏 <2842157468@qq.com>
Date: 星期一, 15 四月 2024 18:05:43 +0800
Subject: [PATCH] 工单处理:审核、运维情况
---
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java | 4 ++
ycl-common/src/main/java/enumeration/general/NotifyTypeEnum.java | 32 ++++++++++++++++
ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java | 6 +++
ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Notify.java | 8 +++-
ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 28 +++++++++++---
ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderYWConditionForm.java | 10 ++++
ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java | 5 ++
ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java | 7 +++
8 files changed, 91 insertions(+), 9 deletions(-)
diff --git a/ycl-common/src/main/java/enumeration/general/NotifyTypeEnum.java b/ycl-common/src/main/java/enumeration/general/NotifyTypeEnum.java
new file mode 100644
index 0000000..3c7f3b2
--- /dev/null
+++ b/ycl-common/src/main/java/enumeration/general/NotifyTypeEnum.java
@@ -0,0 +1,32 @@
+package enumeration.general;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonValue;
+import lombok.Getter;
+
+/**
+ * 閫氱煡鐘舵��
+ *
+ * @author锛歡onghl
+ * @date锛�2024/4/15 15:15
+ */
+@Getter
+public enum NotifyTypeEnum {
+
+ WORK_ORDER("WORK_ORDER", "宸ュ崟"),
+ CHECK("CHECK", "鑰冩牳"),
+ ;
+
+
+ @EnumValue // 鏍囨槑璇ュ瓧娈靛瓨鍏ユ暟鎹簱
+ @JsonValue // 鏍囨槑鍦ㄨ浆JSON鏃朵娇鐢ㄨ瀛楁锛屽嵆鍝嶅簲鏃�
+ private final String value;
+
+ private final String desc;
+
+ NotifyTypeEnum(String value, String desc) {
+ this.value = value;
+ this.desc = desc;
+ }
+
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Notify.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Notify.java
index 978f139..5a091d5 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Notify.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Notify.java
@@ -3,9 +3,12 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ycl.platform.base.AbsEntity;
+import enumeration.general.NotifyTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
import lombok.Data;
+import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
@@ -18,13 +21,15 @@
@Accessors(chain = true)
@TableName("t_notify")
@ApiModel(value = "Notify瀵硅薄", description = "閫氱煡")
+@AllArgsConstructor
+@NoArgsConstructor
public class Notify extends AbsEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("閫氱煡绫诲瀷")
@TableField("notify_type")
- private String notifyType;
+ private NotifyTypeEnum notifyType;
@ApiModelProperty("閫氱煡鍐呭")
@TableField("content")
@@ -45,6 +50,5 @@
@ApiModelProperty("宸ュ崟ID")
@TableField("work_order_id")
private Integer workOrderId;
-
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java
index 583e845..2d4f45b 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java
@@ -34,5 +34,9 @@
@TableField("yw_condition")
private String ywCondition;
+ @ApiModelProperty("浣愯瘉鏉愭枡")
+ @TableField("yw_proofMaterials")
+ private String ywProofMaterials;
+
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderYWConditionForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderYWConditionForm.java
index 7f834a8..0228b49 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderYWConditionForm.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/WorkOrderYWConditionForm.java
@@ -1,5 +1,6 @@
package com.ycl.platform.domain.form;
+import jakarta.validation.constraints.NotBlank;
import lombok.Data;
/**
@@ -14,12 +15,19 @@
/**
* 宸ュ崟ID
*/
- private Integer id;
+ @NotBlank
+ private String id;
/**
* 杩愮淮鎯呭喌
*/
+ @NotBlank
private String ywCondition;
+ /**
+ * 浣愯瘉鏉愭枡
+ */
+ private String ywProofMaterials;
+
}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
index e01442a..ff01f75 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
@@ -41,5 +41,10 @@
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date end;
+ /**
+ * 鏁呴殰绫诲瀷
+ */
+ private String errorType;
+
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
index cfb6d38..3ebb092 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/WorkOrderController.java
@@ -57,6 +57,12 @@
return workOrderService.ywCondition(form);
}
+ @GetMapping("/yw-condition/{id}")
+ @ApiOperation(value = "杩愮淮鎯呭喌", notes = "杩愮淮鎯呭喌")
+ public Result ywCondition(@PathVariable @Validated(Update.class) String id) {
+ return workOrderService.selectYwConditionByYwId(id);
+ }
+
@PutMapping("/yw-result")
@ApiOperation(value = "杩愮淮缁撴灉", notes = "杩愮淮缁撴灉")
public Result ywCondition(@RequestBody @Validated(Update.class) WorkOrderYWResultForm form) {
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
index deb6924..de315c3 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/WorkOrderService.java
@@ -106,4 +106,11 @@
* @return
*/
Result distributeFast(DistributeWorkOrderVO data);
+
+ /**
+ * 鑾峰彇宸ュ崟杩愮淮鎯呭喌
+ * @param id 宸ュ崟id
+ * @return 宸ュ崟杩愮淮鎯呭喌
+ */
+ Result selectYwConditionByYwId(String id);
}
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 a183417..b9deaa2 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
@@ -7,6 +7,7 @@
import com.ycl.platform.domain.query.DistributeWorkOrderQuery;
import com.ycl.platform.domain.vo.DistributeWorkOrderVO;
import com.ycl.platform.mapper.*;
+import com.ycl.platform.service.NotifyService;
import com.ycl.platform.service.WorkOrderService;
import com.ycl.system.Result;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -17,7 +18,9 @@
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.FastDistributeTypeEnum;
+import enumeration.general.NotifyTypeEnum;
import enumeration.general.WorkOrderStatusEnum;
import org.springframework.stereotype.Service;
import org.springframework.beans.BeanUtils;
@@ -46,6 +49,7 @@
private final YwPeopleMapper ywPeopleMapper;
private final WorkOrderAuditingRecordMapper workOrderAuditingRecordMapper;
private final WorkOrderYwConditionRecordMapper workOrderYwConditionRecordMapper;
+ private final NotifyService notifyService;
/**
@@ -89,19 +93,19 @@
@Transactional(rollbackFor = Exception.class)
public Result auditing(WorkOrderAuditingForm form) {
WorkOrder workOrder = baseMapper.selectById(form.getId());
- if (Objects.isNull(workOrder)) {
- throw new ServiceException("宸ュ崟涓嶅瓨鍦�");
- }
// 宸ュ崟鐘舵��
workOrder.setStatus(form.getAuditingResult());
baseMapper.updateById(workOrder);
// 娣诲姞涓�鏉″鏍歌褰�
WorkOrderAuditingRecord workOrderAuditingRecord = new WorkOrderAuditingRecord();
workOrderAuditingRecord.setWorkOrderId(workOrder.getId());
- workOrderAuditingRecord.setAuditingUser(1);
+ workOrderAuditingRecord.setAuditingUser(SecurityUtils.getLoginUser().getUserId().intValue());
workOrderAuditingRecord.setResult(form.getAuditingResult().getDesc());
workOrderAuditingRecord.setRemark(form.getAuditingRemark());
workOrderAuditingRecordMapper.insert(workOrderAuditingRecord);
+ // 娣诲姞鏂伴�氱煡
+ Notify notify = new Notify(NotifyTypeEnum.WORK_ORDER, form.getAuditingResult().getDesc(), workOrder.getYwPeopleId(), "0", "0", workOrder.getId());
+ notifyService.save(notify);
return Result.ok("鎿嶄綔鎴愬姛");
}
@@ -118,10 +122,21 @@
// 娣诲姞涓�鏉¤繍缁存儏鍐佃褰�
WorkOrderYwConditionRecord workOrderYwConditionRecord = new WorkOrderYwConditionRecord();
workOrderYwConditionRecord.setWorkOrderId(workOrder.getId());
- workOrderYwConditionRecord.setCommitUser(1);
+ workOrderYwConditionRecord.setCommitUser(SecurityUtils.getLoginUser().getUserId().intValue());
workOrderYwConditionRecord.setYwCondition(form.getYwCondition());
+ workOrderYwConditionRecord.setYwProofMaterials(form.getYwProofMaterials());
workOrderYwConditionRecordMapper.insert(workOrderYwConditionRecord);
return Result.ok("鎿嶄綔鎴愬姛");
+ }
+
+ @Override
+ public Result selectYwConditionByYwId(String id) {
+ return Result.ok().data(
+ new LambdaQueryChainWrapper<>(workOrderYwConditionRecordMapper)
+ .eq(WorkOrderYwConditionRecord::getWorkOrderId, id)
+ .orderByDesc(WorkOrderYwConditionRecord::getCreateTime)
+ .last("limit 1")
+ .one());
}
@Override
@@ -169,7 +184,8 @@
public Result page(WorkOrderQuery query) {
IPage<WorkOrder> page = new LambdaQueryChainWrapper<>(baseMapper)
.eq(StringUtils.hasText(query.getWorkOrderNo()), WorkOrder::getWorkOrderNo, query.getWorkOrderNo())
- .ne(WorkOrder::getStatus, WorkOrderStatusEnum.WAIT_DISTRIBUTE)
+ .in(WorkOrder::getStatus, WorkOrderStatusEnum.DISTRIBUTED, WorkOrderStatusEnum.YW_HANDLE)
+ .eq(StringUtils.hasText(query.getErrorType()), WorkOrder::getErrorType, query.getErrorType())
.between(Objects.nonNull(query.getStart()) && Objects.nonNull(query.getEnd()),
WorkOrder::getYwHandleTime,
DateUtils.getDayStart(query.getStart()),
--
Gitblit v1.8.0