Esempio n. 1
0
        public static OutStorage_CE ToCE(OutStorageEntity item)
        {
            OutStorage_CE target = new OutStorage_CE();

            target.ID            = item.ID;
            target.OrderNum      = item.OrderNum;
            target.OutType       = item.OutType;
            target.ProductType   = item.ProductType;
            target.CusNum        = item.CusNum;
            target.CusName       = item.CusName;
            target.Contact       = item.Contact;
            target.Phone         = item.Phone;
            target.Address       = item.Address;
            target.ContractOrder = item.ContractOrder;
            target.Num           = item.Num;
            target.Amount        = item.Amount;
            target.Weight        = item.Weight;
            target.SendDate      = item.SendDate;
            target.Status        = item.Status;
            target.IsDelete      = item.IsDelete;
            target.CreateTime    = item.CreateTime;
            target.CreateUser    = item.CreateUser;
            target.AuditUser     = item.AuditUser;
            target.AuditeTime    = item.AuditeTime;
            target.PrintUser     = item.PrintUser;
            target.PrintTime     = item.PrintTime;
            target.Reason        = item.Reason;
            target.OperateType   = item.OperateType;
            target.EquipmentNum  = item.EquipmentNum;
            target.EquipmentCode = item.EquipmentCode;
            target.Remark        = item.Remark;
            return(target);
        }
Esempio n. 2
0
        public ActionResult Print()
        {
            string orderNum = WebUtil.GetQueryStringValue <string>("orderNum", string.Empty);
            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder();
            OutStorageEntity entity = new OutStorageEntity();

            entity.OrderNum = orderNum;
            entity          = bill.GetOrder(entity);
            entity          = entity.IsNull() ? new OutStorageEntity() : entity;
            ViewBag.Entity  = entity;

            OutStoDetailEntity detail = new OutStoDetailEntity();

            detail.OrderNum = orderNum;
            List <OutStoDetailEntity> listResult = bill.GetOrderDetail(detail);

            listResult = listResult.IsNull() ? new List <OutStoDetailEntity>() : listResult;
            OrderProvider orderProvider = new OrderProvider();

            foreach (OutStoDetailEntity item in listResult)
            {
                OrderDetailEntity orderDetail = new OrderDetailEntity();
                orderDetail.Where(a => a.SnNum == item.ContractSn).And(a => a.OrderNum == item.ContractOrder);
                orderDetail = orderProvider.GetOrderDetail(orderDetail);
                if (orderDetail != null)
                {
                    item.Qty = orderDetail.Num;
                }
            }
            ViewBag.Detail = listResult;
            return(View());
        }
Esempio n. 3
0
        /// <summary>
        /// 设置出库单打印信息
        /// </summary>
        /// <returns></returns>
        public ActionResult Print()
        {
            string           CompanyID = WebUtil.GetFormValue <string>("CompanyID");
            string           SnNum     = WebUtil.GetFormValue <string>("SnNum");
            string           PrintUser = WebUtil.GetFormValue <string>("PrintUser");
            DateTime         PrintTime = WebUtil.GetFormValue <DateTime>("PrintTime", DateTime.Now);
            OutStorageEntity entity    = new OutStorageEntity();

            entity.SnNum     = SnNum;
            entity.CompanyID = CompanyID;
            entity.PrintUser = PrintUser;
            entity.PrintTime = PrintTime;

            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder(CompanyID);

            string     returnValue = bill.Print(entity);
            DataResult result      = new DataResult();

            if (EnumHelper.GetEnumDesc <EReturnStatus>(EReturnStatus.Success) == returnValue)
            {
                result.Code    = (int)EResponseCode.Success;
                result.Message = "打印数据设置成功";
            }
            else
            {
                result.Code    = (int)EResponseCode.Exception;
                result.Message = "打印数据设置失败";
            }
            return(Content(JsonHelper.SerializeObject(result)));
        }
Esempio n. 4
0
        /// <summary>
        /// 根据出库单编号查询出库单
        /// </summary>
        /// <param name="OrderNum"></param>
        /// <returns></returns>
        public OutStorageEntity GetOrderByNum(string OrderNum)
        {
            OutStorageEntity entity = new OutStorageEntity();

            entity.IncludeAll();

            AdminEntity admin = new AdminEntity();

            admin.Include(a => new { CreateUserName = a.UserName });
            entity.Left <AdminEntity>(admin, new Params <string, string>()
            {
                Item1 = "CreateUser", Item2 = "UserNum"
            });

            AdminEntity auditeAdmin = new AdminEntity();

            auditeAdmin.Include(item => new { AuditeUserName = item.UserName });
            entity.Left <AdminEntity>(auditeAdmin, new Params <string, string>()
            {
                Item1 = "CreateUser", Item2 = "UserNum"
            });

            entity.Where(a => a.OrderNum == OrderNum)
            .And(a => a.CompanyID == this.CompanyID)
            .And(a => a.IsDelete == (int)EIsDelete.NotDelete)
            ;
            entity = this.OutStorage.GetSingle(entity);
            return(entity);
        }
Esempio n. 5
0
        /// <summary>
        /// 修改出库单的数量
        /// </summary>
        /// <param name="snNum"></param>
        /// <param name="num"></param>
        /// <returns></returns>
        public int EditInOrderNum(string snNum, double num)
        {
            OutStoDetailEntity detail = new OutStoDetailEntity();

            detail = new OutStoDetailEntity();
            detail.Include(a => new { a.OrderNum, a.Num, a.OutPrice, a.Amount });
            detail.Where(a => a.SnNum == snNum);
            detail = this.OutStoDetail.GetSingle(detail);

            int line = 0;

            if (detail != null)
            {
                string             orderNum   = detail.OrderNum;
                OutStoDetailEntity editDetail = new OutStoDetailEntity();
                editDetail.Num    = num;
                editDetail.Amount = editDetail.Num * editDetail.OutPrice;
                editDetail.IncludeNum(true).IncludeAmount(true);
                editDetail.Where(a => a.SnNum == snNum);
                line = this.OutStoDetail.Update(editDetail);

                OutStoDetailEntity orderDetail = new OutStoDetailEntity();
                orderDetail.Include(a => new { a.Num, a.Amount });
                orderDetail.Where(a => a.OrderNum == orderNum);
                List <OutStoDetailEntity> list = this.OutStoDetail.GetList(orderDetail);

                OutStorageEntity entity = new OutStorageEntity();
                entity.Num    = list.Sum(a => a.Num);
                entity.Amount = list.Sum(a => a.Amount);
                entity.IncludeNum(true).IncludeAmount(true);
                entity.Where(a => a.OrderNum == orderNum);
                line += this.OutStorage.Update(entity);
            }
            return(line);
        }
