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