pauseRunTask method
void
pauseRunTask({
- String? remark,
- required List<
ShippingNoteInfo> shippingNoteInfos, - SuccessBack? successBack,
暂停 切换司机 TODO:暂停/切换司机/车辆时先点击
Implementation
void pauseRunTask({String? remark, required List<ShippingNoteInfo> shippingNoteInfos, SuccessBack? successBack}) {
if (shippingNoteInfos.isEmpty) {
taskListener(false, "SYSTEM", "暂停失败,您传入的运单数量为0,已跳过", shippingNoteInfos);
return;
}
for (ShippingNoteInfo element in shippingNoteInfos) {
if (element.runState != RunState.start) {
taskListener(false, "SYSTEM", "暂停失败,您传入的运单中存在未开始的运单,无法暂停,请先过滤掉未开始的运单", shippingNoteInfos);
return;
}
}
XbrNetworkFreight.pause(
vehicleNumber: shippingNoteInfos[0].vehicleNumber,
driverName: shippingNoteInfos[0].driverName,
shippingNoteInfos: shippingNoteInfos,
remark: remark,
returnBack: (ReqReturn ret) {
if (ret.success == null || ret.success == false) {
if (ret.code == NO_AUTH_CODE) {
taskListener(false, NO_AUTH_CODE, "运单暂停时返回认证授权失效,正在恢复认证重新发送", shippingNoteInfos);
authBack(successBack:(String code,String msg, List<ShippingNoteInfo> _){
pauseRunTask(remark: remark, shippingNoteInfos: shippingNoteInfos,successBack:successBack);
});
return;
}
taskListener(false, ret.code, "运单暂停失败:${ret.msg},请重新提交命令", shippingNoteInfos);
return;
}
for (var element in shippingNoteInfos) {
element.runState = RunState.pause;
runMap.remove(element.shippingNoteNumber);
}
taskListener(true, SUCCESS_CODE, "运单暂停成功,已标记运单暂停状态,现在可以换司机/换车", shippingNoteInfos);
if(successBack!=null){
successBack(ret.code??OTHER_ERR_CODE,ret.msg??"",shippingNoteInfos);
}
},
);
}