Пример #1
0
        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);
            }
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        public MyResult BatchUpdateStatus([FromBody] OrderStatusParam param)
        {
            bool re = OrderBLL.BatchUpdateStatus(param);

            return(re ? MyResult.OK() : MyResult.Error());
        }