Esempio n. 6
0
        /// <summary>
        /// 新增出库单
        /// </summary>
        /// <returns></returns>
        public ActionResult Create()
        {
            string                    CompanyID = WebUtil.GetFormValue <string>("CompanyID", string.Empty);
            OutStorageEntity          entity    = WebUtil.GetFormObject <OutStorageEntity>("Entity");
            List <OutStoDetailEntity> list      = WebUtil.GetFormObject <List <OutStoDetailEntity> >("List");

            entity.SnNum         = ConvertHelper.NewGuid();
            entity.ProductType   = (int)EProductType.Goods;
            entity.Status        = (int)EAudite.Wait;
            entity.IsDelete      = (int)EIsDelete.NotDelete;
            entity.CreateTime    = DateTime.Now;
            entity.CompanyID     = entity.CompanyID.IsEmpty() ? CompanyID : entity.CompanyID;
            entity.EquipmentNum  = "";
            entity.EquipmentCode = "";

            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder(CompanyID);
            string     returnValue = bill.Create(entity, list);
            DataResult result      = new DataResult();

            if (EnumHelper.GetEnumDesc <EReturnStatus>(EReturnStatus.Success) == returnValue)
            {
                result.Code    = (int)EResponseCode.Success;
                result.Message = "出库单创建成功";
            }
            else
            {
                result.Code    = (int)EResponseCode.Exception;
                result.Message = "出库单创建失败";
            }
            return(Content(JsonHelper.SerializeObject(result)));
        }
Esempio n. 7
0
        /// <summary>
        /// 查询出库单主体分页列表
        /// </summary>
        /// <returns></returns>
        public ActionResult GetOrderList()
        {
            string CompanyID = WebUtil.GetFormValue <string>("CompanyID");
            int    PageIndex = WebUtil.GetFormValue <int>("PageIndex", 1);
            int    PageSize  = WebUtil.GetFormValue <int>("PageSize", 10);

            string OrderNum      = WebUtil.GetFormValue <string>("OrderNum");
            int    OutType       = WebUtil.GetFormValue <int>("OutType", 0);
            string CusName       = WebUtil.GetFormValue <string>("CusName");
            string CusNum        = WebUtil.GetFormValue <string>("CusNum");
            string Phone         = WebUtil.GetFormValue <string>("Phone");
            string ContractOrder = WebUtil.GetFormValue <string>("ContractOrder");
            int    Status        = WebUtil.GetFormValue <int>("Status", 0);
            string BeginTime     = WebUtil.GetFormValue <string>("BeginTime");
            string EndTime       = WebUtil.GetFormValue <string>("EndTime");
            string StorageNum    = WebUtil.GetFormValue <string>("StorageNum");
            string CarrierNum    = WebUtil.GetFormValue <string>("CarrierNum");
            string CarrierName   = WebUtil.GetFormValue <string>("CarrierName");
            string LogisticsNo   = WebUtil.GetFormValue <string>("LogisticsNo");

            OutStorageEntity entity = new OutStorageEntity();

            entity.CompanyID     = CompanyID;
            entity.OrderNum      = OrderNum;
            entity.OutType       = OutType;
            entity.CusName       = CusName;
            entity.CusNum        = CusNum;
            entity.Phone         = Phone;
            entity.ContractOrder = ContractOrder;
            entity.Status        = Status;
            entity.BeginTime     = BeginTime;
            entity.EndTime       = EndTime;
            entity.StorageNum    = StorageNum;
            entity.CarrierNum    = CarrierNum;
            entity.CarrierName   = CarrierName;
            entity.LogisticsNo   = LogisticsNo;

            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder(CompanyID);
            PageInfo pageInfo = new PageInfo()
            {
                PageIndex = PageIndex, PageSize = PageSize
            };

            List <OutStorageEntity>           listResult = bill.GetList(entity, ref pageInfo);
            DataListResult <OutStorageEntity> dataResult = new DataListResult <OutStorageEntity>()
            {
                Code     = (int)EResponseCode.Success,
                Message  = "响应成功",
                Result   = listResult,
                PageInfo = pageInfo
            };

            return(Content(JsonHelper.SerializeObject(dataResult)));
        }
        public ActionResult Delete()
        {
            string           OrderNum = WebUtil.GetFormValue <string>("OrderNum", string.Empty);
            OutStorageEntity entity   = new OutStorageEntity();

            entity.OrderNum = OrderNum;
            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder();
            string returnValue = bill.Delete(entity);

            this.ReturnJson.AddProperty("d", returnValue);
            return(Content(this.ReturnJson.ToString()));
        }
        public ActionResult Load()
        {
            string OrderNum = WebUtil.GetFormValue <string>("OrderNum", string.Empty);

            if (!OrderNum.IsEmpty())
            {
                ReturnProvider    provider   = new ReturnProvider();
                ReturnOrderEntity backEntity = provider.CheckOrder(OrderNum);
                if (backEntity != null && backEntity.Status == (int)EAudite.Wait)
                {
                    this.ReturnJson.AddProperty("d", "1001");
                    return(Content(this.ReturnJson.ToString()));
                }
                Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder();
                OutStorageEntity entity = new OutStorageEntity();
                entity.OrderNum = OrderNum;
                entity          = bill.GetOrder(entity);
                if (entity.IsNotNull())
                {
                    if (entity.Status != (int)EAudite.Pass)
                    {
                        this.ReturnJson.AddProperty("d", "1002");
                        return(Content(this.ReturnJson.ToString()));
                    }
                    this.ReturnJson.AddProperty("CusNum", entity.CusNum);
                    this.ReturnJson.AddProperty("CusName", entity.CusName);
                    this.ReturnJson.AddProperty("Address", entity.Address);
                    this.ReturnJson.AddProperty("Contact", entity.Contact);
                    this.ReturnJson.AddProperty("Phone", entity.Phone);
                    //加载详细内容
                    OutStoDetailEntity detail = new OutStoDetailEntity();
                    detail.OrderNum = OrderNum;
                    List <OutStoDetailEntity> list = bill.GetOrderDetail(detail);
                    list = list.IsNull() ? new List <OutStoDetailEntity>() : list;
                    //获得已经退货的数量
                    List <ReturnDetailEntity> listResult = provider.GetDetailByOrder(OrderNum);
                    if (!listResult.IsNullOrEmpty())
                    {
                        list.ForEach(a =>
                        {
                            double qty = listResult.Where(b => b.BarCode == a.BarCode && b.ProductNum == a.ProductNum && b.LocalNum == a.LocalNum && b.StorageNum == a.StorageNum && b.BatchNum == a.BatchNum).Sum(b => b.BackNum);
                            a.BackNum  = qty;
                        });
                    }
                    Session[CacheKey.TEMPDATE_CACHE_RETURNPRODUCTDETAIL] = list;
                    string json = ConvertJson.ListToJson <OutStoDetailEntity>(list, "List");
                    this.ReturnJson.AddProperty("data", json);
                }
            }
            return(Content(this.ReturnJson.ToString()));
        }
