Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-api-boot-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
lanbaoming
jiedao-api-boot-master
Commits
00d1abe9
Commit
00d1abe9
authored
May 25, 2024
by
liuzeheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
判空
parent
f0c3f018
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
219 additions
and
176 deletions
+219
-176
OrderServiceImpl.java
...dao/module/order/service/order/impl/OrderServiceImpl.java
+204
-165
TargetLogServiceImpl.java
.../module/order/service/targetLog/TargetLogServiceImpl.java
+15
-11
No files found.
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderServiceImpl.java
View file @
00d1abe9
...
...
@@ -75,6 +75,7 @@ import cn.iocoder.yudao.module.order.dal.mysql.orderCargoControlPick.OrderCargoC
import
cn.iocoder.yudao.module.order.dal.mysql.orderItem.OrderItemMapper
;
import
cn.iocoder.yudao.module.order.dal.mysql.orderTime.OrderTimeMapper
;
import
cn.iocoder.yudao.module.order.dal.mysql.orderWarehouseIn.OrderWarehouseInMapper
;
import
cn.iocoder.yudao.module.order.dal.mysql.targetLog.TargetLogMapper
;
import
cn.iocoder.yudao.module.order.dto.OrderBackInfoDto
;
import
cn.iocoder.yudao.module.order.enums.*
;
import
cn.iocoder.yudao.module.order.service.approval.OrderApprovalService
;
...
...
@@ -96,6 +97,7 @@ import cn.iocoder.yudao.module.order.vo.orderItem.OrderItemInWarehouseVO;
import
cn.iocoder.yudao.module.order.vo.orderObjective.OrderObjectiveBackVO
;
import
cn.iocoder.yudao.module.order.vo.orderSpecialNeed.OrderSpecialNeedCreateReqVO
;
import
cn.iocoder.yudao.module.order.vo.orderWarehouseIn.OrderWarehouseInSumBackVO
;
import
cn.iocoder.yudao.module.order.vo.targetLog.TargetOfferBackVO
;
import
cn.iocoder.yudao.module.product.dto.FeeDto
;
import
cn.iocoder.yudao.module.product.enums.FeeTypeEnum
;
import
cn.iocoder.yudao.module.system.api.dict.DictDataApi
;
...
...
@@ -118,6 +120,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.validation.annotation.Validated
;
import
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
...
...
@@ -183,7 +186,7 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
private
final
OrderQueryService
orderQueryService
;
private
final
UnitApi
unitApi
;
private
final
OrderOperateLogService
orderOperateLogService
;
private
TargetLogMapper
targetLogMapper
;
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -930,81 +933,97 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
// if(createReqVO.getOfferId()!=null && order.getDrawee()==1){//订单关联报价单 && 发货人付款
// order.setCustomerId(orderConsignorDO.getCustomerId()) ;
// }
//
// if(createReqVO.getOfferId()!=null && order.getDrawee()==3 ){//订单关联报价单 && 自定义付款
//
// List<CustomDraweeVO> list = JSONObject.parseArray(order.getCustomDrawee(), CustomDraweeVO.class);
// if(CollectionUtil.isNotEmpty(list)){
// List<CustomDraweeVO> freightList = list.stream().filter(s-> s.getName().equals("freight") ).collect(Collectors.toList());
// List<CustomDraweeVO> clearanceFeeList = list.stream().filter(s-> s.getName().equals("clearanceFee") ).collect(Collectors.toList());
// int freight = freightList.get(0).getValue() ;
// int clearanceFee = clearanceFeeList.get(0).getValue();
// if(createReqVO.getOfferId()!=null && ( order.getDrawee()==3 && freight==1 )){//订单关联报价单 && 自定义付款 且发货人付运费
// order.setCustomerId(orderConsignorDO.getCustomerId()) ;
// }
// if(createReqVO.getOfferId()!=null && ( order.getDrawee()==3 && clearanceFee==1 )){//订单关联报价单 && 自定义付款 且发货人付清关费
// order.setCustomerId(orderConsignorDO.getCustomerId()) ;
// }
// }
//
// }
//
// if(consignorDO.getDefaultPay() && (order.getDrawee()==2 || order.getDrawee()==3) ){//发货人档案设置默认付运费 --层级4
// List<CustomDraweeVO> list = JSONObject.parseArray(order.getCustomDrawee(), CustomDraweeVO.class);
// if(CollectionUtil.isNotEmpty(list)){
// List<CustomDraweeVO> freightList = list.stream().filter(s-> s.getName().equals("freight") ).collect(Collectors.toList());
// List<CustomDraweeVO> clearanceFeeList = list.stream().filter(s-> s.getName().equals("clearanceFee") ).collect(Collectors.toList());
// int freight = freightList.get(0).getValue() ;
// int clearanceFee = clearanceFeeList.get(0).getValue();
// if(order.getDrawee()==1 || ( order.getDrawee()==3 && freight==1 ) || ( order.getDrawee()==3 && clearanceFee==1 )){//如果是发货人付款 或自定义付款且发货人付运费 或自定义付款且发货人付清关费,业绩归属发货人
// order.setCustomerId(orderConsignorDO.getCustomerId()) ;
//
// }
// }
//
//
// }else if(!consignorDO.getDefaultPay() && order.getDrawee()==1 && createReqVO.getOfferId()!=null){//发货人没有设置默认付款且发货人付款且没有关联报价单 -- 层级6
// //业绩归属公司
// order.setCustomerId(0L) ;
// order.setSalesmanId(0L);
// }
// if(order.getDrawee()==2 || order.getDrawee()==3){//如果是收货人付款或是自定义付款 --层级5
// if(order.getDrawee()==2){//订单收货人付款,业绩归属收货人
// order.setCustomerId(orderConsigneeDO.getCustomerId());
// order.setSalesmanId(orderConsigneeDO.getCustomerId());
// }else if(order.getDrawee()==3){
// List<CustomDraweeVO> list = JSONObject.parseArray(order.getCustomDrawee(), CustomDraweeVO.class);
// if(CollectionUtil.isNotEmpty(list)){
// List<CustomDraweeVO> freightList = list.stream().filter(s-> s.getName().equals("freight") ).collect(Collectors.toList());
// List<CustomDraweeVO> clearanceFeeList = list.stream().filter(s-> s.getName().equals("clearanceFee") ).collect(Collectors.toList());
// int freight = freightList.get(0).getValue() ;
// int clearanceFee = clearanceFeeList.get(0).getValue();
// if((order.getDrawee()==3 && freight==2 ) || (order.getDrawee()==3 && clearanceFee==2)){//自定义付款且收款人付运费 或自定义付款且收款人付清关费 ,业绩归属收货人
// order.setCustomerId(orderConsigneeDO.getCustomerId());
// order.setSalesmanId(orderConsigneeDO.getCustomerId());
// }
// }
//
// }
//
// }
// if(order.getDrawee()==1 && createReqVO.getOfferId()==null){//如果是发货人付款且没有关联报价单 ,归属公司业绩,无客户经理
// //业绩归属公司
// order.setCustomerId(0L);
// order.setSalesmanId(0L) ;
// }
}
// 更新所属客户经理(业务员)
if
(
Objects
.
nonNull
(
order
.
getCustomerId
())
&&
order
.
getCustomerId
()
>
0
)
{
addOrderCustomerService
(
order
,
customerType
);
}
}
}
private
void
addOrderSalesmanCustomerService
(
OrderDO
order
)
{
OrderConsigneeDO
orderConsigneeDO
=
orderConsigneeService
.
getOne
(
new
LambdaQueryWrapper
<
OrderConsigneeDO
>().
eq
(
OrderConsigneeDO:
:
getOrderId
,
order
.
getOrderId
()).
orderByDesc
(
OrderConsigneeDO:
:
getId
).
last
(
"limit 1"
));
OrderConsignorDO
orderConsignorDO
=
orderConsignorService
.
getOne
(
new
LambdaQueryWrapper
<
OrderConsignorDO
>().
eq
(
OrderConsignorDO:
:
getOrderId
,
order
.
getOrderId
()).
orderByDesc
(
OrderConsignorDO:
:
getId
).
last
(
"limit 1"
));
CustomerDO
consignorDO
=
customerService
.
getCustomer
(
orderConsignorDO
.
getCustomerId
());
CustomerDO
consigneeDO
=
customerService
.
getCustomer
(
orderConsigneeDO
.
getCustomerId
());
//收货人
if
(
consignorDO
!=
null
&&
!
consignorDO
.
getNoConsignee
()
&&
!
order
.
getHasConsignee
()){
//发货人档案设置控货无收货人且订单无收获人,归属发货人业绩 -- 层级2
if
(
consignorDO
!=
null
){
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
());
}
}
List
<
TargetOfferBackVO
>
offerBackVOList
=
targetLogMapper
.
getTargetOfferBackByOrerId
(
order
.
getOrderId
())
;
if
(
order
.
getDrawee
()
==
1
)
{
//发货人付款
if
(
order
.
getDrawee
()
==
1
&&
CollectionUtil
.
isNotEmpty
(
offerBackVOList
))
{
//如果是发货人付款且关联报价单,业绩归属发货人 --层级3 第一个
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
());
}
else
if
(
order
.
getDrawee
()
==
1
&&
consignorDO
.
getDefaultPay
()
){
// 如果是发货人付款且档案设置默认付运费 --层级4 第一个
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
());
}
}
else
if
(
order
.
getDrawee
()
==
2
&&
CollectionUtil
.
isEmpty
(
offerBackVOList
)
&&
!
consignorDO
.
getDefaultPay
())
{
//收货人付款 层级5 第一个
if
(
consigneeDO
!=
null
){
order
.
setCustomerId
(
orderConsigneeDO
.
getCustomerId
());
order
.
setSalesmanId
(
consigneeDO
.
getCustomerService
());
}
else
{
order
.
setSalesmanId
(
0L
);
}
}
else
if
(
order
.
getDrawee
()
==
3
)
{
//自定义付款
List
<
CustomDraweeVO
>
list
=
JSONObject
.
parseArray
(
order
.
getCustomDrawee
(),
CustomDraweeVO
.
class
);
if
(
CollectionUtil
.
isNotEmpty
(
list
)){
List
<
CustomDraweeVO
>
freightList
=
list
.
stream
().
filter
(
s
->
s
.
getName
().
equals
(
"freight"
)
).
collect
(
Collectors
.
toList
());
List
<
CustomDraweeVO
>
clearanceFeeList
=
list
.
stream
().
filter
(
s
->
s
.
getName
().
equals
(
"clearanceFee"
)
).
collect
(
Collectors
.
toList
());
int
freight
=
freightList
.
get
(
0
).
getValue
()
;
//运费
int
clearanceFee
=
clearanceFeeList
.
get
(
0
).
getValue
();
//清关费
if
(
CollectionUtil
.
isNotEmpty
(
offerBackVOList
)
&&
(
order
.
getDrawee
()==
3
&&
freight
==
1
)){
//层级3 第二个 订单关联报价单 && 自定义付款 且发货人付运费
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
());
}
else
if
(
CollectionUtil
.
isNotEmpty
(
offerBackVOList
)
&&
(
order
.
getDrawee
()==
3
&&
clearanceFee
==
1
)){
//层级3 第三个 订单关联报价单 && 自定义付款 且发货人付清关费
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
());
}
else
if
(
consignorDO
.
getDefaultPay
()
&&
(
order
.
getDrawee
()==
3
&&
freight
==
1
)){
//层级4 第二个 发货人档案设置默认付运费 且发货人付运费 业绩归属 发货人
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
());
}
else
if
(
consignorDO
.
getDefaultPay
()
&&
(
order
.
getDrawee
()==
3
&&
clearanceFee
==
1
)){
// 层级4 第三个 发货人档案设置默认付运费 且发货人付清关费 业绩归属发货人
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
());
}
else
if
(!
consignorDO
.
getDefaultPay
()
&&
(
order
.
getDrawee
()==
3
&&
freight
==
2
)
||
(
order
.
getDrawee
()==
3
&&
clearanceFee
==
2
)){
//层级5 第二、第三点 自定义付款且收款人付运费 或自定义付款且收款人付清关费 ,业绩归属收货人
order
.
setCustomerId
(
orderConsigneeDO
.
getCustomerId
());
if
(
consigneeDO
!=
null
){
order
.
setCustomerId
(
orderConsigneeDO
.
getCustomerId
());
order
.
setSalesmanId
(
consigneeDO
.
getCustomerService
());
}
else
{
order
.
setSalesmanId
(
0L
);
}
}
}
}
else
{
//业绩归属公司
order
.
setSalesmanId
(
0L
);
}
}
private
void
addOrderCustomerService
(
OrderDO
order
,
int
customerType
)
{
if
(
Objects
.
nonNull
(
order
.
getParentOrderId
())
&&
order
.
getParentOrderId
()
>
0
&&
!
order
.
getSplitSeparateOrder
())
{
// 拆单子订单,并且未标记为独立订单,则不执行客户经理分配规则,以原单为主
...
...
@@ -1035,7 +1054,8 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
// 如果这里的旧客户经理id不为null,说明此客户属于移交新客户经理,但是新客户经理还未接收,业绩算老客户经理的
order
.
setSalesmanId
(
oldCustomerService
);
}
else
{
order
.
setSalesmanId
(
customerDO
.
getCustomerService
());
//order.setSalesmanId(customerDO.getCustomerService());
addOrderSalesmanCustomerService
(
order
);
}
AdminUserRespDTO
adminUserRespDTO
=
adminUserApi
.
getUser
(
order
.
getSalesmanId
());
if
(
Objects
.
nonNull
(
adminUserRespDTO
))
{
...
...
@@ -1046,7 +1066,8 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
// 如果客户正在移交新客户经理,但是未接收,并且老客户经理不为null,则不创建客户经理未分配异常
//web下单,业绩为收货人,不产生未分配客户经理异常
if
(
order
.
getUserId
()
!=
null
&&
order
.
getUserId
()
>
0
&&
customerType
==
2
)
{
order
.
setSalesmanId
(
0L
);
//order.setSalesmanId(0L);
addOrderSalesmanCustomerService
(
order
);
order
.
setDeptId
(
0L
);
log
.
info
(
"web下单,业绩为收货人,不产生未分配客户经理异常 orderNo={}"
,
order
.
getOrderNo
());
}
else
{
...
...
@@ -1074,19 +1095,27 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
}
}
private
void
set
OrderCustomerServiceCustomerId
(
OrderCreateReqVO
createReqVO
,
OrderDO
order
,
CustomerDO
consignor
DO
,
OrderConsignorDO
orderConsignorDO
,
OrderConsigneeDO
orderConsigneeDO
){
private
void
set
AddOrderCustomerServiceCustomerId
(
OrderCreateReqVO
createReqVO
,
OrderDO
order
,
CustomerDO
consignorDO
,
CustomerDO
consignee
DO
,
OrderConsignorDO
orderConsignorDO
,
OrderConsigneeDO
orderConsigneeDO
){
// 补充业绩规则判断
if
(
Objects
.
nonNull
(
order
.
getType
())
&&
order
.
getType
().
contains
(
"2"
))
{
//如果是海外仓
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
else
{
if
(!
consignorDO
.
getNoConsignee
()
&&
!
order
.
getHasConsignee
()){
//发货人档案设置控货无收货人且订单无收获人,归属发货人业绩 -- 层级2
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
if
(
order
.
getDrawee
()
==
1
)
{
//发货人付款
if
(
order
.
getDrawee
()
==
1
&&
createReqVO
.
getOfferId
()
!=
null
)
{
//如果是发货人付款且关联报价单,业绩归属发货人 --层级3 第一个
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
else
if
(
order
.
getDrawee
()
==
1
&&
consignorDO
.
getDefaultPay
()
){
// 如果是发货人付款且档案设置默认付运费 --层级4 第一个
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
}
else
if
(
order
.
getDrawee
()
==
2
)
{
//收货人付款 层级5 第一个
}
else
if
(
order
.
getDrawee
()
==
2
&&
createReqVO
.
getOfferId
()==
null
&&
!
consignorDO
.
getDefaultPay
()
)
{
//收货人付款 层级5 第一个
order
.
setCustomerId
(
orderConsigneeDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consigneeDO
.
getCustomerService
()!=
null
?
consigneeDO
.
getCustomerService
():
0
);
}
else
if
(
order
.
getDrawee
()
==
3
)
{
//自定义付款
List
<
CustomDraweeVO
>
list
=
JSONObject
.
parseArray
(
order
.
getCustomDrawee
(),
CustomDraweeVO
.
class
);
...
...
@@ -1099,15 +1128,19 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
if
(
createReqVO
.
getOfferId
()!=
null
&&
(
order
.
getDrawee
()==
3
&&
freight
==
1
)){
//层级3 第二个 订单关联报价单 && 自定义付款 且发货人付运费
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
else
if
(
createReqVO
.
getOfferId
()!=
null
&&
(
order
.
getDrawee
()==
3
&&
clearanceFee
==
1
)){
//层级3 第三个 订单关联报价单 && 自定义付款 且发货人付清关费
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
else
if
(
consignorDO
.
getDefaultPay
()
&&
(
order
.
getDrawee
()==
3
&&
freight
==
1
)){
//层级4 第二个 发货人档案设置默认付运费 且发货人付运费 业绩归属 发货人
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
else
if
(
consignorDO
.
getDefaultPay
()
&&
(
order
.
getDrawee
()==
3
&&
clearanceFee
==
1
)){
// 层级4 第三个 发货人档案设置默认付运费 且发货人付清关费 业绩归属发货人
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
else
if
(!
consignorDO
.
getDefaultPay
()
&&
(
order
.
getDrawee
()==
3
&&
freight
==
2
)
||
(
order
.
getDrawee
()==
3
&&
clearanceFee
==
2
)){
//层级5 第二、第三点 自定义付款且收款人付运费 或自定义付款且收款人付清关费 ,业绩归属收货人
order
.
setCustomerId
(
orderConsigneeDO
.
getCustomerId
());
order
.
setSalesmanId
(
orderConsigneeDO
.
getCustomerId
()
);
order
.
setSalesmanId
(
consigneeDO
.
getCustomerService
()!=
null
?
consigneeDO
.
getCustomerService
():
0
);
}
...
...
@@ -1115,11 +1148,79 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
}
else
{
//业绩归属公司
order
.
setCustomerId
(
0L
)
;
order
.
setSalesmanId
(
0L
);
}
}
}
private
void
setUpdateOrderCustomerServiceCustomerId
(
OrderUpdateReqVO
createReqVO
,
OrderDO
order
,
CustomerDO
consignorDO
,
CustomerDO
consigneeDO
,
OrderConsignorDO
orderConsignorDO
,
OrderConsigneeDO
orderConsigneeDO
){
// 补充业绩规则判断
if
(
Objects
.
nonNull
(
order
.
getType
())
&&
order
.
getType
().
contains
(
"2"
))
{
//如果是海外仓
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
else
{
if
(!
consignorDO
.
getNoConsignee
()
&&
!
order
.
getHasConsignee
()){
//发货人档案设置控货无收货人且订单无收获人,归属发货人业绩 -- 层级2
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
if
(
order
.
getDrawee
()
==
1
)
{
//发货人付款
if
(
order
.
getDrawee
()
==
1
&&
createReqVO
.
getOfferId
()
!=
null
)
{
//如果是发货人付款且关联报价单,业绩归属发货人 --层级3 第一个
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
else
if
(
order
.
getDrawee
()
==
1
&&
consignorDO
.
getDefaultPay
()
){
// 如果是发货人付款且档案设置默认付运费 --层级4 第一个
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
else
{
//业绩归公司
order
.
setSalesmanId
(
0L
);
}
}
else
if
(
order
.
getDrawee
()
==
2
&&
createReqVO
.
getOfferId
()==
null
&&
!
consignorDO
.
getDefaultPay
())
{
//收货人付款 层级5 第一个
order
.
setCustomerId
(
orderConsigneeDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consigneeDO
.
getCustomerService
()!=
null
?
consigneeDO
.
getCustomerService
():
0
);
}
else
if
(
order
.
getDrawee
()
==
3
)
{
//自定义付款
List
<
CustomDraweeVO
>
list
=
JSONObject
.
parseArray
(
order
.
getCustomDrawee
(),
CustomDraweeVO
.
class
);
if
(
CollectionUtil
.
isNotEmpty
(
list
)){
List
<
CustomDraweeVO
>
freightList
=
list
.
stream
().
filter
(
s
->
s
.
getName
().
equals
(
"freight"
)
).
collect
(
Collectors
.
toList
());
List
<
CustomDraweeVO
>
clearanceFeeList
=
list
.
stream
().
filter
(
s
->
s
.
getName
().
equals
(
"clearanceFee"
)
).
collect
(
Collectors
.
toList
());
int
freight
=
freightList
.
get
(
0
).
getValue
()
;
//运费
int
clearanceFee
=
clearanceFeeList
.
get
(
0
).
getValue
();
//清关费
if
(
createReqVO
.
getOfferId
()!=
null
&&
(
order
.
getDrawee
()==
3
&&
freight
==
1
)){
//层级3 第二个 订单关联报价单 && 自定义付款 且发货人付运费
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
else
if
(
createReqVO
.
getOfferId
()!=
null
&&
(
order
.
getDrawee
()==
3
&&
clearanceFee
==
1
)){
//层级3 第三个 订单关联报价单 && 自定义付款 且发货人付清关费
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
else
if
(
consignorDO
.
getDefaultPay
()
&&
(
order
.
getDrawee
()==
3
&&
freight
==
1
)){
//层级4 第二个 发货人档案设置默认付运费 且发货人付运费 业绩归属 发货人
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
else
if
(
consignorDO
.
getDefaultPay
()
&&
(
order
.
getDrawee
()==
3
&&
clearanceFee
==
1
)){
// 层级4 第三个 发货人档案设置默认付运费 且发货人付清关费 业绩归属发货人
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
order
.
setSalesmanId
(
consignorDO
.
getCustomerService
()!=
null
?
consignorDO
.
getCustomerService
():
0
);
}
else
if
(!
consignorDO
.
getDefaultPay
()
&&
(
order
.
getDrawee
()==
3
&&
freight
==
2
)
||
(
order
.
getDrawee
()==
3
&&
clearanceFee
==
2
)){
//层级5 第二、第三点 自定义付款且收款人付运费 或自定义付款且收款人付清关费 ,业绩归属收货人
order
.
setCustomerId
(
orderConsigneeDO
.
getCustomerId
());
order
.
setSalesmanId
(
consigneeDO
.
getCustomerService
()!=
null
?
consigneeDO
.
getCustomerService
():
0
);
}
}
}
else
{
//业绩归属公司
order
.
setSalesmanId
(
0L
);
}
}
}
private
void
compareOrderCustomerService
(
OrderBackVO
vo
,
List
<
ApplyInfoVO
>
applyInfoList
,
int
customerType
)
{
// TODO 判断该订单、该客户是否有未分配客户异常,如果有,则这个订单不计算业绩
List
<
OrderExceptionDO
>
orderExceptionDOList
=
orderExceptionService
.
getOrderExceptionByCustomerId
(
vo
.
getCustomerId
());
...
...
@@ -3272,6 +3373,8 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
updateObj
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
}
else
if
(
updateObj
.
getDrawee
()
==
1
&&
consignorDO
.
getDefaultPay
()
){
// 如果是发货人付款且档案设置默认付运费 --层级4 第一个
updateObj
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
())
;
}
else
{
updateObj
.
setCustomerId
(
0L
);
}
}
else
if
(
updateObj
.
getDrawee
()
==
2
)
{
//收货人付款 层级5 第一个
updateObj
.
setCustomerId
(
orderConsigneeDO
.
getCustomerId
())
;
...
...
@@ -3318,76 +3421,12 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
// 补充业绩规则判断
// if(!consignorDO.getNoConsignee() && !updateObj.getHasConsignee()){//发货人档案设置控货无收货人且订单无收获人,归属发货人业绩 -- 层级2
// updateObj.setCustomerId(orderConsignorDO.getCustomerId()) ;
// }
//
// if(updateReqVO.getOfferId()!=null && updateObj.getDrawee()==1){//订单关联报价单 && 发货人付款
// updateObj.setCustomerId(orderConsignorDO.getCustomerId()) ;
// }
//
// if(updateReqVO.getOfferId()!=null && updateObj.getDrawee()==3 ){//订单关联报价单 && 自定义付款
//
// List<CustomDraweeVO> list = JSONObject.parseArray(updateObj.getCustomDrawee(), CustomDraweeVO.class);
// if(CollectionUtil.isNotEmpty(list)){
// List<CustomDraweeVO> freightList = list.stream().filter(s-> s.getName().equals("freight") ).collect(Collectors.toList());
// List<CustomDraweeVO> clearanceFeeList = list.stream().filter(s-> s.getName().equals("clearanceFee") ).collect(Collectors.toList());
// int freight = freightList.get(0).getValue() ;
// int clearanceFee = clearanceFeeList.get(0).getValue();
// if(updateReqVO.getOfferId()!=null && ( updateObj.getDrawee()==3 && freight==1 )){//订单关联报价单 && 自定义付款 且发货人付运费
// updateObj.setCustomerId(orderConsignorDO.getCustomerId()) ;
// }
// if(updateReqVO.getOfferId()!=null && ( updateObj.getDrawee()==3 && clearanceFee==1 )){//订单关联报价单 && 自定义付款 且发货人付清关费
// updateObj.setCustomerId(orderConsignorDO.getCustomerId()) ;
// }
// }
//
// }
//
// if(consignorDO.getDefaultPay() && (updateObj.getDrawee()==2 || updateObj.getDrawee()==3)){//发货人档案设置默认付运费 --层级4
// if(consignorDO.getDefaultPay() && updateObj.getDrawee()==2){
// updateObj.setCustomerId(orderConsignorDO.getCustomerId()) ;
// }else if(consignorDO.getDefaultPay() && updateObj.getDrawee()==3){
// List<CustomDraweeVO> list = JSONObject.parseArray(updateObj.getCustomDrawee(), CustomDraweeVO.class);
// if(CollectionUtil.isNotEmpty(list)){
// List<CustomDraweeVO> freightList = list.stream().filter(s-> s.getName().equals("freight") ).collect(Collectors.toList());
// List<CustomDraweeVO> clearanceFeeList = list.stream().filter(s-> s.getName().equals("clearanceFee") ).collect(Collectors.toList());
// int freight = freightList.get(0).getValue() ;
// int clearanceFee = clearanceFeeList.get(0).getValue();
// if(updateObj.getDrawee()==1 || ( updateObj.getDrawee()==3 && freight==1 ) || ( updateObj.getDrawee()==3 && clearanceFee==1 )){//如果是发货人付款 或自定义付款且发货人付运费 或自定义付款且发货人付清关费,业绩归属发货人
// updateObj.setCustomerId(orderConsignorDO.getCustomerId()) ;
// }
// }
// }
// }
// else if(!consignorDO.getDefaultPay() && updateObj.getDrawee()==1 && updateReqVO.getOfferId()!=null){//发货人没有设置默认付款且发货人付款且没有关联报价单 -- 层级6
// //业绩归属公司
// updateObj.setCustomerId(0L) ;
// updateObj.setSalesmanId(0L);
// }
//
// if(updateObj.getDrawee()==2 || updateObj.getDrawee()==3){//如果是收货人付款或是自定义付款 --层级5
// if(updateObj.getDrawee()==2){//订单收货人付款,业绩归属收货人
// updateObj.setCustomerId(orderConsigneeDO.getCustomerId());
// }else if(updateObj.getDrawee()==3){
// List<CustomDraweeVO> list = JSONObject.parseArray(updateObj.getCustomDrawee(), CustomDraweeVO.class);
// if(CollectionUtil.isNotEmpty(list)){
// List<CustomDraweeVO> freightList = list.stream().filter(s-> s.getName().equals("freight") ).collect(Collectors.toList());
// List<CustomDraweeVO> clearanceFeeList = list.stream().filter(s-> s.getName().equals("clearanceFee") ).collect(Collectors.toList());
// int freight = freightList.get(0).getValue() ;
// int clearanceFee = clearanceFeeList.get(0).getValue();
// if((updateObj.getDrawee()==3 && freight==2 ) || (updateObj.getDrawee()==3 && clearanceFee==2)){//自定义付款且收款人付运费 或自定义付款且收款人付清关费 ,业绩归属收货人
// updateObj.setCustomerId(orderConsigneeDO.getCustomerId());
// }
// }
//
// }
//
// }
// 更新所属客户经理(业务员)
if
(!
OrderStatusEnum
.
DRAFT
.
getValue
().
equals
(
updateObj
.
getStatus
())
&&
Objects
.
nonNull
(
updateObj
.
getCustomerId
())
&&
updateObj
.
getCustomerId
()
>
0
)
{
addOrderCustomerService
(
updateObj
,
customerType
);
setUpdateOrderCustomerServiceCustomerId
(
updateReqVO
,
updateObj
,
consignorDO
,
consigneeDO
,
orderConsignorDO
,
orderConsigneeDO
);
}
}
}
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/targetLog/TargetLogServiceImpl.java
View file @
00d1abe9
...
...
@@ -166,19 +166,21 @@ public class TargetLogServiceImpl extends AbstractService<TargetLogMapper, Targe
OrderBackInfoDto
info
=
orderQueryService
.
info
(
orderId
);
if
(
info
!=
null
&&
info
.
getSalesmanId
()!=
null
&&
info
.
getSalesmanId
()>
0L
)
{
//客户经理
Long
customerId
=
0L
;
CustomerDO
consignorDO
=
customerService
.
getCustomer
(
info
.
getConsignorVO
().
getCustomerId
());
CustomerDO
consigneeDO
=
customerService
.
getCustomer
(
info
.
getConsigneeVO
().
getCustomerId
());
//收货人
if
(
info
.
getType
().
contains
(
"2"
))
{
//海外仓归属发货人
customerId
=
info
.
getConsignorVO
().
getCustomerId
();
}
else
{
if
(
info
.
getIsCargoControl
())
{
//非海外控货归属发货人
customerId
=
info
.
getConsignorVO
().
getCustomerId
();
//customerId = info.getConsignorVO().getCustomerId(); //二期需求修改
customerId
=
consignorDO
.
getId
();
}
else
{
// if (info.getIsCargoControl()) {//非海外控货归属发货人
// customerId = info.getConsignorVO().getCustomerId();
// } else {
// if (info.getDrawee() == 1) {//非海外非控货 付款人为发货人 归属发货人
// customerId = info.getConsignorVO().getCustomerId();
// } else { //非海外非控货 付款人为其他 归属收货人
// customerId = info.getConsigneeVO().getCustomerId();
// }
CustomerDO
consignorDO
=
customerService
.
getCustomer
(
info
.
getConsignorVO
().
getCustomerId
());
CustomerDO
consigneeDO
=
customerService
.
getCustomer
(
info
.
getConsigneeVO
().
getCustomerId
());
//收货人
OrderConsigneeDO
orderConsigneeDO
=
orderConsigneeService
.
getOne
(
new
LambdaQueryWrapper
<
OrderConsigneeDO
>().
eq
(
OrderConsigneeDO:
:
getOrderId
,
info
.
getOrderId
()).
orderByDesc
(
OrderConsigneeDO:
:
getId
).
last
(
"limit 1"
));
OrderConsignorDO
orderConsignorDO
=
orderConsignorService
.
getOne
(
new
LambdaQueryWrapper
<
OrderConsignorDO
>().
eq
(
OrderConsignorDO:
:
getOrderId
,
info
.
getOrderId
()).
orderByDesc
(
OrderConsignorDO:
:
getId
).
last
(
"limit 1"
));
if
(
consignorDO
!=
null
&&
!
consignorDO
.
getNoConsignee
()
&&
!
info
.
getHasConsignee
()){
//发货人档案设置控货无收货人且订单无收获人,归属发货人业绩 -- 层级2
...
...
@@ -191,12 +193,14 @@ public class TargetLogServiceImpl extends AbstractService<TargetLogMapper, Targe
if
(
info
.
getDrawee
()
==
1
)
{
//发货人付款
if
(
info
.
getDrawee
()
==
1
&&
CollectionUtil
.
isNotEmpty
(
offerBackVOList
))
{
//如果是发货人付款且关联报价单,业绩归属发货人 --层级3 第一个
customerId
=
orderConsignorDO
.
getCustomer
Id
();
customerId
=
consignorDO
.
get
Id
();
}
else
if
(
info
.
getDrawee
()
==
1
&&
consignorDO
.
getDefaultPay
()
){
// 如果是发货人付款且档案设置默认付运费 --层级4 第一个
customerId
=
orderConsignorDO
.
getCustomerId
()
;
customerId
=
consignorDO
.
getId
();
}
else
{
customerId
=
consignorDO
.
getId
();
}
}
else
if
(
info
.
getDrawee
()
==
2
)
{
//收货人付款 层级5 第一个
}
else
if
(
info
.
getDrawee
()
==
2
&&
CollectionUtil
.
isEmpty
(
offerBackVOList
)
&&
!
consignorDO
.
getDefaultPay
()
)
{
//收货人付款 层级5 第一个
customerId
=
orderConsigneeDO
.
getCustomerId
()!=
null
?
orderConsigneeDO
.
getCustomerId
():
consigneeDO
.
getId
();
}
else
if
(
info
.
getDrawee
()
==
3
)
{
//自定义付款
...
...
@@ -229,10 +233,10 @@ public class TargetLogServiceImpl extends AbstractService<TargetLogMapper, Targe
}
else
{
//业绩归属公司
customerId
=
info
.
getConsigneeVO
().
getCustomerId
()
;
return
;
}
}
//
}
}
TargetLogDO
targetLogDO
=
new
TargetLogDO
();
targetLogDO
.
setOrderId
(
orderId
);
...
...
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