Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
307fcd1c
提交
307fcd1c
authored
12月 19, 2023
作者:
liuhaiquan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
结算单合并接口开发
上级
84736271
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
101 行增加
和
4 行删除
+101
-4
MergeOwnerSettlementParam.java
...performance/param/pc/owner/MergeOwnerSettlementParam.java
+25
-0
CarrierSettlementOwnerController.java
...ntroller/pc/carrier/CarrierSettlementOwnerController.java
+7
-0
SettlementOwner.java
...ava/com/clx/performance/model/settle/SettlementOwner.java
+1
-0
SettlementMqHandlerServiceImpl.java
...e/service/impl/settle/SettlementMqHandlerServiceImpl.java
+2
-3
SettlementOwnerServiceImpl.java
...mance/service/impl/settle/SettlementOwnerServiceImpl.java
+63
-0
SettlementMqHandlerService.java
...erformance/service/settle/SettlementMqHandlerService.java
+2
-0
SettlementOwnerService.java
...lx/performance/service/settle/SettlementOwnerService.java
+1
-1
没有找到文件。
performance-api/src/main/java/com/clx/performance/param/pc/owner/MergeOwnerSettlementParam.java
0 → 100644
浏览文件 @
307fcd1c
package
com
.
clx
.
performance
.
param
.
pc
.
owner
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
/**
* @ClassName MergeOwnerSettlementParam
* @Description
* @Author kavin
* @Date 2023/12/18 17:29
* @Version 1.0
*/
@Getter
@Setter
public
class
MergeOwnerSettlementParam
{
@NotNull
(
message
=
"合并结算单id集合不能为空"
)
@ApiModelProperty
(
"合并结算单id集合"
)
List
<
Integer
>
list
;
}
performance-web/src/main/java/com/clx/performance/controller/pc/carrier/CarrierSettlementOwnerController.java
浏览文件 @
307fcd1c
...
...
@@ -130,5 +130,12 @@ public class CarrierSettlementOwnerController {
return
Result
.
ok
(
settlementOwnerService
.
getCarrierSettlementPlatformAccount
(
settlementNo
));
}
@ApiOperation
(
value
=
"合并结算单"
,
notes
=
"<br>By:刘海泉"
)
@PostMapping
(
"/mergeOwnerSettlement"
)
public
Result
<
Object
>
mergeOwnerSettlement
(
MergeOwnerSettlementParam
param
)
{
settlementOwnerService
.
mergeOwnerSettlement
(
param
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/model/settle/SettlementOwner.java
浏览文件 @
307fcd1c
...
...
@@ -27,6 +27,7 @@ public class SettlementOwner implements HasKey<Integer> {
@TableId
(
value
=
"id"
,
type
=
IdType
.
AUTO
)
private
Integer
id
;
//id
private
Integer
mergeSettlement
;
//是否是合并单 0:否 1:是
private
Long
ownerUserNo
;
//货主用户编号
private
String
ownerName
;
//货主名称
private
Integer
settlementWay
;
//结算方式 1装车净重 2卸车净重
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqHandlerServiceImpl.java
浏览文件 @
307fcd1c
...
...
@@ -41,13 +41,11 @@ import lombok.extern.slf4j.Slf4j;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.UUID
;
@Slf4j
@Service
...
...
@@ -95,6 +93,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
settlementDetailInvoiceTypeSync
(
SettlementDetailInvoiceTypeSyncMqParam
mq
)
{
...
...
@@ -404,7 +403,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
/**
* 创建结算单号
*/
p
rivate
String
settlementNoGenerate
(){
p
ublic
String
settlementNoGenerate
(){
return
uniqueOrderNumService
.
getUniqueOrderNum
(
com
.
msl
.
common
.
utils
.
LocalDateTimeUtils
.
convertLocalDateTimeToString
(
LocalDateTime
.
now
(),
com
.
msl
.
common
.
utils
.
LocalDateTimeUtils
.
DATE_DAY
));
}
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerServiceImpl.java
浏览文件 @
307fcd1c
...
...
@@ -18,6 +18,7 @@ import com.clx.performance.model.settle.SettlementPlatformAccount;
import
com.clx.performance.param.pc.owner.*
;
import
com.clx.performance.service.OwnerAccountService
;
import
com.clx.performance.service.settle.SettlementLogService
;
import
com.clx.performance.service.settle.SettlementMqHandlerService
;
import
com.clx.performance.service.settle.SettlementOwnerService
;
import
com.clx.performance.struct.settle.SettlementLogStruct
;
import
com.clx.performance.struct.settle.SettlementOwnerStruct
;
...
...
@@ -69,6 +70,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
private
final
OwnerAccountService
ownerAccountService
;
private
final
SettlementMqHandlerService
settlementMqHandlerService
;
@Override
public
CarrierSettlementOwnerDetailVO
getCarrierSettlementOwnerDetail
(
Integer
id
)
{
...
...
@@ -490,5 +494,64 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
}
}
@Override
public
void
mergeOwnerSettlement
(
MergeOwnerSettlementParam
param
)
{
//查询结算单数据
List
<
SettlementOwner
>
settlementOwnersList
=
settlementOwnerDao
.
listInField
(
SettlementOwner
::
getId
,
param
.
getList
());
if
(!
Objects
.
equals
(
param
.
getList
().
size
(),
settlementOwnersList
.
size
())){
log
.
warn
(
"查询的货主结算单数据和实际查询出来的货主结算单数量不一致,结算单id集合:{}"
,
param
.
getList
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
}
//同一货主,同一开票标识,同一结算方式的结算单可支持手动合并
List
<
String
>
settlementNos
=
checkMergeSettlementData
(
settlementOwnersList
);
}
//检查合并的结算单是否符合合并条件
public
List
<
String
>
checkMergeSettlementData
(
List
<
SettlementOwner
>
settlementOwnersList
){
List
<
String
>
settlementNos
=
new
ArrayList
<>();
//货主编码
Long
ownerUserNo
=
null
;
//开票标识:1网运单 2普通单
Integer
invoiceType
=
null
;
//结算方式 1装车净重 2卸车净重
Integer
settlementWay
=
null
;
String
tip
=
"数据错误,结算单状态“待对账”且同一货主,同一开票标识,同一结算方式的结算单支持合并"
;
SettlementOwner
merge
=
null
;
for
(
SettlementOwner
item
:
settlementOwnersList
)
{
if
(
Objects
.
equals
(
SettlementOwnerEnum
.
Status
.
TO_BE_ACCOUNT
.
getCode
(),
item
.
getStatus
())){
log
.
warn
(
"货主结算单号:{} 的结算状态非待对账"
,
item
.
getSettlementNo
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_REPEAT
,
tip
);
}
if
(
Objects
.
nonNull
(
ownerUserNo
)
&&
!
Objects
.
equals
(
ownerUserNo
,
item
.
getOwnerUserNo
())){
log
.
warn
(
"货主结算单号:{} 在本批次中不属于同一货主"
,
item
.
getSettlementNo
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_REPEAT
,
tip
);
}
if
(
Objects
.
nonNull
(
invoiceType
)
&&
!
Objects
.
equals
(
invoiceType
,
item
.
getInvoiceType
())){
log
.
warn
(
"货主结算单号:{} 在本批次中不属于同一开票标志"
,
item
.
getSettlementNo
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_REPEAT
,
tip
);
}
if
(
Objects
.
nonNull
(
settlementWay
)
&&
!
Objects
.
equals
(
invoiceType
,
item
.
getSettlementWay
())){
log
.
warn
(
"货主结算单号:{} 在本批次中不属于同一结算方式"
,
item
.
getSettlementNo
());
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
DATA_REPEAT
,
tip
);
}
ownerUserNo
=
item
.
getOwnerUserNo
();
invoiceType
=
item
.
getInvoiceType
();
settlementWay
=
item
.
getSettlementWay
();
settlementNos
.
add
(
item
.
getSettlementNo
());
//合并数据
if
(
Objects
.
nonNull
(
merge
)){
}
else
{
String
settlementNo
=
settlementMqHandlerService
.
settlementNoGenerate
();
merge
=
item
;
merge
.
setSettlementNo
(
settlementNo
);
merge
.
setSettlementSubNo
(
merge
.
getSettlementNo
());
}
}
return
settlementNos
;
}
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqHandlerService.java
浏览文件 @
307fcd1c
...
...
@@ -11,4 +11,6 @@ public interface SettlementMqHandlerService {
void
settlementDriverNotify
(
String
childNo
,
Integer
payType
,
String
payErrorMsg
);
String
settlementNoGenerate
();
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementOwnerService.java
浏览文件 @
307fcd1c
...
...
@@ -52,5 +52,5 @@ public interface SettlementOwnerService {
void
payeeConfirm
(
String
settlementNo
);
void
mergeOwnerSettlement
(
MergeOwnerSettlementParam
param
);
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论