Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
f817ca6e
提交
f817ca6e
authored
9月 22, 2023
作者:
aiqingguo
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
运单流程
上级
56504ba7
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
160 行增加
和
39 行删除
+160
-39
PerformanceResultEnum.java
...java/com/clx/performance/enums/PerformanceResultEnum.java
+7
-1
OrderChildLoadAndUnloadAgainParam.java
...formance/param/app/OrderChildLoadAndUnloadAgainParam.java
+3
-4
OrderChildLoadParam.java
...va/com/clx/performance/param/app/OrderChildLoadParam.java
+2
-2
OrderChildUnloadParam.java
.../com/clx/performance/param/app/OrderChildUnloadParam.java
+2
-2
OrderChildPoundInfoVO.java
...ava/com/clx/performance/vo/app/OrderChildPoundInfoVO.java
+3
-0
OrderGoodsTruckBindDao.java
.../java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
+4
-0
OrderGoodsTruckBindDaoImpl.java
.../clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
+17
-0
OrderGoodsTruckBind.java
...n/java/com/clx/performance/model/OrderGoodsTruckBind.java
+21
-1
OrderChildPoundAuditServiceImpl.java
...ormance/service/impl/OrderChildPoundAuditServiceImpl.java
+24
-6
OrderChildServiceImpl.java
...m/clx/performance/service/impl/OrderChildServiceImpl.java
+77
-23
没有找到文件。
performance-api/src/main/java/com/clx/performance/enums/PerformanceResultEnum.java
浏览文件 @
f817ca6e
...
...
@@ -45,7 +45,13 @@ public enum PerformanceResultEnum implements ResultEnum {
ORDER_CHILD_LOAD_TIMEOUT
(
1305
,
"超过装货截止时间"
),
ORDER_CHILD_CANCEL_FORBID
(
1306
,
"运单无法取消"
),
ORDER_CHILD_CANCEL_FORBID_COUNT
(
1307
,
"超出最大取消数量"
),
ORDER_CHILD_POUND_AUDIT
(
1307
,
"磅单审核中"
),
ORDER_CHILD_POUND_AUDIT
(
1308
,
"磅单审核中"
),
ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR
(
1309
,
"请选择定向车辆"
),
ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR1
(
1310
,
"请选择非定向车辆"
),
ORDER_CHILD_DIRECT_REJECT_TRUCK_ERROR
(
1311
,
"非定向车辆无法取消"
),
ORDER_CHILD_LOAD_WEIGHT_ERROR
(
1312
,
"装货净重超过载重的1.5倍"
),
ORDER_CHILD_UNLOAD_WEIGHT_ERROR
(
1313
,
"卸货净重超过载重的1.5倍"
),
;
...
...
performance-api/src/main/java/com/clx/performance/param/app/OrderChildLoadAndUnloadAgainParam.java
浏览文件 @
f817ca6e
...
...
@@ -5,6 +5,7 @@ import lombok.Getter;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
...
...
@@ -25,13 +26,12 @@ public class OrderChildLoadAndUnloadAgainParam extends PositionParam {
private
String
unloadPoundNo
;
@ApiModelProperty
(
value
=
"装货毛重(单位吨)"
,
example
=
"2.46"
)
@NotNull
(
message
=
"装货毛重不能为空"
)
private
BigDecimal
loadRough
;
@ApiModelProperty
(
value
=
"装货皮重(单位吨)"
,
example
=
"1.23"
)
@NotNull
(
message
=
"装货皮重不能为空"
)
private
BigDecimal
loadTare
;
@ApiModelProperty
(
value
=
"装货净重(单位吨)"
,
example
=
"1.23"
)
@NotNull
(
message
=
"装货净重不能为空"
)
@Max
(
value
=
999
,
message
=
"最大999吨"
)
private
BigDecimal
loadNet
;
@ApiModelProperty
(
value
=
"磅单图片列表"
)
...
...
@@ -39,13 +39,12 @@ public class OrderChildLoadAndUnloadAgainParam extends PositionParam {
private
List
<
String
>
loadImageList
;
@ApiModelProperty
(
value
=
"卸货毛重(单位吨)"
,
example
=
"2.46"
)
@NotNull
(
message
=
"装货毛重不能为空"
)
private
BigDecimal
unloadRough
;
@ApiModelProperty
(
value
=
"卸货皮重(单位吨)"
,
example
=
"1.23"
)
@NotNull
(
message
=
"装货皮重不能为空"
)
private
BigDecimal
unloadTare
;
@ApiModelProperty
(
value
=
"卸货净重(单位吨)"
,
example
=
"1.23"
)
@NotNull
(
message
=
"装货净重不能为空"
)
@Max
(
value
=
999
,
message
=
"最大999吨"
)
private
BigDecimal
unloadNet
;
@ApiModelProperty
(
value
=
"磅单图片列表"
)
...
...
performance-api/src/main/java/com/clx/performance/param/app/OrderChildLoadParam.java
浏览文件 @
f817ca6e
...
...
@@ -5,6 +5,7 @@ import lombok.Getter;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
...
...
@@ -21,13 +22,12 @@ public class OrderChildLoadParam extends PositionParam {
private
String
childNo
;
@ApiModelProperty
(
value
=
"装货毛重(单位吨)"
,
example
=
"2.46"
)
@NotNull
(
message
=
"装货毛重不能为空"
)
private
BigDecimal
loadRough
;
@ApiModelProperty
(
value
=
"装货皮重(单位吨)"
,
example
=
"1.23"
)
@NotNull
(
message
=
"装货皮重不能为空"
)
private
BigDecimal
loadTare
;
@ApiModelProperty
(
value
=
"装货净重(单位吨)"
,
example
=
"1.23"
)
@NotNull
(
message
=
"装货净重不能为空"
)
@Max
(
value
=
999
,
message
=
"最大999吨"
)
private
BigDecimal
loadNet
;
@ApiModelProperty
(
value
=
"磅单图片列表"
)
...
...
performance-api/src/main/java/com/clx/performance/param/app/OrderChildUnloadParam.java
浏览文件 @
f817ca6e
...
...
@@ -5,6 +5,7 @@ import lombok.Getter;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotEmpty
;
import
javax.validation.constraints.NotNull
;
...
...
@@ -25,13 +26,12 @@ public class OrderChildUnloadParam extends PositionParam {
private
String
unloadPoundNo
;
@ApiModelProperty
(
value
=
"卸货毛重(单位吨)"
,
example
=
"2.46"
)
@NotNull
(
message
=
"装货毛重不能为空"
)
private
BigDecimal
unloadRough
;
@ApiModelProperty
(
value
=
"卸货皮重(单位吨)"
,
example
=
"1.23"
)
@NotNull
(
message
=
"装货皮重不能为空"
)
private
BigDecimal
unloadTare
;
@ApiModelProperty
(
value
=
"卸货净重(单位吨)"
,
example
=
"1.23"
)
@NotNull
(
message
=
"装货净重不能为空"
)
@Max
(
value
=
999
,
message
=
"最大999吨"
)
private
BigDecimal
unloadNet
;
@ApiModelProperty
(
value
=
"磅单图片列表"
)
...
...
performance-api/src/main/java/com/clx/performance/vo/app/OrderChildPoundInfoVO.java
浏览文件 @
f817ca6e
...
...
@@ -29,6 +29,9 @@ public class OrderChildPoundInfoVO {
private
BigDecimal
unloadTare
;
@ApiModelProperty
(
value
=
"卸货净重(单位吨)"
,
example
=
"1.23"
)
private
BigDecimal
unloadNet
;
@ApiModelProperty
(
value
=
"卸货磅单编号"
,
example
=
"url"
)
private
String
unloadPoundNo
;
@ApiModelProperty
(
value
=
"拉运重量(单位吨)"
,
example
=
"1.23"
)
private
BigDecimal
weight
;
@ApiModelProperty
(
value
=
"运费(元)"
,
example
=
"1.23"
)
...
...
performance-web/src/main/java/com/clx/performance/dao/OrderGoodsTruckBindDao.java
浏览文件 @
f817ca6e
...
...
@@ -18,8 +18,12 @@ public interface OrderGoodsTruckBindDao extends BaseDao<OrderGoodsTruckBindMappe
void
saveBatchEntity
(
String
orderNo
,
String
orderGoodsNo
,
List
<
String
>
trackList
,
LocalDateTime
now
);
boolean
updateStatus
(
OrderGoodsTruckBind
item
);
List
<
Integer
>
getTrucksByOrderGoodsNo
(
String
orderGoodsNo
);
Optional
<
OrderGoodsTruckBind
>
getByOrderGoodsNoAndTruckNo
(
String
orderGoodsNo
,
String
truckNo
);
Optional
<
OrderGoodsTruckBind
>
getValidByOrderGoodsNoAndTruckNo
(
String
orderGoodsNo
,
String
truckNo
);
Optional
<
List
<
OrderGoodsTruckBind
>>
selectListByTruckNo
(
List
<
String
>
truckList
);
}
performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsTruckBindDaoImpl.java
浏览文件 @
f817ca6e
...
...
@@ -27,6 +27,14 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
baseMapper
.
saveBatchEntity
(
orderNo
,
orderGoodsNo
,
trackList
,
DateUtils
.
formatDateTime
(
now
).
get
());
}
@Override
public
boolean
updateStatus
(
OrderGoodsTruckBind
item
)
{
return
update
(
lUdWrapper
()
.
eq
(
OrderGoodsTruckBind:
:
getId
,
item
.
getId
())
.
set
(
OrderGoodsTruckBind:
:
getStatus
,
item
.
getStatus
())
);
}
@Override
public
List
<
Integer
>
getTrucksByOrderGoodsNo
(
String
orderGoodsNo
)
{
return
baseMapper
.
getTrucksByOrderGoodsNo
(
orderGoodsNo
);
...
...
@@ -41,6 +49,15 @@ public class OrderGoodsTruckBindDaoImpl extends BaseDaoImpl<OrderGoodsTruckBindM
}
@Override
public
Optional
<
OrderGoodsTruckBind
>
getValidByOrderGoodsNoAndTruckNo
(
String
orderGoodsNo
,
String
truckNo
)
{
return
Optional
.
ofNullable
(
getOne
(
lQrWrapper
()
.
eq
(
OrderGoodsTruckBind:
:
getOrderGoodsNo
,
orderGoodsNo
)
.
eq
(
OrderGoodsTruckBind:
:
getTruckNo
,
truckNo
)
.
in
(
OrderGoodsTruckBind:
:
getStatus
,
OrderGoodsTruckBind
.
Status
.
NORMAL
.
getCode
())
));
}
@Override
public
Optional
<
List
<
OrderGoodsTruckBind
>>
selectListByTruckNo
(
List
<
String
>
truckList
)
{
return
Optional
.
ofNullable
(
baseMapper
.
selectList
(
new
QueryWrapper
<
OrderGoodsTruckBind
>().
lambda
()
...
...
performance-web/src/main/java/com/clx/performance/model/OrderGoodsTruckBind.java
浏览文件 @
f817ca6e
...
...
@@ -7,11 +7,14 @@ import com.baomidou.mybatisplus.annotation.TableName;
import
com.msl.common.config.KeyColumn
;
import
com.msl.common.model.HasKey
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.experimental.Accessors
;
import
java.time.LocalDateTime
;
import
java.util.Arrays
;
import
java.util.Optional
;
/**
* 货单定向绑定车辆表
...
...
@@ -30,7 +33,7 @@ public class OrderGoodsTruckBind implements HasKey<Integer> {
private
String
truckNo
;
@TableField
(
"status"
)
@ApiModelProperty
(
"
1:正常 2:取消
"
)
@ApiModelProperty
(
"
状态 1:正常 2:取消 3: 已接单
"
)
private
Integer
status
;
@TableField
(
"order_no"
)
...
...
@@ -55,4 +58,21 @@ public class OrderGoodsTruckBind implements HasKey<Integer> {
public
Integer
gainKey
()
{
return
this
.
id
;
}
@Getter
@AllArgsConstructor
public
enum
Status
{
NORMAL
(
1
,
"正常"
),
CANCEL
(
2
,
"取消"
),
ORDER
(
3
,
"已接单"
),
;
private
final
int
code
;
private
final
String
msg
;
public
static
Optional
<
Status
>
getByCode
(
int
code
)
{
return
Arrays
.
stream
(
values
()).
filter
(
e
->
e
.
code
==
code
).
findFirst
();
}
}
}
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildPoundAuditServiceImpl.java
浏览文件 @
f817ca6e
...
...
@@ -2,10 +2,7 @@ package com.clx.performance.service.impl;
import
com.clx.performance.dao.*
;
import
com.clx.performance.enums.OrderChildEnum
;
import
com.clx.performance.enums.OrderChildLogEnum
;
import
com.clx.performance.enums.OrderChildPoundAuditEnum
;
import
com.clx.performance.enums.PerformanceResultEnum
;
import
com.clx.performance.enums.*
;
import
com.clx.performance.model.*
;
import
com.clx.performance.param.pc.OrderChildCarrierCancelParam
;
import
com.clx.performance.param.pc.PoundAuditParam
;
...
...
@@ -35,6 +32,7 @@ import java.util.stream.Collectors;
@AllArgsConstructor
public
class
OrderChildPoundAuditServiceImpl
implements
OrderChildPoundAuditService
{
private
final
OrderGoodsTruckBindDao
orderGoodsTruckBindDao
;
private
final
OrderChildImageDao
orderChildImageDao
;
private
final
OrderChildPoundAuditDao
orderChildPoundAuditDao
;
...
...
@@ -142,6 +140,13 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
orderChild
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
// 定向
OrderGoodsTruckBind
orderGoodsTruckBind
=
null
;
if
(
Objects
.
equals
(
orderGoods
.
getPendingOrderWay
(),
OrderGoodsPendingOrderWayStatusEnum
.
Status
.
EXCLUSIVE
.
getCode
())){
orderGoodsTruckBind
=
orderGoodsTruckBindDao
.
getByOrderGoodsNoAndTruckNo
(
orderGoods
.
getOrderGoodsNo
(),
orderChild
.
getTruckNo
())
.
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
}
orderChild
.
setCancelRemark
(
param
.
getRemark
());
orderChild
.
setCancelTime
(
now
);
orderChild
.
setFinishTime
(
now
);
...
...
@@ -150,7 +155,10 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
orderChildDao
.
updateCancel
(
orderChild
);
// 返回吨数
cancelReturnWeight
(
orderChild
,
orderGoods
);
updateOrderGoodsAmountReturn
(
orderChild
,
orderGoods
);
// 取消定向
updateOrderGoodsDirectCancel
(
orderGoodsTruckBind
);
// 释放司机、车辆
releaseDriver
(
orderChild
.
getDriverUserNo
());
...
...
@@ -164,8 +172,18 @@ public class OrderChildPoundAuditServiceImpl implements OrderChildPoundAuditSer
/**
* 取消返吨数
*/
private
void
cancelReturnWeight
(
OrderChild
orderChild
,
OrderGoods
orderGoods
){
private
void
updateOrderGoodsAmountReturn
(
OrderChild
orderChild
,
OrderGoods
orderGoods
){
orderGoodsDao
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
(),
orderChild
.
getWeight
().
negate
());
}
/**
* 更新定向派单状态 (取消)
*/
private
void
updateOrderGoodsDirectCancel
(
OrderGoodsTruckBind
orderGoodsTruckBind
){
if
(
orderGoodsTruckBind
==
null
)
{
return
;}
orderGoodsTruckBind
.
setStatus
(
OrderGoodsTruckBind
.
Status
.
CANCEL
.
getCode
());
orderGoodsTruckBindDao
.
updateStatus
(
orderGoodsTruckBind
);
}
/**
...
...
performance-web/src/main/java/com/clx/performance/service/impl/OrderChildServiceImpl.java
浏览文件 @
f817ca6e
...
...
@@ -103,9 +103,13 @@ public class OrderChildServiceImpl implements OrderChildService {
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_INVALID
);
}
OrderGoodsTruckBind
orderGoodsTruckBind
=
null
;
// 定向
OrderGoodsTruckBind
orderGoodsTruckBind
=
orderGoodsTruckBindDao
.
getValidByOrderGoodsNoAndTruckNo
(
orderGoods
.
getOrderGoodsNo
(),
truckNo
).
orNull
();
if
(
Objects
.
equals
(
orderGoods
.
getPendingOrderWay
(),
OrderGoodsPendingOrderWayStatusEnum
.
Status
.
EXCLUSIVE
.
getCode
())){
orderGoodsTruckBind
=
orderGoodsTruckBindDao
.
getByOrderGoodsNoAndTruckNo
(
orderGoods
.
getOrderGoodsNo
(),
truckNo
).
orElseThrow
(
PerformanceResultEnum
.
ORDER_INVALID
);
if
(
orderGoodsTruckBind
==
null
){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR
);}
}
else
{
if
(
orderGoodsTruckBind
!=
null
){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_DIRECT_ORDER_TRUCK_ERROR1
);}
}
// 库存验证
...
...
@@ -154,7 +158,7 @@ public class OrderChildServiceImpl implements OrderChildService {
updateOrderGoodsAmount
(
orderGoods
,
truckLoad
);
// 更新定向单状态
updateOrderGoods
(
orderGoodsTruckBind
);
updateOrderGoods
Direct
(
orderGoodsTruckBind
);
// 新增运单
orderChildDao
.
saveEntity
(
orderChild
);
...
...
@@ -179,7 +183,6 @@ public class OrderChildServiceImpl implements OrderChildService {
UserSessionData
loginUserInfo
=
TokenUtil
.
getLoginUserInfo
();
Long
userNo
=
loginUserInfo
.
getUserNo
();
LocalDateTime
now
=
LocalDateTime
.
now
();
OrderGoods
orderGoods
=
orderGoodsDao
.
getByOrderGoodsNo
(
param
.
getOrderGoodsNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_INVALID
);
// 状态验证
if
(!
Objects
.
equals
(
orderGoods
.
getOrderGoodsStatus
(),
OrderGoodsStatusEnum
.
Status
.
PAYING
.
getCode
())
...
...
@@ -192,9 +195,11 @@ public class OrderChildServiceImpl implements OrderChildService {
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_INVALID
);
}
orderGoodsTruckBindDao
.
getByOrderGoodsNoAndTruckNo
(
orderGoods
.
getOrderGoodsNo
(),
param
.
getTruckNo
()).
orElseThrow
(
PerformanceResultEnum
.
ORDER_INVALID
);
OrderGoodsTruckBind
orderGoodsTruckBind
=
orderGoodsTruckBindDao
.
getValidByOrderGoodsNoAndTruckNo
(
orderGoods
.
getOrderGoodsNo
(),
param
.
getTruckNo
())
.
orElseThrow
(
PerformanceResultEnum
.
ORDER_CHILD_DIRECT_REJECT_TRUCK_ERROR
);
updateOrderGoodsReject
(
orderGoods
,
param
.
getTruckNo
());
// 更新定向派单
updateOrderGoodsDirectReject
(
orderGoodsTruckBind
);
}
...
...
@@ -320,6 +325,10 @@ public class OrderChildServiceImpl implements OrderChildService {
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_CANCELED
);
}
if
(
loadCheck
(
param
.
getLoadNet
(),
orderChild
.
getTruckLoad
())){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_WEIGHT_ERROR
);
}
if
(
orderChild
.
getLoadTime
()
==
null
&&
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_SEND
.
getCode
()))
{
updateLoadFirst
(
param
,
orderChild
);
// 日志
...
...
@@ -358,6 +367,8 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild
.
setStatus
(
OrderChildEnum
.
Status
.
LOAD
.
getCode
());
orderChildDao
.
updateLoad
(
orderChild
);
//
orderChildImageDao
.
batchSaveEntity
(
imageList
);
}
...
...
@@ -402,6 +413,10 @@ public class OrderChildServiceImpl implements OrderChildService {
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_CANCELED
);
}
if
(
loadCheck
(
param
.
getUnloadNet
(),
orderChild
.
getTruckLoad
())){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_UNLOAD_WEIGHT_ERROR
);
}
if
(
orderChild
.
getUnloadTime
()
==
null
&&
Objects
.
equals
(
orderChild
.
getStatus
(),
OrderChildEnum
.
Status
.
ARRIVE_RECEIVE
.
getCode
()))
{
updateUnloadFirst
(
param
,
orderChild
);
// 日志
...
...
@@ -452,6 +467,10 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChildPoundAuditDao
.
saveEntity
(
audit
);
// 释放司机、车辆
releaseDriver
(
orderChild
.
getDriverUserNo
());
releaseTruck
(
orderChild
.
getTruckId
());
}
private
void
updateReUnload
(
OrderChildUnloadParam
param
,
OrderChild
orderChild
)
{
...
...
@@ -519,6 +538,13 @@ public class OrderChildServiceImpl implements OrderChildService {
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_STATUS_CHANGED
);
}
if
(
loadCheck
(
param
.
getLoadNet
(),
orderChild
.
getTruckLoad
())){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_LOAD_WEIGHT_ERROR
);
}
if
(
loadCheck
(
param
.
getUnloadNet
(),
orderChild
.
getTruckLoad
())){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_UNLOAD_WEIGHT_ERROR
);
}
List
<
OrderChildImage
>
imageList
=
new
ArrayList
<>();
for
(
String
item
:
param
.
getLoadImageList
())
{
OrderChildImage
image
=
new
OrderChildImage
();
...
...
@@ -596,10 +622,6 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild
.
setStatus
(
OrderChildEnum
.
Status
.
UNSETTLE
.
getCode
());
orderChildDao
.
updateStatus
(
orderChild
);
// 释放司机、车辆
releaseDriver
(
orderChild
.
getDriverUserNo
());
releaseTruck
(
orderChild
.
getTruckId
());
// 日志
orderChildLogService
.
saveDriverOrderChildLog
(
childNo
,
OrderChildLogEnum
.
Type
.
DRIVER_CONFIRM
.
getCode
(),
OrderChildLogEnum
.
Type
.
DRIVER_CONFIRM
.
getMsg
(),
loginUserInfo
.
getUserNo
(),
loginUserInfo
.
getUserName
());
...
...
@@ -632,6 +654,13 @@ public class OrderChildServiceImpl implements OrderChildService {
// 取消量验证
if
(!
cancelCountCheck
(
userNo
)){
throw
new
ServiceSystemException
(
PerformanceResultEnum
.
ORDER_CHILD_CANCEL_FORBID_COUNT
);}
// 定向
OrderGoodsTruckBind
orderGoodsTruckBind
=
null
;
if
(
Objects
.
equals
(
orderGoods
.
getPendingOrderWay
(),
OrderGoodsPendingOrderWayStatusEnum
.
Status
.
EXCLUSIVE
.
getCode
())){
orderGoodsTruckBind
=
orderGoodsTruckBindDao
.
getByOrderGoodsNoAndTruckNo
(
orderGoods
.
getOrderGoodsNo
(),
orderChild
.
getTruckNo
())
.
orElseThrow
(
PerformanceResultEnum
.
DATA_NOT_FIND
);
}
orderChild
.
setCancelRemark
(
param
.
getRemark
());
orderChild
.
setCancelTime
(
now
);
orderChild
.
setFinishTime
(
now
);
...
...
@@ -640,7 +669,10 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChildDao
.
updateCancel
(
orderChild
);
// 返回吨数
cancelReturnWeight
(
orderChild
,
orderGoods
);
updateOrderGoodsAmountReturn
(
orderChild
,
orderGoods
);
// 取消定向
updateOrderGoodsDirectCancel
(
orderGoodsTruckBind
);
// 释放司机、车辆
releaseDriver
(
orderChild
.
getDriverUserNo
());
...
...
@@ -764,21 +796,50 @@ public class OrderChildServiceImpl implements OrderChildService {
* 更新货单数据
*/
private
void
updateOrderGoodsAmount
(
OrderGoods
orderGoods
,
BigDecimal
weight
){
if
(
orderGoods
.
getResidueTransportWeight
().
compareTo
(
weight
)
<=
0
)
{
orderGoods
.
setOrderGoodsStatus
(
0
);}
orderGoodsDao
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
(),
weight
);
}
orderGoodsService
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
(),
weight
);
/**
* 取消返吨数
*/
private
void
updateOrderGoodsAmountReturn
(
OrderChild
orderChild
,
OrderGoods
orderGoods
){
orderGoodsDao
.
updateOrderGoodsReduceWeightAndStatus
(
orderGoods
.
getId
(),
orderChild
.
getWeight
().
negate
());
}
/**
* 更新定向单状态
* 更新定向单状态
(接单)
*/
private
void
updateOrderGoods
(
OrderGoodsTruckBind
orderGoodsTruckBind
){
private
void
updateOrderGoods
Direct
(
OrderGoodsTruckBind
orderGoodsTruckBind
){
if
(
orderGoodsTruckBind
==
null
)
{
return
;}
orderGoodsTruckBind
.
setStatus
(
OrderGoodsTruckBind
.
Status
.
ORDER
.
getCode
());
orderGoodsTruckBindDao
.
updateStatus
(
orderGoodsTruckBind
);
}
private
void
updateOrderGoodsReject
(
OrderGoods
orderGoods
,
String
truckNo
){
/**
* 更新定向派单状态 (拒绝)
*/
private
void
updateOrderGoodsDirectReject
(
OrderGoodsTruckBind
orderGoodsTruckBind
){
orderGoodsTruckBind
.
setStatus
(
OrderGoodsTruckBind
.
Status
.
CANCEL
.
getCode
());
orderGoodsTruckBindDao
.
updateStatus
(
orderGoodsTruckBind
);
}
/**
* 更新定向派单状态 (取消)
*/
private
void
updateOrderGoodsDirectCancel
(
OrderGoodsTruckBind
orderGoodsTruckBind
){
if
(
orderGoodsTruckBind
==
null
)
{
return
;}
orderGoodsTruckBind
.
setStatus
(
OrderGoodsTruckBind
.
Status
.
CANCEL
.
getCode
());
orderGoodsTruckBindDao
.
updateStatus
(
orderGoodsTruckBind
);
}
/**
* 拉运吨数检测
*/
private
boolean
loadCheck
(
BigDecimal
weight
,
BigDecimal
truckLoad
){
if
(
weight
.
compareTo
(
truckLoad
.
multiply
(
new
BigDecimal
(
"1.5"
)))
>
0
)
{
return
false
;}
return
true
;
}
/**
...
...
@@ -793,13 +854,6 @@ public class OrderChildServiceImpl implements OrderChildService {
return
count
<
10
;
}
/**
* 取消返吨数
*/
private
void
cancelReturnWeight
(
OrderChild
orderChild
,
OrderGoods
orderGoods
){
}
/**
* 运单拉运吨数计算
*/
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论