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; using GThinking.N_PUBLIC2; namespace GThinking.N_XLXSBJ { [TableMap(DB = "DBERP", DbTableName = "XLWBBJDMX", Umid = 100860043, IsWorkFlow = false)] public class CXBJD_WLTZ : EntityManager { } public partial class CXBJD_WLTZInfo : SingleCardBase { CXBJD_WLTZ entity = new CXBJD_WLTZ(); #region Page_Load protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860046; 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; base.InitPage(); if (!IsPostBack) { InitControl(); } } protected override string CodeClass(string ComponentID) { string SQL = base.CodeClass(ComponentID); if (ComponentID.ToUpper().Equals("TXTWLID")) { SQL += "!!select WL_WLID as CODE, WL_MC as MESSAGE from WL where 1 = 1 " + " and isnull(WL_TYBZ,'N')<>'Y'order by CODE "; } return SQL; } #endregion #region 自定义函数 private void InitControl() { if (!PageParam.GetRTrimString("WLID").Equals("")) { txtWLID.Text = PageParam.GetRTrimString("WLID"); txtWLID_OnTextChanged(null, null); } } private string GetWLIDbyXDWL(string sXLXHID, string sXLGGID, string sXLBZID, string sDYDJID, string sXLYSID, bool ExistsBJCPYS) { string sWLID = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSBJXDWL_WLID from XLXSBJXDWL "); SQL.Add(" where XLXSBJXDWL_XLXHID = :pXLXHID and XLXSBJXDWL_XLGGID = :pXLGGID and XLXSBJXDWL_XLBZID = :pXLBZID and XLXSBJXDWL_DYDJID = :pDYDJID "); SQL.ParamByName("pXLXHID").Value = sXLXHID; SQL.ParamByName("pXLGGID").Value = sXLGGID; SQL.ParamByName("pXLBZID").Value = sXLBZID; SQL.ParamByName("pDYDJID").Value = sDYDJID; if(ExistsBJCPYS) { SQL.Add(" and XLXSBJXDWL_XLYSID = :pXLYSID "); SQL.ParamByName("pXLYSID").Value = sXLYSID; } DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sWLID = ds.Tables[0].Rows[0]["XLXSBJXDWL_WLID"].ToString().Trim(); } return sWLID; } private string GetWLXX(string sWLID) { string sWLXX = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select WL_WLID,WL_MC,WL_GG,WL_CL,WL_TZ from WL "); SQL.Add("where 1=1 and WL_WLID=:pWLID "); SQL.ParamByName("pWLID").Value = sWLID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sWLXX = ds.Tables[0].Rows[0]["WL_WLID"].ToString().Trim() + "|" + ds.Tables[0].Rows[0]["WL_MC"].ToString().Trim() + " " + ds.Tables[0].Rows[0]["WL_GG"].ToString().Trim() + " " + ds.Tables[0].Rows[0]["WL_TZ"].ToString().Trim() + " " + ds.Tables[0].Rows[0]["WL_CL"].ToString().Trim(); sWLXX = sWLXX.Trim(); } return sWLXX; } protected void txtWLID_OnTextChanged(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select WL_WLID,WL_MC,WL_GG,WL_CL,WL_TZ from WL "); SQL.Add("where 1=1 and WL_WLID=:pWLID "); SQL.ParamByName("pWLID").Value = txtWLID.Text.Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtWLMC.Text = ds.Tables[0].Rows[0]["WL_MC"].ToString().Trim(); txtGGXH.Text = ds.Tables[0].Rows[0]["WL_GG"].ToString().Trim(); txtTH.Text = ds.Tables[0].Rows[0]["WL_TZ"].ToString().Trim(); txtCZ.Text = ds.Tables[0].Rows[0]["WL_CL"].ToString().Trim(); } else { txtWLMC.Text = ""; txtGGXH.Text = ""; txtTH.Text = ""; txtCZ.Text = ""; } } #endregion #region 自定义按钮 protected void btnOK_Click(object sender, EventArgs e) { if (!txtWLID.Text.Trim().Equals("")) { if (txtWLMC.Text.Trim().Equals("")) { ShowMessage("物料不存在!"); return; } if (CMISproDataBase.ExistsRecord("DBERP", "select 1 from WL where WL_WLID = '" + txtWLID.Text.Trim() + "' and isnull(WL_TYBZ,'N') = 'Y'")) { ShowMessage("物料已停用!"); return; } } string sBJDID = PageParam.GetRTrimString("BJDID"); string sBJDXH = PageParam.GetRTrimString("BJDXH"); string sCFXH = PageParam.GetRTrimString("CFXH"); string sXLXHID = ""; string sXLGGID = ""; string sXLBZID = ""; string sDYDJID = ""; string sXLYSID = ""; bool ExistsBJCPYS = false;//是否设置了报价产品颜色 if (CMISproDataBase.ExistsRecord("DBERP", "select top 1 XLXSBJCPYS_CPYT from XLXSBJCPYS where 1=1")) { ExistsBJCPYS = true; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); sSQL.Clear(); sSQL.Add(" select XLXSBJDMX_XDXLXHID,XLXSBJXLGGTHB_XLGGIDCH as XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_XLYSID "); sSQL.Add(" from XLXSBJDMX "); sSQL.Add(" left join XLYSB on XLYSB_XLYSID=XLXSBJDMX_XLYSID"); sSQL.Add(" left join XLBZ on XLBZ_XLBZID=XLXSBJDMX_XLBZID"); sSQL.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSBJDMX_XLGGID"); sSQL.Add(" where 1=1 "); sSQL.Add(" and XLXSBJDMX_BJDID =:pBJDID "); sSQL.Add(" and XLXSBJDMX_XH =:pXH "); sSQL.ParamByName("pBJDID").Value = sBJDID; sSQL.ParamByName("pXH").Value = CMISproConvert.StrToFloat(sBJDXH); DataSet ds = dberp.OpenDataSet(sSQL); if (ds.Tables[0].Rows.Count > 0) { sXLXHID = ds.Tables[0].Rows[0]["XLXSBJDMX_XDXLXHID"].ToString().Trim(); sXLGGID = ds.Tables[0].Rows[0]["XLGGID"].ToString().Trim(); sXLBZID = ds.Tables[0].Rows[0]["XLXSBJDMX_XLBZID"].ToString().Trim(); sDYDJID = ds.Tables[0].Rows[0]["XLXSBJDMX_DYDJID"].ToString().Trim(); sXLYSID = ds.Tables[0].Rows[0]["XLXSBJDMX_XLYSID"].ToString().Trim(); } if (!txtWLID.Text.Trim().Equals("")) { XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860046); if (pzxx.XLXSBJPZ_GXXSBJXDWL.Equals("Y")) { string sWLID = GetWLIDbyXDWL(sXLXHID, sXLGGID, sXLBZID, sDYDJID, sXLYSID, ExistsBJCPYS); if (!sWLID.Equals("")) { if (!sWLID.Equals(txtWLID.Text.Trim())) { string sWLXX = GetWLXX(sWLID); if (Confirm.GetValue("ask").Trim().Equals("N")) { Confirm.Clear(); return; } else if (Confirm.GetValue("ask").Trim().Equals("Y")) { Confirm.Clear(); try { dberp.BeginTrans(); sSQL.Clear(); sSQL.Add(" update XLXSBJXDWL "); sSQL.Add(" set XLXSBJXDWL_WLID =:pWLID, "); sSQL.Add(" XLXSBJXDWL_WHR=:XLXSBJXDWL_WHR, "); sSQL.Add(" XLXSBJXDWL_WHRID=:XLXSBJXDWL_WHRID, "); sSQL.Add(" XLXSBJXDWL_WHSJ=:XLXSBJXDWL_WHSJ "); sSQL.Add(" where 1=1 "); sSQL.Add(" and XLXSBJXDWL_XLXHID=:pXLXHID and XLXSBJXDWL_XLGGID = :pXLGGID and XLXSBJXDWL_XLBZID = :pXLBZID and XLXSBJXDWL_DYDJID = :pDYDJID "); if (ExistsBJCPYS) { sSQL.Add(" and XLXSBJXDWL_XLYSID = :pXLYSID "); sSQL.ParamByName("pXLYSID").Value = sXLYSID; } sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pXLBZID").Value = sXLBZID; sSQL.ParamByName("pDYDJID").Value = sDYDJID; sSQL.ParamByName("pWLID").Value = txtWLID.Text.Trim(); sSQL.ParamByName("XLXSBJXDWL_WHR").Value = tSession.UserName; sSQL.ParamByName("XLXSBJXDWL_WHRID").Value = tSession.UserId; sSQL.ParamByName("XLXSBJXDWL_WHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); dberp.CommitTrans(); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); return; } } else { Confirm.Register("ask", "当前报价产品已对应物料【" + sWLXX + "】,与您选择的物料不一致,是否继续并对应到所选物料上?"); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("ask").Trim().Equals("")) { Confirm.Ask("ask"); return; } } } } else { try { dberp.BeginTrans(); sSQL.Clear(); sSQL.Add(" insert into XLXSBJXDWL(XLXSBJXDWL_XLXHID,XLXSBJXDWL_XLGGID,XLXSBJXDWL_XLBZID,XLXSBJXDWL_DYDJID,XLXSBJXDWL_XLYSID,XLXSBJXDWL_WLID,"); sSQL.Add(" XLXSBJXDWL_WHR,XLXSBJXDWL_WHRID,XLXSBJXDWL_WHSJ) "); sSQL.Add(" values(:pXLXHID,:pXLGGID,:pXLBZID,:pDYDJID,:pXLYSID,:pWLID,:XLXSBJXDWL_WHR,:XLXSBJXDWL_WHRID,:XLXSBJXDWL_WHSJ ) "); sSQL.ParamByName("pXLXHID").Value = sXLXHID; sSQL.ParamByName("pXLGGID").Value = sXLGGID; sSQL.ParamByName("pXLBZID").Value = sXLBZID; sSQL.ParamByName("pDYDJID").Value = sDYDJID; sSQL.ParamByName("pXLYSID").Value = sXLYSID; sSQL.ParamByName("pWLID").Value = txtWLID.Text.Trim(); sSQL.ParamByName("XLXSBJXDWL_WHR").Value = tSession.UserName; sSQL.ParamByName("XLXSBJXDWL_WHRID").Value = tSession.UserId; sSQL.ParamByName("XLXSBJXDWL_WHSJ").Value = DateTime.Now; dberp.ExecSQL(sSQL); dberp.CommitTrans(); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); return; } } } } TSQL SQL = new TSQL(dberp); try { dberp.BeginTrans(); SQL.Clear(); SQL.Add(" update XLXSBJDMX "); SQL.Add(" set XLXSBJDMX_WLID =:pWLID, "); SQL.Add(" XLXSBJDMX_WLZDR=:XLXSBJDMX_WLZDR, "); SQL.Add(" XLXSBJDMX_WLZDRGH=:XLXSBJDMX_WLZDRGH, "); SQL.Add(" XLXSBJDMX_WLZDSJ=:XLXSBJDMX_WLZDSJ "); SQL.Add("where 1=1 "); SQL.Add(" and XLXSBJDMX_BJDID =:pBJDID "); SQL.Add(" and XLXSBJDMX_XH =:pXH "); SQL.ParamByName("pWLID").Value = txtWLID.Text.Trim(); SQL.ParamByName("XLXSBJDMX_WLZDR").Value = tSession.UserName; SQL.ParamByName("XLXSBJDMX_WLZDRGH").Value = tSession.UserId; SQL.ParamByName("XLXSBJDMX_WLZDSJ").Value = DateTime.Now; SQL.ParamByName("pBJDID").Value = sBJDID; SQL.ParamByName("pXH").Value = CMISproConvert.StrToFloat(sBJDXH); dberp.ExecSQL(SQL); if (XLBJDUtils.GetXLXSBJPZXX(100860046).XLXSBJPZ_ZCCF.Trim().Equals("Y")) { SQL.Clear(); SQL.Add(" update XLXSBJFKCFMX "); SQL.Add(" set XLXSBJFKCFMX_WLID =:pWLID "); SQL.Add("where 1=1 "); SQL.Add(" and XLXSBJFKCFMX_BJDID =:pBJDID "); SQL.Add(" and XLXSBJFKCFMX_BJDXH =:pXH "); SQL.Add(" and XLXSBJFKCFMX_CFXH =:pCFXH "); SQL.ParamByName("pWLID").Value = txtWLID.Text.Trim(); SQL.ParamByName("pCFXH").Value = sCFXH; SQL.ParamByName("pBJDID").Value = sBJDID; SQL.ParamByName("pXH").Value = CMISproConvert.StrToFloat(sBJDXH); dberp.ExecSQL(SQL); } dberp.CommitTrans(); } catch (Exception ex) { ShowMessage(ex.Message); dberp.RollbackTrans(); return; } DialogOperationScript dos = new DialogOperationScript(this); dos.ClickOwnerButton(PageParam.GetRTrimString("RefreshCtrlID")); dos.CloseSelf(); dos.Execute(); } protected void btnQX_Click(object sender, EventArgs e) { CloseWindow(); } #endregion } }