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
6c05fe89
Commit
6c05fe89
authored
Jul 27, 2024
by
zhengyi
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master-fix' into dev
parents
5f7e9265
3cf08167
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
33 additions
and
39 deletions
+33
-39
OrderDO.java
...oder/yudao/module/order/dal/dataobject/order/OrderDO.java
+7
-0
OrderServiceImpl.java
...dao/module/order/service/order/impl/OrderServiceImpl.java
+21
-39
OrderBackVO.java
...a/cn/iocoder/yudao/module/order/vo/order/OrderBackVO.java
+5
-0
No files found.
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/dal/dataobject/order/OrderDO.java
View file @
6c05fe89
...
...
@@ -627,4 +627,11 @@ public class OrderDO extends BaseDO {
@ApiModelProperty
(
value
=
"是否在公海"
)
private
Boolean
isInOpenSea
;
@ApiModelProperty
(
value
=
"订单修改是否变动了归属客户,此字段用来判定订单是否需要重置归属客户经理,下单后归属客户的客户经理是固定的,除非订单归属客户变动,才需要重置客户经理"
)
@TableField
(
exist
=
false
)
private
Boolean
isChargeCustomer
;
}
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderServiceImpl.java
View file @
6c05fe89
...
...
@@ -670,7 +670,8 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
int
customerType
=
this
.
checkOrderSalesman
(
order
,
createReqVO
.
getOfferId
(),
null
,
null
,
orderConsignorDO
,
orderConsigneeDO
);
// 更新所属客户经理(业务员)
if
(!
OrderStatusEnum
.
DRAFT
.
getValue
().
equals
(
order
.
getStatus
())
&&
Objects
.
nonNull
(
order
.
getCustomerId
())
&&
order
.
getCustomerId
()
>
0
)
{
// if (!OrderStatusEnum.DRAFT.getValue().equals(order.getStatus()) && Objects.nonNull(order.getCustomerId()) && order.getCustomerId() > 0) {
if
(!
OrderStatusEnum
.
DRAFT
.
getValue
().
equals
(
order
.
getStatus
())
&&
Objects
.
nonNull
(
order
.
getIsChargeCustomer
())
&&
order
.
getIsChargeCustomer
())
{
//addOrderCustomerService(order, customerType);
addOrderCustomerServiceAndCustomer
(
createReqVO
,
order
,
customerType
);
}
...
...
@@ -911,7 +912,8 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
orderConsignorDO
,
orderConsigneeDO
);
// 更新所属客户经理(业务员)
if
(
Objects
.
nonNull
(
order
.
getCustomerId
())
&&
order
.
getCustomerId
()
>
0
)
{
// if (Objects.nonNull(order.getCustomerId()) && order.getCustomerId() > 0) {
if
(!
OrderStatusEnum
.
DRAFT
.
getValue
().
equals
(
order
.
getStatus
())
&&
Objects
.
nonNull
(
order
.
getIsChargeCustomer
())
&&
order
.
getIsChargeCustomer
())
{
//addOrderCustomerService(order, customerType);
addOrderCustomerServiceAndCustomer
(
createReqVO
,
order
,
customerType
);
}
...
...
@@ -1174,6 +1176,10 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
if
(
Objects
.
isNull
(
consigneeDO
))
{
consigneeDO
=
customerService
.
getCustomer
(
orderConsigneeDO
.
getCustomerId
());
//收货人客户
}
// 原客户经理
Long
orgCustomerId
=
Objects
.
isNull
(
order
.
getCustomerId
())
?
0L
:
order
.
getCustomerId
();
if
(
Objects
.
nonNull
(
order
.
getType
())
&&
order
.
getType
().
contains
(
"2"
))
{
//层级1
// 海外仓归属发货人
...
...
@@ -1181,35 +1187,24 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
order
.
setIsInOpenSea
(
consignorDO
.
getIsInOpenSea
());
order
.
setYejiType
(
consignorDO
.
getIsNew
()
?
1
:
0
);
order
.
setSalesmanId
(
consignorDO
.
getIsInOpenSea
()
?
0L
:
(
consignorDO
.
getCustomerService
()
!=
null
?
consignorDO
.
getCustomerService
()
:
0
));
customerType
=
1
;
}
else
{
if
(
consignorDO
!=
null
&&
!
consignorDO
.
getNoConsignee
()
&&
!
order
.
getHasConsignee
())
{
//发货人档案设置控货无收货人且订单无收获人,归属发货人业绩 -- 层级2
if
(
consignorDO
!=
null
)
{
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setIsInOpenSea
(
consignorDO
.
getIsInOpenSea
());
order
.
setYejiType
(
consignorDO
.
getIsNew
()
?
1
:
0
);
order
.
setSalesmanId
(
consignorDO
.
getIsInOpenSea
()
?
0L
:
(
consignorDO
.
getCustomerService
()
!=
null
?
consignorDO
.
getCustomerService
()
:
0
));
customerType
=
1
;
}
}
else
{
if
(
order
.
getDrawee
()
==
1
)
{
//发货人付款
if
(
order
.
getDrawee
()
==
1
&&
offerId
!=
null
)
{
//如果是发货人付款且关联报价单,业绩归属发货人 --层级3 第一个
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setIsInOpenSea
(
consignorDO
.
getIsInOpenSea
());
order
.
setYejiType
(
consignorDO
.
getIsNew
()
?
1
:
0
);
order
.
setSalesmanId
(
consignorDO
.
getIsInOpenSea
()
?
0L
:
(
consignorDO
.
getCustomerService
()
!=
null
?
consignorDO
.
getCustomerService
()
:
0
));
customerType
=
1
;
}
else
if
(
order
.
getDrawee
()
==
1
&&
consignorDO
.
getDefaultPay
())
{
// 如果是发货人付款且档案设置默认付运费 --层级4 第一个
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setIsInOpenSea
(
consignorDO
.
getIsInOpenSea
());
order
.
setYejiType
(
consignorDO
.
getIsNew
()
?
1
:
0
);
order
.
setSalesmanId
(
consignorDO
.
getIsInOpenSea
()
?
0L
:
consignorDO
.
getCustomerService
());
customerType
=
1
;
}
else
{
order
.
setCustomerId
(
orderConsigneeDO
.
getCustomerId
()
!=
null
?
orderConsigneeDO
.
getCustomerId
()
:
0
);
order
.
setIsInOpenSea
(
consigneeDO
.
getIsInOpenSea
());
...
...
@@ -1223,7 +1218,6 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
order
.
setIsInOpenSea
(
consigneeDO
.
getIsInOpenSea
());
order
.
setYejiType
(
consigneeDO
.
getIsNew
()
?
1
:
0
);
order
.
setSalesmanId
(
consigneeDO
.
getIsInOpenSea
()
?
0L
:
consigneeDO
.
getCustomerService
());
customerType
=
1
;
}
else
{
//没有收货人
order
.
setCustomerId
(
0L
);
...
...
@@ -1231,7 +1225,6 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
customerType
=
0
;
}
}
else
if
(
order
.
getDrawee
()
==
3
)
{
//自定义付款
List
<
CustomDraweeVO
>
list
=
JSONObject
.
parseArray
(
order
.
getCustomDrawee
(),
CustomDraweeVO
.
class
);
if
(
CollectionUtil
.
isNotEmpty
(
list
))
{
...
...
@@ -1239,35 +1232,27 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
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
(
offerId
!=
null
&&
(
order
.
getDrawee
()
==
3
&&
freight
==
1
))
{
//层级3 第二个 订单关联报价单 && 自定义付款 且发货人付运费
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setIsInOpenSea
(
consignorDO
.
getIsInOpenSea
());
order
.
setYejiType
(
consignorDO
.
getIsNew
()
?
1
:
0
);
order
.
setSalesmanId
(
consignorDO
.
getIsInOpenSea
()
?
0L
:
consignorDO
.
getCustomerService
());
customerType
=
1
;
}
else
if
(
offerId
!=
null
&&
(
order
.
getDrawee
()
==
3
&&
clearanceFee
==
1
))
{
//层级3 第三个 订单关联报价单 && 自定义付款 且发货人付清关费
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setIsInOpenSea
(
consignorDO
.
getIsInOpenSea
());
order
.
setYejiType
(
consignorDO
.
getIsNew
()
?
1
:
0
);
order
.
setSalesmanId
(
consignorDO
.
getIsInOpenSea
()
?
0L
:
consignorDO
.
getCustomerService
());
customerType
=
1
;
}
else
if
(
consignorDO
.
getDefaultPay
()
&&
(
order
.
getDrawee
()
==
3
&&
freight
==
1
))
{
//层级4 第二个 发货人档案设置默认付运费 且发货人付运费 业绩归属 发货人
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setIsInOpenSea
(
consignorDO
.
getIsInOpenSea
());
order
.
setYejiType
(
consignorDO
.
getIsNew
()
?
1
:
0
);
order
.
setSalesmanId
(
consignorDO
.
getIsInOpenSea
()
?
0L
:
consignorDO
.
getCustomerService
());
customerType
=
1
;
}
else
if
(
consignorDO
.
getDefaultPay
()
&&
(
order
.
getDrawee
()
==
3
&&
clearanceFee
==
1
))
{
// 层级4 第三个 发货人档案设置默认付运费 且发货人付清关费 业绩归属发货人
order
.
setCustomerId
(
orderConsignorDO
.
getCustomerId
());
order
.
setIsInOpenSea
(
consignorDO
.
getIsInOpenSea
());
order
.
setYejiType
(
consignorDO
.
getIsNew
()
?
1
:
0
);
order
.
setSalesmanId
(
consignorDO
.
getIsInOpenSea
()
?
0L
:
consignorDO
.
getCustomerService
());
customerType
=
1
;
}
else
{
//去掉层级5、6 ,以上不符合的都归收货人
order
.
setCustomerId
(
orderConsigneeDO
.
getCustomerId
()
!=
null
?
orderConsigneeDO
.
getCustomerId
()
:
0
);
...
...
@@ -1275,12 +1260,8 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
order
.
setYejiType
(
consigneeDO
.
getIsNew
()
?
1
:
0
);
order
.
setSalesmanId
(
consigneeDO
.
getIsInOpenSea
()
?
0L
:
(
consigneeDO
.
getCustomerService
()
!=
null
?
consigneeDO
.
getCustomerService
()
:
0
));
customerType
=
2
;
}
}
}
else
{
//业绩归收货人
order
.
setCustomerId
(
orderConsigneeDO
.
getCustomerId
()
!=
null
?
orderConsigneeDO
.
getCustomerId
()
:
0
);
...
...
@@ -1288,12 +1269,11 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
order
.
setYejiType
(
consigneeDO
.
getIsNew
()
?
1
:
0
);
order
.
setSalesmanId
(
consigneeDO
.
getIsInOpenSea
()
?
0L
:
(
consigneeDO
.
getCustomerService
()
!=
null
?
consigneeDO
.
getCustomerService
()
:
0
));
customerType
=
2
;
}
}
}
// 订单修改是否变动了归属客户,此字段用来判定订单是否需要重置归属客户经理,下单后归属客户的客户经理是固定的,除非订单归属客户变动,才需要重置客户经理
order
.
setIsChargeCustomer
(!
Objects
.
equals
(
order
.
getCustomerId
(),
orgCustomerId
));
return
customerType
;
}
...
...
@@ -1648,7 +1628,7 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
// 只有客户的客户经理被接收了才算有效
AdminUserRespDTO
orgAdminUserRespDTO
=
adminUserApi
.
getUser
(
vo
.
getSalesmanId
());
AdminUserRespDTO
newAdminUserRespDTO
=
adminUserApi
.
getUser
(
customerDO
.
getCustomerService
());
if
(
vo
.
getSalesmanId
()
!=
customerDO
.
getCustomerService
(
))
{
if
(
!
Objects
.
equals
(
vo
.
getSalesmanId
(),
customerDO
.
getCustomerService
()
))
{
infoVO
=
new
ApplyInfoVO
();
infoVO
.
setName
(
"订单业务经理变动/Change in Order Business Manager"
);
infoVO
.
setOrgValue
(
Objects
.
nonNull
(
orgAdminUserRespDTO
)
?
orgAdminUserRespDTO
.
getNickname
()
:
"无"
);
...
...
@@ -1660,8 +1640,6 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
}
}
else
if
(
Objects
.
isNull
(
currentOrderException
)
&&
Objects
.
nonNull
(
customerDO
)
&&
(
Objects
.
isNull
(
customerDO
.
getCustomerService
())
||
!
customerDO
.
getIsCustomerServiceConfirmed
()))
{
// 该订单不产生业绩归属
// vo.setSalesmanId(0L);
// vo.setDeptId(0L);
// 只有客户的客户经理被接收了才算有效
infoVO
=
new
ApplyInfoVO
();
AdminUserRespDTO
orgAdminUserRespDTO
=
adminUserApi
.
getUser
(
vo
.
getSalesmanId
());
...
...
@@ -2968,6 +2946,7 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
List
<
ApplyInfoVO
>
applyInfoList
,
OrderConsignorBackVO
orderConsignorBackVO
,
OrderConsigneeBackVO
orderConsigneeBackVO
)
{
Long
orgCustomerId
=
Objects
.
isNull
(
vo
.
getCustomerId
())
?
0L
:
vo
.
getCustomerId
();
// TODO 客户归属变动时记录日志
if
(!
Objects
.
equals
(
vo
.
getStatus
(),
OrderStatusEnum
.
DRAFT
.
getValue
()))
{
ApplyInfoVO
infoVO
=
null
;
...
...
@@ -3035,8 +3014,11 @@ public class OrderServiceImpl extends AbstractService<OrderMapper, OrderDO> impl
}
// 订单所属客户变更,则需要变更业绩归属
// 更新所属客户经理(业务员)
if
((
Objects
.
nonNull
(
vo
.
getCustomerId
())
&&
vo
.
getCustomerId
()
>
0L
)
||
((
Objects
.
isNull
(
vo
.
getCustomerId
())
||
vo
.
getCustomerId
()
==
0L
)
&&
Objects
.
nonNull
(
vo
.
getSalesmanId
())
&&
vo
.
getSalesmanId
()
>
0L
))
{
// if ((Objects.nonNull(vo.getCustomerId()) && vo.getCustomerId() > 0L) ||
// ((Objects.isNull(vo.getCustomerId()) || vo.getCustomerId() == 0L) && Objects.nonNull(vo.getSalesmanId()) && vo.getSalesmanId() > 0L)) {
// 订单修改是否变动了归属客户,此字段用来判定订单是否需要重置归属客户经理,下单后归属客户的客户经理是固定的,除非订单归属客户变动,才需要重置客户经理
vo
.
setIsChargeCustomer
(!
Objects
.
equals
(
vo
.
getCustomerId
(),
orgCustomerId
));
if
(!
Objects
.
equals
(
vo
.
getCustomerId
(),
orgCustomerId
))
{
compareOrderCustomerService
(
vo
,
applyInfoList
,
customerType
);
}
}
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/vo/order/OrderBackVO.java
View file @
6c05fe89
...
...
@@ -587,6 +587,11 @@ public class OrderBackVO {
private
Boolean
isInOpenSea
;
@ApiModelProperty
(
value
=
"订单修改是否变动了归属客户,此字段用来判定订单是否需要重置归属客户经理,下单后归属客户的客户经理是固定的,除非订单归属客户变动,才需要重置客户经理"
)
@TableField
(
exist
=
false
)
private
Boolean
isChargeCustomer
;
public
void
setExternalWarehouseJson
(
String
externalWarehouseJson
)
{
this
.
externalWarehouseJson
=
externalWarehouseJson
;
if
(
StringUtils
.
isNotBlank
(
externalWarehouseJson
))
{
...
...
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