Esempio n. 10
0
        public ActionResult Detail()
        {
            string orderNum = WebUtil.GetQueryStringValue <string>("orderNum", string.Empty);
            string flag     = WebUtil.GetQueryStringValue <string>("flag", string.Empty);
            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder();
            OutStorageEntity entity = new OutStorageEntity();

            entity.OrderNum = orderNum;
            entity          = bill.GetOrder(entity);
            entity          = entity.IsNull() ? new OutStorageEntity() : entity;
            ViewBag.Entity  = entity;
            ViewBag.OutType = EnumHelper.GetEnumDesc <EOutType>(entity.OutType);
            ViewBag.Status  = EnumHelper.GetEnumDesc <EAudite>(entity.Status);


            OutStoDetailEntity detail = new OutStoDetailEntity();

            detail.OrderNum = orderNum;
            List <OutStoDetailEntity> listResult = bill.GetOrderDetail(detail);

            listResult = listResult.IsNull() ? new List <OutStoDetailEntity>() : listResult;

            ProductProvider      provider = new ProductProvider();
            List <ProductEntity> list     = provider.GetListByCache();

            list = list.IsNull() ? new List <ProductEntity>() : list;
            listResult.ForEach(a =>
            {
                ProductEntity product = null;
                if (a.BarCode.IsEmpty())
                {
                    product = list.SingleOrDefault(b => b.SnNum == a.ProductNum);
                }
                else
                {
                    product = list.SingleOrDefault(b => b.SnNum == a.ProductNum && b.BarCode == a.BarCode);
                }
                if (product.IsNotNull())
                {
                    a.Size = product.Size.IsEmpty() ? "" : product.Size;
                }
                else
                {
                    a.Size = "";
                }
            });
            ViewBag.Detail = listResult;
            ViewBag.Flag   = flag;
            return(View());
        }
 public ActionResult DeleteBatch([ModelBinder(typeof(JsonBinder <List <string> >))] List <string> list)
 {
     if (!list.IsNullOrEmpty())
     {
         foreach (string orderNum in list)
         {
             OutStorageEntity entity = new OutStorageEntity();
             entity.OrderNum = orderNum;
             Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder();
             string returnValue = bill.Delete(entity);
             this.ReturnJson.AddProperty("d", returnValue);
         }
     }
     return(Content(this.ReturnJson.ToString()));
 }
Esempio n. 12
0
        public ActionResult Edit()
        {
            string orderNum = WebUtil.GetQueryStringValue <string>("orderNum", string.Empty);
            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder();
            OutStorageEntity entity = new OutStorageEntity();

            entity.OrderNum     = orderNum;
            entity              = bill.GetOrder(entity);
            entity              = entity.IsNull() ? new OutStorageEntity() : entity;
            ViewBag.Entity      = entity;
            ViewBag.OutType     = EnumHelper.GetOptions <EInType>(entity.OutType, "请选择入库单类型");
            ViewBag.ProductType = EnumHelper.GetOptions <EProductType>(entity.ProductType, "请选择入库产品类型");

            OutStoDetailEntity detail = new OutStoDetailEntity();

            detail.OrderNum = orderNum;
            List <OutStoDetailEntity> listResult = bill.GetOrderDetail(detail);

            listResult = listResult.IsNull() ? new List <OutStoDetailEntity>() : listResult;

            ProductProvider      provider = new ProductProvider();
            List <ProductEntity> list     = provider.GetListByCache();

            list = list.IsNull() ? new List <ProductEntity>() : list;
            listResult.ForEach(a =>
            {
                ProductEntity product = null;
                if (a.BarCode.IsEmpty())
                {
                    product = list.SingleOrDefault(b => b.SnNum == a.ProductNum);
                }
                else
                {
                    product = list.SingleOrDefault(b => b.SnNum == a.ProductNum && b.BarCode == a.BarCode);
                }
                a.OutPrice = product != null ? product.OutPrice : 0;
                if (product != null)
                {
                    a.Size = product.Size.IsEmpty() ? "" : product.Size;
                }
                else
                {
                    a.Size = "";
                }
            });
            Session[CacheKey.TEMPDATA_CACHE_OUTSTORDETAIL] = listResult;
            return(View());
        }
Esempio n. 13
0
        /// <summary>
        /// 审核出库单
        /// </summary>
        /// <returns></returns>
        public ActionResult Audite()
        {
            string SnNum         = WebUtil.GetFormValue <string>("SnNum");
            string CompanyID     = WebUtil.GetFormValue <string>("CompanyID", string.Empty);
            int    Status        = WebUtil.GetFormValue <int>("Status", (int)EAudite.NotPass);
            string AuditUser     = WebUtil.GetFormValue <string>("AuditUser", string.Empty);
            string Reason        = WebUtil.GetFormValue <string>("Reason", string.Empty);
            int    OperateType   = WebUtil.GetFormValue <int>("OperateType", 0);
            string EquipmentNum  = WebUtil.GetFormValue <string>("EquipmentNum");
            string EquipmentCode = WebUtil.GetFormValue <string>("EquipmentCode");
            string Remark        = WebUtil.GetFormValue <string>("Remark");

            OutStorageEntity entity = new OutStorageEntity();

            entity.SnNum         = SnNum;
            entity.CompanyID     = CompanyID;
            entity.Status        = Status;
            entity.AuditUser     = AuditUser;
            entity.Reason        = Reason;
            entity.OperateType   = OperateType;
            entity.EquipmentNum  = EquipmentNum;
            entity.EquipmentCode = EquipmentCode;
            entity.Remark        = Remark;

            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder(CompanyID);
            string     returnValue = bill.Audite(entity);
            DataResult result      = new DataResult();

            if ("1000" == returnValue)
            {
                result.Code    = (int)EResponseCode.Success;
                result.Message = "操作成功";
            }
            else if ("1001" == returnValue)
            {
                result.Code    = (int)EResponseCode.Exception;
                result.Message = "出库单不存在";
            }
            else if ("1002" == returnValue)
            {
                result.Code    = (int)EResponseCode.Exception;
                result.Message = "出库单已经审核";
            }
            return(Content(JsonHelper.SerializeObject(result)));
        }
