From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
jnpf-lims/jnpf-lims-biz/src/main/resources/mapper/LimsWendingxingWanchengMapper.xml | 95 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 95 insertions(+), 0 deletions(-)
diff --git a/jnpf-lims/jnpf-lims-biz/src/main/resources/mapper/LimsWendingxingWanchengMapper.xml b/jnpf-lims/jnpf-lims-biz/src/main/resources/mapper/LimsWendingxingWanchengMapper.xml
new file mode 100644
index 0000000..85d9a68
--- /dev/null
+++ b/jnpf-lims/jnpf-lims-biz/src/main/resources/mapper/LimsWendingxingWanchengMapper.xml
@@ -0,0 +1,95 @@
+<?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="jnpf.limsMapper.LimsWendingxingWanchengMapper">
+
+ <resultMap id="jihuaZhixingCountMap" type="jnpf.limsEntity.LimsWendingxingJihuaZhixingCountRow">
+ <id property="kaocaJihuaId" column="kaoca_jihua_id"/>
+ <result property="totalCount" column="total_count"/>
+ <result property="yizhixingCount" column="yizhixing_count"/>
+ </resultMap>
+
+ <resultMap id="jianyanCountMap" type="jnpf.limsEntity.LimsWendingxingJianyanCountRow">
+ <id property="wendingxingJiluId" column="wendingxing_jilu_id"/>
+ <result property="qingyandanCount" column="qingyandan_count"/>
+ <result property="jianyanXiangCount" column="jianyan_xiang_count"/>
+ <result property="jianyanJieguoLuruCount" column="jianyan_jieguo_luru_count"/>
+ </resultMap>
+
+ <!-- 鐢ㄤ富閿父鏍囧垎椤碉紝閬垮厤鍓嶄竴鎵圭姸鎬佹洿鏂板悗缁撴灉闆嗘敹缂╁鑷� OFFSET 璺宠銆� -->
+ <select id="selectJihuaZhixingPage" resultMap="jihuaZhixingCountMap">
+ SELECT a.kaoca_jihua_id,
+ COUNT(*) AS total_count,
+ COUNT(*) FILTER (WHERE a.shifou_yizhixing = 'yes') AS yizhixing_count
+ FROM lims_wendingxing_kaoca_jihua_zhouqi a
+ INNER JOIN lims_wendingxing_kaoca_jihua b
+ ON b.f_id = a.kaoca_jihua_id
+ WHERE a.f_delete_mark IS NULL
+ AND b.f_delete_mark IS NULL
+ AND b.biz_status IN ('enabled', 'end_checking')
+ AND a.shifou_jixu_zhixing <> 'no'
+ <if test="lastJihuaId != null and lastJihuaId != ''">
+ AND a.kaoca_jihua_id > #{lastJihuaId}
+ </if>
+ GROUP BY a.kaoca_jihua_id
+ ORDER BY a.kaoca_jihua_id ASC
+ LIMIT #{pageSize}
+ </select>
+
+ <select id="selectJianyanCounts" resultMap="jianyanCountMap">
+ WITH filtered_a AS (
+ SELECT DISTINCT f_id, wendingxing_jilu_id
+ FROM lims_qingyandan
+ WHERE qingyan_fenlei = 'wendingxing'
+ AND wendingxing_jilu_id IN
+ <foreach collection="jihuaIds" item="id" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ )
+ SELECT a.wendingxing_jilu_id,
+ COUNT(DISTINCT (a.f_id)) AS qingyandan_count,
+ COUNT(b.f_id) AS jianyan_xiang_count,
+ COUNT(b.f_id) FILTER (
+ WHERE NULLIF(BTRIM(b.jianyan_jieguo), '') IS NOT NULL
+ ) AS jianyan_jieguo_luru_count
+ FROM filtered_a a
+ LEFT JOIN public.lims_jianyan_xiang b
+ ON b.qingyandan_id = a.f_id
+ GROUP BY a.wendingxing_jilu_id
+ ORDER BY a.wendingxing_jilu_id
+ </select>
+
+ <select id="updateJihuaYiwanchengReturning" resultType="java.lang.String">
+ UPDATE lims_wendingxing_kaoca_jihua
+ SET biz_status = 'yiwancheng'
+ WHERE f_delete_mark IS NULL
+ AND biz_status IN ('enabled', 'end_checking')
+ AND f_id IN
+ <foreach collection="jihuaIds" item="id" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ RETURNING f_id
+ </select>
+
+ <select id="selectCompletionDetails" resultType="jnpf.limsEntity.LimsStabilityCompletionRow">
+ SELECT p.f_id AS id,
+ p.f_tenant_id AS tenantId,
+ p.f_creator_user_id AS creatorUserId,
+ p.bianhao AS planCode,
+ p.kaoca_mingcheng AS planName,
+ p.yangpin_mingcheng AS sampleName,
+ STRING_AGG(DISTINCT NULLIF(c.pihao, ''), '銆�') AS batchNo,
+ p.zhouqi_leixing_id AS stabilityType,
+ COUNT(c.f_id) AS cycleCount
+ FROM lims_wendingxing_kaoca_jihua p
+ LEFT JOIN lims_wendingxing_kaoca_jihua_zhouqi c
+ ON c.kaoca_jihua_id = p.f_id
+ AND (c.f_delete_mark IS NULL OR c.f_delete_mark <> 1)
+ AND (c.shifou_jixu_zhixing IS NULL OR c.shifou_jixu_zhixing <> 'no')
+ WHERE p.f_id IN
+ <foreach collection="jihuaIds" item="id" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ GROUP BY p.f_id, p.f_tenant_id, p.f_creator_user_id, p.bianhao,
+ p.kaoca_mingcheng, p.yangpin_mingcheng, p.zhouqi_leixing_id
+ </select>
+</mapper>
--
Gitblit v1.8.0