|
|
@@ -113,8 +113,9 @@ public class KwtWaybillOrderService {
|
|
|
**/
|
|
|
public Map<String, Object> findStatisticsSumByDriver(Map params) {
|
|
|
Map<String, Object> data = waybillOrderDao.findStatisticsSumByDriver(params);
|
|
|
- Double deficitLossAmount = waybillOrderDao.deficitLossAmountByDriver(params);
|
|
|
- data.put("deficitLossAmount", deficitLossAmount <= 0 ? Global.AMOUNT : deficitLossAmount);
|
|
|
+ BigDecimal deficitLossAmount = waybillOrderDao.deficitLossAmountByDriver(params);
|
|
|
+ deficitLossAmount = deficitLossAmount.setScale(2, RoundingMode.HALF_UP);
|
|
|
+ data.put("deficitLossAmount", deficitLossAmount.compareTo(new BigDecimal("0.00")) <= 0 ? Global.AMOUNT : deficitLossAmount);
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
@@ -144,7 +145,7 @@ public class KwtWaybillOrderService {
|
|
|
//出车-出车时间
|
|
|
if (busStatus == Global.NUMERICAL_TWO) {
|
|
|
for (WaybillOrderDriverVo waybillOrder : waybillOrders) {
|
|
|
- KwtWaybillOrderTrack track = waybillOrderTrackDao.findWaybillOrderTrack (waybillOrder.getWOrderId(), waybillOrder.getStatus());
|
|
|
+ KwtWaybillOrderTrack track = waybillOrderTrackDao.findWaybillOrderTrack(waybillOrder.getWOrderId(), waybillOrder.getStatus());
|
|
|
waybillOrder.setOperateTime(track != null ? track.getOperateTime() : null);
|
|
|
}
|
|
|
}
|
|
|
@@ -550,17 +551,17 @@ public class KwtWaybillOrderService {
|
|
|
String lockKey = String.format(RedisConstant.WAYBILL_NO_GENERATE_KEY, DateUtils.formatDateToYYMMDD(date)) + lOrderNo;
|
|
|
String key = OrderGenerateSeqNoUtils.getKeyNotDate(RedisOrderGenerateEnum.WAYBILL_ORDER, OrderRuleEnum.WAYBILL_ORDER, lOrderNo);
|
|
|
try {
|
|
|
- if (Boolean.FALSE.equals(RedissonUtils.exists(key))) {
|
|
|
- if (Boolean.FALSE.equals(RedissonUtils.tryLock(lockKey, 5L, 10L))) {
|
|
|
- throw new BusinessException("业务繁忙,请稍后再试!");
|
|
|
- }
|
|
|
- String maxOrderNo = waybillOrderDao.getMaxOrderNo(lOrderNo);
|
|
|
- if (StringUtils.isNotBlank(maxOrderNo)) {
|
|
|
- Long maxNum = Long.valueOf(StringUtils.subStrFromIndexToEnd(maxOrderNo, 3));
|
|
|
- RedissonUtils.setAtomicLong(key, maxNum, DateUtils.getSecondsDay());
|
|
|
+ if (Boolean.FALSE.equals(RedissonUtils.exists(key))) {
|
|
|
+ if (Boolean.FALSE.equals(RedissonUtils.tryLock(lockKey, 5L, 10L))) {
|
|
|
+ throw new BusinessException("业务繁忙,请稍后再试!");
|
|
|
+ }
|
|
|
+ String maxOrderNo = waybillOrderDao.getMaxOrderNo(lOrderNo);
|
|
|
+ if (StringUtils.isNotBlank(maxOrderNo)) {
|
|
|
+ Long maxNum = Long.valueOf(StringUtils.subStrFromIndexToEnd(maxOrderNo, 3));
|
|
|
+ RedissonUtils.setAtomicLong(key, maxNum, DateUtils.getSecondsDay());
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- return OrderGenerateSeqNoUtils.getWaybillSeqNo(RedisOrderGenerateEnum.WAYBILL_ORDER, OrderRuleEnum.WAYBILL_ORDER, lOrderNo);
|
|
|
+ return OrderGenerateSeqNoUtils.getWaybillSeqNo(RedisOrderGenerateEnum.WAYBILL_ORDER, OrderRuleEnum.WAYBILL_ORDER, lOrderNo);
|
|
|
} finally {
|
|
|
RedissonUtils.unlock(lockKey);
|
|
|
}
|
|
|
@@ -1087,11 +1088,11 @@ public class KwtWaybillOrderService {
|
|
|
|
|
|
/**1-5循环派车失效kwt_logistics_order_circulate**/
|
|
|
//趟次派车信息
|
|
|
- List<KwtWaybillOrder> waybillOrders = waybillOrderDao.findWaybillOrder(new HashMap<>(Global.NUMERICAL_SIXTEEN){{
|
|
|
+ List<KwtWaybillOrder> waybillOrders = waybillOrderDao.findWaybillOrder(new HashMap<>(Global.NUMERICAL_SIXTEEN) {{
|
|
|
put("lOrderId", lorderId);
|
|
|
put("status", CarWaybillEnum.PENDING_ORDER.getCode());
|
|
|
}});
|
|
|
- for (KwtWaybillOrder waybillOrder:waybillOrders) {
|
|
|
+ for (KwtWaybillOrder waybillOrder : waybillOrders) {
|
|
|
waybillOrder.setStatus(CarWaybillEnum.REVOKED.getCode());
|
|
|
waybillOrderDao.updateById(waybillOrder);
|
|
|
|
|
|
@@ -1335,8 +1336,13 @@ public class KwtWaybillOrderService {
|
|
|
editSckwLogisticsOrder(lOrder, logisticsOrder);
|
|
|
|
|
|
/**6发送消息**/
|
|
|
- List<UserInfo> users = new ArrayList<>(){{add(new UserInfo(waybillOrder.getCreateBy(), waybillOrder.getEntId()));}};
|
|
|
- Map<String, Object> msgParams = new HashMap<>(){{put("orderNo", waybillOrder.getWOrderNo());put("driverName", waybillOrder.getDriverName());}};
|
|
|
+ List<UserInfo> users = new ArrayList<>() {{
|
|
|
+ add(new UserInfo(waybillOrder.getCreateBy(), waybillOrder.getEntId()));
|
|
|
+ }};
|
|
|
+ Map<String, Object> msgParams = new HashMap<>() {{
|
|
|
+ put("orderNo", waybillOrder.getWOrderNo());
|
|
|
+ put("driverName", waybillOrder.getDriverName());
|
|
|
+ }};
|
|
|
SckwMessage msg = new SckwMessage();
|
|
|
msg.setRequestId(UUIDUtils.get32UUID());
|
|
|
msg.setMessageEnum(MessageEnum.WAYBILL_REFUSE_SENDCAR_TRIP);
|
|
|
@@ -1373,8 +1379,13 @@ public class KwtWaybillOrderService {
|
|
|
|
|
|
/**4发送消息**/
|
|
|
KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(circulate.getLOrderId());
|
|
|
- List<UserInfo> users = new ArrayList<>(){{add(new UserInfo(circulate.getCreateBy(), circulate.getEntId()));}};
|
|
|
- Map<String, Object> msgParams = new HashMap<>(){{put("orderNo", logisticsOrder.getLOrderNo());put("driverName", waybillOrder.getDriverName());}};
|
|
|
+ List<UserInfo> users = new ArrayList<>() {{
|
|
|
+ add(new UserInfo(circulate.getCreateBy(), circulate.getEntId()));
|
|
|
+ }};
|
|
|
+ Map<String, Object> msgParams = new HashMap<>() {{
|
|
|
+ put("orderNo", logisticsOrder.getLOrderNo());
|
|
|
+ put("driverName", waybillOrder.getDriverName());
|
|
|
+ }};
|
|
|
SckwMessage msg = new SckwMessage();
|
|
|
msg.setRequestId(UUIDUtils.get32UUID());
|
|
|
msg.setMessageEnum(MessageEnum.WAYBILL_REFUSE_SENDCAR_CIRCULATE);
|
|
|
@@ -1405,7 +1416,7 @@ public class KwtWaybillOrderService {
|
|
|
return HttpResult.error("车辆运单当前状态已不能出车!");
|
|
|
}
|
|
|
//车辆任务中校验
|
|
|
- Map<String, Object> queryParams = new HashMap<>(Global.NUMERICAL_SIXTEEN){{
|
|
|
+ Map<String, Object> queryParams = new HashMap<>(Global.NUMERICAL_SIXTEEN) {{
|
|
|
put("truckNo", waybillOrder.getTruckNo());
|
|
|
put("busStatus", 3);
|
|
|
}};
|
|
|
@@ -1484,8 +1495,13 @@ public class KwtWaybillOrderService {
|
|
|
editSckwLogisticsOrder(lOrder, logisticsOrder);
|
|
|
|
|
|
/**7发送消息**/
|
|
|
- List<UserInfo> users = new ArrayList<>(){{add(new UserInfo(waybillOrder.getCreateBy(), waybillOrder.getEntId()));}};
|
|
|
- Map<String, Object> msgParams = new HashMap<>(){{put("orderNo", waybillOrder.getWOrderNo());put("driverName", waybillOrder.getDriverName());}};
|
|
|
+ List<UserInfo> users = new ArrayList<>() {{
|
|
|
+ add(new UserInfo(waybillOrder.getCreateBy(), waybillOrder.getEntId()));
|
|
|
+ }};
|
|
|
+ Map<String, Object> msgParams = new HashMap<>() {{
|
|
|
+ put("orderNo", waybillOrder.getWOrderNo());
|
|
|
+ put("driverName", waybillOrder.getDriverName());
|
|
|
+ }};
|
|
|
SckwMessage msg = new SckwMessage();
|
|
|
msg.setRequestId(UUIDUtils.get32UUID());
|
|
|
msg.setMessageEnum(MessageEnum.WAYBIL_CONFIRM_DEPARTURE);
|
|
|
@@ -1803,7 +1819,7 @@ public class KwtWaybillOrderService {
|
|
|
put("logisticsStatus", LogisticsOrderEnum.IN_TRANSIT.getCode());
|
|
|
}});
|
|
|
//物流订单统计(运输完成后的物流订单)
|
|
|
- LogisticsCountVo LogisticsCount = logisticsOrderDao.findLogisticsOrderCount(new HashMap(){{
|
|
|
+ LogisticsCountVo LogisticsCount = logisticsOrderDao.findLogisticsOrderCount(new HashMap() {{
|
|
|
put("upperlOrderId", logisticsOrder.getId());
|
|
|
put("finishedStatus", Global.NUMERICAL_ONE);
|
|
|
}});
|
|
|
@@ -1815,7 +1831,7 @@ public class KwtWaybillOrderService {
|
|
|
/**1-3更新贸易订单总量**/
|
|
|
if (logisticsLevel(logisticsOrder) == Global.NUMERICAL_ONE) {
|
|
|
//物流订单统计(运输完成后的物流订单)
|
|
|
- LogisticsCountVo tradeCount = logisticsOrderDao.findLogisticsOrderCount(new HashMap<>(){{
|
|
|
+ LogisticsCountVo tradeCount = logisticsOrderDao.findLogisticsOrderCount(new HashMap<>() {{
|
|
|
put("tOrderId", logisticsOrder.getTOrderId());
|
|
|
put("level", Global.NUMERICAL_ONE);
|
|
|
}});
|
|
|
@@ -1823,7 +1839,7 @@ public class KwtWaybillOrderService {
|
|
|
WaybillCountVo tradeCount1 = waybillOrderDao.findWaybillOrderCount(new HashMap<>() {{
|
|
|
put("tOrderId", logisticsOrder.getTOrderId());
|
|
|
}});
|
|
|
- UpdateActualAmountParam tradeOrder = new UpdateActualAmountParam();
|
|
|
+ UpdateActualAmountParam tradeOrder = new UpdateActualAmountParam();
|
|
|
tradeOrder.setTOrderId(logisticsOrder.getTOrderId());
|
|
|
tradeOrder.setActualLoadAmount(tradeCount.getLoadAmount());
|
|
|
tradeOrder.setActualUnloadAmount(tradeCount.getUnloadAmount());
|
|
|
@@ -1881,7 +1897,7 @@ public class KwtWaybillOrderService {
|
|
|
put("logisticsStatus", LogisticsOrderEnum.IN_TRANSIT.getCode());
|
|
|
}});
|
|
|
//物流订单统计(运输完成后的物流订单)
|
|
|
- LogisticsCountVo LogisticsCount = logisticsOrderDao.findLogisticsOrderCount(new HashMap(){{
|
|
|
+ LogisticsCountVo LogisticsCount = logisticsOrderDao.findLogisticsOrderCount(new HashMap() {{
|
|
|
put("upperlOrderId", logisticsOrder.getId());
|
|
|
put("finishedStatus", Global.NUMERICAL_ONE);
|
|
|
}});
|
|
|
@@ -2544,8 +2560,8 @@ public class KwtWaybillOrderService {
|
|
|
private Map<String, Integer> statisticsCarriageByOrderId(String orderId) {
|
|
|
Map<String, Integer> map = new HashMap<>();
|
|
|
/**
|
|
|
- * 【进行】:对应【待接单】、【待出车】、【已出车】、【到达装货地点】、【已装货】、【到达卸货地点】
|
|
|
- * 【完成】:对应【已卸货】、【已核单】
|
|
|
+ * 【进行】:对应【待接单】、【待出车】、【已出车】、【到达装货地点】、【已装货】、【已卸货】、【到达卸货地点】【审核不通过:12】【单证更新审核中】
|
|
|
+ * 【完成】:对应【已核单】
|
|
|
* 【退回】:对应【拒绝接单】、【拒绝出车】、【单趟撤回】
|
|
|
* */
|
|
|
List<Integer> orderStatusList = new ArrayList<>();
|
|
|
@@ -2555,13 +2571,13 @@ public class KwtWaybillOrderService {
|
|
|
orderStatusList.add(CarWaybillEnum.WAIT_LOADING.getCode());
|
|
|
orderStatusList.add(CarWaybillEnum.COMPLETION_LOADING.getCode());
|
|
|
orderStatusList.add(CarWaybillEnum.WAIT_UNLOADING.getCode());
|
|
|
+ orderStatusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
|
|
|
orderStatusList.add(CarWaybillEnum.APPROVAL_NO_PASS.getCode());
|
|
|
orderStatusList.add(CarWaybillEnum.APPROVAL_IN.getCode());
|
|
|
Integer proceed = logisticsOrderDao.selectCountByLorderId(orderId, orderStatusList);
|
|
|
map.put("proceed", proceed);
|
|
|
-
|
|
|
orderStatusList.clear();
|
|
|
- orderStatusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
|
|
|
+
|
|
|
orderStatusList.add(CarWaybillEnum.APPROVAL_PASS.getCode());
|
|
|
Integer finish = logisticsOrderDao.selectCountByLorderId(orderId, orderStatusList);
|
|
|
map.put("finish", finish);
|
|
|
@@ -2570,7 +2586,7 @@ public class KwtWaybillOrderService {
|
|
|
orderStatusList.add(CarWaybillEnum.REJECT_ORDER.getCode());
|
|
|
orderStatusList.add(CarWaybillEnum.REFUSE_TRAFFIC.getCode());
|
|
|
orderStatusList.add(CarWaybillEnum.REVOKED.getCode());
|
|
|
- orderStatusList.add(CarWaybillEnum.APPROVAL_NO_PASS.getCode());
|
|
|
+// orderStatusList.add(CarWaybillEnum.APPROVAL_NO_PASS.getCode());
|
|
|
Integer cancel = logisticsOrderDao.selectCountByLorderId(orderId, orderStatusList);
|
|
|
map.put("cancel", cancel);
|
|
|
|
|
|
@@ -2601,11 +2617,12 @@ public class KwtWaybillOrderService {
|
|
|
orderStatusList.add(CarWaybillEnum.WAIT_UNLOADING.getCode());
|
|
|
orderStatusList.add(CarWaybillEnum.APPROVAL_NO_PASS.getCode());
|
|
|
orderStatusList.add(CarWaybillEnum.APPROVAL_IN.getCode());
|
|
|
+ orderStatusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
|
|
|
+ orderStatusList.add(CarWaybillEnum.APPROVAL_NO_PASS.getCode());
|
|
|
Integer proceed = logisticsOrderDao.selectCountByLorderId(orderId, orderStatusList);
|
|
|
map.put("proceed", proceed);
|
|
|
|
|
|
orderStatusList.clear();
|
|
|
- orderStatusList.add(CarWaybillEnum.COMPLETION_UNLOADING.getCode());
|
|
|
orderStatusList.add(CarWaybillEnum.APPROVAL_PASS.getCode());
|
|
|
Integer finish = logisticsOrderDao.selectCountByLorderId(orderId, orderStatusList);
|
|
|
map.put("finish", finish);
|
|
|
@@ -2614,7 +2631,6 @@ public class KwtWaybillOrderService {
|
|
|
orderStatusList.add(CarWaybillEnum.REJECT_ORDER.getCode());
|
|
|
orderStatusList.add(CarWaybillEnum.REFUSE_TRAFFIC.getCode());
|
|
|
orderStatusList.add(CarWaybillEnum.REVOKED.getCode());
|
|
|
- orderStatusList.add(CarWaybillEnum.APPROVAL_NO_PASS.getCode());
|
|
|
Integer cancel = logisticsOrderDao.selectCountByLorderId(orderId, orderStatusList);
|
|
|
map.put("cancel", cancel);
|
|
|
|
|
|
@@ -2658,7 +2674,7 @@ public class KwtWaybillOrderService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * @param type 字典类型
|
|
|
+ * @param type 字典类型
|
|
|
* @param value 字典值
|
|
|
* @desc 获取数据字典值
|
|
|
* @author zk
|
|
|
@@ -2668,7 +2684,7 @@ public class KwtWaybillOrderService {
|
|
|
if (StringUtils.isBlank(type) || StringUtils.isBlank(value)) {
|
|
|
return null;
|
|
|
}
|
|
|
- List<String> dictKey = new ArrayList<>(){{
|
|
|
+ List<String> dictKey = new ArrayList<>() {{
|
|
|
add(type + Global.POUND + value);
|
|
|
}};
|
|
|
Map<String, SysDictResDto> dicts = remoteSystemService.queryDictMapByTypeValues(String.join(Global.COMMA, dictKey));
|