Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
patzn-cloud-service-hmhj
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangweidong
patzn-cloud-service-hmhj
Commits
4f5fb9d9
Commit
4f5fb9d9
authored
Jul 10, 2021
by
lijingjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加样品判定是否合格;
parent
395a9209
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
170 additions
and
4 deletions
+170
-4
EntrustSampleItemMapper.java
...oud/service/lims/hmhj/mapper/EntrustSampleItemMapper.java
+4
-0
IEntrustSampleItemService.java
.../service/lims/hmhj/service/IEntrustSampleItemService.java
+4
-0
EntrustSampleItemServiceImpl.java
.../lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
+6
-0
EntrustSampleServiceImpl.java
...vice/lims/hmhj/service/impl/EntrustSampleServiceImpl.java
+0
-2
EntrustSampleItemMapper.xml
src/main/resources/mapper/hmhj/EntrustSampleItemMapper.xml
+71
-0
EntrustSampleMapper.xml
src/main/resources/mapper/hmhj/EntrustSampleMapper.xml
+7
-2
20210710增加样品计算结果视图.sql
...st/java/resources/db_sql/hmhj/v146/20210710增加样品计算结果视图.sql
+78
-0
No files found.
src/main/java/com/patzn/cloud/service/lims/hmhj/mapper/EntrustSampleItemMapper.java
View file @
4f5fb9d9
...
@@ -5,12 +5,14 @@ import com.baomidou.mybatisplus.plugins.Page;
...
@@ -5,12 +5,14 @@ import com.baomidou.mybatisplus.plugins.Page;
import
com.patzn.cloud.service.hmhj.dto.QueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.QueryDTO
;
import
com.patzn.cloud.service.hmhj.entity.EntrustSampleItem
;
import
com.patzn.cloud.service.hmhj.entity.EntrustSampleItem
;
import
com.patzn.cloud.commons.mapper.BatchMapper
;
import
com.patzn.cloud.commons.mapper.BatchMapper
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleCalcResultVO
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO
;
import
com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.session.RowBounds
;
import
org.apache.ibatis.session.RowBounds
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* <p>
* <p>
...
@@ -48,4 +50,6 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
...
@@ -48,4 +50,6 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
int
selectUnallocatedCountByEntrustId
(
@Param
(
"entrustId"
)
Long
entrustId
);
int
selectUnallocatedCountByEntrustId
(
@Param
(
"entrustId"
)
Long
entrustId
);
List
<
TesterWorkloadStatsVO
>
selectTesterWorkloadStatus
(
@Param
(
"vo"
)
QueryDTO
queryDTO
);
List
<
TesterWorkloadStatsVO
>
selectTesterWorkloadStatus
(
@Param
(
"vo"
)
QueryDTO
queryDTO
);
List
<
EntrustSampleCalcResultVO
>
selectSampleCalcResult
(
@Param
(
"vo"
)
QueryDTO
queryDTO
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IEntrustSampleItemService.java
View file @
4f5fb9d9
...
@@ -7,12 +7,14 @@ import com.patzn.cloud.service.hmhj.dto.QueryDTO;
...
@@ -7,12 +7,14 @@ import com.patzn.cloud.service.hmhj.dto.QueryDTO;
import
com.patzn.cloud.service.hmhj.entity.EntrustSampleItem
;
import
com.patzn.cloud.service.hmhj.entity.EntrustSampleItem
;
import
com.patzn.cloud.service.hmhj.entity.ItemDeviate
;
import
com.patzn.cloud.service.hmhj.entity.ItemDeviate
;
import
com.patzn.cloud.service.hmhj.entity.OriginalRecord
;
import
com.patzn.cloud.service.hmhj.entity.OriginalRecord
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleCalcResultVO
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO
;
import
com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO
;
import
com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup
;
import
com.patzn.cloud.service.lims.base.entity.LmsUserRelGroup
;
import
com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO
;
import
com.patzn.cloud.service.lims.base.vo.LmsUserRelGroupVO
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 服务类
* 服务类
...
@@ -78,4 +80,6 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
...
@@ -78,4 +80,6 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
Page
<
LmsUserRelGroupVO
>
pageGroupUser
(
Page
<
LmsUserRelGroupVO
>
page
,
LmsUserRelGroup
soilExperiment
);
Page
<
LmsUserRelGroupVO
>
pageGroupUser
(
Page
<
LmsUserRelGroupVO
>
page
,
LmsUserRelGroup
soilExperiment
);
List
<
TesterWorkloadStatsVO
>
getTesterWorkloadStatusQuery
(
QueryDTO
queryDTO
);
List
<
TesterWorkloadStatsVO
>
getTesterWorkloadStatusQuery
(
QueryDTO
queryDTO
);
List
<
EntrustSampleCalcResultVO
>
getSampleCalcResult
(
QueryDTO
queryDTO
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
View file @
4f5fb9d9
...
@@ -16,6 +16,7 @@ import com.patzn.cloud.service.hmhj.entity.*;
...
@@ -16,6 +16,7 @@ import com.patzn.cloud.service.hmhj.entity.*;
import
com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum
;
import
com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum
;
import
com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum
;
import
com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum
;
import
com.patzn.cloud.service.hmhj.enums.EntrustStatusEnum
;
import
com.patzn.cloud.service.hmhj.enums.EntrustStatusEnum
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleCalcResultVO
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleVO
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleVO
;
import
com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO
;
import
com.patzn.cloud.service.hmhj.vo.TesterWorkloadStatsVO
;
...
@@ -862,4 +863,9 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
...
@@ -862,4 +863,9 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
public
List
<
TesterWorkloadStatsVO
>
getTesterWorkloadStatusQuery
(
QueryDTO
queryDTO
){
public
List
<
TesterWorkloadStatsVO
>
getTesterWorkloadStatusQuery
(
QueryDTO
queryDTO
){
return
baseMapper
.
selectTesterWorkloadStatus
(
queryDTO
);
return
baseMapper
.
selectTesterWorkloadStatus
(
queryDTO
);
}
}
@Override
public
List
<
EntrustSampleCalcResultVO
>
getSampleCalcResult
(
QueryDTO
queryDTO
){
return
baseMapper
.
selectSampleCalcResult
(
queryDTO
);
}
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleServiceImpl.java
View file @
4f5fb9d9
...
@@ -200,8 +200,6 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
...
@@ -200,8 +200,6 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
}
for
(
EntrustSampleVO
vo
:
voList
)
{
for
(
EntrustSampleVO
vo
:
voList
)
{
vo
.
setIndexList
(
sampleIndexMap
.
get
(
vo
.
getId
()));
vo
.
setIndexList
(
sampleIndexMap
.
get
(
vo
.
getId
()));
// 获取检测结果,判定是否合格
}
}
// 数据排序,有结果的排在前面,无结果排后面
// 数据排序,有结果的排在前面,无结果排后面
Collections
.
sort
(
voList
,
Comparator
.
comparingInt
(
t
->
CollectionUtils
.
isNotEmpty
(
t
.
getIndexList
())
?
1
:
0
));
Collections
.
sort
(
voList
,
Comparator
.
comparingInt
(
t
->
CollectionUtils
.
isNotEmpty
(
t
.
getIndexList
())
?
1
:
0
));
...
...
src/main/resources/mapper/hmhj/EntrustSampleItemMapper.xml
View file @
4f5fb9d9
...
@@ -370,4 +370,75 @@
...
@@ -370,4 +370,75 @@
</if>
</if>
GROUP BY i.tester_id,i.tester,o.org_name
GROUP BY i.tester_id,i.tester,o.org_name
</select>
</select>
<!--查询样品是否合格-->
<select
id=
"selectSampleCalcResult"
resultType=
"com.patzn.cloud.service.hmhj.vo.EntrustSampleCalcResultVO"
>
select
t.entrust_id,
t.sample_id,
t.sample_name,
t.compose_judge,
t.sum_compare,
t.sum_value,
(case when t.compose_judge = 1 and min(t.calc_result) > 0 then
(case when strpos(t.sum_compare,'>') > 0 then sum(case when t.item_compose_judge = 1 then to_number(t.test_value,'9999.99') else 0 end ) - t.sum_value
else t.sum_value - sum(case when t.item_compose_judge = 1 then to_number(t.test_value,'9999.99') else 0 end ) end)
else min(t.calc_result) end ) "calcResult"
from (
with gspi as (
SELECT
g.*,
gi.grading_product_id,
gi.name,
gi.compose_judge "item_compose_judge",
gi.decision_symbol,
gi.limit_value
from (SELECT
gp.grading_standard_id,
gs.compose_judge,
gp.sum_compare,
(case when strpos(gp.sum_compare,'>') > 0 then max(gp.sum_value) else min(gp.sum_value) end) "sum_value"
FROM
grading_product gp
join grading_standard gs on gs.id = gp.grading_standard_id
WHERE
gp.deleted = 0 and gs.deleted = 0
group by gp.grading_standard_id,gs.compose_judge , gp.sum_compare
order by gp.grading_standard_id
) g
join grading_product gpt on (g.grading_standard_id = gpt.grading_standard_id and g.sum_compare = gpt.sum_compare and g.sum_value = gpt.sum_value)
join grading_item gi on gi.grading_product_id = gpt.id
where gpt.deleted = 0 and gi.deleted = 0
)
select
s.company_id,
s.entrust_id,
s.id "sample_id",
s.name "sample_name",
i.name "item_name",
ii.test_value,
g.*,
(case when strpos(g.decision_symbol,'>') > 0 then to_number(ii.test_value,'9999.99') - to_number(g.limit_value,'9999.99')
else to_number(ii.test_value,'9999.99') - to_number(g.limit_value,'9999.99') end ) "calc_result"
from entrust_sample_item i
join entrust_sample_item_index ii on ii.entrust_sample_item_id = i.id
join entrust_sample s on s.id = i.entrust_sample_id
join gspi g on g.grading_standard_id = s.product_standard_id and strpos(i.name,g.name) >= 0
where i.deleted = 0 and ii.deleted = 0
<if
test=
"null != vo.entrustId"
>
and s.entrust_id = #{vo.entrustId}
</if>
<if
test=
"null != vo.sampleId"
>
and s.id = #{vo.sampleId}
</if>
) t
group by
t.entrust_id,
t.sample_id,
t.sample_name,
t.compose_judge,
t.sum_compare,
t.sum_value
</select>
</mapper>
</mapper>
src/main/resources/mapper/hmhj/EntrustSampleMapper.xml
View file @
4f5fb9d9
...
@@ -108,17 +108,22 @@
...
@@ -108,17 +108,22 @@
e.entrust_time,
e.entrust_time,
e.test_side,
e.test_side,
s.supplier,
s.supplier,
s.manufacturer
s.manufacturer,
(case when cr.calc_result != null then (case when cr.calc_result
>
0 then 1 else 0 end) else null end) "isQualified"
FROM entrust_sample s
FROM entrust_sample s
JOIN entrust e ON s.entrust_id = e.ID
JOIN entrust e ON s.entrust_id = e.ID
JOIN (
JOIN (
SELECT i.entrust_sample_id FROM entrust_sample_item i
SELECT i.entrust_sample_id FROM entrust_sample_item i
JOIN entrust_sample_item_index x ON i.ID = x.entrust_sample_item_id
JOIN entrust_sample_item_index x ON i.ID = x.entrust_sample_item_id
WHERE i.deleted = 0 AND x.deleted = 0 AND x.test_value IS NOT NULL
WHERE i.deleted = 0 AND x.deleted = 0 AND x.test_value IS NOT NULL
GROUP BY i.entrust_sample_id
GROUP BY i.entrust_sample_id
) k ON s.ID = k.entrust_sample_id
) k ON s.ID = k.entrust_sample_id
left join (
-- 实际每个样品一条记录,此处去除测试冗余数据
select cr.sample_id,max(cr.calc_result) "calc_result" from v_sample_calc_result cr
group by cr.sample_id
) cr on cr.sample_id = s.id
WHERE
WHERE
s.deleted = 0
s.deleted = 0
AND e.deleted = 0
AND e.deleted = 0
...
...
src/test/java/resources/db_sql/hmhj/v146/20210710增加样品计算结果视图.sql
0 → 100644
View file @
4f5fb9d9
create
or
replace
view
v_sample_calc_result
create
or
replace
view
v_sample_calc_result
as
SELECT
t
.
company_id
,
t
.
entrust_id
,
t
.
sample_id
,
t
.
sample_name
,
t
.
compose_judge
,
t
.
sum_compare
,
t
.
sum_value
,
CASE
WHEN
t
.
compose_judge
=
1
AND
min
(
t
.
calc_result
)
>
0
::
numeric
THEN
CASE
WHEN
strpos
(
t
.
sum_compare
::
text
,
'<'
::
text
)
>
0
THEN
t
.
sum_value
-
sum
(
CASE
WHEN
t
.
item_compose_judge
=
1
THEN
to_number
(
t
.
test_value
::
text
,
'9999.99'
::
text
)
ELSE
0
::
numeric
END
)
ELSE
sum
(
CASE
WHEN
t
.
item_compose_judge
=
1
THEN
to_number
(
t
.
test_value
::
text
,
'9999.99'
::
text
)
ELSE
0
::
numeric
END
)
-
t
.
sum_value
END
ELSE
min
(
t
.
calc_result
)
END
AS
calc_result
FROM
(
WITH
gspi
AS
(
SELECT
g_1
.
grading_standard_id
,
g_1
.
compose_judge
,
g_1
.
sum_compare
,
g_1
.
sum_value
,
gi
.
grading_product_id
,
gi
.
name
,
gi
.
compose_judge
AS
item_compose_judge
,
gi
.
decision_symbol
,
gi
.
limit_value
FROM
(
SELECT
gp
.
grading_standard_id
,
gs
.
compose_judge
,
gp
.
sum_compare
,
CASE
WHEN
strpos
(
gp
.
sum_compare
::
text
,
'>'
::
text
)
>
0
THEN
max
(
gp
.
sum_value
)
ELSE
min
(
gp
.
sum_value
)
END
AS
sum_value
FROM
grading_product
gp
JOIN
grading_standard
gs
ON
gs
.
id
=
gp
.
grading_standard_id
WHERE
gp
.
deleted
=
0
AND
gs
.
deleted
=
0
GROUP
BY
gp
.
grading_standard_id
,
gs
.
compose_judge
,
gp
.
sum_compare
ORDER
BY
gp
.
grading_standard_id
)
g_1
JOIN
grading_product
gpt
ON
g_1
.
grading_standard_id
=
gpt
.
grading_standard_id
AND
g_1
.
sum_compare
::
text
=
gpt
.
sum_compare
::
text
AND
g_1
.
sum_value
=
gpt
.
sum_value
JOIN
grading_item
gi
ON
gi
.
grading_product_id
=
gpt
.
id
WHERE
gpt
.
deleted
=
0
AND
gi
.
deleted
=
0
)
SELECT
s
.
company_id
,
s
.
entrust_id
,
s
.
id
AS
sample_id
,
s
.
name
AS
sample_name
,
i
.
name
AS
item_name
,
ii
.
test_value
,
g
.
grading_standard_id
,
g
.
compose_judge
,
g
.
sum_compare
,
g
.
sum_value
,
g
.
grading_product_id
,
g
.
name
,
g
.
item_compose_judge
,
g
.
decision_symbol
,
g
.
limit_value
,
CASE
WHEN
strpos
(
g
.
decision_symbol
::
text
,
'>'
::
text
)
>
0
THEN
to_number
(
ii
.
test_value
::
text
,
'9999.99'
::
text
)
-
to_number
(
g
.
limit_value
::
text
,
'9999.99'
::
text
)
ELSE
to_number
(
ii
.
test_value
::
text
,
'9999.99'
::
text
)
-
to_number
(
g
.
limit_value
::
text
,
'9999.99'
::
text
)
END
AS
calc_result
FROM
entrust_sample_item
i
JOIN
entrust_sample_item_index
ii
ON
ii
.
entrust_sample_item_id
=
i
.
id
JOIN
entrust_sample
s
ON
s
.
id
=
i
.
entrust_sample_id
JOIN
gspi
g
ON
g
.
grading_standard_id
=
s
.
product_standard_id
AND
strpos
(
i
.
name
::
text
,
g
.
name
::
text
)
>=
0
WHERE
i
.
deleted
=
0
AND
ii
.
deleted
=
0
)
t
GROUP
BY
t
.
company_id
,
t
.
entrust_id
,
t
.
sample_id
,
t
.
sample_name
,
t
.
compose_judge
,
t
.
sum_compare
,
t
.
sum_value
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment