/// <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"); string SupNum = WebUtil.GetFormValue <string>("SupNum"); string SupName = WebUtil.GetFormValue <string>("SupName"); string Contact = WebUtil.GetFormValue <string>("Contact"); string Phone = WebUtil.GetFormValue <string>("Phone"); string PurchaseSnNum = WebUtil.GetFormValue <string>("PurchaseSnNum"); string PurchaseOrderNum = WebUtil.GetFormValue <string>("PurchaseOrderNum"); int Status = WebUtil.GetFormValue <int>("Status", 0); string BeginTime = WebUtil.GetFormValue <string>("BeginTime"); string EndTime = WebUtil.GetFormValue <string>("EndTime"); Bill <PurchaseReturnEntity, PurchaseReturnDetailEntity> bill = new PurchaseReturnOrder(CompanyID); PurchaseReturnEntity entity = new PurchaseReturnEntity(); entity.OrderNum = OrderNum; entity.SupNum = SupNum; entity.SupName = SupName; entity.Contact = Contact; entity.Phone = Phone; entity.PurchaseSnNum = PurchaseSnNum; entity.PurchaseOrderNum = PurchaseOrderNum; entity.Status = Status; entity.BeginTime = BeginTime; entity.EndTime = EndTime; PageInfo pageInfo = new PageInfo() { PageIndex = PageIndex, PageSize = PageSize }; List <PurchaseReturnEntity> listResult = bill.GetList(entity, ref pageInfo); DataListResult <PurchaseReturnEntity> dataResult = new DataListResult <PurchaseReturnEntity>() { Code = (int)EResponseCode.Success, Message = "响应成功", Result = listResult, PageInfo = pageInfo }; return(Content(JsonHelper.SerializeObject(dataResult))); }
/// <summary> /// 查询采购退货单 /// </summary> /// <returns></returns> public ActionResult GetOrder() { string SnNum = WebUtil.GetFormValue <string>("SnNum"); string CompanyID = WebUtil.GetFormValue <string>("CompanyID", string.Empty); PurchaseReturnEntity entity = new PurchaseReturnEntity(); entity.SnNum = SnNum; entity.CompanyID = CompanyID; Bill <PurchaseReturnEntity, PurchaseReturnDetailEntity> bill = new PurchaseReturnOrder(CompanyID); PurchaseReturnEntity result = bill.GetOrder(entity); DataResult <PurchaseReturnEntity> dataResult = new DataResult <PurchaseReturnEntity>(); dataResult.Code = (int)EResponseCode.Success; dataResult.Message = "响应成功"; dataResult.Result = result; return(Content(JsonHelper.SerializeObject(dataResult))); }
/// <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"); PurchaseReturnEntity entity = new PurchaseReturnEntity(); entity.SnNum = SnNum; entity.CompanyID = CompanyID; entity.Status = Status; entity.Reason = Reason; entity.Remark = Remark; Bill <PurchaseReturnEntity, PurchaseReturnDetailEntity> bill = new PurchaseReturnOrder(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))); }
public ActionResult Detail() { string SnNum = WebUtil.GetQueryStringValue <string>("SnNum"); PurchaseReturnEntity 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(PurchaseReturnApiName.PurchaseReturnApiName_GetOrder, dic); DataResult <PurchaseReturnEntity> dataResult = JsonConvert.DeserializeObject <DataResult <PurchaseReturnEntity> >(result); entity = dataResult.Result; } entity = entity.IsNull() ? new PurchaseReturnEntity() : entity; ViewBag.Entity = entity; return(View()); }
/// <summary> /// 编辑采购退货单 /// </summary> /// <returns></returns> public ActionResult Edit() { string CompanyID = WebUtil.GetFormValue <string>("CompanyID", string.Empty); PurchaseReturnEntity entity = WebUtil.GetFormObject <PurchaseReturnEntity>("Entity"); List <PurchaseReturnDetailEntity> list = WebUtil.GetFormObject <List <PurchaseReturnDetailEntity> >("List"); Bill <PurchaseReturnEntity, PurchaseReturnDetailEntity> bill = new PurchaseReturnOrder(CompanyID); string returnValue = bill.EditOrder(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))); }
/// <summary> /// 取消采购退货单 /// </summary> /// <returns></returns> public ActionResult Cancel() { string SnNum = WebUtil.GetFormValue <string>("SnNum"); string CompanyID = WebUtil.GetFormValue <string>("CompanyID", string.Empty); PurchaseReturnEntity entity = new PurchaseReturnEntity(); entity.SnNum = SnNum; entity.CompanyID = CompanyID; Bill <PurchaseReturnEntity, PurchaseReturnDetailEntity> bill = new PurchaseReturnOrder(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))); }
/// <summary> /// 采购退货单 /// </summary> /// <param name="SnNum"></param> /// <param name="list"></param> /// <returns></returns> public DataResult ToReturn(string SnNum, List <PurchaseDetailEntity> list) { PurchaseEntity entity = new PurchaseEntity(); 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)EPurchaseStatus.AllIn || entity.Status == (int)EPurchaseStatus.PartialIn) { result.Code = 1002; result.Message = "该采购单已经入库,不能退货操作"; return(result); } PurchaseDetailEntity detailEntity = new PurchaseDetailEntity(); detailEntity.OrderSnNum = SnNum; List <PurchaseDetailEntity> listSource = this.GetOrderDetail(detailEntity); if (listSource.IsNullOrEmpty()) { result.Code = 1003; result.Message = "采购订单中不存在出库货品"; return(result); } using (TransactionScope ts = new TransactionScope()) { foreach (PurchaseDetailEntity item in list) { if (item.Qty > 0) { PurchaseReturnDetailEntity returnDetail = new PurchaseReturnDetailEntity(); returnDetail.IncludeAll(); returnDetail .Where(a => a.CompanyID == this.CompanyID) .And(a => a.PurchaseDetailSn == item.SnNum) ; PurchaseReturnEntity returnItem = new PurchaseReturnEntity(); returnItem.And(a => a.IsDelete == (int)EIsDelete.NotDelete) ; returnDetail.Left <PurchaseReturnEntity>(returnItem, new Params <string, string>() { Item1 = "OrderSnNum", Item2 = "SnNum" }); List <PurchaseReturnDetailEntity> listDetail = this.PurchaseReturnDetail.GetList(returnDetail); if (listDetail != null && listDetail.Where(a => a.PurchaseDetailSn == item.SnNum).Sum(a => a.ReturnNum) >= item.Num) { result.Code = 1006; result.Message = string.Format("货品[{0}]已经全部退货,请勿重复申请退货", item.ProductName); return(result); } } } string returnValue = string.Empty; Bill <PurchaseReturnEntity, PurchaseReturnDetailEntity> bill = new PurchaseReturnOrder(this.CompanyID); PurchaseReturnEntity PurchaseReturnEntity = new PurchaseReturnEntity(); PurchaseReturnEntity.SupSnNum = entity.SupSnNum; PurchaseReturnEntity.SupNum = entity.SupNum; PurchaseReturnEntity.SupName = entity.SupName; PurchaseReturnEntity.Contact = entity.Contact; PurchaseReturnEntity.Phone = entity.Phone; PurchaseReturnEntity.PurchaseSnNum = entity.SnNum; PurchaseReturnEntity.PurchaseOrderNum = entity.OrderNum; PurchaseReturnEntity.CompanyID = this.CompanyID; List <PurchaseReturnDetailEntity> listReturnDetail = new List <PurchaseReturnDetailEntity>(); foreach (PurchaseDetailEntity item in list) { if (item.Qty > 0) { PurchaseReturnDetailEntity DetailEntity = new PurchaseReturnDetailEntity(); DetailEntity.SnNum = ConvertHelper.NewGuid(); DetailEntity.ProductName = item.ProductName; DetailEntity.BarCode = item.BarCode; DetailEntity.ProductNum = item.ProductNum; DetailEntity.Num = item.Num; DetailEntity.ReturnNum = item.Qty; DetailEntity.UnitNum = item.UnitNum; DetailEntity.Price = item.Price; DetailEntity.Amount = item.Price * item.Qty; DetailEntity.ReturnTime = DateTime.Now; DetailEntity.PurchaseDetailSn = item.SnNum; DetailEntity.CompanyID = this.CompanyID; DetailEntity.CreateTime = DateTime.Now; listReturnDetail.Add(DetailEntity); } } returnValue = bill.Create(PurchaseReturnEntity, listReturnDetail); if (EnumHelper.GetEnumDesc <EReturnStatus>(EReturnStatus.Success) == returnValue) { Task.Factory.StartNew(() => { foreach (PurchaseDetailEntity DetailItem in listSource) { PurchaseReturnDetailEntity returnDetail = new PurchaseReturnDetailEntity(); returnDetail.IncludeAll(); returnDetail .Where(a => a.CompanyID == this.CompanyID) .And(a => a.PurchaseDetailSn == DetailItem.SnNum) ; PurchaseReturnEntity returnItem = new PurchaseReturnEntity(); returnItem.And(a => a.IsDelete == (int)EIsDelete.NotDelete) ; returnDetail.Left <PurchaseReturnEntity>(returnItem, new Params <string, string>() { Item1 = "OrderSnNum", Item2 = "SnNum" }); List <PurchaseReturnDetailEntity> listDetail = this.PurchaseReturnDetail.GetList(returnDetail); if (!listDetail.IsNullOrEmpty()) { double ReturnNum = listDetail.Sum(a => a.ReturnNum); DetailItem.IncludeReturnNum(true); DetailItem.ReturnNum = ReturnNum; DetailItem.Where(a => a.SnNum == DetailItem.SnNum).And(a => a.CompanyID == this.CompanyID); this.PurchaseDetail.Update(DetailItem); } } PurchaseEntity PurchaseItem = new PurchaseEntity(); PurchaseItem.HasReturn = (int)EBool.Yes; PurchaseItem.IncludeHasReturn(true); PurchaseItem.Where(a => a.SnNum == SnNum).And(a => a.CompanyID == this.CompanyID); this.Purchase.Update(PurchaseItem); }); result.Code = (int)EResponseCode.Success; result.Message = "采购退货单创建成功"; } else { result.Code = (int)EResponseCode.Exception; result.Message = "采购退货单创建失败"; } ts.Complete(); } return(result); }