using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CY.BLL; using CY.Model; using CY.Infrastructure.Query; using CY.Infrastructure.Common; using CY.BLL.Sys; using System.Data; using CY.BLL.OA; using CY.BLL.EC; namespace CY.WebForm.Pages.business { //吴辉 //专版施工单列表 public partial class AgSpecialOrderList : BasePage { EC_SpecialOrdersBLL bll_EC_SpecialOrdersBLL = null; EC_OrderBasicBLL _eC_OrderBasicBLL = null; OA_OutOfStorageBLL _OA_OutOfStorageBLL = null; OA_InventoryBLL _OA_InventoryBLL = null; //初始化 public AgSpecialOrderList() { bll_EC_SpecialOrdersBLL = new EC_SpecialOrdersBLL(); _eC_OrderBasicBLL = new EC_OrderBasicBLL(); _OA_OutOfStorageBLL = new OA_OutOfStorageBLL(); _OA_InventoryBLL = new OA_InventoryBLL(); } //页面加载 protected void Page_Load(object sender, EventArgs e) { UCPager1.AspNetPager.PageChanged += AspNetPager1_PageChanged; if (!IsPostBack) { BindList(); } if (Request["delete"] != null) { EC_SpecialOrders model = bll_EC_SpecialOrdersBLL.GetModelByKeyid(Request["delete"].ToInt32()); if (model != null && model.Keyid != null) { //退回库存 var oA_OutOfStorages = _OA_OutOfStorageBLL.getModelListByRemark(model.Memberid, "专版:" + model.PSO_OrderNum + "").ToList(); if (oA_OutOfStorages != null && oA_OutOfStorages.Count > 0) { foreach (var outOfStorage in oA_OutOfStorages) { if (outOfStorage.InfoType == "确认出库") { _OA_OutOfStorageBLL.DeleteModel(outOfStorage); } else if (outOfStorage.InfoType == "出库") { OA_Inventory Inventory = new OA_Inventory(); Inventory.BrandId = outOfStorage.BrandId; Inventory.FirmId = outOfStorage.FirmId; Inventory.GoodsId = outOfStorage.GoodsId; Inventory.LastUpdateTime = DateTime.Now; Inventory.WarehouseId = outOfStorage.WarehouseId; Inventory.SpecificationId = outOfStorage.SpecificationId; Inventory.PaperWeightId = outOfStorage.PaperWeightId; var m_OA_Inventory = _OA_InventoryBLL.IfHasModel(Inventory); if (m_OA_Inventory != null)//如果所选货位存在此产品 { m_OA_Inventory.InventoryCount = m_OA_Inventory.InventoryCount + outOfStorage.Quantity; bool isSuccess = _OA_InventoryBLL.UpdateModel(m_OA_Inventory); } _OA_OutOfStorageBLL.DeleteModel(outOfStorage); } } } bll_EC_SpecialOrdersBLL.DeleteModel(model); JavaScript.MessageBox("删除成功", this); Response.Redirect("/Pages/business/AgSpecialOrderList.aspx"); } else { JavaScript.MessageBox("删除失败", this); } } if (Request["chedan"] != null) { EC_SpecialOrders model = bll_EC_SpecialOrdersBLL.GetModelByKeyid(Request["chedan"].ToInt32()); if (model != null && model.Keyid != null) { EC_OrderBasic _eC_OrderBasic = _eC_OrderBasicBLL.SelectModelById(model.PO_OrderId.ToInt32().Value); if (null == _eC_OrderBasic) { } else { //修改订单状态 List oprates = new List(); oprates.Add(new EC_OrderOperate() { OperateType = 1, OrderId = _eC_OrderBasic.Keyid, Operator = CurrentUser.ShortName, Remark = "" }); _eC_OrderBasicBLL.UpdateOrderState(oprates[0]); //修改订单数量 _eC_OrderBasicBLL.UpSurplusPrintNum(_eC_OrderBasic.Keyid, _eC_OrderBasic.OrderExtend.PrintNum, CurrentUser.ShortName); } //退回库存 var oA_OutOfStorages = _OA_OutOfStorageBLL.getModelListByRemark(model.Memberid, "专版:" + model.PSO_OrderNum + "").ToList(); if (oA_OutOfStorages != null && oA_OutOfStorages.Count > 0) { foreach(var outOfStorage in oA_OutOfStorages) { if (outOfStorage.InfoType == "确认出库") { _OA_OutOfStorageBLL.DeleteModel(outOfStorage); } else if(outOfStorage.InfoType == "出库") { OA_Inventory Inventory = new OA_Inventory(); Inventory.BrandId = outOfStorage.BrandId; Inventory.FirmId = outOfStorage.FirmId; Inventory.GoodsId = outOfStorage.GoodsId; Inventory.LastUpdateTime = DateTime.Now; Inventory.WarehouseId = outOfStorage.WarehouseId; Inventory.SpecificationId = outOfStorage.SpecificationId; Inventory.PaperWeightId = outOfStorage.PaperWeightId; var m_OA_Inventory = _OA_InventoryBLL.IfHasModel(Inventory); if (m_OA_Inventory != null)//如果所选货位存在此产品 { m_OA_Inventory.InventoryCount = m_OA_Inventory.InventoryCount + outOfStorage.Quantity; bool isSuccess = _OA_InventoryBLL.UpdateModel(m_OA_Inventory); } _OA_OutOfStorageBLL.DeleteModel(outOfStorage); } } } bll_EC_SpecialOrdersBLL.DeleteModel(model); JavaScript.MessageBox("撤单成功", this); Response.Redirect("/Pages/business/AgSpecialOrderList.aspx"); } else { JavaScript.MessageBox("撤单失败", this); } } } //绑定数据 private void BindList() { DateTime? beginTime = null; DateTime? endTime = null; Pagination pa = new Pagination(); pa.PageSize = UCPager1.AspNetPager.PageSize; pa.PageIndex = UCPager1.AspNetPager.CurrentPageIndex; this.RepClientList.DataSource = bll_EC_SpecialOrdersBLL.SelectModelPage(pa, CurrentUser.MemberId,this.txtPrintName.Value,this.txtCustormerName.Value,this.txtPSO_OrderNum.Value, string.IsNullOrEmpty(this.txtBeginDate.Value) ? beginTime : Convert.ToDateTime(this.txtBeginDate.Value) , string.IsNullOrEmpty(this.txtEndDate.Value) ? endTime : MyConvert.GetDateTime(this.txtEndDate.Value), "补单" ); this.RepClientList.DataBind(); UCPager1.AspNetPager.RecordCount = pa.RecordCount; } //分页事件 protected void AspNetPager1_PageChanged(object src, EventArgs e) { BindList(); } protected void btn_Search_Click1(object sender, EventArgs e) { BindList(); } } }