Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
ccc13591
提交
ccc13591
authored
8月 06, 2024
作者:
刘海泉
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加批量取消运单的接口
上级
0ff581bc
隐藏空白字符变更
内嵌
并排
正在显示
18 个修改的文件
包含
315 行增加
和
36 行删除
+315
-36
UpdateCarrierBatchCancelVO.java
...x/performance/vo/pc/child/UpdateCarrierBatchCancelVO.java
+31
-0
CarrierOrderChildController.java
...erformance/controller/pc/CarrierOrderChildController.java
+3
-3
OrderChildDao.java
.../src/main/java/com/clx/performance/dao/OrderChildDao.java
+5
-0
OrderGoodsDao.java
.../src/main/java/com/clx/performance/dao/OrderGoodsDao.java
+4
-0
OrderChildDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
+11
-0
OrderGoodsDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java
+9
-0
OrderGoodsCancelWeightDTO.java
...va/com/clx/performance/dto/OrderGoodsCancelWeightDTO.java
+22
-0
OrderGoodsNotCancelChildDTO.java
.../com/clx/performance/dto/OrderGoodsNotCancelChildDTO.java
+20
-0
DriverService.java
...java/com/clx/performance/extranal/user/DriverService.java
+6
-0
DriverServiceImpl.java
...clx/performance/extranal/user/impl/DriverServiceImpl.java
+8
-0
OrderChildMapper.java
...ain/java/com/clx/performance/mapper/OrderChildMapper.java
+11
-0
OrderGoodsMapper.java
...ain/java/com/clx/performance/mapper/OrderGoodsMapper.java
+7
-0
OrderChildLogService.java
...ava/com/clx/performance/service/OrderChildLogService.java
+1
-1
OrderChildService.java
...n/java/com/clx/performance/service/OrderChildService.java
+2
-1
OrderChildLogServiceImpl.java
...lx/performance/service/impl/OrderChildLogServiceImpl.java
+5
-0
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+108
-31
OrderChildSqlProvider.java
...om/clx/performance/sqlProvider/OrderChildSqlProvider.java
+34
-0
OrderGoodsSqlProvider.java
...om/clx/performance/sqlProvider/OrderGoodsSqlProvider.java
+28
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/vo/pc/child/UpdateCarrierBatchCancelVO.java
0 → 100644
浏览文件 @
ccc13591
package
com
.
clx
.
performance
.
vo
.
pc
.
child
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.util.List
;
/**
* @ClassName UpdateCarrierBatchCancelVO
* @Description
* @Author kavin
* @Date 2024/8/6 15:17
* @Version 1.0
*/
@Getter
@Setter
public
class
UpdateCarrierBatchCancelVO
{
@ApiModelProperty
(
"成功取消运单数量"
)
private
Integer
successCount
;
@ApiModelProperty
(
"失败的运单编号集合"
)
private
List
<
String
>
failChildNoList
;
}
performance-web/src/main/java/com/clx/performance/controller/pc/CarrierOrderChildController.java
浏览文件 @
ccc13591
...
...
@@ -8,6 +8,7 @@ import com.clx.performance.param.pc.PageCarrierOrderChildParam;
import
com.clx.performance.param.pc.PageMonitorOrderChildQCParam
;
import
com.clx.performance.service.OrderChildService
;
import
com.clx.performance.vo.pc.*
;
import
com.clx.performance.vo.pc.child.UpdateCarrierBatchCancelVO
;
import
com.msl.common.base.PageData
;
import
com.msl.common.convertor.aspect.UnitCovert
;
import
com.msl.common.result.Result
;
...
...
@@ -131,9 +132,8 @@ public class CarrierOrderChildController {
@ApiOperation
(
value
=
"批量取消运单"
,
notes
=
"<br>By:刘海泉"
)
@PostMapping
(
"/updateCarrierBatchCancel"
)
public
Result
<
List
<
String
>>
updateCarrierBatchCancel
(
@RequestBody
@Validated
OrderChildCarrierBatchCancelParam
param
)
{
List
<
String
>
cancelFailList
=
orderChildService
.
updateCarrierBatchCancel
(
param
);
return
Result
.
ok
(
cancelFailList
);
public
Result
<
UpdateCarrierBatchCancelVO
>
updateCarrierBatchCancel
(
@RequestBody
@Validated
OrderChildCarrierBatchCancelParam
param
)
{
return
Result
.
ok
(
orderChildService
.
updateCarrierBatchCancel
(
param
));
}
}
performance-web/src/main/java/com/clx/performance/dao/OrderChildDao.java
浏览文件 @
ccc13591
...
...
@@ -3,6 +3,7 @@ package com.clx.performance.dao;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.dto.OrderGoodsNotCancelChildDTO
;
import
com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO
;
import
com.clx.performance.mapper.OrderChildMapper
;
import
com.clx.performance.model.OrderChild
;
...
...
@@ -204,4 +205,8 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List
<
OrderChild
>
listCompleteByOrderNos
(
List
<
String
>
strings
);
List
<
OrderChild
>
listBeforeUnloadOrderChild
(
LocalDateTime
startTime
,
LocalDateTime
endTime
);
List
<
OrderGoodsNotCancelChildDTO
>
countValidByOrderGoodsNoList
(
List
<
String
>
orderGoodsList
);
void
batchUpdateCancel
(
List
<
OrderChild
>
canCancelOrderChildList
);
}
performance-web/src/main/java/com/clx/performance/dao/OrderGoodsDao.java
浏览文件 @
ccc13591
...
...
@@ -2,6 +2,7 @@ package com.clx.performance.dao;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.dto.OrderGoodsCancelWeightDTO
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OrderGoodsFleetOpenTruck
;
...
...
@@ -111,4 +112,7 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
List
<
OrderGoods
>
listAfterCreatedByOrderNo
(
String
orderNo
);
void
batchUpdateOrderGoodsPaying
(
List
<
OrderGoods
>
updateOrderGoods
);
void
batchCancelOrderGoodsWeight
(
List
<
OrderGoodsCancelWeightDTO
>
cancelOrderGoodsList
);
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
浏览文件 @
ccc13591
...
...
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.dto.OrderGoodsNotCancelChildDTO
;
import
com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.mapper.OrderChildMapper
;
...
...
@@ -684,4 +685,14 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
.
le
(
OrderChild
::
getCreateTime
,
endTime
)
);
}
@Override
public
List
<
OrderGoodsNotCancelChildDTO
>
countValidByOrderGoodsNoList
(
List
<
String
>
orderGoodsList
)
{
return
baseMapper
.
countValidByOrderGoodsNoList
(
orderGoodsList
);
}
@Override
public
void
batchUpdateCancel
(
List
<
OrderChild
>
canCancelOrderChildList
)
{
baseMapper
.
batchUpdateCancel
(
canCancelOrderChildList
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java
浏览文件 @
ccc13591
...
...
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.dto.OrderGoodsCancelWeightDTO
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
import
com.clx.performance.model.OrderGoods
;
...
...
@@ -312,7 +313,15 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
.
ne
(
OrderGoods:
:
getOrderGoodsStatus
,
OrderGoodsStatusEnum
.
Status
.
CREATED
.
getCode
())
.
orderByDesc
(
OrderGoods
::
getPendingOrderTime
)
);
}
@Override
public
void
batchUpdateOrderGoodsPaying
(
List
<
OrderGoods
>
updateOrderGoods
)
{
baseMapper
.
batchUpdateOrderGoodsPaying
(
updateOrderGoods
);
}
@Override
public
void
batchCancelOrderGoodsWeight
(
List
<
OrderGoodsCancelWeightDTO
>
cancelOrderGoodsList
)
{
baseMapper
.
batchCancelOrderGoodsWeight
(
cancelOrderGoodsList
);
}
}
performance-web/src/main/java/com/clx/performance/dto/OrderGoodsCancelWeightDTO.java
0 → 100644
浏览文件 @
ccc13591
package
com
.
clx
.
performance
.
dto
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
/**
* @ClassName OrderGoodsNotCancelChildDTO
* @Description
* @Author kavin
* @Date 2024/8/6 10:52
* @Version 1.0
*/
@Getter
@Setter
public
class
OrderGoodsCancelWeightDTO
{
private
String
orderGoodsNo
;
//货单编号
private
BigDecimal
weight
;
//归还货单的吨数
}
performance-web/src/main/java/com/clx/performance/dto/OrderGoodsNotCancelChildDTO.java
0 → 100644
浏览文件 @
ccc13591
package
com
.
clx
.
performance
.
dto
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* @ClassName OrderGoodsNotCancelChildDTO
* @Description
* @Author kavin
* @Date 2024/8/6 10:52
* @Version 1.0
*/
@Getter
@Setter
public
class
OrderGoodsNotCancelChildDTO
{
private
String
orderGoodsNo
;
//货单编号
private
Long
count
;
//货单下未取消的运单数量
}
performance-web/src/main/java/com/clx/performance/extranal/user/DriverService.java
浏览文件 @
ccc13591
package
com
.
clx
.
performance
.
extranal
.
user
;
import
com.clx.user.param.feign.BatchUpdateDriverAndTruckParam
;
import
com.clx.user.vo.feign.DriverInfoFeignVo
;
import
com.clx.user.vo.feign.DriverTruckInfoFeignVo
;
import
com.clx.user.vo.feign.FeignDriverTruckModelVo
;
import
com.msl.common.base.Optional
;
import
java.util.List
;
public
interface
DriverService
{
...
...
@@ -18,4 +21,7 @@ public interface DriverService {
Optional
<
FeignDriverTruckModelVo
>
getDumpType
(
String
truckModel
);
//通过车型获取自卸非自卸
//批量恢复司机和车辆状态
void
batchUpdateDriverAndTruckStatusCancel
(
List
<
BatchUpdateDriverAndTruckParam
>
list
);
}
performance-web/src/main/java/com/clx/performance/extranal/user/impl/DriverServiceImpl.java
浏览文件 @
ccc13591
...
...
@@ -2,6 +2,7 @@ package com.clx.performance.extranal.user.impl;
import
com.clx.performance.extranal.user.DriverService
;
import
com.clx.user.feign.DriverFeign
;
import
com.clx.user.param.feign.BatchUpdateDriverAndTruckParam
;
import
com.clx.user.vo.feign.DriverInfoFeignVo
;
import
com.clx.user.vo.feign.DriverTruckInfoFeignVo
;
import
com.clx.user.vo.feign.FeignDriverTruckModelVo
;
...
...
@@ -13,6 +14,7 @@ import lombok.AllArgsConstructor;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Objects
;
@Slf4j
...
...
@@ -66,4 +68,10 @@ public class DriverServiceImpl implements DriverService {
return
Optional
.
ofNullable
(
result
.
getData
());
}
@Override
public
void
batchUpdateDriverAndTruckStatusCancel
(
List
<
BatchUpdateDriverAndTruckParam
>
list
)
{
Optional
.
ofNullable
(
driverFeign
.
batchUpdateOrderStatus
(
list
))
.
filter
(
Result:
:
succeed
).
orElseThrow
(
ResultCodeEnum
.
FAIL
);
}
}
performance-web/src/main/java/com/clx/performance/mapper/OrderChildMapper.java
浏览文件 @
ccc13591
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.dto.OrderGoodsNotCancelChildDTO
;
import
com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.param.app.PageOrderChildOfDriverParam
;
...
...
@@ -176,4 +177,13 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
" group by order_goods_no "
+
"</script>"
)
List
<
CancelOrderGoodsWeightDTO
>
statisticsCancelOrderGoodsWeight
(
@Param
(
"list"
)
List
<
String
>
childNos
);
@SelectProvider
(
type
=
OrderChildSqlProvider
.
class
,
method
=
"countValidByOrderGoodsNoList"
)
List
<
OrderGoodsNotCancelChildDTO
>
countValidByOrderGoodsNoList
(
@Param
(
"orderGoodsList"
)
List
<
String
>
orderGoodsList
);
@SelectProvider
(
type
=
OrderChildSqlProvider
.
class
,
method
=
"batchUpdateCancel"
)
void
batchUpdateCancel
(
@Param
(
"canCancelOrderChildList"
)
List
<
OrderChild
>
canCancelOrderChildList
);
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/mapper/OrderGoodsMapper.java
浏览文件 @
ccc13591
...
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.dto.OrderGoodsCancelWeightDTO
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OrderGoodsFleetOpenTruck
;
import
com.clx.performance.param.app.AppGoodsOrderSearchParam
;
...
...
@@ -108,4 +109,10 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
void
batchCancelOrderGoods
(
List
<
CancelOrderGoodsWeightDTO
>
cancelOrderGoodsWeight
);
@UpdateProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"batchUpdateOrderGoodsPaying"
)
void
batchUpdateOrderGoodsPaying
(
@Param
(
"updateOrderGoods"
)
List
<
OrderGoods
>
updateOrderGoods
);
@UpdateProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"batchCancelOrderGoodsWeight"
)
void
batchCancelOrderGoodsWeight
(
@Param
(
"cancelOrderGoodsList"
)
List
<
OrderGoodsCancelWeightDTO
>
cancelOrderGoodsList
);
}
performance-web/src/main/java/com/clx/performance/service/OrderChildLogService.java
浏览文件 @
ccc13591
package
com
.
clx
.
performance
.
service
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChildLog
;
import
java.util.List
;
...
...
@@ -16,4 +15,5 @@ public interface OrderChildLogService {
void
saveBatchOrderChildLog
(
List
<
OrderChildLog
>
logs
);
void
batchSaveCarrierOrderChildLogs
(
List
<
OrderChildLog
>
logs
);
}
performance-web/src/main/java/com/clx/performance/service/OrderChildService.java
浏览文件 @
ccc13591
...
...
@@ -11,6 +11,7 @@ import com.clx.performance.param.pc.*;
import
com.clx.performance.vo.app.*
;
import
com.clx.performance.vo.app.owner.OwnerOrderChildVO
;
import
com.clx.performance.vo.pc.*
;
import
com.clx.performance.vo.pc.child.UpdateCarrierBatchCancelVO
;
import
com.msl.common.base.PageParam
;
import
org.apache.poi.xssf.streaming.SXSSFWorkbook
;
...
...
@@ -109,5 +110,5 @@ public interface OrderChildService {
void
cacheOrderChildExpectData
(
String
childNo
,
OrderChildExpectDTO
expect
);
List
<
String
>
updateCarrierBatchCancel
(
OrderChildCarrierBatchCancelParam
param
);
UpdateCarrierBatchCancelVO
updateCarrierBatchCancel
(
OrderChildCarrierBatchCancelParam
param
);
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildLogServiceImpl.java
浏览文件 @
ccc13591
...
...
@@ -52,4 +52,9 @@ public class OrderChildLogServiceImpl implements OrderChildLogService {
public
void
saveBatchOrderChildLog
(
List
<
OrderChildLog
>
logs
)
{
orderChildLogDao
.
saveBatchList
(
logs
);
}
@Override
public
void
batchSaveCarrierOrderChildLogs
(
List
<
OrderChildLog
>
logs
)
{
orderChildLogDao
.
saveBatchList
(
logs
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
ccc13591
...
...
@@ -22,6 +22,8 @@ import com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.dto.OrderChildExpectDTO
;
import
com.clx.performance.dto.OrderGoodsCancelWeightDTO
;
import
com.clx.performance.dto.OrderGoodsNotCancelChildDTO
;
import
com.clx.performance.dto.gd.GdRouteDTO
;
import
com.clx.performance.dto.payment.PaymentDTO
;
import
com.clx.performance.dto.payment.WalletResidueCardDTO
;
...
...
@@ -59,8 +61,10 @@ import com.clx.performance.utils.zjxl.ZjxlGpsService;
import
com.clx.performance.vo.app.*
;
import
com.clx.performance.vo.app.owner.OwnerOrderChildVO
;
import
com.clx.performance.vo.pc.*
;
import
com.clx.performance.vo.pc.child.UpdateCarrierBatchCancelVO
;
import
com.clx.user.enums.driver.DriverInfoEnum
;
import
com.clx.user.feign.DocumentFeign
;
import
com.clx.user.param.feign.BatchUpdateDriverAndTruckParam
;
import
com.clx.user.vo.feign.DriverTruckInfoFeignVo
;
import
com.clx.user.vo.feign.OwnerInfoFeignVO
;
import
com.msl.common.base.Optional
;
...
...
@@ -3026,8 +3030,11 @@ public class OrderChildServiceImpl implements OrderChildService {
}
return
charts
;
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
public
List
<
String
>
updateCarrierBatchCancel
(
OrderChildCarrierBatchCancelParam
param
)
{
public
UpdateCarrierBatchCancelVO
updateCarrierBatchCancel
(
OrderChildCarrierBatchCancelParam
param
)
{
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
List
<
OrderChild
>
orderChildList
=
orderChildDao
.
listInField
(
OrderChild:
:
getChildNo
,
param
.
getChildNoList
());
List
<
OrderChild
>
canCancelOrderChildList
=
new
ArrayList
<>();
//可以取消的运单集合
List
<
OrderChild
>
notCancelOrderChildList
=
new
ArrayList
<>();
//不可以取消的运单集合
...
...
@@ -3040,50 +3047,120 @@ public class OrderChildServiceImpl implements OrderChildService {
notCancelOrderChildList
.
add
(
child
);
}
}
// 返回吨数
batchUpdateOrderGoodsWeightReturn
(
canCancelOrderChildList
);
/* // 禁止取消 (卸车前取消)
if (orderChild.getStatus() >= OrderChildEnum.Status.UNLOAD.getCode()) {
throw new ServiceSystemException(PerformanceResultEnum.ORDER_CHILD_CANCEL_FORBID);
}
// 更新出车状态
batchUpdateDriverAndTruckStatusCancel
(
canCancelOrderChildList
);
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(
PerformanceResultEnum.DATA_NOT_FIND);
// 定向
OrderGoodsTruckBind orderGoodsTruckBind = null;
if (Objects.equals(orderGoods.getPendingOrderWay(), OrderGoodsPendingOrderWayStatusEnum.Status.EXCLUSIVE.getCode())
|| Objects.equals(orderGoods.getPendingOrderWay(), OrderGoodsPendingOrderWayStatusEnum.Status.FLEET_EXCLUSIVE.getCode())) {
orderGoodsTruckBind = orderGoodsTruckBindDao.getByOrderGoodsNoAndTruckNo(orderGoods.getOrderGoodsNo(),
orderChild.getTruckNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
canCancelOrderChildList
.
forEach
(
orderChild
->{
orderChild
.
setCancelRemark
(
param
.
getRemark
());
orderChild
.
setCancelTime
(
LocalDateTime
.
now
());
orderChild
.
setFinishTime
(
orderChild
.
getCancelTime
());
orderChild
.
setStatus
(
OrderChildEnum
.
Status
.
PLATFORM_CANCEL
.
getCode
());
});
orderChildDao
.
batchUpdateCancel
(
canCancelOrderChildList
);
List
<
OrderChildLog
>
logs
=
new
ArrayList
<>();
OrderChildLog
orderChildLog
;
for
(
OrderChild
child
:
canCancelOrderChildList
)
{
orderChildLog
=
new
OrderChildLog
();
orderChildLog
.
setChildNo
(
child
.
getChildNo
());
orderChildLog
.
setType
(
OrderChildLogEnum
.
Type
.
PLATFORM_CANCEL
.
getCode
());
orderChildLog
.
setRemark
(
OrderChildLogEnum
.
Type
.
PLATFORM_CANCEL
.
getMsg
());
orderChildLog
.
setCreateType
(
OrderChildLogEnum
.
CreateType
.
PLATFORM
.
getCode
());
orderChildLog
.
setCreateBy
(
loginUserInfo
.
getUserNo
());
orderChildLog
.
setCreateName
(
loginUserInfo
.
getUserName
());
logs
.
add
(
orderChildLog
);
}
orderChild.setCancelRemark(param.getRemark());
orderChild.setCancelTime(LocalDateTime.now());
orderChild.setFinishTime(orderChild.getCancelTime());
orderChild.setStatus(OrderChildEnum.Status.PLATFORM_CANCEL.getCode());
// 批量保存日志
orderChildLogService
.
batchSaveCarrierOrderChildLogs
(
logs
);
// 返回吨数
updateOrderGoodsAmountReturn(orderChild, orderGoods);
// 承运取消后置逻辑
canCancelOrderChildList
.
forEach
(
orderChild
->
orderChildPostService
.
orderChildCancelByCarrier
(
orderChild
,
UserTypeEnum
.
CARRIER
.
getCode
(),
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
()));
// 取消定向
updateOrderGoodsDirectCancel(orderGoods,orderGoodsTruckBind);
orderChildDao.updateCancel(orderChild);
UpdateCarrierBatchCancelVO
result
=
new
UpdateCarrierBatchCancelVO
();
result
.
setFailChildNoList
(
notCancelOrderChildList
.
stream
().
map
(
OrderChild
::
getChildNo
).
collect
(
Collectors
.
toList
()));
result
.
setSuccessCount
(
canCancelOrderChildList
.
size
());
return
result
;
}
// 更新出车状态
updateDriverOrderStatusCancel(orderChild.getDriverUserNo(), orderChild.getTruckId());
// 日志
orderChildLogService.saveCarrierOrderChildLog(childNo, OrderChildLogEnum.Type.PLATFORM_CANCEL.getCode(),
OrderChildLogEnum.Type.PLATFORM_CANCEL.getMsg(), loginUserInfo.getUserNo(),
loginUserInfo.getUserName());
private
void
batchUpdateOrderGoodsWeightReturn
(
List
<
OrderChild
>
canCancelOrderChildList
)
{
//按照货单分组,每个货单下取消的运单个数map
Map
<
String
,
Long
>
orderGoodsChildsMap
=
new
HashMap
<>();
//
承运取消后置逻辑
orderChildPostService.orderChildCancelByCarrier(orderChild, UserTypeEnum.CARRIER.getCode(), loginUserInfo.getUserNo(), loginUserInfo.getUserName());*/
//
货单归还吨数Map
Map
<
String
,
BigDecimal
>
cancelOrderGoodsWeightMap
=
new
HashMap
<>();
for
(
OrderChild
child
:
canCancelOrderChildList
)
{
Long
count
=
Objects
.
nonNull
(
orderGoodsChildsMap
.
get
(
child
.
getOrderGoodsNo
()))?
orderGoodsChildsMap
.
get
(
child
.
getOrderGoodsNo
())
+
1
:
1
;
orderGoodsChildsMap
.
put
(
child
.
getOrderGoodsNo
(),
count
);
BigDecimal
weight
=
Objects
.
nonNull
(
cancelOrderGoodsWeightMap
.
get
(
child
.
getOrderGoodsNo
()))?
cancelOrderGoodsWeightMap
.
get
(
child
.
getOrderGoodsNo
()).
add
(
child
.
getWeight
()):
child
.
getWeight
();
cancelOrderGoodsWeightMap
.
put
(
child
.
getOrderGoodsNo
(),
weight
);
}
List
<
String
>
orderGoodsList
=
new
ArrayList
<>(
orderGoodsChildsMap
.
keySet
());
//查询当前货单下的运单个数Map
List
<
OrderGoodsNotCancelChildDTO
>
list
=
orderChildDao
.
countValidByOrderGoodsNoList
(
orderGoodsList
);
//货单下全部运单都已取消。则重置货单状态为挂单中
List
<
OrderGoods
>
updateOrderGoods
=
new
ArrayList
<>();
for
(
OrderGoodsNotCancelChildDTO
dto
:
list
){
if
(
Objects
.
nonNull
(
orderGoodsChildsMap
.
get
(
dto
.
getOrderGoodsNo
()))){
//此时取消的货单下运单数量等于该货单下未取消的运单数量,则设置货单状态为挂单中
if
(
Objects
.
equals
(
orderGoodsChildsMap
.
get
(
dto
.
getOrderGoodsNo
()),
dto
.
getCount
())){
OrderGoods
orderGoods
=
new
OrderGoods
();
orderGoods
.
setOrderGoodsNo
(
dto
.
getOrderGoodsNo
());
orderGoods
.
setOrderGoodsStatus
(
OrderGoodsStatusEnum
.
Status
.
PAYING
.
getCode
());
updateOrderGoods
.
add
(
orderGoods
);
}
}
}
//货单还吨集合
List
<
OrderGoodsCancelWeightDTO
>
cancelOrderGoodsList
=
new
ArrayList
<>();
OrderGoodsCancelWeightDTO
dto
;
for
(
Map
.
Entry
<
String
,
BigDecimal
>
entry
:
cancelOrderGoodsWeightMap
.
entrySet
()){
dto
=
new
OrderGoodsCancelWeightDTO
();
dto
.
setOrderGoodsNo
(
entry
.
getKey
());
dto
.
setWeight
(
entry
.
getValue
());
cancelOrderGoodsList
.
add
(
dto
);
}
//更新货到状态
if
(
CollectionUtils
.
isNotEmpty
(
updateOrderGoods
)){
orderGoodsDao
.
batchUpdateOrderGoodsPaying
(
updateOrderGoods
);
}
//归还货单吨数
if
(
CollectionUtils
.
isNotEmpty
(
cancelOrderGoodsList
)){
orderGoodsDao
.
batchCancelOrderGoodsWeight
(
cancelOrderGoodsList
);
}
}
return
notCancelOrderChildList
.
stream
().
map
(
OrderChild
::
getChildNo
).
collect
(
Collectors
.
toList
());
private
void
batchUpdateDriverAndTruckStatusCancel
(
List
<
OrderChild
>
list
)
{
if
(
CollectionUtils
.
isEmpty
(
list
)){
return
;
}
List
<
BatchUpdateDriverAndTruckParam
>
paramList
=
new
ArrayList
<>();
BatchUpdateDriverAndTruckParam
param
;
for
(
OrderChild
child
:
list
)
{
param
=
new
BatchUpdateDriverAndTruckParam
();
param
.
setTruckId
(
child
.
getTruckId
());
param
.
setDriverUserNo
(
child
.
getDriverUserNo
());
param
.
setDriverOrderStatus
(
DriverInfoEnum
.
DriverStatus
.
NO
.
getCode
());
param
.
setTruckOrderStatus
(
DriverTruckEnum
.
TruckOrderStatus
.
EMPTY
.
getCode
());
paramList
.
add
(
param
);
}
driverService
.
batchUpdateDriverAndTruckStatusCancel
(
paramList
);
}
}
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderChildSqlProvider.java
浏览文件 @
ccc13591
...
...
@@ -3,6 +3,7 @@ package com.clx.performance.sqlProvider;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.param.app.PageOrderChildOfDriverParam
;
import
com.clx.performance.param.app.PageOrderChildOfDriverSearchParam
;
import
com.clx.performance.param.pc.OrderChildCancelRecordParam
;
...
...
@@ -12,6 +13,7 @@ import com.clx.performance.param.pc.PagePoundAuditParam;
import
com.clx.performance.vo.app.OrderChildVO
;
import
com.clx.performance.vo.pc.PageCarrierOrderChildVO
;
import
com.clx.performance.vo.pc.PageOrderChildPoundAuditVO
;
import
com.msl.common.utils.DateUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.jdbc.SQL
;
...
...
@@ -19,6 +21,7 @@ import org.apache.ibatis.jdbc.SQL;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.StringJoiner
;
public
class
OrderChildSqlProvider
{
...
...
@@ -233,4 +236,35 @@ public class OrderChildSqlProvider {
" SELECT count(*) AS monthOrderNumber,sum(freight) total FROM order_child WHERE truck_no = #{truckNo} and AND finish_time >= #{startTime} AND finish_time <= #{endTime}"
+
") a"
;
}
public
String
countValidByOrderGoodsNoList
(
@Param
(
"orderGoodsList"
)
List
<
String
>
orderGoodsList
){
return
new
SQL
(){{
SELECT
(
"order_goods_no,count(1) count "
);
FROM
(
"order_child "
);
StringJoiner
sj
=
new
StringJoiner
(
","
,
"order_goods_no in ("
,
")"
);
orderGoodsList
.
forEach
(
item
->
sj
.
add
(
"'"
+
item
+
"'"
));
WHERE
(
sj
.
toString
());
WHERE
(
" a.status < "
+
OrderChildEnum
.
Status
.
DRIVER_CANCEL
.
getCode
());
GROUP_BY
(
" order_goods_no"
);
}}.
toString
();
}
public
String
batchUpdateCancel
(
List
<
OrderChild
>
list
){
StringJoiner
sj
=
new
StringJoiner
(
"; "
);
for
(
OrderChild
child
:
list
){
sj
.
add
(
"update order_child "
+
"set "
+
"cancel_remark = '"
+
child
.
getCancelRemark
()
+
"',"
+
"cancel_time = '"
+
DateUtils
.
formatDateTime
(
child
.
getCancelTime
()).
get
()
+
"',"
+
"finish_time = '"
+
DateUtils
.
formatDateTime
(
child
.
getFinishTime
()).
get
()
+
"',"
+
"status = "
+
child
.
getStatus
()
+
" "
+
"where id = "
+
child
.
getId
()
);
}
return
sj
.
toString
();
}
}
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderGoodsSqlProvider.java
浏览文件 @
ccc13591
...
...
@@ -3,6 +3,7 @@ package com.clx.performance.sqlProvider;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.dto.OrderGoodsCancelWeightDTO
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.enums.OrderGoodsStopEnum
;
import
com.clx.performance.enums.PendingOrderWayStatusEnum
;
...
...
@@ -379,4 +380,31 @@ public class OrderGoodsSqlProvider {
}
public
String
batchUpdateOrderGoodsPaying
(
@Param
(
"updateOrderGoods"
)
List
<
OrderGoods
>
updateOrderGoods
){
StringJoiner
sj
=
new
StringJoiner
(
"; "
);
for
(
OrderGoods
dto
:
updateOrderGoods
){
sj
.
add
(
"update order_goods "
+
"set "
+
"order_goods_status = "
+
dto
.
getOrderGoodsStatus
()+
" "
+
"where order_goods_no = '"
+
dto
.
getOrderGoodsNo
()+
"' "
+
"and order_goods_status = "
+
OrderGoodsStatusEnum
.
Status
.
GO_TO_SEND
.
getCode
()
);
}
return
sj
.
toString
();
}
public
String
batchCancelOrderGoodsWeight
(
@Param
(
"cancelOrderGoodsList"
)
List
<
OrderGoodsCancelWeightDTO
>
list
){
StringJoiner
sj
=
new
StringJoiner
(
"; "
);
for
(
OrderGoodsCancelWeightDTO
dto
:
list
){
sj
.
add
(
"update order_goods "
+
"set "
+
"residue_transport_weight = residue_transport_weight + "
+
dto
.
getWeight
()
+
","
+
"already_transport_weight = already_transport_weight - "
+
dto
.
getWeight
()
+
" "
+
"where order_goods_no = '"
+
dto
.
getOrderGoodsNo
()+
"'"
);
}
return
sj
.
toString
();
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论