public void SaveOrderStepLog(Sender sender, OrderStepLog obj) { try { using (ObjectProxy op = new ObjectProxy(true)) { if (op.LoadOrderStepLog(obj) == 0) { //obj.Created = DateTime.Now; //obj.CreatedBy = sender.UserCode + "." + sender.UserName; op.InsertOrderStepLog(obj); } else { //obj.Created = DateTime.Now; //obj.CreatedBy = sender.UserCode + "." + sender.UserName; op.UpdateOrderStepLogByStepID(obj); } op.CommitTransaction(); } } catch (Exception ex) { PLogger.LogError(ex); throw ex; } }
public void OrdersPrize() { try { using (ProxyBE p = new ProxyBE()) { Order order = p.Client.GetOrder(SenderUser, parm.OrderID); if (order.Status.ToUpper() == OrderStatus.E.ToString()) { SaveOrderArgs args = new SaveOrderArgs(); OrderStep step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.ordersprice.ToString()); OrderStepLog ot = new OrderStepLog(); ot.StepID = Guid.NewGuid(); ot.OrderID = order.OrderID; ot.StepNo = step.StepNo; ot.StepName = step.StepName; ot.Remark = string.Empty; args.OrderStepLog = ot; order.Status = OrderStatus.F.ToString(); order.StepNo = step.StepNo; args.Order = order; List <OrderProduct> list = new List <OrderProduct>(); string Cabinets = Request["Cabinets"]; JsonData sj = JsonMapper.ToObject(Cabinets); if (sj.Count > 0) { foreach (JsonData item in sj) { OrderProduct model = p.Client.GetOrderProduct(SenderUser, Guid.Parse(item["ProductID"].ToString())); model.SalePrice = Decimal.Parse(item["SalePrice"].ToString()); list.Add(model); } } args.OrderProducts = list; p.Client.SaveOrder(SenderUser, args); p.Client.UpdatePartnerOrder(args.Order); } } WriteSuccess(); } catch (Exception ex) { WriteError(ex.Message, ex); } }
public List <OrderStepLog> GetOrderStepLogByOrderID(Sender sender, Guid OrderID) { try { using (ObjectProxy op = new ObjectProxy()) { OrderStepLog obj = new OrderStepLog(); obj.OrderID = OrderID; return(op.LoadOrderStepLogByOrderID(obj)); } } catch (Exception ex) { PLogger.LogError(ex); throw ex; } }
public void OrdersDesign() { try { using (ProxyBE p = new ProxyBE()) { string OrderID = Request["OrderIDs"]; if (string.IsNullOrEmpty(OrderID)) { throw new Exception("OrderID:参数无效"); } Order order = p.Client.GetOrder(SenderUser, Guid.Parse(OrderID)); if (order.Status.ToUpper() == OrderStatus.D.ToString()) { SaveOrderArgs args = new SaveOrderArgs(); OrderStep step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.ordersdesign.ToString()); OrderStepLog ot = new OrderStepLog(); ot.StepID = Guid.NewGuid(); ot.OrderID = order.OrderID; ot.StepNo = step.StepNo; ot.StepName = step.StepName; ot.Remark = string.Empty; args.OrderStepLog = ot; order.Status = OrderStatus.E.ToString(); order.StepNo = step.StepNo; args.Order = order; p.Client.SaveOrder(SenderUser, args); p.Client.UpdatePartnerOrder(args.Order); } WriteSuccess(); } } catch (Exception ex) { WriteError(ex.Message, ex); } }
public OrderStepLog GetOrderStepLog(Sender sender, Guid StepID) { try { using (ObjectProxy op = new ObjectProxy()) { OrderStepLog obj = new OrderStepLog(); obj.StepID = StepID; if (op.LoadOrderStepLog(obj) == 0) { return(null); } return(obj); } } catch (Exception ex) { PLogger.LogError(ex); throw ex; } }
public void SchedulingProductionOrder() { try { using (ProxyBE p = new ProxyBE()) { SchedulingProductionOrderArgs args = new SchedulingProductionOrderArgs(); if (string.IsNullOrEmpty(Request["ProductionIDs"])) { throw new Exception("参数错误!"); } string[] array = Request["ProductionIDs"].TrimEnd(',').Split(','); for (int i = 0; i < array.Length; i++) { Guid ProductionID = new Guid(array[i]); ProductionOrder productionorder = p.Client.GetProductionOrder(SenderUser, ProductionID); if (productionorder == null) { throw new Exception(string.Format("订单{0}不存在!", productionorder.OrderNo)); } if (productionorder.Status.Trim() != "N") { throw new Exception(string.Format("订单{0}已排单!", productionorder.OrderNo)); } List <ProductComponent> componentlist = p.Client.GetProductComponentByOrderID(SenderUser, productionorder.OrderID); if (componentlist.Count < 1) { throw new Exception(string.Format("订单{0}未查询到组件!", productionorder.OrderNo)); } int ComponentTypeID = int.Parse(System.Configuration.ConfigurationManager.AppSettings["ComponentTypeID"]); var SumAmount = componentlist.Where(t => t.ComponentTypeID == ComponentTypeID).ToList().Sum(t => t.Amount); if (SumAmount < 1) { throw new Exception("订单面积有误!"); } ProductionSetDayDetail detail = p.Client.GetProductionSetDayDetailByMadeTotalAreal(SenderUser, SumAmount); if (detail == null) { throw new Exception("请先进行排单参数设置!"); } //排产记录 ProductionOrderScheduling scheduling = new ProductionOrderScheduling() { SchedulingID = Guid.NewGuid(), OrderID = productionorder.OrderID, ProductionID = ProductionID, DaysDetailID = detail.ID, TotalAreal = SumAmount, }; args.ProductionOrderScheduling = scheduling; //更新已排单量和未排单量 detail.MadeTotalAreal = detail.MadeTotalAreal + SumAmount; args.ProductionSetDayDetail = detail; //更新生产订单状态,预计完工时间 productionorder.Status = ProductionOrderStatus.Y.ToString(); productionorder.FinishDate = detail.Datetime; args.ProductionOrder = productionorder; //订单日志 OrderStepLog ot = new OrderStepLog(); ot.StepID = Guid.NewGuid(); ot.OrderID = scheduling.OrderID; ot.StepNo = 0; ot.StepName = "订单已排单"; ot.Remark = string.Format("预计完工日期:{0}", detail.Datetime.ToString("D")); args.OrderStepLog = ot; p.Client.SchedulingProductionOrder(SenderUser, args); } } WriteSuccess(); } catch (Exception ex) { WriteError(ex.Message, ex); } }
public void ImportPartnerOrder() { try { string OrderID = Request["OrderID"]; if (string.IsNullOrEmpty(OrderID)) { throw new Exception("请选择订单类型"); } if (CurrentUser.UserType == (int)UserType.D) { throw new Exception("非法操作"); } using (ProxyBE p = new ProxyBE()) { SaveOrderArgs args = new SaveOrderArgs(); PartnerOrder parm = p.Client.GetPartnerOrder(SenderUser, new Guid(OrderID)); //订单数据 Order order = new Order(); order.OrderID = parm.OrderID; //order.OrderNo = parm.OrderNo; order.PartnerID = parm.PartnerID; order.CustomerID = parm.CustomerID; order.OutOrderNo = parm.OrderNo; order.Address = parm.Address; order.CustomerName = parm.CustomerName; order.AttachmentFile = parm.AttachmentFile; order.PartnerName = parm.PartnerName; order.SalesMan = parm.SalesMan; order.BookingDate = parm.BookingDate; order.Mobile = parm.Mobile; order.ShipDate = parm.ShipDate; order.OrderType = parm.OrderType; order.Remark = parm.Remark; order.Status = OrderStatus.C.ToString(); order.StepNo = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.importorder.ToString()).StepNo; order.Created = DateTime.Now; order.CreatedBy = SenderUser.UserCode + "." + SenderUser.UserName; args.Order = order; //产品数据 List <PartnerOrderProduct> list = p.Client.GetPartnerOrderProductByOrderID(SenderUser, new Guid(OrderID)); List <OrderProduct> Products = new List <OrderProduct>(); foreach (PartnerOrderProduct item in list) { OrderProduct Product = new OrderProduct(); Product.OrderID = order.OrderID; Product.ProductID = item.ProductID; Product.ProductName = item.ProductName; Product.ProductGroup = item.ProductGroup; Product.Qty = item.Qty; Product.Price = item.Price; Product.Size = item.Size; Product.MaterialStyle = item.MaterialStyle; Product.Color = item.Color; Product.MaterialCategory = item.MaterialCategory; Product.Unit = item.Unit; Product.Remark = item.Remark; Product.SalePrice = item.SalePrice; Product.TotalAreal = item.TotalAreal; Product.TotalLength = item.TotalLength; Product.Created = DateTime.Now; Product.CreatedBy = SenderUser.UserCode + "." + SenderUser.UserName; Products.Add(Product); } args.OrderProducts = Products; OrderStep step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.importorder.ToString()); OrderStepLog ot = new OrderStepLog(); ot.StepID = Guid.NewGuid(); ot.OrderID = order.OrderID; ot.StepNo = step.StepNo; ot.StepName = step.StepName; ot.Remark = string.Empty; args.OrderStepLog = ot; p.Client.SaveOrder(SenderUser, args); Order model = new Order() { Status = args.Order.Status, StepNo = args.Order.StepNo, OrderID = args.Order.OrderID, }; p.Client.UpdatePartnerOrder(model); } WriteSuccess(); } catch (Exception ex) { PLogger.LogError(ex); throw ex; } }
public void OrdersConfirm() { try { using (ProxyBE p = new ProxyBE()) { string remark = Request["Remark"]; if (string.IsNullOrEmpty(Request["Remark"])) { throw new Exception("Remark:参数无效"); } string OrderID = Request["OrderID"]; if (string.IsNullOrEmpty(Request["OrderID"])) { throw new Exception("OrderID:参数无效"); } string ConfirmState = Request["ConfirmState"]; PartnerOrder order = p.Client.GetPartnerOrder(SenderUser, Guid.Parse(OrderID)); if (order.Status.ToUpper() == OrderStatus.A.ToString()) { SavePartnerOrderArgs args = new SavePartnerOrderArgs(); if (ConfirmState == "true")//审核通过 { OrderStep step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.partnerordersconfirm.ToString()); OrderStepLog ot = new OrderStepLog(); ot.StepID = Guid.NewGuid(); ot.OrderID = order.OrderID; ot.StepNo = step.StepNo; ot.StepName = step.StepName; ot.Remark = Request["Remark"]; args.OrderStepLog = ot; order.Status = OrderStatus.B.ToString(); order.StepNo = step.StepNo; args.Order = order; } else//审核不通过 { OrderStep step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.partnerordersconfirm.ToString()); OrderStepLog ot = new OrderStepLog(); ot.StepID = Guid.NewGuid(); ot.OrderID = order.OrderID; ot.StepNo = step.StepNo; ot.StepName = step.StepName; ot.Remark = Request["Remark"]; args.OrderStepLog = ot; order.Status = OrderStatus.Z.ToString(); order.StepNo = 0; args.Order = order; } p.Client.SavePartnerOrder(SenderUser, args); } WriteSuccess(); } } catch (Exception ex) { WriteError(ex.Message, ex); } }
public void SavePartnerOrder() { try { using (ProxyBE p = new ProxyBE()) { #region Order var flag = "false"; PartnerOrder order = p.Client.GetPartnerOrder(SenderUser, parm.OrderID); if (parm.OrderType == "") { throw new Exception("请选择订单类型"); } if (order == null) { order = new PartnerOrder(); order.OrderID = parm.OrderID; } //修改订单保存 flag = Request["edit"]; if (flag == "true") { order.OrderNo = parm.OrderNo; } else { order.OrderNo = ""; } order.PartnerID = parm.PartnerID; order.CustomerID = parm.CustomerID; order.OutOrderNo = parm.OutOrderNo; order.Address = parm.Address; order.CustomerName = parm.CustomerName; order.AttachmentFile = HttpUtility.UrlDecode(parm.AttachmentFile, Encoding.UTF8); order.PartnerName = parm.PartnerName; order.SalesMan = parm.SalesMan; order.BookingDate = parm.BookingDate; order.Mobile = parm.Mobile; order.ShipDate = parm.ShipDate; order.OrderType = parm.OrderType; order.Remark = parm.Remark; order.Status = OrderStatus.A.ToString(); order.StepNo = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.partneraddorder.ToString()).StepNo; SavePartnerOrderArgs args = new SavePartnerOrderArgs(); args.Order = order; #endregion #region OrderProduct List <PartnerOrderProduct> list = new List <PartnerOrderProduct>(); string Cabinets = Request["Cabinets"]; JsonData sj = JsonMapper.ToObject(Cabinets); if (sj.Count > 0) { foreach (JsonData item in sj) { PartnerOrderProduct model = new PartnerOrderProduct(); model.OrderID = order.OrderID; model.ProductID = Guid.Parse(item["ProductID"].ToString()); model.ProductName = item["ProductName"].ToString(); model.ProductGroup = item["ProductGroup"].ToString(); model.Qty = Decimal.Parse(item["Qty"].ToString()); model.Price = Decimal.Parse(item["Price"].ToString()); model.Size = item["Size"].ToString(); model.MaterialStyle = item["MaterialStyle"].ToString(); model.Color = item["Color"].ToString(); model.MaterialCategory = item["MaterialCategory"].ToString(); model.Unit = item["Unit"].ToString(); model.Remark = item["Remark"].ToString(); model.SalePrice = 0; model.TotalAreal = 0; model.TotalLength = 0; model.ProductStatus = "N"; //Product.ProductCode = ((char)(64 + cabinet.Sequence)).ToString(); if (flag == "true") { model.Created = DateTime.Now; model.CreatedBy = SenderUser.UserCode + "." + SenderUser.UserName; } list.Add(model); } } args.PartnerOrderProducts = list; #endregion #region OrderLog /OrderTask if (flag != "true") { OrderStep step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.partneraddorder.ToString()); OrderStepLog ot = new OrderStepLog(); ot.StepID = Guid.NewGuid(); ot.OrderID = order.OrderID; ot.StepNo = step.StepNo; ot.StepName = step.StepName; ot.Remark = string.Empty; args.OrderStepLog = ot; } #endregion p.Client.SavePartnerOrder(SenderUser, args); } WriteSuccess(); } catch (Exception ex) { WriteError(ex.Message, ex); } }
public void OrderReview() { try { using (ProxyBE p = new ProxyBE()) { string OrderID = Request["OrderID"]; if (string.IsNullOrEmpty(OrderID)) { throw new Exception("OrderID:参数无效"); } string Remark = Request["Remark"]; if (string.IsNullOrEmpty(Remark)) { throw new Exception("Remark:参数无效"); } Order order = p.Client.GetOrder(SenderUser, Guid.Parse(OrderID)); if (order.Status.ToUpper() == OrderStatus.F.ToString()) { SaveOrderArgs args = new SaveOrderArgs(); OrderStep step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.ordersreview.ToString()); OrderStepLog ot = new OrderStepLog(); ot.StepID = Guid.NewGuid(); ot.OrderID = order.OrderID; ot.StepNo = step.StepNo; ot.StepName = step.StepName; ot.Remark = Remark; args.OrderStepLog = ot; order.Status = OrderStatus.G.ToString(); order.StepNo = step.StepNo; args.Order = order; p.Client.SaveOrder(SenderUser, args); p.Client.UpdatePartnerOrder(args.Order); } #region PartnerTransDetail string Payee = Request["Payee"].ToString(); //收款人 string Amount = Request["Amount"].ToString(); //收款金额 string TransDate = Request["TransDate"].ToString(); //收款日期 string VoucherNo = Request["VoucherNo"].ToString(); //凭证号 if (!string.IsNullOrEmpty(Payee) && !string.IsNullOrEmpty(Amount) && !string.IsNullOrEmpty(TransDate) && !string.IsNullOrEmpty(VoucherNo)) { ReviewDetail model = new ReviewDetail() { TransID = Guid.NewGuid(), OrderID = order.OrderID, Payee = Payee, Amount = decimal.Parse(Amount), TransDate = Convert.ToDateTime(TransDate), VoucherNo = VoucherNo, }; p.Client.SaveReviewDetail(SenderUser, model); } #endregion #region ProductBOM List <OrderProduct> list = p.Client.GetOrderProductByOrderID(SenderUser, order.OrderID); foreach (OrderProduct Item in list) { ProductBOM model = new ProductBOM() { ProductCode = Item.ProductCode, Status = false, }; p.Client.SaveProductBOM(SenderUser, model); } #endregion } WriteSuccess(); } catch (Exception ex) { WriteError(ex.Message, ex); } }
public void SaveOrder() { try { using (ProxyBE p = new ProxyBE()) { #region Order var flag = "false"; Order order = p.Client.GetOrder(SenderUser, parm.OrderID); if (parm.OrderType == "") { throw new Exception("请选择订单类型"); } if (order == null) { order = new Order(); order.OrderID = parm.OrderID; } //修改订单保存 flag = Request["edit"]; if (flag == "true") { order.OrderNo = parm.OrderNo; } else { order.OrderNo = ""; } order.PartnerID = parm.PartnerID; order.CustomerID = parm.CustomerID; order.OutOrderNo = parm.OutOrderNo; order.Address = parm.Address; order.CustomerName = parm.CustomerName; order.AttachmentFile = HttpUtility.UrlDecode(parm.AttachmentFile, Encoding.UTF8); order.PartnerName = parm.PartnerName; order.SalesMan = parm.SalesMan; order.BookingDate = parm.BookingDate; order.Mobile = parm.Mobile; order.ShipDate = parm.ShipDate; order.OrderType = parm.OrderType; order.Remark = parm.Remark; order.Status = OrderStatus.C.ToString(); order.StepNo = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.addorder.ToString()).StepNo; SaveOrderArgs args = new SaveOrderArgs(); args.Order = order; #endregion #region OrderProduct List <OrderProduct> list = new List <OrderProduct>(); string Cabinets = Request["Cabinets"]; JsonData sj = JsonMapper.ToObject(Cabinets); if (sj.Count > 0) { foreach (JsonData item in sj) { OrderProduct model = new OrderProduct(); model.OrderID = order.OrderID; model.ProductID = Guid.Parse(item["ProductID"].ToString()); model.ProductName = item["ProductName"].ToString(); model.ProductGroup = item["ProductGroup"].ToString(); model.Qty = Decimal.Parse(item["Qty"].ToString()); model.Price = Decimal.Parse(item["Price"].ToString()); model.Size = item["Size"].ToString(); model.MaterialStyle = item["MaterialStyle"].ToString(); model.Color = item["Color"].ToString(); model.MaterialCategory = item["MaterialCategory"].ToString(); model.Unit = item["Unit"].ToString(); model.Remark = item["Remark"].ToString(); model.SalePrice = 0; model.TotalAreal = 0; model.TotalLength = 0; model.ProductStatus = "N"; //Product.ProductCode = ((char)(64 + cabinet.Sequence)).ToString(); if (flag == "true") { model.Created = DateTime.Now; model.CreatedBy = SenderUser.UserCode + "." + SenderUser.UserName; } list.Add(model); } } args.OrderProducts = list; #endregion #region OrderLog /OrderTask if (flag != "true") { OrderStep step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.addorder.ToString()); OrderStepLog ot = new OrderStepLog(); ot.StepID = Guid.NewGuid(); ot.OrderID = order.OrderID; ot.StepNo = step.StepNo; ot.StepName = step.StepName; ot.Remark = string.Empty; args.OrderStepLog = ot; } #endregion #region OrderProcessFile string filePath = Config.StorageFolder; Partner partner = p.Client.GetPartner(SenderUser, order.PartnerID); string PartnerCode = partner.PartnerCode; filePath = Path.Combine(filePath, DateTime.Now.ToString("yyyyMM")); filePath = Path.Combine(filePath, PartnerCode); filePath = Path.Combine(filePath, DateTime.Now.ToString("yyyyMM")); filePath = Path.Combine(filePath, PartnerCode + "-" + DateTime.Now.ToString("yyyyMM")); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } List <OrderProcessFile> ProcessFiles = new List <OrderProcessFile>(); IList <HttpPostedFile> SceneFiles = Request.Files.GetMultiple("SceneFile"); foreach (HttpPostedFile file in SceneFiles) { if (file.ContentLength == 0) { continue; } string savepath = Path.Combine(filePath, "SceneFile"); if (!Directory.Exists(savepath)) { Directory.CreateDirectory(savepath); } savepath = Path.Combine(savepath, file.FileName); if (File.Exists(savepath)) { File.Delete(savepath); } file.SaveAs(savepath); OrderProcessFile pf = p.Client.GetOrderProcessFileByOrderID_FileType_FileName(SenderUser, order.OrderID, "SceneFile", Path.GetFileName(savepath)); if (pf == null) { pf = new OrderProcessFile(); pf.OrderID = parm.OrderID; pf.FileID = Guid.NewGuid(); pf.FileName = Path.GetFileName(savepath); pf.FilePath = savepath; pf.FileType = "SceneFile"; } ProcessFiles.Add(pf); } if (ProcessFiles.Count > 0) { args.OrderProcessFiles = ProcessFiles; } #endregion p.Client.SaveOrder(SenderUser, args); } WriteSuccess(); } catch (Exception ex) { WriteError(ex.Message, ex); } }