1. 审核相关

This commit is contained in:
ant 2024-07-12 16:28:29 +08:00
parent 20e2946b93
commit fb6d459076
7 changed files with 103 additions and 33 deletions

View File

@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.chushang.common.mybatis.base.BaseEntity; import com.chushang.common.mybatis.base.BaseEntity;
import java.time.LocalDateTime;
import java.util.Date; import java.util.Date;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -52,13 +54,13 @@ public class WrkInfoAudit extends BaseEntity {
* 审核时间 * 审核时间
*/ */
@TableField(value = "audit_time") @TableField(value = "audit_time")
private Date auditTime; private LocalDateTime auditTime;
/** /**
* 审核状态 * 审核状态
*/ */
@TableField(value = "audit_state") @TableField(value = "audit_state")
private Byte auditState; private Integer auditState;
/** /**
* 审核描述 * 审核描述
@ -70,7 +72,7 @@ public class WrkInfoAudit extends BaseEntity {
* 是否为历史记录 1是 0否 * 是否为历史记录 1是 0否
*/ */
@TableField(value = "is_record") @TableField(value = "is_record")
private Byte isRecord; private Integer isRecord;
/** /**
* 所属部门 * 所属部门

View File

@ -5,6 +5,7 @@ import com.chushang.common.log.enums.BusinessType;
import com.chushang.inspection.project.dto.AuditDTO; import com.chushang.inspection.project.dto.AuditDTO;
import com.chushang.inspection.project.service.WrkAuditService; import com.chushang.inspection.project.service.WrkAuditService;
import com.chushang.inspection.work.service.WrkInfoAuditService; import com.chushang.inspection.work.service.WrkInfoAuditService;
import com.chushang.inspection.work.service.WrkInfoService;
import com.chushang.security.annotation.RequiresPermissions; import com.chushang.security.annotation.RequiresPermissions;
import lombok.extern.java.Log; import lombok.extern.java.Log;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -22,17 +23,18 @@ import javax.annotation.Resource;
public class WrkInfoAuditController { public class WrkInfoAuditController {
@Resource @Resource
private WrkInfoAuditService wrkInfoAuditService; private WrkInfoService wrkInfoService;
/** /**
* 工单审核 * 工单审核
*/ */
@PostMapping ("/audit") @PostMapping ("/audit/{wrkId}")
@RequiresPermissions("wrk:info:audit") @RequiresPermissions("wrk:info:audit")
@SysLog(value = "工单审核", businessType = BusinessType.AUDIT) @SysLog(value = "工单审核", businessType = BusinessType.AUDIT)
public AjaxResult audit(@Validated @RequestBody AuditDTO audit) { public AjaxResult audit(@Validated @RequestBody AuditDTO audit,
wrkInfoAuditService.audit(audit); @PathVariable Long wrkId) {
wrkInfoService.audit(audit, wrkId);
return AjaxResult.success(); return AjaxResult.success();
} }
} }

View File

@ -49,7 +49,7 @@ public class WrkInfoController {
@GetMapping("/dispatch/page") @GetMapping("/dispatch/page")
@RequiresPermissions("wrk:dispatch:page") @RequiresPermissions("wrk:dispatch:page")
public AjaxResult queryDispatchPage(@Validated WrkInfoQuery query) { public AjaxResult queryDispatchPage(@Validated WrkInfoQuery query) {
query.setStates(Lists.newArrayList(1, 5, 6, 7)); // 派单领取列表, 就是 已经派出的工单以及领取的工单,
return AjaxResult.success(wrkInfoService.queryDispatchPage(query)); return AjaxResult.success(wrkInfoService.queryDispatchPage(query));
} }

View File

@ -9,9 +9,4 @@ import com.baomidou.mybatisplus.extension.service.IService;
* @date: 2024/6/27 18:13 * @date: 2024/6/27 18:13
*/ */
public interface WrkInfoAuditService extends IService<WrkInfoAudit> { public interface WrkInfoAuditService extends IService<WrkInfoAudit> {
/**
* 工单审核
* @param audit 审核
*/
void audit(AuditDTO audit);
} }

View File

@ -1,6 +1,7 @@
package com.chushang.inspection.work.service; package com.chushang.inspection.work.service;
import com.chushang.common.mybatis.utils.PageResult; 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.dto.WrkInfoDTO;
import com.chushang.inspection.work.po.WrkInfo; import com.chushang.inspection.work.po.WrkInfo;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@ -32,4 +33,6 @@ public interface WrkInfoService extends IService<WrkInfo> {
Long downInsTemplate(ReviewedQuery query); Long downInsTemplate(ReviewedQuery query);
void submit(WrkInfoDTO info); void submit(WrkInfoDTO info);
void audit(AuditDTO audit, Long wrkId);
} }

View File

@ -13,24 +13,4 @@ import com.chushang.inspection.work.po.WrkInfoAudit;
*/ */
@Service @Service
public class WrkInfoAuditServiceImpl extends ServiceImpl<WrkInfoAuditMapper, WrkInfoAudit> implements WrkInfoAuditService { public class WrkInfoAuditServiceImpl extends ServiceImpl<WrkInfoAuditMapper, WrkInfoAudit> 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) {
}
} }

View File

@ -27,6 +27,7 @@ import com.chushang.common.mybatis.page.CommonParam;
import com.chushang.common.mybatis.utils.PageResult; import com.chushang.common.mybatis.utils.PageResult;
import com.chushang.common.mybatis.utils.WrapperUtils; import com.chushang.common.mybatis.utils.WrapperUtils;
import com.chushang.inspection.ins.GeneratedInsFactory; import com.chushang.inspection.ins.GeneratedInsFactory;
import com.chushang.inspection.project.dto.AuditDTO;
import com.chushang.inspection.project.service.InspectionDataService; import com.chushang.inspection.project.service.InspectionDataService;
import com.chushang.inspection.terminal.po.FiveStore; import com.chushang.inspection.terminal.po.FiveStore;
import com.chushang.inspection.terminal.po.Store; import com.chushang.inspection.terminal.po.Store;
@ -340,6 +341,93 @@ public class WrkInfoServiceImpl extends ServiceImpl<WrkInfoMapper, WrkInfo> 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<WrkInfoAudit>()
.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<WrkInfoAudit>()
.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);
}
/** /**
* 计算经纬度 偏差 * 计算经纬度 偏差
*/ */