heli-mes/mes-module-heli/mes-module-heli-biz/src/main/resources/mapper/unqualifiednotification/UnqualifiedNotificationMapper.xml

111 lines
4.9 KiB
XML
Raw Normal View History

2025-01-09 18:29:48 +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.chanko.yunxi.mes.module.heli.dal.mysql.unqualifiednotification.UnqualifiedNotificationMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
2025-07-10 21:12:33 +08:00
<select id="QualityStatistics"
resultType="com.chanko.yunxi.mes.module.heli.controller.admin.unqualifiednotification.vo.QualityStatistics">
SELECT
t.*
FROM
(
SELECT
t.create_time as createTime,
t.project_name AS projectName,
c.NAME AS customerName,
t.project_sub_name AS projectSubName,
t.bom_name AS bomName,
0 AS type,
CASE
WHEN t.is_qua = 1 THEN
'是'
WHEN t.is_qua = 0 THEN
'否' ELSE '未知'
END AS isQua,
t.amount AS amount,
u1.nickname AS userName,
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS testingTime,
pro.NAME AS procedureName,
u2.nickname AS auditorName,
DATE_FORMAT(t.audit_time, '%Y-%m-%d') AS auditTime,
t.audit_opinion AS auditOpinion,
p.CODE AS projectCode,
t.project_sub_number AS projectSubNumber
FROM
quality_pg_master_line t
LEFT JOIN project_sale_order p ON t.project_id = p.id
LEFT JOIN base_customer c ON p.customer_id = c.id
LEFT JOIN system_users u1 ON t.detil_user = u1.id
LEFT JOIN system_users u2 ON t.auditor = u2.id
LEFT JOIN base_procedure pro ON t.procedure_id = pro.id
WHERE
t.is_qua = 1
AND t.deleted = 0
UNION ALL
SELECT
t.create_time as createTime,
t.project_name AS projectName,
c.NAME AS customerName,
t.project_sub_name AS projectSubName,
'' AS bomName,
1 AS type,
CASE
WHEN t.is_qua = 1 THEN
'是'
WHEN t.is_qua = 0 THEN
'否' ELSE '未知'
END AS isQua,
t.amount AS amount,
u1.nickname AS userName,
DATE_FORMAT(t.create_time, '%Y-%m-%d') AS testingTime,
'' AS procedureName,
u2.nickname AS auditorName,
DATE_FORMAT(t.audit_time, '%Y-%m-%d') AS auditTime,
t.audit_opinion AS auditOpinion,
p.CODE AS projectCode,
t.project_sub_number AS projectSubNumber
FROM
quality_zj_pg_master_line t
LEFT JOIN project_sale_order p ON t.project_id = p.id
LEFT JOIN base_customer c ON p.customer_id = c.id
LEFT JOIN system_users u1 ON t.detil_user = u1.id
LEFT JOIN system_users u2 ON t.auditor = u2.id
WHERE
t.is_qua = 1
AND t.deleted = 0
) t
where 1=1
<if test="pageReqVO.projectCode!=null and pageReqVO.projectCode!=''">
and t.projectCode =#{pageReqVO.projectCode}
</if>
<if test="pageReqVO.projectName!=null and pageReqVO.projectName!=''">
and t.projectName =#{pageReqVO.projectName}
</if>
<if test="pageReqVO.projectSubCode!=null and pageReqVO.projectSubCode!=''">
and t.projectSubNumber =#{pageReqVO.projectSubCode}
</if>
<if test="pageReqVO.projectCode!=null and pageReqVO.projectCode!=''">
and t.projectCode =#{pageReqVO.projectCode}
</if>
<if test="pageReqVO.projectSubName!=null and pageReqVO.projectSubName!=''">
and t.projectSubName =#{pageReqVO.projectSubName}
</if>
<if test="pageReqVO.type!=null and pageReqVO.type!=''">
and t.type =#{pageReqVO.type}
</if>
<if test="pageReqVO.auditOpinion!=null and pageReqVO.auditOpinion!=''">
and t.auditOpinion =#{pageReqVO.auditOpinion}
</if>
order by t.createTime desc
</select>
2025-01-09 18:29:48 +08:00
</mapper>