2025-03-27 15:05:14 +08:00

324 lines
16 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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("&nbsp;", "") != e.Row.Cells[7].Text.Replace("&nbsp;", ""))
{
if (e.Row.Cells[6].Text.Replace("&nbsp;", "") == "" && e.Row.Cells[7].Text.Replace("&nbsp;", "") == "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("&nbsp;", "");
_DataRow["物资名称"] = _GridViewRow.Cells[4].Text.Trim().Replace("&nbsp;", "");
_DataRow["物资条码"] = _GridViewRow.Cells[5].Text.Trim().Replace("&nbsp;", "");
_DataRow["物资规格"] = _GridViewRow.Cells[11].Text.Trim().Replace("&nbsp;", "");
_DataRow["物资进价"] = _GridViewRow.Cells[12].Text.Trim().Replace("&nbsp;", "");
_DataRow["剩余库存"] = _GridViewRow.Cells[6].Text.Trim().Replace("&nbsp;", "");
_DataRow["预估库存"] = _GridViewRow.Cells[7].Text.Trim().Replace("&nbsp;", "");
_DataTable.Rows.Add(_DataRow);
RowCount++;
}
}
HZQR.Common.ExcelHelper _ExcelHelper = new HZQR.Common.ExcelHelper();
_ExcelHelper.DataTableToExcel("库存数据导出", _DataTable, "库存数据", true);
}
}
}