internal static bool UpdateStatusByBatchNumber(BatchUpdateParam batchParam) { // 根据action 获取 fromStatus、toStatus string fromStatus; string toStatus; switch (batchParam.Action) { case "airportconfirm": fromStatus = ((int)OrderStatusEnum.HasSend).ToString(); toStatus = ((int)OrderStatusEnum.InFlight).ToString(); break; case "jbbwconfirm": fromStatus = ((int)OrderStatusEnum.InFlight).ToString(); toStatus = ((int)OrderStatusEnum.ToJBBW).ToString(); break; case "qingguanconfirm": fromStatus = ((int)OrderStatusEnum.ToJBBW).ToString(); toStatus = ((int)OrderStatusEnum.QingGuan).ToString(); break; default: throw new MsgException("参数错误!"); } // 根据batchNumber 查询订单信息 DataTable dt = JabMySqlHelper.ExecuteDataTable(Config.DBConnection, @" SELECT ORDER_NUM,ID FROM ex_orderinfo WHERE BATCH_NUMBER=@BatchNumber and `STATUS`=@Status", new MySqlParameter("@BatchNumber", batchParam.BatchNumber), new MySqlParameter("@Status", fromStatus)); if (dt != null && dt.Rows.Count > 0) { OrderStatusParam param = new OrderStatusParam(); param.Status = toStatus; param.UserName = batchParam.UserName; param.dicOrders = new List <OrderStatusParam.OrderInfo_F>(); foreach (DataRow row in dt.Rows) { param.dicOrders.Add(new OrderStatusParam.OrderInfo_F() { Id = Converter.TryToString(row["ID"]), Order_Num = Converter.TryToString(row["ORDER_NUM"]) }); } // 更新订单信息 return(BatchUpdateStatus(param)); } else { return(true); } }
/// <summary> /// 修改订单状态 /// </summary> /// <param name="dicOrders">订单id,订单号</param> /// <param name="status">状态</param> /// <param name="userName">用户名</param> /// <returns></returns> public static bool BatchUpdateStatus(OrderStatusParam param) { string ids = string.Join(",", param.dicOrders.Select(t => t.Id).ToList()); string updateInfo = param.Status == "1011" ? "BATCH_NUMBER = '" + DateTime.Now.ToString("第yyyyMMdd批") + "'," : ""; bool upsucess = JabMySqlHelper.ExecuteNonQuery(Config.DBConnection, $@"UPDATE ex_orderinfo SET STATUS = @Status, UpdateBy = @UserName, {updateInfo} UpdateTime = now() WHERE ID IN ({ids});", new MySqlParameter("@Status", param.Status), new MySqlParameter("@UserName", param.UserName)) > 0; if (upsucess) { foreach (var item in param.dicOrders) { AddOrderStatus(item.Order_Num, param.Status); } } return(true); }
public MyResult BatchUpdateStatus([FromBody] OrderStatusParam param) { bool re = OrderBLL.BatchUpdateStatus(param); return(re ? MyResult.OK() : MyResult.Error()); }