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_PUBLIC2; using GThinking.N_CONTROL; namespace GThinking.N_XLJC { public partial class SelXLWLList : TreeCodeClassBase { SelXLWL entity = new SelXLWL(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 101421006; this.UMName = "线缆物料代码助手"; this.CurMaster = Master; this.ModuleGV = grdGrid; this.CurEntity = entity; //this.CurQueryEntity = queryEntity; //this.sQueryURLTarget = "XZWLQuery.aspx"; this.PageHeight = 300; this.PageWidth = 700; ReturnField = "XLXLB_WLID"; ModuleGV.CheckBox = true; Master.StandardPLXZButton.Visible = true; Master.EnableQueryBtn = false; base.DataKeyNames = new string[] { "XLXLB_WLID" }; this.Master.LeftTreeView.DropMode = DDropMode.dmManual; this.Master.LeftTreeView.InitEvents(true, false, false, false); if (IsGtPostBack) { return; } if (!IsPostBack) { //queryEntity["SFZY"] = "Y"; InitControls(); } base.InitPage(); grdGrid.ShowColCustomize = false; if (!IsPostBack) { Master_OnStandardQuery(null, null); } } #region 模板事件继承 protected override void InitTreeView() { base.InitTreeView(); Master.LeftTreeView.ExpandImageToolTip = "展开"; Master.LeftTreeView.CollapseImageToolTip = "收起"; Master.LeftTreeView.ExpandDepth = 1; gtTreeViewNode tn = TreeViewAddNode(null, "产品用途", "", "", true, true, false); //加载产品用途节点 TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); sSQL.Add("select distinct isnull(XLXHB_CPYT,' ') from XLXLB"); sSQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXLB_XLXHID"); sSQL.Add(" where 1=1 "); sSQL.Add(" order by isnull(XLXHB_CPYT,' ')"); DataSet ds = dberp.OpenDataSet(sSQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { gtTreeViewNode node; string sText = ""; string sValue = ""; sValue = ds.Tables[0].Rows[i][0].ToString().Trim(); sText = GetCPYTMC(sValue); if (sValue.Equals("")) sValue = ""; node = TreeViewAddNode(tn, sText, sValue, "", true, true, false); } } protected override void Master_OnStandardTreeNodeBeforePopulate(object sender, gtTreeViewNodeEventArgs e) { if (e.Node == null) return; if (!string.IsNullOrEmpty(e.Node.Value)) { if (e.Node.Depth == 1)//加载基本型号 { entity.EntityTable.TreeQuerySelSql = GetTreeQuerySelSQL_JBXH(e.Node.Value.Trim()); } else //加载派生型号 { entity.EntityTable.TreeQuerySelSql = GetTreeQuerySelSQL_PSXH(e.Node.Value.Trim()); } } base.Master_OnStandardTreeNodeBeforePopulate(sender, e); } protected override void Master_OnStandardTreeNodeBeforeChanged(object sender, gtTreeViewNodeEventArgs e) { base.Master_OnStandardTreeNodeBeforeChanged(sender, e); //base.InitEntityByCondition(); if (this.CurSelectedNote.Depth == 0) { entity.EntityTable.QuerySelSql = GetQuerySQL(""); } else if (this.CurSelectedNote.Depth == 1) { entity.EntityTable.QuerySelSql = GetQuerySQL(e.Node.Value.Trim()); } else { string sValue = e.Node.Value.Trim(); entity.EntityTable.QuerySelSql = GetQuerySQL_XH(sValue); } } protected override void Master_OnStandardTreeNodeChanged(object sender, gtTreeViewNodeEventArgs e) { base.Master_OnStandardTreeNodeChanged(sender, e); grdGrid.SelectedIndex = -1; } protected override void Master_OnStandardQuery(object sender, EventArgs e) { if (this.CurSelectedNote == null) { return; } //base.InitEntityByCondition(); if (!String.IsNullOrEmpty(cbxGC.SelectedValue.Trim())) { grdGrid.Columns[6].Visible = true; grdGrid.Columns[7].Visible = true; } else { grdGrid.Columns[6].Visible = false; grdGrid.Columns[7].Visible = false; } if (this.CurSelectedNote.Depth == 0) { entity.EntityTable.QuerySelSql = GetQuerySQL(""); } else if (this.CurSelectedNote.Depth == 1) { entity.EntityTable.QuerySelSql = GetQuerySQL(this.CurSelectedNote.Value.Trim()); } else { string sValue = this.CurSelectedNote.Value.Trim(); entity.EntityTable.QuerySelSql = GetQuerySQL_XH(sValue); } base.Master_OnStandardQuery(sender, e); entity.GridDataBind(grdGrid, tSession); grdGrid.SelectedIndex = -1; TreeAreaUpdate(); } protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e) { //base.InitEntityByCondition(); if (!String.IsNullOrEmpty(cbxGC.SelectedValue.Trim())) { grdGrid.Columns[6].Visible = true; grdGrid.Columns[7].Visible = true; } else { grdGrid.Columns[6].Visible = false; grdGrid.Columns[7].Visible = false; } if (this.CurSelectedNote.Depth == 0) { entity.EntityTable.QuerySelSql = GetQuerySQL(""); } else if (this.CurSelectedNote.Depth == 1) { entity.EntityTable.QuerySelSql = GetQuerySQL(this.CurSelectedNote.Value.Trim()); } else { string sValue = this.CurSelectedNote.Value.Trim(); entity.EntityTable.QuerySelSql = GetQuerySQL_XH(sValue); } base.moduleGV_PageIndexChanging(sender, e); grdGrid.SelectedIndex = -1; } protected override TCodeReturn Master_OnOnlyOneCodeReturn() { TCodeReturn Return = base.Master_OnOnlyOneCodeReturn(); TkcQuery qryTemp = new TkcQuery("DBERP"); qryTemp.Add(" select WL_WLID from WL where 1 = 1 "); if (!CurMaster.InputInfo.Value.Trim().Equals("")) { qryTemp.Add(" and (WL_WLID like :WL_WLID or WL_MC like :WL_WLID)"); qryTemp.ParamByName("WL_WLID").Value = "%" + CurMaster.InputInfo.Value.Trim() + "%"; } qryTemp.Add(" order by WL_WLID "); qryTemp.Open(); if (qryTemp.Count == 1) { Return.ReturnValue = qryTemp.FieldByName("WL_WLID").AsString; Return.ReturnType = TCodeReturnType.SingleRecord; } else if (qryTemp.Count == 0) { Return.ReturnType = TCodeReturnType.NoRecord; } else { Return.ReturnType = TCodeReturnType.MultiRecord; } return Return; } #endregion #region 自定义函数 private string GetTreeQuerySelSQL_JBXH(string sCPYT) { //base.InitEntityByCondition(); string sSQL = "select distinct XLXHB_XLJBXHID as Text,XLXHB_XLJBXHID as Value, " + " decode((select count(A.XHID) " + " from (select XLXHB_XLXHID as XHID,XLXHB_XLJBXHID as JBXHID from XLXLB left join XLXHB on XLXHB_XLXHID=XLXLB_XLXHID) A " + " where A.JBXHID=XLXLB_XLXHID and A.XHID<>XLXHB_XLXHID),0,'N','Y') as HasChild " + " from XLXLB " + " left join XLXHB on XLXHB_XLXHID=XLXLB_XLXHID" + " where isnull(XLXHB_XLJBXHID, ' ')=isnull(XLXHB_XLXHID,' ') "; if (sCPYT.Trim().Equals("")) sSQL += " and isnull(XLXHB_CPYT,' ')=' '"; else sSQL += " and XLXHB_CPYT='" + sCPYT.Trim() + "'"; sSQL += " order by XLXHB_XLJBXHID"; return sSQL; } private string GetTreeQuerySelSQL_PSXH(string sJBXHID) { //base.InitEntityByCondition(); string sSQL = "select distinct XLXLB_XLXHID as Text,XLXLB_XLXHID as Value, " + " 'N' as HasChild " + " from XLXLB " + " left join XLXHB on XLXHB_XLXHID=XLXLB_XLXHID" + " where isnull(XLXHB_XLJBXHID, ' ')<>isnull(XLXHB_XLXHID,' ') "; if (!sJBXHID.Trim().Equals("")) sSQL += " and XLXHB_XLJBXHID='" + sJBXHID.Trim() + "'"; else sSQL += " 1<>1 "; sSQL += " order by XLXLB_XLXHID"; return sSQL; } private string GetQuerySQL(string sCPYT) { //base.InitEntityByCondition(); string sSQL = "select XLXLB_WLID,WL_MC,WL_GG,WL_TZ,WL_CL,WL_JLDW,XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID,XLXLB_XLBZID, "; if (!String.IsNullOrEmpty(cbxGC.SelectedValue.Trim())) { sSQL += @"case isnull(WLJH_GCID,' ') when ' ' then ' ' else rtrim(WLJH_GCID) || '|' || ltrim(GC_GCMC) end as GC, case isnull(WLJH_CKID,' ') when ' ' then ' ' else rtrim(WLJH_CKID) || '|' || ltrim(CK_MC) end as CK, "; } else { sSQL += "' ' as GC, ' ' as CK, "; } sSQL += " TMP.KYKCSL "; sSQL += " from XLXLB" + " left join WL on WL_WLID=XLXLB_WLID" + " left join XLXHB on XLXHB_XLXHID=XLXLB_XLXHID" + " left join (select WLID, isnull(sum(KCSL-FPSL),0) as KYKCSL from GETWLSL('WL',' ',' ') group by WLID) TMP On TMP.WLID=XLXLB_WLID "; if (!String.IsNullOrEmpty(cbxGC.SelectedValue.Trim())) { sSQL += @"left join WLJH on WLJH_WLID=XLXLB_WLID left join GC on GC_GCID=WLJH_GCID left join CK on CK_CKID=WLJH_CKID "; } sSQL += " where isnull(XLXLB_TYBZ,'N')<>'Y'"; if (CurMaster.InputInfo != null && !CurMaster.InputInfo.Value.Trim().Equals("")) { sSQL += " and (XLXLB_WLID like :pInputWLID or WL_MC like :pInputWLID) "; entity.Param.Add("pInputWLID", "%" + CurMaster.InputInfo.Value.Trim() + "%"); } if (sCPYT.Trim().Equals("")) { sSQL += " and isnull(XLXHB_CPYT,' ')=' '"; } else if (!sCPYT.Trim().Equals("")) { sSQL += " and XLXHB_CPYT=:XLXHB_CPYT "; entity.Param.Add("XLXHB_CPYT", sCPYT.Trim()); } if (!txtWLID.Text.Trim().Equals("")) { sSQL += " and XLXLB_WLID like :pWLID "; entity.Param.Add("pWLID", "%" + txtWLID.Text.Trim() + "%"); } if (!txtWLMC.Text.Trim().Equals("")) { sSQL += " and WL_MC like :pWLMC "; entity.Param.Add("pWLMC", "%" + txtWLMC.Text.Trim() + "%"); } if (!txtGGXH.Text.Trim().Equals("")) { sSQL += " and WL_GG like :pGGXH "; entity.Param.Add("pGGXH", "%" + txtGGXH.Text.Trim() + "%"); } if (!String.IsNullOrEmpty(cbxGC.SelectedValue.Trim())) { sSQL += " and WLJH_GCID = :pGC "; entity.Param.Add("pGC", cbxGC.SelectedValue.Trim()); if (!String.IsNullOrEmpty(cbxCK.SelectedValue.Trim())) { sSQL += " and WLJH_CKID = :pCK "; entity.Param.Add("pCK", cbxCK.SelectedValue.Trim()); } } sSQL += " order by XLXLB_WLID "; return sSQL; } private string GetQuerySQL_XH(string sXLXHID) { //base.InitEntityByCondition(); string sSQL = "select XLXLB_WLID,WL_MC,WL_GG,WL_TZ,WL_CL,WL_JLDW,XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_DYDJID,XLXLB_XLBZID, "; if (!String.IsNullOrEmpty(cbxGC.SelectedValue.Trim())) { sSQL += @"case isnull(WLJH_GCID,' ') when ' ' then ' ' else rtrim(WLJH_GCID) || '|' || ltrim(GC_GCMC) end as GC, case isnull(WLJH_CKID,' ') when ' ' then ' ' else rtrim(WLJH_CKID) || '|' || ltrim(CK_MC) end as CK, "; } else { sSQL += "' ' as GC, ' ' as CK, "; } sSQL += " TMP.KYKCSL "; sSQL += " from XLXLB" + " left join WL on WL_WLID=XLXLB_WLID" + " left join XLXHB on XLXHB_XLXHID=XLXLB_XLXHID" + " left join (select WLID, isnull(sum(KCSL-FPSL),0) as KYKCSL from GETWLSL('WL',' ',' ') group by WLID) TMP On TMP.WLID=XLXLB_WLID "; if (!String.IsNullOrEmpty(cbxGC.SelectedValue.Trim())) { sSQL += @"left join WLJH on WLJH_WLID=XLXLB_WLID left join GC on GC_GCID=WLJH_GCID left join CK on CK_CKID=WLJH_CKID "; } sSQL += " where isnull(XLXLB_TYBZ,'N')<>'Y'"; if (CurMaster.InputInfo != null && !CurMaster.InputInfo.Value.Trim().Equals("")) { sSQL += " and (XLXLB_WLID like :pInputWLID or WL_MC like :pInputWLID) "; entity.Param.Add("pInputWLID", "%" + CurMaster.InputInfo.Value.Trim() + "%"); } if (!sXLXHID.Trim().Equals("")) { sSQL += " and XLXLB_XLXHID=:XLXLB_XLXHID "; entity.Param.Add("XLXLB_XLXHID", sXLXHID.Trim()); } if (!txtWLID.Text.Trim().Equals("")) { sSQL += " and XLXLB_WLID like :pWLID "; entity.Param.Add("pWLID", "%" + txtWLID.Text.Trim() + "%"); } if (!txtWLMC.Text.Trim().Equals("")) { sSQL += " and WL_MC like :pWLMC "; entity.Param.Add("pWLMC", "%" + txtWLMC.Text.Trim() + "%"); } if (!txtGGXH.Text.Trim().Equals("")) { sSQL += " and WL_GG like :pGGXH "; entity.Param.Add("pGGXH", "%" + txtGGXH.Text.Trim() + "%"); } if (!String.IsNullOrEmpty(cbxGC.SelectedValue.Trim())) { sSQL += " and WLJH_GCID = :pGC "; entity.Param.Add("pGC", cbxGC.SelectedValue.Trim()); if (!String.IsNullOrEmpty(cbxCK.SelectedValue.Trim())) { sSQL += " and WLJH_CKID = :pCK "; entity.Param.Add("pCK", cbxCK.SelectedValue.Trim()); } } sSQL += " order by XLXLB_WLID "; return sSQL; } private string GetCPYTMC(string sCPYT) { switch (sCPYT) { case "P1C2": return "裸电线-C|触头用、电车线"; case "P1H1": return "裸电线-H|电焊机用"; case "P1J0": return "裸电线-J|绞线"; case "P1K1": return "裸电线-K|扩径形"; case "P1M1": return "裸电线-M|母线"; case "P1P1": return "裸电线-P|铜排"; case "P1QG": return "裸电线-QG|汽车蓄电池线"; case "P1S1": return "裸电线-S|电刷线"; case "P1T1": return "裸电线-T|天线"; case "P1Z1": return "裸电线-Z|自阻尼"; case "P200": return "电力电缆"; case "P201": return "电力电缆-同轴电缆"; case "P202": return "电力电缆-接地电缆"; case "P300": return "装备线缆-机车线"; case "P3A1": return "装备线缆-A|安装线"; case "P3B1": return "装备线缆-B|绝缘布线"; case "P3BP": return "装备线缆-BP|变频电缆"; case "P3C1": return "装备线缆-C|船用电缆"; case "P3CH": return "装备线缆-CH|船用通信电缆"; case "P3CK": return "装备线缆-CK|船用控制电缆"; case "P3CS": return "装备线缆-CS|船用射频电缆"; case "P3D1": return "装备线缆-D|电雷管引爆"; case "P3DC": return "装备线缆-DC|地铁车辆用"; case "P3DJ": return "装备线缆-DJ|计算机"; case "P3F1": return "装备线缆-F|飞机(航空)电线"; case "P3FG": return "装备线缆-FG|飞机用高压点火"; case "P3G1": return "装备线缆-G|高压直流软电缆"; case "P3H3": return "装备线缆-H|电焊机电缆;电子轰击炉用"; case "P3HL": return "装备线缆-HL|核电缆"; case "P3J1": return "装备线缆-J|引接线"; case "P3JK": return "装备线缆-JK|架空线"; case "P3K2": return "装备线缆-K|控制电缆"; case "P3M2": return "装备线缆-M|煤矿用"; case "P3MC": return "装备线缆-MC|采煤机电缆"; case "P3MH": return "装备线缆-MH|煤矿用通信"; case "P3MK": return "装备线缆-MK|煤矿控制电缆"; case "P3MY": return "装备线缆-MY|煤矿移动"; case "P3MZ": return "装备线缆-MZ|煤矿电钻"; case "P3N1": return "装备线缆-N|农用"; case "P3P2": return "装备线缆-P|信号电缆"; case "P3Q1": return "装备线缆-Q|汽车用线"; case "P3R1": return "装备线缆-R|绝缘软线"; case "P3S2": return "装备线缆-S|射频电缆"; case "P3T2": return "装备线缆-T|梯缆"; case "P3U1": return "装备线缆-U|矿用电缆"; case "P3UB": return "装备线缆-UB|矿用雷管"; case "P3UC": return "装备线缆-UC|采煤机电缆"; case "P3UH": return "装备线缆-UH|矿用通信"; case "P3UM": return "装备线缆-UM|矿工帽"; case "P3UY": return "装备线缆-UY|矿用移动"; case "P3UZ": return "装备线缆-UZ|矿用电钻"; case "P3W1": return "装备线缆-W|石油和地质勘探用"; case "P3W2": return "装备线缆-WQJ|潜油泵引接电缆"; case "P3WJ": return "装备线缆-WJ|野外测井用"; case "P3WQ": return "装备线缆-WQ|潜油泵电力电缆"; case "P3WT": return "装备线缆-WT|物探专用电缆"; case "P3WY": return "装备线缆-WY|野外移动"; case "P3X1": return "装备线缆-X|X光机电缆"; case "P3Y1": return "装备线缆-Y|移动用软电缆"; case "P3YH": return "装备线缆-YH|电焊机电缆"; case "P3YT": return "装备线缆-YT|电梯电缆"; case "P4CJ": return "光缆-CJ|局(室)内光缆"; case "P4E1": return "通信电缆-E|耳机用电线"; case "P4GD": return "光缆-GD|光电综合光缆"; case "P4GH": return "光缆-GH|海底光缆"; case "P4GM": return "光缆-GM|移动式光缆"; case "P4GS": return "光缆-GS|设备内光缆"; case "P4GT": return "光缆-GT|特殊光缆"; case "P4GY": return "光缆-GY|野外光缆"; case "P4H0": return "通信电缆-HO|同轴电缆"; case "P4H2": return "通信电缆-H|市内通信电缆"; case "P4HB": return "通信电缆-HB|电话布线"; case "P4HE": return "通信电缆-HE|长途通信电缆"; case "P4HH": return "通信电缆-HH|海底通信电缆"; case "P4HJ": return "通信电缆-HJ|局用电缆"; case "P4HP": return "通信电缆-HP|配线电缆"; case "P4HR": return "通信电缆-HR|电话软线"; case "P4HU": return "通信电缆-HU|矿用电话电缆"; case "P4HW": return "通信电缆-HW|岛屿通信电缆"; case "P4J2": return "通信电缆-J|交换机用电线"; case "P3FD": return "装备线缆-风力电缆"; case "P203": return "电力电缆-矿物绝缘电缆"; default: return "未指定产品用途"; } } private void InitControls() { string sSQL = "select GC_GCID, GC_GCMC from GC where isnull(GC_TYBZ,'N')<>'Y' order by GC_GCID"; TComboBox.SetComboBox("DBERP", cbxGC, sSQL, true); if (cbxGC.SelectedValue.Equals("")) { cbxCK.Items.Clear(); cbxCK.SelectedValue = ""; cbxCK.Enabled = false; } else { sSQL = "select CK_CKID,case ISNULL(CK_TYBZ,' ') when 'Y' then RTRIM(CK_MC)||'(停用)' else CK_MC end as NAME "; sSQL += " from CK where CK_GCID = '" + cbxGC.SelectedValue + "' order by ISNULL(CK_TYBZ,' '),CK_CKID"; cbxCK.Items.Clear(); cbxCK.Enabled = true; TComboBox.SetComboBox("DBERP", cbxCK, sSQL, true); } } #endregion #region 控件事件 protected void txtWLID_TextChanged(object sender, EventArgs e) { moduleGV_PageIndexChanging(null, null); } protected void cbxGC_OnSelectedIndexChanged(object sender, EventArgs e) { if (cbxGC.SelectedValue.Equals("")) { cbxCK.Items.Clear(); cbxCK.SelectedValue = ""; cbxCK.Enabled = false; } else { string sSQL = "select CK_CKID,case ISNULL(CK_TYBZ,' ') when 'Y' then RTRIM(CK_MC)||'(停用)' else CK_MC end as NAME "; sSQL += " from CK where CK_GCID = '" + cbxGC.SelectedValue + "' order by ISNULL(CK_TYBZ,' '),CK_CKID"; cbxCK.Items.Clear(); cbxCK.Enabled = true; TComboBox.SetComboBox("DBERP", cbxCK, sSQL, true); } moduleGV_PageIndexChanging(null, null); } protected void btnOK_Click(object sender, EventArgs e) { if (grdGrid.SelectedIndex == -1) { ShowMessage("请选择线缆物料!"); return; } ExcuteCallBack(Server.HtmlDecode(grdGrid.SelectedDataKey["XLXLB_WLID"].ToString().Trim())); } #endregion } }