select i.entrust_sample_id, max(i.group_id) "group_id" from entrust_sample_item i where i.deleted = 0
group by i.entrust_sample_id
) i on i.entrust_sample_id = s.id
JOIN sample_item i on i.entrust_sample_id = s.id
WHERE deleted = 0
<iftest="null != vo.entrustId">
AND s.entrust_id = #{vo.entrustId}
...
...
@@ -57,14 +81,23 @@
AND s.code LIKE CONCAT('%',#{vo.code},'%')
</if>
<iftest="null != vo.name">
AND s.name LIKE CONCAT('%',#{vo.name},'%')
</if>
<iftest="null != vo.type">
AND s.type = #{vo.type}
</if>
<iftest="null != vo.retake">
AND s.retake = #{vo.retake}
</if>
<iftest="null != vo.notStatus">
AND s.status != #{vo.notStatus}
</if>
<!--
<if test="null != vo.itemStatus or null != vo.itemStatusList or null != vo.testerId">
AND exists (
select 1 from entrust_sample_item i where i.deleted = 0 and i.entrust_sample_id = s.id
...
...
@@ -85,6 +118,7 @@
</if>
)
</if>
-->
<iftest="null != vo.statusList">
and s.status IN
...
...
@@ -353,7 +387,7 @@
FROM (
SELECT
i.company_id,
u.period,
i.period,
i.entrust_sample_id,
round(sum(case when ii.name = '磷生铁中C' then ROUND(CAST(ii.test_value AS NUMERIC),5) else 0.00 end) / coalesce(sum(case when ii.name = '磷生铁中C' then 1 else null end),1),2) "c_val",
round(sum(case when ii.name = '磷生铁中Si' then ROUND(CAST(ii.test_value AS NUMERIC),5) else 0.00 end) / coalesce(sum(case when ii.name = '磷生铁中Si' then 1 else null end),1),2) "si_val",
...
...
@@ -362,14 +396,12 @@
round(sum(case when ii.name = '磷生铁中S' then ROUND(CAST(ii.test_value AS NUMERIC),5) else 0.00 end) / coalesce(sum(case when ii.name = '磷生铁中S' then 1 else null end),1),2) "s_val"
FROM
entrust_sample_item i,
entrust_sample_item_index ii,
-- 此视图需要关联base数据库查询,具体查看设计视图
v_sys_user_period U
entrust_sample_item_index ii
WHERE
i.ID = ii.entrust_sample_item_id
AND I.TESTER_ID = u.USER_ID
AND i.deleted = 0
AND ii.deleted = 0
AND i.period is not null
AND ii.test_value is not null and is_numeric(ii.test_value)
AND EXISTS (
select 1 from entrust_sample s where s.id = i.entrust_sample_id and s.deleted = 0
...
...
@@ -378,7 +410,7 @@
<iftest="null != vo.timeS and null != vo.timeE">
and to_char(i.test_time, 'YYYY-MM-dd HH24:MI:SS') BETWEEN #{vo.timeS} AND #{vo.timeE}
</if>
GROUP BY i.company_id,u.period,i.entrust_sample_id
GROUP BY i.company_id,i.period,i.entrust_sample_id
SUM ( CASE WHEN i.status = 20 AND COALESCE ( ii.fill_num, 0 ) = 0 THEN 1 ELSE 0 END ) "notTesting"
FROM
v_sys_user u
JOIN v_lms_user_group ug ON u.user_id = ug.user_id
JOIN entrust_sample_item i ON ug.user_id = i.tester_Id
JOIN v_lms_user_group ug ON u.user_id = ug.user_id
LEFT JOIN entrust_sample_item i ON ug.user_id = i.tester_Id
AND i.deleted = 0
LEFT JOIN ( SELECT ii.entrust_sample_item_id, COUNT ( 1 ) "fill_num" FROM entrust_sample_item_index ii WHERE ii.deleted = 0 GROUP BY ii.entrust_sample_item_id ) ii ON ii.entrust_sample_item_id = i.ID