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

147 lines
7.3 KiB
XML
Raw Normal View History

2025-01-19 11:30:15 +08:00
<?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.DeviceMapper">
<select id="getByDeviceNo" resultType="com.nflg.mobilebroken.common.pojo.vo.DeviceInfoVO">
SELECT d.device_no AS 'deviceNo'
, d.model_no AS 'modelNo'
, d.device_type AS 'deviceType'
, d.device_type_sub AS 'deviceTypeSub'
, d.warranty_state AS 'warrantyState'
, d.shipment_date AS 'shipmentDate'
, d.start_warranty_date AS 'startWarrantyDate'
, d.warranty_month AS 'warrantyMonth'
, d.customer_name AS 'customerName'
<!-- , dc.id AS 'componentId'-->
, d.agent_name
,c.area_name,d.type,d.address,d.product_line
FROM v_all_device d
<!-- LEFT JOIN device_component dc ON d.model_no = dc.model_no AND dc.`enable` = 1-->
LEFT JOIN t_base_customer c ON c.agency_company_code=d.agent_code
WHERE d.device_no = #{deviceNo}
2025-11-14 10:46:57 +08:00
ORDER BY d.data_valid_state DESC,d.device_state DESC
LIMIT 1;
2025-01-19 11:30:15 +08:00
</select>
2025-01-25 23:30:44 +08:00
<sql id="whr">
<if test="query.deviceNo!=null and query.deviceNo!=''">
and a.device_no LIKE concat('%', #{query.deviceNo}, '%')
2025-01-25 23:30:44 +08:00
</if>
<if test="query.customerName!=null and query.customerName!=''">
and a.customer_name LIKE concat('%', #{query.customerName}, '%')
2025-01-25 23:30:44 +08:00
</if>
<if test="query.agentName!=null and query.agentName!=''">
2025-02-20 22:30:39 +08:00
and a.agent_name=#{query.agentName}
2025-01-25 23:30:44 +08:00
</if>
<if test="query.modelNo!=null and query.modelNo!=''">
and a.model_no LIKE concat('%', #{query.modelNo}, '%')
2025-01-25 23:30:44 +08:00
</if>
<if test="query.warrantyState!=null and query.warrantyState!=''">
2025-02-20 22:30:39 +08:00
and a.warranty_state=#{query.warrantyState}
2025-01-25 23:30:44 +08:00
</if>
<if test="query.warrantyStartDate!=null and query.warrantyStartDate!=''">
and a.start_warranty_date &gt;= #{query.warrantyStartDate} and start_warranty_date &lt;=
#{query.warrantyEndDate}
2025-01-25 23:30:44 +08:00
</if>
</sql>
<select id="getList" resultType="com.nflg.mobilebroken.repository.entity.Device">
select a.* ,b.area_code ,b.area_name
from device a
2025-02-20 22:30:39 +08:00
left join t_base_customer b on a.agent_code=b.agency_company_code
where data_valid_state=1
2025-01-25 23:30:44 +08:00
<include refid="whr"/>
</select>
<update id="batchDelByIds">
update device set data_valid_state=0 where id in
<foreach collection="ids" open="(" close=")" item="item" separator=",">
#{item}
</foreach>
</update>
2025-02-12 15:39:20 +08:00
<select id="searchDevice" resultType="com.nflg.mobilebroken.common.pojo.vo.DeviceVO">
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 d.device_no,d.device_name,d.model_no,d.device_type,d.shipment_date,d.customer_name
,IFNULL(dit2.value,di2.value) AS 'warrantyState'
FROM v_all_device d
2025-02-13 14:11:41 +08:00
INNER JOIN t_base_customer c ON d.agent_code=c.agency_company_code
2025-03-07 15:42:29 +08:00
INNER JOIN dictionary_item di ON di.id=d.device_state
LEFT JOIN dictionary_item di2 ON di2.id=d.warranty_state
LEFT JOIN dictionary_item_translate dit2 ON dit2.dictionary_item_id=d.warranty_state AND dit2.language_code=#{language}
WHERE d.data_valid_state=1 AND di.`code`='Normal'
<if test="companyIds!=null">
AND c.id IN
<foreach collection="companyIds" open="(" close=")" item="companyId" separator=",">
#{companyId}
</foreach>
</if>
<if test="request.customerName!=null and request.customerName!=''">
and d.customer_name = #{request.customerName}
</if>
2025-02-13 22:33:33 +08:00
<if test="request.deviceNo!=null and request.deviceNo!=''">
and d.device_no LIKE concat('%', #{request.deviceNo}, '%')
</if>
<if test="request.modelNo!=null and request.modelNo!=''">
and d.model_no LIKE concat('%', #{request.modelNo}, '%')
</if>
<if test="request.startTime!=null and request.startTime!=''">
and d.shipment_date >= #{request.startTime}
</if>
<if test="request.endTime!=null and request.endTime!=''">
and d.shipment_date &lt;= #{request.endTime}
</if>
2025-07-29 11:05:24 +08:00
<if test="request.key!=null and request.key!=''">
and (d.device_no LIKE concat('%', #{request.key}, '%')
or d.model_no LIKE concat('%', #{request.key}, '%')
or d.customer_name LIKE concat('%', #{request.key}, '%')
)
2025-07-29 11:05:24 +08:00
</if>
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
<if test="request.deviceName!=null and request.deviceName!=''">
and d.device_name LIKE concat('%', #{request.deviceName}, '%')
</if>
2025-02-12 15:39:20 +08:00
</select>
2025-02-22 18:19:29 +08:00
<!--定时任务-质保未开始-->
<update id="taskWarrantyStateNotStarted">
update device set warranty_state=(select b.id from dictionary a
join dictionary_item b on a.id=b.dictionary_id
where a.code='deviceWarrantyState' and b.`code`='NotStarted') where start_warranty_date>now();
</update>
<!--定时任务-质保外-->
<update id="taskWarrantyStateNotOutsideWarranty">
update device set warranty_state=(select b.id from dictionary a
join dictionary_item b on a.id=b.dictionary_id
where a.code='deviceWarrantyState' and b.`code`='OutsideWarranty') where DATE_ADD(start_warranty_date, INTERVAL warranty_month MONTH) &lt; now();
</update>
<!--定时任务-质保内-->
<update id="taskWarrantyStateNotOutsideWithinWarranty">
update device set warranty_state=(select b.id from dictionary a
join dictionary_item b on a.id=b.dictionary_id
where a.code='deviceWarrantyState' and b.`code`='WithinWarranty') where start_warranty_date &lt;= now() and DATE_ADD(start_warranty_date, INTERVAL warranty_month MONTH) &gt;= now() ;
</update>
2025-03-04 20:04:15 +08:00
<select id="getComponents" resultType="com.nflg.mobilebroken.common.pojo.vo.ComponentInfo">
2025-04-25 11:00:06 +08:00
SELECT p.id, if(LENGTH(ld.language_value)>0,ld.language_value,p.part_name) AS 'name'
2025-03-04 20:04:15 +08:00
FROM device_component_detail dcd
inner join device_component dc ON dc.id = dcd.device_component_id
INNER JOIN t_base_part p ON dcd.model_part_id = p.id
LEFT JOIN t_base_language_data ld ON dcd.model_part_id = ld.source_id
WHERE p.enable=1 AND dc.`enable` = 1 AND dc.model_no=#{modelNo} AND ld.language_code=#{language}
2025-03-04 20:04:15 +08:00
</select>
2025-03-09 17:27:42 +08:00
<select id="getAgents" resultType="com.nflg.mobilebroken.common.pojo.vo.DeviceAgentVO">
SELECT DISTINCT agent_code,agent_name
FROM device
WHERE LENGTH(agent_code)>0
</select>
<select id="getComponents1" resultType="com.nflg.mobilebroken.common.pojo.vo.ComponentInfo">
SELECT p.id, if(LENGTH(ld.language_value)>0,ld.language_value,p.part_name) AS 'name'
FROM gongfu_device_component_detail dcd
inner join gongfu_device_component dc ON dc.id = dcd.device_component_id
INNER JOIN gongfu_device_part p ON dcd.model_part_id = p.id
LEFT JOIN gongfu_device_part_language_data ld ON dcd.model_part_id = ld.source_id
WHERE p.enable=1 AND dc.`enable` = 1 AND dc.model_no=#{modelNo} AND ld.language_code=#{language}
</select>
2025-01-19 11:30:15 +08:00
</mapper>