599 lines
32 KiB
C#
599 lines
32 KiB
C#
using System;
|
||
using System.Data;
|
||
using System.Configuration;
|
||
using System.Collections;
|
||
using System.Web;
|
||
using System.Web.Security;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using System.Web.UI.WebControls.WebParts;
|
||
using System.Web.UI.HtmlControls;
|
||
using GThinking.N_MISPRO;
|
||
using GThinking.N_MISPRO.Data;
|
||
using GThinking.N_MODEL.Page;
|
||
using GThinking.N_MISPRO.Utility;
|
||
using GThinking.N_CONTROL;
|
||
using GThinking.N_PUBLIC;
|
||
using System.Collections.Generic;
|
||
using GThinking.N_MISPRO.MISPROAS;
|
||
using GThinking.N_WORKFLOW;
|
||
using GThinking.N_MISPRO.TableCache;
|
||
|
||
namespace GThinking.N_XLXSBJ
|
||
{
|
||
public partial class ZDFXInfo : OperationBase
|
||
{
|
||
ZDFXEntity entity = new ZDFXEntity();
|
||
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
this.UMID = 100860068;
|
||
this.UMName = "撞单分析";
|
||
this.CurMaster = Master;
|
||
this.Tabs = Tab;
|
||
this.PageHeight = 600;
|
||
this.PageWidth = 750;
|
||
AddListSetMap(new ListSet(pagSHD.ID, null, grdXLBJDMX, entity, UPSHD));
|
||
if (!IsPostBack)
|
||
{
|
||
this.Master.PnlQuery.GroupingText = "撞单分析信息";
|
||
this.Master.PnlBill.GroupingText = "撞单分析信息";
|
||
this.Master.PnlQuery.Visible = false;
|
||
Master.BtnQueryVisible = false;
|
||
}
|
||
|
||
if (!IsPostBack)
|
||
{
|
||
InitControls();
|
||
}
|
||
CustomPageSize = 1000;
|
||
base.InitPage();
|
||
Master.BtnQueryVisible = false;
|
||
Master.BtnOK.Visible = false;
|
||
Master.BtnCancel.Visible = false;
|
||
if (!IsPostBack)
|
||
{
|
||
Master_OnQuery();
|
||
GridDataBind();
|
||
if (PageParam.GetRTrimString("XSCPML").Equals("Y"))
|
||
{
|
||
grdXLBJDMX.FindColumnByFieldName("XLXSBJDMX_CPMLMC").Visible = true;
|
||
}
|
||
else
|
||
{
|
||
grdXLBJDMX.FindColumnByFieldName("XLXSBJDMX_CPMLMC").Visible = false;
|
||
}
|
||
FormAreaUpdate();
|
||
}
|
||
}
|
||
|
||
#region 模板继承事件
|
||
|
||
protected override void Master_OnQuery()
|
||
{
|
||
if (!IsPostBack)
|
||
{
|
||
if (!string.IsNullOrEmpty(PageParam.GetRTrimString("WFID")) && !string.IsNullOrEmpty(PageParam.GetRTrimString("WFINST")))
|
||
{
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sql = new TSQL(dberp);
|
||
sql.Add("select XLXSBJD_BJDID from XLXSBJD where XLXSBJD_WFID=:XLXSBJD_WFID and XLXSBJD_WFINST=:XLXSBJD_WFINST");
|
||
sql.ParamByName("XLXSBJD_WFID").Value = PageParam.GetRTrimString("WFID");
|
||
sql.ParamByName("XLXSBJD_WFINST").Value = PageParam.GetRTrimString("WFINST");
|
||
DataSet ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
entity.BJDID = ds.Tables[0].Rows[0][0].ToString().Trim();
|
||
txtBJDID.Text = ds.Tables[0].Rows[0][0].ToString().Trim();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (string.IsNullOrEmpty(PageParam.GetRTrimString("XLXSBJD_BJDID")))
|
||
{
|
||
entity.BJDID = "";
|
||
}
|
||
else
|
||
{
|
||
entity.BJDID = PageParam.GetRTrimString("XLXSBJD_BJDID");
|
||
txtBJDID.Text = PageParam.GetRTrimString("XLXSBJD_BJDID");
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
entity.BJDID = this.txtBJDID.Text.Trim();
|
||
}
|
||
entity.sBZBJDIDFilter = PageParam.GetRTrimString("BZBJDID");
|
||
entity.sCPCFXLBZ = PageParam.GetRTrimString("CPCFXLBZ");
|
||
base.Master_OnQuery();
|
||
}
|
||
|
||
protected override void GridDataBind()
|
||
{
|
||
base.GridDataBind();
|
||
}
|
||
|
||
protected override bool QueryValid()
|
||
{
|
||
return base.QueryValid();
|
||
}
|
||
|
||
protected void grdXLBJDMX_GetDropDownColumnItems(object sender, GetDropDownColumnItemsEventArgs e)
|
||
{
|
||
BJFLXX bjflxx = XLBJDUtils.GetBJFLXX(e.MasterDataSet["cbxBJFLID"].Trim());
|
||
string sXLXHID = e.RowData["XLXSBJDMX_XLXHID"].ToString().Trim();
|
||
string sXLGGID = e.RowData["XLXSBJDMX_XLGGID"].ToString().Trim();
|
||
string sXLBZID = e.RowData["XLXSBJDMX_XLBZID"].ToString().Trim().Split('|')[0].Trim();
|
||
string sDYDJID = e.RowData["XLXSBJDMX_DYDJID"].ToString().Trim().Split('|')[0].Trim();
|
||
string sBJRQ = "";
|
||
string JGBID = "";
|
||
string sJGCIDS = "";
|
||
DataSet ds = new DataSet();
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sql = new TSQL(dberp);
|
||
sql.Clear();
|
||
sql.Add(" select XLXSBJD_BJRQ,XLXSBJD_JGBID,XLXSJGB_JGCIDS from XLXSBJD left join XLXSJGB on XLXSJGB_JGBID=XLXSBJD_JGBID where XLXSBJD_BJDID=:pBJDID ");
|
||
sql.ParamByName("pBJDID").Value = PageParam.GetRTrimString("XLXSBJD_BJDID");
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
sBJRQ = ds.Tables[0].Rows[0]["XLXSBJD_BJRQ"].ToString().Trim();
|
||
JGBID = ds.Tables[0].Rows[0]["XLXSBJD_JGBID"].ToString().Trim();
|
||
sJGCIDS = ds.Tables[0].Rows[0]["XLXSJGB_JGCIDS"].ToString().Trim();
|
||
}
|
||
string sJGFID = XLBJDUtils.GetJGFID(sBJRQ);
|
||
//标记使用材料清单还是价格获取的ds 1表示材料清单 2表示价格表明细
|
||
int flag = 0;
|
||
List<string> lstValue = new List<string>();
|
||
lstValue.Clear();
|
||
if (e.EventFieldName == "XLXSBJDMX_XLBZID")
|
||
{
|
||
sql.Clear();
|
||
if (!sXLXHID.Equals("") && !sXLGGID.Equals(""))
|
||
{
|
||
string sJGBID = "";
|
||
sJGBID = JGBID + "," + sJGCIDS;
|
||
sJGBID = sJGBID.TrimEnd(',');
|
||
if (!sJGFID.Equals(""))
|
||
{
|
||
if (!sJGBID.Equals(""))
|
||
{
|
||
sJGBID += "," + sJGFID;
|
||
}
|
||
else
|
||
{
|
||
sJGBID = sJGFID;
|
||
}
|
||
}
|
||
//sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
if (bjflxx.XLXSBJFL_BJCPFZJS.Equals("1"))
|
||
{
|
||
flag = 1;
|
||
sql.Clear();
|
||
sql.Add(" select a.XLXSCLQD_XLBZID,a.XLBZ_XLBZLXMC,a.PX from ");
|
||
sql.Add(" ( ");
|
||
sql.Add(" SELECT DISTINCT XLXSCLQD_XLBZID,XLBZ_XLBZLXMC, ");
|
||
sql.Add(" case when XLBZ_DZSC='Y' then (select isnull(MAX(XLBZ_PX),0) from XLBZ where XLBZ_DZSC = 'Y' ) else XLBZ_PX end as XLBZ_PX, ");
|
||
sql.Add(" 0 as PX FROM XLXSCLQD");
|
||
sql.Add(" LEFT JOIN XLBZ ON XLBZ_XLBZID = XLXSCLQD_XLBZID ");
|
||
sql.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID ");
|
||
sql.Add(" WHERE 1=1 and XLXSCLQD_XLXHID=:pXLXHID and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID and XLXSCLQD_WPID = 'ZZZZ' ");
|
||
sql.Add(" UNION ALL ");
|
||
sql.Add(" SELECT XLBZ_XLBZID,XLBZ_XLBZLXMC, ");
|
||
sql.Add(" case when XLBZ_DZSC='Y' then (select isnull(MAX(XLBZ_PX),0) from XLBZ where XLBZ_DZSC = 'Y' ) else XLBZ_PX end as XLBZ_PX, ");
|
||
sql.Add(" 1 as PX FROM XLBZ");
|
||
sql.Add(" WHERE 1=1 and not exists(select 1 from XLXSCLQD left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID where XLXSCLQD_XLBZID= XLBZ_XLBZID ");
|
||
sql.Add(" and XLXSCLQD_XLXHID=:pXLXHID and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID and XLXSCLQD_WPID = 'ZZZZ' ");
|
||
sql.Add(" ) ");
|
||
sql.Add(" ) a ");
|
||
sql.Add(" order by PX,len(a.XLXSCLQD_XLBZID),a.XLBZ_PX,a.XLXSCLQD_XLBZID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID.Replace('*', '×');
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows[0][2].ToString().Trim().Equals("1"))
|
||
{
|
||
flag = 2;
|
||
sql.Clear();
|
||
sql.Add(" select a.XLXSJGBMX_XLBZID,a.XLBZ_XLBZLXMC,a.PX from ");
|
||
sql.Add(" ( ");
|
||
sql.Add(" SELECT DISTINCT XLXSJGBMX_XLBZID,XLBZ_XLBZLXMC, ");
|
||
sql.Add(" case when XLBZ_DZSC='Y' then (select isnull(MAX(XLBZ_PX),0) from XLBZ where XLBZ_DZSC = 'Y' ) else XLBZ_PX end as XLBZ_PX, ");
|
||
sql.Add(" 0 as PX FROM XLXSJGBMX ");
|
||
sql.Add(" LEFT JOIN XLXSBJXLGGTHB XLXSBJXLGGTHB_MX1 on XLXSBJXLGGTHB_MX1.XLXSBJXLGGTHB_XLGGID=XLXSJGBMX_XLGGID ");
|
||
sql.Add(" LEFT JOIN XLBZ ON XLBZ_XLBZID = XLXSJGBMX_XLBZID ");
|
||
sql.Add(" WHERE 1=1 and XLXSJGBMX_XLXHID=:pXLXHID and XLXSBJXLGGTHB_MX1.XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID ");
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
sql.Add(" UNION ALL ");
|
||
sql.Add(" SELECT XLBZ_XLBZID,XLBZ_XLBZLXMC, ");
|
||
sql.Add(" case when XLBZ_DZSC='Y' then (select isnull(MAX(XLBZ_PX),0) from XLBZ where XLBZ_DZSC = 'Y' ) else XLBZ_PX end as XLBZ_PX, ");
|
||
sql.Add(" 1 as PX FROM XLBZ ");
|
||
sql.Add(" WHERE 1=1 and not exists(select 1 from XLXSJGBMX left join XLXSBJXLGGTHB XLXSBJXLGGTHB_MX1N on XLXSBJXLGGTHB_MX1N.XLXSBJXLGGTHB_XLGGID=XLXSJGBMX_XLGGID where XLXSJGBMX_XLBZID= XLBZ_XLBZID ");
|
||
sql.Add(" and XLXSJGBMX_XLXHID=:pXLXHID and XLXSBJXLGGTHB_MX1N.XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID ");
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
sql.Add(" ) ");
|
||
sql.Add(" ) a ");
|
||
sql.Add(" order by PX,len(a.XLXSJGBMX_XLBZID),a.XLBZ_PX,a.XLXSJGBMX_XLBZID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID.Replace('*', '×');
|
||
ds = dberp.OpenDataSet(sql);
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
flag = 2;
|
||
sql.Clear();
|
||
sql.Add(" select a.XLXSJGBMX_XLBZID,a.XLBZ_XLBZLXMC,a.PX from ");
|
||
sql.Add(" ( ");
|
||
sql.Add(" SELECT DISTINCT XLXSJGBMX_XLBZID,XLBZ_XLBZLXMC, ");
|
||
sql.Add(" case when XLBZ_DZSC='Y' then (select isnull(MAX(XLBZ_PX),0) from XLBZ where XLBZ_DZSC = 'Y' ) else XLBZ_PX end as XLBZ_PX, ");
|
||
sql.Add(" 0 as PX FROM XLXSJGBMX ");
|
||
sql.Add(" LEFT JOIN XLXSBJXLGGTHB XLXSBJXLGGTHB_MX2 on XLXSBJXLGGTHB_MX2.XLXSBJXLGGTHB_XLGGID=XLXSJGBMX_XLGGID ");
|
||
sql.Add(" LEFT JOIN XLBZ ON XLBZ_XLBZID = XLXSJGBMX_XLBZID ");
|
||
sql.Add(" WHERE 1=1 and XLXSJGBMX_XLXHID=:pXLXHID and XLXSBJXLGGTHB_MX2.XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID ");
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
sql.Add(" UNION ALL ");
|
||
sql.Add(" SELECT XLBZ_XLBZID,XLBZ_XLBZLXMC,");
|
||
sql.Add(" case when XLBZ_DZSC='Y' then (select isnull(MAX(XLBZ_PX),0) from XLBZ where XLBZ_DZSC = 'Y' ) else XLBZ_PX end as XLBZ_PX, ");
|
||
sql.Add(" 1 as PX FROM XLBZ ");
|
||
sql.Add(" WHERE 1=1 and not exists(select 1 from XLXSJGBMX left join XLXSBJXLGGTHB XLXSBJXLGGTHB_MX2N on XLXSBJXLGGTHB_MX2N.XLXSBJXLGGTHB_XLGGID=XLXSJGBMX_XLGGID where XLXSJGBMX_XLBZID= XLBZ_XLBZID ");
|
||
sql.Add(" and XLXSJGBMX_XLXHID=:pXLXHID and XLXSBJXLGGTHB_MX2N.XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID ");
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
sql.Add(" ) ");
|
||
sql.Add(" ) a ");
|
||
sql.Add(" order by PX,len(a.XLXSJGBMX_XLBZID),a.XLBZ_PX,a.XLXSJGBMX_XLBZID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID.Replace('*', '×');
|
||
ds = dberp.OpenDataSet(sql);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows[0][2].ToString().Trim().Equals("1"))
|
||
{
|
||
flag = 1;
|
||
sql.Clear();
|
||
sql.Add(" select a.XLXSCLQD_XLBZID,a.XLBZ_XLBZLXMC,a.PX from ");
|
||
sql.Add(" ( ");
|
||
sql.Add(" SELECT DISTINCT XLXSCLQD_XLBZID,XLBZ_XLBZLXMC, ");
|
||
sql.Add(" case when XLBZ_DZSC='Y' then (select isnull(MAX(XLBZ_PX),0) from XLBZ where XLBZ_DZSC = 'Y' ) else XLBZ_PX end as XLBZ_PX, ");
|
||
sql.Add(" 0 as PX FROM XLXSCLQD");
|
||
sql.Add(" LEFT JOIN XLBZ ON XLBZ_XLBZID = XLXSCLQD_XLBZID ");
|
||
sql.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID ");
|
||
sql.Add(" WHERE 1=1 and XLXSCLQD_XLXHID=:pXLXHID and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID and XLXSCLQD_WPID = 'ZZZZ' ");
|
||
sql.Add(" UNION ALL ");
|
||
sql.Add(" SELECT XLBZ_XLBZID,XLBZ_XLBZLXMC, ");
|
||
sql.Add(" case when XLBZ_DZSC='Y' then (select isnull(MAX(XLBZ_PX),0) from XLBZ where XLBZ_DZSC = 'Y' ) else XLBZ_PX end as XLBZ_PX, ");
|
||
sql.Add(" 1 as PX FROM XLBZ");
|
||
sql.Add(" WHERE 1=1 and not exists(select 1 from XLXSCLQD left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID where XLXSCLQD_XLBZID= XLBZ_XLBZID ");
|
||
sql.Add(" and XLXSCLQD_XLXHID=:pXLXHID and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID and XLXSCLQD_WPID = 'ZZZZ' ");
|
||
sql.Add(" ) ");
|
||
sql.Add(" ) a ");
|
||
sql.Add(" order by PX,len(a.XLXSCLQD_XLBZID),a.XLBZ_PX,a.XLXSCLQD_XLBZID ");
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID.Replace('*', '×');
|
||
ds = dberp.OpenDataSet(sql);
|
||
}
|
||
}
|
||
}
|
||
e.DropDownItems.Clear();
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//若有102579008模块权限则增加空选项:102579008|报价材料用量
|
||
if (CheckModule("102579008"))
|
||
{
|
||
e.DropDownItems.Add(new ListItem("", ""));
|
||
}
|
||
//1表示材料清单 2表示价格表明细
|
||
if (!sDYDJID.Equals(""))
|
||
{
|
||
if (1 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, sDYDJID, sJGBID, "XLXSCLQD_DYDJID");
|
||
}
|
||
else if (2 == flag)
|
||
{
|
||
lstValue = GetBJCPValue_XLXSCLQDorXLXSJGBMX(sXLXHID, sXLGGID, sDYDJID, sJGBID, "XLXSJGBMX_DYDJID");
|
||
}
|
||
}
|
||
flag = 0;
|
||
if (lstValue.Count == 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim() + "|" + ds.Tables[0].Rows[i][1].ToString().Trim() + "(*)", ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
else
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim() + "|" + ds.Tables[0].Rows[i][1].ToString().Trim(), ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//第一轮循环判断是不是0的都是lst中
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
if (!lstValue.Contains(ds.Tables[0].Rows[i][0].ToString().Trim()))
|
||
{
|
||
flag = 3;
|
||
break;
|
||
}
|
||
}
|
||
}
|
||
if (3 == flag)
|
||
{
|
||
//第一轮循环添加**
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
if (lstValue.Contains(ds.Tables[0].Rows[i][0].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim() + "|" + ds.Tables[0].Rows[i][1].ToString().Trim() + "(**)", ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
//第二轮循环添加*
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
if (!lstValue.Contains(ds.Tables[0].Rows[i][0].ToString().Trim()))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim() + "|" + ds.Tables[0].Rows[i][1].ToString().Trim() + "(*)", ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
}
|
||
else
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim() + "|" + ds.Tables[0].Rows[i][1].ToString().Trim(), ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i][2].ToString().Trim().Equals("0"))
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim() + "|" + ds.Tables[0].Rows[i][1].ToString().Trim() + "(*)", ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
else
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i][0].ToString().Trim() + "|" + ds.Tables[0].Rows[i][1].ToString().Trim(), ds.Tables[0].Rows[i][0].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
sql.Clear();
|
||
sql.Add(" select XLBZ_XLBZID,XLBZ_XLBZLXMC, ");
|
||
sql.Add(" case when XLBZ_DZSC='Y' then (select isnull(MAX(XLBZ_PX),0) from XLBZ where XLBZ_DZSC = 'Y' ) else XLBZ_PX end as XLBZ_PX ");
|
||
sql.Add(" from XLBZ ");
|
||
sql.Add(" where 1=1 order by XLBZ_DZSC,XLBZ_PX,XLBZ_XLBZID");
|
||
ds = dberp.OpenDataSet(sql);
|
||
e.DropDownItems.Clear();
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//若有102579008模块权限则增加空选项:102579008|报价材料用量
|
||
if (CheckModule("102579008"))
|
||
{
|
||
e.DropDownItems.Add(new ListItem("", ""));
|
||
}
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLBZ_XLBZID"].ToString().Trim() + '|' + ds.Tables[0].Rows[i]["XLBZ_XLBZLXMC"].ToString().Trim(), ds.Tables[0].Rows[i]["XLBZ_XLBZID"].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if (e.EventFieldName.Equals("XLXSBJDMX_XLYSID"))
|
||
{
|
||
sql.Clear();
|
||
sql.Add(" select XLYSB_XLYSID,XLYSB_XLYSMC from XLYSB ");
|
||
sql.Add(" where 1=1 order by XLYSB_XSXH,XLYSB_XLYSID");
|
||
ds = dberp.OpenDataSet(sql);
|
||
e.DropDownItems.Clear();
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
e.DropDownItems.Add(new ListItem("", ""));
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
e.DropDownItems.Add(new ListItem(ds.Tables[0].Rows[i]["XLYSB_XLYSMC"].ToString().Trim(), ds.Tables[0].Rows[i]["XLYSB_XLYSID"].ToString().Trim()));
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
protected override void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
|
||
{
|
||
if (e.Row.RowType == DataControlRowType.DataRow)
|
||
{
|
||
|
||
|
||
if (grdXLBJDMX.GetCellByFieldName("CPCF", e.Row).Text.Trim().Equals("Y"))
|
||
{
|
||
grdXLBJDMX.GetCellByFieldName("XLXSBJDMX_XLXHID", e.Row).Attributes["BackColor"] = "#87CEFA";
|
||
grdXLBJDMX.GetCellByFieldName("XLXSBJDMX_XLGGID", e.Row).Attributes["BackColor"] = "#87CEFA";
|
||
grdXLBJDMX.GetCellByFieldName("XLXSBJDMX_XLBZID", e.Row).Attributes["BackColor"] = "#87CEFA";
|
||
grdXLBJDMX.GetCellByFieldName("XLXSBJDMX_DYDJID", e.Row).Attributes["BackColor"] = "#87CEFA";
|
||
}
|
||
if (grdXLBJDMX.GetCellByFieldName("CPSLCF", e.Row).Text.Trim().Equals("Y"))
|
||
{
|
||
grdXLBJDMX.GetCellByFieldName("XLXSBJDMX_XLXHID", e.Row).Attributes["BackColor"] = "#87CEFA";
|
||
grdXLBJDMX.GetCellByFieldName("XLXSBJDMX_XLGGID", e.Row).Attributes["BackColor"] = "#87CEFA";
|
||
grdXLBJDMX.GetCellByFieldName("XLXSBJDMX_XLBZID", e.Row).Attributes["BackColor"] = "#87CEFA";
|
||
grdXLBJDMX.GetCellByFieldName("XLXSBJDMX_DYDJID", e.Row).Attributes["BackColor"] = "#87CEFA";
|
||
grdXLBJDMX.GetCellByFieldName("XLXSBJDMX_BJSL", e.Row).Attributes["BackColor"] = "#87CEFA";
|
||
}
|
||
if (grdXLBJDMX.GetCellByFieldName("GGSLCF", e.Row).Text.Trim().Equals("Y"))
|
||
{
|
||
grdXLBJDMX.GetCellByFieldName("XLXSBJDMX_XLGGID", e.Row).Attributes["BackColor"] = "#87CEFA";
|
||
grdXLBJDMX.GetCellByFieldName("XLXSBJDMX_BJSL", e.Row).Attributes["BackColor"] = "#87CEFA";
|
||
}
|
||
}
|
||
base.Grid_RowDataBound(sender, e);
|
||
}
|
||
|
||
|
||
#endregion
|
||
|
||
#region 自定义函数
|
||
|
||
private void InitControls()
|
||
{
|
||
//TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
//string sSQL = "select PL_PIID,PL_MC from PL where 1=1 and isnull(PL_TYBZ,'N')<>'Y' order by PL_PIID ";
|
||
//DataSet ds = dberp.OpenDataSet(sSQL);
|
||
//for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
//{
|
||
// string sID = ds.Tables[0].Rows[i]["PL_PIID"].ToString().Trim();
|
||
// string sNAME = ds.Tables[0].Rows[i]["PL_MC"].ToString().Trim();
|
||
// cbxPIID.Items.Add(new ListItem(sNAME, sID));
|
||
//}
|
||
|
||
//TComboBox.SetComboBox("DBERP", cbxXLXHID, "select XLXHB_XLXHID as ID,XLXHB_XLXHID as Name from XLXHB where isnull(XLXHB_TYBZ,'N')<>'Y' order by ID ", true);
|
||
//TComboBox.SetComboBox("DBERP", cbxDYDJID, "select distinct XLDYDJB_DYDJID as ID,XLDYDJB_DYDJID as Name from XLDYDJB where isnull(XLDYDJB_TYBZ,'N')<>'Y' order by ID ", true);
|
||
|
||
//TComboBox.SetComboBox("DBERP", cbxXLBZID, "select XLBZ_XLBZID,XLBZ_XLBZLXMC from XLBZ order by XLBZ_PX,XLBZ_XLBZID", true);
|
||
//TComboBox.SetComboBox("DBERP", cbxGCID, "select GC_GCID,GC_GCMC from GC where isnull(GC_TYBZ,'N')<>'Y' order by GC_GCID ", false);
|
||
//if (cbxGCID.ItemsCount == 1)
|
||
// cbxGCID.SelectedIndex = 0;
|
||
//TComboBox.SetComboBox("DBERP", cbxCPMLID, "SELECT XLXSCPML_CPMLID,XLXSCPML_CPMLMC FROM XLXSCPML where isnull(XLXSCPML_TYBZ,'N')<>'Y' order by XLXSCPML_CPMLID ", false);
|
||
|
||
//TSQL sql = new TSQL(dberp);
|
||
//sql.Add("select XLJGCZBML_JGCZBID,XLJGCZBML_JGCZBMC, XLJGCZBML_JGCZBBBID ");
|
||
//sql.Add(" from XLJGCZBML ");
|
||
//sql.Add(" where XLJGCZBML_CZBLX = 'A'");
|
||
//sql.Add(" order by XLJGCZBML_JGCZBID");
|
||
//ds = null;
|
||
//ds = dberp.OpenDataSet(sql);
|
||
//cbxJGCZB.ClearItems();
|
||
//for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
//{
|
||
// string sJGCZBBBID = ds.Tables[0].Rows[i]["XLJGCZBML_JGCZBBBID"].ToString().Trim();
|
||
// cbxJGCZB.Items.Add(new ListItem(ds.Tables[0].Rows[i]["XLJGCZBML_JGCZBID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["XLJGCZBML_JGCZBMC"].ToString().Trim() + "|" + sJGCZBBBID
|
||
// , ds.Tables[0].Rows[i]["XLJGCZBML_JGCZBID"].ToString().Trim() + "|" + sJGCZBBBID));
|
||
//}
|
||
//if (cbxJGCZB.ItemsCount == 1)
|
||
// cbxJGCZB.SelectedIndex = 0;
|
||
//else
|
||
//{
|
||
// if (!PageParam.GetRTrimString("JGCZBID").Equals(""))
|
||
// cbxJGCZB.SelectedValue = PageParam.GetRTrimString("JGCZBID") + "|" + PageParam.GetRTrimString("JGCZBBBID");
|
||
//}
|
||
}
|
||
//判断模块是否存在并且是否有权限
|
||
private bool CheckModule(string sUMID)
|
||
{
|
||
int iUMID = CMISproConvert.StrToInt(sUMID);
|
||
UserRight UR = OpRightUtils.GetUserRight(CurSession.UserId, iUMID);
|
||
return (DSActiveModule.IsActiveModule(iUMID) && UR.Open);
|
||
}
|
||
//标准与电压的转换传入与传出,格式XLXSCLQ_DYDJDID 或者XLXSJGBMX_DYDJID等,表明如果sValue传入电压,返回的则是标准。
|
||
private List<string> GetBJCPValue_XLXSCLQDorXLXSJGBMX(string sXLXHID, string sXLGGID, string sValue, string sJGBID, string sLY)
|
||
{
|
||
List<string> lst = new List<string>();
|
||
lst.Clear();
|
||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||
TSQL sql = new TSQL(dberp);
|
||
sql.Clear();
|
||
DataSet ds = new DataSet();
|
||
if (sLY.Contains("XLXSCLQD"))
|
||
{
|
||
sql.Clear();
|
||
if (sLY.Contains("XLXSCLQD_DYDJID"))
|
||
{
|
||
sql.Add(" SELECT XLXSCLQD_XLBZID FROM XLXSCLQD");
|
||
}
|
||
else if (sLY.Contains("XLXSCLQD_XLBZID"))
|
||
{
|
||
sql.Add(" SELECT XLXSCLQD_DYDJID FROM XLXSCLQD");
|
||
}
|
||
else
|
||
{
|
||
sql.Add(" SELECT XLXSCLQD_DYDJID FROM XLXSCLQD");
|
||
}
|
||
sql.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSCLQD_XLGGID");
|
||
sql.Add(" WHERE 1=1 and XLXSCLQD_XLXHID=:pXLXHID and XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID and XLXSCLQD_WPID = 'ZZZZ' ");
|
||
if (sLY.Contains("XLXSCLQD_DYDJID"))
|
||
{
|
||
sql.Add(" and XLXSCLQD_DYDJID=:pDYDJID ");
|
||
sql.ParamByName("pDYDJID").Value = sValue.Equals("") ? " " : sValue;
|
||
}
|
||
else if (sLY.Contains("XLXSCLQD_XLBZID"))
|
||
{
|
||
sql.Add(" and XLXSCLQD_XLBZID=:pXLBZID ");
|
||
sql.ParamByName("pXLBZID").Value = sValue;
|
||
}
|
||
else
|
||
{
|
||
sql.Add(" and 1<> 1 ");
|
||
}
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID.Replace('*', '×');
|
||
ds = dberp.OpenDataSet(sql);
|
||
|
||
}
|
||
else if (sLY.Contains("XLXSJGBMX"))
|
||
{
|
||
sql.Clear();
|
||
if (sLY.Contains("XLXSJGBMX_DYDJID"))
|
||
{
|
||
sql.Add(" SELECT XLXSJGBMX_XLBZID FROM XLXSJGBMX ");
|
||
}
|
||
else if (sLY.Contains("XLXSJGBMX_XLBZID"))
|
||
{
|
||
sql.Add(" SELECT XLXSJGBMX_DYDJID FROM XLXSJGBMX ");
|
||
}
|
||
else
|
||
{
|
||
sql.Add(" SELECT XLXSJGBMX_DYDJID FROM XLXSJGBMX ");
|
||
}
|
||
sql.Add(" LEFT JOIN XLXSBJXLGGTHB XLXSBJXLGGTHB_MX3 ON XLXSBJXLGGTHB_MX3.XLXSBJXLGGTHB_XLGGID=XLXSJGBMX_XLGGID ");
|
||
sql.Add(" WHERE 1=1 and XLXSJGBMX_XLXHID=:pXLXHID and XLXSBJXLGGTHB_MX3.XLXSBJXLGGTHB_XLGGIDCH = :pXLGGID ");
|
||
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSJGBMX_JGBID", sJGBID));
|
||
if (sLY.Contains("XLXSJGBMX_DYDJID"))
|
||
{
|
||
sql.Add(" and XLXSJGBMX_DYDJID=:pDYDJID ");
|
||
sql.ParamByName("pDYDJID").Value = sValue.Equals("") ? " " : sValue;
|
||
}
|
||
else if (sLY.Contains("XLXSJGBMX_XLBZID"))
|
||
{
|
||
sql.Add(" and XLXSJGBMX_XLBZID=:pXLBZID ");
|
||
sql.ParamByName("pXLBZID").Value = sValue;
|
||
}
|
||
else
|
||
{
|
||
sql.Add(" and 1<> 1 ");
|
||
}
|
||
sql.ParamByName("pXLXHID").Value = sXLXHID;
|
||
sql.ParamByName("pXLGGID").Value = sXLGGID.Replace('*', '×');
|
||
ds = dberp.OpenDataSet(sql);
|
||
}
|
||
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (!lst.Contains(ds.Tables[0].Rows[i][0].ToString().Trim()))
|
||
{
|
||
lst.Add(ds.Tables[0].Rows[i][0].ToString().Trim());
|
||
}
|
||
}
|
||
}
|
||
return lst;
|
||
}
|
||
#endregion
|
||
}
|
||
}
|