吉安感知网项目-后端
linwei
2026-04-09 100b15efb7e655add8de26d71b80b882db05cabc
opt:工单状态调整
2 files modified
1 files added
61 ■■■■ changed files
drone-common/src/main/java/org/sxkj/common/handler/StringToIntegerTypeHandler.java 44 ●●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/entity/GdPatrolTaskEntity.java 4 ●●●● patch | view | raw | blame | history
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java 13 ●●●● patch | view | raw | blame | history
drone-common/src/main/java/org/sxkj/common/handler/StringToIntegerTypeHandler.java
New file
@@ -0,0 +1,44 @@
package org.sxkj.common.handler;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ibatis.type.MappedTypes;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
 * String 与 smallint/int 的类型转换处理器
 * 用于 Java 字段为 String 但数据库列为 smallint/int 的场景
 * 写入时将 String 转为 Integer,读取时将 Integer 转为 String
 */
@MappedTypes(String.class)
@MappedJdbcTypes(JdbcType.SMALLINT)
public class StringToIntegerTypeHandler extends BaseTypeHandler<String> {
    @Override
    public void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType) throws SQLException {
        ps.setInt(i, Integer.parseInt(parameter));
    }
    @Override
    public String getNullableResult(ResultSet rs, String columnName) throws SQLException {
        Object value = rs.getObject(columnName);
        return value == null ? null : value.toString();
    }
    @Override
    public String getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
        Object value = rs.getObject(columnIndex);
        return value == null ? null : value.toString();
    }
    @Override
    public String getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
        Object value = cs.getObject(columnIndex);
        return value == null ? null : value.toString();
    }
}
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/entity/GdPatrolTaskEntity.java
@@ -16,12 +16,15 @@
 */
package org.sxkj.gd.workorder.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import org.sxkj.common.handler.StringToIntegerTypeHandler;
import java.util.Date;
@@ -92,6 +95,7 @@
     * 状态:0待签收、1拒绝签收、2已撤回、3待审核、4审核驳回、5审核通过、6待验收、7拒绝验收、8验收通过
     */
    @ApiModelProperty(value = "状态:0待签收、1拒绝签收、2已撤回、3待审核、4审核驳回、5审核通过、6待验收、7拒绝验收、8验收通过")
    @TableField(typeHandler = StringToIntegerTypeHandler.class)
    private String taskStatus;
    /**
     * 区域编码
drone-service/drone-gd/src/main/java/org/sxkj/gd/workorder/service/impl/GdPatrolTaskServiceImpl.java
@@ -365,13 +365,12 @@
                targetStatus = PatrolTaskStatusEnum.PENDING_AUDIT;
                break;
            default:
                // 其他状态,保持原有状态
                targetStatus = PatrolTaskStatusEnum.getByValue(currentStatus);
                // 如果无法获取枚举,使用待签收作为默认状态
                if (targetStatus == null) {
                    targetStatus = PatrolTaskStatusEnum.PENDING_SIGNING;
                }
                break;
            // 其他状态,保持原有状态
            targetStatus = PatrolTaskStatusEnum.getByValue(currentStatus);
            // 如果无法获取枚举,使用待签收作为默认状态
            if (targetStatus == null) {
                targetStatus = PatrolTaskStatusEnum.PENDING_SIGNING;
            }
        }
        // 3. 设置任务状态:使用枚举设置任务状态