Esempio n. 14
0
        /// <summary>
        /// 根据出库单唯一编号查询出库单主体信息
        /// </summary>
        /// <returns></returns>
        public ActionResult GetOrder()
        {
            string           SnNum     = WebUtil.GetFormValue <string>("SnNum");
            string           CompanyID = WebUtil.GetFormValue <string>("CompanyID", string.Empty);
            OutStorageEntity entity    = new OutStorageEntity();

            entity.SnNum     = SnNum;
            entity.CompanyID = CompanyID;
            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder(CompanyID);
            OutStorageEntity result = bill.GetOrder(entity);

            DataResult <OutStorageEntity> dataResult = new DataResult <OutStorageEntity>();

            dataResult.Code    = (int)EResponseCode.Success;
            dataResult.Message = "响应成功";
            dataResult.Result  = result;
            return(Content(JsonHelper.SerializeObject(dataResult)));
        }
Esempio n. 15
0
        /// <summary>
        /// 编辑出库单主体信息
        /// </summary>
        /// <returns></returns>
        public ActionResult EditOrder()
        {
            string           CompanyID = WebUtil.GetFormValue <string>("CompanyID", string.Empty);
            OutStorageEntity entity    = WebUtil.GetFormObject <OutStorageEntity>("Entity");
            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder(CompanyID);
            string     returnValue = bill.EditOrder(entity);
            DataResult result      = new DataResult();

            if (EnumHelper.GetEnumDesc <EReturnStatus>(EReturnStatus.Success) == returnValue)
            {
                result.Code    = (int)EResponseCode.Success;
                result.Message = "出库单主体编辑成功";
            }
            else
            {
                result.Code    = (int)EResponseCode.Exception;
                result.Message = "出库单主体编辑失败";
            }
            return(Content(JsonHelper.SerializeObject(result)));
        }
        public ActionResult Add()
        {
            OutStorageEntity          entity     = WebUtil.GetFormObject <OutStorageEntity>("Entity");
            DateTime                  SendDate   = WebUtil.GetFormValue <DateTime>("SendDate");
            List <OutStoDetailEntity> listDetail = Session[SessionKey.SESSION_OUTSTORAGE_DETAIL] as List <OutStoDetailEntity>;
            string CompanyID = this.CompanyID;

            if (listDetail.IsNullOrEmpty())
            {
                DataResult <string> dataResult = new DataResult <string>()
                {
                    Code = (int)EResponseCode.Exception, Message = "请选择要出库的产品"
                };
                return(Content(JsonHelper.SerializeObject(dataResult)));
            }
            string ApiName = OutStorageApiName.OutStorageApiName_Add;

            if (!entity.SnNum.IsEmpty())
            {
                ApiName = OutStorageApiName.OutStorageApiName_Edit;
            }

            entity.CreateUser = this.LoginUser.UserNum;
            entity.CreateTime = DateTime.Now;
            entity.IsDelete   = (int)EIsDelete.NotDelete;
            entity.Status     = (int)EAudite.Wait;
            entity.SendDate   = SendDate;
            entity.CompanyID  = CompanyID;
            entity.StorageNum = this.DefaultStorageNum;

            Dictionary <string, string> dic = new Dictionary <string, string>();

            dic.Add("CompanyID", CompanyID);
            dic.Add("Entity", JsonConvert.SerializeObject(entity));
            dic.Add("List", JsonConvert.SerializeObject(listDetail));

            ITopClient client = new TopClientDefault();
            string     result = client.Execute(ApiName, dic);

            return(Content(result));
        }
Esempio n. 17
0
        /// <summary>
        /// 设置承运商
        /// </summary>
        /// <param name="SnNum"></param>
        /// <param name="CarrierNum"></param>
        /// <param name="LogisticsNo"></param>
        /// <returns></returns>
        public int SetCarrier(string SnNum, string CarrierNum, string LogisticsNo)
        {
            CarrierProvider provider = new CarrierProvider(this.CompanyID);

            OutStorageEntity entity = new OutStorageEntity();

            entity.CarrierNum = CarrierNum;
            CarrierEntity carrier = provider.GetSingle(CarrierNum);

            if (carrier != null)
            {
                entity.CarrierName = carrier.CarrierName;
            }
            entity.LogisticsNo = LogisticsNo;

            entity.Include(item => new { item.CarrierNum, item.CarrierName, item.LogisticsNo });
            entity.Where(item => item.SnNum == SnNum).And(item => item.CompanyID == this.CompanyID);
            int line = this.OutStorage.Update(entity);

            return(line);
        }
        public ActionResult Audit()
        {
            string           OrderNum = WebUtil.GetFormValue <string>("OrderNum", string.Empty);
            int              Status   = WebUtil.GetFormValue <int>("Status");
            string           Reason   = WebUtil.GetFormValue <string>("Reason", string.Empty);
            OutStorageEntity entity   = new OutStorageEntity();

            entity.Status        = Status;
            entity.OrderNum      = OrderNum;
            entity.AuditUser     = this.LoginUserCode;
            entity.OperateType   = (int)EOpType.PC;
            entity.EquipmentCode = string.Empty;
            entity.EquipmentNum  = string.Empty;
            entity.Remark        = string.Empty;
            entity.Reason        = Reason;
            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder();
            string returnValue = bill.Audite(entity);

            this.ReturnJson.AddProperty("d", returnValue);
            return(Content(this.ReturnJson.ToString()));
        }
