drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/controller/GdWorkOrderFlowController.java
@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import org.sxkj.gd.workorder.entity.GdWorkOrderFlowEntity; import org.sxkj.gd.workorder.vo.GdWorkOrderFlowVO; import org.sxkj.gd.workorder.vo.WorkOrderStageVO; import org.sxkj.gd.workorder.excel.GdWorkOrderFlowExcel; import org.sxkj.gd.workorder.wrapper.GdWorkOrderFlowWrapper; import org.sxkj.gd.workorder.service.IGdWorkOrderFlowService; @@ -55,13 +56,19 @@ } /** * 流程记录表 列表 * 返回分层结构的流程数据,包含所有状态(已到达和未到达的) * * @param gdWorkOrderFlow 查询参数 * @return 分层结构的流程数据 */ @GetMapping("/list") @ApiOperationSupport(order = 2) @ApiOperation(value = "列表", notes = "传入gdWorkOrderFlow") public R<List<GdWorkOrderFlowVO>> list(@ApiIgnore @RequestParam Map<String, Object> gdWorkOrderFlow) { List<GdWorkOrderFlowEntity> list = gdWorkOrderFlowService.list(Condition.getQueryWrapper(gdWorkOrderFlow, GdWorkOrderFlowEntity.class)); return R.data(GdWorkOrderFlowWrapper.build().entityVOList(list)); public R<List<WorkOrderStageVO>> list(@ApiIgnore @RequestParam Map<String, Object> gdWorkOrderFlow) { // 调用服务层方法获取分层结构的流程数据 List<WorkOrderStageVO> stages = gdWorkOrderFlowService.getHierarchicalFlow(Condition.getQueryWrapper(gdWorkOrderFlow, GdWorkOrderFlowEntity.class)); return R.data(stages); } /** drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/entity/GdWorkOrderFlowEntity.java
@@ -45,6 +45,17 @@ */ @ApiModelProperty(value = "流转描述") private String flowDesc; /** * 流程状态 */ @ApiModelProperty(value = "流程状态 1.工单发布,2.接单响应,3.执行中 4.完成待验 5.验收通过 6.结算完成") private String flowStatus; /** * 工单状态 */ @ApiModelProperty(value = "工单状态工单状态:0草稿、10发布中_接单中、11发布中_拒绝接单、20响应中_待拆分、21响应中_申请取消、22响应中_申请修改、23响应中_已取消、30执行中_待全部完成、31执行中_协商修改、40完成待验_待全部验收、50验收通过_待结算、60结算完成_已结算") private String workStatus; /** * 关联工单任务表ID/巡查任务ID */ drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/WorkOrderStatusEnum.java
@@ -2,252 +2,257 @@ /** * 工单状态枚举 * * @author lw * @since 2026-01-17 */ public enum WorkOrderStatusEnum { /** * 工单阶段:工单发布 */ STAGE_WORK_ORDER_RELEASE("工单发布"), /** * 工单阶段:工单发布 */ STAGE_WORK_ORDER_RELEASE("工单发布"), /** * 工单阶段:接单响应 */ STAGE_ORDER_RESPONSE("接单响应"), /** * 工单阶段:接单响应 */ STAGE_ORDER_RESPONSE("接单响应"), /** * 工单阶段:执行中 */ STAGE_IN_EXECUTION("执行中"), /** * 工单阶段:执行中 */ STAGE_IN_EXECUTION("执行中"), /** * 工单阶段:完成待验 */ STAGE_COMPLETED_PENDING_INSPECTION("完成待验"), /** * 工单阶段:完成待验 */ STAGE_COMPLETED_PENDING_INSPECTION("完成待验"), /** * 工单阶段:验收通过 */ STAGE_ACCEPTED("验收通过"), /** * 工单阶段:验收通过 */ STAGE_ACCEPTED("验收通过"), /** * 工单阶段:结算完成 */ STAGE_SETTLEMENT_COMPLETED("结算完成"), /** * 工单阶段:结算完成 */ STAGE_SETTLEMENT_COMPLETED("结算完成"), // ------------------ 以下是工单状态 ------------------ // ------------------ 以下是工单状态 ------------------ /** * 草稿 */ DRAFT("0", "草稿", null), /** * 发布中_接单中 */ PUBLISHING_ACCEPTING("10", "1", "工单发布_接单中", "接单中"), /** * 发布中_接单中 */ PUBLISHING_ACCEPTING("10", "发布中_接单中", "工单发布"), /** * 发布中_拒绝接单 */ PUBLISHING_REJECTING("11", "1", "工单发布_拒绝接单", "拒绝接单"), /** * 发布中_拒绝接单 */ PUBLISHING_REJECTING("11", "发布中_拒绝接单", "拒绝接单"), /** * 响应中_待拆分 */ RESPONDING_TO_BE_SPLIT("20", "2", "接单响应_待拆分", "待拆分"), /** * 响应中_待拆分 */ RESPONDING_TO_BE_SPLIT("20", "响应中_待拆分", "接单响应"), /** * 响应中_申请取消 */ RESPONDING_APPLY_CANCEL("21", "2", "接单响应_申请取消", "申请取消"), /** * 响应中_申请取消 */ RESPONDING_APPLY_CANCEL("21", "响应中_申请取消", "申请取消"), /** * 响应中_申请修改 */ RESPONDING_APPLY_MODIFY("22", "2", "接单响应_申请修改", "申请修改"), /** * 响应中_申请修改 */ RESPONDING_APPLY_MODIFY("22", "响应中_申请修改", "申请修改"), /** * 响应中_已取消 */ RESPONDING_CANCELED("23", "2", "接单响应_已取消", "已取消"), /** * 响应中_已取消 */ RESPONDING_CANCELED("23", "响应中_已取消", "已取消"), /** * 执行中_待全部完成 */ EXECUTING_TO_BE_COMPLETED("30", "3", "执行中_待全部完成", "待全部完成"), /** * 响应中_拒绝取消 */ // RESPONDING_REJECT_CANCEL("24", "响应中_拒绝取消", "拒绝取消"), /** * 执行中_协商修改 */ EXECUTING_NEGOTIATE_MODIFY("31", "3", "执行中_协商修改", "协商修改"), /** * 响应中_拒绝修改 */ // RESPONDING_REJECT_MODIFY("25", "响应中_拒绝修改", "拒绝修改"), /** * 完成待验_待全部验收 */ COMPLETED_TO_BE_INSPECTED("40", "4", "完成待验_待全部验收", "待全部验收"), /** * 执行中_待全部完成 */ EXECUTING_TO_BE_COMPLETED("30", "执行中_待全部完成", "执行中"), /** * 验收通过_待结算 */ ACCEPTED_TO_BE_SETTLED("50", "5", "验收通过_待结算", "待结算"), /** * 执行中_协商修改 */ EXECUTING_NEGOTIATE_MODIFY("31", "执行中_协商修改", "执行中"), /** * 结算完成_已结算 */ SETTLEMENT_COMPLETED("60", "6", "结算完成_已结算", "已结算"); /** * 完成待验_待全部验收 */ COMPLETED_TO_BE_INSPECTED("40", "完成待验_待全部验收", "完成待验"), private final String code; private final String maxCode; private final String desc; private final String stageDesc; private final boolean isStage; /** * 验收通过_待结算 */ ACCEPTED_TO_BE_SETTLED("50", "验收通过_待结算", "验收通过"), /** * 工单阶段构造函数 */ WorkOrderStatusEnum(String stageDesc) { this.code = null; this.maxCode = null; this.desc = null; this.stageDesc = stageDesc; this.isStage = true; } /** * 结算完成_已结算 */ SETTLEMENT_COMPLETED("60", "结算完成_已结算", "结算完成"); /** * 工单状态构造函数 */ WorkOrderStatusEnum(String code, String miniCode, String desc, String stageDesc) { this.code = code; this.maxCode = miniCode; this.desc = desc; this.stageDesc = stageDesc; this.isStage = false; } private final String code; private final String desc; private final String stageDesc; private final boolean isStage; /** * 获取状态码 * * @return 状态码 */ public String getCode() { return code; } /** * 工单阶段构造函数 */ WorkOrderStatusEnum(String stageDesc) { this.code = null; this.desc = null; this.stageDesc = stageDesc; this.isStage = true; } /** * 获取状态描述 * * @return 状态描述 */ public String getDesc() { return desc; } /** * 工单状态构造函数 */ WorkOrderStatusEnum(String code, String desc, String stageDesc) { this.code = code; this.desc = desc; this.stageDesc = stageDesc; this.isStage = false; } /** * 获取工单阶段描述 * * @return 工单阶段描述 */ public String getStageDesc() { return stageDesc; } /** * 获取状态码 * @return 状态码 */ public String getCode() { return code; } public String getMaxCode() { return maxCode; } /** * 获取状态描述 * @return 状态描述 */ public String getDesc() { return desc; } /** * 是否为工单阶段 * * @return 是否为工单阶段 */ public boolean isStage() { return isStage; } /** * 获取工单阶段描述 * @return 工单阶段描述 */ public String getStageDesc() { return stageDesc; } /** * 是否为工单状态 * * @return 是否为工单状态 */ public boolean isStatus() { return !isStage; } /** * 是否为工单阶段 * @return 是否为工单阶段 */ public boolean isStage() { return isStage; } /** * 根据状态码获取枚举对象 * * @param code 状态码 * @return 枚举对象 */ public static WorkOrderStatusEnum getByCode(String code) { if (code == null) { return null; } for (WorkOrderStatusEnum status : values()) { if (code.equals(status.getCode())) { return status; } } return null; } /** * 是否为工单状态 * @return 是否为工单状态 */ public boolean isStatus() { return !isStage; } /** * 根据状态码获取状态描述 * * @param code 状态码 * @return 状态描述 */ public static String getDescByCode(String code) { WorkOrderStatusEnum status = getByCode(code); return status != null ? status.getDesc() : null; } /** * 根据状态码获取枚举对象 * @param code 状态码 * @return 枚举对象 */ public static WorkOrderStatusEnum getByCode(String code) { if (code == null) { return null; } for (WorkOrderStatusEnum status : values()) { if (code.equals(status.getCode())) { return status; } } return null; } /** * 判断状态码是否有效 * * @param code 状态码 * @return 是否有效 */ public static boolean isValid(String code) { return getByCode(code) != null; } /** * 根据状态码获取状态描述 * @param code 状态码 * @return 状态描述 */ public static String getDescByCode(String code) { WorkOrderStatusEnum status = getByCode(code); return status != null ? status.getDesc() : null; } /** * 检查当前状态是否允许指定的操作类型 * * @param operationType 操作类型:1接单,2拒接接单,3申请取消,4申请修改, 5同意取消 6不同意取消 7.同意修改 8.不同意修改 9.协商修改 10.同意修改 11.结算 * @return 是否允许操作 */ public boolean isAllowedOperation(Integer operationType) { if (operationType == null) { return false; } /** * 判断状态码是否有效 * @param code 状态码 * @return 是否有效 */ public static boolean isValid(String code) { return getByCode(code) != null; } /** * 检查当前状态是否允许指定的操作类型 * @param operationType 操作类型:1接单,2拒接接单,3申请取消,4申请修改, 5同意取消 6不同意取消 7.同意修改 8.不同意修改 9.协商修改 10.同意修改 11.结算 * @return 是否允许操作 */ public boolean isAllowedOperation(Integer operationType) { if (operationType == null) { return false; } switch (this) { case PUBLISHING_ACCEPTING: // 发布中_接单中状态允许:1接单,2拒接接单 return operationType == 1 || operationType == 2; case RESPONDING_TO_BE_SPLIT: // 响应中_待拆分状态允许:3申请取消,4申请修改 return operationType == 3 || operationType == 4 ; case RESPONDING_APPLY_CANCEL: // 响应中_申请取消状态允许:5同意取消,6不同意取消 return operationType == 5 || operationType == 6; case RESPONDING_APPLY_MODIFY: // 响应中_申请修改状态允许:7同意修改,8不同意修改 return operationType ==7 || operationType == 8 ; // case RESPONDING_REJECT_CANCEL: // // 响应中_拒绝取消状态允许:3申请取消 // return operationType == 3; // case RESPONDING_REJECT_MODIFY: // // 响应中_拒绝修改状态允许:4申请修改 // return operationType == 4 || operationType == 3; switch (this) { case PUBLISHING_ACCEPTING: // 发布中_接单中状态允许:1接单,2拒接接单 return operationType == 1 || operationType == 2; case RESPONDING_TO_BE_SPLIT: // 响应中_待拆分状态允许:3申请取消,4申请修改 return operationType == 3 || operationType == 4; case RESPONDING_APPLY_CANCEL: // 响应中_申请取消状态允许:5同意取消,6不同意取消 return operationType == 5 || operationType == 6; case RESPONDING_APPLY_MODIFY: // 响应中_申请修改状态允许:7同意修改,8不同意修改 return operationType == 7 || operationType == 8; // case RESPONDING_REJECT_CANCEL: // // 响应中_拒绝取消状态允许:3申请取消 // return operationType == 3; // case RESPONDING_REJECT_MODIFY: // // 响应中_拒绝修改状态允许:4申请修改 // return operationType == 4 || operationType == 3; case ACCEPTED_TO_BE_SETTLED: // 验收通过_待结算状态允许:11结算完成 return operationType == 11; return operationType == 11; case EXECUTING_TO_BE_COMPLETED: // 执行中_待全部完成状态允许:9.协商修改 return operationType == 9; default: // 其他状态不允许操作 return false; } } return operationType == 9; case EXECUTING_NEGOTIATE_MODIFY: // 执行中_状态状态允许:10.同意协商修改 return operationType == 10; default: // 其他状态不允许操作 return false; } } } drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/IGdWorkOrderFlowService.java
@@ -19,6 +19,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import org.sxkj.gd.workorder.entity.GdWorkOrderFlowEntity; import org.sxkj.gd.workorder.vo.GdWorkOrderFlowVO; import org.sxkj.gd.workorder.vo.WorkOrderStageVO; import org.sxkj.gd.workorder.excel.GdWorkOrderFlowExcel; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseService; @@ -49,4 +50,12 @@ */ List<GdWorkOrderFlowExcel> exportGdWorkOrderFlow(Wrapper<GdWorkOrderFlowEntity> queryWrapper); /** * 获取分层结构的流程数据 * * @param queryWrapper 查询条件 * @return 分层结构的流程数据 */ List<WorkOrderStageVO> getHierarchicalFlow(Wrapper<GdWorkOrderFlowEntity> queryWrapper); } drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -139,7 +139,7 @@ gdWorkOrderFlowEntity.setWorkOrderId(gdPatrolTaskEntity.getId()); gdWorkOrderFlowEntity.setFlowName(PatrolTaskStatusEnum.PENDING_SIGNING.getStageDesc()); gdWorkOrderFlowEntity.setFlowDesc(AuthUtil.getUserName() + " " + DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss") + " 发布任务,等待接单"); gdWorkOrderFlowEntity.setOperator(AuthUtil.getUserName()); gdWorkOrderFlowEntity.setOperator(AuthUtil.getNickName()); gdWorkOrderFlowEntity.setType(WorkOrderTypeEnum.PATROL_TASK.getValue()); gdWorkOrderFlowEntity.setAreaCode(gdPatrolTaskEntity.getAreaCode()); gdWorkOrderFlowEntity.setCreateDept(Long.valueOf(AuthUtil.getDeptId())); @@ -305,12 +305,11 @@ flowEntity.setCreateUser(AuthUtil.getUserId()); flowEntity.setWorkOrderId(workOrderId); flowEntity.setFlowName(newStatus.getStageDesc()); flowEntity.setFlowDesc(String.format("%s %s 更新了任务信息,状态转换为:%s", AuthUtil.getUserName(), DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"), newStatus.getStageDesc())); flowEntity.setOperator(AuthUtil.getUserName()); flowEntity.setFlowDesc(newStatus.getDesc()); flowEntity.setOperator(AuthUtil.getNickName()); flowEntity.setType(WorkOrderTypeEnum.WORK_ORDER_TASK.getValue()); flowEntity.setFlowStatus(newStatus.getMaxCode()); flowEntity.setWorkStatus(newStatus.getCode()); flowEntity.setCreateDept(Long.valueOf(AuthUtil.getDeptId())); return gdWorkOrderFlowService.save(flowEntity); } @@ -368,8 +367,8 @@ flowEntity.setCreateUser(AuthUtil.getUserId()); flowEntity.setWorkOrderId(taskEntity.getId()); flowEntity.setFlowName(targetStatus.getDesc()); flowEntity.setFlowDesc(AuthUtil.getUserName() + " " + DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss") + " 更新了任务信息,状态转换为:" + targetStatus.getDesc()); flowEntity.setOperator(AuthUtil.getUserName()); flowEntity.setFlowDesc(AuthUtil.getNickName() + " " + DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss") + " 更新了任务信息,状态转换为:" + targetStatus.getDesc()); flowEntity.setOperator(AuthUtil.getNickName()); flowEntity.setType(WorkOrderTypeEnum.PATROL_TASK.getValue()); flowEntity.setAreaCode(existingTask.getAreaCode()); flowEntity.setCreateDept(Long.valueOf(AuthUtil.getDeptId())); @@ -452,7 +451,7 @@ String flowDesc = buildFlowDesc(newStatus, rejectReason); flowEntity.setFlowDesc(flowDesc); flowEntity.setOperator(AuthUtil.getUserName()); flowEntity.setOperator(AuthUtil.getNickName()); flowEntity.setType(WorkOrderTypeEnum.PATROL_TASK.getValue()); flowEntity.setAreaCode(areaCode); flowEntity.setCreateDept(Long.valueOf(AuthUtil.getDeptId())); @@ -473,7 +472,7 @@ */ private String buildFlowDesc(PatrolTaskStatusEnum newStatus, String rejectReason) { String baseDesc = String.format("%s %s ", AuthUtil.getUserName(), AuthUtil.getNickName(), DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss")); // 拒绝类状态需要添加拒绝原因 drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdWorkOrderFlowServiceImpl.java
@@ -18,14 +18,19 @@ import org.sxkj.gd.workorder.entity.GdWorkOrderFlowEntity; import org.sxkj.gd.workorder.vo.GdWorkOrderFlowVO; import org.sxkj.gd.workorder.vo.WorkOrderStageVO; import org.sxkj.gd.workorder.vo.WorkOrderStatusDetailVO; import org.sxkj.gd.workorder.excel.GdWorkOrderFlowExcel; import org.sxkj.gd.workorder.mapper.GdWorkOrderFlowMapper; import org.sxkj.gd.workorder.service.IGdWorkOrderFlowService; import org.sxkj.gd.workorder.enums.WorkOrderStatusEnum; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.mp.base.BaseServiceImpl; import java.util.List; import java.util.ArrayList; import java.util.Arrays; /** * 流程记录表 服务实现类 @@ -51,4 +56,112 @@ return gdWorkOrderFlowList; } @Override public List<WorkOrderStageVO> getHierarchicalFlow(Wrapper<GdWorkOrderFlowEntity> queryWrapper) { // 1. 从数据库获取实际流程记录 List<GdWorkOrderFlowEntity> actualFlows = list(queryWrapper); // 2. 构建分层结构 return buildHierarchicalFlow(actualFlows); } /** * 构建分层结构的流程数据 * * @param actualFlows 实际流程记录 * @return 分层结构的流程数据 */ private List<WorkOrderStageVO> buildHierarchicalFlow(List<GdWorkOrderFlowEntity> actualFlows) { List<WorkOrderStageVO> stages = new ArrayList<>(); // 3. 遍历所有工单阶段 // 工单发布阶段 stages.add(buildStage(WorkOrderStatusEnum.STAGE_WORK_ORDER_RELEASE.getStageDesc(), Arrays.asList( WorkOrderStatusEnum.PUBLISHING_ACCEPTING.getStageDesc(), WorkOrderStatusEnum.PUBLISHING_REJECTING.getStageDesc() ), actualFlows, "1")); // 接单响应阶段 stages.add(buildStage(WorkOrderStatusEnum.STAGE_ORDER_RESPONSE.getStageDesc(), Arrays.asList( WorkOrderStatusEnum.RESPONDING_TO_BE_SPLIT.getStageDesc(), WorkOrderStatusEnum.RESPONDING_APPLY_CANCEL.getStageDesc(), WorkOrderStatusEnum.RESPONDING_APPLY_MODIFY.getStageDesc(), WorkOrderStatusEnum.RESPONDING_CANCELED.getStageDesc() ), actualFlows, "2")); // 执行中阶段 stages.add(buildStage(WorkOrderStatusEnum.STAGE_IN_EXECUTION.getStageDesc(), Arrays.asList( WorkOrderStatusEnum.EXECUTING_TO_BE_COMPLETED.getStageDesc(), WorkOrderStatusEnum.EXECUTING_NEGOTIATE_MODIFY.getStageDesc() ), actualFlows, "3")); // 完成待验阶段 stages.add(buildStage(WorkOrderStatusEnum.STAGE_COMPLETED_PENDING_INSPECTION.getStageDesc(), Arrays.asList( WorkOrderStatusEnum.COMPLETED_TO_BE_INSPECTED.getStageDesc() ), actualFlows, "4")); // 验收通过阶段 stages.add(buildStage(WorkOrderStatusEnum.STAGE_ACCEPTED.getStageDesc(), Arrays.asList( WorkOrderStatusEnum.ACCEPTED_TO_BE_SETTLED.getStageDesc() ), actualFlows, "5")); // 结算完成阶段 stages.add(buildStage(WorkOrderStatusEnum.STAGE_SETTLEMENT_COMPLETED.getStageDesc(), Arrays.asList( WorkOrderStatusEnum.SETTLEMENT_COMPLETED.getStageDesc() ), actualFlows, "6")); return stages; } /** * 构建单个阶段的流程数据 * * @param stageName 阶段名称 * @param statusNames 状态名称列表 * @param actualFlows 实际流程记录 * @param flowStatus 流程状态码 * @return 阶段流程数据 */ private WorkOrderStageVO buildStage(String stageName, List<String> statusNames, List<GdWorkOrderFlowEntity> actualFlows, String flowStatus) { List<WorkOrderStatusDetailVO> statuses = new ArrayList<>(); // 遍历该阶段的所有状态 for (String statusName : statusNames) { // 查找是否有对应的实际流程记录 GdWorkOrderFlowEntity matchingFlow = findMatchingFlow(actualFlows, statusName, flowStatus); if (matchingFlow != null) { // 已到达的状态 statuses.add(new WorkOrderStatusDetailVO( statusName, true, matchingFlow.getOperator(), matchingFlow.getCreateTime() )); } else { // 未到达的状态 statuses.add(new WorkOrderStatusDetailVO(statusName)); } } return new WorkOrderStageVO(stageName, statuses); } /** * 查找匹配的流程记录 * * @param actualFlows 实际流程记录 * @param statusName 状态名称 * @param flowStatus 流程状态码 * @return 匹配的流程记录,没有则返回null */ private GdWorkOrderFlowEntity findMatchingFlow(List<GdWorkOrderFlowEntity> actualFlows, String statusName, String flowStatus) { for (GdWorkOrderFlowEntity flow : actualFlows) { if (flow.getFlowStatus().equals(flowStatus) && flow.getFlowName().equals(statusName)) { return flow; } } return null; } } drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdWorkOrderServiceImpl.java
@@ -1,6 +1,5 @@ package org.sxkj.gd.workorder.service.impl; import com.alibaba.druid.support.json.JSONUtils; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -35,7 +34,6 @@ import java.util.Date; import java.util.List; import java.util.Objects; /** * 工单任务表 服务实现类 @@ -114,10 +112,6 @@ entity.setWorkOrderStatus(WorkOrderStatusEnum.PUBLISHING_ACCEPTING.getCode()); newStatusEnum = WorkOrderStatusEnum.PUBLISHING_ACCEPTING; break; // case "24": // 响应中_拒绝取消 → 响应中_申请取消 // entity.setWorkOrderStatus(WorkOrderStatusEnum.RESPONDING_APPLY_CANCEL.getCode()); // newStatusEnum = WorkOrderStatusEnum.RESPONDING_APPLY_CANCEL; // break; case "20": // 响应中_待拆分 → 响应中_申请修改 entity.setWorkOrderStatus(WorkOrderStatusEnum.RESPONDING_APPLY_MODIFY.getCode()); newStatusEnum = WorkOrderStatusEnum.RESPONDING_APPLY_MODIFY; @@ -126,10 +120,6 @@ // 直接生成快照,无需处理geom字段 entity.setFullSnapshot(JSON.toJSONString(orderEntity)); break; // case "25": // 响应中_拒绝修改 → 响应中_申请修改 // entity.setWorkOrderStatus(WorkOrderStatusEnum.RESPONDING_APPLY_MODIFY.getCode()); // newStatusEnum = WorkOrderStatusEnum.RESPONDING_APPLY_MODIFY; // break; } saveResult = updateById(entity); } else { @@ -149,9 +139,11 @@ flowEntity.setCreateUser(AuthUtil.getUserId()); flowEntity.setWorkOrderId(entity.getId()); flowEntity.setFlowName(newStatusEnum.getStageDesc()); flowEntity.setFlowDesc(String.format("%s %s", AuthUtil.getUserName(), org.springblade.core.tool.utils.DateUtil.format(now, "yyyy-MM-dd HH:mm:ss"))); flowEntity.setOperator(AuthUtil.getUserName()); flowEntity.setFlowDesc(newStatusEnum.getDesc()); flowEntity.setOperator(AuthUtil.getNickName()); flowEntity.setType(WorkOrderTypeEnum.WORK_ORDER_TASK.getValue()); flowEntity.setFlowStatus(newStatusEnum.getMaxCode()); flowEntity.setWorkStatus(newStatusEnum.getCode()); flowEntity.setAreaCode(entity.getAreaCode()); flowEntity.setCreateDept(Long.valueOf(AuthUtil.getDeptId())); return gdWorkOrderFlowService.save(flowEntity); @@ -249,19 +241,21 @@ flowEntity.setCreateUser(AuthUtil.getUserId()); flowEntity.setWorkOrderId(workOrder.getId()); flowEntity.setFlowName(newStatusEnum.getStageDesc()); flowEntity.setFlowDesc(String.format("%s %s", AuthUtil.getUserName(), org.springblade.core.tool.utils.DateUtil.format(now, CommonConstant.YYYY_MM_DD_HH_MM_SS))); flowEntity.setOperator(AuthUtil.getUserName()); flowEntity.setFlowDesc(newStatusEnum.getDesc()); flowEntity.setOperator(AuthUtil.getNickName()); flowEntity.setType(WorkOrderTypeEnum.WORK_ORDER_TASK.getValue()); flowEntity.setFlowStatus(newStatusEnum.getMaxCode()); flowEntity.setWorkStatus(newStatusEnum.getCode()); flowEntity.setAreaCode(workOrder.getAreaCode()); flowEntity.setCreateDept(Long.valueOf(AuthUtil.getDeptId())); return gdWorkOrderFlowService.save(flowEntity); } // 6. 把待验收的都改为待签收状态 if (operationType == 10) { boolean update = gdPatrolTaskService.update(Wrappers.<GdPatrolTaskEntity>lambdaUpdate() return gdPatrolTaskService.update(Wrappers.<GdPatrolTaskEntity>lambdaUpdate() .set(GdPatrolTaskEntity::getTaskStatus, PatrolTaskStatusEnum.PENDING_SIGNING.getValue()) .eq(GdPatrolTaskEntity::getWorkOrderId, workOrder.getId()) .eq(GdPatrolTaskEntity::getTaskStatus, PatrolTaskStatusEnum.PENDING_ACCEPTANCE.getValue()) .eq(GdPatrolTaskEntity::getTaskStatus, PatrolTaskStatusEnum.AUDIT_PASSED.getValue()) ); }