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); }
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()); }
/// <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))); }
/// <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); }
/// <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); }
/// <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))); }
/// <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())); }
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())); }
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()); }
/// <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))); }
/// <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))); }
/// <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)); }
/// <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())); }
/// <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))); }
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()); }
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()); }
/// <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); }
/// <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))); }
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())); }
/// <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())); }