|
|
@@ -903,6 +903,9 @@ public class KwtWaybillOrderV1Service {
|
|
|
List<KwtLogisticsOrderAmount> logisticsOrderAmounts = logisticsOrderAmountDao.findByAddress(queryAmount);
|
|
|
for (KwtLogisticsOrderAmount orderAmount : logisticsOrderAmounts) {
|
|
|
BigDecimal truckEntrustAmount = truckTotalEntrustAmount.get(orderAmount.getLAddressId());
|
|
|
+ if (Objects.isNull(truckEntrustAmount)) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
//剩余可运量 = 当前上游委派量 - 历史下游司机委派量 - 分包量
|
|
|
BigDecimal surplusAmount = orderAmount.getAmount().subtract(orderAmount.getEntrustAmount()).subtract(orderAmount.getSubcontractAmount());
|
|
|
if (surplusAmount.doubleValue() < truckEntrustAmount.doubleValue()) {
|
|
|
@@ -1873,6 +1876,7 @@ public class KwtWaybillOrderV1Service {
|
|
|
**/
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public HttpResult editTicketV2(List<WaybillOrderEditTicketDto> params) {
|
|
|
+ log.info("params:{}", JSON.toJSONString(params));
|
|
|
/*1、校验*/
|
|
|
for (WaybillOrderEditTicketDto ticketDto : params) {
|
|
|
Long wTicketId = ticketDto.getWTicketId();
|
|
|
@@ -1883,13 +1887,16 @@ public class KwtWaybillOrderV1Service {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //数据处理
|
|
|
+ //数据处理-榜单
|
|
|
+ Long wOrderId = null;
|
|
|
+ //运单信息
|
|
|
+ KwtWaybillOrderV1 waybillOrder = null;
|
|
|
for (WaybillOrderEditTicketDto ticketDto : params) {
|
|
|
Long wTicketId = ticketDto.getWTicketId();
|
|
|
KwtWaybillOrderTicket ticket = waybillOrderTicketDao.selectById(wTicketId);
|
|
|
- Long wOrderId = ticket.getWOrderId();
|
|
|
+ wOrderId = ticket.getWOrderId();
|
|
|
//运单信息
|
|
|
- KwtWaybillOrderV1 waybillOrder = waybillOrderV1Dao.selectById(wOrderId);
|
|
|
+ waybillOrder = waybillOrderV1Dao.selectById(wOrderId);
|
|
|
if (waybillOrder == null) {
|
|
|
return HttpResult.error("运单" + wOrderId + "不存在,请确认!");
|
|
|
}
|
|
|
@@ -1906,11 +1913,14 @@ public class KwtWaybillOrderV1Service {
|
|
|
/*2、更新装卸货榜单信息*/
|
|
|
//榜单信息
|
|
|
List<WaybillOrderTicketLoadingDto> loading = ticketDto.getLoading();
|
|
|
+ log.info("loading:{}", JSON.toJSONString(loading));
|
|
|
waybillOrderTicketService.editTicketV1(loading, ticket.getWAddressId(), ticketDto.getUrls(), ticketDto.getOperateTime());
|
|
|
|
|
|
/*3、更新车辆运单-子单*/
|
|
|
//运单子单信息
|
|
|
KwtWaybillOrderSubtask orderSubtask = waybillOrderSubtaskDao.selectById(ticket.getWSubtaskId());
|
|
|
+ log.info("orderSubtask:{}", JSON.toJSONString(orderSubtask));
|
|
|
+
|
|
|
//物流运单信息
|
|
|
KwtLogisticsOrder logisticsOrder = logisticsOrderDao.selectById(orderSubtask.getLOrderId());
|
|
|
//运单-子单装货榜单信息
|
|
|
@@ -1928,47 +1938,48 @@ public class KwtWaybillOrderV1Service {
|
|
|
logisticsOrder.getLoss(), logisticsOrder.getLossUnit(), logisticsOrder.getGoodsPrice());
|
|
|
orderSubtask.setDeficitPrice(deficitPrice);
|
|
|
waybillOrderSubtaskDao.updateById(orderSubtask);
|
|
|
+ log.info("neworderSubtask:{}", JSON.toJSONString(orderSubtask));
|
|
|
+ }
|
|
|
|
|
|
- /*4、更新车辆运单子单状态*/
|
|
|
- //运单子单信息
|
|
|
- List<KwtWaybillOrderSubtask> subtasks = waybillOrderSubtaskDao.findByWOrderId(orderSubtask.getWOrderId());
|
|
|
- for (KwtWaybillOrderSubtask subtask : subtasks) {
|
|
|
- //运单子单状态不为驳回状态则不更新运单状态
|
|
|
- if (!subtask.getStatus().equals(CarWaybillEnum.APPROVAL_NO_PASS.getCode())) {
|
|
|
- return HttpResult.ok();
|
|
|
- }
|
|
|
- //榜单存在审核失败状态则不更新运单状态
|
|
|
- List<KwtWaybillOrderTicket> tickets = waybillOrderTicketDao.findWaybillOrderTicket(null, subtask.getId(), null);
|
|
|
- for (KwtWaybillOrderTicket ticket1 : tickets) {
|
|
|
- if (ticket1.getStatus() == Global.NUMERICAL_ONE) {
|
|
|
- return HttpResult.ok();
|
|
|
- }
|
|
|
- }
|
|
|
- //运单-子弹当前为驳回则状态更新为单证更新审核中
|
|
|
- int status = orderSubtask.getStatus().equals(CarWaybillEnum.APPROVAL_NO_PASS.getCode()) ? CarWaybillEnum.APPROVAL_IN.getCode() : orderSubtask.getStatus();
|
|
|
- subtask.setStatus(status);
|
|
|
- waybillOrderSubtaskDao.updateById(subtask);
|
|
|
- }
|
|
|
-
|
|
|
- /*5、更新车辆运单-状态*/
|
|
|
- //运单状态不为驳回状态则不更新运单状态
|
|
|
- if (!waybillOrder.getStatus().equals(CarWaybillEnum.APPROVAL_NO_PASS.getCode())) {
|
|
|
+ /*4、更新车辆运单子单状态*/
|
|
|
+ //运单子单信息
|
|
|
+ List<KwtWaybillOrderSubtask> subtasks = waybillOrderSubtaskDao.findByWOrderId(wOrderId);
|
|
|
+ for (KwtWaybillOrderSubtask subtask : subtasks) {
|
|
|
+ //运单子单状态不为驳回状态则不更新运单状态
|
|
|
+ if (!subtask.getStatus().equals(CarWaybillEnum.APPROVAL_NO_PASS.getCode())) {
|
|
|
return HttpResult.ok();
|
|
|
}
|
|
|
- //运单子单存在非待审核和审核中则不更新
|
|
|
- subtasks = waybillOrderSubtaskDao.findByWOrderId(orderSubtask.getWOrderId());
|
|
|
- for (KwtWaybillOrderSubtask subtask : subtasks) {
|
|
|
- if (!subtask.getStatus().equals(CarWaybillEnum.APPROVAL_IN.getCode())
|
|
|
- && !subtask.getStatus().equals(CarWaybillEnum.APPROVAL_TREAT.getCode())) {
|
|
|
+ //榜单存在审核失败状态则不更新运单状态
|
|
|
+ List<KwtWaybillOrderTicket> tickets = waybillOrderTicketDao.findWaybillOrderTicket(null, subtask.getId(), null);
|
|
|
+ for (KwtWaybillOrderTicket ticket1 : tickets) {
|
|
|
+ if (ticket1.getStatus() == Global.NUMERICAL_ONE) {
|
|
|
return HttpResult.ok();
|
|
|
}
|
|
|
}
|
|
|
- waybillOrder.setStatus(CarWaybillEnum.APPROVAL_IN.getCode());
|
|
|
- waybillOrderV1Dao.updateById(waybillOrder);
|
|
|
+ //运单-子单当前为驳回则状态更新为单证更新审核中
|
|
|
+ int status = subtask.getStatus().equals(CarWaybillEnum.APPROVAL_NO_PASS.getCode()) ? CarWaybillEnum.APPROVAL_IN.getCode() : subtask.getStatus();
|
|
|
+ subtask.setStatus(status);
|
|
|
+ waybillOrderSubtaskDao.updateById(subtask);
|
|
|
+ }
|
|
|
|
|
|
- /*4.2、新增运单状态记录*/
|
|
|
- setWaybillOrderTrack(waybillOrder.getId(), null, null, null, waybillOrder.getStatus(), null);
|
|
|
+ /*5、更新车辆运单-状态*/
|
|
|
+ //运单状态不为驳回状态则不更新运单状态
|
|
|
+ if (!waybillOrder.getStatus().equals(CarWaybillEnum.APPROVAL_NO_PASS.getCode())) {
|
|
|
+ return HttpResult.ok();
|
|
|
}
|
|
|
+ //运单子单存在非待审核和审核中则不更新
|
|
|
+ subtasks = waybillOrderSubtaskDao.findByWOrderId(wOrderId);
|
|
|
+ for (KwtWaybillOrderSubtask subtask : subtasks) {
|
|
|
+ if (!subtask.getStatus().equals(CarWaybillEnum.APPROVAL_IN.getCode())
|
|
|
+ && !subtask.getStatus().equals(CarWaybillEnum.APPROVAL_TREAT.getCode())) {
|
|
|
+ return HttpResult.ok();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ waybillOrder.setStatus(CarWaybillEnum.APPROVAL_IN.getCode());
|
|
|
+ waybillOrderV1Dao.updateById(waybillOrder);
|
|
|
+
|
|
|
+ /*4.2、新增运单状态记录*/
|
|
|
+ setWaybillOrderTrack(waybillOrder.getId(), null, null, null, waybillOrder.getStatus(), null);
|
|
|
return HttpResult.ok();
|
|
|
}
|
|
|
|