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
8e6a9177
Commit
8e6a9177
authored
Jul 07, 2021
by
lijingjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加复制委托功能;
修改统计原铝品味展示问题;
parent
9d81f9ad
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
118 additions
and
34 deletions
+118
-34
EntrustController.java
...cloud/service/lims/hmhj/controller/EntrustController.java
+6
-0
IEntrustService.java
...atzn/cloud/service/lims/hmhj/service/IEntrustService.java
+2
-0
EntrustSampleServiceImpl.java
...vice/lims/hmhj/service/impl/EntrustSampleServiceImpl.java
+46
-32
EntrustServiceImpl.java
...ud/service/lims/hmhj/service/impl/EntrustServiceImpl.java
+64
-2
No files found.
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/EntrustController.java
View file @
8e6a9177
...
...
@@ -320,6 +320,12 @@ public class EntrustController extends ServiceController {
return
success
(
entrustService
.
registerSubmitToMake
(
ids
,
getAccount
()));
}
@ApiOperation
(
"复制委托信息"
)
@PostMapping
(
"/clone_entrust"
)
public
RestResult
<
Boolean
>
clone
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
entrustService
.
cloneEntrust
(
ids
,
getAccount
()));
}
@ApiOperation
(
"样品接收委托分页列表"
)
@ApiImplicitParams
({
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IEntrustService.java
View file @
8e6a9177
...
...
@@ -76,4 +76,6 @@ public interface IEntrustService extends IBaseService<Entrust> {
boolean
rejectToPrevNode
(
Long
id
,
String
reason
,
Account
account
);
boolean
rejectToPrevNode
(
Entrust
entrust
,
String
reason
,
Account
account
);
boolean
cloneEntrust
(
Long
[]
ids
,
Account
account
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleServiceImpl.java
View file @
8e6a9177
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.mapper.Condition
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.google.common.collect.Lists
;
...
...
@@ -222,41 +223,54 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
long
days
=
DateUtils
.
getDaysBetweenTwoDate
(
queryDTO
.
getTimeS
(),
queryDTO
.
getTimeE
());
queryDTO
.
setDays
(
days
);
List
<
AlTasteStatsVO
>
list
=
baseMapper
.
selectAlTasteStats
(
queryDTO
);
List
<
AlTasteStatsVO
>
resultList
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isEmpty
(
list
))
{
return
resultL
ist
;
return
l
ist
;
}
List
<
AlTasteStatsVO
>
resultList
=
new
ArrayList
<>();
Map
<
String
,
List
<
AlTasteStatsVO
>>
dataMap
=
new
HashMap
<>();
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
AlTasteStatsVO
vo
=
list
.
get
(
i
);
String
key
=
vo
.
getBranch
()
+
vo
.
getPlant
();
if
(
dataMap
.
isEmpty
())
{
List
<
AlTasteStatsVO
>
newList
=
new
ArrayList
<>();
newList
.
add
(
vo
);
dataMap
.
put
(
key
,
newList
);
AlTasteStatsVO
curr
=
list
.
get
(
i
);
// 以【分厂+厂房】作为获取上一条记录的KEY
String
key
=
curr
.
getBranch
()
+
curr
.
getPlant
();
// 是否存在同KEY数据
if
(
dataMap
.
containsKey
(
key
))
{
List
<
AlTasteStatsVO
>
voList
=
dataMap
.
get
(
key
);
voList
.
add
(
curr
);
// 若当前的条数为最后一条,那么处理统计数据
if
(
i
==
list
.
size
()
-
1
)
{
resultList
.
add
(
vo
);
resultList
.
add
(
getTotalData
(
list
));
// 将列表数据加入集合中
resultList
.
addAll
(
voList
);
// 将统计数据加入集合中
resultList
.
add
(
getTotalData
(
voList
));
}
continue
;
}
if
(!
dataMap
.
containsKey
(
key
))
{
AlTasteStatsVO
prevVO
=
list
.
get
(
i
-
1
);
List
<
AlTasteStatsVO
>
prevList
=
dataMap
.
get
(
prevVO
.
getBranch
()
+
prevVO
.
getPlant
());
resultList
.
addAll
(
prevList
);
resultList
.
add
(
getTotalData
(
prevList
));
}
else
{
List
<
AlTasteStatsVO
>
lists
=
dataMap
.
get
(
key
);
lists
.
add
(
vo
);
// 若不包含当前数据,取出前条数据进行统计后加入集合中,后将当前数据加入map
else
{
// 是否需要取出数据处理
if
(
i
>
0
)
{
AlTasteStatsVO
prev
=
list
.
get
(
i
-
1
);
List
<
AlTasteStatsVO
>
voList
=
dataMap
.
get
(
prev
.
getBranch
()
+
prev
.
getPlant
());
// 将列表数据加入集合中
resultList
.
addAll
(
voList
);
// 将统计数据加入集合中
resultList
.
add
(
getTotalData
(
voList
));
}
// 将当前数据加入mapData中
List
<
AlTasteStatsVO
>
voList
=
new
ArrayList
<>();
if
(
i
==
list
.
size
()
-
1
)
{
resultList
.
addAll
(
lists
);
resultList
.
add
(
getTotalData
(
lists
));
resultList
.
add
(
curr
);
voList
.
add
(
curr
);
resultList
.
add
(
getTotalData
(
voList
));
}
else
{
voList
.
add
(
curr
);
dataMap
.
put
(
key
,
voList
);
}
}
}
// 汇总所有
// 汇总所有
查询出的列表数据
AlTasteStatsVO
alTasteStatsVO
=
getTotalData
(
list
);
alTasteStatsVO
.
setBranch
(
null
);
resultList
.
add
(
alTasteStatsVO
);
...
...
@@ -316,15 +330,15 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
}
else
if
(
nextFlowStatus
==
EntrustFlowEnum
.
RECEIVE
)
{
sampleStatus
=
EntrustSampleStatusEnum
.
RECEIVE
;
itemStatus
=
EntrustSampleItemStatusEnum
.
DRAFT
;
entrustSamplePrepareService
.
addOrUpdateToSetStatus
(
sampleIds
,
EntrustSamplePrepareStatusEnum
.
RECEIVE
);
entrustSamplePrepareService
.
addOrUpdateToSetStatus
(
sampleIds
,
EntrustSamplePrepareStatusEnum
.
RECEIVE
);
}
else
if
(
nextFlowStatus
==
EntrustFlowEnum
.
ALLOT
)
{
sampleStatus
=
EntrustSampleStatusEnum
.
TEST
;
itemStatus
=
EntrustSampleItemStatusEnum
.
ALLOT
;
entrustSamplePrepareService
.
addOrUpdateToSetStatus
(
sampleIds
,
EntrustSamplePrepareStatusEnum
.
RECEIVE_OK
);
entrustSamplePrepareService
.
addOrUpdateToSetStatus
(
sampleIds
,
EntrustSamplePrepareStatusEnum
.
RECEIVE_OK
);
}
else
if
(
nextFlowStatus
==
EntrustFlowEnum
.
TEST
)
{
sampleStatus
=
EntrustSampleStatusEnum
.
TEST
;
itemStatus
=
EntrustSampleItemStatusEnum
.
TEST
;
entrustSamplePrepareService
.
addOrUpdateToSetStatus
(
sampleIds
,
EntrustSamplePrepareStatusEnum
.
TEST
);
entrustSamplePrepareService
.
addOrUpdateToSetStatus
(
sampleIds
,
EntrustSamplePrepareStatusEnum
.
TEST
);
}
else
if
(
nextFlowStatus
==
EntrustFlowEnum
.
REPORT_MAKE
)
{
sampleStatus
=
EntrustSampleStatusEnum
.
REPORT_MAKE
;
itemStatus
=
EntrustSampleItemStatusEnum
.
END
;
...
...
@@ -432,15 +446,15 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
@Override
public
boolean
addStandardSampleDTO
(
EntrustSampleDTO
dto
,
Account
account
)
{
if
(
null
==
dto
){
if
(
null
==
dto
)
{
return
false
;
}
// 添加后排序,不论是否成功添加标样
List
<
EntrustSample
>
sampleList
=
list
(
Condition
.
create
().
eq
(
"entrust_id"
,
dto
.
getEntrustId
())
.
orderBy
(
"order_by"
,
true
).
orderBy
(
"ctime"
,
false
));
List
<
EntrustSample
>
sampleList
=
list
(
Condition
.
create
().
eq
(
"entrust_id"
,
dto
.
getEntrustId
())
.
orderBy
(
"order_by"
,
true
).
orderBy
(
"ctime"
,
false
));
// 若为一个样品,则不进行排序处理
if
(
CollectionUtils
.
isNotEmpty
(
sampleList
)
&&
sampleList
.
size
()
>
1
)
{
for
(
int
i
=
0
;
i
<
sampleList
.
size
();
i
++)
{
if
(
CollectionUtils
.
isNotEmpty
(
sampleList
)
&&
sampleList
.
size
()
>
1
)
{
for
(
int
i
=
0
;
i
<
sampleList
.
size
();
i
++)
{
sampleList
.
get
(
i
).
setOrderBy
(
i
);
}
updateBatchById
(
sampleList
);
...
...
@@ -449,9 +463,9 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
EntrustSample
sample
=
dto
.
convert
(
EntrustSample
.
class
);
//标样
sample
.
setType
(
1
);
if
(
save
(
sample
))
{
if
(
save
(
sample
))
{
List
<
EntrustSampleItem
>
itemList
=
dto
.
getItemList
();
if
(
CollectionUtils
.
isNotEmpty
(
itemList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
itemList
))
{
for
(
EntrustSampleItem
item
:
itemList
)
{
item
.
setEntrustSampleId
(
sample
.
getId
());
item
.
setStatus
(
EntrustSampleItemStatusEnum
.
TEST
);
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustServiceImpl.java
View file @
8e6a9177
...
...
@@ -149,7 +149,6 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
String
replaceStr
=
"XX"
,
inspectNo
=
""
,
secondCode
=
""
,
thirdCode
=
""
;
if
(
"已有编码物资"
.
equals
(
parentCategory
))
{
sampleCode
=
sample
.
getCode
();
RestAssert
.
fail
(
StringUtils
.
isBlank
(
sampleCode
),
"样品编码不能为空"
);
}
else
{
sampleCode
=
codeRuleService
.
getKey
((
Integer
)
codeType
.
getValue
(),
codeType
.
getName
(),
sample
);
// 若为外委检测和三级编码,则查询质检编号
...
...
@@ -432,7 +431,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
if
(
null
!=
entrust
)
{
EntrustDTO
vo
=
entrust
.
convert
(
EntrustDTO
.
class
);
// 只查询正常样品,不查询标样
List
<
EntrustSampleDTO
>
sampleList
=
listSampleDTOByType
(
id
,
0
);
List
<
EntrustSampleDTO
>
sampleList
=
listSampleDTOByType
(
id
,
0
);
if
(
CollectionUtils
.
isNotEmpty
(
sampleList
))
{
List
<
Long
>
sampleIdList
=
sampleList
.
stream
().
map
(
s
->
{
return
s
.
getId
();
...
...
@@ -978,6 +977,69 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
return
true
;
}
@Override
public
boolean
cloneEntrust
(
Long
[]
ids
,
Account
account
)
{
RestAssert
.
fail
(
null
==
ids
||
ids
.
length
==
0
,
"请选择要复制的委托记录"
);
List
<
Entrust
>
entrustList
=
getBatchIds
(
Arrays
.
asList
(
ids
));
RestAssert
.
fail
(
CollectionUtils
.
isEmpty
(
entrustList
),
"请选择要复制的委托记录"
);
// 循环遍历设置委托及其样品信息
List
<
EntrustSample
>
entrustSampleList
=
new
ArrayList
<>();
List
<
EntrustSampleItem
>
entrustSampleItemList
=
new
ArrayList
<>();
for
(
Entrust
entrust
:
entrustList
)
{
// ==
List
<
EntrustSample
>
sampleList
=
entrustSampleService
.
list
(
Condition
.
create
().
eq
(
"entrust_id"
,
entrust
.
getId
()).
eq
(
"deleted"
,
0
));
if
(
CollectionUtils
.
isEmpty
(
sampleList
))
{
continue
;
}
entrust
.
setId
(
null
);
entrust
.
setCode
(
null
).
setStatus
(
EntrustStatusEnum
.
DRAFT
).
setProgress
(
EntrustStatusEnum
.
DRAFT
);
entrust
.
setUid
(
account
.
getUserId
()).
setCtime
(
new
Date
()).
setLid
(
null
).
setLtime
(
null
);
// 配置初始状态
String
flowStatus
=
EntrustFlowEnum
.
DRAFT
.
getName
();
if
(
StringUtils
.
isNotBlank
(
entrust
.
getStatusPath
()))
{
flowStatus
=
entrust
.
getStatusPath
().
split
(
"->"
)[
0
];
}
entrust
.
setFlowStatus
(
flowStatus
);
// 保存委托信息
saveEntrust
(
entrust
);
int
sampleIndex
=
0
;
for
(
EntrustSample
sample
:
sampleList
)
{
List
<
EntrustSampleItem
>
itemList
=
entrustSampleItemService
.
list
(
Condition
.
create
().
eq
(
"entrust_sample_id"
,
sample
.
getId
()).
eq
(
"deleted"
,
0
));
if
(
CollectionUtils
.
isEmpty
(
itemList
))
{
continue
;
}
//生成样品编号,可能存在为空的情况
initSampleCode
(
sample
);
sample
.
setId
(
IdWorker
.
getId
());
sample
.
setEntrustId
(
entrust
.
getId
()).
setOrderBy
(
sampleIndex
);
sample
.
setStatus
(
EntrustSampleStatusEnum
.
DRAFT
).
setProgress
(
EntrustSampleStatusEnum
.
DRAFT
);
sample
.
setUid
(
account
.
getUserId
()).
setCtime
(
new
Date
()).
setLid
(
null
).
setLtime
(
null
);
for
(
EntrustSampleItem
item
:
itemList
)
{
item
.
setId
(
null
);
item
.
setEntrustSampleId
(
sample
.
getId
());
item
.
setStatus
(
EntrustSampleItemStatusEnum
.
DRAFT
);
item
.
setProgress
(
EntrustSampleItemStatusEnum
.
DRAFT
);
item
.
setUid
(
account
.
getUserId
()).
setCtime
(
new
Date
()).
setLid
(
null
).
setLtime
(
null
);
}
entrustSampleItemList
.
addAll
(
itemList
);
sampleIndex
+=
1
;
}
entrustSampleList
.
addAll
(
sampleList
);
}
if
(
entrustSampleList
.
size
()
>
0
)
{
entrustSampleService
.
saveBatch
(
entrustSampleList
);
}
if
(
entrustSampleItemList
.
size
()
>
0
)
{
entrustSampleItemService
.
saveBatch
(
entrustSampleItemList
);
}
// 操作记录
entrustRecordService
.
record
(
ids
,
EntrustStatusEnum
.
DRAFT
.
getDisplay
(),
EntrustStatusEnum
.
DRAFT
.
getDisplay
(),
0
,
account
,
"复制初始化委托"
);
return
true
;
}
private
List
<
EntrustSampleDTO
>
listSampleDTOByType
(
Long
entrustId
,
int
type
)
{
List
<
EntrustSampleDTO
>
sampleDTOList
=
baseMapper
.
listByContractId
(
entrustId
);
return
sampleDTOList
.
stream
().
filter
(
t
->
(
null
==
t
.
getType
()
?
0
:
t
.
getType
().
intValue
())
==
type
).
collect
(
Collectors
.
toList
());
...
...
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