Commit 57bb7192 by ghxdhr

Merge branch 'master' of git.patzn.com:wangweidong/patzn-cloud-service-hmhj

parents c73c9c9c 0e2025c1
...@@ -178,7 +178,7 @@ ...@@ -178,7 +178,7 @@
i.ID = ii.entrust_sample_item_id i.ID = ii.entrust_sample_item_id
AND i.deleted = 0 AND i.deleted = 0
AND ii.deleted = 0 AND ii.deleted = 0
and ii.test_value is not null and ii.test_value is not null and is_numeric(ii.test_value)
GROUP BY i.company_id,i.entrust_sample_id GROUP BY i.company_id,i.entrust_sample_id
) )
SELECT SELECT
...@@ -222,36 +222,36 @@ ...@@ -222,36 +222,36 @@
i.company_id, i.company_id,
i.entrust_sample_id, i.entrust_sample_id,
sum(case when ii.name = '电解质-MgF2' then 1 else 0 end) "mgf_num", sum(case when ii.name = '电解质-MgF2' then 1 else 0 end) "mgf_num",
sum(case when ii.name = '电解质-MgF2' then ROUND(CAST(ii.test_value AS NUMERIC),5)) else 0.00 end) "mgf_val", sum(case when ii.name = '电解质-MgF2' then ROUND(CAST(ii.test_value AS NUMERIC),5) else 0.00 end) "mgf_val",
sum(case when ii.name = '电解质-氧化铝' then 1 else 0 end) "alo_num", sum(case when ii.name = '电解质-氧化铝' then 1 else 0 end) "alo_num",
sum(case when ii.name = '电解质-氧化铝' then ROUND(CAST(ii.test_value AS NUMERIC),5)) else 0.00 end) "alo_val", sum(case when ii.name = '电解质-氧化铝' then ROUND(CAST(ii.test_value AS NUMERIC),5) else 0.00 end) "alo_val",
sum(case when ii.name = '电解质-氟化钙' then 1 else 0 end) "caf_num", sum(case when ii.name = '电解质-氟化钙' then 1 else 0 end) "caf_num",
sum(case when ii.name = '电解质-氟化钙' then ROUND(CAST(ii.test_value AS NUMERIC),5)) else 0.00 end) "caf_val", sum(case when ii.name = '电解质-氟化钙' then ROUND(CAST(ii.test_value AS NUMERIC),5) else 0.00 end) "caf_val",
sum(case when ii.name = '电解质-分子比' then 1 else 0 end) "fzb_num", sum(case when ii.name = '电解质-分子比' then 1 else 0 end) "fzb_num",
sum(case when ii.name = '电解质-分子比' then ROUND(CAST(ii.test_value AS NUMERIC),5)) else 0.00 end) "fzb_val", sum(case when ii.name = '电解质-分子比' then ROUND(CAST(ii.test_value AS NUMERIC),5) else 0.00 end) "fzb_val",
sum(case when ii.name = '电解质-分子比' and ROUND(CAST(ii.test_value AS NUMERIC),5)) <= 2.15 then 1 else 0 end) "lt216_num", sum(case when ii.name = '电解质-分子比' and ROUND(CAST(ii.test_value AS NUMERIC),5) <= 2.15 then 1 else 0 end) "lt216_num",
sum(case when ii.name = '电解质-分子比' and sum(case when ii.name = '电解质-分子比' and
ROUND(CAST(ii.test_value AS NUMERIC),5)) > 2.15 and ROUND(CAST(ii.test_value AS NUMERIC),5)) <= 2.20 ROUND(CAST(ii.test_value AS NUMERIC),5) > 2.15 and ROUND(CAST(ii.test_value AS NUMERIC),5) <= 2.20
then 1 else 0 end then 1 else 0 end
) "gt215_lte220_num", ) "gt215_lte220_num",
sum(case when ii.name = '电解质-分子比' and sum(case when ii.name = '电解质-分子比' and
ROUND(CAST(ii.test_value AS NUMERIC),5)) > 2.20 and ROUND(CAST(ii.test_value AS NUMERIC),5)) <= 2.25 ROUND(CAST(ii.test_value AS NUMERIC),5) > 2.20 and ROUND(CAST(ii.test_value AS NUMERIC),5) <= 2.25
then 1 else 0 end then 1 else 0 end
) "gt220_lte225_num", ) "gt220_lte225_num",
sum(case when ii.name = '电解质-分子比' and sum(case when ii.name = '电解质-分子比' and
ROUND(CAST(ii.test_value AS NUMERIC),5)) > 2.25 and ROUND(CAST(ii.test_value AS NUMERIC),5)) <= 2.30 ROUND(CAST(ii.test_value AS NUMERIC),5) > 2.25 and ROUND(CAST(ii.test_value AS NUMERIC),5) <= 2.30
then 1 else 0 end then 1 else 0 end
) "gt225_lte230_num", ) "gt225_lte230_num",
sum(case when ii.name = '电解质-分子比' and sum(case when ii.name = '电解质-分子比' and
ROUND(CAST(ii.test_value AS NUMERIC),5)) > 2.30 and ROUND(CAST(ii.test_value AS NUMERIC),5)) <= 2.35 ROUND(CAST(ii.test_value AS NUMERIC),5) > 2.30 and ROUND(CAST(ii.test_value AS NUMERIC),5) <= 2.35
then 1 else 0 end then 1 else 0 end
) "gt230_lte235_num", ) "gt230_lte235_num",
sum(case when ii.name = '电解质-分子比' and sum(case when ii.name = '电解质-分子比' and
ROUND(CAST(ii.test_value AS NUMERIC),5)) > 2.35 and ROUND(CAST(ii.test_value AS NUMERIC),5)) <= 2.40 ROUND(CAST(ii.test_value AS NUMERIC),5) > 2.35 and ROUND(CAST(ii.test_value AS NUMERIC),5) <= 2.40
then 1 else 0 end then 1 else 0 end
) "gt235_lte240_num", ) "gt235_lte240_num",
sum(case when ii.name = '电解质-分子比' and ROUND(CAST(ii.test_value AS NUMERIC),5)) > 2.40 then 1 else 0 end ) "gt240_num" sum(case when ii.name = '电解质-分子比' and ROUND(CAST(ii.test_value AS NUMERIC),5) > 2.40 then 1 else 0 end ) "gt240_num"
FROM FROM
entrust_sample_item i, entrust_sample_item i,
entrust_sample_item_index ii entrust_sample_item_index ii
...@@ -260,7 +260,7 @@ ...@@ -260,7 +260,7 @@
and ii.name like '%电解质-%' and ii.name like '%电解质-%'
AND i.deleted = 0 AND i.deleted = 0
AND ii.deleted = 0 AND ii.deleted = 0
and ii.test_value is not null and ii.test_value is not null and is_numeric(ii.test_value)
GROUP BY i.company_id,i.entrust_sample_id GROUP BY i.company_id,i.entrust_sample_id
) )
SELECT SELECT
...@@ -328,11 +328,11 @@ ...@@ -328,11 +328,11 @@
i.company_id, i.company_id,
u.period, u.period,
i.entrust_sample_id, 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 = '磷生铁-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", 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",
round(sum(case when ii.name = '磷生铁-Mn' then ROUND(CAST(ii.test_value AS NUMERIC),5)) else 0.00 end) / coalesce(sum(case when ii.name = '磷生铁-Mn' then 1 else null end),1),2) "mn_val", round(sum(case when ii.name = '磷生铁-Mn' then ROUND(CAST(ii.test_value AS NUMERIC),5) else 0.00 end) / coalesce(sum(case when ii.name = '磷生铁-Mn' then 1 else null end),1),2) "mn_val",
round(sum(case when ii.name = '磷生铁-P' then ROUND(CAST(ii.test_value AS NUMERIC),5)) else 0.00 end) / coalesce(sum(case when ii.name = '磷生铁-P' then 1 else null end),1),2) "p_val", round(sum(case when ii.name = '磷生铁-P' then ROUND(CAST(ii.test_value AS NUMERIC),5) else 0.00 end) / coalesce(sum(case when ii.name = '磷生铁-P' then 1 else null end),1),2) "p_val",
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" 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 FROM
entrust_sample_item i, entrust_sample_item i,
entrust_sample_item_index ii, entrust_sample_item_index ii,
...@@ -344,7 +344,7 @@ ...@@ -344,7 +344,7 @@
-- and ii.name like '%磷生铁-%' -- and ii.name like '%磷生铁-%'
AND i.deleted = 0 AND i.deleted = 0
AND ii.deleted = 0 AND ii.deleted = 0
AND ii.test_value is not null AND ii.test_value is not null and is_numeric(ii.test_value)
<if test="null != vo.timeS and null != vo.timeE"> <if test="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} and to_char(i.test_time, 'YYYY-MM-dd HH24:MI:SS') BETWEEN #{vo.timeS} AND #{vo.timeE}
</if> </if>
......
CREATE OR REPLACE FUNCTION "public"."is_numeric"("txtstr" varchar)
CREATE OR REPLACE FUNCTION "public"."is_numeric"("txtstr" varchar)
RETURNS "pg_catalog"."bool" AS $BODY$
BEGIN
RETURN txtStr ~ '^([0-9]+[.]?[0-9]*|[.][0-9]+)$';
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment