Beispiel #1
0
        /// <summary>
        /// 收货确认后,更新订单产品的收货数量
        /// </summary>
        /// <param name="torder"></param>
        public static void UpdateShouHuoCount(Lebi_Transport_Order torder)
        {
            if (torder.Type_id_TransportOrderStatus != 223)
            {
                return;
            }
            Lebi_Order order = B_Lebi_Order.GetModel(torder.Order_id);

            if (order == null)
            {
                return;
            }
            List <Lebi_Order_Product>   ops     = B_Lebi_Order_Product.GetList("Order_id=" + torder.Order_id + "", "");
            List <Lebi_Transport_Order> torders = B_Lebi_Transport_Order.GetList("Order_id=" + torder.Order_id + " and Type_id_TransportOrderStatus=223", "");

            //bool shouhuoall = true;
            foreach (Lebi_Order_Product op in ops)
            {
                //op.Count_Received = 0;
                foreach (Lebi_Transport_Order to in torders)
                {
                    foreach (TransportProduct p in GetTransportProduct(to))
                    {
                        if (p.Product_id == op.Product_id)
                        {
                            op.Count_Received = op.Count_Received + p.Count;
                            if (op.Count_Shipped < op.Count_Received)
                            {
                                op.Count_Received = op.Count_Shipped;
                            }
                            break;
                        }
                    }
                }
                //if (op.Count_Received < op.Count_Shipped)
                //    shouhuoall = false;
                B_Lebi_Order_Product.Update(op);//更新收货数量
            }
            order.IsReceived     = 1;
            order.IsReceived_All = 1;
            ops = B_Lebi_Order_Product.GetList("Order_id=" + torder.Order_id + "", "");
            foreach (Lebi_Order_Product op in ops)
            {
                if (op.Count_Received < op.Count_Shipped)
                {
                    order.IsReceived_All = 0;
                }
            }
            order.Time_Received = System.DateTime.Now;
            B_Lebi_Order.Update(order);
            if (order.IsReceived_All == 1)//全部收货完成
            {
                Order.Received(order);
            }
        }
Beispiel #2
0
        /// <summary>
        /// 返回成本
        /// </summary>
        /// <param name="where"></param>
        /// <returns></returns>
        public static decimal Money_CostCount(string where)
        {
            List <Lebi_Order_Product> models = B_Lebi_Order_Product.GetList("Order_id in (select id from Lebi_Order where " + where + ") and Price_Cost = 0", "");

            if (models.Count > 0)
            {
                foreach (Lebi_Order_Product m in models)
                {
                    m.Price_Cost = Shop.Bussiness.EX_Product.GetProduct(m.Product_id).Price_Cost;
                    B_Lebi_Order_Product.Update(m);
                }
            }
            string sum = B_Lebi_Order_Product.GetValue("sum(Price_Cost * Count)", "Order_id in (select id from Lebi_Order where " + where + ")");

            if (String.IsNullOrEmpty(sum))
            {
                sum = 0.ToString();
            }
            return(Convert.ToDecimal(sum));
        }