Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
0cd0ef5c
提交
0cd0ef5c
authored
7月 09, 2024
作者:
杨启发
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'refs/remotes/origin/master' into v18.5_pound_list_ocr_20240701
# Conflicts: # performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
上级
9fdd5169
adf45dbe
隐藏空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
214 行增加
和
31 行删除
+214
-31
PerformanceFeign.java
...main/java/com/clx/performance/feign/PerformanceFeign.java
+1
-1
OrderGoodsFeignController.java
...rformance/controller/feign/OrderGoodsFeignController.java
+2
-3
OrderChildDao.java
.../src/main/java/com/clx/performance/dao/OrderChildDao.java
+3
-0
OrderGoodsDao.java
.../src/main/java/com/clx/performance/dao/OrderGoodsDao.java
+5
-0
OrderGoodsTruckBindDao.java
.../java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
+5
-0
OrderChildDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
+6
-1
OrderGoodsDaoImpl.java
.../java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java
+13
-0
OrderGoodsTruckBindDaoImpl.java
.../clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
+17
-0
CancelOrderGoodsWeightDTO.java
...va/com/clx/performance/dto/CancelOrderGoodsWeightDTO.java
+21
-0
OrderChildMapper.java
...ain/java/com/clx/performance/mapper/OrderChildMapper.java
+9
-0
OrderGoodsMapper.java
...ain/java/com/clx/performance/mapper/OrderGoodsMapper.java
+6
-0
OrderGoodsService.java
...n/java/com/clx/performance/service/OrderGoodsService.java
+1
-1
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+67
-17
OrderGoodsServiceImpl.java
...m/clx/performance/service/impl/OrderGoodsServiceImpl.java
+44
-8
OrderGoodsSqlProvider.java
...om/clx/performance/sqlProvider/OrderGoodsSqlProvider.java
+14
-0
没有找到文件。
performance-api/src/main/java/com/clx/performance/feign/PerformanceFeign.java
浏览文件 @
0cd0ef5c
...
@@ -140,7 +140,7 @@ public interface PerformanceFeign {
...
@@ -140,7 +140,7 @@ public interface PerformanceFeign {
* @return
* @return
*/
*/
@PostMapping
(
value
=
{
"clx-performance/feign/orderGoods/cancelOrderGoods"
})
@PostMapping
(
value
=
{
"clx-performance/feign/orderGoods/cancelOrderGoods"
})
Result
<
Object
>
cancelOrderGoods
(
@RequestBody
@Validated
CancelOrderGoodsParam
param
);
Result
<
BigDecimal
>
cancelOrderGoods
(
@RequestBody
@Validated
CancelOrderGoodsParam
param
);
/**
/**
* 更新挂单运费
* 更新挂单运费
...
...
performance-web/src/main/java/com/clx/performance/controller/feign/OrderGoodsFeignController.java
浏览文件 @
0cd0ef5c
...
@@ -59,9 +59,8 @@ public class OrderGoodsFeignController {
...
@@ -59,9 +59,8 @@ public class OrderGoodsFeignController {
@ApiOperation
(
value
=
"取消货单"
,
notes
=
"<br>By:李瑞新"
)
@ApiOperation
(
value
=
"取消货单"
,
notes
=
"<br>By:李瑞新"
)
@PostMapping
({
"/cancelOrderGoods"
})
@PostMapping
({
"/cancelOrderGoods"
})
Result
<
Object
>
cancelOrderGoods
(
@RequestBody
@Validated
CancelOrderGoodsParam
param
)
{
Result
<
BigDecimal
>
cancelOrderGoods
(
@RequestBody
@Validated
CancelOrderGoodsParam
param
)
{
orderGoodsService
.
cancelOrderGoods
(
param
);
return
Result
.
ok
(
orderGoodsService
.
cancelOrderGoods
(
param
));
return
Result
.
ok
();
}
}
...
...
performance-web/src/main/java/com/clx/performance/dao/OrderChildDao.java
浏览文件 @
0cd0ef5c
...
@@ -2,6 +2,7 @@ package com.clx.performance.dao;
...
@@ -2,6 +2,7 @@ package com.clx.performance.dao;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO
;
import
com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO
;
import
com.clx.performance.mapper.OrderChildMapper
;
import
com.clx.performance.mapper.OrderChildMapper
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChild
;
...
@@ -195,4 +196,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
...
@@ -195,4 +196,6 @@ public interface OrderChildDao extends BaseDao<OrderChildMapper, OrderChild, Int
List
<
OrderChild
>
listByOrderNo
(
String
orderNo
,
List
<
Integer
>
status
);
List
<
OrderChild
>
listByOrderNo
(
String
orderNo
,
List
<
Integer
>
status
);
void
updateBatchOwnerCancel
(
List
<
String
>
childNos
);
void
updateBatchOwnerCancel
(
List
<
String
>
childNos
);
List
<
CancelOrderGoodsWeightDTO
>
statisticsCancelOrderGoodsWeight
(
List
<
String
>
childNos
);
}
}
performance-web/src/main/java/com/clx/performance/dao/OrderGoodsDao.java
浏览文件 @
0cd0ef5c
package
com
.
clx
.
performance
.
dao
;
package
com
.
clx
.
performance
.
dao
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.model.OrderGoodsFleetOpenTruck
;
import
com.clx.performance.model.OrderGoodsFleetOpenTruck
;
import
com.clx.performance.param.app.AppGoodsOrderSearchParam
;
import
com.clx.performance.param.app.AppGoodsOrderSearchParam
;
import
com.clx.performance.param.pc.OrderGoodsEditParams
;
import
com.clx.performance.param.pc.OrderGoodsEditParams
;
...
@@ -103,4 +104,8 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
...
@@ -103,4 +104,8 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
List
<
OrderGoodsFleetOpenTruck
>
queryProcessFleetOpenTruckList
();
List
<
OrderGoodsFleetOpenTruck
>
queryProcessFleetOpenTruckList
();
void
cancelOrderGoods
(
String
orderNo
);
void
cancelOrderGoods
(
String
orderNo
);
void
batchCancel
(
List
<
Integer
>
idList
);
void
batchCancelOrderGoods
(
List
<
CancelOrderGoodsWeightDTO
>
cancelOrderGoodsWeight
);
}
}
performance-web/src/main/java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
浏览文件 @
0cd0ef5c
...
@@ -64,4 +64,9 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
...
@@ -64,4 +64,9 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
void
updateTruckBindExpire
(
List
<
Integer
>
ids
);
void
updateTruckBindExpire
(
List
<
Integer
>
ids
);
List
<
OrderGoodsBindTruckNumDTO
>
queryOrderGoodsTruckNum
(
List
<
String
>
fleetNoList
);
List
<
OrderGoodsBindTruckNumDTO
>
queryOrderGoodsTruckNum
(
List
<
String
>
fleetNoList
);
void
batchUpdateBindTruckList
(
String
orderGoodsNo
,
Integer
code
,
List
<
String
>
truckNo
);
List
<
OrderGoodsTruckBind
>
queryNotOrderTruck
(
List
<
String
>
cancelTruckBindOrderGoodsNoList
);
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderChildDaoImpl.java
浏览文件 @
0cd0ef5c
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dao.OrderChildDao
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO
;
import
com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.mapper.OrderChildMapper
;
import
com.clx.performance.mapper.OrderChildMapper
;
...
@@ -26,7 +27,6 @@ import org.springframework.stereotype.Repository;
...
@@ -26,7 +27,6 @@ import org.springframework.stereotype.Repository;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Objects
;
...
@@ -649,4 +649,9 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
...
@@ -649,4 +649,9 @@ public class OrderChildDaoImpl extends BaseDaoImpl<OrderChildMapper, OrderChild,
.
set
(
OrderChild:
:
getCancelRemark
,
"货主减少拉运吨数,系统自动取消"
)
.
set
(
OrderChild:
:
getCancelRemark
,
"货主减少拉运吨数,系统自动取消"
)
);
);
}
}
@Override
public
List
<
CancelOrderGoodsWeightDTO
>
statisticsCancelOrderGoodsWeight
(
List
<
String
>
childNos
)
{
return
baseMapper
.
statisticsCancelOrderGoodsWeight
(
childNos
);
}
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java
浏览文件 @
0cd0ef5c
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dao.OrderGoodsDao
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
import
com.clx.performance.mapper.OrderGoodsMapper
;
import
com.clx.performance.model.OrderGoods
;
import
com.clx.performance.model.OrderGoods
;
...
@@ -292,4 +293,16 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
...
@@ -292,4 +293,16 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
.
set
(
OrderGoods:
:
getOrderGoodsStatus
,
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
())
.
set
(
OrderGoods:
:
getOrderGoodsStatus
,
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
())
);
);
}
}
@Override
public
void
batchCancel
(
List
<
Integer
>
idList
)
{
update
(
lUdWrapper
()
.
in
(
OrderGoods:
:
getId
,
idList
)
.
set
(
OrderGoods:
:
getOrderGoodsStatus
,
OrderGoodsStatusEnum
.
Status
.
CANCEL
.
getCode
())
);
}
@Override
public
void
batchCancelOrderGoods
(
List
<
CancelOrderGoodsWeightDTO
>
cancelOrderGoodsWeight
)
{
baseMapper
.
batchCancelOrderGoods
(
cancelOrderGoodsWeight
);
}
}
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
浏览文件 @
0cd0ef5c
...
@@ -214,4 +214,21 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
...
@@ -214,4 +214,21 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
public
List
<
OrderGoodsBindTruckNumDTO
>
queryOrderGoodsTruckNum
(
List
<
String
>
fleetNoList
)
{
public
List
<
OrderGoodsBindTruckNumDTO
>
queryOrderGoodsTruckNum
(
List
<
String
>
fleetNoList
)
{
return
baseMapper
.
queryOrderGoodsTruckNum
(
fleetNoList
);
return
baseMapper
.
queryOrderGoodsTruckNum
(
fleetNoList
);
}
}
@Override
public
void
batchUpdateBindTruckList
(
String
orderGoodsNo
,
Integer
code
,
List
<
String
>
truckNoList
)
{
update
(
lUdWrapper
()
.
set
(
OrderGoodsTruckBind:
:
getStatus
,
code
)
.
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
in
(
OrderGoodsTruckBind:
:
getTruckNo
,
truckNoList
)
);
}
@Override
public
List
<
OrderGoodsTruckBind
>
queryNotOrderTruck
(
List
<
String
>
cancelTruckBindOrderGoodsNoList
)
{
return
baseMapper
.
selectList
(
lQrWrapper
().
in
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
cancelTruckBindOrderGoodsNoList
)
.
eq
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBindEnum
.
Status
.
NORMAL
.
getCode
()));
}
}
}
performance-web/src/main/java/com/clx/performance/dto/CancelOrderGoodsWeightDTO.java
0 → 100644
浏览文件 @
0cd0ef5c
package
com
.
clx
.
performance
.
dto
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.math.BigDecimal
;
/**
* @ClassName CancelOrderGoodsWeightDTO
* @Description
* @Author kavin
* @Date 2024/7/2 15:38
* @Version 1.0
*/
@Getter
@Setter
public
class
CancelOrderGoodsWeightDTO
{
private
String
orderGoodsNo
;
private
BigDecimal
cancelWeight
;
}
performance-web/src/main/java/com/clx/performance/mapper/OrderChildMapper.java
浏览文件 @
0cd0ef5c
...
@@ -3,6 +3,7 @@ package com.clx.performance.mapper;
...
@@ -3,6 +3,7 @@ package com.clx.performance.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO
;
import
com.clx.performance.dto.linewarn.LineWarnOrderChildStatisticsDTO
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.model.OrderChild
;
import
com.clx.performance.param.app.PageOrderChildOfDriverParam
;
import
com.clx.performance.param.app.PageOrderChildOfDriverParam
;
...
@@ -168,4 +169,11 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
...
@@ -168,4 +169,11 @@ public interface OrderChildMapper extends BaseMapper<OrderChild> {
"</script>"
)
"</script>"
)
List
<
LineWarnOrderChildStatisticsDTO
>
sumUnloadNumByOrderGoodsNoList
(
List
<
String
>
orderGoodsNoList
);
List
<
LineWarnOrderChildStatisticsDTO
>
sumUnloadNumByOrderGoodsNoList
(
List
<
String
>
orderGoodsNoList
);
@Select
(
"<script>select order_goods_no orderGoodsNo, sum(weight) cancelWeight from order_child "
+
" where child_no "
+
" in <foreach collection='list' item='item' open='(' separator=',' close=')'>#{item}</foreach> "
+
" group by order_goods_no "
+
"</script>"
)
List
<
CancelOrderGoodsWeightDTO
>
statisticsCancelOrderGoodsWeight
(
@Param
(
"list"
)
List
<
String
>
childNos
);
}
}
\ No newline at end of file
performance-web/src/main/java/com/clx/performance/mapper/OrderGoodsMapper.java
浏览文件 @
0cd0ef5c
...
@@ -3,6 +3,7 @@ package com.clx.performance.mapper;
...
@@ -3,6 +3,7 @@ package com.clx.performance.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.model.OrderGoodsFleetOpenTruck
;
import
com.clx.performance.model.OrderGoodsFleetOpenTruck
;
import
com.clx.performance.param.app.AppGoodsOrderSearchParam
;
import
com.clx.performance.param.app.AppGoodsOrderSearchParam
;
import
com.clx.performance.param.pc.OrderGoodsEditParams
;
import
com.clx.performance.param.pc.OrderGoodsEditParams
;
...
@@ -100,4 +101,9 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
...
@@ -100,4 +101,9 @@ public interface OrderGoodsMapper extends BaseMapper<OrderGoods> {
@SelectProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"queryProcessFleetOpenTruckList"
)
@SelectProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"queryProcessFleetOpenTruckList"
)
List
<
OrderGoodsFleetOpenTruck
>
queryProcessFleetOpenTruckList
();
List
<
OrderGoodsFleetOpenTruck
>
queryProcessFleetOpenTruckList
();
@UpdateProvider
(
type
=
OrderGoodsSqlProvider
.
class
,
method
=
"batchCancelOrderGoods"
)
void
batchCancelOrderGoods
(
List
<
CancelOrderGoodsWeightDTO
>
cancelOrderGoodsWeight
);
}
}
performance-web/src/main/java/com/clx/performance/service/OrderGoodsService.java
浏览文件 @
0cd0ef5c
...
@@ -104,7 +104,7 @@ public interface OrderGoodsService {
...
@@ -104,7 +104,7 @@ public interface OrderGoodsService {
void
saveBindTruck
(
DistributionTruckParam
param
);
void
saveBindTruck
(
DistributionTruckParam
param
);
void
cancelOrderGoods
(
CancelOrderGoodsParam
param
);
void
updateFrightPrice
(
String
orderGoodsNo
,
BigDecimal
pendingOrderFreight
);
void
updateFrightPrice
(
String
orderGoodsNo
,
BigDecimal
pendingOrderFreight
);
BigDecimal
cancelOrderGoods
(
CancelOrderGoodsParam
param
);
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
0cd0ef5c
...
@@ -20,6 +20,7 @@ import com.clx.performance.constant.RedissonConstants;
...
@@ -20,6 +20,7 @@ import com.clx.performance.constant.RedissonConstants;
import
com.clx.performance.dao.*
;
import
com.clx.performance.dao.*
;
import
com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao
;
import
com.clx.performance.dao.breakcontract.BreakContractDriverRecordDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.dao.settle.SettlementOwnerDetailDao
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.dto.OrderChildExpectDTO
;
import
com.clx.performance.dto.OrderChildExpectDTO
;
import
com.clx.performance.dto.gd.GdRouteDTO
;
import
com.clx.performance.dto.gd.GdRouteDTO
;
import
com.clx.performance.dto.payment.PaymentDTO
;
import
com.clx.performance.dto.payment.PaymentDTO
;
...
@@ -88,7 +89,6 @@ import org.redisson.api.RLock;
...
@@ -88,7 +89,6 @@ import org.redisson.api.RLock;
import
org.redisson.api.RedissonClient
;
import
org.redisson.api.RedissonClient
;
import
org.springframework.amqp.core.AmqpTemplate
;
import
org.springframework.amqp.core.AmqpTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
...
@@ -114,14 +114,6 @@ import static com.msl.common.utils.LocalDateTimeUtils.covertStringToDefaultLocal
...
@@ -114,14 +114,6 @@ import static com.msl.common.utils.LocalDateTimeUtils.covertStringToDefaultLocal
@Slf4j
@Slf4j
@Service
@Service
public
class
OrderChildServiceImpl
implements
OrderChildService
{
public
class
OrderChildServiceImpl
implements
OrderChildService
{
@Value
(
"${tencentcloudapi.credential.secretId}"
)
private
String
secretId
;
@Value
(
"${tencentcloudapi.credential.secretKey}"
)
private
String
secretKey
;
@Value
(
"${oss.domain}"
)
private
String
ossDomain
;
@Autowired
@Autowired
private
AmqpTemplate
rabbitTemplate
;
private
AmqpTemplate
rabbitTemplate
;
@Autowired
@Autowired
...
@@ -2685,11 +2677,10 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2685,11 +2677,10 @@ public class OrderChildServiceImpl implements OrderChildService {
arriveBeforeStatus
.
add
(
OrderChildEnum
.
Status
.
PAY
.
getCode
());
arriveBeforeStatus
.
add
(
OrderChildEnum
.
Status
.
PAY
.
getCode
());
arriveBeforeStatus
.
add
(
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
());
arriveBeforeStatus
.
add
(
OrderChildEnum
.
Status
.
GO_TO_SEND
.
getCode
());
List
<
String
>
childNos
;
//取消运单
//未到达货源地之前运单(不包括取消)
//未到达货源地之前运单(不包括取消)
List
<
OrderChild
>
arriveBeforeOrderChild
=
orderChildDao
.
listByOrderNo
(
param
.
getOrderNo
(),
arriveBeforeStatus
);
List
<
OrderChild
>
arriveBeforeOrderChild
=
orderChildDao
.
listByOrderNo
(
param
.
getOrderNo
(),
arriveBeforeStatus
);
log
.
info
(
"arriveBeforeOrderChild:{}"
,
arriveBeforeOrderChild
);
log
.
info
(
"arriveBeforeOrderChild:{}"
,
arriveBeforeOrderChild
);
if
(
orderedWeight
.
compareTo
(
availableWeight
)
>
0
){
//已挂吨数大于可拉运吨数 取消未到达货源地的运单
if
(
orderedWeight
.
compareTo
(
availableWeight
)
>
0
){
//已挂吨数大于可拉运吨数 取消未到达货源地的运单
log
.
info
(
"已挂吨数大于可拉运吨数,取消未到达货源地的运单:{}"
,
orderedWeight
.
compareTo
(
availableWeight
));
log
.
info
(
"已挂吨数大于可拉运吨数,取消未到达货源地的运单:{}"
,
orderedWeight
.
compareTo
(
availableWeight
));
//到达货源地之后运单(不包括取消)
//到达货源地之后运单(不包括取消)
List
<
OrderChild
>
arriveAfterOrderChild
=
orderChildDao
.
listByOrderNo
(
param
.
getOrderNo
(),
arriveAfterStatus
);
List
<
OrderChild
>
arriveAfterOrderChild
=
orderChildDao
.
listByOrderNo
(
param
.
getOrderNo
(),
arriveAfterStatus
);
...
@@ -2697,7 +2688,24 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2697,7 +2688,24 @@ public class OrderChildServiceImpl implements OrderChildService {
BigDecimal
arriveAfterWeight
=
arriveAfterOrderChild
.
stream
().
map
(
OrderChild:
:
getWeight
)
BigDecimal
arriveAfterWeight
=
arriveAfterOrderChild
.
stream
().
map
(
OrderChild:
:
getWeight
)
.
reduce
(
BigDecimal:
:
add
).
orElse
(
BigDecimal
.
ZERO
);
//总拉运吨数
.
reduce
(
BigDecimal:
:
add
).
orElse
(
BigDecimal
.
ZERO
);
//总拉运吨数
log
.
info
(
"总拉运吨数:{}"
,
arriveAfterWeight
);
log
.
info
(
"总拉运吨数:{}"
,
arriveAfterWeight
);
if
(
availableWeight
.
compareTo
(
arriveAfterWeight
)
>
0
){
//可拉运吨数大于运单拉运吨数 取消未到达货源地的运单
Map
<
String
,
List
<
String
>>
cancelTruckMap
=
new
HashMap
<>();
//取消运单对应的货单下的车辆Map
List
<
String
>
childNos
=
new
ArrayList
<>();
//未到达货源地
for
(
OrderChild
child
:
arriveBeforeOrderChild
){
childNos
.
add
(
child
.
getChildNo
());
if
(
cancelTruckMap
.
containsKey
(
child
.
getOrderGoodsNo
())){
cancelTruckMap
.
get
(
child
.
getOrderGoodsNo
()).
add
(
generateChildTruckInfo
(
child
));
}
else
{
List
<
String
>
childTruckInfoList
=
new
ArrayList
<>();
childTruckInfoList
.
add
(
generateChildTruckInfo
(
child
));
cancelTruckMap
.
put
(
child
.
getOrderGoodsNo
(),
childTruckInfoList
);
}
}
if
(
availableWeight
.
compareTo
(
arriveAfterWeight
)
>
0
){
//可拉运吨数大于运单拉运吨数 取消未到达货源地的运单
log
.
info
(
"可拉运吨数大于运单拉运吨数,取消未到达货源地的运单:{}"
,
availableWeight
.
compareTo
(
arriveAfterWeight
));
log
.
info
(
"可拉运吨数大于运单拉运吨数,取消未到达货源地的运单:{}"
,
availableWeight
.
compareTo
(
arriveAfterWeight
));
BigDecimal
weight
=
BigDecimal
.
ZERO
;
//运单累加吨数
BigDecimal
weight
=
BigDecimal
.
ZERO
;
//运单累加吨数
BigDecimal
subtract
=
availableWeight
.
subtract
(
arriveAfterWeight
);
//可拉运吨数-运单拉运吨数=司机可以接单拉运吨数
BigDecimal
subtract
=
availableWeight
.
subtract
(
arriveAfterWeight
);
//可拉运吨数-运单拉运吨数=司机可以接单拉运吨数
...
@@ -2707,19 +2715,25 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2707,19 +2715,25 @@ public class OrderChildServiceImpl implements OrderChildService {
if
(
weight
.
compareTo
(
subtract
)
>=
0
){
if
(
weight
.
compareTo
(
subtract
)
>=
0
){
break
;
break
;
}
}
notCancelChildNos
.
add
(
oc
.
getChildNo
());
//获取可以取消的运单
notCancelChildNos
.
add
(
oc
.
getChildNo
());
//获取不可以取消的运单
//同时移除不可取消运单对应的车辆
cancelTruckMap
.
get
(
oc
.
getOrderGoodsNo
()).
remove
(
generateChildTruckInfo
(
oc
));
}
}
log
.
info
(
"notCancelChildNos:{}"
,
notCancelChildNos
);
log
.
info
(
"notCancelChildNos:{}"
,
notCancelChildNos
);
childNos
=
arriveBeforeOrderChild
.
stream
().
map
(
OrderChild:
:
getChildNo
).
collect
(
Collectors
.
toList
());
//未到达货源地
childNos
.
removeAll
(
notCancelChildNos
);
//剔除不需要取消的运单
childNos
.
removeAll
(
notCancelChildNos
);
//剔除不需要取消的运单
}
else
{
childNos
=
arriveBeforeOrderChild
.
stream
().
map
(
OrderChild:
:
getChildNo
).
collect
(
Collectors
.
toList
());
//未到达货源地
}
}
log
.
info
(
"批量取消运单:childNos:{}"
,
childNos
);
log
.
info
(
"批量取消运单:childNos:{}"
,
childNos
);
log
.
info
(
"批量取消车辆:cancelTruckMap:{}"
,
cancelTruckMap
);
//批量取消运单
//批量取消运单
if
(
CollectionUtils
.
isNotEmpty
(
childNos
)){
if
(
CollectionUtils
.
isNotEmpty
(
childNos
)){
//按照货单进行取消运单吨数统计
List
<
CancelOrderGoodsWeightDTO
>
cancelOrderGoodsWeight
=
orderChildDao
.
statisticsCancelOrderGoodsWeight
(
childNos
);
//恢复取消的运单吨数到对应的货单上
if
(
CollectionUtils
.
isNotEmpty
(
cancelOrderGoodsWeight
)){
orderGoodsDao
.
batchCancelOrderGoods
(
cancelOrderGoodsWeight
);
}
orderChildDao
.
updateBatchOwnerCancel
(
childNos
);
orderChildDao
.
updateBatchOwnerCancel
(
childNos
);
//保存日志
//保存日志
List
<
OrderChildLog
>
logs
=
new
ArrayList
<>();
List
<
OrderChildLog
>
logs
=
new
ArrayList
<>();
...
@@ -2734,7 +2748,43 @@ public class OrderChildServiceImpl implements OrderChildService {
...
@@ -2734,7 +2748,43 @@ public class OrderChildServiceImpl implements OrderChildService {
logs
.
add
(
log
);
logs
.
add
(
log
);
}
}
orderChildLogService
.
saveBatchOrderChildLog
(
logs
);
orderChildLogService
.
saveBatchOrderChildLog
(
logs
);
///释放司机、车、绑定
releaseDriverAndTruck
(
cancelTruckMap
);
}
}
}
private
String
generateChildTruckInfo
(
OrderChild
child
){
return
child
.
getTruckNo
()
+
"_"
+
child
.
getTruckId
()
+
"_"
+
child
.
getDriverUserNo
();
}
//释放司机、车、绑定
private
void
releaseDriverAndTruck
(
Map
<
String
,
List
<
String
>>
cancelTruckMap
){
//释放车辆绑定关系
Set
<
String
>
orderGoodsNoList
=
cancelTruckMap
.
keySet
();
List
<
OrderGoods
>
orderGoodsList
=
orderGoodsDao
.
listInField
(
OrderGoods:
:
getOrderGoodsNo
,
orderGoodsNoList
);
Map
<
String
,
Integer
>
orderGoodsPendOrderWayMap
=
orderGoodsList
.
stream
().
collect
(
Collectors
.
toMap
(
OrderGoods:
:
getOrderGoodsNo
,
OrderGoods:
:
getPendingOrderWay
));
for
(
Map
.
Entry
<
String
,
List
<
String
>>
entry
:
cancelTruckMap
.
entrySet
()){
Integer
pendingOrderWay
=
orderGoodsPendOrderWayMap
.
get
(
entry
.
getKey
());
if
(
Objects
.
equals
(
pendingOrderWay
,
PendingOrderWayStatusEnum
.
Status
.
DX
.
getCode
())
||
Objects
.
equals
(
pendingOrderWay
,
PendingOrderWayStatusEnum
.
Status
.
FLEET_DX
.
getCode
())){
List
<
String
>
truckNoList
=
new
ArrayList
<>();
entry
.
getValue
().
forEach
(
item
->
{
String
truckNo
=
item
.
split
(
"_"
)[
0
];
truckNoList
.
add
(
truckNo
);
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
entry
.
getKey
(),
truckNo
);
});
orderGoodsTruckBindDao
.
batchUpdateBindTruckList
(
entry
.
getKey
(),
OrderGoodsTruckBindEnum
.
Status
.
CANCEL
.
getCode
(),
truckNoList
);
}
}
//释放司机和空重车
entry
.
getValue
().
forEach
(
item
->
{
Integer
truckId
=
Integer
.
parseInt
(
item
.
split
(
"_"
)[
1
]);
Long
driverUserNo
=
Long
.
parseLong
(
item
.
split
(
"_"
)[
2
]);
updateDriverOrderStatusCancel
(
driverUserNo
,
truckId
);
});
}
}
}
}
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderGoodsServiceImpl.java
浏览文件 @
0cd0ef5c
...
@@ -1006,28 +1006,64 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
...
@@ -1006,28 +1006,64 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
cancelOrderGoods
(
CancelOrderGoodsParam
param
)
{
public
BigDecimal
cancelOrderGoods
(
CancelOrderGoodsParam
param
)
{
log
.
info
(
"取消货单:{}"
,
param
);
log
.
info
(
"取消货单:{}"
,
param
);
List
<
OrderGoods
>
orderGoodsList
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
param
.
getOrderNo
());
// 过滤可取消
List
<
OrderGoods
>
orderGoodsUpdateList
=
orderGoodsList
.
stream
().
filter
(
item
->
Objects
.
equals
(
item
.
getOrderGoodsStatus
(),
OrderGoodsStatusEnum
.
Status
.
CREATED
.
getCode
())
||
Objects
.
equals
(
item
.
getOrderGoodsStatus
(),
OrderGoodsStatusEnum
.
Status
.
PAYING
.
getCode
())
||
Objects
.
equals
(
item
.
getOrderGoodsStatus
(),
OrderGoodsStatusEnum
.
Status
.
GO_TO_SEND
.
getCode
())
).
collect
(
Collectors
.
toList
());
if
(
orderGoodsUpdateList
.
isEmpty
())
{
return
BigDecimal
.
ZERO
;}
//取消货单
//取消货单
orderGoodsDao
.
cancelOrderGoods
(
param
.
getOrderNo
(
));
orderGoodsDao
.
batchCancel
(
orderGoodsUpdateList
.
stream
().
map
(
item
->
item
.
getId
()).
collect
(
Collectors
.
toList
()
));
//批量保存货单日志
//批量保存货单日志
List
<
OrderGoods
>
orderGoodsListByOrderNo
=
orderGoodsDao
.
getOrderGoodsListByOrderNo
(
param
.
getOrderNo
());
log
.
info
(
"orderGoodsListByOrderNo:{}"
,
orderGoodsUpdateList
);
log
.
info
(
"orderGoodsListByOrderNo:{}"
,
orderGoodsListByOrderNo
);
List
<
OrderGoodsLog
>
orderGoodsLogs
=
new
ArrayList
<>();
List
<
OrderGoodsLog
>
orderGoodsLogs
=
new
ArrayList
<>();
OrderGoodsLog
orderGoodsLog
=
null
;
OrderGoodsLog
orderGoodsLog
=
null
;
for
(
OrderGoods
orderGoods:
orderGoodsListByOrderNo
){
BigDecimal
totalCancelWeight
=
BigDecimal
.
ZERO
;
List
<
String
>
cancelTruckBindOrderGoodsNoList
=
new
ArrayList
<>();
for
(
OrderGoods
orderGoods:
orderGoodsUpdateList
){
orderGoodsLog
=
new
OrderGoodsLog
();
orderGoodsLog
=
new
OrderGoodsLog
();
orderGoodsLog
.
setOrderGoodsNo
(
orderGoods
.
getOrderGoodsNo
());
orderGoodsLog
.
setOrderGoodsNo
(
orderGoods
.
getOrderGoodsNo
());
orderGoodsLog
.
setCreateName
(
param
.
getCreateName
()
);
orderGoodsLog
.
setCreateName
(
"系统"
);
orderGoodsLog
.
setType
(
OrderGoodsLogsEnum
.
Type
.
CANCEL
.
getName
());
orderGoodsLog
.
setType
(
OrderGoodsLogsEnum
.
Type
.
CANCEL
.
getName
());
orderGoodsLog
.
setCreateBy
(
param
.
getCreateBy
()
);
orderGoodsLog
.
setCreateBy
(
0L
);
orderGoodsLog
.
setRemark
(
"货主发起减吨请求,当前已挂单量超过总拉运量,自动取消"
);
orderGoodsLog
.
setRemark
(
"货主发起减吨请求,当前已挂单量超过总拉运量,自动取消"
);
orderGoodsLogs
.
add
(
orderGoodsLog
);
orderGoodsLogs
.
add
(
orderGoodsLog
);
totalCancelWeight
=
totalCancelWeight
.
add
(
Objects
.
nonNull
(
orderGoods
.
getResidueTransportWeight
())?
orderGoods
.
getResidueTransportWeight
()
:
BigDecimal
.
ZERO
);
if
(
Objects
.
equals
(
orderGoods
.
getPendingOrderWay
(),
PendingOrderWayStatusEnum
.
Status
.
DX
.
getCode
())
||
Objects
.
equals
(
orderGoods
.
getPendingOrderWay
(),
PendingOrderWayStatusEnum
.
Status
.
FLEET_DX
.
getCode
())){
cancelTruckBindOrderGoodsNoList
.
add
(
orderGoods
.
getOrderGoodsNo
());
}
}
}
//取消货单下未接单的车辆绑定关系
if
(
CollectionUtils
.
isNotEmpty
(
cancelTruckBindOrderGoodsNoList
)){
cancelTruckBindOrderGoodsNoList
.
forEach
(
item
->
goodsOrderTruckRecordComponent
.
deleteTruckRecord
(
item
));
/* //查询定向货单下未接单的车辆
List<OrderGoodsTruckBind> notOrderBindTruckList = orderGoodsTruckBindDao.
queryNotOrderTruck(cancelTruckBindOrderGoodsNoList);
//删除缓存中未接单的车辆绑定
if(CollectionUtils.isNotEmpty(notOrderBindTruckList)){
for (OrderGoodsTruckBind bind : notOrderBindTruckList) {
goodsOrderTruckRecordComponent.deleteTruckRecord(bind.getOrderGoodsNo(), bind.getTruckNo());
}
}*/
orderGoodsTruckBindDao
.
updateOrderGoodsBindStatus
(
cancelTruckBindOrderGoodsNoList
,
OrderGoodsTruckBindEnum
.
Status
.
CANCEL
.
getCode
());
}
orderGoodsLogService
.
saveBatchLog
(
orderGoodsLogs
);
orderGoodsLogService
.
saveBatchLog
(
orderGoodsLogs
);
return
totalCancelWeight
;
}
}
}
}
performance-web/src/main/java/com/clx/performance/sqlProvider/OrderGoodsSqlProvider.java
浏览文件 @
0cd0ef5c
...
@@ -2,6 +2,7 @@ package com.clx.performance.sqlProvider;
...
@@ -2,6 +2,7 @@ package com.clx.performance.sqlProvider;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.clx.performance.dto.CancelOrderGoodsWeightDTO
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.enums.OrderGoodsStatusEnum
;
import
com.clx.performance.enums.OrderGoodsStopEnum
;
import
com.clx.performance.enums.OrderGoodsStopEnum
;
import
com.clx.performance.enums.PendingOrderWayStatusEnum
;
import
com.clx.performance.enums.PendingOrderWayStatusEnum
;
...
@@ -362,4 +363,17 @@ public class OrderGoodsSqlProvider {
...
@@ -362,4 +363,17 @@ public class OrderGoodsSqlProvider {
return
sql
;
return
sql
;
}
}
public
String
batchCancelOrderGoods
(
List
<
CancelOrderGoodsWeightDTO
>
cancelOrderGoodsWeight
){
StringJoiner
sj
=
new
StringJoiner
(
"; "
);
for
(
CancelOrderGoodsWeightDTO
item
:
cancelOrderGoodsWeight
){
sj
.
add
(
"update order_goods set residue_transport_weight = residue_transport_weight +"
+
item
.
getCancelWeight
()
+
", already_transport_weight = already_transport_weight -"
+
item
.
getCancelWeight
()
+
" where order_goods_no = '"
+
item
.
getOrderGoodsNo
()
+
"'"
)
;
}
return
sj
.
toString
();
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论