Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
d7e90a9f
提交
d7e90a9f
authored
8月 09, 2024
作者:
艾庆国
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'refs/heads/v20.9_settlement_20240805' into dev
# Conflicts: # performance-web/src/main/java/com/clx/performance/service/impl/OrderCancelServiceImpl.java
上级
8369c643
22dad81e
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
218 行增加
和
34 行删除
+218
-34
SettlementPlatformAutoConfirmMqParam.java
...ce/vo/mq/settle/SettlementPlatformAutoConfirmMqParam.java
+1
-1
OwnerPageSettlementOwnerVO.java
...rmance/vo/pc/owner/settle/OwnerPageSettlementOwnerVO.java
+17
-0
OrderChildLoanComponent.java
...om/clx/performance/component/OrderChildLoanComponent.java
+5
-5
OwnerSettlementOwnerController.java
...e/controller/pc/owner/OwnerSettlementOwnerController.java
+8
-1
EventListenerComponent.java
...ava/com/clx/performance/event/EventListenerComponent.java
+15
-9
SettlementJob.java
...ava/com/clx/performance/job/settlement/SettlementJob.java
+1
-1
OrderChildSyncTransportListener.java
...performance/listener/OrderChildSyncTransportListener.java
+13
-12
OrderCancelServiceImpl.java
.../clx/performance/service/impl/OrderCancelServiceImpl.java
+13
-0
SettlementMqHandlerServiceImpl.java
...e/service/impl/settle/SettlementMqHandlerServiceImpl.java
+28
-2
SettlementMqServiceImpl.java
...formance/service/impl/settle/SettlementMqServiceImpl.java
+2
-2
SettlementOwnerExportServiceImpl.java
...service/impl/settle/SettlementOwnerExportServiceImpl.java
+92
-0
SettlementMqService.java
...m/clx/performance/service/settle/SettlementMqService.java
+1
-1
SettlementOwnerExportService.java
...formance/service/settle/SettlementOwnerExportService.java
+9
-0
ExcelData.java
.../main/java/com/clx/performance/utils/excel/ExcelData.java
+13
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/vo/mq/settle/SettlementPlatformAutoConfirmMqParam.java
浏览文件 @
d7e90a9f
...
...
@@ -11,6 +11,6 @@ import lombok.ToString;
@NoArgsConstructor
public
class
SettlementPlatformAutoConfirmMqParam
{
private
Integer
settlementId
;
//id
private
String
settlementNo
;
}
performance-api/src/main/java/com/clx/performance/vo/pc/owner/settle/OwnerPageSettlementOwnerVO.java
浏览文件 @
d7e90a9f
package
com
.
clx
.
performance
.
vo
.
pc
.
owner
.
settle
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.enums.settle.SettlementWayEnum
;
import
com.msl.common.convertor.type.MoneyOutConvert
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
...
...
@@ -23,6 +25,11 @@ public class OwnerPageSettlementOwnerVO {
private
String
settlementNo
;
@ApiModelProperty
(
value
=
"开票标识:1网运单 2普通单"
)
private
Integer
invoiceType
;
private
String
invoiceTypeMsg
;
public
String
getInvoiceTypeMsg
()
{
return
SettlementOwnerEnum
.
InvoiceType
.
getMsgByCode
(
invoiceType
);
}
@ApiModelProperty
(
value
=
"货主编码"
)
private
Long
ownerUserNo
;
@ApiModelProperty
(
value
=
"货主姓名"
)
...
...
@@ -58,8 +65,18 @@ public class OwnerPageSettlementOwnerVO {
private
String
createTime
;
@ApiModelProperty
(
value
=
"状态 10:待锁定 20:待对账 30:待货主确认 40:待货主付款 50:待平台确认付款 60:待平台付款 70:待货主确认付款 80:待邮寄发票 90:已完结"
)
private
Integer
status
;
private
String
statusMsg
;
public
String
getStatusMsg
()
{
return
SettlementOwnerEnum
.
Status
.
getMsgByCode
(
status
);
}
@ApiModelProperty
(
value
=
"结算方式 1装车净重 2卸车净重"
)
private
Integer
settlementWay
;
private
String
settlementWayMsg
;
public
String
getSettlementWayMsg
()
{
return
SettlementWayEnum
.
WayType
.
getMsgByCode
(
settlementWay
);
}
@ApiModelProperty
(
value
=
"开票公司id"
,
example
=
"1"
)
private
Integer
invoicingCompanyId
;
//开票公司id
...
...
performance-web/src/main/java/com/clx/performance/component/OrderChildLoanComponent.java
浏览文件 @
d7e90a9f
...
...
@@ -237,11 +237,11 @@ public class OrderChildLoanComponent {
log
.
info
(
"1.1百分百预付不需要考虑借款账户"
);
return
;
}
if
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
().
equals
(
settlementDriverDetail
.
getInvoiceType
()))
{
log
.
info
(
"2.当前不是网运单,不需要处理借款标识,是否接单冻结的借款金额"
);
applicationEventPublisher
.
publishEvent
(
new
OwnerLoanThawEvent
(
this
,
orderChild
.
getChildNo
()));
return
;
}
//
if (SettlementOwnerEnum.InvoiceType.ORDINARY.getCode().equals(settlementDriverDetail.getInvoiceType())) {
//
log.info("2.当前不是网运单,不需要处理借款标识,是否接单冻结的借款金额");
//
applicationEventPublisher.publishEvent(new OwnerLoanThawEvent(this, orderChild.getChildNo()));
//
return;
//
}
if
(
settlementOwnerDetail
.
getPrepayFreight
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
)
{
log
.
info
(
"3.当前是网运单,但预付运费不为0,说明已经处理"
);
...
...
performance-web/src/main/java/com/clx/performance/controller/pc/owner/OwnerSettlementOwnerController.java
浏览文件 @
d7e90a9f
...
...
@@ -6,6 +6,7 @@ import com.clx.performance.param.pc.owner.OwnerPaymentSettlementParam;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementOwnerDetailParam
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementParam
;
import
com.clx.performance.service.settle.SettlementOwnerDetailService
;
import
com.clx.performance.service.settle.SettlementOwnerExportService
;
import
com.clx.performance.service.settle.SettlementOwnerService
;
import
com.clx.performance.vo.pc.carrier.settle.CarrierSettlementOwnerDetailVO
;
import
com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO
;
...
...
@@ -39,7 +40,7 @@ public class OwnerSettlementOwnerController {
private
final
SettlementOwnerDetailService
settlementOwnerDetailService
;
private
final
SettlementOwnerExportService
settlementOwnerExportService
;
@ApiOperation
(
value
=
"结算单详情"
,
notes
=
"<br>By:李瑞新"
)
@GetMapping
(
"/getOwnerSettlementOwnerDetail"
)
...
...
@@ -114,5 +115,11 @@ public class OwnerSettlementOwnerController {
return
Result
.
page
(
page
.
getRecords
(),
page
.
getTotal
(),
page
.
getPages
());
}
@ApiOperation
(
value
=
"货主端-导出结算单列表"
,
notes
=
"<br>By:艾庆国"
)
@PostMapping
(
"/exportSettlementOwner"
)
public
void
exportSettlementOwner
(
@RequestBody
@Validated
PageOwnerSettlementParam
param
)
{
settlementOwnerExportService
.
exportSettlementOwner
(
param
);
}
}
performance-web/src/main/java/com/clx/performance/event/EventListenerComponent.java
浏览文件 @
d7e90a9f
...
...
@@ -16,6 +16,7 @@ import com.clx.performance.dto.OwnerLoanMqDTO;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.loan.OwnerLoanRecordEnum
;
import
com.clx.performance.enums.loan.OwnerRePaymentEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.loan.OrderChildLoanRetryRecord
;
import
com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord
;
...
...
@@ -124,15 +125,20 @@ public class EventListenerComponent {
SettlementDriverDetail
settlementDriverDetail
=
param
.
getSettlementDriverDetail
();
OrderChild
orderChild
=
param
.
getOrderChild
();
try
{
//生成借款标识
orderChildLoanComponent
.
childLoanConfirmAfterProcess
(
settlementDriverDetail
,
settlementOwnerDetail
,
orderChild
);
}
catch
(
Exception
e
)
{
//未借款
settlementDriverDetail
.
setLoanFlag
(
OwnerLoanRecordEnum
.
LoanFlag
.
NO_LOAN
.
getCode
());
applicationEventPublisher
.
publishEvent
(
new
SettlementUpdateEvent
(
this
,
settlementDriverDetail
,
settlementOwnerDetail
));
log
.
error
(
"处理货主借款监听器执行异常,数据为{},异常信息{}"
,
JSONUtil
.
parse
(
param
),
ExceptionUtil
.
getMessage
(
e
));
throw
e
;
if
(
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
().
equals
(
settlementDriverDetail
.
getInvoiceType
()))
{
applicationEventPublisher
.
publishEvent
(
new
OwnerLoanThawEvent
(
this
,
orderChild
.
getChildNo
()));
}
else
{
try
{
//生成借款标识
orderChildLoanComponent
.
childLoanConfirmAfterProcess
(
settlementDriverDetail
,
settlementOwnerDetail
,
orderChild
);
}
catch
(
Exception
e
)
{
//未借款
settlementDriverDetail
.
setLoanFlag
(
OwnerLoanRecordEnum
.
LoanFlag
.
NO_LOAN
.
getCode
());
applicationEventPublisher
.
publishEvent
(
new
SettlementUpdateEvent
(
this
,
settlementDriverDetail
,
settlementOwnerDetail
));
log
.
error
(
"处理货主借款监听器执行异常,数据为{},异常信息{}"
,
JSONUtil
.
parse
(
param
),
ExceptionUtil
.
getMessage
(
e
));
throw
e
;
}
}
log
.
info
(
"处理货主借款监听器执行成功"
);
...
...
performance-web/src/main/java/com/clx/performance/job/settlement/SettlementJob.java
浏览文件 @
d7e90a9f
...
...
@@ -121,7 +121,7 @@ public class SettlementJob {
for
(
SettlementOwner
item
:
list
)
{
settlementMqService
.
settlementPlatformAutoConfirmUpdate
(
item
.
get
Id
());
settlementMqService
.
settlementPlatformAutoConfirmUpdate
(
item
.
get
SettlementNo
());
}
}
catch
(
Exception
e
)
{
log
.
warn
(
"结算单平台自动确认更新失败,msg:{}"
,
ExceptionUtils
.
getStackTrace
(
e
));
...
...
performance-web/src/main/java/com/clx/performance/listener/OrderChildSyncTransportListener.java
浏览文件 @
d7e90a9f
...
...
@@ -153,18 +153,19 @@ public class OrderChildSyncTransportListener {
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
get
();
// 未税 卸车减货损不用生成扣除相关流水逻辑
if
(
Objects
.
equals
(
invoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
())
&&
Objects
.
equals
(
orderGoods
.
getPlatformFreightQuotationTaxType
(),
QuotationEnum
.
PlatformFreightQuotationTaxType
.
NO
.
getCode
())
&&
Objects
.
equals
(
orderGoods
.
getSettlementWay
(),
SettlementWayEnum
.
WayType
.
UNLOAD_LOSS
.
getCode
()))
{
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementDriverDetail
.
setPrepayFreightFlag
(
SettlementDriverEnum
.
PrepayFreightFlag
.
NO_PAY
.
getCode
());
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO
.
getCode
());
//生成提现记录
networkDriverRunningWaterRecordService
.
generateNetworkCaseOutRecord
(
settlementDriverDetail
);
}
else
if
(
Objects
.
equals
(
invoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
()))
{
// // 未税 卸车减货损不用生成扣除相关流水逻辑
// if (Objects.equals(invoiceType, SettlementOwnerEnum.InvoiceType.ONLINE.getCode())
// && Objects.equals(orderGoods.getPlatformFreightQuotationTaxType(),QuotationEnum.PlatformFreightQuotationTaxType.NO.getCode())
// && Objects.equals(orderGoods.getSettlementWay(), SettlementWayEnum.WayType.UNLOAD_LOSS.getCode())) {
// settlementOwnerDetail.setPrepayFreight(BigDecimal.ZERO);
// settlementDriverDetail.setPrepayFreightFlag(SettlementDriverEnum.PrepayFreightFlag.NO_PAY.getCode());
// settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO.getCode());
//
// //生成提现记录
// networkDriverRunningWaterRecordService.generateNetworkCaseOutRecord(settlementDriverDetail);
// }
// else
if
(
Objects
.
equals
(
invoiceType
,
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
()))
{
//通过风控
List
<
OwnerRunningWaterRecord
>
runningWaterRecordList
=
ownerRunningWaterRecordDao
.
getOwnerRunningWaterRecord
(
orderChild
.
getOrderNo
());
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderCancelServiceImpl.java
浏览文件 @
d7e90a9f
...
...
@@ -17,6 +17,7 @@ import com.clx.performance.component.OwnerAccountComponent;
import
com.clx.performance.constant.RabbitKeyConstants
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderChildOperateRecordDao
;
import
com.clx.performance.dao.OrderChildPoundAuditDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dto.OrderCancelDTO
;
import
com.clx.performance.enums.*
;
...
...
@@ -24,6 +25,7 @@ import com.clx.performance.extranal.user.DriverService;
import
com.clx.performance.extranal.user.OwnerInfoService
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChildOperateRecord
;
import
com.clx.performance.model.OrderChildPoundAudit
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.param.pc.ArtificialCancelOrderParam
;
import
com.clx.performance.param.pc.ArtificialCancelOrderQueryParam
;
...
...
@@ -56,6 +58,9 @@ import java.time.LocalDateTime;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
static
com
.
clx
.
performance
.
enums
.
OrderChildPoundAuditEnum
.
Status
.
APPROVED
;
import
static
com
.
clx
.
performance
.
enums
.
ResultEnum
.
DATA_ERROR
;
@Slf4j
@Service
@AllArgsConstructor
...
...
@@ -90,6 +95,8 @@ public class OrderCancelServiceImpl implements OrderCancelService {
private
final
OwnerAccountComponent
ownerAccountComponent
;
private
final
OrderChildPoundAuditDao
orderChildPoundAuditDao
;
private
final
OrderChildOperateRecordDao
orderChildOperateRecordDao
;
...
...
@@ -599,6 +606,12 @@ public class OrderCancelServiceImpl implements OrderCancelService {
*/
@Override
public
void
artificialCancelOrder
(
String
orderChildNo
,
String
remark
)
{
//磅单如果审核通过,该运单不允许取消
List
<
OrderChildPoundAudit
>
poundAuditList
=
orderChildPoundAuditDao
.
getPoundAuditList
(
orderChildNo
);
if
(
poundAuditList
.
stream
().
anyMatch
(
item
->
APPROVED
.
getCode
().
equals
(
item
.
getStatus
())))
{
throw
new
ServiceSystemException
(
DATA_ERROR
,
"该运单磅单已审核通过,不允许取消"
);
}
LocalDateTime
now
=
LocalDateTime
.
now
();
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
orderChildNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
//运单状态不在【装车成功】【前往目的地】【到达目的地】【收货待确认】范围中,不允许取消
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqHandlerServiceImpl.java
浏览文件 @
d7e90a9f
...
...
@@ -153,6 +153,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Autowired
private
OrderChildBrokerMqService
orderChildBrokerMqService
;
@Autowired
private
NetworkDriverRunningWaterRecordService
networkDriverRunningWaterRecordService
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -375,13 +378,21 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
void
payStatusSync
(
SettlementPayStatusSyncMqParam
mq
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(!
Objects
.
equals
(
settlementOwnerDetail
.
getInvoiceChannel
(),
SettlementOwnerDetailEnum
.
InvoiceChannel
.
BROKER
.
getCode
())){
return
;
}
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
OrderChildSyncTransportRecord
orderChildSyncTransportRecord
=
orderChildSyncTransportRecordDao
.
getByChildNo
(
orderChild
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(!
Objects
.
equals
(
orderChildSyncTransportRecord
.
getStatus
(),
...
...
@@ -397,9 +408,24 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
}
if
(
Objects
.
equals
(
result
.
getSettleStatus
(),
1
)
)
{
if
(
Objects
.
equals
(
orderGoods
.
getPlatformFreightQuotationTaxType
(),
QuotationEnum
.
PlatformFreightQuotationTaxType
.
NO
.
getCode
())
&&
Objects
.
equals
(
orderGoods
.
getSettlementWay
(),
SettlementWayEnum
.
WayType
.
UNLOAD_LOSS
.
getCode
()))
{
settlementOwnerDetail
.
setPrepayFreight
(
BigDecimal
.
ZERO
);
settlementDriverDetail
.
setPrepayFreightFlag
(
SettlementDriverEnum
.
PrepayFreightFlag
.
NO_PAY
.
getCode
());
settlementOwnerDetail
.
setFinalPaymentStatus
(
SettlementOwnerDetailEnum
.
FinalPaymentStatus
.
NO
.
getCode
());
//生成提现记录
networkDriverRunningWaterRecordService
.
generateNetworkCaseOutRecord
(
settlementDriverDetail
);
}
PayStatusNotifyDTO
payStatusNotifyDTO
=
new
PayStatusNotifyDTO
();
payStatusNotifyDTO
.
setChildNo
(
mq
.
getChildNo
());
orderChildSyncTransportRecordService
.
updateStatus
(
payStatusNotifyDTO
);
// 发送mq (结算单平台自动确认)
settlementMqService
.
settlementPlatformAutoConfirmUpdate
(
settlementOwnerDetail
.
getSettlementNo
());
}
else
{
SettlementOrderChildRisk
settlementOrderChildRisk
=
new
SettlementOrderChildRisk
();
...
...
@@ -899,7 +925,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Override
public
void
settlementPlatformAutoConfirm
(
SettlementPlatformAutoConfirmMqParam
mq
)
{
SettlementOwner
settlementOwner
=
settlementOwnerDao
.
findBy
Id
(
mq
.
getSettlementId
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
.
findBy
SettlementNo
(
mq
.
getSettlementNo
()).
orElseThrow
(
ResultEnum
.
DATA_NOT_FIND
);
if
(!
Objects
.
equals
(
settlementOwner
.
getStatus
(),
SettlementOwnerEnum
.
Status
.
PLATFORM_TO_BE_CONFIRMED
.
getCode
())){
return
;
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqServiceImpl.java
浏览文件 @
d7e90a9f
...
...
@@ -138,9 +138,9 @@ public class SettlementMqServiceImpl implements SettlementMqService {
}
@Override
public
void
settlementPlatformAutoConfirmUpdate
(
Integer
settlementId
)
{
public
void
settlementPlatformAutoConfirmUpdate
(
String
settlementNo
)
{
SettlementPlatformAutoConfirmMqParam
mq
=
new
SettlementPlatformAutoConfirmMqParam
();
mq
.
setSettlement
Id
(
settlementId
);
mq
.
setSettlement
No
(
settlementNo
);
MqDelay
delay
=
new
MqDelay
<>(
RabbitKeySettlementConstants
.
DEFAULT_EXCHANGE
,
RabbitKeySettlementConstants
.
SETTLEMENT_PLATFORM_AUTO_CONFIRM_UPDATE_ROUTING_KEY
,
new
MqWrapper
<>(
mq
));
Message
message
=
MessageBuilder
.
withBody
(
JSON
.
toJSONString
(
new
MqWrapper
<>(
delay
)).
getBytes
()).
build
();
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerExportServiceImpl.java
0 → 100644
浏览文件 @
d7e90a9f
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementParam
;
import
com.clx.performance.service.settle.SettlementOwnerExportService
;
import
com.clx.performance.service.settle.SettlementOwnerService
;
import
com.clx.performance.utils.excel.ExcelData
;
import
com.clx.performance.utils.excel.ExcelField
;
import
com.clx.performance.utils.excel.ExcelSheet
;
import
com.clx.performance.utils.excel.ExcelUtil
;
import
com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.math.RoundingMode
;
import
java.util.ArrayList
;
import
java.util.List
;
@Slf4j
@Service
public
class
SettlementOwnerExportServiceImpl
implements
SettlementOwnerExportService
{
@Autowired
private
SettlementOwnerService
settlementOwnerService
;
@Override
public
void
exportSettlementOwner
(
PageOwnerSettlementParam
param
)
{
param
.
setPage
(
1
);
param
.
setPageSize
(
1000000
);
List
<
OwnerPageSettlementOwnerVO
>
list
=
settlementOwnerService
.
pageSettlementOwner
(
param
).
getRecords
();
// 组装表头
List
<
ExcelField
>
fieldList
=
new
ArrayList
<>();
fieldList
.
add
(
new
ExcelField
(
0
,
"序号"
,
"index"
,
2000
));
fieldList
.
add
(
new
ExcelField
(
1
,
"结算单号"
,
"settlementNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
2
,
"订单编号"
,
"orderNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
3
,
"开票标识"
,
"invoiceType"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
4
,
"货主编码"
,
"ownerUserNo"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
5
,
"结算方式"
,
"settlementWay"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
6
,
"装车净重"
,
"loadNet"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
7
,
"卸车净重"
,
"unloadNet"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
8
,
"实际净重(吨)"
,
"weight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
9
,
"应付运费"
,
"freight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
10
,
"预付运费金额"
,
"prepayFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
11
,
"货损吨数"
,
"lossWeight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
12
,
"管理费"
,
"invoiceServiceFee"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
13
,
"借款抵扣金额"
,
"loanFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
14
,
"结算金额"
,
"settlementFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
15
,
"开票金额"
,
"invoiceFreight"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
16
,
"创建时间"
,
"createTime"
,
5000
));
fieldList
.
add
(
new
ExcelField
(
17
,
"状态"
,
"status"
,
5000
));
// 组装数据
List
<
List
<
ExcelData
>>
dataList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++){
OwnerPageSettlementOwnerVO
dto
=
list
.
get
(
i
);
List
<
ExcelData
>
rowData
=
new
ArrayList
<>();
rowData
.
add
(
new
ExcelData
(
i
+
1
));
rowData
.
add
(
new
ExcelData
(
dto
.
getSettlementNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getOrderNo
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoiceTypeMsg
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getOwnerUserNo
().
toString
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getSettlementWayMsg
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getLoadNet
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getUnloadNet
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getWeight
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getFreight
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getPrepayFreight
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getLossWeight
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoiceServiceFee
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getLoanFreight
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getSettlementFreight
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getInvoiceFreight
().
movePointLeft
(
2
).
setScale
(
2
,
RoundingMode
.
HALF_UP
)));
rowData
.
add
(
new
ExcelData
(
dto
.
getCreateTime
()));
rowData
.
add
(
new
ExcelData
(
dto
.
getStatusMsg
()));
dataList
.
add
(
rowData
);
}
ExcelSheet
excelSheet
=
new
ExcelSheet
(
"货主结算单"
,
"货主结算单"
,
fieldList
,
dataList
);
// 导出
ExcelUtil
.
export
(
excelSheet
);
}
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementMqService.java
浏览文件 @
d7e90a9f
...
...
@@ -19,6 +19,6 @@ public interface SettlementMqService {
void
updateInvoiceCompany
(
Integer
id
);
void
settlementPlatformAutoConfirmUpdate
(
Integer
settlementId
);
void
settlementPlatformAutoConfirmUpdate
(
String
settlementNo
);
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementOwnerExportService.java
0 → 100644
浏览文件 @
d7e90a9f
package
com
.
clx
.
performance
.
service
.
settle
;
import
com.clx.performance.param.pc.owner.PageOwnerSettlementParam
;
public
interface
SettlementOwnerExportService
{
void
exportSettlementOwner
(
PageOwnerSettlementParam
param
);
}
performance-web/src/main/java/com/clx/performance/utils/excel/ExcelData.java
浏览文件 @
d7e90a9f
...
...
@@ -69,6 +69,19 @@ public class ExcelData {
this
.
dataType
=
DataType
.
STRING
.
value
;
}
}
public
ExcelData
(
Long
value
)
{
this
(
value
,
null
);
}
public
ExcelData
(
Long
value
,
String
defaultValue
)
{
if
(
null
!=
value
)
{
this
.
doubleValue
=
value
;
this
.
dataType
=
DataType
.
NUMERIC
.
value
;
}
else
{
this
.
value
=
defaultValue
;
this
.
dataType
=
DataType
.
STRING
.
value
;
}
}
public
ExcelData
(
BigDecimal
value
)
{
this
(
value
,
null
);
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论