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
6b6cb9ca
Commit
6b6cb9ca
authored
Apr 15, 2023
by
lijingjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新建develop分支,开发分支;
parent
d0e45b25
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
1012 additions
and
70 deletions
+1012
-70
RestTemplateConfig.java
...m/patzn/cloud/service/lims/config/RestTemplateConfig.java
+22
-0
ServiceProperties.java
...om/patzn/cloud/service/lims/config/ServiceProperties.java
+73
-0
RestTemplateUtils.java
...tzn/cloud/service/lims/hmhj/common/RestTemplateUtils.java
+160
-0
WmsRequest.java
.../com/patzn/cloud/service/lims/hmhj/common/WmsRequest.java
+59
-0
HttpConst.java
...atzn/cloud/service/lims/hmhj/common/consts/HttpConst.java
+4
-10
StatisticsController.java
...ud/service/lims/hmhj/controller/StatisticsController.java
+14
-6
WmsStockController.java
...loud/service/lims/hmhj/controller/WmsStockController.java
+76
-0
WmsStockDeliveryController.java
...vice/lims/hmhj/controller/WmsStockDeliveryController.java
+86
-0
WmsStockDeliveryMapper.java
...loud/service/lims/hmhj/mapper/WmsStockDeliveryMapper.java
+16
-0
WmsStockMapper.java
.../patzn/cloud/service/lims/hmhj/mapper/WmsStockMapper.java
+15
-0
IEntrustSampleService.java
...loud/service/lims/hmhj/service/IEntrustSampleService.java
+2
-0
IStatisticsService.java
...n/cloud/service/lims/hmhj/service/IStatisticsService.java
+4
-4
IUserInspectionCodeService.java
...service/lims/hmhj/service/IUserInspectionCodeService.java
+2
-0
IWmsStockDeliveryService.java
...d/service/lims/hmhj/service/IWmsStockDeliveryService.java
+43
-0
IWmsStockService.java
...tzn/cloud/service/lims/hmhj/service/IWmsStockService.java
+36
-0
EntrustSampleItemServiceImpl.java
.../lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
+1
-1
EntrustSamplePrepareServiceImpl.java
...ms/hmhj/service/impl/EntrustSamplePrepareServiceImpl.java
+8
-0
EntrustSampleServiceImpl.java
...vice/lims/hmhj/service/impl/EntrustSampleServiceImpl.java
+66
-15
EntrustServiceImpl.java
...ud/service/lims/hmhj/service/impl/EntrustServiceImpl.java
+6
-4
StatisticsServiceImpl.java
...service/lims/hmhj/service/impl/StatisticsServiceImpl.java
+52
-14
UserInspectionCodeServiceImpl.java
...lims/hmhj/service/impl/UserInspectionCodeServiceImpl.java
+18
-0
WmsStockDeliveryServiceImpl.java
...e/lims/hmhj/service/impl/WmsStockDeliveryServiceImpl.java
+99
-0
WmsStockServiceImpl.java
...d/service/lims/hmhj/service/impl/WmsStockServiceImpl.java
+126
-0
application-dev.yml
src/main/resources/application-dev.yml
+0
-4
application-hmhj.yml
src/main/resources/application-hmhj.yml
+1
-1
application-local.yml
src/main/resources/application-local.yml
+1
-0
application.yml
src/main/resources/application.yml
+11
-4
IDWorkTest.java
...st/java/com/patzn/cloud/service/lims/test/IDWorkTest.java
+2
-1
JsonObjectTest.java
...ava/com/patzn/cloud/service/lims/test/JsonObjectTest.java
+9
-6
No files found.
src/main/java/com/patzn/cloud/service/lims/config/RestTemplateConfig.java
0 → 100644
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
config
;
import
org.springframework.boot.web.client.RestTemplateBuilder
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.client.RestTemplate
;
/**
* @author Meazty
*/
@Configuration
public
class
RestTemplateConfig
{
@Bean
public
RestTemplate
restTemplate
(
RestTemplateBuilder
builder
)
{
return
builder
.
build
();
}
}
src/main/java/com/patzn/cloud/service/lims/config/ServiceProperties.java
View file @
6b6cb9ca
...
@@ -21,6 +21,19 @@ public class ServiceProperties {
...
@@ -21,6 +21,19 @@ public class ServiceProperties {
private
String
url
;
private
String
url
;
private
String
apiUrl
;
private
String
erpUrl
;
private
String
erpToken
;
private
String
wmsUrl
;
private
String
foodUrl
;
private
String
staticUrl
;
private
String
provinceItemUrl
;
public
String
getSoffice
()
{
public
String
getSoffice
()
{
return
soffice
;
return
soffice
;
...
@@ -37,4 +50,64 @@ public class ServiceProperties {
...
@@ -37,4 +50,64 @@ public class ServiceProperties {
public
void
setUrl
(
String
url
)
{
public
void
setUrl
(
String
url
)
{
this
.
url
=
url
;
this
.
url
=
url
;
}
}
public
String
getApiUrl
()
{
return
apiUrl
;
}
public
void
setApiUrl
(
String
apiUrl
)
{
this
.
apiUrl
=
apiUrl
;
}
public
String
getErpUrl
()
{
return
erpUrl
;
}
public
void
setErpUrl
(
String
erpUrl
)
{
this
.
erpUrl
=
erpUrl
;
}
public
String
getErpToken
()
{
return
erpToken
;
}
public
void
setErpToken
(
String
erpToken
)
{
this
.
erpToken
=
erpToken
;
}
public
String
getWmsUrl
()
{
return
wmsUrl
;
}
public
void
setWmsUrl
(
String
wmsUrl
)
{
this
.
wmsUrl
=
wmsUrl
;
}
public
String
getFoodUrl
()
{
return
foodUrl
;
}
public
void
setFoodUrl
(
String
foodUrl
)
{
this
.
foodUrl
=
foodUrl
;
}
public
String
getStaticUrl
()
{
return
staticUrl
;
}
public
void
setStaticUrl
(
String
staticUrl
)
{
this
.
staticUrl
=
staticUrl
;
}
public
String
getProvinceItemUrl
()
{
return
provinceItemUrl
;
}
public
void
setProvinceItemUrl
(
String
provinceItemUrl
)
{
this
.
provinceItemUrl
=
provinceItemUrl
;
}
public
String
buildWmsUrl
(
String
method
)
{
return
this
.
wmsUrl
+
method
;
}
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/common/RestTemplateUtils.java
0 → 100644
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
common
;
import
org.springframework.http.HttpEntity
;
import
org.springframework.http.HttpHeaders
;
import
org.springframework.http.HttpMethod
;
import
org.springframework.http.MediaType
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.util.MultiValueMap
;
import
org.springframework.web.client.RestTemplate
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.Map
;
import
java.util.Objects
;
/**
* @author Meazty
*/
@Component
public
class
RestTemplateUtils
{
private
static
RestTemplate
restTemplate
;
public
RestTemplateUtils
(
RestTemplate
restTemplate
)
{
RestTemplateUtils
.
restTemplate
=
restTemplate
;
}
public
static
String
sendSimple
(
String
url
)
{
return
sendSimple
(
url
,
null
,
HttpMethod
.
GET
,
new
HttpHeaders
());
}
public
static
String
sendSimple
(
String
url
,
Map
<
String
,
?>
urlParam
)
{
return
sendSimple
(
url
,
urlParam
,
HttpMethod
.
GET
);
}
public
static
String
sendSimple
(
String
url
,
Map
<
String
,
?>
urlParam
,
HttpHeaders
headers
)
{
return
sendSimple
(
url
,
urlParam
,
HttpMethod
.
GET
,
headers
);
}
public
static
String
sendSimple
(
String
url
,
Map
<
String
,
?>
urlParam
,
HttpMethod
method
)
{
return
sendSimple
(
url
,
urlParam
,
method
,
new
HttpHeaders
());
}
/**
* 发送简单请求,不含body
*
* @param url url
* @param urlParam 用?和&拼接在url后面的参数
* @param method 请求方式
* @param headers 请求头
* @return body
*/
public
static
String
sendSimple
(
String
url
,
Map
<
String
,
?>
urlParam
,
HttpMethod
method
,
HttpHeaders
headers
)
{
if
(
urlParam
==
null
)
{
urlParam
=
new
HashMap
<>(
0
);
}
// url参数拼接
url
=
handleUrlParam
(
url
,
urlParam
);
HttpEntity
<
MultiValueMap
<
String
,
?>>
requestEntity
=
new
HttpEntity
<>(
null
,
headers
);
return
restTemplate
.
exchange
(
url
,
method
,
requestEntity
,
String
.
class
,
urlParam
).
getBody
();
}
public
static
String
sendForm
(
String
url
,
Map
<
String
,
?>
body
)
{
return
sendForm
(
url
,
null
,
body
,
HttpMethod
.
POST
,
new
HttpHeaders
());
}
public
static
String
sendForm
(
String
url
,
Map
<
String
,
?>
urlParam
,
Map
<
String
,
?>
body
)
{
return
sendForm
(
url
,
urlParam
,
body
,
HttpMethod
.
POST
,
new
HttpHeaders
());
}
public
static
String
sendForm
(
String
url
,
Map
<
String
,
?>
urlParam
,
Map
<
String
,
?>
body
,
HttpMethod
method
)
{
return
sendForm
(
url
,
urlParam
,
body
,
method
,
new
HttpHeaders
());
}
public
static
String
sendForm
(
String
url
,
Map
<
String
,
?>
urlParam
,
Map
<
String
,
?>
body
,
HttpMethod
method
,
HttpHeaders
headers
)
{
headers
.
setContentType
(
MediaType
.
APPLICATION_FORM_URLENCODED
);
return
send
(
url
,
urlParam
,
body
,
method
,
headers
);
}
public
static
String
sendJson
(
String
url
,
Map
<
String
,
?>
body
)
{
return
sendJson
(
url
,
null
,
body
,
HttpMethod
.
POST
,
new
HttpHeaders
());
}
public
static
String
sendJson
(
String
url
,
Map
<
String
,
?>
urlParam
,
Map
<
String
,
?>
body
)
{
return
sendJson
(
url
,
urlParam
,
body
,
HttpMethod
.
POST
,
new
HttpHeaders
());
}
public
static
String
sendJson
(
String
url
,
Map
<
String
,
?>
urlParam
,
Map
<
String
,
?>
body
,
HttpMethod
method
)
{
return
sendJson
(
url
,
urlParam
,
body
,
method
,
new
HttpHeaders
());
}
public
static
String
sendJson
(
String
url
,
Map
<
String
,
?>
urlParam
,
Map
<
String
,
?>
body
,
HttpMethod
method
,
HttpHeaders
headers
)
{
headers
.
setContentType
(
MediaType
.
APPLICATION_JSON
);
return
send
(
url
,
urlParam
,
body
,
method
,
headers
);
}
/**
* 复杂请求发送
*
* @param url url
* @param urlParam 用?和&拼接在url后面的参数
* @param body 请求体
* @param method 请求方式
* @param headers 请求头
* @return body
*/
public
static
String
send
(
String
url
,
Map
<
String
,
?>
urlParam
,
Map
<
String
,
?>
body
,
HttpMethod
method
,
HttpHeaders
headers
)
{
if
(
urlParam
==
null
)
{
urlParam
=
new
HashMap
<>(
0
);
}
// url参数拼接
url
=
handleUrlParam
(
url
,
urlParam
);
HttpEntity
<
Map
<
String
,
?>>
requestEntity
=
null
;
if
(
Objects
.
equals
(
headers
.
getContentType
(),
MediaType
.
APPLICATION_JSON
))
{
requestEntity
=
new
HttpEntity
<>(
body
,
headers
);
}
if
(
Objects
.
equals
(
headers
.
getContentType
(),
MediaType
.
APPLICATION_FORM_URLENCODED
))
{
// body参数处理
MultiValueMap
<
String
,
Object
>
param
=
new
LinkedMultiValueMap
<>();
Iterator
<?
extends
Map
.
Entry
<
String
,
?>>
iterator
=
body
.
entrySet
().
iterator
();
while
(
iterator
.
hasNext
())
{
Map
.
Entry
<
String
,
?>
next
=
iterator
.
next
();
param
.
add
(
next
.
getKey
(),
next
.
getValue
());
}
requestEntity
=
new
HttpEntity
<>(
param
,
headers
);
}
return
restTemplate
.
exchange
(
url
,
method
,
requestEntity
,
String
.
class
,
urlParam
).
getBody
();
}
/**
* url参数拼接
*
* @param url
* @param urlParam
* @return
*/
private
static
String
handleUrlParam
(
String
url
,
Map
<
String
,
?>
urlParam
)
{
if
(
urlParam
==
null
||
urlParam
.
isEmpty
())
{
return
url
;
}
Iterator
<?
extends
Map
.
Entry
<
String
,
?>>
iterator
=
urlParam
.
entrySet
().
iterator
();
StringBuilder
urlBuilder
=
new
StringBuilder
(
url
);
urlBuilder
.
append
(
"?"
);
while
(
iterator
.
hasNext
())
{
Map
.
Entry
<
String
,
?>
entry
=
iterator
.
next
();
urlBuilder
.
append
(
entry
.
getKey
()).
append
(
"={"
).
append
(
entry
.
getKey
()).
append
(
"}"
).
append
(
"&"
);
}
urlBuilder
.
deleteCharAt
(
urlBuilder
.
length
()
-
1
);
return
urlBuilder
.
toString
();
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/common/WmsRequest.java
0 → 100644
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
common
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.patzn.cloud.commons.toolkit.JacksonUtils
;
import
com.patzn.cloud.service.hmhj.model.WmsRespResult
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
java.util.Map
;
/**
* @author Meazty
*/
public
class
WmsRequest
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
WmsRequest
.
class
);
public
static
<
T
>
T
sendJson
(
String
url
,
Map
<
String
,
?>
params
,
TypeReference
<
WmsRespResult
<
T
>>
typeReference
)
{
try
{
String
resultStr
=
RestTemplateUtils
.
sendJson
(
url
,
params
);
if
(
StringUtils
.
isBlank
(
resultStr
))
{
logger
.
error
(
"✦✦✦✦ WmsRequest ✦✦✦✦ sendJson ✦✦✦✈ WMS响应结果为空!"
);
return
null
;
}
WmsRespResult
<
T
>
result
=
JacksonUtils
.
readValue
(
resultStr
,
typeReference
);
if
(!
WmsRespResult
.
isSuccess
(
result
))
{
logger
.
error
(
"✦✦✦✦ WmsRequest ✦✦✦✦ sendJson ✦✦✦✈ 请求WMS接口失败:{}"
,
JacksonUtils
.
toJSONString
(
result
));
return
null
;
}
T
data
=
result
.
getData
();
logger
.
info
(
"✦✦✦✦ WmsRequest ✦✦✦✦ sendJson ✦✦✦✈ [url, params]: {}"
,
JacksonUtils
.
toJSONString
(
data
.
toString
()));
return
data
;
}
catch
(
Exception
e
)
{
logger
.
error
(
"✦✦✦✦ WmsRequest ✦✦✦✦ sendJson ✦✦✦✈ 请求WMS接口异常:"
,
e
);
}
return
null
;
}
public
static
WmsRespResult
sendJson
(
String
url
,
Map
<
String
,
?>
params
)
{
try
{
String
resultStr
=
RestTemplateUtils
.
sendJson
(
url
,
params
);
if
(
StringUtils
.
isBlank
(
resultStr
))
{
logger
.
error
(
"✦✦✦✦ WmsRequest ✦✦✦✦ sendJson ✦✦✦✈ WMS响应结果为空!"
);
return
null
;
}
WmsRespResult
result
=
JacksonUtils
.
readValue
(
resultStr
,
new
TypeReference
<
WmsRespResult
>()
{
});
if
(!
WmsRespResult
.
isSuccess
(
result
))
{
logger
.
error
(
"✦✦✦✦ WmsRequest ✦✦✦✦ sendJson ✦✦✦✈ 请求WMS接口失败:{}"
,
JacksonUtils
.
toJSONString
(
result
));
return
null
;
}
return
result
;
}
catch
(
Exception
e
)
{
logger
.
error
(
"✦✦✦✦ WmsRequest ✦✦✦✦ sendJson ✦✦✦✈ 请求WMS接口异常:"
,
e
);
}
return
null
;
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/common/consts/HttpConst.java
View file @
6b6cb9ca
...
@@ -12,18 +12,12 @@ public class HttpConst {
...
@@ -12,18 +12,12 @@ public class HttpConst {
public
static
final
String
CONTENT_TYPE
=
"application/json"
;
public
static
final
String
CONTENT_TYPE
=
"application/json"
;
/**
/**
* 本地:"http://api.dev.patzn.com:7000/hmhj/v1/entrust_sample_item/send_data";
* 委托编码同步接口
* 正式:"http://192.168.0.22/api/LimsData/SaveData";
* 测试:"http://192.168.0.19:5050/api/LimsData/SaveData";
*/
*/
public
static
final
String
WMS_SYNC_WTBH
=
"/SyncWTbh"
;
public
static
final
String
PROD_URL
=
"http://192.168.0.22/api/LimsData/SaveData"
;
public
static
final
String
WMS_SYNC_STOCK
=
"/SyncStock"
;
public
static
final
String
TEST_URL
=
"http://192.168.0.19:5050/api/LimsData/SaveData"
;
public
static
final
String
HOME_URL
=
"http://api.dev.patzn.com:7000/hmhj/v1/entrust_sample_item/send_data"
;
public
static
final
String
WMS_SYNC_STOCK_SITUATION
=
"/SyncStockSituation"
;
/**
* GmHu6SqGdmmtY6Aup5kp1jlWenQz+vzQ6TBN6x/3dOwfNULkTNLx2/QA9Vhq1F7LEEXP6UKzFCxt99srTFd59DjGOgmrDnvVOYBgtSYbSTD2JNeRRD8AKe/v3TW9rWFtOMfGHtTkh6AxbovaSXa99tI5HUInT2wi2xwkdo9DKOQ=
*/
public
static
final
String
ERP_TOKEN
=
"HbMhpXBu5y7kdg26WpdEVZcx9FFqBCawe1NYr4eb3LsiYu6EOAFyh9QuE/mEtQBwzi9kZHEhMUieOp54C2CQ0UG92O0nLWSO4+V2BtWS4YeuRttZAQc3Av1NxairBQeK5eOxG+4Wn2vn/Rs+mBrCZNco39ad85hHtUwqGhjE4+k="
;
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/StatisticsController.java
View file @
6b6cb9ca
...
@@ -5,30 +5,31 @@ import com.baomidou.kisso.annotation.Login;
...
@@ -5,30 +5,31 @@ import com.baomidou.kisso.annotation.Login;
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.commons.toolkit.DateUtils
;
import
com.patzn.cloud.commons.toolkit.DateUtils
;
import
com.patzn.cloud.service.hmhj.dto.LedgerQueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.*
;
import
com.patzn.cloud.service.hmhj.dto.QueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.RangeStatsQueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.StatsQueryDTO
;
import
com.patzn.cloud.service.hmhj.entity.CenterCost
;
import
com.patzn.cloud.service.hmhj.entity.CenterCost
;
import
com.patzn.cloud.service.hmhj.entity.Statistics
;
import
com.patzn.cloud.service.hmhj.entity.Statistics
;
import
com.patzn.cloud.service.hmhj.vo.WmsInventory
;
import
com.patzn.cloud.service.lims.hmhj.service.IStatisticsService
;
import
com.patzn.cloud.service.lims.hmhj.service.IStatisticsService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
/**
* @author Meazty
*/
@Api
(
tags
=
"统计控制器"
)
@Api
(
tags
=
"统计控制器"
)
@RestController
@RestController
@RequestMapping
(
"/v1/stats"
)
@RequestMapping
(
"/v1/stats"
)
public
class
StatisticsController
extends
ServiceController
{
public
class
StatisticsController
extends
ServiceController
{
@
Autowired
@
Resource
private
IStatisticsService
statsService
;
private
IStatisticsService
statsService
;
@ApiOperation
(
"化验委托量统计"
)
@ApiOperation
(
"化验委托量统计"
)
...
@@ -299,4 +300,11 @@ public class StatisticsController extends ServiceController {
...
@@ -299,4 +300,11 @@ public class StatisticsController extends ServiceController {
public
RestResult
<
CenterCost
>
getCenterCostData
(
StatsQueryDTO
queryDTO
)
{
public
RestResult
<
CenterCost
>
getCenterCostData
(
StatsQueryDTO
queryDTO
)
{
return
success
(
statsService
.
getCenterCost
(
queryDTO
));
return
success
(
statsService
.
getCenterCost
(
queryDTO
));
}
}
@ApiOperation
(
"获取WMS库存和出入库总数总价情况"
)
@Login
(
action
=
Action
.
Skip
)
@PostMapping
(
"/inventory"
)
public
RestResult
<
List
<
WmsInventory
>>
getInventory
(
WmsInventoryDTO
queryDTO
)
{
return
success
(
statsService
.
getInventoryList
(
queryDTO
));
}
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/WmsStockController.java
0 → 100644
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
controller
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.api.RestConstants
;
import
com.patzn.cloud.commons.api.RestResult
;
import
com.patzn.cloud.commons.controller.ServiceController
;
import
com.patzn.cloud.service.hmhj.dto.WmsStockDTO
;
import
com.patzn.cloud.service.hmhj.entity.WmsStock
;
import
com.patzn.cloud.service.lims.hmhj.service.IWmsStockService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* WMS库存 前端控制器
*
* @author meazty
* @since 2023-04-11
*/
@Api
(
tags
=
"WMS库存"
)
@RestController
@RequestMapping
(
"/v1/stock"
)
public
class
WmsStockController
extends
ServiceController
{
@Autowired
private
IWmsStockService
wmsStockService
;
@ApiOperation
(
"分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_ROWS
,
value
=
"每页条数"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
})
@PostMapping
(
"/page"
)
public
RestResult
<
Page
<
WmsStock
>>
getPage
(
WmsStockDTO
wmsStock
)
{
return
success
(
wmsStockService
.
page
(
getPage
(),
wmsStock
));
}
@ApiOperation
(
"查询 id 信息"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"主键"
,
required
=
true
,
paramType
=
"path"
,
dataTypeClass
=
Long
.
class
),
})
@GetMapping
(
"/{id}"
)
public
RestResult
<
WmsStock
>
get
(
@PathVariable
(
"id"
)
Long
id
)
{
return
success
(
wmsStockService
.
getById
(
id
));
}
@ApiOperation
(
"根据 id 修改信息"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"主键"
,
required
=
true
,
paramType
=
"path"
,
dataTypeClass
=
Long
.
class
),
})
@PutMapping
(
"/{id}"
)
public
RestResult
<
Boolean
>
edit
(
@PathVariable
(
"id"
)
Long
id
,
WmsStock
wmsStock
)
{
wmsStock
.
setId
(
id
);
return
success
(
wmsStockService
.
updateById
(
wmsStock
));
}
@ApiOperation
(
"添加"
)
@PostMapping
(
"/"
)
public
RestResult
<
Boolean
>
add
(
WmsStock
wmsStock
)
{
return
success
(
wmsStockService
.
save
(
wmsStock
));
}
@ApiOperation
(
"根据 ids 删除"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"主键列表"
,
required
=
true
,
paramType
=
"query"
,
allowMultiple
=
true
,
dataTypeClass
=
Long
.
class
),
})
@DeleteMapping
(
"/"
)
public
RestResult
<
Boolean
>
delete
(
@RequestParam
(
"ids"
)
List
<
Long
>
ids
)
{
return
success
(
wmsStockService
.
removeByIds
(
ids
));
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/WmsStockDeliveryController.java
0 → 100644
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
controller
;
import
com.baomidou.kisso.annotation.Action
;
import
com.baomidou.kisso.annotation.Login
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.api.RestConstants
;
import
com.patzn.cloud.commons.api.RestResult
;
import
com.patzn.cloud.commons.controller.ServiceController
;
import
com.patzn.cloud.service.hmhj.dto.WmsStockDeliveryDTO
;
import
com.patzn.cloud.service.hmhj.entity.WmsStockDelivery
;
import
com.patzn.cloud.service.hmhj.vo.WmsStockDeliveryData
;
import
com.patzn.cloud.service.lims.hmhj.service.IWmsStockDeliveryService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* WMS出入库 前端控制器
*
* @author meazty
* @since 2023-04-11
*/
@Api
(
tags
=
"WMS出入库"
)
@RestController
@RequestMapping
(
"/v1/stock_delivery"
)
public
class
WmsStockDeliveryController
extends
ServiceController
{
@Resource
private
IWmsStockDeliveryService
wmsStockDeliveryService
;
@ApiOperation
(
"分页列表"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_PAGE
,
value
=
"请求数据的页码"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
@ApiImplicitParam
(
name
=
RestConstants
.
PAGE_ROWS
,
value
=
"每页条数"
,
required
=
true
,
paramType
=
"query"
,
dataTypeClass
=
Integer
.
class
),
})
@PostMapping
(
"/page"
)
public
RestResult
<
Page
<
WmsStockDelivery
>>
getPage
(
WmsStockDeliveryDTO
wmsStockDelivery
)
{
return
success
(
wmsStockDeliveryService
.
page
(
getPage
(),
wmsStockDelivery
));
}
@ApiOperation
(
"查询 id 信息"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"主键"
,
required
=
true
,
paramType
=
"path"
,
dataTypeClass
=
Long
.
class
),
})
@GetMapping
(
"/{id}"
)
public
RestResult
<
WmsStockDelivery
>
get
(
@PathVariable
(
"id"
)
Long
id
)
{
return
success
(
wmsStockDeliveryService
.
getById
(
id
));
}
@ApiOperation
(
"根据 id 修改信息"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"id"
,
value
=
"主键"
,
required
=
true
,
paramType
=
"path"
,
dataTypeClass
=
Long
.
class
),
})
@PutMapping
(
"/{id}"
)
public
RestResult
<
Boolean
>
edit
(
@PathVariable
(
"id"
)
Long
id
,
WmsStockDelivery
wmsStockDelivery
)
{
wmsStockDelivery
.
setId
(
id
);
return
success
(
wmsStockDeliveryService
.
updateById
(
wmsStockDelivery
));
}
@ApiOperation
(
"添加"
)
@PostMapping
(
"/"
)
public
RestResult
<
Boolean
>
add
(
WmsStockDelivery
wmsStockDelivery
)
{
return
success
(
wmsStockDeliveryService
.
save
(
wmsStockDelivery
));
}
@ApiOperation
(
"根据 ids 删除"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"ids"
,
value
=
"主键列表"
,
required
=
true
,
paramType
=
"query"
,
allowMultiple
=
true
,
dataTypeClass
=
Long
.
class
),
})
@DeleteMapping
(
"/"
)
public
RestResult
<
Boolean
>
delete
(
@RequestParam
(
"ids"
)
List
<
Long
>
ids
)
{
return
success
(
wmsStockDeliveryService
.
removeByIds
(
ids
));
}
@ApiOperation
(
"同步WMS出入库信息"
)
@Login
(
action
=
Action
.
Skip
)
@PostMapping
(
"/sync_stock_delivery"
)
public
RestResult
<
Boolean
>
syncStockDelivery
(
@RequestBody
WmsStockDeliveryData
data
)
{
return
success
(
wmsStockDeliveryService
.
syncStockDelivery
(
data
));
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/mapper/WmsStockDeliveryMapper.java
0 → 100644
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
mapper
;
import
com.patzn.cloud.commons.mapper.BatchMapper
;
import
com.patzn.cloud.service.hmhj.entity.WmsStockDelivery
;
/**
* <p>
* WMS出入库 Mapper 接口
* </p>
*
* @author meazty
* @since 2023-04-11
*/
public
interface
WmsStockDeliveryMapper
extends
BatchMapper
<
WmsStockDelivery
>
{
}
src/main/java/com/patzn/cloud/service/lims/hmhj/mapper/WmsStockMapper.java
0 → 100644
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
mapper
;
import
com.patzn.cloud.service.hmhj.entity.WmsStock
;
import
com.patzn.cloud.commons.mapper.BatchMapper
;
/**
* <p>
* WMS库存 Mapper 接口
* </p>
*
* @author meazty
* @since 2023-04-11
*/
public
interface
WmsStockMapper
extends
BatchMapper
<
WmsStock
>
{
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IEntrustSampleService.java
View file @
6b6cb9ca
...
@@ -149,4 +149,6 @@ public interface IEntrustSampleService extends IBaseService<EntrustSample> {
...
@@ -149,4 +149,6 @@ public interface IEntrustSampleService extends IBaseService<EntrustSample> {
Long
getEntrustIdBySampleCode
(
String
sampleCode
);
Long
getEntrustIdBySampleCode
(
String
sampleCode
);
List
<
Long
>
getEntrustIdsBySampleCodes
(
List
<
String
>
sampleCodes
);
List
<
Long
>
getEntrustIdsBySampleCodes
(
List
<
String
>
sampleCodes
);
void
postWmsEntrustData
(
List
<
Entrust
>
entrustList
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IStatisticsService.java
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
;
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
;
import
com.patzn.cloud.commons.service.IBaseService
;
import
com.patzn.cloud.commons.service.IBaseService
;
import
com.patzn.cloud.service.hmhj.dto.LedgerQueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.*
;
import
com.patzn.cloud.service.hmhj.dto.QueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.RangeStatsQueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.StatsQueryDTO
;
import
com.patzn.cloud.service.hmhj.entity.CenterCost
;
import
com.patzn.cloud.service.hmhj.entity.CenterCost
;
import
com.patzn.cloud.service.hmhj.entity.Statistics
;
import
com.patzn.cloud.service.hmhj.entity.Statistics
;
import
com.patzn.cloud.service.hmhj.vo.WmsInventory
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -92,4 +90,6 @@ public interface IStatisticsService extends IBaseService<Statistics> {
...
@@ -92,4 +90,6 @@ public interface IStatisticsService extends IBaseService<Statistics> {
Map
<
String
,
Object
>
getCnasCompletionQuantity
(
QueryDTO
queryDTO
);
Map
<
String
,
Object
>
getCnasCompletionQuantity
(
QueryDTO
queryDTO
);
CenterCost
getCenterCost
(
StatsQueryDTO
queryDTO
);
CenterCost
getCenterCost
(
StatsQueryDTO
queryDTO
);
List
<
WmsInventory
>
getInventoryList
(
WmsInventoryDTO
queryDTO
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IUserInspectionCodeService.java
View file @
6b6cb9ca
...
@@ -17,4 +17,6 @@ public interface IUserInspectionCodeService extends IBaseService<UserInspectionC
...
@@ -17,4 +17,6 @@ public interface IUserInspectionCodeService extends IBaseService<UserInspectionC
Page
<
UserInspectionCode
>
page
(
Page
<
UserInspectionCode
>
page
,
UserInspectionCode
sysUserInspectionCode
);
Page
<
UserInspectionCode
>
page
(
Page
<
UserInspectionCode
>
page
,
UserInspectionCode
sysUserInspectionCode
);
boolean
removeByIds
(
List
<
Long
>
ids
);
boolean
removeByIds
(
List
<
Long
>
ids
);
UserInspectionCode
getOne
(
UserInspectionCode
inspectionCode
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IWmsStockDeliveryService.java
0 → 100644
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.service.IBaseService
;
import
com.patzn.cloud.service.hmhj.dto.WmsStockDeliveryDTO
;
import
com.patzn.cloud.service.hmhj.entity.WmsStockDelivery
;
import
com.patzn.cloud.service.hmhj.vo.WmsStockDeliveryData
;
import
java.util.List
;
/**
* WMS出入库 服务类
*
* @author meazty
* @since 2023 -04-11
*/
public
interface
IWmsStockDeliveryService
extends
IBaseService
<
WmsStockDelivery
>
{
/**
* Page page.
*
* @param page the page
* @param wmsStockDelivery the wms stock delivery
* @return the page
*/
Page
<
WmsStockDelivery
>
page
(
Page
<
WmsStockDelivery
>
page
,
WmsStockDeliveryDTO
wmsStockDelivery
);
/**
* Remove by ids boolean.
*
* @param ids the ids
* @return the boolean
*/
boolean
removeByIds
(
List
<
Long
>
ids
);
/**
* Sync stock delivery boolean.
*
* @param data the data
* @return the boolean
*/
boolean
syncStockDelivery
(
WmsStockDeliveryData
data
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IWmsStockService.java
0 → 100644
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.service.IBaseService
;
import
com.patzn.cloud.service.hmhj.dto.WmsStockDTO
;
import
com.patzn.cloud.service.hmhj.entity.WmsStock
;
import
java.util.List
;
/**
* WMS库存 服务类
*
* @author meazty
* @since 2023 -04-11
*/
public
interface
IWmsStockService
extends
IBaseService
<
WmsStock
>
{
/**
* Page page.
*
* @param page the page
* @param wmsStock the wms stock
* @return the page
*/
Page
<
WmsStock
>
page
(
Page
<
WmsStock
>
page
,
WmsStockDTO
wmsStock
);
void
syncWmsStockData
();
/**
* Remove by ids boolean.
*
* @param ids the ids
* @return the boolean
*/
boolean
removeByIds
(
List
<
Long
>
ids
);
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleItemServiceImpl.java
View file @
6b6cb9ca
...
@@ -20,7 +20,7 @@ import com.patzn.cloud.commons.toolkit.*;
...
@@ -20,7 +20,7 @@ import com.patzn.cloud.commons.toolkit.*;
import
com.patzn.cloud.oss.starter.OssClient
;
import
com.patzn.cloud.oss.starter.OssClient
;
import
com.patzn.cloud.oss.starter.OssFileResult
;
import
com.patzn.cloud.oss.starter.OssFileResult
;
import
com.patzn.cloud.service.BaseEntity
;
import
com.patzn.cloud.service.BaseEntity
;
import
com.patzn.cloud.service.hmhj.
bean
.KV
;
import
com.patzn.cloud.service.hmhj.
model
.KV
;
import
com.patzn.cloud.service.hmhj.dto.QueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.QueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.SampleItemDTO
;
import
com.patzn.cloud.service.hmhj.dto.SampleItemDTO
;
import
com.patzn.cloud.service.hmhj.entity.*
;
import
com.patzn.cloud.service.hmhj.entity.*
;
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSamplePrepareServiceImpl.java
View file @
6b6cb9ca
...
@@ -25,6 +25,7 @@ import java.util.ArrayList;
...
@@ -25,6 +25,7 @@ import java.util.ArrayList;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.concurrent.Executor
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -53,6 +54,9 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
...
@@ -53,6 +54,9 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
@Autowired
@Autowired
private
IEntrustRecordService
entrustRecordService
;
private
IEntrustRecordService
entrustRecordService
;
@Autowired
private
Executor
executor1
;
@Override
@Override
public
Page
<
EntrustSamplePrepare
>
page
(
Page
<
EntrustSamplePrepare
>
page
,
EntrustSamplePrepare
entrustSamplePrepare
)
{
public
Page
<
EntrustSamplePrepare
>
page
(
Page
<
EntrustSamplePrepare
>
page
,
EntrustSamplePrepare
entrustSamplePrepare
)
{
...
@@ -374,6 +378,10 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
...
@@ -374,6 +378,10 @@ public class EntrustSamplePrepareServiceImpl extends BaseServiceImpl<EntrustSamp
entrustRecordService
.
record
(
new
Long
[]{
entrust
.
getId
()},
"样品接收"
,
"任务分配"
,
0
,
account
,
"提交至任务分配"
);
entrustRecordService
.
record
(
new
Long
[]{
entrust
.
getId
()},
"样品接收"
,
"任务分配"
,
0
,
account
,
"提交至任务分配"
);
}
}
}
}
// 异步推送WMS数据任务
executor1
.
execute
(()
->
{
entrustSampleService
.
postWmsEntrustData
(
entrustList
);
});
return
true
;
return
true
;
}
}
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustSampleServiceImpl.java
View file @
6b6cb9ca
...
@@ -21,10 +21,14 @@ import com.patzn.cloud.oss.starter.OssClient;
...
@@ -21,10 +21,14 @@ import com.patzn.cloud.oss.starter.OssClient;
import
com.patzn.cloud.service.hmhj.dto.*
;
import
com.patzn.cloud.service.hmhj.dto.*
;
import
com.patzn.cloud.service.hmhj.entity.*
;
import
com.patzn.cloud.service.hmhj.entity.*
;
import
com.patzn.cloud.service.hmhj.enums.*
;
import
com.patzn.cloud.service.hmhj.enums.*
;
import
com.patzn.cloud.service.hmhj.model.WmsRespResult
;
import
com.patzn.cloud.service.hmhj.vo.*
;
import
com.patzn.cloud.service.hmhj.vo.*
;
import
com.patzn.cloud.service.lims.common.BeanUtils
;
import
com.patzn.cloud.service.lims.common.BeanUtils
;
import
com.patzn.cloud.service.lims.common.StringHandleUtils
;
import
com.patzn.cloud.service.lims.common.StringHandleUtils
;
import
com.patzn.cloud.service.lims.config.ServiceProperties
;
import
com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil
;
import
com.patzn.cloud.service.lims.hmhj.common.HSSFWorkbookUtil
;
import
com.patzn.cloud.service.lims.hmhj.common.WmsRequest
;
import
com.patzn.cloud.service.lims.hmhj.common.consts.HttpConst
;
import
com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleMapper
;
import
com.patzn.cloud.service.lims.hmhj.mapper.EntrustSampleMapper
;
import
com.patzn.cloud.service.lims.hmhj.original.OriginalUtil
;
import
com.patzn.cloud.service.lims.hmhj.original.OriginalUtil
;
import
com.patzn.cloud.service.lims.hmhj.service.*
;
import
com.patzn.cloud.service.lims.hmhj.service.*
;
...
@@ -39,10 +43,10 @@ import org.apache.poi.xwpf.usermodel.XWPFDocument;
...
@@ -39,10 +43,10 @@ import org.apache.poi.xwpf.usermodel.XWPFDocument;
import
org.apache.poi.xwpf.usermodel.XWPFTable
;
import
org.apache.poi.xwpf.usermodel.XWPFTable
;
import
org.apache.poi.xwpf.usermodel.XWPFTableCell
;
import
org.apache.poi.xwpf.usermodel.XWPFTableCell
;
import
org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge
;
import
org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.*
;
import
java.io.*
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
...
@@ -60,41 +64,44 @@ import java.util.stream.Collectors;
...
@@ -60,41 +64,44 @@ import java.util.stream.Collectors;
@Service
@Service
public
class
EntrustSampleServiceImpl
extends
BaseServiceImpl
<
EntrustSampleMapper
,
EntrustSample
>
implements
IEntrustSampleService
{
public
class
EntrustSampleServiceImpl
extends
BaseServiceImpl
<
EntrustSampleMapper
,
EntrustSample
>
implements
IEntrustSampleService
{
@
Autowired
@
Resource
private
ICodeRuleService
codeRuleService
;
private
ICodeRuleService
codeRuleService
;
@
Autowired
@
Resource
private
IEntrustSampleRecordService
entrustSampleRecordService
;
private
IEntrustSampleRecordService
entrustSampleRecordService
;
@
Autowired
@
Resource
private
IEntrustReportTemplateService
entrustReportTemplateService
;
private
IEntrustReportTemplateService
entrustReportTemplateService
;
@
Autowired
@
Resource
private
IEntrustReportTemplateConfigService
entrustReportTemplateConfigService
;
private
IEntrustReportTemplateConfigService
entrustReportTemplateConfigService
;
@
Autowired
@
Resource
private
OssClient
ossClient
;
private
OssClient
ossClient
;
@
Autowired
@
Resource
private
IEntrustSampleItemService
entrustSampleItemService
;
private
IEntrustSampleItemService
entrustSampleItemService
;
@
Autowired
@
Resource
private
IEntrustSampleItemIndexService
entrustSampleItemIndexService
;
private
IEntrustSampleItemIndexService
entrustSampleItemIndexService
;
@
Autowired
@
Resource
private
IEntrustReportService
entrustReportService
;
private
IEntrustReportService
entrustReportService
;
@
Autowired
@
Resource
private
IEntrustService
entrustService
;
private
IEntrustService
entrustService
;
@
Autowired
@
Resource
private
IEntrustReportRelSampleService
entrustReportRelSampleService
;
private
IEntrustReportRelSampleService
entrustReportRelSampleService
;
@
Autowired
@
Resource
private
IContractSampleService
contractSampleService
;
private
IContractSampleService
contractSampleService
;
@
Autowired
@
Resource
private
IEntrustSamplePrepareService
entrustSamplePrepareService
;
private
IEntrustSamplePrepareService
entrustSamplePrepareService
;
@
Autowired
@
Resource
private
IContractSampleRecordService
contractSampleRecordService
;
private
IContractSampleRecordService
contractSampleRecordService
;
@
Autowired
@
Resource
private
IEntrustSampleBackupService
entrustSampleBackupService
;
private
IEntrustSampleBackupService
entrustSampleBackupService
;
@Resource
private
ServiceProperties
serviceProperties
;
@Override
@Override
public
Page
<
EntrustSample
>
page
(
Page
<
EntrustSample
>
page
,
EntrustSample
entrustSample
)
{
public
Page
<
EntrustSample
>
page
(
Page
<
EntrustSample
>
page
,
EntrustSample
entrustSample
)
{
Wrapper
wrapper
=
new
EntityWrapper
<>(
entrustSample
);
Wrapper
wrapper
=
new
EntityWrapper
<>(
entrustSample
);
...
@@ -2384,6 +2391,50 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
...
@@ -2384,6 +2391,50 @@ public class EntrustSampleServiceImpl extends BaseServiceImpl<EntrustSampleMappe
return
super
.
getObjs
(
Condition
.
create
().
setSqlSelect
(
"distinct entrust_id"
).
in
(
"code"
,
sampleCodes
));
return
super
.
getObjs
(
Condition
.
create
().
setSqlSelect
(
"distinct entrust_id"
).
in
(
"code"
,
sampleCodes
));
}
}
@Override
public
void
postWmsEntrustData
(
List
<
Entrust
>
entrustList
)
{
logger
.
info
(
"✦✦✦✦ EntrustSampleServiceImpl ✦✦✦✦ postWmsEntrustData ✦✦✦✈ 准备推送委托数据至WMS系统!"
);
if
(
CollectionUtils
.
isEmpty
(
entrustList
))
{
logger
.
error
(
"✦✦✦✦ EntrustSampleServiceImpl ✦✦✦✦ postWmsEntrustData ✦✦✦✈ 委托信息为空,取消推送!"
);
return
;
}
// 查询委托ids
List
<
Long
>
entrustIds
=
entrustList
.
stream
().
map
(
Entrust:
:
getId
).
collect
(
Collectors
.
toList
());
// 查询样品信息
List
<
EntrustSample
>
sampleList
=
list
(
Condition
.<
EntrustSample
>
wrapper
()
.
setSqlSelect
(
"id,entrust_id,name,code,name_code"
)
.
in
(
"entrust_ids"
,
entrustIds
));
// 是否为空,为空返回不发送
if
(
CollectionUtils
.
isEmpty
(
sampleList
))
{
logger
.
error
(
"✦✦✦✦ EntrustSampleServiceImpl ✦✦✦✦ postWmsEntrustData ✦✦✦✈ 样品信息为空,取消发送!"
);
return
;
}
// 以委托id分组的Map数据供发送使用
Map
<
Long
,
EntrustSample
>
entrustSampleMap
=
new
LinkedHashMap
<>();
// 会覆盖,不予理会
sampleList
.
forEach
(
s
->
entrustSampleMap
.
put
(
s
.
getEntrustId
(),
s
));
// 循环发送信息
entrustList
.
forEach
(
entrust
->
{
doSendWmsEntrustData
(
entrust
.
getCode
(),
entrustSampleMap
.
get
(
entrust
.
getId
()));
});
}
private
void
doSendWmsEntrustData
(
String
code
,
EntrustSample
sample
)
{
logger
.
info
(
"✦✦✦✦ EntrustSampleServiceImpl ✦✦✦✦ doSendWmsEntrustData ✦✦✦✈ 开始推送委托数据至WMS系统!"
);
String
url
=
serviceProperties
.
buildWmsUrl
(
HttpConst
.
WMS_SYNC_WTBH
);
// 设置请求参数
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"WTbh"
,
code
);
map
.
put
(
"MaterialName"
,
sample
.
getName
());
map
.
put
(
"MaterialCode"
,
sample
.
getNameCode
());
map
.
put
(
"CreateDate"
,
new
Date
());
WmsRespResult
result
=
WmsRequest
.
sendJson
(
url
,
map
);
if
(
Objects
.
nonNull
(
result
))
{
logger
.
info
(
"✦✦✦✦ EntrustSampleServiceImpl ✦✦✦✦ doSendWmsEntrustData ✦✦✦✈ 委托信息推送WMS数据成功!"
);
return
;
}
}
private
List
<
EntrustSampleItemIndex
>
getIndexList
(
Long
sampleId
)
{
private
List
<
EntrustSampleItemIndex
>
getIndexList
(
Long
sampleId
)
{
if
(
null
==
sampleId
)
{
if
(
null
==
sampleId
)
{
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/EntrustServiceImpl.java
View file @
6b6cb9ca
...
@@ -298,10 +298,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
...
@@ -298,10 +298,7 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
sample
.
setCodeRuleType
(
codeTypeVal
);
sample
.
setCodeRuleType
(
codeTypeVal
);
// 若为外委检测和三级编码,则查询质检编号
// 若为外委检测和三级编码,则查询质检编号
if
(
CodeTypeEnum
.
SAMPLE_WWJC_CODE
==
codeType
||
CodeTypeEnum
.
SAMPLE_YFL_CODE
==
codeType
)
{
if
(
CodeTypeEnum
.
SAMPLE_WWJC_CODE
==
codeType
||
CodeTypeEnum
.
SAMPLE_YFL_CODE
==
codeType
)
{
List
<
UserInspectionCode
>
userInspectionCodeList
=
userInspectionCodeService
.
list
(
Condition
.
create
().
eq
(
"user_id"
,
account
.
getUserId
()).
eq
(
"type"
,
"ZJ"
).
eq
(
"deleted"
,
0
));
inspectNo
=
getInspectNo
(
account
);
if
(
CollectionUtils
.
isNotEmpty
(
userInspectionCodeList
))
{
inspectNo
=
userInspectionCodeList
.
get
(
0
).
getNo
();
}
}
}
if
(
CodeTypeEnum
.
SAMPLE_YL_CODE
==
codeType
||
CodeTypeEnum
.
SAMPLE_DJZ_CODE
==
codeType
)
{
if
(
CodeTypeEnum
.
SAMPLE_YL_CODE
==
codeType
||
CodeTypeEnum
.
SAMPLE_DJZ_CODE
==
codeType
)
{
...
@@ -384,6 +381,11 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
...
@@ -384,6 +381,11 @@ public class EntrustServiceImpl extends BaseServiceImpl<EntrustMapper, Entrust>
}
}
}
}
private
String
getInspectNo
(
Account
account
)
{
String
inspectNo
=
userInspectionCodeService
.
getOne
(
new
UserInspectionCode
(
account
.
getUserId
(),
"ZJ"
)).
getNo
();
return
Optional
.
ofNullable
(
inspectNo
).
orElse
(
""
);
}
// 验证样品非空字段
// 验证样品非空字段
private
void
judgeSampleFields
(
EntrustSample
sample
,
boolean
isRequiredFill
)
{
private
void
judgeSampleFields
(
EntrustSample
sample
,
boolean
isRequiredFill
)
{
if
(
isRequiredFill
)
{
if
(
isRequiredFill
)
{
...
...
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/StatisticsServiceImpl.java
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
.
impl
;
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
.
impl
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.baomidou.mybatisplus.toolkit.CollectionUtils
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.api.RestAssert
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.commons.toolkit.JacksonUtils
;
import
com.patzn.cloud.commons.toolkit.MapMergeUtils
;
import
com.patzn.cloud.commons.toolkit.MapMergeUtils
;
import
com.patzn.cloud.service.hmhj.dto.LedgerQueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.*
;
import
com.patzn.cloud.service.hmhj.dto.QueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.RangeStatsQueryDTO
;
import
com.patzn.cloud.service.hmhj.dto.StatsQueryDTO
;
import
com.patzn.cloud.service.hmhj.entity.CenterCost
;
import
com.patzn.cloud.service.hmhj.entity.CenterCost
;
import
com.patzn.cloud.service.hmhj.entity.Statistics
;
import
com.patzn.cloud.service.hmhj.entity.Statistics
;
import
com.patzn.cloud.service.hmhj.model.WmsRespResult
;
import
com.patzn.cloud.service.hmhj.vo.DailyStatsLedgerVO
;
import
com.patzn.cloud.service.hmhj.vo.DailyStatsLedgerVO
;
import
com.patzn.cloud.service.hmhj.vo.WmsInventory
;
import
com.patzn.cloud.service.hmhj.vo.WmsInventoryData
;
import
com.patzn.cloud.service.lims.common.DateKit
;
import
com.patzn.cloud.service.lims.common.DateKit
;
import
com.patzn.cloud.service.lims.config.ServiceProperties
;
import
com.patzn.cloud.service.lims.hmhj.common.WmsRequest
;
import
com.patzn.cloud.service.lims.hmhj.common.consts.HttpConst
;
import
com.patzn.cloud.service.lims.hmhj.mapper.StatisticsMapper
;
import
com.patzn.cloud.service.lims.hmhj.mapper.StatisticsMapper
;
import
com.patzn.cloud.service.lims.hmhj.service.IStatisticsService
;
import
com.patzn.cloud.service.lims.hmhj.service.IStatisticsService
;
import
org.apache.commons.lang.time.DateUtils
;
import
org.apache.commons.lang.time.DateUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.concurrent.atomic.AtomicReference
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
* @author Meazty
*/
@Service
@Service
public
class
StatisticsServiceImpl
extends
BaseServiceImpl
<
StatisticsMapper
,
Statistics
>
implements
IStatisticsService
{
public
class
StatisticsServiceImpl
extends
BaseServiceImpl
<
StatisticsMapper
,
Statistics
>
implements
IStatisticsService
{
...
@@ -39,6 +48,9 @@ public class StatisticsServiceImpl extends BaseServiceImpl<StatisticsMapper, Sta
...
@@ -39,6 +48,9 @@ public class StatisticsServiceImpl extends BaseServiceImpl<StatisticsMapper, Sta
elementMap
.
put
(
"V"
,
"钒"
);
elementMap
.
put
(
"V"
,
"钒"
);
}
}
@Resource
private
ServiceProperties
serviceProperties
;
private
void
handleQueryTime
(
QueryDTO
queryDTO
)
{
private
void
handleQueryTime
(
QueryDTO
queryDTO
)
{
RestAssert
.
fail
(
null
==
queryDTO
.
getTimeS
(),
"起始时间不为空"
);
RestAssert
.
fail
(
null
==
queryDTO
.
getTimeS
(),
"起始时间不为空"
);
// 截至时间若为空,默认当前时间
// 截至时间若为空,默认当前时间
...
@@ -258,6 +270,42 @@ public class StatisticsServiceImpl extends BaseServiceImpl<StatisticsMapper, Sta
...
@@ -258,6 +270,42 @@ public class StatisticsServiceImpl extends BaseServiceImpl<StatisticsMapper, Sta
}
}
@Override
@Override
public
List
<
WmsInventory
>
getInventoryList
(
WmsInventoryDTO
dto
)
{
List
<
WmsInventory
>
dataList
=
new
ArrayList
<>();
String
url
=
serviceProperties
.
buildWmsUrl
(
HttpConst
.
WMS_SYNC_STOCK_SITUATION
);
// 设置请求参数
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>(
2
);
if
(
StringUtils
.
isNotBlank
(
dto
.
getType
()))
{
map
.
put
(
"Type"
,
dto
.
getType
());
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getMaterialName
()))
{
map
.
put
(
"MaterialName"
,
dto
.
getMaterialName
());
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getSpecification
()))
{
map
.
put
(
"Specification"
,
dto
.
getSpecification
());
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getUnit
()))
{
map
.
put
(
"Unit"
,
dto
.
getUnit
());
}
url
=
"https://mock.apifox.cn/m1/1293503-0-default/v1/stock/data"
;
try
{
List
<
WmsInventoryData
>
inventoryList
=
WmsRequest
.
sendJson
(
url
,
map
,
new
TypeReference
<
WmsRespResult
<
List
<
WmsInventoryData
>>>()
{
});
if
(
CollectionUtils
.
isNotEmpty
(
inventoryList
))
{
return
inventoryList
.
stream
().
map
(
d
->
d
.
convert
(
WmsInventory
.
class
)).
collect
(
Collectors
.
toList
());
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"✦✦✦✦ StatisticsServiceImpl ✦✦✦✦ getInventoryList ✦✦✦✈ 转换数据时异常:"
,
e
);
}
return
dataList
;
}
@Override
public
Statistics
getItemSamesChainQuantity
(
RangeStatsQueryDTO
queryDTO
)
{
public
Statistics
getItemSamesChainQuantity
(
RangeStatsQueryDTO
queryDTO
)
{
handleSamesChainTimeRange
(
queryDTO
);
handleSamesChainTimeRange
(
queryDTO
);
return
baseMapper
.
selectItemSamesChainQuantity
(
queryDTO
);
return
baseMapper
.
selectItemSamesChainQuantity
(
queryDTO
);
...
@@ -281,8 +329,6 @@ public class StatisticsServiceImpl extends BaseServiceImpl<StatisticsMapper, Sta
...
@@ -281,8 +329,6 @@ public class StatisticsServiceImpl extends BaseServiceImpl<StatisticsMapper, Sta
/**
/**
* 根据当前时间区域,处理其他时间区域
* 根据当前时间区域,处理其他时间区域
*
* @param queryDTO
*/
*/
private
void
handleTimeRange
(
RangeStatsQueryDTO
queryDTO
)
{
private
void
handleTimeRange
(
RangeStatsQueryDTO
queryDTO
)
{
queryDTO
.
setLastYearTimeS
(
DateUtils
.
addYears
(
queryDTO
.
getTimeS
(),
-
1
));
queryDTO
.
setLastYearTimeS
(
DateUtils
.
addYears
(
queryDTO
.
getTimeS
(),
-
1
));
...
@@ -486,12 +532,4 @@ public class StatisticsServiceImpl extends BaseServiceImpl<StatisticsMapper, Sta
...
@@ -486,12 +532,4 @@ public class StatisticsServiceImpl extends BaseServiceImpl<StatisticsMapper, Sta
}
}
return
elementMap
.
get
(
name
.
replace
(
"原铝"
,
""
));
return
elementMap
.
get
(
name
.
replace
(
"原铝"
,
""
));
}
}
private
enum
StatsType
{
AL_GRADE_LEDGER
,
// 原铝品位台账
AL_GRADE_LEDGER_STATS
,
// 原铝品位台账统计
AL_IMPURITY_LEDGER
,
// 原铝杂质台账
AL_IMPURITY_LEDGER_STATS
,
// 原铝杂质台账统计
AL_FE_LEDGER_STATS
// 原铝含铁量统计
}
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/UserInspectionCodeServiceImpl.java
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
.
impl
;
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
.
impl
;
import
com.baomidou.mybatisplus.mapper.Condition
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.baomidou.mybatisplus.plugins.Page
;
...
@@ -10,6 +11,8 @@ import com.patzn.cloud.service.lims.hmhj.service.IUserInspectionCodeService;
...
@@ -10,6 +11,8 @@ import com.patzn.cloud.service.lims.hmhj.service.IUserInspectionCodeService;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Optional
;
/**
/**
* 用户质检编码基础数据 服务实现类
* 用户质检编码基础数据 服务实现类
...
@@ -31,4 +34,19 @@ public class UserInspectionCodeServiceImpl extends BaseServiceImpl<UserInspectio
...
@@ -31,4 +34,19 @@ public class UserInspectionCodeServiceImpl extends BaseServiceImpl<UserInspectio
public
boolean
removeByIds
(
List
<
Long
>
ids
)
{
public
boolean
removeByIds
(
List
<
Long
>
ids
)
{
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
}
}
@Override
public
UserInspectionCode
getOne
(
UserInspectionCode
entity
)
{
UserInspectionCode
data
=
new
UserInspectionCode
();
if
(
Objects
.
isNull
(
entity
))
{
return
data
;
}
try
{
UserInspectionCode
inspectionCode
=
baseMapper
.
selectOne
(
entity
);
return
Optional
.
ofNullable
(
inspectionCode
).
orElse
(
data
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"获取质检编码异常:"
,
e
);
return
data
;
}
}
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/WmsStockDeliveryServiceImpl.java
0 → 100644
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
.
impl
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.commons.toolkit.JacksonUtils
;
import
com.patzn.cloud.service.hmhj.dto.WmsStockDeliveryDTO
;
import
com.patzn.cloud.service.hmhj.entity.WmsStockDelivery
;
import
com.patzn.cloud.service.hmhj.vo.WmsStockDeliveryData
;
import
com.patzn.cloud.service.lims.hmhj.mapper.WmsStockDeliveryMapper
;
import
com.patzn.cloud.service.lims.hmhj.service.IWmsStockDeliveryService
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Objects
;
/**
* WMS出入库 服务实现类
*
* @author meazty
* @since 2023-04-11
*/
@Service
public
class
WmsStockDeliveryServiceImpl
extends
BaseServiceImpl
<
WmsStockDeliveryMapper
,
WmsStockDelivery
>
implements
IWmsStockDeliveryService
{
/**
* 霍煤生成的companyId
*/
private
static
final
Long
COMPANY_ID
=
0L
;
@Override
public
Page
<
WmsStockDelivery
>
page
(
Page
<
WmsStockDelivery
>
page
,
WmsStockDeliveryDTO
dto
)
{
Wrapper
<
WmsStockDelivery
>
wrapper
=
new
EntityWrapper
<>(
new
WmsStockDelivery
());
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isNotBlank
(
dto
.
getContainerCode
()))
{
wrapper
.
like
(
"container_code"
,
dto
.
getContainerCode
());
}
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isNotBlank
(
dto
.
getFromLocation
()))
{
wrapper
.
like
(
"from_location"
,
dto
.
getFromLocation
());
}
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isNotBlank
(
dto
.
getMaterialName
()))
{
wrapper
.
like
(
"material_name"
,
dto
.
getMaterialName
());
}
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isNotBlank
(
dto
.
getMaterialCode
()))
{
wrapper
.
like
(
"material_code"
,
dto
.
getMaterialCode
());
}
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isNotBlank
(
dto
.
getWtbh
()))
{
wrapper
.
like
(
"wtbh"
,
dto
.
getWtbh
());
}
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isNotBlank
(
dto
.
getSpecification
()))
{
wrapper
.
like
(
"specification"
,
dto
.
getSpecification
());
}
if
(
org
.
apache
.
commons
.
lang3
.
StringUtils
.
isNotBlank
(
dto
.
getTaskType
()))
{
wrapper
.
like
(
"task_type"
,
dto
.
getTaskType
());
}
if
(
Objects
.
nonNull
(
dto
.
getCompleteTimeS
()))
{
wrapper
.
ge
(
"complete_at"
,
dto
.
getCompleteTimeS
());
}
if
(
Objects
.
nonNull
(
dto
.
getCompleteTimeE
()))
{
wrapper
.
le
(
"complete_at"
,
dto
.
getCompleteTimeE
());
}
return
this
.
page
(
page
,
wrapper
);
}
@Override
public
boolean
removeByIds
(
List
<
Long
>
ids
)
{
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
}
@Override
public
boolean
syncStockDelivery
(
WmsStockDeliveryData
data
)
{
logger
.
info
(
"✦✦✦✦ WmsStockDeliveryServiceImpl ✦✦✦✦ syncStockDelivery ✦✦✦✈ 开始同步出入库记录!"
);
if
(
Objects
.
isNull
(
data
))
{
logger
.
error
(
"✦✦✦✦ WmsStockDeliveryServiceImpl ✦✦✦✦ syncStockDelivery ✦✦✦✈ 出入库信息为空,取消同步!"
);
return
false
;
}
boolean
result
=
false
;
try
{
WmsStockDelivery
delivery
=
data
.
convert
(
WmsStockDelivery
.
class
);
delivery
.
setCompanyId
(
COMPANY_ID
);
delivery
.
setCtime
(
new
Date
());
delivery
.
setUid
(
0L
);
result
=
super
.
save
(
delivery
);
logger
.
info
(
"✦✦✦✦ WmsStockDeliveryServiceImpl ✦✦✦✦ syncStockDelivery ✦✦✦✈ 数据同步完成:{}"
,
JacksonUtils
.
toJSONString
(
delivery
));
}
catch
(
Exception
e
)
{
logger
.
error
(
"✦✦✦✦ WmsStockDeliveryServiceImpl ✦✦✦✦ syncStockDelivery ✦✦✦✈ 类型转换失败:"
,
e
);
}
return
result
;
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/WmsStockServiceImpl.java
0 → 100644
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
.
impl
;
import
com.baomidou.mybatisplus.mapper.Condition
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.commons.toolkit.CollectionUtils
;
import
com.patzn.cloud.service.hmhj.dto.WmsStockDTO
;
import
com.patzn.cloud.service.hmhj.entity.WmsStock
;
import
com.patzn.cloud.service.hmhj.model.WmsRespResult
;
import
com.patzn.cloud.service.hmhj.vo.WmsStockData
;
import
com.patzn.cloud.service.lims.config.ServiceProperties
;
import
com.patzn.cloud.service.lims.hmhj.common.WmsRequest
;
import
com.patzn.cloud.service.lims.hmhj.common.consts.HttpConst
;
import
com.patzn.cloud.service.lims.hmhj.mapper.WmsStockMapper
;
import
com.patzn.cloud.service.lims.hmhj.service.IWmsStockService
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.*
;
/**
* WMS库存 服务实现类
*
* @author meazty
* @since 2023-04-11
*/
@Service
public
class
WmsStockServiceImpl
extends
BaseServiceImpl
<
WmsStockMapper
,
WmsStock
>
implements
IWmsStockService
{
private
static
final
String
REAL_TIME_SYNC
=
"1"
;
@Resource
private
ServiceProperties
serviceProperties
;
@Override
public
Page
<
WmsStock
>
page
(
Page
<
WmsStock
>
page
,
WmsStockDTO
dto
)
{
Wrapper
<
WmsStock
>
wrapper
=
new
EntityWrapper
<>(
new
WmsStock
());
if
(
StringUtils
.
isNotBlank
(
dto
.
getContainerCode
()))
{
wrapper
.
like
(
"container_code"
,
dto
.
getContainerCode
());
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getLocationCode
()))
{
wrapper
.
like
(
"location_code"
,
dto
.
getLocationCode
());
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getMaterialName
()))
{
wrapper
.
like
(
"material_name"
,
dto
.
getMaterialName
());
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getMaterialCode
()))
{
wrapper
.
like
(
"material_code"
,
dto
.
getMaterialCode
());
}
if
(
StringUtils
.
isNotBlank
(
dto
.
getWtbh
()))
{
wrapper
.
like
(
"wtbh"
,
dto
.
getWtbh
());
}
if
(
Objects
.
equals
(
REAL_TIME_SYNC
,
dto
.
getRealTimeSync
()))
{
syncWmsStockData
();
}
return
this
.
page
(
page
,
wrapper
);
}
@Override
public
void
syncWmsStockData
()
{
String
url
=
serviceProperties
.
buildWmsUrl
(
HttpConst
.
WMS_SYNC_STOCK
);
// 设置请求参数
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>(
2
);
List
<
WmsStockData
>
dataList
=
WmsRequest
.
sendJson
(
url
,
map
,
new
TypeReference
<
WmsRespResult
<
List
<
WmsStockData
>>>()
{
});
if
(
CollectionUtils
.
isEmpty
(
dataList
))
{
logger
.
error
(
"✦✦✦✦ WmsStockServiceImpl ✦✦✦✦ syncWmsStockData ✦✦✦✈ 出入库数据为空!"
);
return
;
}
// 同步更新WMS库存数据
logger
.
debug
(
"✦✦✦✦ WmsStockServiceImpl ✦✦✦✦ syncWmsStockData ✦✦✦✈ 开始同步WMS数据!"
);
try
{
List
<
WmsStock
>
stockList
=
convertList
(
dataList
);
Optional
.
ofNullable
(
stockList
).
ifPresent
(
this
::
saveOrUpdateBatch
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"✦✦✦✦ WmsStockServiceImpl ✦✦✦✦ syncUpdateWmsStockData ✦✦✦✈ 转换数据失败:"
,
e
);
}
}
private
List
<
WmsStock
>
list
()
{
EntityWrapper
<
WmsStock
>
wrapper
=
Condition
.
wrapper
();
return
list
(
wrapper
);
}
public
List
<
WmsStock
>
convertList
(
List
<
WmsStockData
>
list
)
{
if
(
CollectionUtils
.
isEmpty
(
list
))
{
logger
.
error
(
"✦✦✦✦ WmsStockServiceImpl ✦✦✦✦ convertList ✦✦✦✈ 获取WMS库存信息为空!"
);
return
Collections
.
emptyList
();
}
List
<
WmsStock
>
all
=
list
();
Map
<
String
,
WmsStock
>
stockMap
=
new
LinkedHashMap
<>(
8
);
Optional
.
ofNullable
(
all
).
ifPresent
(
data
->
data
.
forEach
(
d
->
stockMap
.
put
(
getStockKey
(
d
),
d
)));
List
<
WmsStock
>
dataList
=
new
ArrayList
<>();
list
.
forEach
(
d
->
{
WmsStock
stock
=
d
.
convert
(
WmsStock
.
class
);
WmsStock
source
=
stockMap
.
get
(
getStockKey
(
stock
));
// 判断是否存在库存数据,存在设置id和委托编号
Optional
.
ofNullable
(
source
).
ifPresent
(
s
->
stock
.
setId
(
s
.
getId
()));
stock
.
setLastSyncTime
(
new
Date
());
dataList
.
add
(
stock
);
});
return
dataList
;
}
private
String
getStockKey
(
WmsStock
stock
)
{
String
key
=
String
.
format
(
"%s-%s-%s"
,
stock
.
getContainerCode
(),
stock
.
getMaterialCode
(),
stock
.
getLocationCode
());
logger
.
info
(
"✦✦✦✦ WmsStockServiceImpl ✦✦✦✦ syncKey ✦✦✦✈ [key]: {}"
,
key
);
return
key
;
}
@Override
public
boolean
removeByIds
(
List
<
Long
>
ids
)
{
return
baseMapper
.
deleteBatchIds
(
ids
)
>
0
;
}
}
src/main/resources/application-dev.yml
View file @
6b6cb9ca
...
@@ -4,10 +4,6 @@ server:
...
@@ -4,10 +4,6 @@ server:
enable
:
false
enable
:
false
swagger
:
swagger
:
enable
:
true
enable
:
true
service
:
api-url
:
http://api.dev.patzn.com:7000
url
:
http://api.dev.patzn.com:7000
erp-url
:
http://192.168.0.19:5050/api/LimsData/SaveData
spring
:
spring
:
datasource
:
datasource
:
type
:
com.zaxxer.hikari.HikariDataSource
type
:
com.zaxxer.hikari.HikariDataSource
...
...
src/main/resources/application-hmhj.yml
View file @
6b6cb9ca
...
@@ -13,7 +13,7 @@ service:
...
@@ -13,7 +13,7 @@ service:
province-item-url
:
http://60.216.97.250:8087/
province-item-url
:
http://60.216.97.250:8087/
soffice
:
/opt/libreoffice6.2/program/soffice
soffice
:
/opt/libreoffice6.2/program/soffice
static-url
:
static.hmlims.com:9000
static-url
:
static.hmlims.com:9000
erp-url
:
http://192.168.0.
19
:5050/api/LimsData/SaveData
erp-url
:
http://192.168.0.
216
:5050/api/LimsData/SaveData
erp-token
:
VkI+Gi2pizx9uaX+xP+nXAgJKfcBevaruxijYtXXQdU577BLv3jdoLpnQ13BZ5hdPTD90jLmvlr7ygxh18kuLdD9Ha9MdTXIxWJKbNbBn6fnrHU/9lsXBnOVyOEB1DIXW0VQniyjuobU5qolBr2Y99NTQ/l9giZlXGVXAE+1WvY=
erp-token
:
VkI+Gi2pizx9uaX+xP+nXAgJKfcBevaruxijYtXXQdU577BLv3jdoLpnQ13BZ5hdPTD90jLmvlr7ygxh18kuLdD9Ha9MdTXIxWJKbNbBn6fnrHU/9lsXBnOVyOEB1DIXW0VQniyjuobU5qolBr2Y99NTQ/l9giZlXGVXAE+1WvY=
spring
:
spring
:
datasource
:
datasource
:
...
...
src/main/resources/application-local.yml
View file @
6b6cb9ca
...
@@ -8,6 +8,7 @@ service:
...
@@ -8,6 +8,7 @@ service:
api-url
:
http://api.dev.patzn.com:7000
api-url
:
http://api.dev.patzn.com:7000
url
:
http://api.dev.patzn.com:7000
url
:
http://api.dev.patzn.com:7000
erp-url
:
http://192.168.0.19:5050/api/LimsData/SaveData
erp-url
:
http://192.168.0.19:5050/api/LimsData/SaveData
erp-token
:
VkI+Gi2pizx9uaX+xP+nXAgJKfcBevaruxijYtXXQdU577BLv3jdoLpnQ13BZ5hdPTD90jLmvlr7ygxh18kuLdD9Ha9MdTXIxWJKbNbBn6fnrHU/9lsXBnOVyOEB1DIXW0VQniyjuobU5qolBr2Y99NTQ/l9giZlXGVXAE+1WvY=
spring
:
spring
:
datasource
:
datasource
:
type
:
com.zaxxer.hikari.HikariDataSource
type
:
com.zaxxer.hikari.HikariDataSource
...
...
src/main/resources/application.yml
View file @
6b6cb9ca
...
@@ -6,11 +6,20 @@ server:
...
@@ -6,11 +6,20 @@ server:
compression
:
compression
:
enabled
:
true
enabled
:
true
mime-types
:
application/json
mime-types
:
application/json
service
:
soffice
:
/opt/libreoffice6.2/program/soffice
url
:
http://api.dev.patzn.com:7000
food-url
:
http://food.hmlims.com:9000
static-url
:
static.hmlims.com:9000
province-item-url
:
http://60.216.97.250:8087/
api-url
:
http://api.dev.patzn.com:7000
erp-url
:
http://192.168.0.216:5050/api/LimsData/SaveData
erp-token
:
VkI+Gi2pizx9uaX+xP+nXAgJKfcBevaruxijYtXXQdU577BLv3jdoLpnQ13BZ5hdPTD90jLmvlr7ygxh18kuLdD9Ha9MdTXIxWJKbNbBn6fnrHU/9lsXBnOVyOEB1DIXW0VQniyjuobU5qolBr2Y99NTQ/l9giZlXGVXAE+1WvY=
wms-url
:
http://192.168.207.103:9001/LIMS
spring
:
spring
:
# 环境 dev|test|pro
# 环境 dev|test|pro
profiles
:
profiles
:
active
:
dev
active
:
local
application
:
application
:
name
:
hmhj
name
:
hmhj
# 模板引擎配置
# 模板引擎配置
...
@@ -40,7 +49,6 @@ spring:
...
@@ -40,7 +49,6 @@ spring:
max-lifetime
:
1800000
#在连接池中的最长生命周期
max-lifetime
:
1800000
#在连接池中的最长生命周期
connection-timeout
:
600000
#超时时间
connection-timeout
:
600000
#超时时间
#validation-timeout: #默认是5秒
#validation-timeout: #默认是5秒
cloud
:
cloud
:
loadbalancer
:
loadbalancer
:
retry
:
retry
:
...
@@ -76,7 +84,6 @@ spring:
...
@@ -76,7 +84,6 @@ spring:
default-encoding
:
UTF-8
default-encoding
:
UTF-8
main
:
main
:
allow-bean-definition-overriding
:
true
allow-bean-definition-overriding
:
true
#ribbon超时设置
#ribbon超时设置
ribbon
:
ribbon
:
OkToRetryOnAllOperations
:
true
OkToRetryOnAllOperations
:
true
...
...
src/test/java/com/patzn/cloud/service/lims/test/IDWorkTest.java
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
test
;
package
com
.
patzn
.
cloud
.
service
.
lims
.
test
;
import
org.junit.platform.commons.util.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
public
class
IDWorkTest
{
public
class
IDWorkTest
{
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
...
...
src/test/java/com/patzn/cloud/service/lims/test/JsonObjectTest.java
View file @
6b6cb9ca
package
com
.
patzn
.
cloud
.
service
.
lims
.
test
;
package
com
.
patzn
.
cloud
.
service
.
lims
.
test
;
import
com.
alibaba.fastjson.JSONArray
;
import
com.
patzn.cloud.commons.toolkit.JacksonUtils
;
import
com.
alibaba.fastjson.JSONObject
;
import
com.
patzn.cloud.service.hmhj.entity.WmsStock
;
import
com.patzn.cloud.service.hmhj.vo.
CollectionVO
;
import
com.patzn.cloud.service.hmhj.vo.
WmsStockData
;
public
class
JsonObjectTest
{
public
class
JsonObjectTest
{
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
String
str
=
"{\"abs\":\"-0.000\",\"content\":\"-0.0007\",\"curveData\":[{\"content\":\"0.0000\",\"abs\":\"0.001\"},{\"content\":\"0.0030\",\"abs\":\"0.012\"},{\"content\":\"0.0060\",\"abs\":\"0.022\"},{\"content\":\"0.0100\",\"abs\":\"0.034\"},{\"content\":\"0.0150\",\"abs\":\"0.049\"}]}"
;
// language=JSON
CollectionVO
collectionVO
=
JSONObject
.
parseObject
(
str
,
CollectionVO
.
class
);
String
json
=
"{\"ContainerCode\": \"1111\",\"Wtbh\": \"2033333323\"}"
;
System
.
out
.
println
(
collectionVO
);
WmsStockData
stock
=
JacksonUtils
.
readValue
(
json
,
WmsStockData
.
class
);
System
.
out
.
println
(
stock
.
getContainerCode
());
System
.
out
.
println
(
stock
.
getWtbh
());
}
}
}
}
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