Esempio n. 19
0
        /// <summary>
        /// 查询统计的数据行
        /// </summary>
        /// <returns></returns>
        public ActionResult GetCount()
        {
            string CompanyID     = WebUtil.GetFormValue <string>("CompanyID");
            string OrderNum      = WebUtil.GetFormValue <string>("OrderNum");
            int    OutType       = WebUtil.GetFormValue <int>("OutType", 0);
            string CusName       = WebUtil.GetFormValue <string>("CusName");
            string CusNum        = WebUtil.GetFormValue <string>("CusNum");
            string Phone         = WebUtil.GetFormValue <string>("Phone");
            string ContractOrder = WebUtil.GetFormValue <string>("ContractOrder");
            int    Status        = WebUtil.GetFormValue <int>("Status", 0);
            string BeginTime     = WebUtil.GetFormValue <string>("BeginTime");
            string EndTime       = WebUtil.GetFormValue <string>("EndTime");
            string StorageNum    = WebUtil.GetFormValue <string>("StorageNum");

            OutStorageEntity entity = new OutStorageEntity();

            entity.CompanyID     = CompanyID;
            entity.OrderNum      = OrderNum;
            entity.OutType       = OutType;
            entity.CusName       = CusName;
            entity.CusNum        = CusNum;
            entity.Phone         = Phone;
            entity.ContractOrder = ContractOrder;
            entity.Status        = Status;
            entity.BeginTime     = BeginTime;
            entity.EndTime       = EndTime;
            entity.StorageNum    = StorageNum;

            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder(CompanyID);
            int Count = bill.GetCount(entity);

            DataResult <int> dataResult = new DataResult <int>();

            dataResult.Code    = (int)EResponseCode.Success;
            dataResult.Message = "响应成功";
            dataResult.Result  = Count;

            return(Content(JsonHelper.SerializeObject(dataResult)));
        }
Esempio n. 20
0
        public ActionResult Detail()
        {
            string SnNum = WebUtil.GetQueryStringValue <string>("SnNum");

            OutStorageEntity entity = null;

            if (!SnNum.IsEmpty())
            {
                ITopClient client = new TopClientDefault();
                Dictionary <string, string> dic = new Dictionary <string, string>();

                dic.Add("CompanyID", CompanyID);
                dic.Add("SnNum", SnNum);

                string result = client.Execute(OutStorageApiName.OutStorageApiName_GetOrder, dic);
                DataResult <OutStorageEntity> dataResult = JsonConvert.DeserializeObject <DataResult <OutStorageEntity> >(result);
                entity = dataResult.Result;
            }
            entity         = entity.IsNull() ? new OutStorageEntity() : entity;
            ViewBag.Entity = entity;
            return(View());
        }
Esempio n. 21
0
        public ActionResult Add()
        {
            string SnNum = WebUtil.GetQueryStringValue <string>("SnNum");

            OutStorageEntity          entity = null;
            List <OutStoDetailEntity> list   = null;

            if (!SnNum.IsEmpty())
            {
                ITopClient client = new TopClientDefault();
                Dictionary <string, string> dic = new Dictionary <string, string>();

                dic.Add("CompanyID", CompanyID);
                dic.Add("SnNum", SnNum);

                string result = client.Execute(OutStorageApiName.OutStorageApiName_GetOrder, dic);
                DataResult <OutStorageEntity> dataResult = JsonConvert.DeserializeObject <DataResult <OutStorageEntity> >(result);
                entity = dataResult.Result;

                result = client.Execute(OutStorageApiName.OutStorageApiName_GetDetail, dic);
                DataResult <List <OutStoDetailEntity> > dataList = JsonConvert.DeserializeObject <DataResult <List <OutStoDetailEntity> > >(result);
                list = dataList.Result;
            }
            if (entity.IsNull())
            {
                entity                = new OutStorageEntity();
                entity.CreateUser     = this.LoginUser.UserNum;
                entity.CreateUserName = this.LoginUser.UserName;
                entity.CreateTime     = DateTime.Now;
                entity.SendDate       = DateTime.Now;
            }
            ViewBag.Entity = entity;

            list = list.IsNull() ? new List <OutStoDetailEntity>() : list;
            Session[SessionKey.SESSION_OUTSTORAGE_DETAIL] = list;

            ViewBag.OutType = EnumHelper.GetOptions <EOutType>(entity.OutType);
            return(View());
        }
Esempio n. 22
0
        /// <summary>
        /// 获得某个客户的所有订购产品数量
        /// </summary>
        /// <param name="cusNum"></param>
        /// <param name="queryTime"></param>
        /// <returns></returns>
        public double GetNumByCusNum(string cusNum, int queryTime, string storageNum)
        {
            OutStorageEntity entity = new OutStorageEntity();

            entity.IncludeNum(true);
            entity.Where("CreateTime", ECondition.Between, DateTime.Now.AddDays(-queryTime), DateTime.Now);
            entity.And("StorageNum", ECondition.Eth, storageNum);
            entity.And("CusNum", ECondition.Eth, cusNum);
            entity.And("Status", ECondition.Eth, (int)EAudite.Pass);
            entity.And("IsDelete", ECondition.Eth, (int)EIsDelete.NotDelete);
            double allNum = 0;

            try
            {
                allNum = this.OutStorage.Sum <double>(entity);
            }
            catch (Exception e)
            {
                allNum = 0;
                log.Info(e.Message);
            }
            return(allNum);
        }
Esempio n. 23
0
        /// <summary>
        /// 取消出库单
        /// </summary>
        /// <returns></returns>
        public ActionResult Cancel()
        {
            string           SnNum     = WebUtil.GetFormValue <string>("SnNum");
            string           CompanyID = WebUtil.GetFormValue <string>("CompanyID", string.Empty);
            OutStorageEntity entity    = new OutStorageEntity();

            entity.SnNum     = SnNum;
            entity.CompanyID = CompanyID;
            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder(CompanyID);
            string     returnValue = bill.Cancel(entity);
            DataResult result      = new DataResult();

            if (EnumHelper.GetEnumDesc <EReturnStatus>(EReturnStatus.Success) == returnValue)
            {
                result.Code    = (int)EResponseCode.Success;
                result.Message = "操作成功";
            }
            else
            {
                result.Code    = (int)EResponseCode.Exception;
                result.Message = "操作失败";
            }
            return(Content(JsonHelper.SerializeObject(result)));
        }
