|
|
@@ -69,7 +69,7 @@ public abstract class AbstractWaybillOrderHandler<T extends WaybillOrderProcessP
|
|
|
// 4. 核心业务
|
|
|
doBusiness(param, waybillOrder);
|
|
|
// 5. 更新状态
|
|
|
- updateStatus(param, waybillOrder);
|
|
|
+ updateStatus(waybillOrder);
|
|
|
// 6. 生成节点轨迹
|
|
|
createNodeTrace(param, waybillOrder);
|
|
|
// 7. 后置处理
|
|
|
@@ -111,7 +111,20 @@ public abstract class AbstractWaybillOrderHandler<T extends WaybillOrderProcessP
|
|
|
protected abstract void doBusiness(T param, KwtWaybillOrder waybillOrder);
|
|
|
|
|
|
// 5. 更新状态
|
|
|
- protected abstract void updateStatus(T param, KwtWaybillOrder waybillOrder);
|
|
|
+ protected void updateStatus(KwtWaybillOrder waybillOrder) {
|
|
|
+ if (waybillOrder == null) {
|
|
|
+ //接单已经初始化了,无需额外更新
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 修改运单状态
|
|
|
+ waybillOrder.setStatus(getStatus());
|
|
|
+ waybillOrderRepository.updateById(waybillOrder);
|
|
|
+
|
|
|
+ //修改子运单状态
|
|
|
+ KwtWaybillOrderSubtask waybillSubtask = getWaybillSubtask(waybillOrder.getId());
|
|
|
+ waybillSubtask.setStatus(getStatus());
|
|
|
+ waybillOrderSubtaskRepository.updateById(waybillSubtask);
|
|
|
+ }
|
|
|
|
|
|
// 6. 生成节点轨迹
|
|
|
protected void createNodeTrace(T param, KwtWaybillOrder waybillOrder) {
|
|
|
@@ -151,6 +164,7 @@ public abstract class AbstractWaybillOrderHandler<T extends WaybillOrderProcessP
|
|
|
|
|
|
protected abstract String getProcessName();
|
|
|
|
|
|
+ protected abstract Integer getStatus();
|
|
|
|
|
|
protected abstract String getRemark(T param, KwtWaybillOrder waybillOrder);
|
|
|
|