public static ReturnOrder_CE ToCE(ReturnOrderEntity item) { ReturnOrder_CE target = new ReturnOrder_CE(); target.ID = item.ID; target.OrderNum = item.OrderNum; target.ReturnType = item.ReturnType; 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.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); }
/// <summary> /// 查询单据分页 /// </summary> /// <param name="entity"></param> /// <param name="pageInfo"></param> /// <returns></returns> public List <ReturnOrderEntity> GetList(ReturnOrderEntity entity, ref PageInfo pageInfo) { entity.IncludeAll(); entity.Where(a => a.IsDelete == (int)EIsDelete.NotDelete); entity.And("Status", ECondition.Eth, (int)EAudite.Pass); entity.OrderBy(a => a.ID, EOrderBy.DESC); ReturnDetailEntity detail = new ReturnDetailEntity(); detail.Include(a => new { ProductName = a.ProductName, BarCode = a.BarCode, ProductNum = a.ProductNum }); entity.Left <ReturnDetailEntity>(detail, new Params <string, string>() { Item1 = "OrderNum", Item2 = "OrderNum" }); int rowCount = 0; List <ReturnOrderEntity> listResult = this.ReturnOrder.GetList(entity, pageInfo.PageSize, pageInfo.PageIndex, out rowCount); int allNum = GetAllNum(); if (!listResult.IsNullOrEmpty()) { foreach (ReturnOrderEntity item in listResult) { item.NumPCT = ((float)item.Num * 100.00f) / allNum; } } pageInfo.RowCount = rowCount; return(listResult); }
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())); }
public ActionResult Delete() { string orderNum = WebUtil.GetFormValue <string>("OrderNum", string.Empty); if (!orderNum.IsEmpty()) { Bill <ReturnOrderEntity, ReturnDetailEntity> bill = new ReturnOrder(); ReturnOrderEntity entity = new ReturnOrderEntity(); entity.OrderNum = orderNum; string returnValue = bill.Delete(entity); this.ReturnJson.AddProperty("d", returnValue); } return(Content(this.ReturnJson.ToString())); }
public ActionResult Edit() { string orderNum = WebUtil.GetQueryStringValue <string>("OrderNum", string.Empty); Bill <ReturnOrderEntity, ReturnDetailEntity> bill = new ReturnOrder(); ReturnOrderEntity entity = new ReturnOrderEntity(); entity.OrderNum = orderNum; entity = bill.GetOrder(entity); entity = entity.IsNull() ? new ReturnOrderEntity() : entity; ViewBag.Entity = entity; ViewBag.ReturnType = EnumHelper.GetOptions <EReturnType>(entity.ReturnType, "请选择出库单类型"); ViewBag.ProductType = EnumHelper.GetOptions <EProductType>(entity.ProductType, "请选择出库产品类型"); return(View()); }
public ActionResult DeleteBatch([ModelBinder(typeof(JsonBinder <List <string> >))] List <string> list) { if (!list.IsNullOrEmpty()) { foreach (string orderNum in list) { Bill <ReturnOrderEntity, ReturnDetailEntity> bill = new ReturnOrder(); ReturnOrderEntity entity = new ReturnOrderEntity(); entity.OrderNum = orderNum; string returnValue = bill.Delete(entity); this.ReturnJson.AddProperty("d", returnValue); } } return(Content(this.ReturnJson.ToString())); }
public ActionResult Edit() { //退货单号 string OrderNum = WebUtil.GetFormValue <string>("OrderNum", string.Empty); if (!OrderNum.IsEmpty()) { //退货单部分 Bill <ReturnOrderEntity, ReturnDetailEntity> bill = new ReturnOrder(); ReturnOrderEntity entity = new ReturnOrderEntity(); entity.OrderNum = OrderNum; entity = bill.GetOrder(entity); if (entity.Status != (int)EAudite.Wait) { this.ReturnJson.AddProperty("d", "1001"); return(Content(this.ReturnJson.ToString())); } ReturnDetailEntity detail = new ReturnDetailEntity(); detail.OrderNum = OrderNum; List <ReturnDetailEntity> listDetails = bill.GetOrderDetail(detail); //出货单部分 Bill <OutStorageEntity, OutStoDetailEntity> provider = new OutStorageOrder(); OutStoDetailEntity items = new OutStoDetailEntity(); items.OrderNum = entity.ContractOrder; List <OutStoDetailEntity> list = provider.GetOrderDetail(items); //已经退货部分 ReturnProvider returnProvider = new ReturnProvider(); List <ReturnDetailEntity> listResult = returnProvider.GetDetailByOrder(entity.ContractOrder); if (!list.IsNullOrEmpty()) { list.ForEach(a => { ReturnDetailEntity item = listDetails.FirstOrDefault(b => b.BarCode == a.BarCode && b.ProductNum == a.ProductNum && b.LocalNum == a.LocalNum && b.StorageNum == a.StorageNum); if (item != null) { a.Qty = item.BackNum; } a.BackNum = listResult.Where(b => b.BarCode == a.BarCode && b.ProductNum == a.ProductNum && b.LocalNum == a.LocalNum && b.StorageNum == a.StorageNum).Sum(b => b.BackNum); }); } Session[CacheKey.TEMPDATE_CACHE_RETURNPRODUCTDETAIL] = list; string json = ConvertJson.ListToJson <OutStoDetailEntity>(list, "List"); this.ReturnJson.AddProperty("data", json); } return(Content(this.ReturnJson.ToString())); }
/// <summary> /// 用于判断该订单是否已经正在出库 /// </summary> /// <returns></returns> public ReturnOrderEntity CheckOrder(string orderNum) { ReturnDetailEntity entity = new ReturnDetailEntity() { ContractOrder = orderNum }; ReturnOrderEntity order = new ReturnOrderEntity(); order.Where(a => a.Status == (int)EAudite.Wait); order.IncludeAll(); entity.Left <ReturnOrderEntity>(order, new Params <string, string>() { Item1 = "OrderNum", Item2 = "OrderNum" }); order = this.ReturnOrder.GetSingle(order); return(order); }
/// <summary> /// 根据关联单号查询已经退货的的情况 /// </summary> /// <param name="orderNum"></param> /// <returns></returns> public List <ReturnDetailEntity> GetDetailByOrder(string orderNum) { ReturnDetailEntity entity = new ReturnDetailEntity(); entity.IncludeAll(); ReturnOrderEntity order = new ReturnOrderEntity(); entity.Left <ReturnOrderEntity>(order, new Params <string, string>() { Item1 = "OrderNum", Item2 = "OrderNum" }); order.Where(a => a.Status == (int)EAudite.Pass); order.Where(a => a.ContractOrder == orderNum); List <ReturnDetailEntity> list = this.ReturnDetail.GetList(entity); return(list); }
/// <summary> /// 获得所有退货数量 /// </summary> /// <returns></returns> public int GetAllNum() { ReturnOrderEntity entity = new ReturnOrderEntity(); entity.IncludeNum(true); entity.Where("Status", ECondition.Eth, (int)EAudite.Pass); entity.And("IsDelete", ECondition.Eth, (int)EIsDelete.NotDelete); int allNum = 0; try { allNum = this.ReturnOrder.Sum <int>(entity); } catch (Exception e) { allNum = 0; log.Info(e.Message); } return(allNum); }
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); ReturnOrderEntity entity = new ReturnOrderEntity(); 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 <ReturnOrderEntity, ReturnDetailEntity> bill = new ReturnOrder(); string returnValue = bill.Audite(entity); this.ReturnJson.AddProperty("d", returnValue); return(Content(this.ReturnJson.ToString())); }
public ActionResult GetList() { int status = WebUtil.GetFormValue <int>("Status", 0); string orderNum = WebUtil.GetFormValue <string>("OrderNum", string.Empty); string beginTime = WebUtil.GetFormValue <string>("beginTime", string.Empty); string endTime = WebUtil.GetFormValue <string>("endTime", string.Empty); int pageSize = WebUtil.GetFormValue <int>("PageSize", 10); int pageIndex = WebUtil.GetFormValue <int>("PageIndex", 1); PageInfo pageInfo = new PageInfo() { PageIndex = pageIndex, PageSize = pageSize }; ReturnOrderEntity entity = new ReturnOrderEntity(); if (status > 0) { entity.Where(a => a.Status == status); } if (!orderNum.IsEmpty()) { entity.Where("OrderNum", ECondition.Like, "%" + orderNum + "%"); } 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 <ReturnOrderEntity, ReturnDetailEntity> bill = new ReturnOrder(); List <ReturnOrderEntity> listResult = bill.GetList(entity, ref pageInfo); listResult = listResult == null ? new List <ReturnOrderEntity>() : listResult; string json = ConvertJson.ListToJson <ReturnOrderEntity>(listResult, "List"); this.ReturnJson.AddProperty("Data", json); this.ReturnJson.AddProperty("RowCount", pageInfo.RowCount); return(Content(this.ReturnJson.ToString())); }
public ActionResult Detail() { string orderNum = WebUtil.GetQueryStringValue <string>("OrderNum", string.Empty); string flag = WebUtil.GetQueryStringValue <string>("flag", string.Empty); Bill <ReturnOrderEntity, ReturnDetailEntity> bill = new ReturnOrder(); ReturnOrderEntity entity = new ReturnOrderEntity(); entity.OrderNum = orderNum; entity = bill.GetOrder(entity); entity = entity.IsNull() ? new ReturnOrderEntity() : entity; ViewBag.Entity = entity; ViewBag.ReturnType = EnumHelper.GetEnumDesc <EReturnType>(entity.ReturnType); ViewBag.Status = EnumHelper.GetEnumDesc <EAudite>(entity.Status); ReturnDetailEntity detail = new ReturnDetailEntity(); detail.OrderNum = orderNum; List <ReturnDetailEntity> list = bill.GetOrderDetail(detail); list = list.IsNull() ? new List <ReturnDetailEntity>() : list; ViewBag.Detail = list; ViewBag.Flag = flag; return(View()); }
public ActionResult ToExcel() { int status = WebUtil.GetFormValue <int>("Status", 0); string orderNum = WebUtil.GetFormValue <string>("OrderNum", string.Empty); string beginTime = WebUtil.GetFormValue <string>("beginTime", string.Empty); string endTime = WebUtil.GetFormValue <string>("endTime", string.Empty); int pageSize = Int32.MaxValue; int pageIndex = WebUtil.GetFormValue <int>("PageIndex", 1); PageInfo pageInfo = new PageInfo() { PageIndex = pageIndex, PageSize = pageSize }; ReturnOrderEntity entity = new ReturnOrderEntity(); if (status > 0) { entity.Where(a => a.Status == status); } if (!orderNum.IsEmpty()) { entity.Where("OrderNum", ECondition.Like, "%" + orderNum + "%"); } 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 <ReturnOrderEntity, ReturnDetailEntity> bill = new ReturnOrder(); List <ReturnOrderEntity> listResult = bill.GetList(entity, ref pageInfo); listResult = listResult == null ? new List <ReturnOrderEntity>() : listResult; if (!listResult.IsNullOrEmpty()) { 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("创建时间")); foreach (ReturnOrderEntity t in listResult) { DataRow row = dt.NewRow(); row[0] = t.OrderNum; row[1] = EnumHelper.GetEnumDesc <ECheckType>(t.ReturnType); row[2] = t.Num; row[3] = t.ContractOrder; row[4] = EnumHelper.GetEnumDesc <EAudite>(t.Status); row[5] = t.CreateUserName; row[6] = EnumHelper.GetEnumDesc <EOpType>(t.OperateType); row[7] = t.CreateTime.ToString("yyyy-MM-dd"); dt.Rows.Add(row); } 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 Create([ModelBinder(typeof(JsonBinder <List <ReturnDetailEntity> >))] List <ReturnDetailEntity> list) { string OrderNum = WebUtil.GetFormValue <string>("OrderNum", string.Empty); int ReturnType = WebUtil.GetFormValue <int>("ReturnType", (int)EReturnType.Sell); int ProductType = WebUtil.GetFormValue <int>("ProductType", (int)EProductType.Goods); 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 Contact = WebUtil.GetFormValue <string>("Contact", string.Empty); string Phone = WebUtil.GetFormValue <string>("Phone", string.Empty); string Address = WebUtil.GetFormValue <string>("Address", string.Empty); DateTime CreateTime = WebUtil.GetFormValue <DateTime>("CreateTime", DateTime.Now); string Remark = WebUtil.GetFormValue <string>("Remark", string.Empty); ReturnOrderEntity entity = new ReturnOrderEntity(); entity.OrderNum = OrderNum.IsEmpty() ? SequenceProvider.GetSequence(typeof(ReturnOrderEntity)) : OrderNum; List <OutStoDetailEntity> listOrder = Session[CacheKey.TEMPDATE_CACHE_RETURNPRODUCTDETAIL] as List <OutStoDetailEntity>; string StorageNum = ResourceManager.GetSettingEntity("STORE_DEFAULT_PRODUCT").Value; if (!list.IsNullOrEmpty() && !listOrder.IsNullOrEmpty()) { list.ForEach(a => { OutStoDetailEntity detail = listOrder.SingleOrDefault(b => b.ProductNum == a.ProductNum && b.BarCode == a.BarCode && b.LocalNum == a.LocalNum && b.StorageNum == StorageNum && b.BatchNum == a.BatchNum); if (detail != null) { a.ProductName = detail.ProductName; a.BatchNum = detail.BatchNum; a.OutPrice = detail.OutPrice; a.Num = detail.Num; a.Amount = detail.Amount; a.BackAmount = a.OutPrice * a.BackNum; a.CreateTime = DateTime.Now; a.StorageNum = StorageNum; a.ContractOrder = ContractOrder; } a.SnNum = SequenceProvider.GetSequence(typeof(ReturnDetailEntity)); }); entity.ReturnType = ReturnType; entity.ProductType = ProductType; entity.CusNum = CusNum; entity.CusName = CusName; entity.Phone = Phone; entity.Contact = Contact; entity.Address = Address; entity.Num = list.Sum(a => a.BackNum); entity.Amount = list.Sum(a => a.BackAmount); entity.Status = (int)EAudite.Wait; entity.IsDelete = (int)EIsDelete.NotDelete; entity.CreateTime = CreateTime; entity.CreateUser = this.LoginUser.UserCode; entity.OperateType = (int)EOpType.PC; entity.EquipmentNum = string.Empty; entity.EquipmentCode = string.Empty; entity.Remark = Remark; entity.ContractOrder = ContractOrder; entity.StorageNum = this.DefaultStore; Bill <ReturnOrderEntity, ReturnDetailEntity> bill = new ReturnOrder(); //如果单号不存在则为创建 if (OrderNum.IsEmpty()) { string returnValue = bill.Create(entity, list); if (returnValue == EnumHelper.GetEnumDesc <EReturnStatus>(EReturnStatus.Success)) { this.ReturnJson.AddProperty("d", "1000"); } else { this.ReturnJson.AddProperty("d", "1001"); } } else { string returnValue = bill.EditOrder(entity, list); this.ReturnJson.AddProperty("d", returnValue); } } else { this.ReturnJson.AddProperty("d", "1005"); } return(Content(this.ReturnJson.ToString())); }