Esempio n. 24
0
        public ActionResult Create()
        {
            string   OrderNum      = WebUtil.GetFormValue <string>("OrderNum", string.Empty);
            int      OutType       = WebUtil.GetFormValue <int>("OutType", 0);
            int      ProductType   = WebUtil.GetFormValue <int>("ProductType", 0);
            string   ContractOrder = WebUtil.GetFormValue <string>("ContractOrder", string.Empty);
            string   CusNum        = WebUtil.GetFormValue <string>("CusNum", string.Empty);
            string   CusName       = WebUtil.GetFormValue <string>("CusName", string.Empty);
            string   Address       = WebUtil.GetFormValue <string>("Address", string.Empty);
            string   ContactName   = WebUtil.GetFormValue <string>("ContactName", string.Empty);
            string   Phone         = WebUtil.GetFormValue <string>("Phone", string.Empty);
            DateTime SendDate      = WebUtil.GetFormValue <DateTime>("SendDate", DateTime.Now);
            string   Remark        = WebUtil.GetFormValue <string>("Remark", string.Empty);
            string   UserName      = WebUtil.GetFormValue <string>("UserName", string.Empty);
            string   UserID        = WebUtil.GetFormValue <string>("UserID", string.Empty);
            string   DeptName      = WebUtil.GetFormValue <string>("DeptName", string.Empty);

            OutStorageEntity entity = new OutStorageEntity();

            entity.OrderNum      = OrderNum.IsEmpty() ? SequenceProvider.GetSequence(typeof(OutStorageEntity)) : OrderNum;
            entity.OutType       = OutType;
            entity.ProductType   = ProductType;
            entity.CusNum        = CusNum;
            entity.CusName       = CusName;
            entity.Contact       = ContactName;
            entity.Phone         = Phone;
            entity.Address       = Address;
            entity.ContractOrder = ContractOrder;
            entity.Status        = (int)EAudite.Wait;
            entity.IsDelete      = (int)EIsDelete.NotDelete;
            entity.SendDate      = SendDate;
            entity.CreateTime    = DateTime.Now;
            entity.CreateUser    = this.LoginUserCode;
            entity.AuditUser     = string.Empty;
            entity.AuditeTime    = DateTime.MinValue;
            entity.PrintUser     = string.Empty;
            entity.PrintTime     = DateTime.MinValue;
            entity.Reason        = string.Empty;
            entity.OperateType   = (int)EOpType.PC;
            entity.EquipmentNum  = string.Empty;
            entity.EquipmentCode = string.Empty;
            entity.Remark        = Remark;
            entity.UserID        = UserID;
            entity.UserName      = UserName;
            entity.DeptName      = DeptName;
            entity.StorageNum    = this.DefaultStore;

            List <OutStoDetailEntity> list = Session[CacheKey.TEMPDATA_CACHE_OUTSTORDETAIL] as List <OutStoDetailEntity>;

            if (list.IsNullOrEmpty())
            {
                this.ReturnJson.AddProperty("Key", "1001");
                this.ReturnJson.AddProperty("Value", "请选择要出库的产品以及数量");
                return(Content(this.ReturnJson.ToString()));
            }
            list.ForEach(a => { a.OrderNum = entity.OrderNum; });
            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder();

            if (OrderNum.IsEmpty())
            {
                string returnValue = bill.Create(entity, list);
                if (returnValue == EnumHelper.GetEnumDesc <EReturnStatus>(EReturnStatus.Success))
                {
                    Session[CacheKey.TEMPDATA_CACHE_OUTSTORDETAIL] = null;
                    this.ReturnJson.AddProperty("Key", "1000");
                    this.ReturnJson.AddProperty("Value", "出库单创建成功");
                }
            }
            else
            {
                string returnValue = bill.EditOrder(entity, list);
                if (returnValue == EnumHelper.GetEnumDesc <EReturnStatus>(EReturnStatus.Success))
                {
                    Session[CacheKey.TEMPDATA_CACHE_OUTSTORDETAIL] = null;
                    this.ReturnJson.AddProperty("Key", "1000");
                    this.ReturnJson.AddProperty("Value", "出库单编辑成功");
                }
            }
            return(Content(this.ReturnJson.ToString()));
        }
