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
fa070a78
Commit
fa070a78
authored
Mar 19, 2025
by
Smile
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
需求130后台-集运-包裹列表-包裹详情
parent
4575ce08
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
221 additions
and
59 deletions
+221
-59
BpmProcessInstanceExtMapper.java
...odule/bpm/dal/mysql/task/BpmProcessInstanceExtMapper.java
+49
-0
BpmProcessInstanceController.java
...m/controller/admin/task/BpmProcessInstanceController.java
+7
-0
BpmProcessInstanceService.java
...ao/module/bpm/service/task/BpmProcessInstanceService.java
+10
-0
BpmProcessInstanceServiceImpl.java
...odule/bpm/service/task/BpmProcessInstanceServiceImpl.java
+19
-0
ConsService.java
.../iocoder/yudao/module/order/service/cons/ConsService.java
+8
-7
ConsServiceImpl.java
...oder/yudao/module/order/service/cons/ConsServiceImpl.java
+64
-4
ConsBackVO.java
...ava/cn/iocoder/yudao/module/order/vo/cons/ConsBackVO.java
+43
-5
ConsMapper.xml
...-order-core/src/main/resources/mapper/cons/ConsMapper.xml
+18
-1
ConsTrackingRecordMapper.xml
...c/main/resources/mapper/cons/ConsTrackingRecordMapper.xml
+1
-1
ConsController.java
...ao/module/order/controller/admin/cons/ConsController.java
+2
-41
No files found.
yudao-module-bpm/yudao-module-bpm-base/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/task/BpmProcessInstanceExtMapper.java
View file @
fa070a78
...
@@ -89,4 +89,53 @@ public interface BpmProcessInstanceExtMapper extends BaseMapperX<BpmProcessInsta
...
@@ -89,4 +89,53 @@ public interface BpmProcessInstanceExtMapper extends BaseMapperX<BpmProcessInsta
})
})
IPage
<
BpmProcessInstanceExtDO
>
getMyProcessInstancePage
(
@Param
(
"mpPage"
)
IPage
<
BpmProcessInstanceExtDO
>
mpPage
,
@Param
(
"userId"
)
Long
userId
,
@Param
(
"reqVO"
)
BpmProcessInstanceMyPageReqVO
reqVO
);
IPage
<
BpmProcessInstanceExtDO
>
getMyProcessInstancePage
(
@Param
(
"mpPage"
)
IPage
<
BpmProcessInstanceExtDO
>
mpPage
,
@Param
(
"userId"
)
Long
userId
,
@Param
(
"reqVO"
)
BpmProcessInstanceMyPageReqVO
reqVO
);
@ResultType
(
BpmProcessInstanceExtDO
.
class
)
@Select
({
"<script>"
,
"SELECT"
,
"id,"
,
"start_user_id,"
,
"name,"
,
"process_instance_id,"
,
"process_definition_id,"
,
"category,"
,
"STATUS,"
,
"result,"
,
"end_time,"
,
"form_variables ->> '$.businessNo' as business_no,"
,
"create_time,"
,
"update_time,"
,
"creator,"
,
"updater,"
,
"deleted "
,
"FROM"
,
"bpm_process_instance_ext "
,
"WHERE"
,
"deleted = 0 "
,
"<when test = 'userId != null '>"
,
"and start_user_id = #{reqVO.userId}"
,
"</when>"
,
"<when test = 'reqVO.category != null '>"
,
"and category = #{reqVO.category}"
,
"</when>"
,
"<when test = 'reqVO.status != null '>"
,
"and status = #{reqVO.status}"
,
"</when>"
,
"<when test = 'reqVO.result != null '>"
,
"and result = #{reqVO.result}"
,
"</when>"
,
"<when test = 'reqVO.beginCreateTime != null and reqVO.endCreateTime != null '>"
,
"and create_time between #{reqVO.beginCreateTime} and #{reqVO.endCreateTime}"
,
"</when>"
,
"<when test = 'reqVO.name != null and reqVO.name != \"\" '>"
,
"and name LIKE concat('%',#{reqVO.name},'%')"
,
"</when>"
,
"<when test = 'reqVO.businessNo != null and reqVO.businessNo != \"\" '>"
,
"and form_variables ->> '$.businessNo' LIKE concat('%',#{reqVO.businessNo},'%')"
,
"</when>"
,
" order by id desc "
,
"</script>"
})
IPage
<
BpmProcessInstanceExtDO
>
getProcessInstancePage
(
@Param
(
"mpPage"
)
IPage
<
BpmProcessInstanceExtDO
>
mpPage
,
@Param
(
"reqVO"
)
BpmProcessInstanceMyPageReqVO
reqVO
);
}
}
yudao-module-bpm/yudao-module-bpm-impl-flowable/src/main/java/cn/iocoder/yudao/module/bpm/controller/admin/task/BpmProcessInstanceController.java
View file @
fa070a78
...
@@ -35,6 +35,13 @@ public class BpmProcessInstanceController {
...
@@ -35,6 +35,13 @@ public class BpmProcessInstanceController {
return
success
(
processInstanceService
.
getMyProcessInstancePage
(
getLoginUserId
(),
pageReqVO
));
return
success
(
processInstanceService
.
getMyProcessInstancePage
(
getLoginUserId
(),
pageReqVO
));
}
}
@GetMapping
(
"/page"
)
@ApiOperation
(
value
=
"获得我的实例分页列表"
,
notes
=
"在【我的流程】菜单中,进行调用"
)
@PreAuthorize
(
"@ss.hasPermission('bpm:process-instance:query')"
)
public
CommonResult
<
PageResult
<
BpmProcessInstancePageItemRespVO
>>
getProcessInstancePage
(
@Valid
BpmProcessInstanceMyPageReqVO
pageReqVO
)
{
return
success
(
processInstanceService
.
getProcessInstancePage
(
getLoginUserId
(),
pageReqVO
));
}
@PostMapping
(
"/create"
)
@PostMapping
(
"/create"
)
@ApiOperation
(
"新建流程实例"
)
@ApiOperation
(
"新建流程实例"
)
@PreAuthorize
(
"@ss.hasPermission('bpm:process-instance:query')"
)
@PreAuthorize
(
"@ss.hasPermission('bpm:process-instance:query')"
)
...
...
yudao-module-bpm/yudao-module-bpm-impl-flowable/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceService.java
View file @
fa070a78
...
@@ -56,6 +56,16 @@ public interface BpmProcessInstanceService {
...
@@ -56,6 +56,16 @@ public interface BpmProcessInstanceService {
*/
*/
PageResult
<
BpmProcessInstancePageItemRespVO
>
getMyProcessInstancePage
(
Long
userId
,
PageResult
<
BpmProcessInstancePageItemRespVO
>
getMyProcessInstancePage
(
Long
userId
,
@Valid
BpmProcessInstanceMyPageReqVO
pageReqVO
);
@Valid
BpmProcessInstanceMyPageReqVO
pageReqVO
);
/**
* 获得流程实例的分页
*
* @param userId 用户编号
* @param pageReqVO 分页请求
* @return 流程实例的分页
*/
PageResult
<
BpmProcessInstancePageItemRespVO
>
getProcessInstancePage
(
Long
userId
,
@Valid
BpmProcessInstanceMyPageReqVO
pageReqVO
);
/**
/**
* 创建流程实例(提供给前端)
* 创建流程实例(提供给前端)
*
*
...
...
yudao-module-bpm/yudao-module-bpm-impl-flowable/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmProcessInstanceServiceImpl.java
View file @
fa070a78
...
@@ -124,6 +124,25 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
...
@@ -124,6 +124,25 @@ public class BpmProcessInstanceServiceImpl implements BpmProcessInstanceService
return
BpmProcessInstanceConvert
.
INSTANCE
.
convertPage
(
pageResult
,
taskMap
);
return
BpmProcessInstanceConvert
.
INSTANCE
.
convertPage
(
pageResult
,
taskMap
);
}
}
@Override
public
PageResult
<
BpmProcessInstancePageItemRespVO
>
getProcessInstancePage
(
Long
userId
,
BpmProcessInstanceMyPageReqVO
pageReqVO
)
{
// 通过 BpmProcessInstanceExtDO 表,先查询到对应的分页
IPage
<
BpmProcessInstanceExtDO
>
mpPage
=
MyBatisUtils
.
buildPage
(
pageReqVO
);
processInstanceExtMapper
.
getMyProcessInstancePage
(
mpPage
,
userId
,
pageReqVO
);
PageResult
<
BpmProcessInstanceExtDO
>
pageResult
=
PageResult
.
of
(
mpPage
);
// 转换返回
if
(
CollUtil
.
isEmpty
(
pageResult
.
getList
()))
{
return
new
PageResult
<>(
pageResult
.
getTotal
());
}
// 获得流程 Task Map
List
<
String
>
processInstanceIds
=
convertList
(
pageResult
.
getList
(),
BpmProcessInstanceExtDO:
:
getProcessInstanceId
);
Map
<
String
,
List
<
Task
>>
taskMap
=
taskService
.
getTaskMapByProcessInstanceIds
(
processInstanceIds
);
// 转换返回
return
BpmProcessInstanceConvert
.
INSTANCE
.
convertPage
(
pageResult
,
taskMap
);
}
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
String
createProcessInstance
(
Long
userId
,
public
String
createProcessInstance
(
Long
userId
,
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/cons/ConsService.java
View file @
fa070a78
package
cn
.
iocoder
.
yudao
.
module
.
order
.
service
.
cons
;
package
cn
.
iocoder
.
yudao
.
module
.
order
.
service
.
cons
;
import
java.util.*
;
import
javax.validation.*
;
import
cn.iocoder.boot.module.order.api.dto.OrderRespDTO
;
import
cn.iocoder.yudao.framework.mybatis.core.vo.PageVO
;
import
cn.iocoder.yudao.framework.mybatis.core.service.IService
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.mybatis.core.service.IService
;
import
cn.iocoder.yudao.framework.mybatis.core.vo.PageVO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.cons.ConsDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.cons.ConsDO
;
import
cn.iocoder.yudao.module.order.vo.cons.*
;
import
cn.iocoder.yudao.module.order.vo.cons.*
;
import
cn.iocoder.yudao.module.order.vo.consApproval.ConsRetiredWarehouseCreateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consApproval.ConsRetiredWarehouseCreateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemBackVO
;
import
cn.iocoder.yudao.module.order.vo.order.OrderBackVO
;
import
cn.iocoder.yudao.module.order.vo.order.OrderBackVO
;
import
javax.validation.Valid
;
import
java.util.Collection
;
import
java.util.List
;
/**
/**
* 集运包裹主 Service 接口
* 集运包裹主 Service 接口
*
*
...
@@ -64,6 +63,8 @@ public interface ConsService extends IService<ConsDO> {
...
@@ -64,6 +63,8 @@ public interface ConsService extends IService<ConsDO> {
*/
*/
ConsBackVO
getConsInfo
(
Long
id
);
ConsBackVO
getConsInfo
(
Long
id
);
ConsBackVO
getConsById
(
Long
id
);
/**
/**
* 获得集运包裹主列表
* 获得集运包裹主列表
* @param ids 编号
* @param ids 编号
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/service/cons/ConsServiceImpl.java
View file @
fa070a78
...
@@ -10,7 +10,9 @@ import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO;
...
@@ -10,7 +10,9 @@ import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO;
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.api.BpmCreateServiceFactory
;
import
cn.iocoder.yudao.module.bpm.enums.WorkFlowEmus
;
import
cn.iocoder.yudao.module.bpm.enums.WorkFlowEmus
;
import
cn.iocoder.yudao.module.customer.dal.dataobject.customer.CustomerDO
;
import
cn.iocoder.yudao.module.customer.dal.dataobject.customerContacts.CustomerContactsDO
;
import
cn.iocoder.yudao.module.customer.dal.dataobject.customerContacts.CustomerContactsDO
;
import
cn.iocoder.yudao.module.customer.service.customer.CustomerService
;
import
cn.iocoder.yudao.module.customer.service.customerContacts.CustomerContactsService
;
import
cn.iocoder.yudao.module.customer.service.customerContacts.CustomerContactsService
;
import
cn.iocoder.yudao.module.depository.dal.mysql.warehouse.WarehouseLineMapper
;
import
cn.iocoder.yudao.module.depository.dal.mysql.warehouse.WarehouseLineMapper
;
import
cn.iocoder.yudao.module.depository.dto.LogisticsInfoDto
;
import
cn.iocoder.yudao.module.depository.dto.LogisticsInfoDto
;
...
@@ -18,6 +20,7 @@ import cn.iocoder.yudao.module.order.convert.cons.ConsConvert;
...
@@ -18,6 +20,7 @@ import cn.iocoder.yudao.module.order.convert.cons.ConsConvert;
import
cn.iocoder.yudao.module.order.convert.consLocation.ConsLocationConvert
;
import
cn.iocoder.yudao.module.order.convert.consLocation.ConsLocationConvert
;
import
cn.iocoder.yudao.module.order.dal.dataobject.cons.ConsDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.cons.ConsDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.consApproval.ConsApprovalDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.consApproval.ConsApprovalDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.consException.ConsExceptionDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.consFee.ConsFeeDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.consFee.ConsFeeDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.consItem.ConsItemDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.consItem.ConsItemDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.consLocation.ConsLocationDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.consLocation.ConsLocationDO
;
...
@@ -28,6 +31,9 @@ import cn.iocoder.yudao.module.order.dal.mysql.consApproval.ConsApprovalMapper;
...
@@ -28,6 +31,9 @@ import cn.iocoder.yudao.module.order.dal.mysql.consApproval.ConsApprovalMapper;
import
cn.iocoder.yudao.module.order.dal.mysql.consFee.ConsFeeMapper
;
import
cn.iocoder.yudao.module.order.dal.mysql.consFee.ConsFeeMapper
;
import
cn.iocoder.yudao.module.order.dto.OrderBackInfoDto
;
import
cn.iocoder.yudao.module.order.dto.OrderBackInfoDto
;
import
cn.iocoder.yudao.module.order.enums.OrderStatusEnum
;
import
cn.iocoder.yudao.module.order.enums.OrderStatusEnum
;
import
cn.iocoder.yudao.module.order.service.consApproval.ConsApprovalService
;
import
cn.iocoder.yudao.module.order.service.consException.ConsExceptionService
;
import
cn.iocoder.yudao.module.order.service.consFee.ConsFeeService
;
import
cn.iocoder.yudao.module.order.service.consItem.ConsItemService
;
import
cn.iocoder.yudao.module.order.service.consItem.ConsItemService
;
import
cn.iocoder.yudao.module.order.service.consLocation.ConsLocationService
;
import
cn.iocoder.yudao.module.order.service.consLocation.ConsLocationService
;
import
cn.iocoder.yudao.module.order.service.consMedia.ConsMediaService
;
import
cn.iocoder.yudao.module.order.service.consMedia.ConsMediaService
;
...
@@ -39,9 +45,9 @@ import cn.iocoder.yudao.module.order.vo.consApproval.ConsRetiredWarehouseCreateR
...
@@ -39,9 +45,9 @@ import cn.iocoder.yudao.module.order.vo.consApproval.ConsRetiredWarehouseCreateR
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemBackVO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemBackVO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemCreateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemCreateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemQueryVO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemQueryVO
;
import
cn.iocoder.yudao.module.order.vo.consLocation.ConsLocationBackVO
;
import
cn.iocoder.yudao.module.order.vo.consLocation.ConsLocationUpdateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consLocation.ConsLocationUpdateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consMedia.ConsMediaCreateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consMedia.ConsMediaCreateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consTrackingRecord.ConsTrackingRecordBackVO
;
import
cn.iocoder.yudao.module.order.vo.consTrackingRecord.ConsTrackingRecordCreateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consTrackingRecord.ConsTrackingRecordCreateReqVO
;
import
cn.iocoder.yudao.module.order.vo.order.OrderBackVO
;
import
cn.iocoder.yudao.module.order.vo.order.OrderBackVO
;
import
cn.iocoder.yudao.module.order.vo.orderConsignee.OrderConsigneeBackVO
;
import
cn.iocoder.yudao.module.order.vo.orderConsignee.OrderConsigneeBackVO
;
...
@@ -117,6 +123,24 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme
...
@@ -117,6 +123,24 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme
@Resource
@Resource
private
ConsFeeMapper
consFeeMapper
;
private
ConsFeeMapper
consFeeMapper
;
@Resource
private
ConsFeeService
consFeeService
;
@Resource
private
ConsApprovalService
consApprovalService
;
@Resource
private
CustomerService
customerService
;
@Resource
private
OrderService
orderService
;
@Resource
private
ConsMediaService
consentMediaService
;
@Resource
private
ConsExceptionService
consExceptionService
;
@Override
@Override
@Transactional
@Transactional
public
Long
createCons
(
ConsCreateReqVO
createReqVO
)
{
public
Long
createCons
(
ConsCreateReqVO
createReqVO
)
{
...
@@ -129,9 +153,6 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme
...
@@ -129,9 +153,6 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme
if
(
createReqVO
.
getTransportId
()
==
null
&&
createReqVO
.
getConsigneeCityId
()
==
null
)
{
if
(
createReqVO
.
getTransportId
()
==
null
&&
createReqVO
.
getConsigneeCityId
()
==
null
)
{
throw
exception
(
30004
,
"请选择运输方式或目的城市"
);
throw
exception
(
30004
,
"请选择运输方式或目的城市"
);
}
}
// if (createReqVO.getConsItemVOList().isEmpty()) {
// throw exception(30004, "包裹项不能为空");
// }
if
(
consMapper
.
selectOne
(
"express_no"
,
createReqVO
.
getExpressNo
())
!=
null
)
{
if
(
consMapper
.
selectOne
(
"express_no"
,
createReqVO
.
getExpressNo
())
!=
null
)
{
throw
exception
(
30004
,
"包裹快递号已存在"
);
throw
exception
(
30004
,
"包裹快递号已存在"
);
}
}
...
@@ -147,6 +168,7 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme
...
@@ -147,6 +168,7 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme
ConsDO
cons
=
ConsConvert
.
INSTANCE
.
convert
(
createReqVO
);
ConsDO
cons
=
ConsConvert
.
INSTANCE
.
convert
(
createReqVO
);
cons
.
setConsNum
(
consNum
);
cons
.
setConsNum
(
consNum
);
cons
.
setStatus
(
0
);
cons
.
setStatus
(
0
);
cons
.
setNeedInspect
(
0
);
consMapper
.
insert
(
cons
);
consMapper
.
insert
(
cons
);
if
(
createReqVO
.
getConsItemVOList
()
!=
null
&&
!
createReqVO
.
getConsItemVOList
().
isEmpty
())
{
if
(
createReqVO
.
getConsItemVOList
()
!=
null
&&
!
createReqVO
.
getConsItemVOList
().
isEmpty
())
{
createReqVO
.
getConsItemVOList
().
forEach
(
consItemVO
->
{
createReqVO
.
getConsItemVOList
().
forEach
(
consItemVO
->
{
...
@@ -325,6 +347,42 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme
...
@@ -325,6 +347,42 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme
return
consMapper
.
selectInfoById
(
id
);
return
consMapper
.
selectInfoById
(
id
);
}
}
@Override
public
ConsBackVO
getConsById
(
Long
id
)
{
ConsDO
cons
=
this
.
getCons
(
id
);
CustomerDO
customer
=
customerService
.
selectOne
(
"id"
,
cons
.
getCustomerId
());
CustomerContactsDO
customerContacts
=
customerContactsService
.
getDefaultContacts
(
cons
.
getCustomerId
());
List
<
ConsItemBackVO
>
consItemBackVOS
=
consItemService
.
getConsItemBackVOList
(
new
ConsItemQueryVO
().
setConsId
(
id
));
ConsBackVO
consBackVO
=
ConsConvert
.
INSTANCE
.
convert
(
cons
);
consBackVO
.
setConsItemVOList
(
consItemBackVOS
);
consBackVO
.
setAreaCode
(
customerContacts
.
getAreaCode
());
consBackVO
.
setPhoneNew
(
customerContacts
.
getPhoneNew
());
consBackVO
.
setCustomerName
(
customer
.
getName
());
if
(
consBackVO
.
getOrderId
()!=
null
){
OrderDO
orderDO
=
orderService
.
getById
(
consBackVO
.
getOrderId
());
consBackVO
.
setOrderNo
(
orderDO
.
getOrderNo
());
consBackVO
.
setOrderStatus
(
orderDO
.
getStatus
());
}
//获取签收图片
if
(
cons
.
getSigned
())
{
ConsMediaDO
consMedia
=
consentMediaService
.
getOne
(
new
LambdaQueryWrapperX
<
ConsMediaDO
>().
eq
(
ConsMediaDO:
:
getConsId
,
cons
.
getId
())
.
eq
(
ConsMediaDO:
:
getBizId
,
cons
.
getId
()));
consBackVO
.
setMediaUrl
(
consMedia
.
getMediaUrl
());
}
// 物流信息查询
LogisticsInfoDto
initialLogisticsInfoDto
=
warehouseLineMapper
.
getStartInfoAndDestInfoByLineId
(
cons
.
getWarehouseLineId
());
//初始物流信息
consBackVO
.
setInitialLogisticsInfoDto
(
initialLogisticsInfoDto
);
List
<
ConsTrackingRecordBackVO
>
consTrackingRecordDOS
=
consTrackingRecordService
.
getConsTrackingRecordByConsId
(
cons
.
getId
());
consBackVO
.
setTrackingRecord
(
consTrackingRecordDOS
);
List
<
ConsFeeDO
>
consFeeDoS
=
consFeeService
.
selectList
(
ConsFeeDO:
:
getConsId
,
consBackVO
.
getId
());
List
<
ConsApprovalDO
>
consApprovalDoS
=
consApprovalService
.
selectList
(
ConsApprovalDO:
:
getConsId
,
consBackVO
.
getId
());
consBackVO
.
setApprovalList
(
consApprovalDoS
);
consBackVO
.
setFeeList
(
consFeeDoS
);
return
consBackVO
;
}
@Override
@Override
public
List
<
ConsDO
>
getConsList
(
Collection
<
Long
>
ids
)
{
public
List
<
ConsDO
>
getConsList
(
Collection
<
Long
>
ids
)
{
return
consMapper
.
selectBatchIds
(
ids
);
return
consMapper
.
selectBatchIds
(
ids
);
...
@@ -346,6 +404,8 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme
...
@@ -346,6 +404,8 @@ public class ConsServiceImpl extends AbstractService<ConsMapper, ConsDO> impleme
consItemQueryVO
.
setConsId
(
consBackVO
.
getId
());
consItemQueryVO
.
setConsId
(
consBackVO
.
getId
());
List
<
ConsItemBackVO
>
consItemBackVOList
=
consItemService
.
getConsItemBackVOList
(
consItemQueryVO
);
List
<
ConsItemBackVO
>
consItemBackVOList
=
consItemService
.
getConsItemBackVOList
(
consItemQueryVO
);
consBackVO
.
setConsItemVOList
(
consItemBackVOList
);
consBackVO
.
setConsItemVOList
(
consItemBackVOList
);
List
<
ConsExceptionDO
>
consExceptionDOS
=
consExceptionService
.
selectList
(
ConsExceptionDO:
:
getConsId
,
consBackVO
.
getId
());
});
});
return
new
PageResult
<>(
consBackVOS
,
total
,
mpPage
.
getSize
(),
page
.
getPage
(),
(
total
+
mpPage
.
getSize
()
-
1
)
/
mpPage
.
getSize
());
return
new
PageResult
<>(
consBackVOS
,
total
,
mpPage
.
getSize
(),
page
.
getPage
(),
(
total
+
mpPage
.
getSize
()
-
1
)
/
mpPage
.
getSize
());
}
}
...
...
yudao-module-order/yudao-module-order-core/src/main/java/cn/iocoder/yudao/module/order/vo/cons/ConsBackVO.java
View file @
fa070a78
...
@@ -2,15 +2,13 @@ package cn.iocoder.yudao.module.order.vo.cons;
...
@@ -2,15 +2,13 @@ package cn.iocoder.yudao.module.order.vo.cons;
import
cn.iocoder.yudao.module.depository.dto.LogisticsInfoDto
;
import
cn.iocoder.yudao.module.depository.dto.LogisticsInfoDto
;
import
cn.iocoder.yudao.module.depository.vo.warehouse.WarehouseBackVO
;
import
cn.iocoder.yudao.module.depository.vo.warehouse.WarehouseBackVO
;
import
cn.iocoder.yudao.module.depository.vo.warehouse.WarehouseBaseVO
;
import
cn.iocoder.yudao.module.ecw.controller.admin.express.vo.ExpressBaseVO
;
import
cn.iocoder.yudao.module.ecw.controller.admin.express.vo.ExpressBaseVO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.consApproval.ConsApprovalDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.consFee.ConsFeeDO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemBackVO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemBackVO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemBaseVO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemBaseVO
;
import
cn.iocoder.yudao.module.order.vo.consLocation.ConsLocationBackVO
;
import
cn.iocoder.yudao.module.order.vo.consLocation.ConsLocationUpdateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consLocation.ConsLocationUpdateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consTrackingRecord.ConsTrackingRecordBackVO
;
import
cn.iocoder.yudao.module.order.vo.consTrackingRecord.ConsTrackingRecordBackVO
;
import
cn.iocoder.yudao.module.order.vo.consTrackingRecord.ConsTrackingRecordBaseVO
;
import
cn.iocoder.yudao.module.order.vo.orderItem.OrderItemBackVO
;
import
lombok.*
;
import
lombok.*
;
import
java.util.*
;
import
java.util.*
;
...
@@ -226,10 +224,22 @@ public class ConsBackVO {
...
@@ -226,10 +224,22 @@ public class ConsBackVO {
@ApiModelProperty
(
value
=
"动态"
)
@ApiModelProperty
(
value
=
"动态"
)
private
Integer
businessNode
;
private
Integer
businessNode
;
@ExcelProperty
(
"最新跟进状态"
)
@ApiModelProperty
(
value
=
"最新跟进状态"
)
private
Long
followId
;
@ExcelProperty
(
"最新跟进状态"
)
@ApiModelProperty
(
value
=
"最新跟进状态"
)
private
Integer
followStatus
;
@ExcelProperty
(
"最新跟进时间"
)
@ExcelProperty
(
"最新跟进时间"
)
@ApiModelProperty
(
value
=
"最新跟进时间"
)
@ApiModelProperty
(
value
=
"最新跟进时间"
)
@DateTimeFormat
(
pattern
=
FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND
)
@DateTimeFormat
(
pattern
=
FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND
)
private
Date
trackingTime
;
private
Date
followTime
;
@ExcelProperty
(
"最新跟进备注"
)
@ApiModelProperty
(
value
=
"最新跟进备注"
)
private
String
followContent
;
@ExcelProperty
(
"退仓状态"
)
@ExcelProperty
(
"退仓状态"
)
@ApiModelProperty
(
value
=
"退仓状态"
)
@ApiModelProperty
(
value
=
"退仓状态"
)
...
@@ -260,6 +270,12 @@ public class ConsBackVO {
...
@@ -260,6 +270,12 @@ public class ConsBackVO {
@ApiModelProperty
(
"快递公司"
)
@ApiModelProperty
(
"快递公司"
)
private
ExpressBaseVO
express
;
private
ExpressBaseVO
express
;
@ApiModelProperty
(
"在仓时长"
)
private
Integer
inWarehouseDays
;
@ApiModelProperty
(
"转运时间"
)
private
Date
consTransTime
;
/**
/**
* 包裹明细
* 包裹明细
*/
*/
...
@@ -270,6 +286,16 @@ public class ConsBackVO {
...
@@ -270,6 +286,16 @@ public class ConsBackVO {
*/
*/
private
List
<
ConsTrackingRecordBackVO
>
trackingRecord
;
private
List
<
ConsTrackingRecordBackVO
>
trackingRecord
;
/**
* 包裹费用
*/
private
List
<
ConsFeeDO
>
feeList
;
/**
* 审批列表
*/
private
List
<
ConsApprovalDO
>
approvalList
;
/**
/**
* 始发仓库信息
* 始发仓库信息
*/
*/
...
@@ -279,4 +305,16 @@ public class ConsBackVO {
...
@@ -279,4 +305,16 @@ public class ConsBackVO {
* 目的仓库信息
* 目的仓库信息
*/
*/
private
WarehouseBackVO
endWarehouse
;
private
WarehouseBackVO
endWarehouse
;
@ApiModelProperty
(
"是否有异常"
)
private
Boolean
hasErrors
;
@ApiModelProperty
(
"是否有退仓审批/退仓处理状态=未处理"
)
private
Boolean
hasReturnStatus
;
@ApiModelProperty
(
"是否存在撤出订单待审批流程"
)
private
Boolean
hasExitApproval
;
@ApiModelProperty
(
"是否存在追加订单待审批流程"
)
private
Boolean
hasAddApproval
;
}
}
yudao-module-order/yudao-module-order-core/src/main/resources/mapper/cons/ConsMapper.xml
View file @
fa070a78
...
@@ -9,6 +9,8 @@
...
@@ -9,6 +9,8 @@
LEFT JOIN ecw_warehouse ew_start ON ew_start.id = el.start_warehouse_id
LEFT JOIN ecw_warehouse ew_start ON ew_start.id = el.start_warehouse_id
LEFT JOIN ecw_warehouse ew_dest ON ew_dest.id = el.dest_warehouse_id
LEFT JOIN ecw_warehouse ew_dest ON ew_dest.id = el.dest_warehouse_id
left join ecw_order o on cons.order_id = o.order_id
left join ecw_order o on cons.order_id = o.order_id
left join (select * from ecw_cons_tracking_record ectr order by ectr.create_time desc limit 1) actrl on actrl.cons_id = cons.id
left join (select * from ecw_cons_followup ecf order by ecf.create_time desc limit 1) aecf on aecf.cons_id =cons.id
WHERE cons.deleted = 0
WHERE cons.deleted = 0
<include
refid=
"myConsQuery"
/>
<include
refid=
"myConsQuery"
/>
order by cons.create_time desc
order by cons.create_time desc
...
@@ -25,13 +27,28 @@
...
@@ -25,13 +27,28 @@
ew_dest.title_fr as destTitleFr,
ew_dest.title_fr as destTitleFr,
o.order_no,
o.order_no,
o.status as orderStatus,
o.status as orderStatus,
o.channel_id
o.channel_id,
o.create_time as consTransTime,
actrl.business_node,
aecf.id as followId,
aecf.status as followStatus,
aecf.follow_time as followTime,
aecf.follow_content as followContent,
CASE
WHEN cons.status = 2
THEN DATEDIFF(o.create_time, cons.signed_time)
WHEN cons.signed = 1 AND cons.signed_time IS NOT NULL
THEN DATEDIFF(NOW(),cons.signed_time)
ELSE NULL
END AS inWarehouseDays
FROM ecw_cons cons
FROM ecw_cons cons
left join ecw_customer ec on cons.customer_id = ec.id
left join ecw_customer ec on cons.customer_id = ec.id
left join ecw_warehouse_line el on cons.warehouse_line_id = el.id
left join ecw_warehouse_line el on cons.warehouse_line_id = el.id
left join ecw_warehouse ew_start ON ew_start.id = el.start_warehouse_id
left join ecw_warehouse ew_start ON ew_start.id = el.start_warehouse_id
left join ecw_warehouse ew_dest ON ew_dest.id = el.dest_warehouse_id
left join ecw_warehouse ew_dest ON ew_dest.id = el.dest_warehouse_id
left join ecw_order o on cons.order_id = o.order_id
left join ecw_order o on cons.order_id = o.order_id
left join (select * from ecw_cons_tracking_record ectr order by ectr.create_time desc limit 1) actrl on actrl.cons_id = cons.id
left join (select * from ecw_cons_followup ecf order by ecf.create_time desc limit 1) aecf on aecf.cons_id =cons.id
WHERE cons.deleted = 0
WHERE cons.deleted = 0
<include
refid=
"myConsQuery"
/>
<include
refid=
"myConsQuery"
/>
order by cons.create_time desc
order by cons.create_time desc
...
...
yudao-module-order/yudao-module-order-core/src/main/resources/mapper/cons/ConsTrackingRecordMapper.xml
View file @
fa070a78
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
eclc.lan_content as business_Description
eclc.lan_content as business_Description
FROM jiedao.ecw_cons_tracking_record ectr
FROM jiedao.ecw_cons_tracking_record ectr
left join ecw_cons_language_content eclc
left join ecw_cons_language_content eclc
on ectr.business_node = eclc.business_node and eclc.biz_id = ectr.
cons_
id
on ectr.business_node = eclc.business_node and eclc.biz_id = ectr.id
WHERE ectr.cons_id = #{consId}
WHERE ectr.cons_id = #{consId}
and eclc.lan_code = #{lang}
and eclc.lan_code = #{lang}
</select>
</select>
...
...
yudao-module-order/yudao-module-order-rest/src/main/java/cn/iocoder/yudao/module/order/controller/admin/cons/ConsController.java
View file @
fa070a78
...
@@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
...
@@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.common.util.code.CodeUtils
;
import
cn.iocoder.yudao.framework.common.util.code.CodeUtils
;
import
cn.iocoder.yudao.framework.excel.util.ExcelUtils
;
import
cn.iocoder.yudao.framework.excel.util.ExcelUtils
;
import
cn.iocoder.yudao.framework.idempotent.core.annotation.Idempotent
;
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.vo.PageVO
;
import
cn.iocoder.yudao.framework.mybatis.core.vo.PageVO
;
import
cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog
;
import
cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog
;
...
@@ -18,19 +17,14 @@ import cn.iocoder.yudao.module.depository.dto.LogisticsInfoDto;
...
@@ -18,19 +17,14 @@ import cn.iocoder.yudao.module.depository.dto.LogisticsInfoDto;
import
cn.iocoder.yudao.module.order.convert.cons.ConsConvert
;
import
cn.iocoder.yudao.module.order.convert.cons.ConsConvert
;
import
cn.iocoder.yudao.module.order.dal.dataobject.cons.ConsDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.cons.ConsDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.consMedia.ConsMediaDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.consMedia.ConsMediaDO
;
import
cn.iocoder.yudao.module.order.dal.dataobject.order.OrderDO
;
import
cn.iocoder.yudao.module.order.service.cons.ConsService
;
import
cn.iocoder.yudao.module.order.service.cons.ConsService
;
import
cn.iocoder.yudao.module.order.service.consItem.ConsItemService
;
import
cn.iocoder.yudao.module.order.service.consItem.ConsItemService
;
import
cn.iocoder.yudao.module.order.service.consLocation.ConsLocationService
;
import
cn.iocoder.yudao.module.order.service.consLocation.ConsLocationService
;
import
cn.iocoder.yudao.module.order.service.consMedia.ConsMediaService
;
import
cn.iocoder.yudao.module.order.service.consMedia.ConsMediaService
;
import
cn.iocoder.yudao.module.order.service.consTrackingRecord.ConsTrackingRecordService
;
import
cn.iocoder.yudao.module.order.service.order.OrderService
;
import
cn.iocoder.yudao.module.order.vo.cons.*
;
import
cn.iocoder.yudao.module.order.vo.cons.*
;
import
cn.iocoder.yudao.module.order.vo.consApproval.ConsApprovalQueryVO
;
import
cn.iocoder.yudao.module.order.vo.consApproval.ConsRetiredWarehouseCreateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consApproval.ConsRetiredWarehouseCreateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemBackVO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemBackVO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemQueryVO
;
import
cn.iocoder.yudao.module.order.vo.consItem.ConsItemQueryVO
;
import
cn.iocoder.yudao.module.order.vo.consLocation.ConsLocationBackVO
;
import
cn.iocoder.yudao.module.order.vo.consLocation.ConsLocationUpdateReqVO
;
import
cn.iocoder.yudao.module.order.vo.consLocation.ConsLocationUpdateReqVO
;
import
cn.iocoder.yudao.module.order.vo.order.OrderBackVO
;
import
cn.iocoder.yudao.module.order.vo.order.OrderBackVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -48,12 +42,9 @@ import java.io.IOException;
...
@@ -48,12 +42,9 @@ import java.io.IOException;
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
.
pojo
.
CommonResult
.
success
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
pojo
.
CommonResult
.
success
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
operatelog
.
core
.
enums
.
OperateTypeEnum
.
EXPORT
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
operatelog
.
core
.
enums
.
OperateTypeEnum
.
EXPORT
;
import
static
cn
.
iocoder
.
yudao
.
module
.
order
.
enums
.
ErrorCodeConstants
.
NOT_FIND_LOGISTICS_INFO
;
@Validated
@Validated
...
@@ -68,9 +59,6 @@ public class ConsController {
...
@@ -68,9 +59,6 @@ public class ConsController {
@Resource
@Resource
private
CustomerContactsService
customerContactsService
;
private
CustomerContactsService
customerContactsService
;
@Resource
private
ConsTrackingRecordService
consTrackingRecordService
;
@Resource
@Resource
private
ConsMediaService
consentMediaService
;
private
ConsMediaService
consentMediaService
;
...
@@ -83,9 +71,6 @@ public class ConsController {
...
@@ -83,9 +71,6 @@ public class ConsController {
@Resource
@Resource
private
ConsItemService
consItemService
;
private
ConsItemService
consItemService
;
@Resource
private
OrderService
orderService
;
@Resource
@Resource
private
ConsLocationService
consLocationService
;
private
ConsLocationService
consLocationService
;
...
@@ -134,32 +119,8 @@ public class ConsController {
...
@@ -134,32 +119,8 @@ public class ConsController {
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
true
,
example
=
"1024"
,
dataTypeClass
=
Long
.
class
)
@ApiImplicitParam
(
name
=
"id"
,
value
=
"编号"
,
required
=
true
,
example
=
"1024"
,
dataTypeClass
=
Long
.
class
)
@PreAuthorize
(
"@ss.hasPermission('ecw:cons:query')"
)
@PreAuthorize
(
"@ss.hasPermission('ecw:cons:query')"
)
public
CommonResult
<
ConsBackVO
>
getCons
(
@RequestParam
(
"id"
)
Long
id
)
{
public
CommonResult
<
ConsBackVO
>
getCons
(
@RequestParam
(
"id"
)
Long
id
)
{
ConsDO
cons
=
consService
.
getCons
(
id
);
ConsBackVO
consById
=
consService
.
getConsById
(
id
);
CustomerDO
customer
=
customerService
.
selectOne
(
"id"
,
cons
.
getCustomerId
());
return
success
(
consById
);
CustomerContactsDO
customerContacts
=
customerContactsService
.
getDefaultContacts
(
cons
.
getCustomerId
());
List
<
ConsItemBackVO
>
consItemBackVOS
=
consItemService
.
getConsItemBackVOList
(
new
ConsItemQueryVO
().
setConsId
(
id
));
ConsBackVO
consBackVO
=
ConsConvert
.
INSTANCE
.
convert
(
cons
);
consBackVO
.
setConsItemVOList
(
consItemBackVOS
);
consBackVO
.
setAreaCode
(
customerContacts
.
getAreaCode
());
consBackVO
.
setPhoneNew
(
customerContacts
.
getPhoneNew
());
consBackVO
.
setCustomerName
(
customer
.
getName
());
if
(
consBackVO
.
getOrderId
()!=
null
){
OrderDO
orderDO
=
orderService
.
getById
(
consBackVO
.
getOrderId
());
consBackVO
.
setOrderNo
(
orderDO
.
getOrderNo
());
consBackVO
.
setOrderStatus
(
orderDO
.
getStatus
());
}
//获取签收图片
if
(
cons
.
getSigned
())
{
ConsMediaDO
consMedia
=
consentMediaService
.
getOne
(
new
LambdaQueryWrapperX
<
ConsMediaDO
>().
eq
(
ConsMediaDO:
:
getConsId
,
cons
.
getId
())
.
eq
(
ConsMediaDO:
:
getBizId
,
cons
.
getId
()));
consBackVO
.
setMediaUrl
(
consMedia
.
getMediaUrl
());
}
// 物流信息查询
LogisticsInfoDto
initialLogisticsInfoDto
=
warehouseLineMapper
.
getStartInfoAndDestInfoByLineId
(
cons
.
getWarehouseLineId
());
//初始物流信息
consBackVO
.
setInitialLogisticsInfoDto
(
initialLogisticsInfoDto
);
return
success
(
consBackVO
);
}
}
@GetMapping
(
"/list"
)
@GetMapping
(
"/list"
)
...
...
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