362 lines
18 KiB
C#
362 lines
18 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 HWSB = SuperMap.RealEstate.HighWay.Storage.Business;
|
|
using HZQR.Common;
|
|
|
|
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>元,库存总数:<font style='color:orangered'>{4}</font>";
|
|
|
|
#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"),
|
|
HWSB.CommonHelper.GetDictionary(Transaction, "SERVERPARTSHOP_ID",
|
|
"SELECT SERVERPART_ID,SERVERPART_NAME FROM HIGHWAY_STORAGE.T_SERVERPART"));
|
|
//设置回车焦点按钮
|
|
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 (HWSB.SERVERPART _SERVERPART in
|
|
(new HWSB.SERVERPART(Transaction)).GetPassportServerPart(PassportInfo.CityAuthority, "1000,1001,1010"))
|
|
{
|
|
_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();
|
|
}
|
|
if (!string.IsNullOrEmpty(Request["SENDREC_TYPE"]))
|
|
{
|
|
GridViewEx1.Columns[GridViewEx1.Columns.Count - 1].Visible = true;
|
|
GridViewEx1.Columns[GridViewEx1.Columns.Count - 2].Visible = true;
|
|
GridViewEx1.DataTableName = "V_COMMODITYSTOCKMATERIAL";
|
|
}
|
|
}
|
|
#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();
|
|
HWSB.COMMODITYTYPE _COMMODITYTYPE = new HWSB.COMMODITYTYPE(this.Transaction);
|
|
_COMMODITYTYPE.GetSubCommodityType(ref OutTypeString, Request["ID"].ToDecrypt(), "", true);
|
|
CommodityTypeString = OutTypeString;
|
|
|
|
DataRow dataRow = _SERVERPARTSTOCK.GetTotalDTByType(SERVERPART_ID.SelectedValue, CommodityTypeString,
|
|
OVERPLUSCOUNT.SelectedValue, Request["SENDREC_TYPE"], GridViewEx1.DataTableName).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, Request["SENDREC_TYPE"], GridViewEx1.DataTableName).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, Request["SENDREC_TYPE"], GridViewEx1.DataTableName).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);
|
|
}
|
|
else
|
|
{
|
|
e.AddAndParams("1", 1);
|
|
//添加服务区选项
|
|
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 HWSB.SERVERPART(Transaction).GetPassportServerPartID(this.PassportInfo.CityAuthority) + ")";
|
|
}
|
|
//添加商品类别过滤
|
|
if (!string.IsNullOrEmpty(Request["ID"]) && Request["ID"] != "-1")
|
|
{
|
|
string OutTypeString = Request["ID"].ToDecrypt();
|
|
HWSB.COMMODITYTYPE _COMMODITYTYPE = new HWSB.COMMODITYTYPE(this.Transaction);
|
|
_COMMODITYTYPE.GetSubCommodityType(ref OutTypeString, Request["ID"].ToDecrypt(), "", true);
|
|
e.SetOtherUserCustomWhereSqlString += (e.SetOtherUserCustomWhereSqlString == "" ?
|
|
"" : " AND ") + "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";
|
|
}
|
|
if (!string.IsNullOrEmpty(Request["SENDREC_TYPE"]))
|
|
{
|
|
e.AddAndParams("BUSINESSTYPE", Request["SENDREC_TYPE"]);
|
|
}
|
|
else
|
|
{
|
|
e.SetOtherUserCustomWhereSqlString += (e.SetOtherUserCustomWhereSqlString == "" ? "" : " AND ") +
|
|
"BUSINESSTYPE != 9990";
|
|
}
|
|
//排序
|
|
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
|
|
{
|
|
HWSB.COMMODITYTYPE _COMMODITYTYPE = new HWSB.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
|
|
|
|
#region 方法 -> 导出excel
|
|
protected void ButtonPrintBill_Click(object sender, EventArgs e)
|
|
{
|
|
string sqlWhere = "";
|
|
//添加服务区选项
|
|
if (!string.IsNullOrEmpty(SERVERPART_ID.SelectedValue) && SERVERPART_ID.SelectedValue != "1=1")
|
|
{
|
|
sqlWhere += " AND A.SERVERPART_ID = " + SERVERPART_ID.SelectedValue;
|
|
}
|
|
else
|
|
{
|
|
sqlWhere += " AND A.SERVERPART_ID IN (" + new HWSB.SERVERPART(Transaction).GetPassportServerPartID(PassportInfo.CityAuthority) + ")";
|
|
}
|
|
//添加商品类别过滤
|
|
if (!string.IsNullOrEmpty(Request["ID"]) && Request["ID"] != "-1")
|
|
{
|
|
string OutTypeString = Request["ID"].ToDecrypt();
|
|
HWSB.COMMODITYTYPE _COMMODITYTYPE = new HWSB.COMMODITYTYPE(this.Transaction);
|
|
_COMMODITYTYPE.GetSubCommodityType(ref OutTypeString, Request["ID"].ToDecrypt(), "", true);
|
|
sqlWhere += " AND A.COMMODITYTYPE_ID in(" + OutTypeString + ")";
|
|
}
|
|
if (OVERPLUSCOUNT.SelectedValue == "1")
|
|
{
|
|
sqlWhere += " AND A.OVERPLUSCOUNT > 0";
|
|
}
|
|
else if (OVERPLUSCOUNT.SelectedValue == "0")
|
|
{
|
|
sqlWhere += " AND NVL(A.OVERPLUSCOUNT,0) = 0";
|
|
}
|
|
else if (OVERPLUSCOUNT.SelectedValue == "-1")
|
|
{
|
|
sqlWhere += " AND A.OVERPLUSCOUNT < 0";
|
|
}
|
|
else if (OVERPLUSCOUNT.SelectedValue == "exist")
|
|
{
|
|
sqlWhere += " AND A.OVERPLUSCOUNT IS NOT NULL";
|
|
}
|
|
if (!string.IsNullOrEmpty(Request["SENDREC_TYPE"]))
|
|
{
|
|
sqlWhere += " AND A.BUSINESSTYPE = " + Request["SENDREC_TYPE"];
|
|
}
|
|
else
|
|
{
|
|
sqlWhere += " AND A.BUSINESSTYPE != 9990";
|
|
}
|
|
string strSql = string.Format(@"SELECT A.COMMODITYTYPE_NAME AS 物资类型,A.COMMODITY_CODE AS 物资编码,
|
|
A.COMMODITY_NAME AS 物资名称,A.COMMODITY_UNIT AS 物资单位,A.COMMODITY_RULE AS 物资规格,
|
|
A.COMMODITY_BARCODE AS 物资条码,A.OVERPLUSCOUNT AS 剩余库存,A.SUPPORT_PRICE AS 合计含税金额,
|
|
A.TOTAL_PRICE AS 合计除税金额,A.COMMODITY_PURCHASEPRICE AS 移动平均价,
|
|
A.AVERAGE_PRICE AS 库存均价,A.SERVERPART_NAME AS 服务区名称,C.SERVERPART_NAME AS 配送服务区
|
|
FROM
|
|
{0} A
|
|
LEFT JOIN
|
|
HIGHWAY_STORAGE.T_SERVERPART C
|
|
ON
|
|
A.SERVERPARTSHOP_ID = C.SERVERPART_ID
|
|
WHERE
|
|
1 = 1{1}", GridViewEx1.DataTableName, sqlWhere);
|
|
DataTable _DataTable = new Business.SERVERPARTSTOCK(this.Transaction).ExecuteDataTable(strSql);
|
|
|
|
ExcelHelper _ExcelHelper = new ExcelHelper();
|
|
_ExcelHelper.DataTableToExcel("库存数据导出", _DataTable, "库存数据", true);
|
|
|
|
}
|
|
#endregion
|
|
}
|
|
}
|