/// <summary> /// 参考表单 /// 同一零件号的第一张工单的编号 /// 将成为后续工单的参考工单号 /// djin 2012-06-21 /// </summary> /// <param name="sender"></param> public void Create(object sender) { try { string sqlText = string.Empty; string ConnString = string.Empty; XmlTextReader reader = new XmlTextReader(Server.MapPath("Config/properties.config")); XmlDocument doc = new XmlDocument(); doc.Load(reader); // reader.Close(); // ConnString = doc.SelectSingleNode("/configuration/properties/connectionString").InnerText.Trim(); IList <OrderHead> orderHeadList = (IList <OrderHead>)sender; if (orderHeadList != null && orderHeadList.Count > 0) { string shiftCode = this.ucShift.ShiftCode; Shift shift = TheShiftMgr.LoadShift(shiftCode); foreach (var item in orderHeadList) { item.Shift = shift; } TheOrderMgr.CreateOrder(orderHeadList, this.CurrentUser.Code); var result = (from order in orderHeadList select order.OrderDetails[0].Item.Code).Distinct(); foreach (var s in result) { var _ordNo = (from order in orderHeadList where order.OrderDetails[0].Item.Code == s orderby order.WinDate, order.WindowTime select order.OrderNo); int i = 0; string refOrderNo = string.Empty; foreach (var ord in _ordNo) { UpdateOrderMstr(ord, refOrderNo, ConnString); if (i == 0) { refOrderNo = ord; } i++; } } ShowSuccessMessage("Common.Business.Result.Insert.Successfully"); } } catch (BusinessErrorException ex) { ShowErrorMessage(ex); } }
public void Create(object sender) { try { IList <OrderHead> orderHeadList = (IList <OrderHead>)sender; if (orderHeadList != null && orderHeadList.Count > 0) { TheOrderMgr.CreateOrder(orderHeadList, this.CurrentUser.Code); ShowSuccessMessage("Common.Business.Result.Insert.Successfully"); } } catch (BusinessErrorException ex) { ShowErrorMessage(ex); } }
private void SaveRender(object sender, EventArgs e) { if (this.cvStartTime.IsValid || this.IsReject) { IList <OrderDetail> resultOrderDetailList = new List <OrderDetail>(); OrderHead orderHead = CloneHelper.DeepClone <OrderHead>((OrderHead)sender); //Clone:避免修改List Page的TheOrder,导致出错 if (orderHead != null && orderHead.OrderDetails != null && orderHead.OrderDetails.Count > 0) { foreach (OrderDetail orderDetail in orderHead.OrderDetails) { if (orderDetail.OrderedQty != 0) { if (orderDetail.Item.Type == BusinessConstants.CODE_MASTER_ITEM_TYPE_VALUE_K) { IList <Item> newItemList = new List <Item>(); //填充套件子件 decimal? convertRate = null; IList <ItemKit> itemKitList = null; var maxSequence = orderHead.OrderDetails.Max(o => o.Sequence); itemKitList = this.TheItemKitMgr.GetChildItemKit(orderDetail.Item); for (int i = 0; i < itemKitList.Count; i++) { Item item = itemKitList[i].ChildItem; if (!convertRate.HasValue) { if (itemKitList[i].ParentItem.Uom.Code != orderDetail.Item.Uom.Code) { convertRate = this.TheUomConversionMgr.ConvertUomQty(orderDetail.Item, orderDetail.Item.Uom, 1, itemKitList[i].ParentItem.Uom); } else { convertRate = 1; } } OrderDetail newOrderDetail = new OrderDetail(); newOrderDetail.OrderHead = orderDetail.OrderHead; newOrderDetail.Sequence = maxSequence + (i + 1); newOrderDetail.IsBlankDetail = false; newOrderDetail.Item = item; newOrderDetail.Uom = item.Uom; newOrderDetail.UnitCount = orderDetail.Item.UnitCount * itemKitList[i].Qty * convertRate.Value; newOrderDetail.OrderedQty = orderDetail.OrderedQty * itemKitList[i].Qty * convertRate.Value; newOrderDetail.PackageType = orderDetail.PackageType; #region 价格字段 if (this.ModuleType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_PROCUREMENT) { if (orderDetail.PriceListFrom != null && orderDetail.PriceListFrom.Code != string.Empty) { newOrderDetail.PriceListFrom = ThePurchasePriceListMgr.LoadPurchasePriceList(orderDetail.PriceListFrom.Code); if (newOrderDetail.PriceListFrom != null) { newOrderDetail.PriceListDetailFrom = this.ThePriceListDetailMgr.GetLastestPriceListDetail(newOrderDetail.PriceListFrom, item, DateTime.Now, newOrderDetail.OrderHead.Currency, item.Uom); } } } else if (this.ModuleType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_DISTRIBUTION) { if (orderDetail.PriceListTo != null && orderDetail.PriceListTo.Code != string.Empty) { newOrderDetail.PriceListTo = TheSalesPriceListMgr.LoadSalesPriceList(orderDetail.PriceListTo.Code); } if (newOrderDetail.PriceListTo != null) { newOrderDetail.PriceListDetailTo = this.ThePriceListDetailMgr.GetLastestPriceListDetail(newOrderDetail.PriceListTo, item, DateTime.Now, newOrderDetail.OrderHead.Currency, item.Uom); } } #endregion resultOrderDetailList.Add(newOrderDetail); } } else { resultOrderDetailList.Add(orderDetail); } } } } if (resultOrderDetailList.Count == 0) { this.ShowErrorMessage("MasterData.Order.OrderHead.OrderDetail.Required"); return; } else { Flow currentFlow = TheFlowMgr.LoadFlow(CurrentFlowCode, true); DateTime winTime = this.tbWinTime.Text.Trim() == string.Empty ? DateTime.Now : DateTime.Parse(this.tbWinTime.Text); DateTime startTime = winTime; if (this.tbStartTime.Text != string.Empty) { startTime = DateTime.Parse(this.tbStartTime.Text.Trim()); } else { double leadTime = this.hfLeadTime.Value == string.Empty ? 0 : double.Parse(this.hfLeadTime.Value); double emTime = this.hfEmTime.Value == string.Empty ? 0 : double.Parse(this.hfEmTime.Value); double lTime = this.cbIsUrgent.Checked ? emTime : leadTime; startTime = winTime.AddHours(0 - lTime); } orderHead.OrderDetails = resultOrderDetailList; orderHead.WindowTime = winTime; orderHead.StartTime = startTime; orderHead.IsAutoRelease = this.cbReleaseOrder.Checked; orderHead.IsNewItem = this.NewItem; if (this.cbIsUrgent.Checked) { orderHead.Priority = BusinessConstants.CODE_MASTER_ORDER_PRIORITY_VALUE_URGENT; } else { orderHead.Priority = BusinessConstants.CODE_MASTER_ORDER_PRIORITY_VALUE_NORMAL; } if (this.tbRefOrderNo.Text.Trim() != string.Empty) { orderHead.ReferenceOrderNo = this.tbRefOrderNo.Text.Trim(); } if (this.tbExtOrderNo.Text.Trim() != string.Empty) { orderHead.ExternalOrderNo = this.tbExtOrderNo.Text.Trim(); } } //创建订单 try { if (this.IsQuick) { Receipt receipt = TheOrderMgr.QuickReceiveOrder(orderHead.Flow, orderHead.OrderDetails, this.CurrentUser.Code, this.ModuleSubType, orderHead.WindowTime, orderHead.StartTime, this.cbIsUrgent.Checked, orderHead.ReferenceOrderNo, orderHead.ExternalOrderNo); if (receipt.ReceiptDetails != null && receipt.ReceiptDetails.Count > 0) { orderHead = receipt.ReceiptDetails[0].OrderLocationTransaction.OrderDetail.OrderHead; if (this.cbPrintOrder.Checked) { IList <OrderDetail> orderDetails = orderHead.OrderDetails; IList <object> list = new List <object>(); list.Add(orderHead); list.Add(orderDetails); IList <OrderLocationTransaction> orderLocationTransactions = TheOrderLocationTransactionMgr.GetOrderLocationTransaction(orderHead.OrderNo); list.Add(orderLocationTransactions); //TheReportProductionMgr.FillValues(orderHead.OrderTemplate, list); string printUrl = TheReportMgr.WriteToFile(orderHead.OrderTemplate, list); Page.ClientScript.RegisterStartupScript(GetType(), "method", " <script language='javascript' type='text/javascript'>PrintOrder('" + printUrl + "'); </script>"); } } this.ShowSuccessMessage("Receipt.Receive.Successfully", receipt.ReceiptNo); if (!this.cbContinuousCreate.Checked) { this.PageCleanup(); if (QuickCreateEvent != null) { QuickCreateEvent(new Object[] { receipt, orderHead.NeedPrintReceipt }, e); } } else { orderHead = TheOrderMgr.TransferFlow2Order(this.tbFlow.Text.Trim()); InitDetailParamater(orderHead); } } else { TheOrderMgr.CreateOrder(orderHead, this.CurrentUser); if (this.cbPrintOrder.Checked) { IList <OrderDetail> orderDetails = orderHead.OrderDetails; IList <object> list = new List <object>(); list.Add(orderHead); list.Add(orderDetails); IList <OrderLocationTransaction> orderLocationTransactions = TheOrderLocationTransactionMgr.GetOrderLocationTransaction(orderHead.OrderNo); list.Add(orderLocationTransactions); //TheReportProductionMgr.FillValues(orderHead.OrderTemplate, list); string printUrl = TheReportMgr.WriteToFile(orderHead.OrderTemplate, list); Page.ClientScript.RegisterStartupScript(GetType(), "method", " <script language='javascript' type='text/javascript'>PrintOrder('" + printUrl + "'); </script>"); } this.ShowSuccessMessage("MasterData.Order.OrderHead.AddOrder.Successfully", orderHead.OrderNo); if (!this.cbContinuousCreate.Checked) { this.PageCleanup(); if (CreateEvent != null) { CreateEvent(orderHead.OrderNo, e); } } else { orderHead = TheOrderMgr.TransferFlow2Order(this.tbFlow.Text.Trim()); InitDetailParamater(orderHead); } } } catch (BusinessErrorException ex) { this.ShowErrorMessage(ex); return; } } }
private void CreateOrder(OrderHead orderHead) { IList <OrderDetail> resultOrderDetailList = new List <OrderDetail>(); foreach (OrderDetail orderDetail in orderHead.OrderDetails) { if (orderDetail.OrderedQty != 0) { if (orderDetail.Item.Type == BusinessConstants.CODE_MASTER_ITEM_TYPE_VALUE_K) { IList <Item> newItemList = new List <Item>(); //填充套件子件 decimal? convertRate = null; IList <ItemKit> itemKitList = null; var maxSequence = orderHead.OrderDetails.Max(o => o.Sequence); itemKitList = this.TheItemKitMgr.GetChildItemKit(orderDetail.Item); for (int i = 0; i < itemKitList.Count; i++) { Item item = itemKitList[i].ChildItem; if (!convertRate.HasValue) { if (itemKitList[i].ParentItem.Uom.Code != orderDetail.Item.Uom.Code) { convertRate = this.TheUomConversionMgr.ConvertUomQty(orderDetail.Item, orderDetail.Item.Uom, 1, itemKitList[i].ParentItem.Uom); } else { convertRate = 1; } } OrderDetail newOrderDetail = new OrderDetail(); newOrderDetail.OrderHead = orderDetail.OrderHead; newOrderDetail.Sequence = maxSequence + (i + 1); newOrderDetail.IsBlankDetail = false; newOrderDetail.Item = item; newOrderDetail.Uom = item.Uom; newOrderDetail.UnitCount = orderDetail.Item.UnitCount * itemKitList[i].Qty * convertRate.Value; newOrderDetail.OrderedQty = orderDetail.OrderedQty * itemKitList[i].Qty * convertRate.Value; newOrderDetail.PackageType = orderDetail.PackageType; #region 价格字段 //if (this.ModuleType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_PROCUREMENT) //{ // if (orderDetail.PriceListFrom != null && orderDetail.PriceListFrom.Code != string.Empty) // { // newOrderDetail.PriceListFrom = ThePurchasePriceListMgr.LoadPurchasePriceList(orderDetail.PriceListFrom.Code); // if (newOrderDetail.PriceListFrom != null) // { // newOrderDetail.PriceListDetailFrom = this.ThePriceListDetailMgr.GetLastestPriceListDetail(newOrderDetail.PriceListFrom, item, DateTime.Now, newOrderDetail.OrderHead.Currency, item.Uom); // } // } //} //else if (this.ModuleType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_DISTRIBUTION) //{ // if (orderDetail.PriceListTo != null && orderDetail.PriceListTo.Code != string.Empty) // { // newOrderDetail.PriceListTo = TheSalesPriceListMgr.LoadSalesPriceList(orderDetail.PriceListTo.Code); // } // if (newOrderDetail.PriceListTo != null) // { // newOrderDetail.PriceListDetailTo = this.ThePriceListDetailMgr.GetLastestPriceListDetail(newOrderDetail.PriceListTo, item, DateTime.Now, newOrderDetail.OrderHead.Currency, item.Uom); // } //} #endregion resultOrderDetailList.Add(newOrderDetail); } } else { resultOrderDetailList.Add(orderDetail); } } } orderHead.OrderDetails = resultOrderDetailList; TheOrderMgr.CreateOrder(orderHead, this.CurrentUser); }
protected void btnCreate_Click(object sender, EventArgs e) { try { if (this.tbFlow.Text == string.Empty) { ShowErrorMessage("MRP.Schedule.Import.CustomerSchedule.Result.SelectFlow"); return; } Flow flow = TheFlowMgr.CheckAndLoadFlow(this.tbFlow.Text); OrderHead orderHead = this.TheOrderMgr.TransferFlow2Order(flow); foreach (GridViewRow row in this.GV_Order.Rows) { if (row.RowType == DataControlRowType.DataRow) { string item = row.Cells[1].Text; string uom = row.Cells[4].Text; string qtyStr = ((TextBox)row.Cells[7].FindControl("tbQty")).Text; decimal?qty = null; try { qty = decimal.Parse(qtyStr); } catch (Exception) { this.ShowErrorMessage("MasterData.MiscOrder.WarningMessage.InputQtyFormat.Error"); return; } if (qty.HasValue && qty > 0) { OrderDetail orderDetail = (from det in orderHead.OrderDetails where det.Item.Code == item select det).FirstOrDefault(); if (orderDetail != null) { orderDetail.OrderedQty = qty.Value; if (orderDetail.Uom.Code != uom) { orderDetail.OrderedQty = this.TheUomConversionMgr.ConvertUomQty(item, uom, orderDetail.OrderedQty, orderDetail.Uom.Code); } } } } } IList <OrderDetail> resultOrderDetailList = new List <OrderDetail>(); if (orderHead != null && orderHead.OrderDetails != null && orderHead.OrderDetails.Count > 0) { foreach (OrderDetail orderDetail in orderHead.OrderDetails) { if (orderDetail.OrderedQty != 0) { if (orderDetail.Item.Type == BusinessConstants.CODE_MASTER_ITEM_TYPE_VALUE_K) { IList <Item> newItemList = new List <Item>(); //填充套件子件 decimal? convertRate = null; IList <ItemKit> itemKitList = null; var maxSequence = orderHead.OrderDetails.Max(o => o.Sequence); itemKitList = this.TheItemKitMgr.GetChildItemKit(orderDetail.Item); for (int i = 0; i < itemKitList.Count; i++) { Item item = itemKitList[i].ChildItem; if (!convertRate.HasValue) { if (itemKitList[i].ParentItem.Uom.Code != orderDetail.Item.Uom.Code) { convertRate = this.TheUomConversionMgr.ConvertUomQty(orderDetail.Item, orderDetail.Item.Uom, 1, itemKitList[i].ParentItem.Uom); } else { convertRate = 1; } } OrderDetail newOrderDetail = new OrderDetail(); newOrderDetail.OrderHead = orderDetail.OrderHead; newOrderDetail.Sequence = maxSequence + (i + 1); newOrderDetail.IsBlankDetail = false; newOrderDetail.Item = item; newOrderDetail.Uom = item.Uom; newOrderDetail.UnitCount = orderDetail.Item.UnitCount * itemKitList[i].Qty * convertRate.Value; newOrderDetail.OrderedQty = orderDetail.OrderedQty * itemKitList[i].Qty * convertRate.Value; newOrderDetail.PackageType = orderDetail.PackageType; #region 价格字段 if (orderHead.Type == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_PROCUREMENT) { if (orderDetail.PriceListFrom != null && orderDetail.PriceListFrom.Code != string.Empty) { //newOrderDetail.PriceListFrom = ThePurchasePriceListMgr.l //if (newOrderDetail.PriceList != null) //{ // PriceListDetail priceListDetail = this.ThePriceListDetailMgr.GetLastestPriceListDetail(newOrderDetail.PriceList, item, DateTime.Now, newOrderDetail.OrderHead.Currency, item.Uom); // newOrderDetail.IsProvisionalEstimate = priceListDetail == null ? true : priceListDetail.IsProvisionalEstimate; // if (priceListDetail != null) // { // newOrderDetail.UnitPrice = priceListDetail.UnitPrice; // newOrderDetail.TaxCode = priceListDetail.TaxCode; // newOrderDetail.IsIncludeTax = priceListDetail.IsIncludeTax; // } //} } } #endregion resultOrderDetailList.Add(newOrderDetail); } } else { resultOrderDetailList.Add(orderDetail); } } } } if (resultOrderDetailList.Count == 0) { this.ShowErrorMessage("MasterData.Order.OrderHead.OrderDetail.Required"); return; } else { DateTime winTime = this.tbWinTime.Text.Trim() == string.Empty ? DateTime.Now : DateTime.Parse(this.tbWinTime.Text); DateTime startTime = winTime; if (this.tbSettleTime.Text.Trim() != string.Empty) { //orderHead.SettleTime = DateTime.Parse(this.tbSettleTime.Text); } if (this.tbStartTime.Text != string.Empty) { startTime = DateTime.Parse(this.tbStartTime.Text.Trim()); } else { double leadTime = this.hfLeadTime.Value == string.Empty ? 0 : double.Parse(this.hfLeadTime.Value); double emTime = this.hfEmTime.Value == string.Empty ? 0 : double.Parse(this.hfEmTime.Value); double lTime = this.cbIsUrgent.Checked ? emTime : leadTime; startTime = winTime.AddHours(0 - lTime); } if (orderHead.Type == BusinessConstants.CODE_MASTER_FLOW_TYPE_VALUE_PRODUCTION) { if (this.ucShift.ShiftCode == string.Empty) { ShowErrorMessage("MasterData.Order.Shift.Empty"); return; } orderHead.Shift = TheShiftMgr.LoadShift(this.ucShift.ShiftCode); } orderHead.OrderDetails = resultOrderDetailList; orderHead.WindowTime = winTime; orderHead.StartTime = startTime; orderHead.IsAutoRelease = this.cbReleaseOrder.Checked; if (this.cbIsUrgent.Checked) { orderHead.Priority = BusinessConstants.CODE_MASTER_ORDER_PRIORITY_VALUE_URGENT; } else { orderHead.Priority = BusinessConstants.CODE_MASTER_ORDER_PRIORITY_VALUE_NORMAL; } if (this.tbRefOrderNo.Text.Trim() != string.Empty) { orderHead.ReferenceOrderNo = this.tbRefOrderNo.Text.Trim(); } if (this.tbExtOrderNo.Text.Trim() != string.Empty) { orderHead.ExternalOrderNo = this.tbExtOrderNo.Text.Trim(); } } TheOrderMgr.CreateOrder(orderHead, this.CurrentUser); if (this.cbPrintOrder.Checked && false)//不要打印 { IList <OrderDetail> orderDetails = orderHead.OrderDetails; IList <object> list = new List <object>(); list.Add(orderHead); list.Add(orderDetails); IList <OrderLocationTransaction> orderLocationTransactions = TheOrderLocationTransactionMgr.GetOrderLocationTransaction(orderHead.OrderNo); list.Add(orderLocationTransactions); string printUrl = TheReportMgr.WriteToFile(orderHead.OrderTemplate, list); Page.ClientScript.RegisterStartupScript(GetType(), "method", " <script language='javascript' type='text/javascript'>PrintOrder('" + printUrl + "'); </script>"); } this.ShowSuccessMessage("MasterData.Order.OrderHead.AddOrder.Successfully", orderHead.OrderNo); //跳转到相应的订单查询一面 string url = null; if (orderHead.Type == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_PRODUCTION) { url = "Main.aspx?mid=Order.OrderHead.Production__mp--ModuleType-Production_ModuleSubType-Nml_StatusGroupId-4__act--ListAction"; } else if (orderHead.Type == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_PROCUREMENT || orderHead.Type == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_SUBCONCTRACTING || orderHead.Type == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_CUSTOMERGOODS) { url = "Main.aspx?mid=Order.OrderHead.Procurement__mp--ModuleType-Procurement_ModuleSubType-Nml_StatusGroupId-4__act--ListAction"; } else if (orderHead.Type == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_DISTRIBUTION || orderHead.Type == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_TRANSFER) { url = "Main.aspx?mid=Order.OrderHead.Distribution__mp--ModuleType-Distribution_ModuleSubType-Nml_StatusGroupId-4__act--ListAction"; } else { return; } Page.ClientScript.RegisterStartupScript(GetType(), "method", " <script language='javascript' type='text/javascript'>timedMsg('" + url + "'); </script>"); } catch (BusinessErrorException ex) { this.ShowErrorMessage(ex); } catch (Exception) { } }
private void SaveRender(object sender, EventArgs e) { if (this.cvStartTime.IsValid) { IList <OrderDetail> resultOrderDetailList = new List <OrderDetail>(); OrderHead orderHead = CloneHelper.DeepClone <OrderHead>((OrderHead)sender); //Clone:避免修改List Page的TheOrder,导致出错 if (orderHead != null && orderHead.OrderDetails != null && orderHead.OrderDetails.Count > 0) { foreach (OrderDetail orderDetail in orderHead.OrderDetails) { if (orderDetail.OrderedQty != 0) { resultOrderDetailList.Add(orderDetail); } } } if (resultOrderDetailList.Count == 0) { this.ShowErrorMessage("MasterData.Order.OrderHead.OrderDetail.Required"); return; } else { Flow currentFlow = TheFlowMgr.LoadFlow(CurrentFlowCode, true); DateTime winTime = DateTime.Parse(this.tbWinTime.Text); DateTime startTime = DateTime.Parse(this.tbWinTime.Text); string shiftCode = this.ucShift.ShiftCode; if (this.tbStartTime.Text != string.Empty) { startTime = DateTime.Parse(this.tbStartTime.Text.Trim()); } else { double leadTime = this.hfLeadTime.Value == string.Empty ? 0 : double.Parse(this.hfLeadTime.Value); double emTime = this.hfEmTime.Value == string.Empty ? 0 : double.Parse(this.hfEmTime.Value); double lTime = this.cbIsUrgent.Checked ? emTime : leadTime; startTime = winTime.AddHours(0 - lTime); } orderHead.OrderDetails = resultOrderDetailList; orderHead.WindowTime = winTime; orderHead.StartTime = startTime; orderHead.IsAutoRelease = this.cbReleaseOrder.Checked; orderHead.IsNewItem = this.NewItem; if (this.ucShift.ShiftCode != string.Empty) { orderHead.Shift = TheShiftMgr.LoadShift(this.ucShift.ShiftCode); } if (this.cbIsUrgent.Checked) { orderHead.Priority = BusinessConstants.CODE_MASTER_ORDER_PRIORITY_VALUE_URGENT; } else { orderHead.Priority = BusinessConstants.CODE_MASTER_ORDER_PRIORITY_VALUE_NORMAL; } if (this.tbRefOrderNo.Text.Trim() != string.Empty) { orderHead.ReferenceOrderNo = this.tbRefOrderNo.Text.Trim(); } if (this.tbExtOrderNo.Text.Trim() != string.Empty) { orderHead.ExternalOrderNo = this.tbExtOrderNo.Text.Trim(); } if (this.IsQuick) { orderHead.IsAutoRelease = true; orderHead.IsAutoStart = true; orderHead.IsAutoShip = true; orderHead.IsAutoReceive = true; orderHead.StartLatency = 0; orderHead.CompleteLatency = 0; } if (orderHead.ReferenceOrderNo != null && orderHead.ReferenceOrderNo != string.Empty) { orderHead.IsAdditional = true; } } //创建订单 try { //if (this.IsQuick) //{ // Receipt receipt = TheOrderMgr.QuickReceiveOrder(orderHead.Flow, orderHead.OrderDetails, this.CurrentUser, this.ModuleSubType, orderHead.WindowTime, orderHead.StartTime, this.cbIsUrgent.Checked, orderHead.ReferenceOrderNo, orderHead.ExternalOrderNo); // if (receipt.ReceiptDetails != null && receipt.ReceiptDetails.Count > 0) // { // orderHead = receipt.ReceiptDetails[0].OrderLocationTransaction.OrderDetail.OrderHead; // if (this.cbPrintOrder.Checked) // { // IList<OrderDetail> orderDetails = orderHead.OrderDetails; // IList<object> list = new List<object>(); // list.Add(orderHead); // list.Add(orderDetails); // IList<OrderLocationTransaction> orderLocationTransactions = TheOrderLocationTransactionMgr.GetOrderLocationTransaction(orderHead.OrderNo); // list.Add(orderLocationTransactions); // //TheReportProductionMgr.FillValues(orderHead.OrderTemplate, list); // string printUrl = TheReportMgr.WriteToFile(orderHead.OrderTemplate, list); // Page.ClientScript.RegisterStartupScript(GetType(), "method", " <script language='javascript' type='text/javascript'>PrintOrder('" + printUrl + "'); </script>"); // } // } // this.ShowSuccessMessage("Receipt.Receive.Successfully", receipt.ReceiptNo); // this.PageCleanup(); // if (!this.cbContinuousCreate.Checked) // { // if (QuickCreateEvent != null) // { // QuickCreateEvent(new Object[] { receipt, orderHead.NeedPrintReceipt }, e); // } // } //} //else //{ TheOrderMgr.CreateOrder(orderHead, this.CurrentUser); if (this.cbPrintOrder.Checked) { IList <OrderDetail> orderDetails = orderHead.OrderDetails; IList <object> list = new List <object>(); list.Add(orderHead); list.Add(orderDetails); IList <OrderLocationTransaction> orderLocationTransactions = TheOrderLocationTransactionMgr.GetOrderLocationTransaction(orderHead.OrderNo); list.Add(orderLocationTransactions); //TheReportProductionMgr.FillValues(orderHead.OrderTemplate, list); string printUrl = TheReportMgr.WriteToFile(orderHead.OrderTemplate, list); Page.ClientScript.RegisterStartupScript(GetType(), "method", " <script language='javascript' type='text/javascript'>PrintOrder('" + printUrl + "'); </script>"); } this.ShowSuccessMessage("MasterData.Order.OrderHead.AddOrder.Successfully", orderHead.OrderNo); if (!this.cbContinuousCreate.Checked) { this.PageCleanup(); if (CreateEvent != null) { CreateEvent(orderHead.OrderNo, e); } } else { orderHead = TheOrderMgr.TransferFlow2Order(this.tbFlow.Text.Trim()); this.ucList.InitPageParameter(orderHead); } //} } catch (BusinessErrorException ex) { this.ShowErrorMessage(ex); return; } } }
private void SaveRender(object sender, EventArgs e) { //创建订单 try { OrderHead orderHead = CloneHelper.DeepClone <OrderHead>((OrderHead)sender); //Clone:避免修改List Page的TheOrder,导致出错 IList <OrderDetail> resultOrderDetailList = new List <OrderDetail>(); if (orderHead.OrderDetails != null && orderHead.OrderDetails.Count > 0) { foreach (OrderDetail orderDetail in orderHead.OrderDetails) { if (orderDetail.OrderedQty != 0) { if (!this.IsReuse) { orderDetail.LocationFrom = TheLocationMgr.LoadLocation(this.ddlLocationFrom.SelectedValue); orderDetail.LocationTo = null; } if (orderHead.Status != null) { orderDetail.ScrapQty = orderDetail.OrderedQty; } } } } orderHead.WindowTime = DateTime.Now; orderHead.StartTime = DateTime.Now; orderHead.Priority = BusinessConstants.CODE_MASTER_ORDER_PRIORITY_VALUE_NORMAL; orderHead.ReferenceOrderNo = this.tbRefOrderNo.Text.Trim(); orderHead.ExternalOrderNo = this.tbExtOrderNo.Text.Trim(); orderHead.IsAutoRelease = false; orderHead.IsAutoStart = true; orderHead.IsAutoShip = false; orderHead.IsAutoReceive = false; orderHead.Shift = TheShiftMgr.GetAllShift()[0]; TheOrderMgr.CreateOrder(orderHead, this.CurrentUser); if (this.cbPrintOrder.Checked) { IList <OrderDetail> orderDetails = orderHead.OrderDetails; IList <object> list = new List <object>(); list.Add(orderHead); list.Add(orderDetails); IList <OrderLocationTransaction> orderLocationTransactions = TheOrderLocationTransactionMgr.GetOrderLocationTransaction(orderHead.OrderNo); list.Add(orderLocationTransactions); string printUrl = TheReportMgr.WriteToFile(orderHead.OrderTemplate, list); Page.ClientScript.RegisterStartupScript(GetType(), "method", " <script language='javascript' type='text/javascript'>PrintOrder('" + printUrl + "'); </script>"); } this.ShowSuccessMessage("MasterData.Order.OrderHead.AddOrder.Successfully", orderHead.OrderNo); PageCleanup(); if (CreateEvent != null) { CreateEvent(orderHead.OrderNo, e); } } catch (BusinessErrorException ex) { this.ShowErrorMessage(ex); return; } }