mobilebroken/nflg-mobilebroken-repository/src/main/resources/mapper/GongfuDispatchMapper.xml

91 lines
4.3 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nflg.mobilebroken.repository.mapper.GongfuDispatchMapper">
<select id="search" resultType="com.nflg.mobilebroken.common.pojo.vo.DispatchVO">
SELECT da.*,dv.customer_name,bc.agency_company_name as agent_name,af.reason as "delayReason",af2.id as
"applyforId",if(da.create_by_id =#{userId} or da.handler_user_id = #{userId},1,0) AS usort,di.name as "typeDesc"
FROM gongfu_dispatch da
LEFT JOIN v_gongfu_device dv ON da.device_no=dv.device_no
LEFT JOIN t_base_customer bc ON dv.service_agent_code=bc.agency_company_code
left join v_dispatch_applyfor af on da.id=af.ticket_id
refactor(admin-device): 优化设备数据有效状态和数据类型处理 - 更新设备时将相同设备编号其他数据设置为无效状态 - 在设备列表实体中添加数据有效状态字段 - 统一设备删除方法参数类型从Integer改为Long - 调整设备新增校验逻辑及删除接口参数类型 - 修改部件相关接口ID字段及参数类型为Long - 迁移延期相关字段到派工实体和接口 - 优化派工单权限校验逻辑 - 修复消息发送中用户类型不符导致的问题 feat(file): 支持HEIC格式图片上传并转换为PNG - 新增依赖支持HEIC图片转换 - 上传单个及多个文件时自动转换HEIC格式文件为PNG - 调整文件上传路径生成规范 - 新增分片上传支持和相关接口调整 fix(redis): 修复工单消息未读标识的Redis键名错误 - 修正聊天消息未读标识存储的Redis key前缀错误 - 修复工单拒绝记录的Redis key存储逻辑错误 feat(global-advice): 添加文件上传大小超过限制的异常处理 - 优化全局异常处理类,新增MaxUploadSizeExceededException捕获 - 返回明确的上传文件大小限制提示信息 refactor(user): 统一执行人及创建更新人ID类型为Long或String - 将外部用户、派工单及相关VO和实体中执行人ID改为Long - 调整创建人、更新人字段类型为String,方便展示操作人员姓名 - 添加部门查询支持,递归查询子部门ID集合 chore(config): 调整文件上传配置提高最大文件大小及阈值 - 将单文件最大上传大小由100MB提升至500MB - 设置多文件最大请求大小为500MB - 增加文件阈值和上传临时路径配置 style(code): 统一代码格式与注释规范 - 统一空格和注解风格 - 修正代码缩进及多余空行 - 优化日志和异常信息输出格式
2025-12-12 17:57:13 +08:00
left join gongfu_dispatch_applyfor af2 on da.id=af2.ticket_id and af2.audit_state=0
left join dictionary_item di on da.type=di.id
<where>
<if test="request.deviceNo!=null and request.deviceNo!=''">
AND da.device_no=#{request.deviceNo}
</if>
<if test="request.handlerUserName!=null and request.handlerUserName!=''">
AND da.handler_user_name LIKE CONCAT('%',#{request.handlerUserName},'%')
</if>
<if test="request.customerName!=null and request.customerName!=''">
AND dv.customer_name LIKE CONCAT('%',#{request.customerName},'%')
</if>
<if test="request.state!=null">
AND da.state=#{request.state}
</if>
<if test="request.category!=null">
AND da.category= #{request.category}
</if>
<if test="request.createUserName!=null and request.createUserName!=''">
AND da.create_by LIKE CONCAT('%',#{request.createUserName},'%')
</if>
<if test="request.startDate!=null">
AND da.plan_start_date >= #{request.startDate}
</if>
<if test="request.endDate!=null">
AND da.plan_end_date &gt;= #{request.endDate}
</if>
<if test="request.key!=null and request.key!=''">
AND (da.device_no like concat('%',#{request.key},'%')
or da.handler_user_name like concat('%',#{request.key},'%')
or da.title like concat('%',#{request.key},'%')
or dv.customer_name like concat('%',#{request.key},'%')
)
</if>
<if test="request.ids!=null">
AND da.id in
<foreach collection="request.ids" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
ORDER BY usort DESC,da.state,da.plan_start_date DESC,da.id DESC
</select>
<select id="getInfo" resultType="com.nflg.mobilebroken.common.pojo.vo.DispatchVO">
SELECT da.*,dv.customer_name,bc.agency_company_name as agent_name,af.reason as "delayReason"
, di1.name as "typeDesc"
, di2.name as "categoryDesc"
FROM gongfu_dispatch da
LEFT JOIN v_gongfu_device dv ON da.device_no=dv.device_no
LEFT JOIN t_base_customer bc ON dv.service_agent_code=bc.agency_company_code
left join v_dispatch_applyfor af on da.id=af.ticket_id
left join dictionary_item di1 on da.type = di1.id
left join dictionary_item di2 on da.category = di2.id
where da.id = #{id}
</select>
feat(bi): 新增工单及派工相关业务指标统计接口 - 增加工单处理状态统计功能,返回未完成数、完成数及平均处理时长 - 实现责任人绩效统计,支持按处理数量或平均时长排序分页返回 - 新增出差天数统计,区分国内外出差并返回人员出差详情 - 增加计划达成率统计,按人员汇总完成情况及计划总数 - 实现人员派工统计,支持分页查询并返回进行中状态及未完成数量 - 添加BIDispatchQuery查询参数,支持按部门、用户名及状态筛选 - 扩展GongfuDispatchService支持BIDispatchQuery的业务数据查询 - ApiResult新增分页数据封装success方法支持分页参数返回 feat(common): 新增HEIC图片格式转换PNG工具及支持 - 新增ImageUtil工具类,通过ImageMagick命令行将HEIC格式图片转换为PNG格式 - 文件上传模块(Admin及CFS)支持HEIC图片自动转换为PNG再上传 - 调整文件格式后缀统一为小写,处理HEIC上传时文件类型自动换为.png - 移除对commons-imaging和imageio-heif依赖,改用外部ImageMagick工具实现转换 - 增加readme.md说明服务器需安装ImageMagick以及HEIC支持相关环境依赖和源码编译步骤 fix(dispatch): 修正派工相关编码及消息通知中派工单编号字段 - 派工单编码统一使用code字段替代原no字段用于消息通知及文件关联 - 去除DispatchAddRequest中deviceNo的@NotBlank注解,添加手动校验规则 - 优化DispatchController,新增机台编号非空校验逻辑 - 修复部分代码重复设置CurrentHandle现象,确保责任人数据准确传递 refactor(common): 细节优化及代码规范调整 - DateTimeUtil新增日期差计算及字符串解析方法 - DeviceVO添加客户名称属性,设备查询接口支持按设备名称模糊搜索 - API请求与返回VO新增及规范化,实现各统计视图对应VO结构 - 优化分页查询基础类PageBaseQuery格式及默认值设置 - 文件上传相关异常处理及流关闭逻辑完善,统一代码风格及格式 - GongfuTicketServiceImpl修正责任人ID设置,确保工单处理流程数据一致性
2025-12-17 18:01:15 +08:00
<select id="getForBI" resultType="com.nflg.mobilebroken.repository.entity.GongfuDispatch">
SELECT gd.*
FROM gongfu_dispatch gd
LEFT JOIN admin_user au ON gd.handler_user_id = au.id
WHERE gd.handler_user_type=1 and gd.state in
<foreach collection="states" close=")" open="(" item="state" separator=",">
#{state}
</foreach>
<if test="deptId!=null">
and au.department_id=#{deptId}
</if>
<if test="startDate!=null">
and gd.plan_start_date >= #{startDate}
</if>
<if test="endDate!=null">
and gd.plan_end_date &lt;= #{endDate}
</if>
<if test="userName!=null and userName!=''">
and au.user_name LIKE CONCAT('%',#{userName},'%')
</if>
</select>
</mapper>