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_CONTROL; using GThinking.N_PUBLIC; using GThinking.N_MISPRO.Caching; using GThinking.N_MISPRO.Utility; using System.Collections.Generic; namespace GThinking.N_XLXSBJ { public partial class XLBJD_WBBJDMX_TZInfo : SingleCardBase { XLBJD_WBBJDMX_TZ entity = new XLBJD_WBBJDMX_TZ(); string sWBBJDID = ""; string sSELBJDID = ""; string sDRHHList = ""; List lstXLXHID = new List(); List lstXLGGID = new List(); Dictionary dicXLBZID = new Dictionary(); List lstDYDJID = new List(); #region Page_Load protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860043; this.UMName = "外部线缆产品导入"; base.CurMaster = Master; base.CurEntity = entity; this.PageHeight = 400; this.PageWidth = 500; Master.EnableAttachBtn = false; Master.EnableCancelBtn = false; Master.EnableCopyBtn = false; Master.EnableDeleteBtn = false; Master.EnableEditBtn = false; Master.EnableInsertBtn = false; Master.EnablePrintBtn = false; Master.EnableRefreshBtn = false; Master.EnableSaveBtn = false; sWBBJDID = PageParam.GetRTrimString("WBBJDID"); sSELBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID"); sDRHHList = PageParam.GetExtRawString("DRHHList"); base.InitPage(); if (!IsPostBack) { InitControl(); } } #endregion #region 自定义函数 private void InitControl() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Clear(); cbxDefault.ClearItems(); cbxDefault.Items.Add(new ListItem("", "")); DataSet ds = new DataSet(); if (PageParam.ContainsKey("XLXHID")) { lblcbx.Text = "型号:"; sql.Add(" select XLXHB_XLXHID as ID,XLXHB_XLXHID as CODE from XLXHB where isnull(XLXHB_TYBZ,'N')<>'Y' order by ID "); ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) cbxDefault.Items.Add(new ListItem(ds.Tables[0].Rows[i]["CODE"].ToString().Trim(), ds.Tables[0].Rows[i]["ID"].ToString().Trim())); } cbxDefault.ShowValue = false; } else if (PageParam.ContainsKey("XLBZID")) { lblcbx.Text = "标准:"; sql.Clear(); sql.Add(" select a.XLXSCLQD_XLBZID as ID,a.XLBZ_XLBZLXMC as CODE,a.PX from "); sql.Add(" ( "); sql.Add(" SELECT DISTINCT XLXSCLQD_XLBZID,XLBZ_XLBZLXMC,XLBZ_PX, 0 as PX FROM XLXSCLQD"); sql.Add(" LEFT JOIN XLBZ ON XLBZ_XLBZID = XLXSCLQD_XLBZID "); sql.Add(" WHERE len(XLBZ_XLBZID) <10 and XLXSCLQD_WPID = 'ZZZZ' "); sql.Add(" and exists( "); sql.Add(" select 1 from XLWBBJDMX where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList)); sql.Add(" and XLWBBJDMX_XLXHID = XLXSCLQD.XLXSCLQD_XLXHID"); sql.Add(" and XLWBBJDMX_XLGGID = XLXSCLQD.XLXSCLQD_XLGGID"); sql.Add(" ) "); //此处因为放开明细200,防止SQL语句65536错误单独查询 //sql.Add(" UNION ALL "); //sql.Add(" SELECT XLBZ_XLBZID,XLBZ_XLBZLXMC,XLBZ_PX, 1 as PX FROM XLBZ"); //sql.Add(" WHERE 1=1 and not exists(select 1 from XLXSCLQD where XLXSCLQD_XLBZID= XLBZ_XLBZID "); //sql.Add(" and XLXSCLQD_WPID = 'ZZZZ' "); //sql.Add(" and exists( "); //sql.Add(" select 1 from XLWBBJDMX where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList)); //sql.Add(" and UPPER(ISNULL(XLWBBJDMX_XLXHID,' ')) = UPPER(ISNULL(XLXSCLQD.XLXSCLQD_XLXHID,' '))"); //sql.Add(" and REPLACE(ISNULL(XLWBBJDMX_XLGGID,' '),'*','×') = REPLACE(XLXSCLQD.XLXSCLQD_XLGGID,'*','×')"); //sql.Add(" ) "); //sql.Add(" ) "); sql.Add(" ) a "); sql.Add(" order by PX,XLBZ_PX, ID "); sql.ParamByName("pWBBJDID").Value = sWBBJDID; sql.ParamByName("pBJDID").Value = sSELBJDID; string ss = sql.Text; ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { //标准集合 dicXLBZID.Clear(); sql.Clear(); sql.Add(" select XLBZ_XLBZID as ID,XLBZ_XLBZLXMC as CODE from XLBZ WHERE isnull(XLBZ_DZSC,'N') <> 'Y' order by XLBZ_DZSC,XLBZ_PX, ID "); DataSet dsXLBZID = dberp.OpenDataSet(sql); if (dsXLBZID.Tables[0].Rows.Count > 0) { for (int i = 0; i < dsXLBZID.Tables[0].Rows.Count; i++) { dicXLBZID.Add(dsXLBZID.Tables[0].Rows[i][0].ToString().Trim(), dsXLBZID.Tables[0].Rows[i][1].ToString().Trim()); } } for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { cbxDefault.Items.Add(new ListItem(ds.Tables[0].Rows[i]["ID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["CODE"].ToString().Trim() + "(*)", ds.Tables[0].Rows[i]["ID"].ToString().Trim())); if (dicXLBZID.ContainsKey(ds.Tables[0].Rows[i]["ID"].ToString().Trim())) { dicXLBZID.Remove(ds.Tables[0].Rows[i]["ID"].ToString().Trim()); } } foreach (KeyValuePair kvp in dicXLBZID) { cbxDefault.Items.Add(new ListItem(kvp.Key + "|" + kvp.Value, kvp.Key)); } } else { //标准集合 dicXLBZID.Clear(); sql.Clear(); sql.Add(" select XLBZ_XLBZID as ID,XLBZ_XLBZLXMC as CODE from XLBZ WHERE isnull(XLBZ_DZSC,'N') <> 'Y' order by XLBZ_DZSC,XLBZ_PX, ID "); DataSet dsXLBZID = dberp.OpenDataSet(sql); if (dsXLBZID.Tables[0].Rows.Count > 0) { for (int i = 0; i < dsXLBZID.Tables[0].Rows.Count; i++) { cbxDefault.Items.Add(new ListItem(dsXLBZID.Tables[0].Rows[i]["ID"].ToString().Trim() + "|" + dsXLBZID.Tables[0].Rows[i]["CODE"].ToString().Trim(), dsXLBZID.Tables[0].Rows[i]["ID"].ToString().Trim())); } } } cbxDefault.ShowValue = false; //sql.Add(" select XLBZ_XLBZID as ID,XLBZ_XLBZLXMC as CODE from XLBZ order by ID "); //ds = dberp.OpenDataSet(sql); //if (ds.Tables[0].Rows.Count > 0) //{ // for (int i = 0; i < ds.Tables[0].Rows.Count; i++) // cbxDefault.Items.Add(new ListItem(ds.Tables[0].Rows[i]["CODE"].ToString().Trim(), ds.Tables[0].Rows[i]["ID"].ToString().Trim())); //} } else if (PageParam.ContainsKey("DYDJID")) { lblcbx.Text = "电压等级:"; sql.Clear(); sql.Add(" select a.XLXSCLQD_DYDJID as ID, a.XLXSCLQD_DYDJID as CODE, a.XLDYDJB_XH,a.PX from "); sql.Add(" ( "); sql.Add(" SELECT DISTINCT XLXSCLQD_DYDJID,XLDYDJB_XH,0 AS PX FROM XLXSCLQD "); sql.Add(" LEFT JOIN XLDYDJB ON XLDYDJB_DYDJID = XLXSCLQD_DYDJID "); sql.Add(" WHERE 1=1 and XLXSCLQD_WPID = 'ZZZZ' "); sql.Add(" and exists( "); sql.Add(" select 1 from XLWBBJDMX where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList)); sql.Add(" and XLWBBJDMX_XLXHID = XLXSCLQD.XLXSCLQD_XLXHID"); sql.Add(" and XLWBBJDMX_XLGGID = XLXSCLQD.XLXSCLQD_XLGGID"); sql.Add(" ) "); //sql.Add(" UNION ALL "); //sql.Add(" SELECT distinct XLDYDJB_DYDJID, XLDYDJB_XH,1 AS PX FROM XLDYDJB "); //sql.Add(" WHERE 1=1 and isnull(XLDYDJB_TYBZ,' ')<>'Y' "); //sql.Add(" and not exists(select 1 from XLXSCLQD where XLXSCLQD_DYDJID= XLDYDJB_DYDJID "); //sql.Add(" and XLXSCLQD_WPID = 'ZZZZ'"); //sql.Add(" and exists( "); //sql.Add(" select 1 from XLWBBJDMX where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=:pBJDID and " + CMISproDataBase.GetWhereEqual("XLWBBJDMX_DRHH", sDRHHList)); //sql.Add(" and UPPER(ISNULL(XLWBBJDMX_XLXHID,' ')) = UPPER(ISNULL(XLXSCLQD.XLXSCLQD_XLXHID,' '))"); //sql.Add(" and REPLACE(ISNULL(XLWBBJDMX_XLGGID,' '),'*','×') = REPLACE(XLXSCLQD.XLXSCLQD_XLGGID,'*','×')"); //sql.Add(" ) "); //sql.Add(" ) "); sql.Add(" ) a "); sql.Add(" ORDER BY PX,XLDYDJB_XH "); sql.ParamByName("pWBBJDID").Value = sWBBJDID; sql.ParamByName("pBJDID").Value = sSELBJDID; ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { //电压等级集合 lstDYDJID.Clear(); sql.Clear(); sql.Add(" select XLDYDJB_DYDJID from XLDYDJB order by XLDYDJB_XH "); DataSet dsDYDJID = dberp.OpenDataSet(sql); if (dsDYDJID.Tables[0].Rows.Count > 0) { for (int i = 0; i < dsDYDJID.Tables[0].Rows.Count; i++) { lstDYDJID.Add(dsDYDJID.Tables[0].Rows[i][0].ToString().Trim()); } } for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { cbxDefault.Items.Add(new ListItem(ds.Tables[0].Rows[i]["ID"].ToString().Trim() + "(*)", ds.Tables[0].Rows[i]["ID"].ToString().Trim())); if (lstDYDJID.Contains(ds.Tables[0].Rows[i]["ID"].ToString().Trim())) { lstDYDJID.Remove(ds.Tables[0].Rows[i]["ID"].ToString().Trim()); } } foreach (string s in lstDYDJID) { cbxDefault.Items.Add(new ListItem(s, s)); } } else { lstDYDJID.Clear(); sql.Clear(); sql.Add(" select XLDYDJB_DYDJID from XLDYDJB order by XLDYDJB_XH "); DataSet dsDYDJID = dberp.OpenDataSet(sql); if (dsDYDJID.Tables[0].Rows.Count > 0) { for (int i = 0; i < dsDYDJID.Tables[0].Rows.Count; i++) { cbxDefault.Items.Add(new ListItem(dsDYDJID.Tables[0].Rows[i][0].ToString().Trim(), dsDYDJID.Tables[0].Rows[i][0].ToString().Trim())); } } } cbxDefault.ShowValue = false; //sql.Add(" select XLDYDJB_DYDJID as ID,XLDYDJB_DYDJID as CODE from XLDYDJB where isnull(XLDYDJB_TYBZ,'N')<>'Y' order by XLDYDJB_XH "); //ds = dberp.OpenDataSet(sql); //if (ds.Tables[0].Rows.Count > 0) //{ // for (int i = 0; i < ds.Tables[0].Rows.Count; i++) // cbxDefault.Items.Add(new ListItem(ds.Tables[0].Rows[i]["CODE"].ToString().Trim(), ds.Tables[0].Rows[i]["ID"].ToString().Trim())); //} //cbxDefault.ShowValue = false; } else if (PageParam.ContainsKey("XLYSID")) { lblcbx.Text = "颜色:"; sql.Add(" select XLYSB_XLYSID as ID,XLYSB_XLYSMC as CODE from XLYSB where 1=1 order by XLYSB_XSXH,ID "); ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) cbxDefault.Items.Add(new ListItem(ds.Tables[0].Rows[i]["CODE"].ToString().Trim(), ds.Tables[0].Rows[i]["ID"].ToString().Trim())); } cbxDefault.ShowValue = false; } else if (PageParam.ContainsKey("WGCPBZ")) { lblcbx.Text = "外购:"; cbxDefault.Tag = gtComboBox.DTagStates.Star; cbxDefault.ClearItems(); cbxDefault.Items.Add(new ListItem("外购", "Y")); cbxDefault.Items.Add(new ListItem("非外购", "N")); cbxDefault.ShowValue = false; } } #endregion #region 自定义按钮 protected void btnOK_Click(object sender, EventArgs e) { DialogOperationScript dos = new DialogOperationScript(this); if (PageParam.ContainsKey("XLXHID")) { dos.SetOwnerControlValue(PageParam.GetRTrimString("txtRetXLXHID"), cbxDefault.SelectedValue.Trim()); dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefreshXLXHID")); } else if (PageParam.ContainsKey("XLBZID")) { dos.SetOwnerControlValue(PageParam.GetRTrimString("txtRetXLBZID"), cbxDefault.SelectedValue.Trim()); dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefreshXLBZID")); } else if (PageParam.ContainsKey("DYDJID")) { dos.SetOwnerControlValue(PageParam.GetRTrimString("txtRetDYDJID"), cbxDefault.SelectedValue.Trim()); dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefreshDYDJID")); } else if (PageParam.ContainsKey("XLYSID")) { dos.SetOwnerControlValue(PageParam.GetRTrimString("txtRetXLYSID"), cbxDefault.SelectedValue.Trim()); dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefreshXLYSID")); } else if (PageParam.ContainsKey("WGCPBZ")) { if (cbxDefault.SelectedValue.Trim().Equals("")) { ShowMessage("请选择外购标志!"); return; } dos.SetOwnerControlValue(PageParam.GetRTrimString("txtRetWGCPBZ"), cbxDefault.SelectedValue.Trim()); dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefreshWGCPBZ")); } dos.CloseSelf(); dos.Execute(); } protected void btnQX_Click(object sender, EventArgs e) { CloseWindow(); } #endregion } }