Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
bc6b3685
提交
bc6b3685
authored
10月 21, 2023
作者:
aiqingguo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
结算
上级
139e7fe7
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
254 行增加
和
16 行删除
+254
-16
TempController.java
...a/com/clx/performance/controller/temp/TempController.java
+15
-0
SettlementDriverDetailDaoImpl.java
...rmance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
+13
-3
SettlementOwnerDaoImpl.java
...x/performance/dao/impl/settle/SettlementOwnerDaoImpl.java
+34
-5
SettlementOwnerDetailDaoImpl.java
...ormance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
+14
-3
TempService.java
...rc/main/java/com/clx/performance/service/TempService.java
+7
-0
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+5
-1
TempServiceImpl.java
...ava/com/clx/performance/service/impl/TempServiceImpl.java
+23
-0
SettlementMqHandlerServiceImpl.java
...e/service/impl/settle/SettlementMqHandlerServiceImpl.java
+110
-1
SettlementOwnerDetailServiceImpl.java
...service/impl/settle/SettlementOwnerDetailServiceImpl.java
+1
-1
SettlementServiceImpl.java
...erformance/service/impl/settle/SettlementServiceImpl.java
+31
-1
SettlementService.java
...com/clx/performance/service/settle/SettlementService.java
+1
-1
没有找到文件。
performance-web/src/main/java/com/clx/performance/controller/temp/TempController.java
浏览文件 @
bc6b3685
package
com
.
clx
.
performance
.
controller
.
temp
;
import
com.clx.performance.service.TempService
;
import
com.msl.common.result.Result
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -19,6 +21,10 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping
(
value
=
"/temp"
)
public
class
TempController
{
@Autowired
private
TempService
tempService
;
@ApiOperation
(
value
=
"test"
,
notes
=
"<br>By:艾庆国"
)
@RequestMapping
(
value
=
"/test"
,
method
=
RequestMethod
.
GET
)
...
...
@@ -26,4 +32,13 @@ public class TempController {
return
Result
.
ok
();
}
@ApiOperation
(
value
=
"更新网运标识"
,
notes
=
"<br>By:艾庆国"
)
@RequestMapping
(
value
=
"/updateInvoiceType"
,
method
=
RequestMethod
.
POST
)
public
Result
<
Void
>
updateInvoiceType
(
String
childNo
,
Integer
invoiceType
)
{
tempService
.
updateInvoiceType
(
childNo
,
invoiceType
);
return
Result
.
ok
();
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementDriverDetailDaoImpl.java
浏览文件 @
bc6b3685
...
...
@@ -24,17 +24,27 @@ import java.util.Objects;
public
class
SettlementDriverDetailDaoImpl
extends
BaseDaoImpl
<
SettlementDriverDetailMapper
,
SettlementDriverDetail
,
Integer
>
implements
SettlementDriverDetailDao
{
@Override
public
boolean
updateInvoiceType
(
SettlementDriverDetail
item
)
{
return
false
;
return
update
(
lUdWrapper
()
.
eq
(
SettlementDriverDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementDriverDetail:
:
getInvoiceType
,
item
.
getInvoiceType
())
);
}
@Override
public
boolean
updateSettlementNo
(
SettlementDriverDetail
item
)
{
return
false
;
return
update
(
lUdWrapper
()
.
eq
(
SettlementDriverDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementDriverDetail:
:
getSettlementNo
,
item
.
getSettlementNo
())
);
}
@Override
public
Optional
<
SettlementDriverDetail
>
getByChildNo
(
String
childNo
)
{
return
null
;
return
Optional
.
of
(
childNo
)
.
map
(
item
->
lQrWrapper
()
.
eq
(
SettlementDriverDetail:
:
getChildNo
,
item
)
)
.
map
(
super
::
getOne
);
}
@Override
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOwnerDaoImpl.java
浏览文件 @
bc6b3685
...
...
@@ -29,12 +29,24 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
@Override
public
boolean
updateSettlementPeriodMonth
(
SettlementOwner
item
)
{
return
false
;
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwner:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwner:
:
getWeight
,
item
.
getWeight
())
.
set
(
SettlementOwner:
:
getFreight
,
item
.
getFreight
())
.
set
(
SettlementOwner:
:
getLossFreight
,
item
.
getLossFreight
())
.
set
(
SettlementOwner:
:
getSettlementFreight
,
item
.
getSettlementFreight
())
.
set
(
SettlementOwner:
:
getInvoiceFreight
,
item
.
getInvoiceFreight
())
.
set
(
SettlementOwner:
:
getPrepayFreight
,
item
.
getPrepayFreight
())
);
}
@Override
public
boolean
updateLock
(
SettlementOwner
item
)
{
return
false
;
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwner:
:
getId
,
item
.
getId
())
.
eq
(
SettlementOwner:
:
getStatus
,
SettlementOwnerEnum
.
Status
.
TO_BE_LOCKED
.
getCode
())
.
set
(
SettlementOwner:
:
getStatus
,
item
.
getStatus
())
);
}
@Override
...
...
@@ -109,17 +121,34 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
@Override
public
Optional
<
SettlementOwner
>
selectUnlockOfSettlementPeriodMonth
(
String
orderNo
,
LocalDateTime
settlementPeriodTime
,
Integer
invoiceType
)
{
return
null
;
return
Optional
.
of
(
lQrWrapper
()
.
eq
(
SettlementOwner:
:
getOrderNo
,
orderNo
)
.
eq
(
SettlementOwner:
:
getSettlementPeriodType
,
SettlementOwnerEnum
.
SettlementPeriodType
.
MONTH
.
getCode
())
.
eq
(
SettlementOwner:
:
getSettlementPeriodTime
,
settlementPeriodTime
)
.
eq
(
SettlementOwner:
:
getInvoiceType
,
invoiceType
)
.
eq
(
SettlementOwner:
:
getStatus
,
SettlementOwnerEnum
.
Status
.
TO_BE_LOCKED
.
getCode
())
)
.
map
(
super
::
getOne
);
}
@Override
public
Optional
<
SettlementOwner
>
selectUnlockOfSettlementPeriodImmediate
(
String
orderNo
,
Integer
invoiceType
)
{
return
null
;
return
Optional
.
of
(
lQrWrapper
()
.
eq
(
SettlementOwner:
:
getOrderNo
,
orderNo
)
.
eq
(
SettlementOwner:
:
getSettlementPeriodType
,
SettlementOwnerEnum
.
SettlementPeriodType
.
IMMEDIATE
.
getCode
())
.
eq
(
SettlementOwner:
:
getInvoiceType
,
invoiceType
)
.
eq
(
SettlementOwner:
:
getStatus
,
SettlementOwnerEnum
.
Status
.
TO_BE_LOCKED
.
getCode
())
)
.
map
(
super
::
getOne
);
}
@Override
public
List
<
SettlementOwner
>
listToBeLockOfSettlementPeriodMonth
(
LocalDateTime
settlementPeriodTime
)
{
return
null
;
return
list
(
lQrWrapper
()
.
eq
(
SettlementOwner:
:
getSettlementPeriodType
,
SettlementOwnerEnum
.
SettlementPeriodType
.
MONTH
.
getCode
())
.
lt
(
SettlementOwner:
:
getSettlementPeriodTime
,
settlementPeriodTime
)
.
le
(
SettlementOwner:
:
getStatus
,
SettlementOwnerEnum
.
Status
.
TO_BE_LOCKED
.
getCode
())
);
}
@Override
...
...
performance-web/src/main/java/com/clx/performance/dao/impl/settle/SettlementOwnerDetailDaoImpl.java
浏览文件 @
bc6b3685
...
...
@@ -26,17 +26,28 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
@Override
public
boolean
updateInvoiceType
(
SettlementOwnerDetail
item
)
{
return
false
;
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwnerDetail:
:
getInvoiceType
,
item
.
getInvoiceType
())
.
set
(
SettlementOwnerDetail:
:
getPrepayFreight
,
item
.
getPrepayFreight
())
);
}
@Override
public
boolean
updateSettlementNo
(
SettlementOwnerDetail
item
)
{
return
false
;
return
update
(
lUdWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getId
,
item
.
getId
())
.
set
(
SettlementOwnerDetail:
:
getSettlementNo
,
item
.
getSettlementNo
())
);
}
@Override
public
Optional
<
SettlementOwnerDetail
>
getByChildNo
(
String
childNo
)
{
return
null
;
return
Optional
.
of
(
childNo
)
.
map
(
item
->
lQrWrapper
()
.
eq
(
SettlementOwnerDetail:
:
getChildNo
,
item
)
)
.
map
(
super
::
getOne
);
}
@Override
...
...
performance-web/src/main/java/com/clx/performance/service/TempService.java
0 → 100644
浏览文件 @
bc6b3685
package
com
.
clx
.
performance
.
service
;
public
interface
TempService
{
void
updateInvoiceType
(
String
childNo
,
Integer
InvoiceType
);
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
bc6b3685
...
...
@@ -164,6 +164,7 @@ public class OrderChildServiceImpl implements OrderChildService {
String
childNo
=
childNoGenerate
();
// 查询司机车辆信息
DriverTruckInfoFeignVo
driverTruckInfo
=
driverService
.
getUserDetailInfo
(
param
.
getDriverUserNo
(),
param
.
getTruckId
()).
orElseThrow
(
ResultCodeEnum
.
FAIL
);
BigDecimal
truckLoad
=
driverTruckInfo
.
getLoad
();
...
...
@@ -177,6 +178,9 @@ public class OrderChildServiceImpl implements OrderChildService {
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_INVALID1
);
}
FeignOrderInfoVO
orderInfo
=
orderService
.
getOrderInfo
(
orderGoods
.
getOrderNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_INVALID
);
// // 车型限制
// FeignOrderInfoVO orderInfo = orderService.getOrderInfo(orderGoods.getOrderNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// if (StringUtils.isNotBlank(orderInfo.getTruckModelList())){
...
...
@@ -215,7 +219,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild
.
setOrderGoodsNo
(
orderGoods
.
getOrderGoodsNo
());
orderChild
.
setFreightPrice
(
orderGoods
.
getPendingOrderFreight
());
orderChild
.
setLossPrice
(
orderGoods
.
getLossPrice
());
orderChild
.
setOrderFreightPrice
(
BigDecimal
.
ZERO
);
orderChild
.
setOrderFreightPrice
(
orderInfo
.
getValidFreightPrice
()
);
orderChild
.
setGoodsId
(
orderGoods
.
getGoodsId
());
orderChild
.
setGoodsName
(
orderGoods
.
getGoodsName
());
...
...
performance-web/src/main/java/com/clx/performance/service/impl/TempServiceImpl.java
0 → 100644
浏览文件 @
bc6b3685
package
com
.
clx
.
performance
.
service
.
impl
;
import
com.clx.performance.service.TempService
;
import
com.clx.performance.service.settle.SettlementService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
@Slf4j
@Service
public
class
TempServiceImpl
implements
TempService
{
@Autowired
private
SettlementService
settlementService
;
@Override
public
void
updateInvoiceType
(
String
childNo
,
Integer
invoiceType
)
{
settlementService
.
updateSettlementDetailInvoiceType
(
childNo
,
invoiceType
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementMqHandlerServiceImpl.java
浏览文件 @
bc6b3685
package
com
.
clx
.
performance
.
service
.
impl
.
settle
;
import
com.clx.performance.dao.settle.SettlementDriverDao
;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.extranal.user.OwnerInfoService
;
import
com.clx.performance.model.settle.SettlementDriver
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwner
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
import
com.clx.performance.service.impl.UniqueOrderNumService
;
import
com.clx.performance.service.settle.SettlementMqHandlerService
;
import
com.clx.performance.utils.LocalDateTimeUtils
;
import
com.clx.performance.vo.mq.SettlementDetailAddMqParam
;
import
com.clx.performance.vo.mq.SettlementDetailInvoiceTypeSyncMqParam
;
import
com.clx.user.vo.feign.OwnerInfoFeignVO
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.time.LocalDateTime
;
import
java.util.Objects
;
@Slf4j
@Service
...
...
@@ -29,6 +35,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
private
SettlementDriverDetailDao
settlementDriverDetailDao
;
@Autowired
private
SettlementOwnerDao
settlementOwnerDao
;
@Autowired
private
SettlementDriverDao
settlementDriverDao
;
@Autowired
private
OwnerInfoService
ownerInfoService
;
...
...
@@ -44,7 +52,38 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
mq
.
getChildNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementOwner
settlementOwner
=
null
;
OwnerInfoFeignVO
ownerInfo
=
ownerInfoService
.
getOwnerInfo
(
settlementOwnerDetail
.
getOwnerUserNo
());
if
(
Objects
.
equals
(
ownerInfo
.
getSettlementAccountPeriod
(),
2
)){
//月结
LocalDateTime
settlementPeriodTime
=
LocalDateTimeUtils
.
getBeginMonthDate
();
settlementOwner
=
settlementOwnerDao
.
selectUnlockOfSettlementPeriodMonth
(
settlementOwnerDetail
.
getOrderNo
(),
settlementPeriodTime
,
settlementOwnerDetail
.
getInvoiceType
()).
orNull
();
if
(
settlementOwner
==
null
){
// 月结初始化
settlementPeriodMonthInit
(
settlementOwnerDetail
,
settlementPeriodTime
);
}
else
{
// 月结更新
settlementPeriodMonthUpdate
(
settlementOwner
,
settlementOwnerDetail
);
}
}
else
{
settlementOwner
=
settlementOwnerDao
.
selectUnlockOfSettlementPeriodImmediate
(
settlementOwnerDetail
.
getOrderNo
(),
settlementOwnerDetail
.
getInvoiceType
()).
orNull
();
if
(
settlementOwner
==
null
){
// 拉运完成初始化
settlementPeriodImmediateInit
(
settlementOwnerDetail
);
}
else
{
// 拉运完成更新
settlementPeriodImmediateUpdate
(
settlementOwner
,
settlementOwnerDetail
);
}
}
settlementDriverSave
(
settlementDriverDetail
);
// 更新结算单
settlementOwnerDetail
.
setSettlementNo
(
settlementOwner
.
getSettlementNo
());
settlementDriverDetail
.
setSettlementNo
(
settlementOwner
.
getSettlementNo
());
settlementOwnerDetailDao
.
updateSettlementNo
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateSettlementNo
(
settlementDriverDetail
);
}
@Override
...
...
@@ -53,25 +92,85 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
}
private
void
settlementDriverSave
(
SettlementDriverDetail
settlementDriverDetail
){
SettlementDriver
settlementDriver
=
new
SettlementDriver
();
settlementDriverDao
.
saveEntity
(
settlementDriver
);
}
/**
* 月结初始化
*/
private
void
settlementPeriodMonthInit
(
SettlementOwnerDetail
settlementOwnerDetail
,
LocalDateTime
settlementPeriodTime
){
SettlementOwner
settlementOwner
=
new
SettlementOwner
();
String
settlementNo
=
settlementNoGenerate
();
settlementOwner
.
setSettlementNo
(
settlementNo
);
settlementOwner
.
setOwnerUserNo
(
settlementOwnerDetail
.
getOwnerUserNo
());
settlementOwner
.
setOwnerName
(
settlementOwnerDetail
.
getOwnerName
());
settlementOwner
.
setOrderNo
(
settlementOwnerDetail
.
getOrderNo
());
settlementOwner
.
setSettlementPeriodType
(
SettlementOwnerEnum
.
SettlementPeriodType
.
MONTH
.
getCode
());
settlementOwner
.
setSettlementPeriodTime
(
settlementPeriodTime
);
settlementOwner
.
setWeight
(
settlementOwnerDetail
.
getWeight
());
settlementOwner
.
setFreight
(
settlementOwnerDetail
.
getFreight
());
settlementOwner
.
setLossFreight
(
settlementOwnerDetail
.
getLossFreight
());
settlementOwner
.
setSettlementFreight
(
settlementOwnerDetail
.
getSettlementFreight
());
settlementOwner
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
settlementOwner
.
setInvoiceFreight
(
settlementOwnerDetail
.
getInvoiceFreight
());
settlementOwner
.
setPrepayFreight
(
settlementOwnerDetail
.
getPrepayFreight
());
settlementOwner
.
setStatus
(
SettlementOwnerEnum
.
Status
.
TO_BE_LOCKED
.
getCode
());
settlementOwnerDao
.
saveEntity
(
settlementOwner
);
}
/**
* 月结更新
*/
private
void
settlementPeriodMonthUpdate
(
SettlementOwner
settlementOwner
,
SettlementOwnerDetail
settlementOwnerDetail
){
settlementOwner
.
setWeight
(
settlementOwnerDetail
.
getWeight
());
settlementOwner
.
setFreight
(
settlementOwnerDetail
.
getFreight
());
settlementOwner
.
setLossFreight
(
settlementOwnerDetail
.
getLossFreight
());
settlementOwner
.
setSettlementFreight
(
settlementOwnerDetail
.
getSettlementFreight
());
settlementOwner
.
setInvoiceFreight
(
settlementOwnerDetail
.
getInvoiceFreight
());
settlementOwner
.
setPrepayFreight
(
settlementOwnerDetail
.
getPrepayFreight
());
settlementOwnerDao
.
updateSettlementPeriodMonth
(
settlementOwner
);
}
/**
* 拉运完成结 初始化
*/
private
void
settlementPeriodImmediateInit
(
SettlementOwnerDetail
settlementOwnerDetail
){
SettlementOwner
settlementOwner
=
new
SettlementOwner
();
String
settlementNo
=
settlementNoGenerate
();
settlementOwner
.
setSettlementNo
(
settlementNo
);
settlementOwner
.
setOwnerUserNo
(
settlementOwnerDetail
.
getOwnerUserNo
());
settlementOwner
.
setOwnerName
(
settlementOwnerDetail
.
getOwnerName
());
settlementOwner
.
setOrderNo
(
settlementOwnerDetail
.
getOrderNo
());
settlementOwner
.
setSettlementPeriodType
(
SettlementOwnerEnum
.
SettlementPeriodType
.
IMMEDIATE
.
getCode
());
settlementOwner
.
setWeight
(
settlementOwnerDetail
.
getWeight
());
settlementOwner
.
setFreight
(
settlementOwnerDetail
.
getFreight
());
settlementOwner
.
setLossFreight
(
settlementOwnerDetail
.
getLossFreight
());
settlementOwner
.
setSettlementFreight
(
settlementOwnerDetail
.
getSettlementFreight
());
settlementOwner
.
setInvoiceType
(
settlementOwnerDetail
.
getInvoiceType
());
settlementOwner
.
setInvoiceFreight
(
settlementOwnerDetail
.
getInvoiceFreight
());
settlementOwner
.
setPrepayFreight
(
settlementOwnerDetail
.
getPrepayFreight
());
settlementOwner
.
setStatus
(
SettlementOwnerEnum
.
Status
.
TO_BE_ACCOUNT
.
getCode
());
settlementOwnerDao
.
saveEntity
(
settlementOwner
);
}
/**
...
...
@@ -79,6 +178,16 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
*/
private
void
settlementPeriodImmediateUpdate
(
SettlementOwner
settlementOwner
,
SettlementOwnerDetail
settlementOwnerDetail
){
settlementOwner
.
setWeight
(
settlementOwnerDetail
.
getWeight
());
settlementOwner
.
setFreight
(
settlementOwnerDetail
.
getFreight
());
settlementOwner
.
setLossFreight
(
settlementOwnerDetail
.
getLossFreight
());
settlementOwner
.
setSettlementFreight
(
settlementOwnerDetail
.
getSettlementFreight
());
settlementOwner
.
setInvoiceFreight
(
settlementOwnerDetail
.
getInvoiceFreight
());
settlementOwner
.
setPrepayFreight
(
settlementOwnerDetail
.
getPrepayFreight
());
settlementOwnerDao
.
updateSettlementPeriodMonth
(
settlementOwner
);
}
/**
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerDetailServiceImpl.java
浏览文件 @
bc6b3685
...
...
@@ -59,7 +59,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
settlementOwnerDetail
.
setGoodsName
(
orderChild
.
getGoodsName
());
// 运费
settlementOwnerDetail
.
setFreightPrice
(
BigDecimal
.
ZERO
);
//平台运费
settlementOwnerDetail
.
setFreightPrice
(
orderChild
.
getOrderFreightPrice
()
);
//平台运费
settlementOwnerDetail
.
setWeight
(
weightCalc
(
orderChild
.
getLoadNet
(),
orderChild
.
getUnloadNet
()));
settlementOwnerDetail
.
setFreight
(
freightCalc
(
settlementOwnerDetail
.
getFreightPrice
(),
settlementOwnerDetail
.
getWeight
()));
...
...
performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementServiceImpl.java
浏览文件 @
bc6b3685
...
...
@@ -4,6 +4,7 @@ import com.clx.performance.dao.OrderChildDao;
import
com.clx.performance.dao.settle.SettlementDriverDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.settle.SettlementOwnerEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.settle.SettlementDriverDetail
;
import
com.clx.performance.model.settle.SettlementOwnerDetail
;
...
...
@@ -14,6 +15,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.math.BigDecimal
;
import
java.util.Objects
;
@Slf4j
@Service
public
class
SettlementServiceImpl
implements
SettlementService
{
...
...
@@ -31,16 +35,27 @@ public class SettlementServiceImpl implements SettlementService {
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
updateInvoiceType
(
String
childNo
,
Integer
invoiceType
)
{
public
void
update
SettlementDetail
InvoiceType
(
String
childNo
,
Integer
invoiceType
)
{
OrderChild
orderChild
=
orderChildDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_NO_FOUND
);
SettlementOwnerDetail
settlementOwnerDetail
=
settlementOwnerDetailDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
SettlementDriverDetail
settlementDriverDetail
=
settlementDriverDetailDao
.
getByChildNo
(
childNo
).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
if
(
settlementOwnerDetail
.
getInvoiceType
()
!=
null
)
{
return
;}
// 结算金额<0走普通单
if
(
settlementDriverDetail
.
getSettlementFreight
().
compareTo
(
BigDecimal
.
ZERO
)
<
0
){
invoiceType
=
SettlementOwnerEnum
.
InvoiceType
.
ORDINARY
.
getCode
();
}
settlementOwnerDetail
.
setInvoiceType
(
invoiceType
);
settlementDriverDetail
.
setInvoiceType
(
invoiceType
);
// 网运单更新预付运费
if
(
Objects
.
equals
(
settlementOwnerDetail
.
getInvoiceType
(),
SettlementOwnerEnum
.
InvoiceType
.
ONLINE
.
getCode
()))
{
settlementOwnerDetail
.
setPrepayFreight
(
updatePrepayFreightPay
(
settlementOwnerDetail
.
getChildNo
(),
settlementOwnerDetail
.
getFreight
(),
settlementOwnerDetail
.
getLossFreight
()));
}
settlementOwnerDetailDao
.
updateInvoiceType
(
settlementOwnerDetail
);
settlementDriverDetailDao
.
updateInvoiceType
(
settlementDriverDetail
);
...
...
@@ -48,4 +63,19 @@ public class SettlementServiceImpl implements SettlementService {
settlementMqService
.
invoiceTypeSync
(
childNo
,
invoiceType
);
}
/**
* 预付运费支付
*/
private
BigDecimal
updatePrepayFreightPay
(
String
childNo
,
BigDecimal
freight
,
BigDecimal
lossFreight
){
BigDecimal
prepayFreight
=
freight
.
subtract
(
lossFreight
);
if
(
prepayFreight
.
compareTo
(
BigDecimal
.
ZERO
)
<=
0
)
{
return
BigDecimal
.
ZERO
;}
//扣减预付运费
return
prepayFreight
;
}
}
performance-web/src/main/java/com/clx/performance/service/settle/SettlementService.java
浏览文件 @
bc6b3685
...
...
@@ -2,5 +2,5 @@ package com.clx.performance.service.settle;
public
interface
SettlementService
{
void
updateInvoiceType
(
String
childNo
,
Integer
invoiceType
);
void
update
SettlementDetail
InvoiceType
(
String
childNo
,
Integer
invoiceType
);
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论