324 lines
16 KiB
C#
324 lines
16 KiB
C#
using System;
|
||
using System.Data;
|
||
using System.Web.UI.WebControls;
|
||
using SuperMap.RealEstate.CoreFrameWork;
|
||
using SuperMap.RealEstate.Web.UI.WebControls;
|
||
using SuperMap.RealEstate.Web.Utility;
|
||
using Business = SuperMap.RealEstate.SendRec.Storage.Business;
|
||
using HighWayBusiness = SuperMap.RealEstate.HighWay.Storage.Business;
|
||
|
||
namespace SuperMap.RealEstate.SendRec.Modules.SearchCommodity
|
||
{
|
||
public partial class ObjectPage : BasePage
|
||
{
|
||
private double CurrPage = 0.0, CurrPagePrice = 0.00;
|
||
|
||
private string CommodityTypeString = "";
|
||
|
||
private string ShowString = "";
|
||
|
||
private const string ShowTemplate = ",当前类别合计:含税<font style='color:orangered'>{0}</font>元," +
|
||
"除税<font style='color:orangered'>{1}</font>元,当前服务区合计:含税<font style='color:orangered'>{2}</font>元," +
|
||
"除税<font style='color:orangered'>{3}</font>元,库存总数:{4}";
|
||
|
||
#region 方法 -> 页面加载
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (IsPostBack) return;
|
||
|
||
//初始化并加载列表
|
||
InitWebControls();
|
||
InitTitle(null);
|
||
GridViewEx1.SelectingWithInit<Business.APPLYCOMMODITY>(ObjectDataSource1, GridPageEx1,
|
||
DictionaryHelper.GetDictionary(Transaction, "COMMODITYGRADE").AsNewKeys("COMMODITY_GRADE"));
|
||
//设置回车焦点按钮
|
||
SetControlClientAction(ButtonSearch);
|
||
LblTitle.Text = LblTitle.Text + ShowString;
|
||
}
|
||
private void InitWebControls()
|
||
{
|
||
SERVERPART_ID.Clear();
|
||
ListItemEx _ListItemEx = new ListItemEx();
|
||
if (PassportInfo.UserName == "system" || PassportInfo.UserName == "admin")
|
||
{
|
||
_ListItemEx.Text = "所有服务区";
|
||
_ListItemEx.Value = "";
|
||
SERVERPART_ID.Items.Add(_ListItemEx);
|
||
}
|
||
foreach (HighWayBusiness.SERVERPART _SERVERPART in
|
||
(new HighWayBusiness.SERVERPART(Transaction)).GetPassportServerPart(PassportInfo.CityAuthority, "1000,1001"))
|
||
{
|
||
_ListItemEx = new ListItemEx();
|
||
_ListItemEx.Text = _SERVERPART.SERVERPART_NAME;
|
||
_ListItemEx.Value = _SERVERPART.SERVERPART_ID.ToString();
|
||
SERVERPART_ID.Items.Add(_ListItemEx);
|
||
}
|
||
if (Session["SERVERPART_ID"] != null && Session["SERVERPART_ID"].ToString() != "")
|
||
{
|
||
SERVERPART_ID.SelectedValue = Session["SERVERPART_ID"].ToString();
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 加载合计信息
|
||
private void InitTitle(ClientSetEventArgs e)
|
||
{
|
||
try
|
||
{
|
||
double TypeTaxCount = 0; //类型含税金额
|
||
double TypeCount = 0; //类型除税金额
|
||
double ServerTaxCount = 0; //服务区含税金额
|
||
double ServerCount = 0; //服务区除税金额
|
||
double StockCount = 0; //库存总数
|
||
Business.SERVERPARTSTOCK _SERVERPARTSTOCK = new Business.SERVERPARTSTOCK(this.Transaction);
|
||
if (!string.IsNullOrEmpty(Request["ID"]) && Request["ID"] != "-1")
|
||
{
|
||
string OutTypeString = Request["ID"].ToDecrypt();
|
||
HighWayBusiness.COMMODITYTYPE _COMMODITYTYPE = new HighWayBusiness.COMMODITYTYPE(this.Transaction);
|
||
_COMMODITYTYPE.GetSubCommodityType(ref OutTypeString, Request["ID"].ToDecrypt(), "", true);
|
||
CommodityTypeString = OutTypeString;
|
||
|
||
DataRow dataRow = _SERVERPARTSTOCK.GetTotalDTByType(SERVERPART_ID.SelectedValue,
|
||
CommodityTypeString, OVERPLUSCOUNT.SelectedValue).Rows[0];
|
||
double.TryParse(dataRow[0].ToString(), out TypeTaxCount);
|
||
double.TryParse(dataRow[1].ToString(), out TypeCount);
|
||
}
|
||
else if (Request["ID"] == "-1")
|
||
{
|
||
DataRow dataRow = _SERVERPARTSTOCK.GetTotalDTByType(SERVERPART_ID.SelectedValue,
|
||
"", OVERPLUSCOUNT.SelectedValue).Rows[0];
|
||
double.TryParse(dataRow[0].ToString(), out TypeTaxCount);
|
||
double.TryParse(dataRow[1].ToString(), out TypeCount);
|
||
}
|
||
DataRow dataRows = _SERVERPARTSTOCK.GetTotalDTByServerPart(SERVERPART_ID.SelectedValue,
|
||
OVERPLUSCOUNT.SelectedValue).Rows[0];
|
||
double.TryParse(dataRows[0].ToString(), out ServerTaxCount);
|
||
double.TryParse(dataRows[1].ToString(), out ServerCount);
|
||
double.TryParse(dataRows[2].ToString(), out StockCount);
|
||
|
||
ShowString = string.Format(ShowTemplate, TypeTaxCount.ToString("F2"), TypeCount.ToString("F2"),
|
||
ServerTaxCount.ToString("F2"), ServerCount.ToString("F2"), StockCount.ToString("F2"));
|
||
}
|
||
catch
|
||
{
|
||
ShowString = string.Format(ShowTemplate, 0, 0, 0, 0, 0);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 列表事件
|
||
//查询
|
||
protected void ButtonSearch_CallBackClick(object sender, ClientSetEventArgs e)
|
||
{
|
||
GridViewEx1.Selecting<Business.APPLYCOMMODITY>(ObjectDataSource1, GridPageEx1);
|
||
//设置UI变化
|
||
e.SetValue(GridViewEx1);
|
||
e.SetValue(GridPageEx1);
|
||
|
||
InitTitle(e);
|
||
e.ExcuteClientScript("setData(\"" + LblTitle.Text + ShowString + "\")");
|
||
}
|
||
|
||
//翻页事件
|
||
protected void GridPageEx1_CallBackPageChanged(object src, ClientSetEventArgs e)
|
||
{
|
||
GridViewEx1.Pagging<Business.APPLYCOMMODITY>(ObjectDataSource1, GridPageEx1);
|
||
//设置UI变化
|
||
e.SetValue(GridViewEx1);
|
||
|
||
InitTitle(e);
|
||
e.ExcuteClientScript("setData(\"" + LblTitle.Text + ShowString + "\")");
|
||
}
|
||
|
||
//查询SQL设置
|
||
protected void GridViewEx1_SelectMethodParameters(object sender, SelectMethodParametersArgs e)
|
||
{
|
||
//搜索选项的搜索条件过滤
|
||
if (!string.IsNullOrEmpty(TextBox_Search.Text))
|
||
e.AddOrParams(GridViewSearch1, TextBox_Search.Text);
|
||
|
||
if (!IsPostBack && string.IsNullOrEmpty(Request["ID"]))
|
||
{
|
||
e.AddAndParams("1", 2);
|
||
}
|
||
//添加服务区选项
|
||
//if (string.IsNullOrEmpty(SERVERPART_ID.SelectedValue))
|
||
//{
|
||
// e.AddAndParams("SERVERPART_ID", 0);
|
||
//}
|
||
if (!string.IsNullOrEmpty(SERVERPART_ID.SelectedValue) && SERVERPART_ID.SelectedValue != "1=1")
|
||
{
|
||
e.AddAndParams("SERVERPART_ID", SERVERPART_ID.SelectedValue);
|
||
}
|
||
else
|
||
{
|
||
e.SetOtherUserCustomWhereSqlString += (e.SetOtherUserCustomWhereSqlString == "" ? "" : " AND ") + "SERVERPART_ID IN (" +
|
||
(new HighWayBusiness.SERVERPART(this.Transaction)).GetPassportServerPartID(this.PassportInfo.CityAuthority) + ")";
|
||
}
|
||
//添加商品类别过滤
|
||
if (!string.IsNullOrEmpty(Request["ID"]) && Request["ID"] != "-1")
|
||
{
|
||
string OutTypeString = Request["ID"].ToDecrypt();
|
||
HighWayBusiness.COMMODITYTYPE _COMMODITYTYPE = new HighWayBusiness.COMMODITYTYPE(this.Transaction);
|
||
_COMMODITYTYPE.GetSubCommodityType(ref OutTypeString, Request["ID"].ToDecrypt(), "", true);
|
||
e.SetOtherUserCustomWhereSqlString = "COMMODITYTYPE_ID in(" + OutTypeString + ")";
|
||
CommodityTypeString = OutTypeString;
|
||
}
|
||
//else
|
||
// e.AddAndParams("COMMODITYTYPE_ID", -1);
|
||
if (OVERPLUSCOUNT.SelectedValue == "1")
|
||
{
|
||
e.SetOtherUserCustomWhereSqlString += e.SetOtherUserCustomWhereSqlString == "" ?
|
||
"OVERPLUSCOUNT > 0" : " AND OVERPLUSCOUNT > 0";
|
||
}
|
||
else if (OVERPLUSCOUNT.SelectedValue == "0")
|
||
{
|
||
e.SetOtherUserCustomWhereSqlString += e.SetOtherUserCustomWhereSqlString == "" ?
|
||
"NVL(OVERPLUSCOUNT,0) = 0" : " AND NVL(OVERPLUSCOUNT,0) = 0";
|
||
}
|
||
else if (OVERPLUSCOUNT.SelectedValue == "-1")
|
||
{
|
||
e.SetOtherUserCustomWhereSqlString += e.SetOtherUserCustomWhereSqlString == "" ?
|
||
"OVERPLUSCOUNT < 0" : " AND OVERPLUSCOUNT < 0";
|
||
}
|
||
else if (OVERPLUSCOUNT.SelectedValue == "exist")
|
||
{
|
||
e.SetOtherUserCustomWhereSqlString += e.SetOtherUserCustomWhereSqlString == "" ?
|
||
"OVERPLUSCOUNT IS NOT NULL" : " AND OVERPLUSCOUNT IS NOT NULL";
|
||
}
|
||
//排序
|
||
e.AddOrderByParams(GridViewOrderBy1);
|
||
}
|
||
#endregion
|
||
|
||
#region 方法 -> 行绑定事件
|
||
protected void GridViewEx1_RowDataBound(object sender, GridViewRowEventArgs e)
|
||
{
|
||
if (e.Row.RowType == DataControlRowType.Header)
|
||
{
|
||
LblTitle.Text = "当前页金额:含税<font style='color:orangered'>0</font>元,除税<font style='color:orangered'>0</font>元";
|
||
//InitTitle(null);
|
||
}
|
||
else if (e.Row.RowType == DataControlRowType.DataRow)
|
||
{
|
||
try
|
||
{
|
||
HighWayBusiness.COMMODITYTYPE _COMMODITYTYPE = new HighWayBusiness.COMMODITYTYPE(this.Transaction);
|
||
_COMMODITYTYPE.COMMODITYTYPE_ID_Encrypt = e.Row.Cells[2].Text.ToEncrypt();
|
||
if (_COMMODITYTYPE.Select())
|
||
{
|
||
e.Row.Cells[2].Text = _COMMODITYTYPE.COMMODITYTYPE_NAME;
|
||
}
|
||
}
|
||
catch { }
|
||
//进货明细--领用明细
|
||
string _SERVERPARTSTOCK_ID = GridViewEx1.DataKeys[e.Row.RowIndex].Values["SERVERPARTSTOCK_ID"].ToEncrypt();
|
||
string _COMMODITY_ID = GridViewEx1.DataKeys[e.Row.RowIndex].Values["COMMODITY_ID"].ToEncrypt();
|
||
LinkButton LinkButton_Proinst = (LinkButton)e.Row.FindControl("LinkButton_Proinst");
|
||
LinkButton LB_RunningProinst = (LinkButton)e.Row.FindControl("LB_RunningProinst");
|
||
|
||
LinkButton_Proinst.OnClientClick = GridViewEx1.GetOpenPopDialogClientScript(
|
||
"Proinst/APPLYPROINSTList.aspx?SERVERPARTSTOCK_ID=" + _SERVERPARTSTOCK_ID + "&COMMODITY_ID=" +
|
||
_COMMODITY_ID, 1000, 600) + " return false;";
|
||
|
||
Business.SERVERPARTSTOCK _SERVERPARTSTOCK = new Business.SERVERPARTSTOCK(this.Transaction);
|
||
_SERVERPARTSTOCK.SERVERPARTSTOCK_ID_Encrypt = _SERVERPARTSTOCK_ID;
|
||
if (_SERVERPARTSTOCK_ID != "" && _SERVERPARTSTOCK.Select())
|
||
{
|
||
e.Row.Cells[7].Text = _SERVERPARTSTOCK.ExecuteDataTable("SELECT " +
|
||
_SERVERPARTSTOCK.OVERPLUSCOUNT + @" + NVL(SUM(A.TOTAL_COUNT),0) - NVL(SUM(B.TOTAL_COUNT),0)
|
||
FROM (SELECT * FROM SENDREC_STORAGE.V_ALLPROINST_RUNNING WHERE APPLYPROINST_TYPE = 2000)A,
|
||
(SELECT * FROM SENDREC_STORAGE.V_ALLPROINST_RUNNING WHERE APPLYPROINST_TYPE > 2000)B,
|
||
SENDREC_STORAGE.T_SERVERPARTSTOCK C
|
||
WHERE C.COMMODITY_ID = A.COMMODITY_ID(+) AND C.COMMODITY_ID = B.COMMODITY_ID(+) AND
|
||
C.COMMODITY_ID = " + _SERVERPARTSTOCK.COMMODITY_ID).Rows[0][0].ToString();
|
||
}
|
||
else if (_SERVERPARTSTOCK.ExecuteDataTable("SELECT * FROM SENDREC_STORAGE.V_ALLPROINST_RUNNING " +
|
||
"WHERE COMMODITY_ID = " + _COMMODITY_ID.ToDecrypt()).Rows.Count > 0)
|
||
{
|
||
e.Row.Cells[7].Text = _SERVERPARTSTOCK.ExecuteDataTable(@"SELECT
|
||
NVL(SUM(A.TOTAL_COUNT),0) - NVL(SUM(B.TOTAL_COUNT),0)
|
||
FROM (SELECT * FROM SENDREC_STORAGE.V_ALLPROINST_RUNNING WHERE APPLYPROINST_TYPE = 2000)A,
|
||
(SELECT * FROM SENDREC_STORAGE.V_ALLPROINST_RUNNING WHERE APPLYPROINST_TYPE > 2000)B,
|
||
SENDREC_STORAGE.V_UNIQUECOMMODITY C
|
||
WHERE C.COMMODITY_ID = A.COMMODITY_ID(+) AND C.COMMODITY_ID = B.COMMODITY_ID(+) AND
|
||
C.COMMODITY_ID = " + _COMMODITY_ID.ToDecrypt()).Rows[0][0].ToString();
|
||
}
|
||
if (e.Row.Cells[6].Text.Replace(" ", "") != e.Row.Cells[7].Text.Replace(" ", ""))
|
||
{
|
||
if (e.Row.Cells[6].Text.Replace(" ", "") == "" && e.Row.Cells[7].Text.Replace(" ", "") == "0")
|
||
{
|
||
LB_RunningProinst.Visible = false;
|
||
}
|
||
else
|
||
{
|
||
LB_RunningProinst.OnClientClick = GridViewEx1.GetOpenPopDialogClientScript(
|
||
"Proinst/APPLYPROINSTList.aspx?SERVERPARTSTOCK_ID=" + _SERVERPARTSTOCK_ID + "&COMMODITY_ID=" +
|
||
_COMMODITY_ID + "&type=0", 1000, 600) + " return false;";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
LB_RunningProinst.Visible = false;
|
||
}
|
||
try
|
||
{
|
||
CurrPage += double.Parse(e.Row.Cells[8].Text);
|
||
CurrPagePrice += double.Parse(e.Row.Cells[9].Text);
|
||
LblTitle.Text = "当前页金额:含税<font style='color:orangered'>" + CurrPage +
|
||
"</font>元,除税<font style='color:orangered'>" + CurrPagePrice + "</font>元" + ShowString;
|
||
}
|
||
catch { }
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
protected void SERVERPART_ID_CallBackSetControl(object sender, ClientSetEventArgs e)
|
||
{
|
||
Session["SERVERPART_ID"] = SERVERPART_ID.SelectedValue;
|
||
//刷新数据
|
||
ButtonSearch_CallBackClick(ButtonSearch, e);
|
||
}
|
||
|
||
protected void ButtonPrintBill_Click(object sender, EventArgs e)
|
||
{
|
||
if (GridViewEx1.Rows.Count == 0)
|
||
{
|
||
Alert("请先查询列表后再导出excel!");
|
||
return;
|
||
}
|
||
DataTable _DataTable = new DataTable();
|
||
_DataTable.Columns.Add("序号");
|
||
_DataTable.Columns.Add("物资类型");
|
||
_DataTable.Columns.Add("物资名称");
|
||
_DataTable.Columns.Add("物资条码");
|
||
_DataTable.Columns.Add("物资规格");
|
||
_DataTable.Columns.Add("物资进价");
|
||
_DataTable.Columns.Add("剩余库存");
|
||
_DataTable.Columns.Add("预估库存");
|
||
|
||
_DataTable.CaseSensitive = false;
|
||
int RowCount = 1;
|
||
foreach (GridViewRow _GridViewRow in GridViewEx1.Rows)
|
||
{
|
||
if (_GridViewRow.RowType == DataControlRowType.DataRow)
|
||
{
|
||
DataRow _DataRow = _DataTable.NewRow();
|
||
_DataRow["序号"] = RowCount.ToString();
|
||
_DataRow["物资类型"] = _GridViewRow.Cells[2].Text.Trim().Replace(" ", "");
|
||
_DataRow["物资名称"] = _GridViewRow.Cells[4].Text.Trim().Replace(" ", "");
|
||
_DataRow["物资条码"] = _GridViewRow.Cells[5].Text.Trim().Replace(" ", "");
|
||
_DataRow["物资规格"] = _GridViewRow.Cells[11].Text.Trim().Replace(" ", "");
|
||
_DataRow["物资进价"] = _GridViewRow.Cells[12].Text.Trim().Replace(" ", "");
|
||
_DataRow["剩余库存"] = _GridViewRow.Cells[6].Text.Trim().Replace(" ", "");
|
||
_DataRow["预估库存"] = _GridViewRow.Cells[7].Text.Trim().Replace(" ", "");
|
||
_DataTable.Rows.Add(_DataRow);
|
||
RowCount++;
|
||
}
|
||
}
|
||
HZQR.Common.ExcelHelper _ExcelHelper = new HZQR.Common.ExcelHelper();
|
||
_ExcelHelper.DataTableToExcel("库存数据导出", _DataTable, "库存数据", true);
|
||
}
|
||
}
|
||
}
|