stopRunTask method

void stopRunTask({
  1. String? remark,
  2. required List<ShippingNoteInfo> shippingNoteInfos,
  3. SuccessBack? successBack,
})

自动认证并结束 TODO:运单结束送达时点击--结束,停止定位

Implementation

void stopRunTask({String? remark, required List<ShippingNoteInfo> shippingNoteInfos, SuccessBack? successBack}) {
  XbrNetworkFreight.stop(
    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> _){
            stopRunTask(remark: remark, shippingNoteInfos: shippingNoteInfos,successBack:successBack);
          });
          return;
        }
        taskListener(false, ret.code, "运单结束失败:${ret.msg},请重新提交命令", shippingNoteInfos);
        return;
      }
      for (var element in shippingNoteInfos) {
        element.runState = RunState.stop;
        runMap.remove(element.shippingNoteNumber);
      }
      taskListener(true, SUCCESS_CODE, "运单停止成功,本次定位已结束", shippingNoteInfos);
      if(successBack!=null){
        successBack(ret.code??OTHER_ERR_CODE,ret.msg??"",shippingNoteInfos);
      }
    },
  );
}