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
2004daef
Commit
2004daef
authored
Aug 28, 2024
by
332784038@qq.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'order-update' into dev
parents
74b4d5ec
4baa88f3
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
323 additions
and
17 deletions
+323
-17
WorkFlowEmus.java
.../java/cn/iocoder/yudao/module/bpm/enums/WorkFlowEmus.java
+2
-2
BmpOrderModelChangeResultListener.java
...ice/order/listener/BmpOrderModelChangeResultListener.java
+8
-2
BmpChangeReleaseGoodsLimitResultListener.java
...nt/listener/BmpChangeReleaseGoodsLimitResultListener.java
+7
-1
OrderApprovalDO.java
...module/order/dal/dataobject/approval/OrderApprovalDO.java
+3
-0
OrderApprovalMapper.java
.../module/order/dal/mysql/approval/OrderApprovalMapper.java
+15
-0
OrderCargoControlService.java
...r/service/orderCargoControl/OrderCargoControlService.java
+33
-4
OrderCargoControlServiceImpl.java
...rvice/orderCargoControl/OrderCargoControlServiceImpl.java
+130
-7
OrderCargoControlPickServiceImpl.java
...derCargoControlPick/OrderCargoControlPickServiceImpl.java
+8
-1
OrderCargoControlApplyVO.java
.../order/vo/orderCargoControl/OrderCargoControlApplyVO.java
+104
-0
OrderCargoControlController.java
.../admin/orderCargoControl/OrderCargoControlController.java
+13
-0
No files found.
yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/enums/WorkFlowEmus.java
View file @
2004daef
...
@@ -93,8 +93,8 @@ public enum WorkFlowEmus {
...
@@ -93,8 +93,8 @@ public enum WorkFlowEmus {
FINANCE_COMMISSION_PAYMENT_WRITE_OFF
(
"finance_commission_payment_write_off"
,
"财务审核-佣金付款单核销审核"
),
FINANCE_COMMISSION_PAYMENT_WRITE_OFF
(
"finance_commission_payment_write_off"
,
"财务审核-佣金付款单核销审核"
),
FINANCE_COMMISSION_PAYMENT_WRITE_OFF_NO
(
"finance_commission_payment_write_off_no"
,
"财务审核-佣金付款单反核销审核"
),
FINANCE_COMMISSION_PAYMENT_WRITE_OFF_NO
(
"finance_commission_payment_write_off_no"
,
"财务审核-佣金付款单反核销审核"
),
SHIPMENT_LINE_WEIGHT_ALLOW_OVER
(
"shipment_line_weight_allow_over"
,
"出货审批-允许超出线路重量上限审核"
),
SHIPMENT_LINE_WEIGHT_ALLOW_OVER
(
"shipment_line_weight_allow_over"
,
"出货审批-允许超出线路重量上限审核"
),
ORDER_MODEL_CHANGE
(
"order_model_change"
,
"订单审批-订单
模式变更
审核"
),
ORDER_MODEL_CHANGE
(
"order_model_change"
,
"订单审批-订单
海外仓修改
审核"
),
SHIPMENT_CHANGE_RELEASE_GOODS_LIMIT
(
"shipment_change_release_goods_limit"
,
"
出货审批-变更出
货限制审核"
),
SHIPMENT_CHANGE_RELEASE_GOODS_LIMIT
(
"shipment_change_release_goods_limit"
,
"
订单审批-变更放
货限制审核"
),
;
;
private
String
key
;
private
String
key
;
private
String
value
;
private
String
value
;
...
...
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/order/listener/BmpOrderModelChangeResultListener.java
View file @
2004daef
...
@@ -3,14 +3,19 @@ package cn.iocoder.yudao.module.bpm.service.order.listener;
...
@@ -3,14 +3,19 @@ package cn.iocoder.yudao.module.bpm.service.order.listener;
import
cn.iocoder.yudao.module.bpm.enums.WorkFlowEmus
;
import
cn.iocoder.yudao.module.bpm.enums.WorkFlowEmus
;
import
cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEvent
;
import
cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEvent
;
import
cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener
;
import
cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener
;
import
cn.iocoder.yudao.module.order.service.order.OrderFeeApplicationService
;
import
cn.iocoder.yudao.module.order.service.orderCargoControl.OrderCargoControlService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
@Component
@Component
@Slf4j
@Slf4j
public
class
BmpOrderModelChangeResultListener
extends
BpmProcessInstanceResultEventListener
{
public
class
BmpOrderModelChangeResultListener
extends
BpmProcessInstanceResultEventListener
{
@Resource
OrderCargoControlService
orderCargoControlService
;
@Override
@Override
protected
String
getProcessDefinitionKey
()
{
protected
String
getProcessDefinitionKey
()
{
return
WorkFlowEmus
.
ORDER_MODEL_CHANGE
.
getKey
();
return
WorkFlowEmus
.
ORDER_MODEL_CHANGE
.
getKey
();
...
@@ -18,7 +23,8 @@ public class BmpOrderModelChangeResultListener extends BpmProcessInstanceResultE
...
@@ -18,7 +23,8 @@ public class BmpOrderModelChangeResultListener extends BpmProcessInstanceResultE
@Override
@Override
protected
void
onEvent
(
BpmProcessInstanceResultEvent
event
)
{
protected
void
onEvent
(
BpmProcessInstanceResultEvent
event
)
{
log
.
info
(
"----------------------订单模式变更审核----------------------,{},{}"
+
event
.
getBusinessKey
(),
event
.
getResult
());
log
.
info
(
"----------------------控货订单海外仓修改审核----------------------,{},{}"
+
event
.
getBusinessKey
(),
event
.
getResult
());
orderCargoControlService
.
approvalOrderCargoControl
(
event
.
getBusinessKey
(),
event
.
getResult
());
}
}
}
}
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/service/shipment/listener/BmpChangeReleaseGoodsLimitResultListener.java
View file @
2004daef
...
@@ -3,14 +3,19 @@ package cn.iocoder.yudao.module.bpm.service.shipment.listener;
...
@@ -3,14 +3,19 @@ package cn.iocoder.yudao.module.bpm.service.shipment.listener;
import
cn.iocoder.yudao.module.bpm.enums.WorkFlowEmus
;
import
cn.iocoder.yudao.module.bpm.enums.WorkFlowEmus
;
import
cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEvent
;
import
cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEvent
;
import
cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener
;
import
cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener
;
import
cn.iocoder.yudao.module.order.service.orderCargoControl.OrderCargoControlService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
@Component
@Component
@Slf4j
@Slf4j
public
class
BmpChangeReleaseGoodsLimitResultListener
extends
BpmProcessInstanceResultEventListener
{
public
class
BmpChangeReleaseGoodsLimitResultListener
extends
BpmProcessInstanceResultEventListener
{
@Resource
OrderCargoControlService
orderCargoControlService
;
@Override
@Override
protected
String
getProcessDefinitionKey
()
{
protected
String
getProcessDefinitionKey
()
{
return
WorkFlowEmus
.
SHIPMENT_CHANGE_RELEASE_GOODS_LIMIT
.
getKey
();
return
WorkFlowEmus
.
SHIPMENT_CHANGE_RELEASE_GOODS_LIMIT
.
getKey
();
...
@@ -18,7 +23,8 @@ public class BmpChangeReleaseGoodsLimitResultListener extends BpmProcessInstance
...
@@ -18,7 +23,8 @@ public class BmpChangeReleaseGoodsLimitResultListener extends BpmProcessInstance
@Override
@Override
protected
void
onEvent
(
BpmProcessInstanceResultEvent
event
)
{
protected
void
onEvent
(
BpmProcessInstanceResultEvent
event
)
{
log
.
info
(
"----------------------变更出货限制回调----------------------,{},{}"
+
event
.
getBusinessKey
(),
event
.
getResult
());
log
.
info
(
"----------------------变更放货限制回调----------------------,{},{}"
+
event
.
getBusinessKey
(),
event
.
getResult
());
orderCargoControlService
.
approvalOrderCargoControl
(
event
.
getBusinessKey
(),
event
.
getResult
());
}
}
}
}
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/dal/dataobject/approval/OrderApprovalDO.java
View file @
2004daef
...
@@ -39,7 +39,10 @@ public class OrderApprovalDO extends BaseDO {
...
@@ -39,7 +39,10 @@ public class OrderApprovalDO extends BaseDO {
* 7 控货订单放货修改 8 控货订单反复核 9 控货订单已放货记录调货审批 10 控货订单取消放货
* 7 控货订单放货修改 8 控货订单反复核 9 控货订单已放货记录调货审批 10 控货订单取消放货
* 11 合单申请 12 费用申请 13 调仓申请 14 订单修改 18 预装审核 19 封柜审核
* 11 合单申请 12 费用申请 13 调仓申请 14 订单修改 18 预装审核 19 封柜审核
* 22 入仓修改 23 退仓
* 22 入仓修改 23 退仓
*
* 41 批量费用申请
* 41 批量费用申请
*
* 61 修改放货限制 62 海外仓修改申请
*/
*/
private
Integer
type
;
private
Integer
type
;
/**
/**
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/dal/mysql/approval/OrderApprovalMapper.java
View file @
2004daef
...
@@ -166,6 +166,21 @@ public interface OrderApprovalMapper extends AbstractMapper<OrderApprovalDO> {
...
@@ -166,6 +166,21 @@ public interface OrderApprovalMapper extends AbstractMapper<OrderApprovalDO> {
})
})
OrderApprovalDO
newOrderCargoControlPickInfo
(
@Param
(
"orderId"
)
Long
orderId
,
@Param
(
"id"
)
Long
id
,
@Param
(
"type"
)
Integer
type
);
OrderApprovalDO
newOrderCargoControlPickInfo
(
@Param
(
"orderId"
)
Long
orderId
,
@Param
(
"id"
)
Long
id
,
@Param
(
"type"
)
Integer
type
);
@ResultType
(
OrderApprovalDO
.
class
)
@Select
({
"<script>"
,
"select"
,
" * "
,
"from ecw_order_approval "
,
"where "
,
"order_id = #{orderId} "
,
"and type = #{type} "
,
"order by order_approval_id desc"
,
"limit 1"
,
"</script>"
})
OrderApprovalDO
orderApprovalInfoByOrderIdAndType
(
@Param
(
"orderId"
)
Long
orderId
,
@Param
(
"type"
)
Integer
type
);
@ResultType
(
OrderApprovalDO
.
class
)
@ResultType
(
OrderApprovalDO
.
class
)
@Select
({
@Select
({
"<script>"
,
"<script>"
,
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/orderCargoControl/OrderCargoControlService.java
View file @
2004daef
...
@@ -11,10 +11,8 @@ import cn.iocoder.yudao.module.order.dto.OrderQueryDTO;
...
@@ -11,10 +11,8 @@ import cn.iocoder.yudao.module.order.dto.OrderQueryDTO;
import
cn.iocoder.yudao.module.order.vo.order.OrderBackPageVO
;
import
cn.iocoder.yudao.module.order.vo.order.OrderBackPageVO
;
import
cn.iocoder.yudao.module.order.vo.order.OrderQueryVO
;
import
cn.iocoder.yudao.module.order.vo.order.OrderQueryVO
;
import
cn.iocoder.yudao.module.order.vo.order.OrderSendSmsReqVO
;
import
cn.iocoder.yudao.module.order.vo.order.OrderSendSmsReqVO
;
import
cn.iocoder.yudao.module.order.vo.orderCargoControl.OrderCargoControlBackVO
;
import
cn.iocoder.yudao.module.order.vo.orderCargoControl.*
;
import
cn.iocoder.yudao.module.order.vo.orderCargoControl.OrderCargoControlCreateReqVO
;
import
cn.iocoder.yudao.module.order.vo.orderCargoControlPick.OrderCargoControlPickApplyVO
;
import
cn.iocoder.yudao.module.order.vo.orderCargoControl.OrderCargoControlQueryVO
;
import
cn.iocoder.yudao.module.order.vo.orderCargoControl.OrderCargoControlUpdateReqVO
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.Valid
;
import
javax.validation.Valid
;
...
@@ -134,4 +132,35 @@ public interface OrderCargoControlService extends IService<OrderCargoControlDO>
...
@@ -134,4 +132,35 @@ public interface OrderCargoControlService extends IService<OrderCargoControlDO>
* @return 返回是或否
* @return 返回是或否
*/
*/
Boolean
checkControlPassword
(
Long
orderId
);
Boolean
checkControlPassword
(
Long
orderId
);
/**
* @param approveId 表单业务ID
* @param result 1 处理中 2 通过 3 不通过 4 已取消
*/
void
approvalOrderCargoControl
(
String
approveId
,
Integer
result
);
/**
* 订单放货限制修改申请
*
* @param orderId 订单ID
* @return 订单放货限制修改申请业务表单详情
*/
OrderCargoControlApplyVO
approvalOrderCargoControlPickLimitUpdateByOrderId
(
Long
orderId
);
/**
* 订单海外仓修改申请
*
* @param orderId 订单ID
* @return 订单海外仓修改申请业务表单详情
*/
OrderCargoControlApplyVO
approvalOrderCargoControlOverseasWarehouseUpdateByOrderId
(
Long
orderId
);
/**
* 订单控货相关申请管理
*
* @param orderCargoControlApplyVO 控货订单审批业务申请信息
*/
void
orderCargoControlPickApply
(
OrderCargoControlApplyVO
orderCargoControlApplyVO
);
}
}
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/orderCargoControl/OrderCargoControlServiceImpl.java
View file @
2004daef
package
cn
.
iocoder
.
yudao
.
module
.
order
.
service
.
orderCargoControl
;
package
cn
.
iocoder
.
yudao
.
module
.
order
.
service
.
orderCargoControl
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.common.util.spring.enums.UserTypeEnum
;
import
cn.iocoder.yudao.framework.common.util.validation.PhoneUtil
;
import
cn.iocoder.yudao.framework.common.util.validation.PhoneUtil
;
import
cn.iocoder.yudao.framework.dict.core.dto.DictDataRespDTO
;
import
cn.iocoder.yudao.framework.excel.handler.WaterMarkHandler
;
import
cn.iocoder.yudao.framework.excel.handler.WaterMarkHandler
;
import
cn.iocoder.yudao.framework.i18n.core.I18nMessage
;
import
cn.iocoder.yudao.framework.i18n.core.I18nMessage
;
import
cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX
;
import
cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX
;
import
cn.iocoder.yudao.framework.mybatis.core.service.AbstractService
;
import
cn.iocoder.yudao.framework.mybatis.core.service.AbstractService
;
import
cn.iocoder.yudao.framework.mybatis.core.vo.PageVO
;
import
cn.iocoder.yudao.framework.mybatis.core.vo.PageVO
;
import
cn.iocoder.yudao.framework.security.core.LoginUser
;
import
cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils
;
import
cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils
;
import
cn.iocoder.yudao.module.bpm.api.BpmCreateServiceFactory
;
import
cn.iocoder.yudao.module.bpm.enums.WorkFlowEmus
;
import
cn.iocoder.yudao.module.ecw.api.paramValid.ParamValidatorApi
;
import
cn.iocoder.yudao.module.ecw.service.paramValid.ParamValidatorService
;
import
cn.iocoder.yudao.module.ecw.service.paramValid.ParamValidatorService
;
import
cn.iocoder.yudao.module.infra.dal.dataobject.file.FileDO
;
import
cn.iocoder.yudao.module.infra.dal.dataobject.file.FileDO
;
import
cn.iocoder.yudao.module.infra.service.file.FileService
;
import
cn.iocoder.yudao.module.infra.service.file.FileService
;
...
@@ -17,9 +24,12 @@ import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
...
@@ -17,9 +24,12 @@ import cn.iocoder.yudao.module.member.api.user.MemberUserApi;
import
cn.iocoder.yudao.module.member.api.user.dto.UserRespDTO
;
import
cn.iocoder.yudao.module.member.api.user.dto.UserRespDTO
;
import
cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO
;
import
cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO
;
import
cn.iocoder.yudao.module.order.convert.orderCargoControl.OrderCargoControlConvert
;
import
cn.iocoder.yudao.module.order.convert.orderCargoControl.OrderCargoControlConvert
;
import
cn.iocoder.yudao.module.order.dal.dataobject.approval.OrderApprovalDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.order.OrderDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.order.OrderDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.orderCargoControl.OrderCargoControlDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.orderCargoControl.OrderCargoControlDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.orderCargoControlPick.OrderCargoControlPickDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.orderConsignor.OrderConsignorDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.orderConsignor.OrderConsignorDO
;
import
cn.iocoder.yudao.module.order.dal.mysql.approval.OrderApprovalMapper
;
import
cn.iocoder.yudao.module.order.dal.mysql.orderCargoControl.OrderCargoControlMapper
;
import
cn.iocoder.yudao.module.order.dal.mysql.orderCargoControl.OrderCargoControlMapper
;
import
cn.iocoder.yudao.module.order.dto.OrderCargoControlReleaseInfoDto
;
import
cn.iocoder.yudao.module.order.dto.OrderCargoControlReleaseInfoDto
;
import
cn.iocoder.yudao.module.order.dto.OrderQueryDTO
;
import
cn.iocoder.yudao.module.order.dto.OrderQueryDTO
;
...
@@ -29,10 +39,9 @@ import cn.iocoder.yudao.module.order.service.order.OrderConsignorService;
...
@@ -29,10 +39,9 @@ import cn.iocoder.yudao.module.order.service.order.OrderConsignorService;
import
cn.iocoder.yudao.module.order.service.order.OrderQueryService
;
import
cn.iocoder.yudao.module.order.service.order.OrderQueryService
;
import
cn.iocoder.yudao.module.order.service.order.OrderService
;
import
cn.iocoder.yudao.module.order.service.order.OrderService
;
import
cn.iocoder.yudao.module.order.vo.order.*
;
import
cn.iocoder.yudao.module.order.vo.order.*
;
import
cn.iocoder.yudao.module.order.vo.orderCargoControl.OrderCargoControlBackVO
;
import
cn.iocoder.yudao.module.order.vo.orderCargoControl.*
;
import
cn.iocoder.yudao.module.order.vo.orderCargoControl.OrderCargoControlCreateReqVO
;
import
cn.iocoder.yudao.module.order.vo.orderCargoControlPick.OrderCargoControlPickApplyVO
;
import
cn.iocoder.yudao.module.order.vo.orderCargoControl.OrderCargoControlQueryVO
;
import
cn.iocoder.yudao.module.system.api.dict.DictDataApi
;
import
cn.iocoder.yudao.module.order.vo.orderCargoControl.OrderCargoControlUpdateReqVO
;
import
cn.iocoder.yudao.module.system.api.sms.SmsCodeApi
;
import
cn.iocoder.yudao.module.system.api.sms.SmsCodeApi
;
import
cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeSendReqDTO
;
import
cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeSendReqDTO
;
import
cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO
;
import
cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO
;
...
@@ -41,7 +50,9 @@ import cn.iocoder.yudao.module.system.framework.ue.UeProperties;
...
@@ -41,7 +50,9 @@ import cn.iocoder.yudao.module.system.framework.ue.UeProperties;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
com.alibaba.fastjson.JSONObject
;
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
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
...
@@ -61,6 +72,8 @@ import java.time.format.DateTimeFormatter;
...
@@ -61,6 +72,8 @@ import java.time.format.DateTimeFormatter;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
apollo
.
core
.
constants
.
Constants
.
CUSTOMER_USER_APPROVAL_ID
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
apollo
.
core
.
constants
.
Constants
.
CUSTOMER_USER_TO_ADMIN
;
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
.
framework
.
common
.
util
.
servlet
.
ServletUtils
.
getClientIP
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
util
.
servlet
.
ServletUtils
.
getClientIP
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
excel
.
constant
.
ExportConstant
.*;
import
static
cn
.
iocoder
.
yudao
.
framework
.
excel
.
constant
.
ExportConstant
.*;
...
@@ -86,9 +99,12 @@ public class OrderCargoControlServiceImpl extends AbstractService<OrderCargoCont
...
@@ -86,9 +99,12 @@ public class OrderCargoControlServiceImpl extends AbstractService<OrderCargoCont
private
final
MemberUserApi
memberUserApi
;
private
final
MemberUserApi
memberUserApi
;
private
final
ParamValidatorService
paramValidatorService
;
private
final
ParamValidatorService
paramValidatorService
;
private
final
PasswordEncoder
passwordEncoder
;
private
final
PasswordEncoder
passwordEncoder
;
private
UeProperties
ueProperties
;
private
final
UeProperties
ueProperties
;
private
FileService
fileService
;
private
final
FileService
fileService
;
private
final
OrderApprovalMapper
orderApprovalMapper
;
private
final
BpmCreateServiceFactory
bpmCreateServiceFactory
;
private
final
DictDataApi
dictDataApi
;
private
final
ParamValidatorApi
paramValidatorApi
;
@Override
@Override
public
Long
createOrderCargoControl
(
OrderCargoControlCreateReqVO
createReqVO
,
MemberUserDO
memberUserDO
)
{
public
Long
createOrderCargoControl
(
OrderCargoControlCreateReqVO
createReqVO
,
MemberUserDO
memberUserDO
)
{
...
@@ -463,4 +479,111 @@ public class OrderCargoControlServiceImpl extends AbstractService<OrderCargoCont
...
@@ -463,4 +479,111 @@ public class OrderCargoControlServiceImpl extends AbstractService<OrderCargoCont
UserRespDTO
userRespDTO
=
memberUserApi
.
getUserByMobile
(
backVO
.
getPhone
());
UserRespDTO
userRespDTO
=
memberUserApi
.
getUserByMobile
(
backVO
.
getPhone
());
return
Objects
.
nonNull
(
userRespDTO
)
&&
StringUtils
.
isNotBlank
(
userRespDTO
.
getControlPassword
());
return
Objects
.
nonNull
(
userRespDTO
)
&&
StringUtils
.
isNotBlank
(
userRespDTO
.
getControlPassword
());
}
}
@Override
public
void
approvalOrderCargoControl
(
String
approveId
,
Integer
result
)
{
OrderApprovalDO
orderApprovalDO
=
orderApprovalMapper
.
selectById
(
approveId
);
if
(
Objects
.
isNull
(
orderApprovalDO
))
{
throw
exception
(
ORDER_APPROVAL_INFO_NOT_FIND
);
}
orderApprovalDO
.
setStatus
(
result
);
if
(
result
==
1
)
{
// 进行中的审批直接返回
return
;
}
if
(
result
==
3
||
result
==
4
)
{
// TODO 审批取消、审批拒绝,待补充业务日志及其他细节
return
;
}
if
(
result
==
2
)
{
OrderCargoControlApplyVO
applyVO
=
JSONObject
.
parseObject
(
orderApprovalDO
.
getDetails
(),
OrderCargoControlApplyVO
.
class
);
if
(
orderApprovalDO
.
getType
()
==
61
)
{
// 修改放货限制
Integer
newLockConsigneeDay
=
applyVO
.
getNewIsLimitUpdateConsignee
()
?
applyVO
.
getNewLockConsigneeDay
()
:
null
;
OrderDO
orderDO
=
orderService
.
getById
(
applyVO
.
getOrderId
());
Date
newLockConsigneeTime
=
Objects
.
isNull
(
orderDO
.
getUnloadTime
())
||
Objects
.
isNull
(
newLockConsigneeDay
)
?
null
:
DateUtil
.
endOfDay
(
DateUtil
.
offsetDay
(
orderDO
.
getUnloadTime
(),
newLockConsigneeDay
));;
orderService
.
update
(
new
LambdaUpdateWrapper
<
OrderDO
>()
.
set
(
OrderDO:
:
getIsLimitUpdateConsignee
,
applyVO
.
getNewIsLimitUpdateConsignee
())
.
set
(
OrderDO:
:
getLockConsigneeDay
,
newLockConsigneeDay
)
.
set
(
OrderDO:
:
getLockConsigneeTime
,
newLockConsigneeTime
)
.
eq
(
OrderDO:
:
getOrderId
,
orderApprovalDO
.
getOrderId
()));
// TODO 补充订单日志
}
if
(
orderApprovalDO
.
getType
()
==
62
)
{
// TODO 海外仓修改申请
}
}
orderApprovalMapper
.
updateById
(
orderApprovalDO
);
// orderBusinessService.createOrderControlLogs(controlLogParams);
}
@Override
public
OrderCargoControlApplyVO
approvalOrderCargoControlPickLimitUpdateByOrderId
(
Long
orderId
)
{
OrderApprovalDO
orderApprovalDO
=
orderApprovalMapper
.
orderApprovalInfoByOrderIdAndType
(
orderId
,
61
);
if
(
Objects
.
isNull
(
orderApprovalDO
))
{
OrderCargoControlReleaseInfoDto
releaseInfoDto
=
this
.
getOrderCargoControlReleaseInfo
(
orderId
);
OrderCargoControlApplyVO
orderCargoControlApplyVO
=
new
OrderCargoControlApplyVO
();
BeanUtils
.
copyProperties
(
releaseInfoDto
,
orderCargoControlApplyVO
);
orderCargoControlApplyVO
.
setApplyStatus
(
1
);
return
orderCargoControlApplyVO
;
}
else
{
return
JSONObject
.
parseObject
(
orderApprovalDO
.
getDetails
(),
OrderCargoControlApplyVO
.
class
);
}
}
@Override
public
OrderCargoControlApplyVO
approvalOrderCargoControlOverseasWarehouseUpdateByOrderId
(
Long
orderId
)
{
OrderApprovalDO
orderApprovalDO
=
orderApprovalMapper
.
orderApprovalInfoByOrderIdAndType
(
orderId
,
62
);
if
(
Objects
.
isNull
(
orderApprovalDO
))
{
OrderCargoControlReleaseInfoDto
releaseInfoDto
=
this
.
getOrderCargoControlReleaseInfo
(
orderId
);
OrderCargoControlApplyVO
orderCargoControlApplyVO
=
new
OrderCargoControlApplyVO
();
BeanUtils
.
copyProperties
(
releaseInfoDto
,
orderCargoControlApplyVO
);
orderCargoControlApplyVO
.
setApplyStatus
(
1
);
return
orderCargoControlApplyVO
;
}
else
{
return
JSONObject
.
parseObject
(
orderApprovalDO
.
getDetails
(),
OrderCargoControlApplyVO
.
class
);
}
}
@Override
public
void
orderCargoControlPickApply
(
OrderCargoControlApplyVO
orderCargoControlApplyVO
)
{
LoginUser
loginUser
=
SecurityFrameworkUtils
.
getLoginUser
();
Integer
userType
=
loginUser
!=
null
?
loginUser
.
getUserType
()
:
null
;
Long
userId
=
loginUser
!=
null
?
loginUser
.
getId
()
:
null
;
String
creator
=
String
.
valueOf
(
userId
);
if
(
Objects
.
equals
(
userType
,
UserTypeEnum
.
MEMBER
.
getValue
()))
{
DictDataRespDTO
dto
=
dictDataApi
.
parseDictDataFromCache
(
CUSTOMER_USER_TO_ADMIN
,
CUSTOMER_USER_APPROVAL_ID
);
userId
=
Long
.
valueOf
(
dto
.
getValue
());
}
Date
now
=
new
Date
();
OrderDO
orderDO
=
orderService
.
getById
(
orderCargoControlApplyVO
.
getOrderId
());
orderCargoControlApplyVO
.
setOrderNo
(
orderDO
.
getOrderNo
());
OrderApprovalDO
orderApprovalDO
=
new
OrderApprovalDO
();
orderApprovalDO
.
setFollowUpSalesmanId
(
String
.
valueOf
(
orderDO
.
getSalesmanId
()));
//跟进业务员为订单的跟进业务员
orderApprovalDO
.
setDetails
(
JSONObject
.
toJSONString
(
orderCargoControlApplyVO
));
orderApprovalDO
.
setCreator
(
creator
);
orderApprovalDO
.
setUpdater
(
creator
);
orderApprovalDO
.
setCreateTime
(
now
);
orderApprovalDO
.
setUpdateTime
(
now
);
if
(
orderCargoControlApplyVO
.
getApplyType
()
==
61
)
{
orderApprovalDO
.
setOrderId
(
orderCargoControlApplyVO
.
getOrderId
());
orderApprovalDO
.
setType
(
61
);
orderApprovalDO
.
setDetails
(
JSONObject
.
toJSONString
(
orderCargoControlApplyVO
));
orderApprovalMapper
.
insert
(
orderApprovalDO
);
String
formId
=
bpmCreateServiceFactory
.
createBmp
(
userId
,
orderApprovalDO
.
getOrderApprovalId
(),
WorkFlowEmus
.
ORDER_MODEL_CHANGE
.
getKey
(),
orderDO
.
getOrderNo
(),
StringUtils
.
isNotBlank
(
orderCargoControlApplyVO
.
getCcIds
())
?
orderCargoControlApplyVO
.
getCcIds
().
split
(
StrUtil
.
COMMA
)
:
null
);
orderApprovalDO
.
setFormId
(
formId
);
}
else
if
(
orderCargoControlApplyVO
.
getApplyType
()
==
62
)
{
orderApprovalDO
.
setOrderId
(
orderCargoControlApplyVO
.
getOrderId
());
orderApprovalDO
.
setType
(
62
);
orderApprovalDO
.
setDetails
(
JSONObject
.
toJSONString
(
orderCargoControlApplyVO
));
orderApprovalMapper
.
insert
(
orderApprovalDO
);
String
formId
=
bpmCreateServiceFactory
.
createBmp
(
userId
,
orderApprovalDO
.
getOrderApprovalId
(),
WorkFlowEmus
.
SHIPMENT_CHANGE_RELEASE_GOODS_LIMIT
.
getKey
(),
orderDO
.
getOrderNo
(),
StringUtils
.
isNotBlank
(
orderCargoControlApplyVO
.
getCcIds
())
?
orderCargoControlApplyVO
.
getCcIds
().
split
(
StrUtil
.
COMMA
)
:
null
);
orderApprovalDO
.
setFormId
(
formId
);
}
orderApprovalMapper
.
updateById
(
orderApprovalDO
);
}
}
}
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/orderCargoControlPick/OrderCargoControlPickServiceImpl.java
View file @
2004daef
...
@@ -1330,7 +1330,14 @@ public class OrderCargoControlPickServiceImpl extends AbstractService<OrderCargo
...
@@ -1330,7 +1330,14 @@ public class OrderCargoControlPickServiceImpl extends AbstractService<OrderCargo
userId
=
Long
.
valueOf
(
dto
.
getValue
());
userId
=
Long
.
valueOf
(
dto
.
getValue
());
}
}
OrderApprovalDO
approvalDO
=
orderApprovalMapper
.
selectById
(
orderApprovalId
);
OrderApprovalDO
approvalDO
=
orderApprovalMapper
.
selectById
(
orderApprovalId
);
if
(
approvalDO
.
getDeleted
()
||
(
approvalDO
.
getType
()
!=
7
&&
approvalDO
.
getType
()
!=
8
&&
approvalDO
.
getType
()
!=
9
&&
approvalDO
.
getType
()
!=
10
&&
approvalDO
.
getStatus
()
!=
1
))
{
if
(
approvalDO
.
getDeleted
()
||
(
approvalDO
.
getType
()
!=
7
&&
approvalDO
.
getType
()
!=
8
&&
approvalDO
.
getType
()
!=
9
&&
approvalDO
.
getType
()
!=
10
&&
approvalDO
.
getType
()
!=
61
&&
approvalDO
.
getType
()
!=
62
&&
approvalDO
.
getStatus
()
!=
1
))
{
throw
exception
(
ORDER_APPROVAL_STATUS_NOT_CORRECT
);
throw
exception
(
ORDER_APPROVAL_STATUS_NOT_CORRECT
);
}
}
if
(
Objects
.
isNull
(
approvalDO
.
getFormId
()))
{
if
(
Objects
.
isNull
(
approvalDO
.
getFormId
()))
{
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/vo/orderCargoControl/OrderCargoControlApplyVO.java
0 → 100644
View file @
2004daef
package
cn
.
iocoder
.
yudao
.
module
.
order
.
vo
.
orderCargoControl
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
javax.validation.constraints.NotNull
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
util
.
date
.
DateUtils
.
FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND
;
@Data
@ApiModel
(
value
=
"订单控货相关审核信息"
)
public
class
OrderCargoControlApplyVO
{
@ApiModelProperty
(
value
=
"申请类型:此处应该是 61 放货限制修改申请 62 海外仓修改申请"
,
required
=
true
)
@NotNull
(
message
=
"申请类型不能为空"
)
private
Integer
applyType
;
@ExcelProperty
(
"订单id"
)
@ApiModelProperty
(
value
=
"订单id"
)
@NotNull
(
message
=
"订单ID不能为空"
)
private
Long
orderId
;
@ApiModelProperty
(
value
=
"订单编号"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"提单号"
)
private
String
tidanNo
;
@ApiModelProperty
(
value
=
"是否控货"
)
private
Boolean
isCargoControl
;
@ApiModelProperty
(
value
=
"0 控货中;1 已放完货;2 部分控货"
)
private
Integer
cargoControlStatus
;
@ApiModelProperty
(
value
=
"入仓数量"
)
private
Integer
sumQuantity
=
0
;
@ApiModelProperty
(
value
=
"入仓箱数"
)
private
Integer
sumNum
=
0
;
@ApiModelProperty
(
value
=
"入仓体积"
)
private
BigDecimal
sumVolume
=
BigDecimal
.
ZERO
;
@ApiModelProperty
(
value
=
"入仓重量"
)
private
BigDecimal
sumWeight
=
BigDecimal
.
ZERO
;
@ApiModelProperty
(
value
=
"已放货箱数"
)
private
Integer
releaseNum
=
0
;
@ApiModelProperty
(
value
=
"原放货箱数"
)
private
Integer
pickNum
=
0
;
@ApiModelProperty
(
value
=
"现在放货箱数"
)
private
Integer
currentPickNum
=
0
;
@ApiModelProperty
(
value
=
"放货数量"
)
private
Integer
pickQuantity
=
0
;
@ApiModelProperty
(
value
=
"放货体积"
)
private
BigDecimal
pickVolume
=
BigDecimal
.
ZERO
;
@ApiModelProperty
(
value
=
"放货重量"
)
private
BigDecimal
pickWeight
=
BigDecimal
.
ZERO
;
@ApiModelProperty
(
value
=
"是否限制修改收货人"
)
private
Boolean
isLimitUpdateConsignee
;
@ApiModelProperty
(
value
=
"放货锁定收货人天数"
)
private
Integer
lockConsigneeDay
;
@ApiModelProperty
(
value
=
"放货锁定收货人到期时间"
)
@DateTimeFormat
(
pattern
=
FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND
)
@JsonFormat
(
pattern
=
FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND
)
private
Date
lockConsigneeTime
;
@ApiModelProperty
(
value
=
"新的是否限制修改收货人"
)
private
Boolean
newIsLimitUpdateConsignee
;
@ApiModelProperty
(
value
=
"新的放货锁定收货人天数"
)
private
Integer
newLockConsigneeDay
;
@ApiModelProperty
(
value
=
"附件"
)
private
String
annex
;
@ApiModelProperty
(
value
=
"修改原因"
)
private
String
reasonZh
;
@ApiModelProperty
(
value
=
"审批状态: 1 处理中 2 通过 3 不通过 4 已取消"
)
private
Integer
applyStatus
=
1
;
@ApiModelProperty
(
value
=
"抄送人(id逗号拼接)"
)
private
String
ccIds
;
}
yudao-module-order/yudao-module-order-rest/src/main/java/cn/iocoder/yudao/module/order/controller/admin/orderCargoControl/OrderCargoControlController.java
View file @
2004daef
...
@@ -142,4 +142,17 @@ public class OrderCargoControlController {
...
@@ -142,4 +142,17 @@ public class OrderCargoControlController {
orderCargoControlService
.
sendSmsCode
(
getLoginUserId
(),
reqVO
,
null
);
orderCargoControlService
.
sendSmsCode
(
getLoginUserId
(),
reqVO
,
null
);
return
success
(
true
);
return
success
(
true
);
}
}
@GetMapping
(
"cancel/approval/{orderApprovalId}"
)
@ApiOperation
(
"根据审批id取消审批"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"orderApprovalId"
,
value
=
"审批ID"
,
required
=
true
,
example
=
"1024"
,
dataType
=
"Long"
),
@ApiImplicitParam
(
name
=
"reason"
,
value
=
"取消原因"
,
required
=
true
,
example
=
"1024"
,
dataType
=
"String"
)
})
@Deprecated
public
CommonResult
<
Boolean
>
cancelApprovalByOrderApprovalId
(
@PathVariable
(
value
=
"orderApprovalId"
)
Long
orderApprovalId
,
@RequestParam
(
value
=
"reason"
)
String
reason
)
{
orderCargoControlPickService
.
cancelApprovalByOrderApprovalId
(
orderApprovalId
,
reason
);
return
success
(
Boolean
.
TRUE
);
}
}
}
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