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_HTBDInfo : SingleCardBase { XLBJD_WBBJDMX_HTBD entity = new XLBJD_WBBJDMX_HTBD(); string sWBBJDID = ""; string sXLBJDID = ""; #region Page_Load protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860043; this.UMName = "外部线缆产品导入"; base.CurMaster = Master; base.CurEntity = entity; this.PageHeight = 180; this.PageWidth = 420; 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"); sXLBJDID = PageParam.GetRTrimString("SELBJDID").Equals("") ? " " : PageParam.GetRTrimString("SELBJDID"); base.InitPage(); if (!IsPostBack) { InitControl(); } } #endregion #region 自定义函数 private void InitControl() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); DataSet ds = new DataSet(); SQL.Clear(); SQL.Add(" select case when isnull(HTGD_HTBH,' ')=' ' then HT_HTBH else HTGD_HTBH end as HTBH, case when isnull(HTGD_HTBH,' ')=' ' then HT_MC else HTGD_MC end as HTMC "); SQL.Add(" from XLWBBJDML "); SQL.Add(" left join HTGD on HTGD_HTBH=XLWBBJDML_HTBH "); SQL.Add(" left join HT on HT_HTBH=XLWBBJDML_HTBH and isnull(HT_HTBG,'N')='N' "); SQL.Add(" where 1=1 "); SQL.Add(" and XLWBBJDML_WBBJDID =:pWBBJDID "); SQL.Add(" and XLWBBJDML_BJDID = ' ' "); SQL.ParamByName("pWBBJDID").Value = sWBBJDID; ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtHTBH.Text = ds.Tables[0].Rows[0]["HTBH"].ToString().Trim(); txtHTMC.Text = ds.Tables[0].Rows[0]["HTMC"].ToString().Trim(); } if (txtHTBH.Text.Trim().Equals("")) { if (!string.IsNullOrEmpty(PageParam.GetRTrimString("HTBH"))) { txtHTBH.Text = PageParam.GetRTrimString("HTBH"); txtHTBH_TextChanged(null, null); } } } #endregion #region 自定义按钮 protected void btnOK_Click(object sender, EventArgs e) { string sHTBH = txtHTBH.Text.Trim(); if (txtHTMC.Text.Trim().Equals("")) { ShowMessage("合同信息不合法,不允许导入!"); return; } //合同相关校验 //string sWFID = "XSHT_HTZX"; //string sWPID = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); DataSet ds = new DataSet(); // SQL.Clear(); SQL.Add(" select 1 from HT "); SQL.Add(" where HT_HTBH=:pHTBH "); SQL.ParamByName("pHTBH").Value = sHTBH; ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count <= 0) { ShowMessage("合同信息不存在,不允许导入!"); return; } int iMaxXH = 0; SQL.Clear(); SQL.Add(" select max(XSHTBDXL_XH) as MaxXH from XSHTBDXL where XSHTBDXL_HTBH=:pHTBH "); SQL.ParamByName("pHTBH").Value = sHTBH; ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { if (!ds.Tables[0].Rows[0]["MaxXH"].ToString().Trim().Equals("")) { iMaxXH = CMISproConvert.StrToInt(ds.Tables[0].Rows[0]["MaxXH"].ToString().Trim()); } } try { dberp.BeginTrans(); //插入数据 SQL.Clear(); SQL.Add(" insert into XSHTBDXL( "); SQL.Add(" XSHTBDXL_HTBH,XSHTBDXL_XH, "); SQL.Add(" XSHTBDXL_LMNR01,XSHTBDXL_LMNR02,XSHTBDXL_LMNR03,XSHTBDXL_LMNR04, "); SQL.Add(" XSHTBDXL_LMNR05, "); SQL.Add(" XSHTBDXL_LMNR06,XSHTBDXL_LMNR07,XSHTBDXL_LMNR08, "); SQL.Add(" XSHTBDXL_BZ,XSHTBDXL_WHR,XSHTBDXL_WHRID,XSHTBDXL_WHSJ "); SQL.Add(" ) "); SQL.Add(" select :pHTBH as HTBH,:maxXH+row_number() over(order by XLWBBJDMX_DRHH) as XH, "); SQL.Add(" XLWBBJDMX_XLXHID,XLWBBJDMX_XLGGID,XLWBBJDMX_DYDJID,XLWBBJDMX_XLBZID, "); SQL.Add(" XLWBBJDMX_XLYSID, "); SQL.Add(" XLWBBJDMX_JLDW,ltrim(CONVERT(CHAR(60),STR(XLWBBJDMX_BJSL,20,6))) as BJSL,ltrim(CONVERT(CHAR(60),STR(XLWBBJDMX_CPBJ,20,6))) as CPBJ, "); SQL.Add(" XLWBBJDMX_BZ,:pWHR,:pWHRID,:pWHSJ "); SQL.Add(" from XLWBBJDMX "); SQL.Add(" where XLWBBJDMX_WBBJDID=:pWBBJDID and XLWBBJDMX_BJDID=' ' "); SQL.ParamByName("pHTBH").Value = sHTBH; SQL.ParamByName("maxXH").Value = iMaxXH; SQL.ParamByName("pWBBJDID").Value = sWBBJDID; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); //更新颜色 SQL.Clear(); SQL.Add("update XSHTBDXL set XSHTBDXL_LMNR05="); SQL.Add(" isnull((select XLXSBJCPYS_XLYSID from XLXSBJCPYS"); SQL.Add(" where exists(select 1 from XLXHB where XLXHB_XLXHID=XSHTBDXL_LMNR01 and XLXHB_CPYT=XLXSBJCPYS_CPYT) "); SQL.Add(" and XLXSBJCPYS_XLJBXHID=' ' and XLXSBJCPYS_XXJGID=' '"); SQL.Add(" ),XSHTBDXL_LMNR05) "); SQL.Add(" where XSHTBDXL_HTBH=:pHTBH "); SQL.Add(" and XSHTBDXL_XH>:maxXH and isnull(XSHTBDXL_LMNR05,' ')=' ' "); SQL.ParamByName("pHTBH").Value = sHTBH; SQL.ParamByName("maxXH").Value = iMaxXH; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("update XSHTBDXL set XSHTBDXL_LMNR05="); SQL.Add(" isnull((select XLXSBJCPYS_XLYSID from XLXSBJCPYS"); SQL.Add(" where exists(select 1 from XLXHB where XLXHB_XLXHID=XSHTBDXL_LMNR01 and XLXHB_CPYT=XLXSBJCPYS_CPYT) "); SQL.Add(" and exists(select 1 from XLXHB where XLXHB_XLXHID=XSHTBDXL_LMNR01 and XLXHB_XLJBXHID=XLXSBJCPYS_XLJBXHID)"); SQL.Add(" and XLXSBJCPYS_XLJBXHID<>' ' and XLXSBJCPYS_XXJGID=' '"); SQL.Add(" ),XSHTBDXL_LMNR05) "); SQL.Add(" where XSHTBDXL_HTBH=:pHTBH "); SQL.Add(" and XSHTBDXL_XH>:maxXH and isnull(XSHTBDXL_LMNR05,' ')=' ' "); SQL.ParamByName("pHTBH").Value = sHTBH; SQL.ParamByName("maxXH").Value = iMaxXH; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("update XSHTBDXL set XSHTBDXL_LMNR05="); SQL.Add(" isnull((select XLXSBJCPYS_XLYSID from XLXSBJCPYS"); SQL.Add(" where exists(select 1 from XLXHB where XLXHB_XLXHID=XSHTBDXL_LMNR01 and XLXHB_CPYT=XLXSBJCPYS_CPYT) "); SQL.Add(" and exists(select 1 from XLXHB where XLXHB_XLXHID=XSHTBDXL_LMNR01 and XLXHB_XLJBXHID=XLXSBJCPYS_XLJBXHID)"); SQL.Add(" and XLXSBJCPYS_XLJBXHID<>' ' and XLXSBJCPYS_XXJGID<>' '"); SQL.Add(" and exists(select 1 from XLGGB where XLGGB_XLGGID=replace(XSHTBDXL_LMNR02,'*','×') and XLGGB_XXJGID=XLXSBJCPYS_XXJGID)"); SQL.Add(" ),XSHTBDXL_LMNR05) "); SQL.Add(" where XSHTBDXL_HTBH=:pHTBH "); SQL.Add(" and XSHTBDXL_XH>:maxXH and isnull(XSHTBDXL_LMNR05,' ')=' ' "); SQL.ParamByName("pHTBH").Value = sHTBH; SQL.ParamByName("maxXH").Value = iMaxXH; dberp.ExecSQL(SQL); //默认赋值黑色 SQL.Clear(); SQL.Add("update XSHTBDXL set XSHTBDXL_LMNR05='BK' "); SQL.Add(" where XSHTBDXL_HTBH=:pHTBH "); SQL.Add(" and XSHTBDXL_XH>:maxXH and isnull(XSHTBDXL_LMNR05,' ')=' ' "); SQL.ParamByName("pHTBH").Value = sHTBH; SQL.ParamByName("maxXH").Value = iMaxXH; dberp.ExecSQL(SQL); //更新数据 SQL.Clear(); SQL.Add(" update XSHTBDXL set "); SQL.Add(" XSHTBDXL_XLXHID=XSHTBDXL_LMNR01,XSHTBDXL_XLGGID=XSHTBDXL_LMNR02,"); SQL.Add(" XSHTBDXL_DYDJID=XSHTBDXL_LMNR03,XSHTBDXL_XLBZID=XSHTBDXL_LMNR04, "); SQL.Add(" XSHTBDXL_XLYSID=XSHTBDXL_LMNR05, "); //SQL.Add(" XSHTBDXL_LMNR10=(select XLXLB_WLID from XLXLB left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID "); //SQL.Add(" where case when isnull(XSBJXHTH_BJXLXHID,' ') = ' ' then XLXLB_XLXHID else XSBJXHTH_BJXLXHID end=XSHTBDXL_LMNR01 and XLXLB_XLGGID=replace(XSHTBDXL_LMNR02,'*','×') "); //SQL.Add(" and XLXLB_DYDJID=XSHTBDXL_LMNR03 and isnull(XLXLB_XLBZID,' ')=XSHTBDXL_LMNR04 and isnull(XLXLB_XLYSID,' ')=XSHTBDXL_LMNR05), "); SQL.Add(" XSHTBDXL_LMNR10 = ( "); SQL.Add(" select minWLID from "); SQL.Add(" (select XSBJXHTH_BJXLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID, minWLID "); SQL.Add(" from ( "); SQL.Add(" select XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID,min(XLXLB_WLID)as minWLID "); SQL.Add(" from XLXLB "); SQL.Add(" where 1=1 "); SQL.Add(" and isnull(XLXLB_TYBZ,' ')<> 'Y' "); SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') "); SQL.Add(" and exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID "); SQL.Add(" ) tmpXL left join XSBJXHTH on XSBJXHTH_XLXHID=XLXLB_XLXHID "); SQL.Add(" union all "); SQL.Add(" select XLXLB_XLXHID as XLXHID,XLXLB_XLGGID as XLGGID,XLXLB_XLBZID as XLBZID,XLXLB_DYDJID as DYDJID,XLXLB_XLYSID as XLYSID,min(XLXLB_WLID)as minWLID "); SQL.Add(" from XLXLB "); SQL.Add(" where isnull(XLXLB_TYBZ,' ')<>'Y' "); SQL.Add(" and exists(select 1 from WL where WL_WLID=XLXLB_WLID and isnull(WL_TYBZ,' ')<>'Y') "); SQL.Add(" and not exists(select 1 from XSBJXHTH where XSBJXHTH_XLXHID = XLXLB_XLXHID ) "); SQL.Add(" group by XLXLB_XLXHID,XLXLB_XLGGID,XLXLB_XLBZID,XLXLB_DYDJID,XLXLB_XLYSID "); SQL.Add(" ) "); SQL.Add(" a where a.XLXHID= XSHTBDXL_LMNR01 and a.XLGGID=replace(XSHTBDXL_LMNR02,'*','×') "); SQL.Add(" and a.DYDJID=XSHTBDXL_LMNR03 and isnull(a.XLBZID,' ')= XSHTBDXL_LMNR04 and isnull(a.XLYSID,' ') = XSHTBDXL_LMNR05 "); SQL.Add(" ), "); SQL.Add(" XSHTBDXL_WHR=:pWHR,XSHTBDXL_WHRID=:pWHRID, XSHTBDXL_WHSJ = :pWHSJ "); SQL.Add(" where XSHTBDXL_HTBH=:pHTBH "); SQL.Add(" and XSHTBDXL_XH>:maxXH "); SQL.ParamByName("pHTBH").Value = sHTBH; SQL.ParamByName("maxXH").Value = iMaxXH; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("update XLWBBJDML set"); SQL.Add(" XLWBBJDML_HTBH=:pHTBH"); SQL.Add(" where XLWBBJDML_WBBJDID=:pWBBJDID "); SQL.Add(" and XLWBBJDML_BJDID=' ' "); SQL.ParamByName("pHTBH").Value = sHTBH; SQL.ParamByName("pWBBJDID").Value = sWBBJDID; dberp.ExecSQL(SQL); dberp.CommitTrans(); ShowMessage("导入销售合同线缆标的成功!"); } catch (Exception ex) { dberp.RollbackTrans(); ShowMessage("导入销售合同线缆标的出现异常!错误信息:" + ex.ToString().Trim()); return; } DialogOperationScript dos = new DialogOperationScript(this); //{ // dos.SetOwnerControlValue(PageParam.GetRTrimString("txtRetDYDJID"), cbxDefault.SelectedValue.Trim()); // dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefreshDYDJID")); //} dos.CloseSelf(); dos.Execute(); } protected void btnQX_Click(object sender, EventArgs e) { CloseWindow(); } protected void txtHTBH_TextChanged(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); DataSet ds = new DataSet(); string sHTBH = txtHTBH.Text.Trim(); try { sSQL.Clear(); sSQL.Add("select HTGD_MC from HTGD where HTGD_HTBH = :pHTBH"); sSQL.ParamByName("pHTBH").Value = sHTBH; ds = dberp.OpenDataSet(sSQL); if (ds.Tables[0].Rows.Count > 0) { txtHTMC.Text = ds.Tables[0].Rows[0][0].ToString().Trim(); } else { sSQL.Clear(); sSQL.Add("select HT_MC from HT where HT_HTBH = :pHTBH"); sSQL.ParamByName("pHTBH").Value = sHTBH; ds = dberp.OpenDataSet(sSQL); if (ds.Tables[0].Rows.Count > 0) { txtHTMC.Text = ds.Tables[0].Rows[0][0].ToString().Trim(); } else { txtHTMC.Text = ""; } } } catch { txtHTMC.Text = ""; ShowMessage("数据库连接失败,请联系系统管理员!"); ; } } #endregion } }