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
46abc3bc
Commit
46abc3bc
authored
Nov 03, 2024
by
xiamw
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://110.41.143.128:8081/lanbaoming/jiedao-api-boot-master
into dev
parents
de94d9f1
f2e9f3c7
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
95 additions
and
31 deletions
+95
-31
CustomerContactsMapper.java
...er/dal/mysql/customerContacts/CustomerContactsMapper.java
+2
-0
CustomerContactsDto.java
...ocoder/yudao/module/customer/dto/CustomerContactsDto.java
+3
-0
CustomerFollowupServiceImpl.java
...service/customerFollowup/CustomerFollowupServiceImpl.java
+1
-0
ErrorCodeConstants.java
.../iocoder/yudao/module/order/enums/ErrorCodeConstants.java
+1
-0
OrderApprovalTypeEnum.java
...coder/yudao/module/order/enums/OrderApprovalTypeEnum.java
+0
-1
OrderFeeApplicationServiceImpl.java
...er/service/order/impl/OrderFeeApplicationServiceImpl.java
+75
-18
OrderFeeApplicationController.java
...in/orderFeeApplication/OrderFeeApplicationController.java
+7
-9
messages.properties
yudao-server/src/main/resources/i18n/messages.properties
+2
-1
messages_en.properties
yudao-server/src/main/resources/i18n/messages_en.properties
+2
-1
messages_zh.properties
yudao-server/src/main/resources/i18n/messages_zh.properties
+2
-1
No files found.
yudao-module-customer/yudao-module-customer-core/src/main/java/cn/iocoder/yudao/module/customer/dal/mysql/customerContacts/CustomerContactsMapper.java
View file @
46abc3bc
...
@@ -68,6 +68,7 @@ public interface CustomerContactsMapper extends BaseMapperX<CustomerContactsDO>
...
@@ -68,6 +68,7 @@ public interface CustomerContactsMapper extends BaseMapperX<CustomerContactsDO>
"c.id as customer_id, "
,
"c.id as customer_id, "
,
"c.name as customer_name, "
,
"c.name as customer_name, "
,
"c.name_en as customer_name_en, "
,
"c.name_en as customer_name_en, "
,
"c.number as customer_number, "
,
"c.default_pay as default_pay, "
,
"c.default_pay as default_pay, "
,
"c.no_consignee as no_consignee, "
,
"c.no_consignee as no_consignee, "
,
"cc.* , "
,
"cc.* , "
,
...
@@ -110,6 +111,7 @@ public interface CustomerContactsMapper extends BaseMapperX<CustomerContactsDO>
...
@@ -110,6 +111,7 @@ public interface CustomerContactsMapper extends BaseMapperX<CustomerContactsDO>
"c.id as customer_id, "
,
"c.id as customer_id, "
,
"c.name as customer_name, "
,
"c.name as customer_name, "
,
"c.name_en as customer_name_en, "
,
"c.name_en as customer_name_en, "
,
"c.number as customer_number, "
,
"c.default_pay as default_pay, "
,
"c.default_pay as default_pay, "
,
"c.no_consignee as no_consignee, "
,
"c.no_consignee as no_consignee, "
,
"cc.* , "
,
"cc.* , "
,
...
...
yudao-module-customer/yudao-module-customer-core/src/main/java/cn/iocoder/yudao/module/customer/dto/CustomerContactsDto.java
View file @
46abc3bc
...
@@ -13,6 +13,9 @@ public class CustomerContactsDto {
...
@@ -13,6 +13,9 @@ public class CustomerContactsDto {
@ApiModelProperty
(
value
=
"客户联系人ID"
)
@ApiModelProperty
(
value
=
"客户联系人ID"
)
private
Long
customerContactsId
;
private
Long
customerContactsId
;
@ApiModelProperty
(
value
=
"客户编码"
)
private
String
customerNumber
;
@ApiModelProperty
(
value
=
"客户名称"
,
required
=
true
)
@ApiModelProperty
(
value
=
"客户名称"
,
required
=
true
)
@NotNull
(
message
=
"客户名称不能为空"
)
@NotNull
(
message
=
"客户名称不能为空"
)
private
String
customerName
;
private
String
customerName
;
...
...
yudao-module-customer/yudao-module-customer-core/src/main/java/cn/iocoder/yudao/module/customer/service/customerFollowup/CustomerFollowupServiceImpl.java
View file @
46abc3bc
...
@@ -82,6 +82,7 @@ public class CustomerFollowupServiceImpl extends AbstractService<CustomerFollowu
...
@@ -82,6 +82,7 @@ public class CustomerFollowupServiceImpl extends AbstractService<CustomerFollowu
String
newFollowupNumber
=
CodeUtils
.
getOddFollowupNumbers
(
event
.
getNumber
());
String
newFollowupNumber
=
CodeUtils
.
getOddFollowupNumbers
(
event
.
getNumber
());
CustomerFollowupNumberBackVO
customerFollowupNumberBackVO
=
CustomerFollowupNumberBackVO
customerFollowupNumberBackVO
=
new
CustomerFollowupNumberBackVO
()
new
CustomerFollowupNumberBackVO
()
.
setNumber
(
newFollowupNumber
)
.
setNumberId
(
event
.
getId
())
.
setNumberId
(
event
.
getId
())
.
setNumberVersion
(
event
.
getVersion
());
.
setNumberVersion
(
event
.
getVersion
());
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/enums/ErrorCodeConstants.java
View file @
46abc3bc
...
@@ -429,4 +429,5 @@ public interface ErrorCodeConstants {
...
@@ -429,4 +429,5 @@ public interface ErrorCodeConstants {
// 该订单已经是非海外仓订单
// 该订单已经是非海外仓订单
ErrorCode
ORDER_NOT_IS_OVERSEAS_WAREHOUSE_ORDER
=
new
ErrorCode
(
1004001170
,
"order.not.is.overseas.warehouse.order"
);
ErrorCode
ORDER_NOT_IS_OVERSEAS_WAREHOUSE_ORDER
=
new
ErrorCode
(
1004001170
,
"order.not.is.overseas.warehouse.order"
);
ErrorCode
ORDER_APPROVAL_IS_NOT_EXISTS
=
new
ErrorCode
(
1004001171
,
"order.approval.is.not.exists"
);
ErrorCode
ORDER_APPROVAL_IS_NOT_EXISTS
=
new
ErrorCode
(
1004001171
,
"order.approval.is.not.exists"
);
ErrorCode
FEE_APPLICATION_NOT_IS_ZERO
=
new
ErrorCode
(
1004001172
,
"fee.application.not.is.zero"
);
}
}
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/enums/OrderApprovalTypeEnum.java
View file @
46abc3bc
...
@@ -40,7 +40,6 @@ public enum OrderApprovalTypeEnum {
...
@@ -40,7 +40,6 @@ public enum OrderApprovalTypeEnum {
DISCOUNT_APPLY_BATCH
(
31
,
"批量优惠申请"
,
Arrays
.
asList
(
1
,
2
,
6
,
11
,
14
,
23
,
28
,
32
)),
// 拆单申请/合单申请/订单修改/退仓/撤销拆单审批/优惠申请(当前商品有在途申请)/批量管理折扣申请(当前商品有在途申请)/管理优惠(当前商品有在途申请)
DISCOUNT_APPLY_BATCH
(
31
,
"批量优惠申请"
,
Arrays
.
asList
(
1
,
2
,
6
,
11
,
14
,
23
,
28
,
32
)),
// 拆单申请/合单申请/订单修改/退仓/撤销拆单审批/优惠申请(当前商品有在途申请)/批量管理折扣申请(当前商品有在途申请)/管理优惠(当前商品有在途申请)
ADMIN_DISCOUNT_BATCH
(
32
,
"批量管理折扣申请"
,
Arrays
.
asList
(
1
,
2
,
6
,
11
,
14
,
23
,
28
,
31
)),
// 拆单申请/合单申请/订单修改/退仓/撤销拆单审批/优惠申请(当前商品有在途申请)/批量优惠申请(当前商品有在途申请)/管理优惠(当前商品有在途申请)
ADMIN_DISCOUNT_BATCH
(
32
,
"批量管理折扣申请"
,
Arrays
.
asList
(
1
,
2
,
6
,
11
,
14
,
23
,
28
,
31
)),
// 拆单申请/合单申请/订单修改/退仓/撤销拆单审批/优惠申请(当前商品有在途申请)/批量优惠申请(当前商品有在途申请)/管理优惠(当前商品有在途申请)
//分拣
//分拣
sorting
(
50
,
"分拣审批"
,
Arrays
.
asList
(
6
,
11
,
13
,
14
,
22
,
23
,
28
)),
// 自编号全部申请互斥,跟原本一致,不修改, 自编号下订单除拆单申请/合单申请/调仓申请/订单修改/入仓申请/退仓申请外,其他申请不受限制,允许封柜反审批
sorting
(
50
,
"分拣审批"
,
Arrays
.
asList
(
6
,
11
,
13
,
14
,
22
,
23
,
28
)),
// 自编号全部申请互斥,跟原本一致,不修改, 自编号下订单除拆单申请/合单申请/调仓申请/订单修改/入仓申请/退仓申请外,其他申请不受限制,允许封柜反审批
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/order/impl/OrderFeeApplicationServiceImpl.java
View file @
46abc3bc
package
cn
.
iocoder
.
yudao
.
module
.
order
.
service
.
order
.
impl
;
package
cn
.
iocoder
.
yudao
.
module
.
order
.
service
.
order
.
impl
;
import
cn.iocoder.yudao.framework.apollo.core.event.Order.OrderApprovalTypeCheckEvent
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.dict.core.dto.DictDataRespDTO
;
import
cn.iocoder.yudao.framework.dict.core.dto.DictDataRespDTO
;
import
cn.iocoder.yudao.framework.dict.core.util.DictFrameworkUtils
;
import
cn.iocoder.yudao.framework.dict.core.util.DictFrameworkUtils
;
...
@@ -21,6 +22,7 @@ import cn.iocoder.yudao.module.order.dal.dataobject.order.OrderDO;
...
@@ -21,6 +22,7 @@ import cn.iocoder.yudao.module.order.dal.dataobject.order.OrderDO;
import
cn.iocoder.yudao.module.order.dal.dataobject.orderFeeApplication.OrderFeeApplicationDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.orderFeeApplication.OrderFeeApplicationDO
;
import
cn.iocoder.yudao.module.order.dal.mysql.orderFeeApplication.OrderFeeApplicationMapper
;
import
cn.iocoder.yudao.module.order.dal.mysql.orderFeeApplication.OrderFeeApplicationMapper
;
import
cn.iocoder.yudao.module.order.enums.ApprovalResultStatusEnum
;
import
cn.iocoder.yudao.module.order.enums.ApprovalResultStatusEnum
;
import
cn.iocoder.yudao.module.order.enums.OrderApprovalTypeEnum
;
import
cn.iocoder.yudao.module.order.enums.OrderApprovalTypeResultEnum
;
import
cn.iocoder.yudao.module.order.enums.OrderApprovalTypeResultEnum
;
import
cn.iocoder.yudao.module.order.service.approval.OrderApprovalService
;
import
cn.iocoder.yudao.module.order.service.approval.OrderApprovalService
;
import
cn.iocoder.yudao.module.order.service.order.OrderBusinessService
;
import
cn.iocoder.yudao.module.order.service.order.OrderBusinessService
;
...
@@ -38,19 +40,23 @@ import cn.iocoder.yudao.module.wealth.service.receivable.ReceivableService;
...
@@ -38,19 +40,23 @@ import cn.iocoder.yudao.module.wealth.service.receivable.ReceivableService;
import
cn.iocoder.yudao.module.wealth.vo.receivable.ReceivableCreateReqVO
;
import
cn.iocoder.yudao.module.wealth.vo.receivable.ReceivableCreateReqVO
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.context.annotation.Lazy
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
exception
.
util
.
ServiceExceptionUtil
.
exception
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
exception
.
util
.
ServiceExceptionUtil
.
exception
;
import
static
cn
.
iocoder
.
yudao
.
module
.
order
.
enums
.
ErrorCodeConstants
.
FEE_APPLICATION_NOT_EXISTS
;
import
static
cn
.
iocoder
.
yudao
.
module
.
order
.
enums
.
ErrorCodeConstants
.*;
import
static
cn
.
iocoder
.
yudao
.
module
.
order
.
enums
.
ErrorCodeConstants
.
ORDER_FEE_APPLICATION_EXIST
;
import
static
cn
.
iocoder
.
yudao
.
module
.
order
.
enums
.
OrderApprovalTypeEnum
.
ORDER_UPDATE
;
import
static
cn
.
iocoder
.
yudao
.
module
.
order
.
enums
.
OrderApprovalTypeEnum
.
expense_apply
;
/**
/**
* 订单费用申请 Service 实现类
* 订单费用申请 Service 实现类
...
@@ -90,6 +96,8 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
...
@@ -90,6 +96,8 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
private
CurrencyService
currencyService
;
private
CurrencyService
currencyService
;
@Resource
@Resource
private
OrderApprovalService
orderApprovalService
;
private
OrderApprovalService
orderApprovalService
;
@Resource
private
ApplicationContext
applicationContext
;
@Transactional
@Transactional
@Override
@Override
...
@@ -117,8 +125,7 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
...
@@ -117,8 +125,7 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
//创建审批流
//创建审批流
OrderDO
orderDO
=
orderService
.
selectOne
(
OrderDO:
:
getOrderId
,
createReqVO
.
getOrderId
());
OrderDO
orderDO
=
orderService
.
selectOne
(
OrderDO:
:
getOrderId
,
createReqVO
.
getOrderId
());
String
bpmProcessId
=
bpmCreateServiceFactory
.
createBmp
(
userId
,
feeApplication
.
getId
(),
WorkFlowEmus
.
ORDER_FREE_APPLY
.
getKey
(),
orderDO
.
getOrderNo
(),
createReqVO
.
getCopyUserId
());
String
bpmProcessId
=
bpmCreateServiceFactory
.
createBmp
(
userId
,
feeApplication
.
getId
(),
WorkFlowEmus
.
ORDER_FREE_APPLY
.
getKey
(),
orderDO
.
getOrderNo
(),
createReqVO
.
getCopyUserId
());
Integer
auditType
=
OrderApprovalTypeResultEnum
.
expense_apply_processing
.
getType
();
orderService
.
updateStatus
(
orderDO
.
getOrderId
(),
null
,
null
,
null
,
null
,
null
,
OrderApprovalTypeResultEnum
.
expense_apply_processing
.
getType
(),
OrderApprovalTypeResultEnum
.
expense_apply_processing
.
getDesc
());
orderService
.
updateStatus
(
orderDO
.
getOrderId
(),
null
,
null
,
null
,
null
,
null
,
auditType
,
OrderApprovalTypeResultEnum
.
expense_apply_processing
.
getDesc
());
feeApplication
.
setBpmProcessId
(
bpmProcessId
);
feeApplication
.
setBpmProcessId
(
bpmProcessId
);
feeApplicationMapper
.
updateById
(
feeApplication
);
feeApplicationMapper
.
updateById
(
feeApplication
);
DictDataRespDTO
dictDataFromCache
=
DictFrameworkUtils
.
getDictDataFromCache
(
DictTypeConstants
.
RECEIVABLE_FEE_TYPE
,
String
.
valueOf
(
createReqVO
.
getFeeType
()));
DictDataRespDTO
dictDataFromCache
=
DictFrameworkUtils
.
getDictDataFromCache
(
DictTypeConstants
.
RECEIVABLE_FEE_TYPE
,
String
.
valueOf
(
createReqVO
.
getFeeType
()));
...
@@ -143,12 +150,21 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
...
@@ -143,12 +150,21 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
@Override
@Override
@Transactional
@Transactional
public
void
createFeeBatchApplication
(
OrderFeeBatchApplicationCreateReqVO
createReqVO
)
{
public
void
createFeeBatchApplication
(
OrderFeeBatchApplicationCreateReqVO
createReqVO
)
{
LambdaQueryWrapper
lambdaQueryWrapper
=
new
LambdaQueryWrapperX
<
OrderApprovalDO
>()
// OrderDO orderDO = orderService.getById(createReqVO.getOrderId());
.
eq
(
OrderApprovalDO:
:
getOrderId
,
createReqVO
.
getOrderId
())
// if (orderDO.getAuditType() != 0) {
.
eq
(
OrderApprovalDO:
:
getType
,
41
)
// throw exception(ORDER_HAS_PROCESSING_APPROVAL, orderDO.getOrderNo());
.
eq
(
OrderApprovalDO:
:
getStatus
,
ApprovalResultStatusEnum
.
processing
.
getValue
());
// }
if
(
orderApprovalService
.
count
(
lambdaQueryWrapper
)
>
0
)
{
// LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapperX<OrderApprovalDO>()
throw
exception
(
ORDER_FEE_APPLICATION_EXIST
);
// .eq(OrderApprovalDO::getOrderId, createReqVO.getOrderId())
// .eq(OrderApprovalDO::getType, expense_apply.getValue())
// .eq(OrderApprovalDO::getStatus, ApprovalResultStatusEnum.processing.getValue());
// if (orderApprovalService.count(lambdaQueryWrapper) > 0) {
// throw exception(ORDER_FEE_APPLICATION_EXIST);
// }
OrderApprovalTypeCheckEvent
approvalTypeCheckEvent
=
new
OrderApprovalTypeCheckEvent
(
createReqVO
.
getOrderId
(),
null
,
expense_apply
.
getValue
(),
null
,
false
);
applicationContext
.
publishEvent
(
approvalTypeCheckEvent
);
if
(
approvalTypeCheckEvent
.
getResult
())
{
throw
exception
(
ORDER_IS_APPROVAL_IN_PROCESS
);
}
}
// 批量插入费用
// 批量插入费用
...
@@ -166,7 +182,7 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
...
@@ -166,7 +182,7 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
orderApprovalDO
.
setFollowUpSalesmanId
(
String
.
valueOf
(
SecurityFrameworkUtils
.
getLoginUserId
()));
orderApprovalDO
.
setFollowUpSalesmanId
(
String
.
valueOf
(
SecurityFrameworkUtils
.
getLoginUserId
()));
orderApprovalDO
.
setOrderId
(
createReqVO
.
getOrderId
());
orderApprovalDO
.
setOrderId
(
createReqVO
.
getOrderId
());
//批量费用申请
//批量费用申请
orderApprovalDO
.
setType
(
41
);
orderApprovalDO
.
setType
(
expense_apply
.
getValue
()
);
orderApprovalDO
.
setStatus
(
ApprovalResultStatusEnum
.
processing
.
getValue
());
orderApprovalDO
.
setStatus
(
ApprovalResultStatusEnum
.
processing
.
getValue
());
Long
bpmProcessId
=
orderApprovalService
.
applyAndCreate
(
orderApprovalDO
,
WorkFlowEmus
.
ORDER_BATCH_FREE_APPLY
,
createReqVO
.
getCopyUserId
());
Long
bpmProcessId
=
orderApprovalService
.
applyAndCreate
(
orderApprovalDO
,
WorkFlowEmus
.
ORDER_BATCH_FREE_APPLY
,
createReqVO
.
getCopyUserId
());
...
@@ -174,8 +190,7 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
...
@@ -174,8 +190,7 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
//创建审批流
//创建审批流
OrderDO
orderDO
=
orderService
.
selectOne
(
OrderDO:
:
getOrderId
,
createReqVO
.
getOrderId
());
OrderDO
orderDO
=
orderService
.
selectOne
(
OrderDO:
:
getOrderId
,
createReqVO
.
getOrderId
());
Integer
auditType
=
OrderApprovalTypeResultEnum
.
expense_apply_processing
.
getType
();
orderService
.
updateStatus
(
orderDO
.
getOrderId
(),
null
,
null
,
null
,
null
,
null
,
OrderApprovalTypeResultEnum
.
expense_apply_processing
.
getType
(),
OrderApprovalTypeResultEnum
.
expense_apply_processing
.
getDesc
());
orderService
.
updateStatus
(
orderDO
.
getOrderId
(),
null
,
null
,
null
,
null
,
null
,
auditType
,
OrderApprovalTypeResultEnum
.
expense_apply_processing
.
getDesc
());
//更新费用列表对应的流程申请ID
//更新费用列表对应的流程申请ID
for
(
OrderFeeApplicationDO
feeApplication
:
batchFeeList
)
{
for
(
OrderFeeApplicationDO
feeApplication
:
batchFeeList
)
{
...
@@ -187,13 +202,21 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
...
@@ -187,13 +202,21 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
@Override
@Override
public
void
updateFeeApplication
(
OrderFeeApplicationUpdateReqVO
updateReqVO
)
{
public
void
updateFeeApplication
(
OrderFeeApplicationUpdateReqVO
updateReqVO
)
{
// 校验存在
this
.
validateFeeApplicationExists
(
updateReqVO
.
getId
());
OrderDO
orderDO
=
orderService
.
getById
(
updateReqVO
.
getOrderId
());
OrderApprovalTypeCheckEvent
approvalTypeCheckEvent
=
new
OrderApprovalTypeCheckEvent
(
updateReqVO
.
getOrderId
(),
null
,
expense_apply
.
getValue
(),
null
,
false
);
applicationContext
.
publishEvent
(
approvalTypeCheckEvent
);
if
(
approvalTypeCheckEvent
.
getResult
())
{
throw
exception
(
ORDER_HAS_PROCESSING_APPROVAL
,
orderDO
.
getOrderNo
());
}
OrderFeeApplicationDO
orderFeeApplicationDOOld
=
feeApplicationMapper
.
selectById
(
updateReqVO
.
getId
());
OrderFeeApplicationDO
orderFeeApplicationDOOld
=
feeApplicationMapper
.
selectById
(
updateReqVO
.
getId
());
// 校验存在
if
(
orderFeeApplicationDOOld
==
null
)
{
throw
exception
(
FEE_APPLICATION_NOT_EXISTS
);
}
// 更新
// 更新
OrderFeeApplicationDO
updateObj
=
OrderFeeApplicationConvert
.
INSTANCE
.
convert
(
updateReqVO
);
OrderFeeApplicationDO
updateObj
=
OrderFeeApplicationConvert
.
INSTANCE
.
convert
(
updateReqVO
);
Long
userId
=
SecurityFrameworkUtils
.
getLoginUserId
();
Long
userId
=
SecurityFrameworkUtils
.
getLoginUserId
();
OrderDO
orderDO
=
orderService
.
selectOne
(
OrderDO:
:
getOrderId
,
updateReqVO
.
getOrderId
());
String
bpmProcessId
=
bpmCreateServiceFactory
.
createBmp
(
userId
,
updateObj
.
getId
(),
WorkFlowEmus
.
ORDER_FREE_APPLY
.
getKey
(),
orderDO
.
getOrderNo
(),
updateReqVO
.
getCopyUserId
());
String
bpmProcessId
=
bpmCreateServiceFactory
.
createBmp
(
userId
,
updateObj
.
getId
(),
WorkFlowEmus
.
ORDER_FREE_APPLY
.
getKey
(),
orderDO
.
getOrderNo
(),
updateReqVO
.
getCopyUserId
());
Integer
auditType
=
OrderApprovalTypeResultEnum
.
expense_apply_processing
.
getType
();
Integer
auditType
=
OrderApprovalTypeResultEnum
.
expense_apply_processing
.
getType
();
orderService
.
updateStatus
(
orderDO
.
getOrderId
(),
null
,
null
,
null
,
null
,
null
,
auditType
,
OrderApprovalTypeResultEnum
.
expense_apply_processing
.
getDesc
());
orderService
.
updateStatus
(
orderDO
.
getOrderId
(),
null
,
null
,
null
,
null
,
null
,
auditType
,
OrderApprovalTypeResultEnum
.
expense_apply_processing
.
getDesc
());
...
@@ -224,10 +247,44 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
...
@@ -224,10 +247,44 @@ public class OrderFeeApplicationServiceImpl extends AbstractService<OrderFeeAppl
@Override
@Override
public
void
deleteFeeApplication
(
Long
id
)
{
public
void
deleteFeeApplication
(
Long
id
)
{
OrderFeeApplicationDO
orderFeeApplicationDO
=
feeApplicationMapper
.
selectById
(
id
);
// 校验存在
// 校验存在
this
.
validateFeeApplicationExists
(
id
);
if
(
orderFeeApplicationDO
==
null
)
{
// 删除
throw
exception
(
FEE_APPLICATION_NOT_EXISTS
);
}
// 当费用金额为0时,可以不经审批直接删除
// 判断金额是否为0
if
(
orderFeeApplicationDO
.
getApplicationFee
().
compareTo
(
BigDecimal
.
ZERO
)
!=
0
){
throw
exception
(
FEE_APPLICATION_NOT_IS_ZERO
);
}
// 删除可能的应收单
if
(
orderFeeApplicationDO
.
getReceivableId
()
!=
null
&&
orderFeeApplicationDO
.
getReceivableId
()
>
0
)
{
long
idTemp
=
(
long
)
orderFeeApplicationDO
.
getReceivableId
();
ReceivableDO
rDo
=
receivableService
.
getReceivable
(
idTemp
);
if
(
Objects
.
nonNull
(
rDo
)){
receivableService
.
removeById
(
rDo
.
getId
());
}
}
// 删除费用申请记录
feeApplicationMapper
.
deleteById
(
id
);
feeApplicationMapper
.
deleteById
(
id
);
CurrencyDO
currency
=
currencyService
.
getCurrency
(
orderFeeApplicationDO
.
getApplicationFeeCurrency
());
String
currencyName
=
Objects
.
nonNull
(
currency
)
?
(
I18nMessage
.
getLang
()
==
0
?
currency
.
getTitleZh
()
:
currency
.
getTitleEn
())
:
(
I18nMessage
.
getLang
()
==
0
?
"未知"
:
"NUKNOWN"
);
DictDataRespDTO
dictDataFromCache
=
DictFrameworkUtils
.
getDictDataFromCache
(
DictTypeConstants
.
RECEIVABLE_FEE_TYPE
,
String
.
valueOf
(
orderFeeApplicationDO
.
getFeeType
()));
List
<
ApplyInfoVO
>
list
=
new
ArrayList
<>();
ApplyInfoVO
applyInfoVO
=
new
ApplyInfoVO
();
applyInfoVO
.
setName
(
"申请费用名称"
);
applyInfoVO
.
setNewValue
(
I18nMessage
.
getLang
()
==
0
?
dictDataFromCache
.
getLabel
()
:
dictDataFromCache
.
getLabelEn
());
list
.
add
(
applyInfoVO
);
applyInfoVO
=
new
ApplyInfoVO
();
applyInfoVO
.
setName
(
"金额"
);
applyInfoVO
.
setNewValue
(
String
.
valueOf
(
orderFeeApplicationDO
.
getApplicationFee
().
doubleValue
()));
list
.
add
(
applyInfoVO
);
applyInfoVO
=
new
ApplyInfoVO
();
applyInfoVO
.
setName
(
"币种"
);
applyInfoVO
.
setNewValue
(
currencyName
);
list
.
add
(
applyInfoVO
);
orderBusinessService
.
addOrderOperateLog
(
orderFeeApplicationDO
.
getOrderId
(),
"订单操作"
,
"费用申请删除"
,
list
);
}
}
private
void
validateFeeApplicationExists
(
Long
id
)
{
private
void
validateFeeApplicationExists
(
Long
id
)
{
...
...
yudao-module-order/yudao-module-order-rest/src/main/java/cn/iocoder/yudao/module/order/controller/admin/orderFeeApplication/OrderFeeApplicationController.java
View file @
46abc3bc
...
@@ -92,10 +92,6 @@ public class OrderFeeApplicationController {
...
@@ -92,10 +92,6 @@ public class OrderFeeApplicationController {
return
error
(
ORDER_FEE_APPLICATION_REPEAT_COMMIT
);
return
error
(
ORDER_FEE_APPLICATION_REPEAT_COMMIT
);
}
}
redisHelper
.
expire
(
redisKey
,
1
,
TimeUnit
.
MINUTES
);
redisHelper
.
expire
(
redisKey
,
1
,
TimeUnit
.
MINUTES
);
OrderDO
orderDO
=
orderService
.
getById
(
createReqVO
.
getOrderId
());
if
(
orderDO
.
getAuditType
()
!=
0
)
{
throw
exception
(
ORDER_HAS_PROCESSING_APPROVAL
,
orderDO
.
getOrderNo
());
}
feeApplicationService
.
createFeeBatchApplication
(
createReqVO
);
feeApplicationService
.
createFeeBatchApplication
(
createReqVO
);
redisHelper
.
delete
(
redisKey
);
redisHelper
.
delete
(
redisKey
);
return
success
(
true
);
return
success
(
true
);
...
@@ -123,13 +119,15 @@ public class OrderFeeApplicationController {
...
@@ -123,13 +119,15 @@ public class OrderFeeApplicationController {
@PutMapping
(
"/update"
)
@PutMapping
(
"/update"
)
@ApiOperation
(
"更新订单费用申请"
)
@ApiOperation
(
"更新订单费用申请"
)
public
CommonResult
<
Boolean
>
updateFeeApplication
(
@Valid
@RequestBody
OrderFeeApplicationUpdateReqVO
updateReqVO
)
{
public
CommonResult
<
Boolean
>
updateFeeApplication
(
@Valid
@RequestBody
OrderFeeApplicationUpdateReqVO
updateReqVO
)
{
if
(!
Objects
.
isNull
(
updateReqVO
))
{
OrderDO
orderDO
=
orderService
.
getById
(
updateReqVO
.
getOrderId
());
String
redisKey
=
MessageFormat
.
format
(
ORDER_FEE_APPLICATION_KEY
,
updateReqVO
.
getOrderId
().
toString
());
if
(
orderDO
.
getAuditType
()
!=
0
)
{
Long
count
=
redisHelper
.
incrBy
(
redisKey
,
1
);
throw
exception
(
ORDER_HAS_PROCESSING_APPROVAL
,
orderDO
.
getOrderNo
());
if
(
count
>
1
){
}
return
error
(
ORDER_FEE_APPLICATION_REPEAT_COMMIT
);
}
}
redisHelper
.
expire
(
redisKey
,
1
,
TimeUnit
.
MINUTES
);
feeApplicationService
.
updateFeeApplication
(
updateReqVO
);
feeApplicationService
.
updateFeeApplication
(
updateReqVO
);
redisHelper
.
delete
(
redisKey
);
return
success
(
true
);
return
success
(
true
);
}
}
...
...
yudao-server/src/main/resources/i18n/messages.properties
View file @
46abc3bc
...
@@ -306,4 +306,5 @@ order.not.is.overseas.warehouse.order=
...
@@ -306,4 +306,5 @@ order.not.is.overseas.warehouse.order=
area.code.not.null
=
area.code.not.null
=
currency.id.not.null
=
currency.id.not.null
=
order.approval.is.not.exists
=
order.approval.is.not.exists
=
\ No newline at end of file
fee.application.not.is.zero
=
\ No newline at end of file
yudao-server/src/main/resources/i18n/messages_en.properties
View file @
46abc3bc
...
@@ -1120,4 +1120,5 @@ order.not.is.overseas.warehouse.order=This order is already a non overseas wareh
...
@@ -1120,4 +1120,5 @@ order.not.is.overseas.warehouse.order=This order is already a non overseas wareh
area.code.not.null
=
The national mobile phone area code cannot be empty
area.code.not.null
=
The national mobile phone area code cannot be empty
currency.id.not.null
=
The country ID cannot be empty
currency.id.not.null
=
The country ID cannot be empty
order.approval.is.not.exists
=
Order approval type does not exist
order.approval.is.not.exists
=
Order approval type does not exist
\ No newline at end of file
fee.application.not.is.zero
=
The expense application amount is not 0, and cannot be directly deleted
\ No newline at end of file
yudao-server/src/main/resources/i18n/messages_zh.properties
View file @
46abc3bc
...
@@ -1120,4 +1120,5 @@ order.not.is.overseas.warehouse.order=\u8be5\u8ba2\u5355\u5df2\u7ecf\u662f\u975e
...
@@ -1120,4 +1120,5 @@ order.not.is.overseas.warehouse.order=\u8be5\u8ba2\u5355\u5df2\u7ecf\u662f\u975e
area.code.not.null
=
\u
56fd
\u
5bb6
\u
624b
\u
673a
\u
533a
\u
53f7
\u
4e0d
\u
80fd
\u
4e3a
\u
7a7a
area.code.not.null
=
\u
56fd
\u
5bb6
\u
624b
\u
673a
\u
533a
\u
53f7
\u
4e0d
\u
80fd
\u
4e3a
\u
7a7a
currency.id.not.null
=
\u
56fd
\u
5bb6id
\u
4e0d
\u
80fd
\u
4e3a
\u
7a7a
currency.id.not.null
=
\u
56fd
\u
5bb6id
\u
4e0d
\u
80fd
\u
4e3a
\u
7a7a
order.approval.is.not.exists
=
\u
8ba2
\u5355\u
5ba1
\u6279\u
7c7b
\u
578b
\u
4e0d
\u
5b58
\u5728
order.approval.is.not.exists
=
\u
8ba2
\u5355\u
5ba1
\u6279\u
7c7b
\u
578b
\u
4e0d
\u
5b58
\u5728
\ No newline at end of file
fee.application.not.is.zero
=
\u
8d39
\u7528\u7533\u
8bf7
\u
91d1
\u
989d
\u
4e0d
\u
4e3a0
\u
ff0c
\u
4e0d
\u
80fd
\u
8fdb
\u
884c
\u
76f4
\u
63a5
\u5220\u9664
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