吉安感知网项目-后端
linwei
2026-01-26 35cdd3229f733699338e4158a95808552309742e
工单优化
3 files modified
28 ■■■■■ changed files
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/entity/GdWorkOrderEntity.java 4 ●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/WorkOrderStatusEnum.java 2 ●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdWorkOrderServiceImpl.java 22 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/entity/GdWorkOrderEntity.java
@@ -24,6 +24,7 @@
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import org.sxkj.gd.config.GeometryTypeHandler;
import java.util.Date;
@@ -99,7 +100,8 @@
     * 经纬度面(存储地理面数据)
     */
    @ApiModelProperty(value = "经纬度面(存储地理面数据)")
    @TableField("geom")
    // @TableField("geom")
    @TableField(typeHandler = GeometryTypeHandler.class)
    private String geom;
    /**
     * 备注
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/enums/WorkOrderStatusEnum.java
@@ -67,7 +67,7 @@
    /**
     * 响应中_申请修改
     */
    RESPONDING_APPLY_MODIFY("22", "响应中_申请修改", "申请取消"),
    RESPONDING_APPLY_MODIFY("22", "响应中_申请修改", "申请修改"),
    /**
     * 响应中_已取消
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdWorkOrderServiceImpl.java
@@ -94,27 +94,33 @@
        }
        // 保存操作
        Integer saveResult;
        Boolean saveResult;
        Date now = new Date();
        WorkOrderStatusEnum newStatusEnum = WorkOrderStatusEnum.PUBLISHING_ACCEPTING;
        if (entity.getId() != null) {
            // 更新操作
            entity.setUpdateUser(AuthUtil.getUserId());
            entity.setUpdateTime(now);
            // 状态转换:拒绝状态修改后自动转换为待处理状态
            switch (entity.getWorkOrderStatus()) {
                case "11": // 发布中_拒绝接单 → 发布中_接单中
                    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;
                    break;
                case "25": // 响应中_拒绝修改 → 响应中_申请修改
                    entity.setWorkOrderStatus(WorkOrderStatusEnum.RESPONDING_APPLY_MODIFY.getCode());
                    newStatusEnum = WorkOrderStatusEnum.RESPONDING_APPLY_MODIFY;
                    break;
            }
            saveResult = baseMapper.updateWorkOrderById(entity);
            saveResult = updateById(entity);
        } else {
            // 新增操作
            entity.setCreateUser(AuthUtil.getUserId());
@@ -122,16 +128,16 @@
            entity.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
            entity.setStatus(1);
            entity.setIsDeleted(0);
            saveResult = baseMapper.saveWorkOrder(entity);
            saveResult = save(entity);
        }
        // 保存成功则保存流转记录
        if (saveResult > 0) {
        if (saveResult) {
            // 构建并保存流转记录
            GdWorkOrderFlowEntity flowEntity = new GdWorkOrderFlowEntity();
            flowEntity.setCreateUser(AuthUtil.getUserId());
            flowEntity.setWorkOrderId(entity.getId());
            flowEntity.setFlowName(WorkOrderStatusEnum.STAGE_WORK_ORDER_RELEASE.getStageDesc());
            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.setType(WorkOrderTypeEnum.WORK_ORDER_TASK.getValue());
@@ -164,7 +170,7 @@
        if (currentStatus == null || !currentStatus.isAllowedOperation(operationType)) {
            return false;
        }
        // 1接单,2拒接接单,3申请取消,4申请修改, 5同意取消  6不同意取消 7.同意修改 8.不同意修改 9.协商修改 10.同意修改
        // 1接单,2拒接接单,3申请取消,4申请修改, 5同意取消  6不同意取消 7.同意修改 8.不同意修改 9.协商修改 10.同意修改 11.结算
        // 3. 确定新状态和流转名称
        WorkOrderStatusEnum newStatusEnum;
        switch (operationType) {
@@ -212,8 +218,8 @@
        Date now = new Date();
        workOrder.setWorkOrderStatus(newStatusEnum.getCode());
        workOrder.setUpdateUser(AuthUtil.getUserId());
        workOrder.setGeom(null);
        workOrder.setUpdateTime(now);
        workOrder.setGeom(null);
        workOrder.setRejectReason(statusParam.getRejectReason());
        boolean updateResult = updateById(workOrder);