From fb6d4590765e14898e76e07d324f501cbe195476 Mon Sep 17 00:00:00 2001 From: ant Date: Fri, 12 Jul 2024 16:28:29 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E5=AE=A1=E6=A0=B8=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inspection/work/po/WrkInfoAudit.java | 8 +- .../controller/WrkInfoAuditController.java | 10 ++- .../work/controller/WrkInfoController.java | 2 +- .../work/service/WrkInfoAuditService.java | 5 -- .../work/service/WrkInfoService.java | 3 + .../service/impl/WrkInfoAuditServiceImpl.java | 20 ----- .../work/service/impl/WrkInfoServiceImpl.java | 88 +++++++++++++++++++ 7 files changed, 103 insertions(+), 33 deletions(-) diff --git a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/work/po/WrkInfoAudit.java b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/work/po/WrkInfoAudit.java index 500908a..98e6832 100644 --- a/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/work/po/WrkInfoAudit.java +++ b/chushang-modules/chushang-module-inspection/inspection-feign/src/main/java/com/chushang/inspection/work/po/WrkInfoAudit.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.chushang.common.mybatis.base.BaseEntity; + +import java.time.LocalDateTime; import java.util.Date; import lombok.AllArgsConstructor; import lombok.Data; @@ -52,13 +54,13 @@ public class WrkInfoAudit extends BaseEntity { * 审核时间 */ @TableField(value = "audit_time") - private Date auditTime; + private LocalDateTime auditTime; /** * 审核状态 */ @TableField(value = "audit_state") - private Byte auditState; + private Integer auditState; /** * 审核描述 @@ -70,7 +72,7 @@ public class WrkInfoAudit extends BaseEntity { * 是否为历史记录 1是 0否 */ @TableField(value = "is_record") - private Byte isRecord; + private Integer isRecord; /** * 所属部门 diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/controller/WrkInfoAuditController.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/controller/WrkInfoAuditController.java index 2fb7a3b..a2264d6 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/controller/WrkInfoAuditController.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/controller/WrkInfoAuditController.java @@ -5,6 +5,7 @@ import com.chushang.common.log.enums.BusinessType; import com.chushang.inspection.project.dto.AuditDTO; import com.chushang.inspection.project.service.WrkAuditService; import com.chushang.inspection.work.service.WrkInfoAuditService; +import com.chushang.inspection.work.service.WrkInfoService; import com.chushang.security.annotation.RequiresPermissions; import lombok.extern.java.Log; import org.springframework.validation.annotation.Validated; @@ -22,17 +23,18 @@ import javax.annotation.Resource; public class WrkInfoAuditController { @Resource - private WrkInfoAuditService wrkInfoAuditService; + private WrkInfoService wrkInfoService; /** * 工单审核 */ - @PostMapping ("/audit") + @PostMapping ("/audit/{wrkId}") @RequiresPermissions("wrk:info:audit") @SysLog(value = "工单审核", businessType = BusinessType.AUDIT) - public AjaxResult audit(@Validated @RequestBody AuditDTO audit) { - wrkInfoAuditService.audit(audit); + public AjaxResult audit(@Validated @RequestBody AuditDTO audit, + @PathVariable Long wrkId) { + wrkInfoService.audit(audit, wrkId); return AjaxResult.success(); } } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/controller/WrkInfoController.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/controller/WrkInfoController.java index ba87b3b..55dfb09 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/controller/WrkInfoController.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/controller/WrkInfoController.java @@ -49,7 +49,7 @@ public class WrkInfoController { @GetMapping("/dispatch/page") @RequiresPermissions("wrk:dispatch:page") public AjaxResult queryDispatchPage(@Validated WrkInfoQuery query) { - query.setStates(Lists.newArrayList(1, 5, 6, 7)); + // 派单领取列表, 就是 已经派出的工单以及领取的工单, return AjaxResult.success(wrkInfoService.queryDispatchPage(query)); } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/WrkInfoAuditService.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/WrkInfoAuditService.java index 8499e5f..d6010c2 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/WrkInfoAuditService.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/WrkInfoAuditService.java @@ -9,9 +9,4 @@ import com.baomidou.mybatisplus.extension.service.IService; * @date: 2024/6/27 18:13 */ public interface WrkInfoAuditService extends IService { - /** - * 工单审核 - * @param audit 审核 - */ - void audit(AuditDTO audit); } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/WrkInfoService.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/WrkInfoService.java index 80ed795..cef7729 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/WrkInfoService.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/WrkInfoService.java @@ -1,6 +1,7 @@ package com.chushang.inspection.work.service; import com.chushang.common.mybatis.utils.PageResult; +import com.chushang.inspection.project.dto.AuditDTO; import com.chushang.inspection.work.dto.WrkInfoDTO; import com.chushang.inspection.work.po.WrkInfo; import com.baomidou.mybatisplus.extension.service.IService; @@ -32,4 +33,6 @@ public interface WrkInfoService extends IService { Long downInsTemplate(ReviewedQuery query); void submit(WrkInfoDTO info); + + void audit(AuditDTO audit, Long wrkId); } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/impl/WrkInfoAuditServiceImpl.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/impl/WrkInfoAuditServiceImpl.java index b878711..acfb6c9 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/impl/WrkInfoAuditServiceImpl.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/impl/WrkInfoAuditServiceImpl.java @@ -13,24 +13,4 @@ import com.chushang.inspection.work.po.WrkInfoAudit; */ @Service public class WrkInfoAuditServiceImpl extends ServiceImpl implements WrkInfoAuditService { - /** - * 工单审核 - * @param audit 审核所需 - * 工单共计有7个状态, - * 1. 已分配 - * 2. 待初审 - * 3. 待复审 - * 4. 复审通过 - * 5. 初审驳回 - * 6. 复审驳回 - * 7. 初审通过 - * 8. 默认审核通过 - * todo 当任务为只需要初审时, 点击初审通过, 则其状态由2 变为 7 - * todo 当任务需要复审时, 点击初审通过, 其状态由2 变为3 - * 当任务不需要审核时, 点击提交, 工单状态, 由1 变为8 - */ - @Override - public void audit(AuditDTO audit) { - - } } diff --git a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/impl/WrkInfoServiceImpl.java b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/impl/WrkInfoServiceImpl.java index b3b7ee6..cb3aed6 100644 --- a/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/impl/WrkInfoServiceImpl.java +++ b/chushang-modules/chushang-module-inspection/inspection-service/src/main/java/com/chushang/inspection/work/service/impl/WrkInfoServiceImpl.java @@ -27,6 +27,7 @@ import com.chushang.common.mybatis.page.CommonParam; import com.chushang.common.mybatis.utils.PageResult; import com.chushang.common.mybatis.utils.WrapperUtils; import com.chushang.inspection.ins.GeneratedInsFactory; +import com.chushang.inspection.project.dto.AuditDTO; import com.chushang.inspection.project.service.InspectionDataService; import com.chushang.inspection.terminal.po.FiveStore; import com.chushang.inspection.terminal.po.Store; @@ -340,6 +341,93 @@ public class WrkInfoServiceImpl extends ServiceImpl impl } } + /** + * 工单审核 + * + * @param audit 审核所需 + * 工单共计有7个状态, + * 1. 已分配 + * 2. 待初审 + * 3. 待复审 + * 4. 复审通过 + * 5. 初审驳回 + * 6. 复审驳回 + * 7. 初审通过 + * 8. 默认审核通过 + * todo 当任务为只需要初审时, 点击初审通过, 则其状态由2 变为 7 + * todo 当任务需要复审时, 点击初审通过, 其状态由2 变为3 + * 当任务不需要审核时, 点击提交, 工单状态, 由1 变为8 + * @param wrkId 工单id + */ + @Override + public void audit(AuditDTO audit, Long wrkId) { + Integer auditStatus = audit.getAuditStatus(); + // 1== auditStatus 代表审核通过, 否则代表审核拒绝 + // 获取工单信息 + WrkInfo wrkInfo = getById(wrkId); + AssertUtil.invalidate(ObjectUtil.isEmpty(wrkInfo), "未找寻到对应工单"); + // 审核方式 + Integer reviewMethod = TaskConfigUtils.reviewMethod(wrkInfo.getTaskId()); + // 工单状态 + Integer wrkStatus = wrkInfo.getWrkStatus(); + // 当前 任务审核方式为 无需审核 + AssertUtil.invalidate(1 == reviewMethod, "当前工单所属任务为无需审核"); + // 获取最后一条数据, 用于判断是否为同一个审核人 + WrkInfoAudit one = infoAuditService.getOne(new LambdaQueryWrapper() + .eq(WrkInfoAudit::getWrkId, wrkId) + .eq(WrkInfoAudit::getAuditState, 1) + .eq(WrkInfoAudit::getIsRecord, 0) + ); + Long userId; + if (ObjectUtil.isEmpty(one)){ + userId = -1L; + }else { + userId = one.getUserId(); + } + AssertUtil.invalidate(Objects.equals(userId, SecurityUtils.getUserId()), "两次审核通过不能为同一人"); + WrkInfo auditInfo = new WrkInfo(); + auditInfo.setWrkId(wrkId); + // 初审 + if (2 == reviewMethod){ + // 审核通过 + if (1 == auditStatus){ + + } + // 审核驳回 + else { + + } + // 判断原先的状态 + auditInfo.setWrkStatus(wrkStatus == 2 ? 7 : 2); + } + // 需复审 + else if (3 == reviewMethod){ + + } + updateById(auditInfo); + + // 新增一条审核工单记录 + WrkInfoAudit infoAudit = new WrkInfoAudit(); + infoAudit.setIsRecord(1); + // 修改其他记录为历史 + infoAuditService.update( + infoAudit, + new LambdaQueryWrapper() + .eq(WrkInfoAudit::getWrkId, wrkId) + ); + // 同时新增一条记录 + infoAudit.setAuditState(auditStatus); + infoAudit.setAuditTime(LocalDateTime.now()); + infoAudit.setUserId(SecurityUtils.getUserId()); + infoAudit.setUserName(SecurityUtils.getUsername()); + infoAudit.setWrkId(wrkId); + infoAudit.setDeptId(SecurityUtils.getDeptId()); + infoAudit.setIsRecord(0); + infoAudit.setRemark(audit.getRemark()); + // 此处需要创建一条审核记录 + infoAuditService.save(infoAudit); + } + /** * 计算经纬度 偏差 */