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