Esempio n. 25
0
        /// <summary>
        /// 根据销售订单转换为出库单
        /// </summary>
        /// <param name="SnNum"></param>
        /// <returns></returns>
        public DataResult ToOutStorage(string SnNum, List <SaleDetailEntity> list, string StorageNum)
        {
            SaleOrderEntity entity = new SaleOrderEntity();

            entity.SnNum = SnNum;
            entity       = this.GetOrder(entity);
            DataResult result = new DataResult();

            if (entity == null)
            {
                result.Code    = 1001;
                result.Message = "销售订单不存在";
                return(result);
            }

            if (entity.Status == (int)EOrderStatus.CreateOrder)
            {
                result.Code    = 1001;
                result.Message = "销售订单审核流程不正确,不能生成出库单";
                return(result);
            }

            if (entity.Status == (int)EPurchaseStatus.AllIn)
            {
                result.Code    = 1002;
                result.Message = "销售订单已经全部出库,请勿重新出库";
                return(result);
            }

            if (entity.Status == (int)EPurchaseStatus.OrderCancel)
            {
                result.Code    = 1003;
                result.Message = "订单已经被取消,不能出库";
                return(result);
            }

            SaleDetailEntity detailEntity = new SaleDetailEntity();

            detailEntity.OrderSnNum = SnNum;
            List <SaleDetailEntity> listSource = this.GetOrderDetail(detailEntity);

            if (listSource.IsNullOrEmpty())
            {
                result.Code    = 1004;
                result.Message = "销售订单中不存在出库货品";
                return(result);
            }


            //检查入库产品是否在采购单内
            List <SaleDetailEntity> listExists = new List <SaleDetailEntity>();

            foreach (SaleDetailEntity item in list)
            {
                if (!listSource.Exists(a => a.SnNum == item.SnNum))
                {
                    //不存在添加到集合
                    listExists.Add(item);
                }
            }
            if (!listExists.IsNullOrEmpty())
            {
                string content = listExists.Select(a => string.Format("[{0}]{1}", a.BarCode, a.ProductName)).ToArray().ToString();
                result.Code    = 1005;
                result.Message = content + " 不在销售订单[" + entity.OrderNum + "]中,请重新确认再出库";
                return(result);
            }

            List <LocalProductEntity> listResult = new List <LocalProductEntity>();

            //拣货
            foreach (SaleDetailEntity item in list)
            {
                Proc_PickProductEntity pickEntity = new Proc_PickProductEntity();
                pickEntity.InStorageNum = StorageNum;
                pickEntity.InProductNum = item.ProductNum;
                pickEntity.InCompanyID  = this.CompanyID;
                pickEntity.InNum        = item.Qty;

                List <LocalProductEntity> listPickResult = this.Proc_PickProduct.ExceuteEntityList <LocalProductEntity>(pickEntity);
                if (listPickResult.IsNullOrEmpty() || listPickResult.Sum(a => a.Num) < item.Qty)
                {
                    result.Code    = 1006;
                    result.Message = string.Format("货品[{0}]拣货数 {1} 不满足要求数 {2},请确保仓库有足够的货品", item.ProductName, listPickResult.Sum(a => a.Num).ToString("0.00"), item.Qty.ToString("0.00"));
                    return(result);
                }

                listResult.AddRange(listPickResult);
            }

            OutStorageEntity outEntity = new OutStorageEntity();

            outEntity.SnNum         = ConvertHelper.NewGuid();
            outEntity.OutType       = (int)EOutType.Sell;
            outEntity.ProductType   = (int)EProductType.Goods;
            outEntity.StorageNum    = StorageNum;
            outEntity.CusSnNum      = entity.CusSnNum;
            outEntity.CusNum        = entity.CusNum;
            outEntity.CusName       = entity.CusName;
            outEntity.Contact       = entity.Contact;
            outEntity.Phone         = entity.Phone;
            outEntity.Address       = entity.Address;
            outEntity.ContractOrder = entity.SnNum;
            outEntity.SendDate      = entity.SendDate;
            outEntity.Status        = (int)EAudite.Wait;
            outEntity.IsDelete      = (int)EIsDelete.NotDelete;
            outEntity.CreateTime    = DateTime.Now;
            outEntity.CreateUser    = entity.CreateUser;
            outEntity.OperateType   = (int)EOpType.PC;
            outEntity.EquipmentNum  = "";
            outEntity.EquipmentCode = "";
            outEntity.CompanyID     = this.CompanyID;

            List <OutStoDetailEntity> listDetails = new List <OutStoDetailEntity>();

            foreach (LocalProductEntity item in listResult)
            {
                OutStoDetailEntity detail = new OutStoDetailEntity();
                detail.SnNum       = ConvertHelper.NewGuid();
                detail.OrderSnNum  = outEntity.SnNum;
                detail.ProductName = item.ProductName;
                detail.ProductNum  = item.ProductNum;
                detail.BarCode     = item.BarCode;
                detail.BatchNum    = item.BatchNum;
                detail.LocalNum    = item.LocalNum;
                detail.StorageNum  = item.StorageNum;
                detail.Num         = item.Num;
                detail.IsPick      = (int)EBool.No;
                detail.RealNum     = 0;

                SaleDetailEntity saleEntity = list.FirstOrDefault(a => a.ProductNum == item.ProductNum);
                if (saleEntity != null)
                {
                    detail.OutPrice      = saleEntity.Price;
                    detail.Amount        = detail.OutPrice * detail.Num;
                    detail.ContractOrder = entity.OrderNum;
                    detail.ContractSn    = saleEntity.SnNum;
                }
                detail.LocalSn    = item.Sn;
                detail.CreateTime = DateTime.Now;
                detail.CompanyID  = this.CompanyID;

                listDetails.Add(detail);
            }

            string returnValue = string.Empty;

            using (TransactionScope ts = new TransactionScope())
            {
                Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorage.OutStorageOrder(this.CompanyID);
                returnValue = bill.Create(outEntity, listDetails);

                if (EnumHelper.GetEnumDesc <EReturnStatus>(EReturnStatus.Success) == returnValue)
                {
                    foreach (SaleDetailEntity item in list)
                    {
                        if (item.RealNum + item.Qty >= item.Num)
                        {
                            item.Status   = (int)EOrderStatus.AllDelivery;
                            item.RealNum += item.Qty;
                        }
                        else if ((item.RealNum + item.Qty) < item.Num && (item.RealNum + item.Qty) > 0)
                        {
                            item.Status   = (int)EOrderStatus.PartialDelivery;
                            item.RealNum += item.Qty;
                        }
                        item.Include(a => new { a.RealNum, a.Status });
                        item.Where(a => a.SnNum == item.SnNum);
                        this.SaleDetail.Update(item);
                    }

                    //再次查询校验状态
                    detailEntity            = new SaleDetailEntity();
                    detailEntity.OrderSnNum = SnNum;
                    listSource = this.GetOrderDetail(detailEntity);
                    if (!listSource.IsNullOrEmpty())
                    {
                        if (listSource.Count(a => a.Status == (int)EOrderStatus.PartialDelivery) > 0 ||
                            (listSource.Count(a => a.Status == (int)EOrderStatus.AllDelivery) < listSource.Count() && listSource.Count(a => a.Status == (int)EOrderStatus.AllDelivery) > 0)
                            )
                        {
                            entity.Status = (int)EOrderStatus.PartialDelivery;
                        }
                        else if (listSource.Count(a => a.Status == (int)EOrderStatus.AllDelivery) == listSource.Count())
                        {
                            entity.Status = (int)EOrderStatus.AllDelivery;
                        }
                        entity.IncludeStatus(true);
                        entity.Where(a => a.SnNum == entity.SnNum);
                        this.SaleOrder.Update(entity);
                    }
                    result.Code    = (int)EResponseCode.Success;
                    result.Message = "出库单创建成功";
                }
                else
                {
                    result.Code    = (int)EResponseCode.Exception;
                    result.Message = "出库单创建失败";
                }

                ts.Complete();
            }
            return(result);
        }
        public ActionResult ToExcel()
        {
            int    Status    = WebUtil.GetFormValue <int>("Status", 0);
            string OrderNum  = WebUtil.GetFormValue <string>("OrderNum", string.Empty);
            string CusName   = WebUtil.GetFormValue <string>("CusName", string.Empty);
            string beginTime = WebUtil.GetFormValue <string>("beginTime", string.Empty);
            string endTime   = WebUtil.GetFormValue <string>("endTime", string.Empty);

            PageInfo pageInfo = new PageInfo()
            {
                PageIndex = 1, PageSize = int.MaxValue
            };
            OutStorageEntity entity = new OutStorageEntity();

            if (Status > 0)
            {
                entity.Where(a => a.Status == Status);
            }
            if (!OrderNum.IsEmpty())
            {
                entity.Where("OrderNum", ECondition.Like, "%" + OrderNum + "%");
            }
            if (!CusName.IsEmpty())
            {
                entity.Begin <OutStorageEntity>()
                .And <OutStorageEntity>("CusNum", ECondition.Like, "%" + CusName + "%")
                .Or <OutStorageEntity>("CusName", ECondition.Like, "%" + CusName + "%")
                .End <OutStorageEntity>()
                ;
            }
            if (!beginTime.IsEmpty() && !endTime.IsEmpty())
            {
                entity.Where("OrderTime", ECondition.Between, ConvertHelper.ToType <DateTime>(beginTime), ConvertHelper.ToType <DateTime>(endTime));
            }
            entity.And(a => a.StorageNum == this.DefaultStore);
            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder();
            List <OutStorageEntity> listResult = bill.GetList(entity, ref pageInfo);

            listResult = listResult == null ? new List <OutStorageEntity>() : listResult;
            if (listResult.IsNotNull())
            {
                DataTable dt = new DataTable();
                dt.Columns.Add(new DataColumn("序号 "));
                dt.Columns.Add(new DataColumn("出库单编号 "));
                dt.Columns.Add(new DataColumn("出库类型"));
                dt.Columns.Add(new DataColumn("客户名称"));
                dt.Columns.Add(new DataColumn("关联单号"));
                dt.Columns.Add(new DataColumn("总数量"));
                dt.Columns.Add(new DataColumn("总金额"));
                dt.Columns.Add(new DataColumn("状态"));
                dt.Columns.Add(new DataColumn("制单人"));
                dt.Columns.Add(new DataColumn("操作方式"));
                dt.Columns.Add(new DataColumn("创建时间"));
                int count = 1;
                foreach (OutStorageEntity t in listResult)
                {
                    DataRow row = dt.NewRow();
                    row[0]  = count;
                    row[1]  = t.OrderNum;
                    row[2]  = EnumHelper.GetEnumDesc <EOutType>(t.OutType);
                    row[3]  = t.CusName;
                    row[4]  = t.ContractOrder;
                    row[5]  = t.Num;
                    row[6]  = t.Amount;
                    row[7]  = EnumHelper.GetEnumDesc <EAudite>(t.Status);
                    row[8]  = t.CreateUserName;
                    row[9]  = EnumHelper.GetEnumDesc <EOpType>(t.OperateType);
                    row[10] = t.CreateTime.ToString("yyyy-MM-dd");
                    dt.Rows.Add(row);
                    count++;
                }
                string filePath = Server.MapPath("~/UploadFiles/");
                if (!System.IO.Directory.Exists(filePath))
                {
                    System.IO.Directory.CreateDirectory(filePath);
                }
                string    filename = string.Format("出库管理{0}.xls", DateTime.Now.ToString("yyyyMMddHHmmss"));
                NPOIExcel excel    = new NPOIExcel("出库管理", "出库单", System.IO.Path.Combine(filePath, filename));
                excel.ToExcel(dt);
                this.ReturnJson.AddProperty("Path", ("/UploadFiles/" + filename).Escape());
            }
            else
            {
                this.ReturnJson.AddProperty("d", "无数据导出!");
            }
            return(Content(this.ReturnJson.ToString()));
        }
        public ActionResult GetList()
        {
            int      Status    = WebUtil.GetFormValue <int>("Status", 0);
            string   OrderNum  = WebUtil.GetFormValue <string>("OrderNum", string.Empty);
            string   CusName   = WebUtil.GetFormValue <string>("CusName", string.Empty);
            string   beginTime = WebUtil.GetFormValue <string>("beginTime", string.Empty);
            string   endTime   = WebUtil.GetFormValue <string>("endTime", string.Empty);
            string   order     = WebUtil.GetFormValue <string>("order", string.Empty);
            int      OutType   = WebUtil.GetFormValue <int>("OutType", 0);
            string   planNum   = WebUtil.GetFormValue <string>("planNum");
            int      pageSize  = WebUtil.GetFormValue <int>("PageSize", 10);
            int      pageIndex = WebUtil.GetFormValue <int>("PageIndex", 1);
            PageInfo pageInfo  = new PageInfo()
            {
                PageIndex = pageIndex, PageSize = pageSize
            };
            OutStorageEntity entity = new OutStorageEntity();

            if (Status > 0)
            {
                entity.Where(a => a.Status == Status);
            }
            if (!OrderNum.IsEmpty())
            {
                entity.Where("OrderNum", ECondition.Like, "%" + OrderNum + "%");
            }
            if (!CusName.IsEmpty())
            {
                entity.Begin <OutStorageEntity>()
                .And <OutStorageEntity>("CusNum", ECondition.Like, "%" + CusName + "%")
                .Or <OutStorageEntity>("CusName", ECondition.Like, "%" + CusName + "%")
                .End <OutStorageEntity>()
                ;
            }
            if (!beginTime.IsEmpty() && !endTime.IsEmpty())
            {
                entity.Where("OrderTime", ECondition.Between, ConvertHelper.ToType <DateTime>(beginTime), ConvertHelper.ToType <DateTime>(endTime));
            }
            entity.And(a => a.StorageNum == this.DefaultStore);
            if (!order.IsEmpty())
            {
                OrderProvider orderProvider     = new OrderProvider();
                List <string> listContractOrder = orderProvider.GetOrderPlan(order);
                listContractOrder = listContractOrder.IsNull() ? new List <string>() : listContractOrder;
                if (listContractOrder.Count == 0)
                {
                    listContractOrder.Add(order);
                }
                entity.And("ContractOrder", ECondition.In, listContractOrder.ToArray());
            }
            if (OutType > 0)
            {
                entity.And(a => a.OutType == OutType);
            }
            if (!planNum.IsEmpty())
            {
                OutStoDetailEntity detail = new OutStoDetailEntity();
                detail.Where("ContractOrder", ECondition.Like, "%" + planNum + "%");
                entity.Left <OutStoDetailEntity>(detail, new Params <string, string>()
                {
                    Item1 = "OrderNum", Item2 = "OrderNum"
                });
            }
            Bill <OutStorageEntity, OutStoDetailEntity> bill = new OutStorageOrder();
            List <OutStorageEntity> listResult = bill.GetList(entity, ref pageInfo);

            listResult = listResult == null ? new List <OutStorageEntity>() : listResult;
            string json = ConvertJson.ListToJson <OutStorageEntity>(listResult, "List");

            this.ReturnJson.AddProperty("Data", json);
            this.ReturnJson.AddProperty("RowCount", pageInfo.RowCount);
            return(Content(this.ReturnJson.ToString()));
        }