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
37668653
Commit
37668653
authored
Jun 19, 2021
by
lijingjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加根据委托单号查询样品
parent
a8009615
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
81 additions
and
26 deletions
+81
-26
EntrustSampleItemMapper.java
...oud/service/lims/hmhj/mapper/EntrustSampleItemMapper.java
+2
-0
EntrustSampleItemServiceImpl.java
.../lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
+56
-26
EntrustSampleItemMapper.xml
src/main/resources/mapper/hmhj/EntrustSampleItemMapper.xml
+17
-0
20210618新增字段.sql
src/test/java/resources/db_sql/hmhj/v113/20210618新增字段.sql
+6
-0
No files found.
src/main/java/com/patzn/cloud/service/lims/hmhj/mapper/EntrustSampleItemMapper.java
View file @
37668653
...
...
@@ -40,4 +40,6 @@ public interface EntrustSampleItemMapper extends BatchMapper<EntrustSampleItem>
List
<
EntrustSampleItemVO
>
selectByOriginalRecordId
(
@Param
(
"originalRecordId"
)
Long
originalRecordId
);
List
<
EntrustSampleItemVO
>
selectMinStatusBySampleIds
(
@Param
(
"sampleIds"
)
List
<
Long
>
sampleIds
);
List
<
EntrustSampleItemVO
>
selectByEntrustId
(
@Param
(
"entrustId"
)
Long
entrustId
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
View file @
37668653
...
...
@@ -11,6 +11,7 @@ import com.patzn.cloud.oss.starter.OssClient;
import
com.patzn.cloud.service.hmhj.entity.*
;
import
com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum
;
import
com.patzn.cloud.service.hmhj.enums.EntrustSampleStatusEnum
;
import
com.patzn.cloud.service.hmhj.enums.EntrustStatusEnum
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleVO
;
import
com.patzn.cloud.service.lims.common.CompareUtils
;
...
...
@@ -49,6 +50,9 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
private
IEntrustSampleService
entrustSampleService
;
@Autowired
private
IEntrustRecordService
entrustRecordService
;
@Autowired
private
IEntrustSampleItemIndexService
entrustSampleItemIndexService
;
...
...
@@ -175,24 +179,45 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
@Override
public
boolean
submitTest
(
Long
[]
ids
,
Account
account
)
{
RestAssert
.
fail
(
ArrayUtils
.
isEmpty
(
ids
),
"请选择要提交的检测项目"
);
List
<
EntrustSampleItem
>
list
=
super
.
list
(
Condition
.
create
().
in
(
"id"
,
ids
).
eq
(
"status"
,
EntrustSampleItemStatusEnum
.
TEST
));
RestAssert
.
fail
(
list
.
size
()
!=
ids
.
length
,
"请选择待检测的检测项目"
);
// 不再对检测值进行判断
// for (EntrustSampleItem sampleItem:list) {
// RestAssert.fail(StringUtils.isBlank(sampleItem.getTestValue()),"检测项目名称:"+sampleItem.getName()+"未填写检测值,请确认!");
// }
// List<EntrustSampleItem> list = super.list(Condition.create().in("id", ids).eq("status", EntrustSampleItemStatusEnum.TEST));
// RestAssert.fail(list.size() != ids.length, "请选择待检测的检测项目");
List
<
EntrustSampleItem
>
list
=
super
.
list
(
Condition
.
create
().
in
(
"id"
,
ids
));
// 获取样品信息
EntrustSample
entrustSample
=
entrustSampleService
.
getById
(
list
.
get
(
0
).
getEntrustSampleId
());
RestAssert
.
fail
(
null
==
entrustSample
,
"样品信息不能为空"
);
// 获取委托编号
long
entrustId
=
entrustSample
.
getEntrustId
();
// 委托信息
Entrust
entrust
=
entrustService
.
getById
(
entrustId
);
// ==
List
<
EntrustSampleItemVO
>
itemList
=
baseMapper
.
selectByEntrustId
(
entrustId
);
// 若存在检测项目没有完成的,不可提交
// RestAssert.fail(itemList.stream().filter(t -> (null == t.getEndIndex() || 0 == t.getEndIndex().intValue())).count() > 0, "存在没有完成检测的检测项目");
// 若存在检测项目没有完成的,不可提交
for
(
EntrustSampleItemVO
item
:
itemList
)
{
RestAssert
.
fail
(
null
==
item
.
getEndIndex
()
||
0
==
item
.
getEndIndex
().
intValue
(),
"检测项目名称:"
+
item
.
getName
()
+
"未填写检测值,请确认!"
);
}
EntrustSampleItem
item
=
new
EntrustSampleItem
();
item
.
setTestTime
(
new
Date
());
item
.
setStatus
(
EntrustSampleItemStatusEnum
.
CHECK
);
item
.
setProgress
(
EntrustSampleItemStatusEnum
.
CHECK
);
item
.
setStatus
(
EntrustSampleItemStatusEnum
.
END
);
item
.
setProgress
(
EntrustSampleItemStatusEnum
.
END
);
super
.
update
(
item
,
Condition
.
create
().
in
(
"id"
,
ids
));
entrustSampleItemRecordService
.
record
(
ids
,
EntrustSampleItemStatusEnum
.
TEST
.
getDisplay
(),
EntrustSampleItemStatusEnum
.
CHECK
.
getDisplay
(),
0
,
"数据录入提交"
,
account
);
entrustSampleItemRecordService
.
record
(
ids
,
EntrustSampleItemStatusEnum
.
TEST
.
getDisplay
(),
EntrustSampleItemStatusEnum
.
END
.
getDisplay
(),
0
,
"数据录入提交"
,
account
);
// 提交为报告编制
EntrustSample
sample
=
new
EntrustSample
().
setStatus
(
EntrustSampleStatusEnum
.
REPORT_MAKE
).
setLid
(
account
.
getUserId
()).
setLtime
(
new
Date
());
entrustSampleService
.
update
(
sample
,
Condition
.
create
().
eq
(
"entrust_id"
,
entrustId
));
// 样品操作日志
// 暂时不提供
/// 修改委托信息
entrust
.
setLid
(
account
.
getUserId
()).
setLtime
(
new
Date
()).
setProgress
(
EntrustStatusEnum
.
MAKE
).
setStatus
(
EntrustStatusEnum
.
MAKE
);
entrustService
.
updateById
(
entrust
);
// 添加委托日志
entrustRecordService
.
record
(
new
Long
[]{
entrustId
},
EntrustStatusEnum
.
TEST
.
getDisplay
(),
EntrustStatusEnum
.
TEST
.
getDisplay
(),
0
,
account
,
"提交至报告编制"
);
return
true
;
}
...
...
@@ -212,7 +237,6 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
item
.
setCheckerId
(
account
.
getUserId
());
item
.
setCheckTime
(
new
Date
());
super
.
update
(
item
,
Condition
.
create
().
in
(
"id"
,
ids
));
entrustSampleItemRecordService
.
record
(
ids
,
EntrustSampleItemStatusEnum
.
CHECK
.
getDisplay
(),
EntrustSampleItemStatusEnum
.
AUDIT
.
getDisplay
(),
0
,
"数据复核提交"
,
account
);
return
true
;
...
...
@@ -339,35 +363,34 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
e
.
printStackTrace
();
}
if
(
null
!=
template
.
getMoreItem
()&&
1
==
template
.
getMoreItem
())
{
if
(
null
!=
template
.
getMoreItem
()
&&
1
==
template
.
getMoreItem
())
{
Set
<
Long
>
sampleIdsList
=
new
HashSet
<>();
for
(
EntrustSampleItemVO
itemVO
:
voList
)
{
sampleIdsList
.
add
(
itemVO
.
getEntrustSampleId
());
}
List
<
EntrustSample
>
sampleList
=
entrustSampleService
.
list
(
Condition
.
create
().
in
(
"id"
,
sampleIdsList
));
List
<
EntrustSample
>
sampleList
=
entrustSampleService
.
list
(
Condition
.
create
().
in
(
"id"
,
sampleIdsList
));
List
<
EntrustSampleVO
>
sampleVOList
=
new
ArrayList
<>(
sampleList
.
size
());
for
(
EntrustSample
sample
:
sampleList
)
{
EntrustSampleVO
vo
=
sample
.
convert
(
EntrustSampleVO
.
class
);
EntrustSampleVO
vo
=
sample
.
convert
(
EntrustSampleVO
.
class
);
vo
.
setIndexList
(
entrustSampleItemIndexService
.
listBySampleId
(
sample
.
getId
()));
sampleVOList
.
add
(
vo
);
}
if
(
null
==
template
.
getSampleBeginRow
()
||
null
==
template
.
getSampleMergerNum
()||
null
==
template
.
getTemplateSampleNum
())
{
if
(
null
==
template
.
getSampleBeginRow
()
||
null
==
template
.
getSampleMergerNum
()
||
null
==
template
.
getTemplateSampleNum
())
{
return
null
;
}
if
(
voList
.
size
()
<
template
.
getTemplateSampleNum
())
{
MoreItemOperation
moreItemOperation
=
new
MoreItemOperation
(
template
,
sampleVOList
,
entrust
,
configList
,
xssfWorkbook
);
if
(
voList
.
size
()
<
template
.
getTemplateSampleNum
())
{
MoreItemOperation
moreItemOperation
=
new
MoreItemOperation
(
template
,
sampleVOList
,
entrust
,
configList
,
xssfWorkbook
);
moreItemOperation
.
doMakeOriginal
();
}
else
{
MoreItemMoreOperation
moreItemOperation
=
new
MoreItemMoreOperation
(
template
,
sampleVOList
,
entrust
,
configList
,
xssfWorkbook
);
}
else
{
MoreItemMoreOperation
moreItemOperation
=
new
MoreItemMoreOperation
(
template
,
sampleVOList
,
entrust
,
configList
,
xssfWorkbook
);
moreItemOperation
.
doMakeOriginal
();
}
}
else
{
}
else
{
OriginalFactory
factory
=
new
OriginalFactory
(
template
,
voList
,
entrust
,
configList
,
xssfWorkbook
);
Operation
operation
=
factory
.
getOperation
();
if
(
null
!=
operation
)
{
...
...
@@ -376,7 +399,6 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
}
FileOutputStream
os
=
null
;
File
file
=
null
;
String
generated
=
"原始记录"
;
...
...
@@ -559,13 +581,21 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
// 获取样品检测项目数据
List
<
EntrustSampleItem
>
sampleItemList
=
list
(
Condition
.
create
().
eq
(
"compose_judge"
,
1
)
.
eq
(
"entrust_sample_id"
,
sample
.
getId
()));
RestAssert
.
fail
(
CollectionUtils
.
isEmpty
(
sampleItemList
),
"样品检测项目不能为空"
);
List
<
Long
>
itemIdList
=
sampleItemList
.
stream
().
map
(
EntrustSampleItem:
:
getId
).
collect
(
Collectors
.
toList
());
// 获取检测项目指标数据
List
<
EntrustSampleItemIndex
>
sampleItemIndexList
=
entrustSampleItemIndexService
.
list
(
Condition
.
create
()
.
in
(
"entrust_sample_item_id"
,
itemIdList
).
eq
(
"deleted"
,
0
).
isNotNull
(
"name"
));
// 计算合计值
BigDecimal
totalValue
=
sampleItemList
.
stream
().
map
(
t
->
new
BigDecimal
(
t
.
getTestValue
())).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
BigDecimal
totalValue
=
sampleItem
Index
List
.
stream
().
map
(
t
->
new
BigDecimal
(
t
.
getTestValue
())).
reduce
(
BigDecimal
.
ZERO
,
BigDecimal:
:
add
);
double
total
=
totalValue
.
doubleValue
();
// 获取检测项目值对象
Map
<
String
,
Double
>
itemDataMap
=
sampleItemList
.
stream
().
collect
(
Collectors
.
toMap
(
EntrustSampleItem:
:
getName
,
t
->
Double
.
parseDouble
(
t
.
getTestValue
())));
Map
<
String
,
Double
>
itemDataMap
=
sampleItemIndexList
.
stream
().
collect
(
Collectors
.
toMap
(
t
->
{
return
t
.
getName
().
substring
(
0
,
t
.
getName
().
lastIndexOf
(
"-"
));
},
t
->
Double
.
parseDouble
(
t
.
getTestValue
())));
// 获得产品标准信息
GradingStandard
standard
=
gradingStandardService
.
getById
(
sample
.
getProductStandardId
());
RestAssert
.
fail
(
null
==
standard
,
"产品标准不能为空"
);
...
...
src/main/resources/mapper/hmhj/EntrustSampleItemMapper.xml
View file @
37668653
...
...
@@ -293,4 +293,21 @@
</select>
<!--根据委托ID查询检测项目数据-->
<select
id=
"selectByEntrustId"
resultType=
"com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO"
>
SELECT i.id,i.name,i.entrust_sample_id,s.entrust_id,i.agreed_value,i.test_value,i.standard,s.code AS "sampleCode"
,s.name AS "sampleName", s.sample_shape ,s.sample_quantity, s.standard, s.sample_from,s.product_code,s.name_code,
(case when COALESCE(ii."END_INDEX",0) = 0 then 0 else 1 end) "endIndex"
FROM
entrust_sample_item i
JOIN entrust_sample s ON i.entrust_sample_id = s.ID
left join (
SELECT ii.entrust_sample_item_id, (CASE WHEN COUNT (1) = 0 THEN 0 ELSE 1 END) "END_INDEX"
FROM entrust_sample_item_index ii WHERE ii.deleted = 0 AND ii.test_value is not null
GROUP BY ii.entrust_sample_item_id
) ii on ii.entrust_sample_item_id = i.id
WHERE i.deleted = 0 AND s.deleted = 0
AND s.entrust_id = #{entrustId}
</select>
</mapper>
src/test/java/resources/db_sql/hmhj/v113/20210618新增字段.sql
0 → 100644
View file @
37668653
ALTER
TABLE
"public"
.
"entrust_sample"
ALTER
TABLE
"public"
.
"entrust_sample"
ADD
COLUMN
"slot_no"
varchar
(
32
)
COLLATE
"pg_catalog"
.
"default"
;
COMMENT
ON
COLUMN
"public"
.
"entrust_sample"
.
"slot_no"
IS
'槽号'
;
\ 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