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
96edaae3
Commit
96edaae3
authored
Aug 18, 2022
by
lijingjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加发送ERP数据,覆盖原铝重取数据;
parent
f032ea05
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
147 additions
and
65 deletions
+147
-65
EntrustSampleItemController.java
...ice/lims/hmhj/controller/EntrustSampleItemController.java
+11
-13
ItemComparisonController.java
...ervice/lims/hmhj/controller/ItemComparisonController.java
+1
-0
EntrustSampleItemIndexMapper.java
...ervice/lims/hmhj/mapper/EntrustSampleItemIndexMapper.java
+1
-1
ItemComparisonMapper.java
.../cloud/service/lims/hmhj/mapper/ItemComparisonMapper.java
+1
-1
IEntrustSampleItemIndexService.java
...ice/lims/hmhj/service/IEntrustSampleItemIndexService.java
+1
-1
IEntrustSampleItemService.java
.../service/lims/hmhj/service/IEntrustSampleItemService.java
+1
-0
IItemComparisonService.java
...oud/service/lims/hmhj/service/IItemComparisonService.java
+2
-1
EntrustReportServiceImpl.java
...vice/lims/hmhj/service/impl/EntrustReportServiceImpl.java
+12
-5
EntrustSampleItemIndexServiceImpl.java
.../hmhj/service/impl/EntrustSampleItemIndexServiceImpl.java
+3
-3
EntrustSampleItemServiceImpl.java
.../lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
+20
-1
EntrustServiceImpl.java
...ud/service/lims/hmhj/service/impl/EntrustServiceImpl.java
+3
-0
ItemComparisonServiceImpl.java
...ice/lims/hmhj/service/impl/ItemComparisonServiceImpl.java
+18
-4
EntrustSampleItemIndexMapper.xml
...in/resources/mapper/hmhj/EntrustSampleItemIndexMapper.xml
+52
-26
ItemComparisonMapper.xml
src/main/resources/mapper/hmhj/ItemComparisonMapper.xml
+21
-9
No files found.
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/EntrustSampleItemController.java
View file @
96edaae3
...
@@ -9,14 +9,15 @@ import com.patzn.cloud.commons.api.RestConstants;
...
@@ -9,14 +9,15 @@ import com.patzn.cloud.commons.api.RestConstants;
import
com.patzn.cloud.commons.api.RestResult
;
import
com.patzn.cloud.commons.api.RestResult
;
import
com.patzn.cloud.commons.controller.ServiceController
;
import
com.patzn.cloud.commons.controller.ServiceController
;
import
com.patzn.cloud.service.hmhj.dto.QueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.QueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.RangeStatsQueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.SampleItemDTO
;
import
com.patzn.cloud.service.hmhj.dto.SampleItemDTO
;
import
com.patzn.cloud.service.hmhj.dto.SlotQueryDTO
;
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.enums.EntrustSampleItemStatusEnum
;
import
com.patzn.cloud.service.hmhj.enums.EntrustSampleItemStatusEnum
;
import
com.patzn.cloud.service.hmhj.vo.*
;
import
com.patzn.cloud.service.hmhj.vo.EntrustSampleItemVO
;
import
com.patzn.cloud.service.hmhj.vo.ItemVO
;
import
com.patzn.cloud.service.hmhj.vo.SampleItemVO
;
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
com.patzn.cloud.service.lims.hmhj.service.IEntrustSampleItemService
;
import
com.patzn.cloud.service.lims.hmhj.service.IEntrustSampleItemService
;
...
@@ -25,9 +26,9 @@ import io.swagger.annotations.Api;
...
@@ -25,9 +26,9 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -42,10 +43,10 @@ import java.util.Map;
...
@@ -42,10 +43,10 @@ import java.util.Map;
@RequestMapping
(
"/v1/entrust_sample_item"
)
@RequestMapping
(
"/v1/entrust_sample_item"
)
public
class
EntrustSampleItemController
extends
ServiceController
{
public
class
EntrustSampleItemController
extends
ServiceController
{
@
Autowired
@
Resource
private
IEntrustSampleItemService
entrustSampleItemService
;
private
IEntrustSampleItemService
entrustSampleItemService
;
@
Autowired
@
Resource
private
UserInfoServiceImpl
userInfoService
;
private
UserInfoServiceImpl
userInfoService
;
...
@@ -648,7 +649,7 @@ public class EntrustSampleItemController extends ServiceController {
...
@@ -648,7 +649,7 @@ public class EntrustSampleItemController extends ServiceController {
@ApiOperation
(
"样品检测项目统计查询"
)
@ApiOperation
(
"样品检测项目统计查询"
)
@PostMapping
(
"/sample_item_stats_query"
)
@PostMapping
(
"/sample_item_stats_query"
)
public
RestResult
<
Map
>
getSampleItemStatsQuery
(
SampleItemDTO
sampleItemDTO
)
{
public
RestResult
<
Map
<
String
,
Object
>
>
getSampleItemStatsQuery
(
SampleItemDTO
sampleItemDTO
)
{
return
success
(
entrustSampleItemService
.
getSampleItemStatsQuery
(
sampleItemDTO
));
return
success
(
entrustSampleItemService
.
getSampleItemStatsQuery
(
sampleItemDTO
));
}
}
...
@@ -731,12 +732,10 @@ public class EntrustSampleItemController extends ServiceController {
...
@@ -731,12 +732,10 @@ public class EntrustSampleItemController extends ServiceController {
}
}
@ApiOperation
(
value
=
"模拟测试发送数据到ERP"
,
notes
=
"模拟测试发送数据到ERP"
)
@ApiOperation
(
value
=
"模拟测试发送数据到ERP"
,
notes
=
"模拟测试发送数据到ERP"
)
@PostMapping
(
"/send_data"
)
@PostMapping
(
"/send_
erp_
data"
)
@Login
(
action
=
Action
.
Skip
)
@Login
(
action
=
Action
.
Skip
)
public
RestResult
<
SampleItemVO
>
sendData
(
@RequestBody
SampleItemVO
itemVO
)
{
public
RestResult
<
Boolean
>
sendErpData
(
@RequestBody
List
<
Long
>
entrustIds
)
{
logger
.
error
(
itemVO
.
getSample_code
());
return
success
(
entrustSampleItemService
.
sendErpData
(
entrustIds
));
logger
.
error
(
itemVO
.
getBrand
());
return
RestResult
.
ok
(
itemVO
);
}
}
@ApiOperation
(
value
=
"根据检测项目ID退回原始记录"
,
notes
=
"根据检测项目ID退回原始记录"
)
@ApiOperation
(
value
=
"根据检测项目ID退回原始记录"
,
notes
=
"根据检测项目ID退回原始记录"
)
...
@@ -744,5 +743,4 @@ public class EntrustSampleItemController extends ServiceController {
...
@@ -744,5 +743,4 @@ public class EntrustSampleItemController extends ServiceController {
public
RestResult
<
Boolean
>
backUserItem
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
public
RestResult
<
Boolean
>
backUserItem
(
@RequestParam
(
"ids"
)
Long
[]
ids
)
{
return
success
(
entrustSampleItemService
.
backUserItem
(
ids
));
return
success
(
entrustSampleItemService
.
backUserItem
(
ids
));
}
}
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/ItemComparisonController.java
View file @
96edaae3
...
@@ -46,6 +46,7 @@ public class ItemComparisonController extends ServiceController {
...
@@ -46,6 +46,7 @@ public class ItemComparisonController extends ServiceController {
})
})
@PostMapping
(
"/page"
)
@PostMapping
(
"/page"
)
public
RestResult
<
Page
<
ItemComparison
>>
getPage
(
SlotQueryDTO
queryDTO
)
{
public
RestResult
<
Page
<
ItemComparison
>>
getPage
(
SlotQueryDTO
queryDTO
)
{
return
success
(
itemComparisonService
.
page
(
getPage
(),
queryDTO
));
return
success
(
itemComparisonService
.
page
(
getPage
(),
queryDTO
));
}
}
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/mapper/EntrustSampleItemIndexMapper.java
View file @
96edaae3
...
@@ -76,7 +76,7 @@ public interface EntrustSampleItemIndexMapper extends BatchMapper<EntrustSampleI
...
@@ -76,7 +76,7 @@ public interface EntrustSampleItemIndexMapper extends BatchMapper<EntrustSampleI
* @param sampleIds the sample ids
* @param sampleIds the sample ids
* @return the list
* @return the list
*/
*/
List
<
Map
<
String
,
Object
>>
selectSampleItemIndex
(
@Param
(
"sampleIds"
)
List
<
Long
>
sampleIds
);
List
<
Map
<
String
,
Object
>>
selectSampleItemIndex
(
@Param
(
"
entrustIds"
)
List
<
Long
>
entrustIds
,
@Param
(
"
sampleIds"
)
List
<
Long
>
sampleIds
);
/**
/**
* Physical delete by item ids integer.
* Physical delete by item ids integer.
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/mapper/ItemComparisonMapper.java
View file @
96edaae3
...
@@ -33,5 +33,5 @@ public interface ItemComparisonMapper extends BatchMapper<ItemComparison> {
...
@@ -33,5 +33,5 @@ public interface ItemComparisonMapper extends BatchMapper<ItemComparison> {
* @param slotQueryDTO the slot query dto
* @param slotQueryDTO the slot query dto
* @return the list
* @return the list
*/
*/
List
<
ItemComparison
>
selectDataPage
(
RowBounds
rowBounds
,
SlotQueryDTO
slotQueryDTO
);
List
<
ItemComparison
>
selectDataPage
(
RowBounds
rowBounds
,
@Param
(
"vo"
)
SlotQueryDTO
slotQueryDTO
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IEntrustSampleItemIndexService.java
View file @
96edaae3
...
@@ -39,7 +39,7 @@ public interface IEntrustSampleItemIndexService extends IBaseService<EntrustSamp
...
@@ -39,7 +39,7 @@ public interface IEntrustSampleItemIndexService extends IBaseService<EntrustSamp
Page
<
EntrustSampleItemIndexVO
>
pageIndexWithItem
(
Page
<
EntrustSampleItemIndexVO
>
page
,
EntrustSampleItemIndexVO
entrustSampleItemIndexVO
);
Page
<
EntrustSampleItemIndexVO
>
pageIndexWithItem
(
Page
<
EntrustSampleItemIndexVO
>
page
,
EntrustSampleItemIndexVO
entrustSampleItemIndexVO
);
List
<
Map
<
String
,
Object
>>
listSampleItemIndex
(
List
<
Long
>
sampleIds
);
List
<
Map
<
String
,
Object
>>
listSampleItemIndex
(
List
<
Long
>
entrustIds
,
List
<
Long
>
sampleIds
);
boolean
physicalDeleteByItemIds
(
List
<
Long
>
itemIds
);
boolean
physicalDeleteByItemIds
(
List
<
Long
>
itemIds
);
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IEntrustSampleItemService.java
View file @
96edaae3
...
@@ -140,4 +140,5 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
...
@@ -140,4 +140,5 @@ public interface IEntrustSampleItemService extends IBaseService<EntrustSampleIte
boolean
deletePhysicalByEntrustIds
(
List
<
Long
>
ids
);
boolean
deletePhysicalByEntrustIds
(
List
<
Long
>
ids
);
Boolean
sendErpData
(
List
<
Long
>
entrustIds
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IItemComparisonService.java
View file @
96edaae3
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
;
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.commons.service.IBaseService
;
import
com.patzn.cloud.commons.service.IBaseService
;
import
com.patzn.cloud.service.hmhj.dto.SlotQueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.SlotQueryDTO
;
import
com.patzn.cloud.service.hmhj.entity.ItemComparison
;
import
com.patzn.cloud.service.hmhj.entity.ItemComparison
;
...
@@ -40,5 +41,5 @@ public interface IItemComparisonService extends IBaseService<ItemComparison> {
...
@@ -40,5 +41,5 @@ public interface IItemComparisonService extends IBaseService<ItemComparison> {
* @param queryDTO the comparison queryDTO
* @param queryDTO the comparison queryDTO
* @return the boolean
* @return the boolean
*/
*/
boolean
saveCompareDataBatch
(
SlotQueryDTO
queryDTO
);
boolean
saveCompareDataBatch
(
SlotQueryDTO
queryDTO
,
Account
account
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustReportServiceImpl.java
View file @
96edaae3
...
@@ -346,18 +346,25 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
...
@@ -346,18 +346,25 @@ public class EntrustReportServiceImpl extends BaseServiceImpl<EntrustReportMappe
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
protected
void
generateCompareItems
(
Long
[]
ids
,
Account
account
)
{
protected
void
generateCompareItems
(
Long
[]
ids
,
Account
account
)
{
if
(
ArrayUtils
.
isEmpty
(
ids
))
{
if
(
ArrayUtils
.
isEmpty
(
ids
))
{
logger
.
error
(
"report ids is empty "
);
return
;
return
;
}
}
EntrustSample
sample
=
entrustSampleService
.
getById
(
ids
[
0
]);
List
<
EntrustReportRelSample
>
relSamples
=
entrustReportRelSampleService
.
list
(
Condition
.
create
().
in
(
"report_id"
,
ids
));
logger
.
error
(
"输出样品:{} "
,
sample
.
getName
());
if
(
CollectionUtils
.
isEmpty
(
relSamples
))
{
logger
.
error
(
"No rel samples found"
);
return
;
}
List
<
Long
>
sampleIds
=
relSamples
.
stream
().
map
(
EntrustReportRelSample:
:
getSampleId
).
distinct
().
collect
(
Collectors
.
toList
());
EntrustSample
sample
=
entrustSampleService
.
getById
(
sampleIds
.
get
(
0
));
logger
.
error
(
"print sample name:{} "
,
sample
.
getName
());
if
(!(
Objects
.
equals
(
sample
.
getName
(),
"原铝"
)
||
Objects
.
equals
(
sample
.
getName
(),
"铝成品"
)))
{
if
(!(
Objects
.
equals
(
sample
.
getName
(),
"原铝"
)
||
Objects
.
equals
(
sample
.
getName
(),
"铝成品"
)))
{
return
;
return
;
}
}
logger
.
error
(
"
开始处理项目比较
..."
);
logger
.
error
(
"
begin compare item test value
..."
);
SlotQueryDTO
slotQuery
=
new
SlotQueryDTO
();
SlotQueryDTO
slotQuery
=
new
SlotQueryDTO
();
slotQuery
.
set
Ids
(
i
ds
);
slotQuery
.
set
SampleIds
(
sampleI
ds
);
// 每次提交编制报告时,添加对比记录
// 每次提交编制报告时,添加对比记录
itemComparisonService
.
saveCompareDataBatch
(
slotQuery
);
itemComparisonService
.
saveCompareDataBatch
(
slotQuery
,
account
);
}
}
@Override
@Override
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleItemIndexServiceImpl.java
View file @
96edaae3
...
@@ -47,11 +47,11 @@ public class EntrustSampleItemIndexServiceImpl extends BaseServiceImpl<EntrustSa
...
@@ -47,11 +47,11 @@ public class EntrustSampleItemIndexServiceImpl extends BaseServiceImpl<EntrustSa
}
}
@Override
@Override
public
List
<
Map
<
String
,
Object
>>
listSampleItemIndex
(
List
<
Long
>
sampleIds
)
{
public
List
<
Map
<
String
,
Object
>>
listSampleItemIndex
(
List
<
Long
>
entrustIds
,
List
<
Long
>
sampleIds
)
{
if
(
CollectionUtils
.
isEmpty
(
sampleIds
))
{
if
(
CollectionUtils
.
isEmpty
(
entrustIds
)
&&
CollectionUtils
.
isEmpty
(
sampleIds
))
{
return
new
ArrayList
<>();
return
new
ArrayList
<>();
}
}
return
baseMapper
.
selectSampleItemIndex
(
sampleIds
);
return
baseMapper
.
selectSampleItemIndex
(
entrustIds
,
sampleIds
);
}
}
@Override
@Override
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
View file @
96edaae3
...
@@ -1482,7 +1482,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
...
@@ -1482,7 +1482,7 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
return
;
return
;
}
}
// 获取检测项目指标数据
// 获取检测项目指标数据
List
<
Map
<
String
,
Object
>>
dataList
=
entrustSampleItemIndexService
.
listSampleItemIndex
(
ids
);
List
<
Map
<
String
,
Object
>>
dataList
=
entrustSampleItemIndexService
.
listSampleItemIndex
(
null
,
ids
);
dataList
.
forEach
(
t
->
{
dataList
.
forEach
(
t
->
{
Long
sampleId
=
Long
.
valueOf
(
t
.
get
(
"id"
).
toString
());
Long
sampleId
=
Long
.
valueOf
(
t
.
get
(
"id"
).
toString
());
t
.
put
(
"brand"
,
sampleBrandMap
.
get
(
sampleId
));
t
.
put
(
"brand"
,
sampleBrandMap
.
get
(
sampleId
));
...
@@ -1655,6 +1655,25 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
...
@@ -1655,6 +1655,25 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
return
baseMapper
.
deletePhysicalByEntrustIds
(
ids
)
>
0
;
return
baseMapper
.
deletePhysicalByEntrustIds
(
ids
)
>
0
;
}
}
@Override
public
Boolean
sendErpData
(
List
<
Long
>
entrustIds
)
{
RestAssert
.
fail
(
CollectionUtils
.
isEmpty
(
entrustIds
),
"请选择要发送数据的委托!"
);
Entrust
entrust
=
entrustService
.
getById
(
entrustIds
.
get
(
0
));
RestAssert
.
fail
(!
Arrays
.
asList
(
"原铝"
,
"铝成品"
).
contains
(
entrust
.
getSampleName
()),
"非原铝或铝成品不予发送!"
);
List
<
Map
<
String
,
Object
>>
mapList
=
entrustSampleItemIndexService
.
listSampleItemIndex
(
entrustIds
,
null
);
RestAssert
.
fail
(
CollectionUtils
.
isEmpty
(
mapList
),
"数据为空,取消发送!"
);
try
{
log
(
"准备发送数据"
);
doSendErpData
(
mapList
);
return
true
;
}
catch
(
Exception
e
)
{
log
(
"请求失败,请稍后重试!"
);
logger
.
error
(
"exception while sending data to server: {}"
,
e
.
getMessage
());
RestAssert
.
fail
(
"请求失败,请稍后重试!"
);
}
return
false
;
}
private
String
getCellValue
(
XSSFRow
xssfRow
,
int
cellIndex
)
{
private
String
getCellValue
(
XSSFRow
xssfRow
,
int
cellIndex
)
{
XSSFCell
cell
=
xssfRow
.
getCell
(
cellIndex
);
XSSFCell
cell
=
xssfRow
.
getCell
(
cellIndex
);
String
value
=
HSSFWorkbookUtil
.
getJavaValue
(
cell
).
toString
();
String
value
=
HSSFWorkbookUtil
.
getJavaValue
(
cell
).
toString
();
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustServiceImpl.java
View file @
96edaae3
...
@@ -1596,6 +1596,9 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
...
@@ -1596,6 +1596,9 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
if
(
isCanIntoPrevNode
(
entrust
))
{
if
(
isCanIntoPrevNode
(
entrust
))
{
prevFlow
=
EntrustFlowUtils
.
getPrevFlowStatus
(
entrust
.
getFlowStatus
(),
entrust
.
getStatusPath
());
prevFlow
=
EntrustFlowUtils
.
getPrevFlowStatus
(
entrust
.
getFlowStatus
(),
entrust
.
getStatusPath
());
}
}
// 添加退回限制,若不为 TEST 则无法退回;
RestAssert
.
fail
(
prevFlow
==
null
,
"上一状态为空委托无法退回!"
);
RestAssert
.
fail
(
prevFlow
!=
EntrustFlowEnum
.
TEST
,
String
.
format
(
"上一状态为【%s】委托无法退回!"
,
prevFlow
.
getDisplay
()));
// 1.获取委托,样品,检测项目状态
// 1.获取委托,样品,检测项目状态
EntrustStatusEnum
prevStatus
=
EntrustFlowUtils
.
getStatus
(
prevFlow
);
EntrustStatusEnum
prevStatus
=
EntrustFlowUtils
.
getStatus
(
prevFlow
);
EntrustSampleStatusEnum
prevSampleStatus
=
EntrustFlowUtils
.
getSampleStatus
(
prevFlow
);
EntrustSampleStatusEnum
prevSampleStatus
=
EntrustFlowUtils
.
getSampleStatus
(
prevFlow
);
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/ItemComparisonServiceImpl.java
View file @
96edaae3
...
@@ -2,6 +2,8 @@ package com.patzn.cloud.service.lims.hmhj.service.impl;
...
@@ -2,6 +2,8 @@ package com.patzn.cloud.service.lims.hmhj.service.impl;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.patzn.cloud.commons.controller.Account
;
import
com.patzn.cloud.commons.controller.LoginHelper
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.commons.toolkit.DateUtils
;
import
com.patzn.cloud.commons.toolkit.DateUtils
;
import
com.patzn.cloud.commons.toolkit.JacksonUtils
;
import
com.patzn.cloud.commons.toolkit.JacksonUtils
;
...
@@ -32,8 +34,13 @@ public class ItemComparisonServiceImpl extends BaseServiceImpl<ItemComparisonMap
...
@@ -32,8 +34,13 @@ public class ItemComparisonServiceImpl extends BaseServiceImpl<ItemComparisonMap
@Resource
@Resource
private
IMaterialItemService
materialItemService
;
private
IMaterialItemService
materialItemService
;
@Resource
private
UserInfoServiceImpl
userInfoService
;
@Override
@Override
public
Page
<
ItemComparison
>
page
(
Page
<
ItemComparison
>
page
,
SlotQueryDTO
slotQueryDTO
)
{
public
Page
<
ItemComparison
>
page
(
Page
<
ItemComparison
>
page
,
SlotQueryDTO
slotQueryDTO
)
{
Account
account
=
LoginHelper
.
getAccount
();
slotQueryDTO
.
setPeriod
(
userInfoService
.
getUserPeriod
(
account
));
return
page
.
setRecords
(
baseMapper
.
selectDataPage
(
page
,
slotQueryDTO
));
return
page
.
setRecords
(
baseMapper
.
selectDataPage
(
page
,
slotQueryDTO
));
}
}
...
@@ -57,6 +64,7 @@ public class ItemComparisonServiceImpl extends BaseServiceImpl<ItemComparisonMap
...
@@ -57,6 +64,7 @@ public class ItemComparisonServiceImpl extends BaseServiceImpl<ItemComparisonMap
Map
<
String
,
List
<
ItemComparison
>>
slotItemMap
=
new
HashMap
<>(
16
);
Map
<
String
,
List
<
ItemComparison
>>
slotItemMap
=
new
HashMap
<>(
16
);
itemCompareVOList
.
forEach
(
item
->
{
itemCompareVOList
.
forEach
(
item
->
{
String
limitValueStr
=
limitValueMap
.
get
(
item
.
getSampleName
()
+
item
.
getName
());
String
limitValueStr
=
limitValueMap
.
get
(
item
.
getSampleName
()
+
item
.
getName
());
// 对于限值为空的原铝Fe和原铝Si,默认设为0.04和0.02
if
(
StringUtils
.
isBlank
(
limitValueStr
))
{
if
(
StringUtils
.
isBlank
(
limitValueStr
))
{
limitValueStr
=
Objects
.
equals
(
item
.
getName
(),
"原铝Fe"
)
?
"0.04"
:
"0.02"
;
limitValueStr
=
Objects
.
equals
(
item
.
getName
(),
"原铝Fe"
)
?
"0.04"
:
"0.02"
;
}
}
...
@@ -66,7 +74,7 @@ public class ItemComparisonServiceImpl extends BaseServiceImpl<ItemComparisonMap
...
@@ -66,7 +74,7 @@ public class ItemComparisonServiceImpl extends BaseServiceImpl<ItemComparisonMap
BigDecimal
newVal
=
new
BigDecimal
(
item
.
getTestValue
());
BigDecimal
newVal
=
new
BigDecimal
(
item
.
getTestValue
());
BigDecimal
oldVal
=
new
BigDecimal
(
item
.
getPrevTestValue
());
BigDecimal
oldVal
=
new
BigDecimal
(
item
.
getPrevTestValue
());
BigDecimal
difVal
=
newVal
.
subtract
(
oldVal
);
BigDecimal
difVal
=
newVal
.
subtract
(
oldVal
);
item
.
setDiffValue
(
difVal
.
doubleValue
());
item
.
setDiffValue
(
difVal
.
abs
().
toPlainString
());
BigDecimal
limitValue
=
new
BigDecimal
(
item
.
getLimitValue
());
BigDecimal
limitValue
=
new
BigDecimal
(
item
.
getLimitValue
());
// 差值与限定值相比,大于0需要重取
// 差值与限定值相比,大于0需要重取
if
(
difVal
.
abs
().
compareTo
(
limitValue
)
>
0
)
{
if
(
difVal
.
abs
().
compareTo
(
limitValue
)
>
0
)
{
...
@@ -88,18 +96,24 @@ public class ItemComparisonServiceImpl extends BaseServiceImpl<ItemComparisonMap
...
@@ -88,18 +96,24 @@ public class ItemComparisonServiceImpl extends BaseServiceImpl<ItemComparisonMap
}
}
@Override
@Override
public
boolean
saveCompareDataBatch
(
SlotQueryDTO
queryDTO
)
{
public
boolean
saveCompareDataBatch
(
SlotQueryDTO
queryDTO
,
Account
account
)
{
List
<
ItemComparison
>
comparisonList
=
listCompareItems
(
queryDTO
);
List
<
ItemComparison
>
comparisonList
=
listCompareItems
(
queryDTO
);
logger
.
error
(
"search data : {}"
,
JacksonUtils
.
toJSONString
(
comparisonList
));
logger
.
error
(
"search data : {}"
,
JacksonUtils
.
toJSONString
(
comparisonList
));
if
(
CollectionUtils
.
isEmpty
(
comparisonList
))
{
if
(
CollectionUtils
.
isEmpty
(
comparisonList
))
{
logger
.
error
(
"search data : empty list"
);
return
false
;
return
false
;
}
}
// ==
comparisonList
.
forEach
(
item
->
{
item
.
setUid
(
account
.
getUserId
()).
setCompanyId
(
account
.
getCompanyId
());
});
ItemComparison
comparison
=
comparisonList
.
get
(
0
);
ItemComparison
comparison
=
comparisonList
.
get
(
0
);
queryDTO
.
setQueryDate
(
DateUtils
.
str2Date
(
comparison
.
getCompareDate
()));
queryDTO
.
setQueryDate
(
DateUtils
.
str2Date
(
comparison
.
getCompareDate
()));
queryDTO
.
setSampleName
(
comparison
.
getSampleName
());
queryDTO
.
setSampleName
(
comparison
.
getSampleName
());
queryDTO
.
setIds
(
null
);
// 根据时间查询是否有存在的数据
// 根据时间查询是否有存在的数据
List
<
ItemComparison
>
itemComparisonList
=
baseMapper
.
selectDataPage
(
null
,
queryDTO
);
List
<
ItemComparison
>
itemComparisonList
=
baseMapper
.
selectDataPage
(
new
Page
(
1
,
Integer
.
MAX_VALUE
),
queryDTO
);
logger
.
info
(
"search query item comparison list is : {}"
,
JacksonUtils
.
toJSONString
(
itemComparisonList
));
// 数据组Map,过滤重复数据
// 数据组Map,过滤重复数据
if
(
CollectionUtils
.
isNotEmpty
(
itemComparisonList
))
{
if
(
CollectionUtils
.
isNotEmpty
(
itemComparisonList
))
{
Map
<
String
,
ItemComparison
>
itemComparisonMap
=
itemComparisonList
.
stream
().
collect
(
Collectors
.
toMap
(
it
->
it
.
getSampleCode
(),
Function
.
identity
()));
Map
<
String
,
ItemComparison
>
itemComparisonMap
=
itemComparisonList
.
stream
().
collect
(
Collectors
.
toMap
(
it
->
it
.
getSampleCode
(),
Function
.
identity
()));
...
...
src/main/resources/mapper/hmhj/EntrustSampleItemIndexMapper.xml
View file @
96edaae3
...
@@ -100,38 +100,64 @@
...
@@ -100,38 +100,64 @@
</select>
</select>
<select
id=
"selectSampleItemIndex"
resultType=
"java.util.Map"
>
<select
id=
"selectSampleItemIndex"
resultType=
"java.util.Map"
>
SELECT
with sample_item as (
s.id,
SELECT DISTINCT ON ( s.slot_no, ii.NAME )
s.NAME "sample_name",
(case when REPLACE(s.NAME, '重取', '') = '原铝' then '原铝' else '铝成品' end) "sample_name",
s.code "sample_code",
(CASE WHEN strpos(s.code, '-') > 0 THEN s.code ELSE substr(s.code, 0, 8) || '-' || substr(s.code, 8, 4) END) "sample_code",
max(s.sample_from) "sample_from",
s.slot_no,
max(s.sample_grading) "brand",
s.sample_from,
max(i.tester) "tester",
s.sample_grading "brand",
to_char(max(i.test_time),'YYYY-MM-DD HH24:MI:SS') "test_time",
s.entrust_id,
max(r.report_checker) "report_checker",
s.company_id,
max(CASE WHEN S.NAME = '原铝' then e.assignor else r.report_issuer end) "report_issuer",
i.tester,
max(r.quality_inspector) "quality_inspector",
i.test_time,
max(case when ii.name = '原铝Fe' then trim(ii.test_value) else null end) "fe",
ii.NAME,
max(case when ii.name = '原铝Si' then trim(ii.test_value) else null end) "si",
ii.test_value
max(case when ii.name = '原铝Cu' then trim(ii.test_value) else null end) "cu",
FROM entrust_sample_item_index ii
max(case when ii.name = '原铝Ga' then trim(ii.test_value) else null end) "ga",
max(case when ii.name = '原铝Mg' then trim(ii.test_value) else null end) "mg",
max(case when ii.name = '原铝Zn' then trim(ii.test_value) else null end) "zn",
max(case when ii.name = '原铝Mn' then trim(ii.test_value) else null end) "mn",
max(case when ii.name = '原铝Ni' then trim(ii.test_value) else null end) "ni",
max(case when ii.name = '原铝V' then trim(ii.test_value) else null end) "v"
FROM
entrust_sample_item_index ii
JOIN entrust_sample_item i ON i.ID = ii.entrust_sample_item_id AND i.deleted = 0
JOIN entrust_sample_item i ON i.ID = ii.entrust_sample_item_id AND i.deleted = 0
JOIN entrust_sample s ON s.ID = i.entrust_sample_id AND s.deleted = 0
JOIN entrust_sample s ON s.ID = i.entrust_sample_id AND s.deleted = 0
JOIN entrust e on e.ID = s.entrust_id AND e.deleted = 0
LEFT JOIN entrust_report r ON r.entrust_id = s.entrust_id AND r.deleted = 0
WHERE ii.deleted = 0
WHERE ii.deleted = 0
-- AND s.NAME IN ('原铝', '铝成品')
<if
test=
"null != entrustIds"
>
<foreach
collection=
"entrustIds"
index=
"index"
item=
"entrustId"
open=
" and s.entrust_id in ("
separator=
","
close=
")"
>
#{entrustId}
</foreach>
</if>
<if
test=
"null != sampleIds"
>
<foreach
collection=
"sampleIds"
index=
"index"
item=
"sampleId"
open=
" and s.id in ("
separator=
","
close=
")"
>
<foreach
collection=
"sampleIds"
index=
"index"
item=
"sampleId"
open=
" and s.id in ("
separator=
","
close=
")"
>
#{sampleId}
#{sampleId}
</foreach>
</foreach>
GROUP BY s.id,s.name,s.code
</if>
ORDER BY s.slot_no,
ii.NAME,
i.ctime DESC
)
SELECT si.sample_code,
si.sample_name,
si.sample_from,
si.brand,
max(s.id) "id",
max(si.tester) "tester",
to_char(max(si.test_time), 'YYYY-MM-DD HH24:MI:SS') "test_time",
max(r.report_checker) "report_checker",
max(CASE WHEN si.NAME = '原铝' then e.assignor else r.report_issuer end) "report_issuer",
max(r.quality_inspector) "quality_inspector",
max(case when si.name = '原铝Fe' then trim(si.test_value) end) "fe",
max(case when si.name = '原铝Si' then trim(si.test_value) end) "si",
max(case when si.name = '原铝Cu' then trim(si.test_value) end) "cu",
max(case when si.name = '原铝Ga' then trim(si.test_value) end) "ga",
max(case when si.name = '原铝Mg' then trim(si.test_value) end) "mg",
max(case when si.name = '原铝Zn' then trim(si.test_value) end) "zn",
max(case when si.name = '原铝Mn' then trim(si.test_value) end) "mn",
max(case when si.name = '原铝Ni' then trim(si.test_value) end) "ni",
max(case when si.name = '原铝V' then trim(si.test_value) end) "v"
FROM sample_item si
JOIN entrust_sample s on s.code = si.sample_code and s.deleted = 0
JOIN entrust e on e.ID = si.entrust_id AND e.deleted = 0
LEFT JOIN entrust_report r ON r.entrust_id = si.entrust_id AND r.deleted = 0
group by si.sample_code,
si.sample_name,
si.sample_from,
si.brand
</select>
</select>
<delete
id=
"physicalDeleteByItemIds"
>
<delete
id=
"physicalDeleteByItemIds"
>
...
...
src/main/resources/mapper/hmhj/ItemComparisonMapper.xml
View file @
96edaae3
...
@@ -11,6 +11,9 @@
...
@@ -11,6 +11,9 @@
<if
test=
"null != vo.sampleName"
>
<if
test=
"null != vo.sampleName"
>
and ic.sample_name = #{vo.sampleName}
and ic.sample_name = #{vo.sampleName}
</if>
</if>
<if
test=
"null != vo.period"
>
and ic.period = #{vo.period}
</if>
<if
test=
"null != vo.slotNo"
>
<if
test=
"null != vo.slotNo"
>
and ic.slot_no = #{vo.slotNo}
and ic.slot_no = #{vo.slotNo}
</if>
</if>
...
@@ -34,13 +37,14 @@
...
@@ -34,13 +37,14 @@
<select
id=
"selectCompareItems"
resultType=
"com.patzn.cloud.service.hmhj.entity.ItemComparison"
>
<select
id=
"selectCompareItems"
resultType=
"com.patzn.cloud.service.hmhj.entity.ItemComparison"
>
SELECT
SELECT
n.*,
n.*,
o.sample_
name "prev_sample_nam
e",
o.sample_
code "prev_sample_cod
e",
o.test_value "prev_test_value"
o.test_value "prev_test_value"
FROM
FROM
( SELECT
( SELECT
s.NAME "sample_name",
s.NAME "sample_name",
s.code "sample_code",
s.code "sample_code",
s.slot_no,
s.slot_no,
i.period,
ii.NAME,
ii.NAME,
ii.test_value,
ii.test_value,
ii.ctime,
ii.ctime,
...
@@ -54,13 +58,13 @@
...
@@ -54,13 +58,13 @@
WHERE
WHERE
ii.deleted = 0
ii.deleted = 0
AND ii.NAME IN ( '原铝Fe', '原铝Si' )
AND ii.NAME IN ( '原铝Fe', '原铝Si' )
AND s.NAME = '原铝'
AND s.NAME IN ('原铝', '铝成品')
<if
test=
"null == vo.
i
ds"
>
<if
test=
"null == vo.
sampleI
ds"
>
AND to_char( ii.ctime, 'yyyy-MM-dd' ) = to_char(#{vo.queryDate}::timestamp,'yyyy-MM-dd')
AND to_char( ii.ctime, 'yyyy-MM-dd' ) = to_char(#{vo.queryDate}::timestamp,'yyyy-MM-dd')
</if>
</if>
<if
test=
"null != vo.
i
ds"
>
<if
test=
"null != vo.
sampleI
ds"
>
and s.id in
and s.id in
<foreach
collection=
"vo.
i
ds"
item=
"sampleId"
open=
"("
separator=
","
close=
")"
>
<foreach
collection=
"vo.
sampleI
ds"
item=
"sampleId"
open=
"("
separator=
","
close=
")"
>
#{sampleId}
#{sampleId}
</foreach>
</foreach>
</if>
</if>
...
@@ -71,9 +75,9 @@
...
@@ -71,9 +75,9 @@
) n
) n
JOIN (
JOIN (
SELECT DISTINCT ON ( s.slot_no, ii.NAME )
SELECT DISTINCT ON ( s.slot_no, ii.NAME )
replace(s.NAME,'重取','') "sample_name",
(case when strpos(s.code,'-') > 0 then s.code else substr(s.code,0,8) || '-' || substr(s.code,8,4) end) "sample_code",
(case when strpos(s.code,'-') > 0 then s.code else substr(s.code,0,8) || '-' || substr(s.code,8,4) end) "sample_code",
s.slot_no,
s.slot_no,
i.period,
ii.NAME,
ii.NAME,
ii.test_value,
ii.test_value,
ii.ctime
ii.ctime
...
@@ -85,13 +89,21 @@
...
@@ -85,13 +89,21 @@
AND s.deleted = 0
AND s.deleted = 0
WHERE ii.deleted = 0
WHERE ii.deleted = 0
AND ii.NAME IN ('原铝Fe', '原铝Si')
AND ii.NAME IN ('原铝Fe', '原铝Si')
AND s.NAME IN ('原铝', '原铝重取')
AND s.NAME IN ('原铝', '铝成品', '原铝重取')
<if
test=
"null != vo.sampleIds"
>
and s.id not in
<foreach
collection=
"vo.sampleIds"
item=
"sampleId"
open=
"("
separator=
","
close=
")"
>
#{sampleId}
</foreach>
</if>
ORDER BY
ORDER BY
s.slot_no,
s.slot_no,
ii.NAME,
ii.NAME,
i.ctime DESC
i.ctime DESC
) o ON n.slot_no = o.slot_no AND n.NAME = o.NAME AND TO_CHAR(n.ctime, 'yyyy-MM-dd' ) = to_char(o.ctime + '2 day','yyyy-MM-dd')
) o ON n.slot_no = o.slot_no
WHERE 1=1
AND n.NAME = o.NAME
AND n.period = o.period
AND TO_CHAR(n.ctime, 'yyyy-MM-dd' ) = to_char(o.ctime + '2 day','yyyy-MM-dd')
</select>
</select>
</mapper>
</mapper>
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