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_WORKFLOW; using GThinking.N_PUBLIC; using GThinking.N_MISPRO.Utility; using System.Text; namespace GThinking.N_XLXSBJ { public partial class XLXSBJCLInfo : SingleCardBase { XLXSBJCL entity = new XLXSBJCL(); #region Page类事件继承 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860012; this.UMName = "线缆销售报价材料"; base.CurMaster = Master; this.CurEntity = entity; this.Master.EnableAttachBtn = false; this.PageHeight = 500; this.PageWidth = 700; //Master.EnableInsertBtn = false; //Master.EnableCopyBtn = false; if (!IsPostBack) { LoadHQBDPLGroup(); InitControls(); } base.InitPage(); } #endregion #region 模板事件继承 protected override void OnNewRecorder() { base.OnNewRecorder(); chkQR.Checked = true; txtOldBJCLID.Value = ""; cbxBJHQ.SelectedValue = "1"; txtZZSL.Value = 13; datQYRQ.Text = CMISproConvert.ConvertDate(System.DateTime.Today); datTYRQ.Text = ""; chkTYBZ.Checked = false; txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now); if (PageParam.ContainsKey("CLMC")) txtBJCLMC.Text = PageParam.GetRTrimString("CLMC"); } protected override void OnCopyRecorder() { base.OnCopyRecorder(); txtOldBJCLID.Value = ""; datQYRQ.Text = CMISproConvert.ConvertDate(System.DateTime.Today); datTYRQ.Text = ""; chkTYBZ.Checked = false; txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now); } protected override bool DataLogicValid() { if (chkCLHQFD.Checked == false && txtOLDCLHQFD.Value == "Y") { string SQL = string.Format(" select top 1 XLXSJGBPZ_JGBPZDH from XLXSJGBPZ " + " where XLXSJGBPZ_BJCLIDS like '{0}' ", "%" + txtBJCLID.Text.Trim() + "%"); if (CMISproDataBase.ExistsRecord("DBERP", SQL)) { ShowMessage("此报价材料已经被价格目录配置使用,“材料行情分段”不允许取消勾选!"); return false; } } if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy) { if (!txtBJCLMC.Text.Trim().Equals("")) { if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJCL where XLXSBJCL_BJCLMC = '{0}'", txtBJCLMC.Text.Trim()))) { ShowMessage("存在相同材料名称的记录,不允许保存!"); return false; } } } else { if (!txtBJCLMC.Text.Trim().Equals("")) { if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJCL where XLXSBJCL_BJCLMC = '{0}' and XLXSBJCL_BJCLID<>'{1}'", txtBJCLMC.Text.Trim(), txtOldBJCLID.Value.Trim()))) { ShowMessage("存在相同材料名称的记录,不允许保存!"); return false; } } } //加工料 加工原料税率一致 if (!cbxJGYBJCLID.SelectedValue.Trim().Equals("")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSBJCL_ZZSL from XLXSBJCL where XLXSBJCL_BJCLID = :pBJCLID "); SQL.ParamByName("pBJCLID").Value = cbxJGYBJCLID.SelectedValue.Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { if (!CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString().Trim()).Equals(txtZZSL.Value)) { ShowMessage("加工料的增值税率必须与加工原料【" + ds.Tables[0].Rows[0][0].ToString().Trim() + "】保持一致!"); return false; } } string sSQL = string.Format(" select XLXSBJCL_BJCLID from XLXSBJCL " + " where XLXSBJCL_JGYBJCLID = '{0}' ", txtBJCLID.Text.Trim()); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("当前报价材料已被当作加工原料使用,不允许设置加工原料!"); return false; } } // if (cbxBJHQ.SelectedValue.Trim().Equals("2")) { string sSQL = string.Format(" select XLXSBJCL_BJCLID from XLXSBJCL " + " where XLXSBJCL_JGYBJCLID = '{0}' ", txtBJCLID.Text.Trim()); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("加工原料仅有一个行情,不允许设置为“2|物料行情”!"); return false; } } if (chkTYBZ.Checked) { string sSQL = string.Format(" select XLXSBJCL_BJCLID from XLXSBJCL where XLXSBJCL_JGYBJCLID = '{0}' and isnull(XLXSBJCL_TYBZ,'N') <> 'Y' ", txtBJCLID.Text.Trim()); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("当前报价材料已作为加工原料被使用,不允许停用!"); return false; } sSQL = string.Format(" select XLXSBJFL_TBJCLID,XLXSBJFL_LBJCLID from XLXSBJFL where ISNULL(XLXSBJFL_TYBZ,'N') <> 'Y' and ( XLXSBJFL_TBJCLID = '{0}' or XLXSBJFL_LBJCLID = '{0}' ) ", txtBJCLID.Text.Trim()); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("当前报价材料已被线缆销售报价分类使用为铜铝报价材料,不允许停用!"); return false; } sSQL = string.Format(" select XLXSBJPZ_TBJCLID,XLXSBJPZ_LBJCLID from XLXSBJPZ where ( XLXSBJPZ_TBJCLID = '{0}' or XLXSBJPZ_LBJCLID = '{0}' ) ", txtBJCLID.Text.Trim()); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("当前报价材料已被销售报价业务配置使用为铜铝报价材料,不允许停用!"); return false; } } if (chkBJJZ.Checked) { string sSQL = string.Format("select top 1 XLXSTZYZ_BJCLID from XLXSTZYZ where XLXSTZYZ_BJCLID='{0}'", txtBJCLID.Text.Trim()); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("当前报价材料已被线缆销售价格表调价因子指定为虚拟报价材料,不允许勾选报价计重!"); return false; } } return base.DataLogicValid(); } protected override bool Master_BeforeSaveAction(object sender, EventArgs e) { bool sReturn = base.Master_BeforeSaveAction(sender, e); txtWHR.Text = tSession.UserName; //维护人 txtWHRID.Value = tSession.UserId; //维护人ID datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now); if (ControlState == TControlState.ctsEdit) { entity.Param.Add("XLXSBJCL_OLDBJCLID", txtOldBJCLID.Value.Trim()); } else { txtBJCLID.Text = GetNewBJCLID(); } return sReturn; } protected override void LoadRecord() { //根据EntitySelSql的定义对使用的参数赋值 if (!this.IsPostBack) { entity.Param.Add("XLXSBJCL_BJCLID", PageParam.GetRTrimString("BJCLID")); } else { entity.Param.Add("XLXSBJCL_BJCLID", txtOldBJCLID.Value.Trim()); } base.LoadRecord(); txtOldBJCLID.Value = txtBJCLID.Text.Trim(); txtOLDCLHQFD.Value = chkCLHQFD.Checked ? "Y" : "N"; txtOLDZZSL.Value = txtZZSL.Value.ToString().Trim(); txtOldTYBZ.Value = chkTYBZ.Checked ? "Y" : "N"; txtOLDJTZ.Value = chkJTZ.Checked ? "Y" : "N"; txtOLDJLZ.Value = chkJLZ.Checked ? "Y" : "N"; } protected override bool Master_AfterSaveAction(object sender, EventArgs e) { txtOldBJCLID.Value = txtBJCLID.Text.Trim(); txtOLDZZSL.Value = txtZZSL.Value.ToString().Trim(); string sJTZ = chkJTZ.Checked ? "Y" : "N"; string sJLZ = chkJLZ.Checked ? "Y" : "N"; if (!txtBJCLID.Text.Trim().Equals("")&&(!sJTZ.Equals(txtOLDJTZ.Value.Trim())||!sJLZ.Equals(txtOLDJLZ.Value.Trim()))) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(@"select XLJGCZBLM_JGCZBID,XLJGCZBLM_JGCZBBBID from XLJGCZBLM where XLJGCZBLM_BJCLID=:pBJCLID "); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sJGCZBID = ds.Tables[0].Rows[i]["XLJGCZBLM_JGCZBID"].ToString().Trim(); string sJGCZBBBID = ds.Tables[0].Rows[i]["XLJGCZBLM_JGCZBBBID"].ToString().Trim(); CLQDList.UpdatCLZL(dberp, SQL, sJGCZBID, sJGCZBBBID); } } } txtOLDJTZ.Value = chkJTZ.Checked ? "Y" : "N"; txtOLDJLZ.Value = chkJLZ.Checked ? "Y" : "N"; //若为加工原料且存在增值税率不一致得加工料,则同步更新加工料 if (cbxJGYBJCLID.SelectedValue.Trim().Equals("")) { string sSQL = string.Format(" select XLXSBJCL_BJCLID from XLXSBJCL " + " where XLXSBJCL_JGYBJCLID = '{0}' and XLXSBJCL_ZZSL <> {1} ", txtBJCLID.Text.Trim(),txtZZSL.Value.ToString().Trim()); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" update XLXSBJCL set XLXSBJCL_ZZSL = :pZZSL where XLXSBJCL_JGYBJCLID = :pJGYBJCLID and XLXSBJCL_ZZSL <> :pZZSL "); SQL.ParamByName("pZZSL").Value = txtZZSL.Value; SQL.ParamByName("pJGYBJCLID").Value = txtBJCLID.Text.Trim(); dberp.ExecSQL(SQL); ShowMessage("已同步更新对应加工料的增值税率!"); } } if (chkCLHQFD.Checked == false && txtOLDCLHQFD.Value == "Y") { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("delete from XLXSCLHQFD where XLXSCLHQFD_BJCLID=:pXLXSCLHQFD_BJCLID "); SQL.ParamByName("pXLXSCLHQFD_BJCLID").Value = txtBJCLID.Text.Trim(); dberp.ExecSQL(SQL); } txtOLDCLHQFD.Value = chkCLHQFD.Checked ? "Y" : "N"; if (!txtOldTYBZ.Value.Equals("Y") && chkTYBZ.Checked) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); #region 材料行情 SQL.Clear(); SQL.Add(" select XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ,XLXSCLHQ_BDQK,XLXSCLHQ_HSJG,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ from XLXSCLHQ where XLXSCLHQ_JGBID='ZZZZZZZZ' and XLXSCLHQ_BJCLID = :pBJCLID order by XLXSCLHQ_YXQS desc "); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { bool bYXHQ = true; DateTime dtYXQS = CMISproConvert.StrToDateTime(ds.Tables[0].Rows[0]["XLXSCLHQ_YXQS"].ToString().Trim()); string sYXQZ = ds.Tables[0].Rows[0]["XLXSCLHQ_YXQZ"].ToString().Trim(); if (DateTime.Compare(dtYXQS, DateTime.Now) > 0) { bYXHQ = false; } else { if (!string.IsNullOrEmpty(sYXQZ)) { DateTime dtYXQZ = CMISproConvert.StrToDateTime(sYXQZ); dtYXQZ = dtYXQZ.AddDays(1); if (DateTime.Compare(dtYXQZ, DateTime.Now) <= 0) bYXHQ = false; } } if (bYXHQ) { if (dtYXQS.ToShortDateString().Trim().Equals(DateTime.Now.ToShortDateString().Trim())) { string sBDQK = ds.Tables[0].Rows[0]["XLXSCLHQ_BDQK"].ToString().Trim(); string sYWHR = ds.Tables[0].Rows[0]["XLXSCLHQ_WHR"].ToString().Trim(); string sYWHSJ = ds.Tables[0].Rows[0]["XLXSCLHQ_WHSJ"].ToString().Trim(); string sYHSJE = ds.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim(); CLHQInfo.GetBDQK(sYWHSJ, sYWHR, sYHSJE, ref sBDQK); SQL.Clear(); SQL.Add(" update XLXSCLHQ set XLXSCLHQ_YXQZ = null,XLXSCLHQ_HSJG = 0,XLXSCLHQ_WSJG = 0,XLXSCLHQ_HSJGF = 0,XLXSCLHQ_WSJGF = 0,XLXSCLHQ_HSCGJG = 0,XLXSCLHQ_WSCGJG = 0, "); SQL.Add(" XLXSCLHQ_BZ = '报价材料停用自动更新行情',XLXSCLHQ_BDQK = :pBDQK, XLXSCLHQ_WHRID = :XLXSCLHQ_WHRID, XLXSCLHQ_WHR = :XLXSCLHQ_WHR, XLXSCLHQ_WHSJ = :XLXSCLHQ_WHSJ "); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' and XLXSCLHQ_YXQS=:pRQ and XLXSCLHQ_BJCLID = :pBJCLID "); SQL.ParamByName("pBDQK").Value = sBDQK; SQL.ParamByName("pRQ").Value = dtYXQS; SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now; SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); dberp.ExecSQL(SQL); } else { SQL.Clear(); SQL.Add(" update XLXSCLHQ set XLXSCLHQ_YXQZ = :pYXQZ,XLXSCLHQ_WHRID = :XLXSCLHQ_WHRID, XLXSCLHQ_WHR = :XLXSCLHQ_WHR, XLXSCLHQ_WHSJ = :XLXSCLHQ_WHSJ "); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' and XLXSCLHQ_YXQS=:pRQ and XLXSCLHQ_BJCLID = :pBJCLID "); SQL.ParamByName("pYXQZ").Value = DateTime.Now.AddDays(-1).ToShortDateString().Trim(); SQL.ParamByName("pRQ").Value = dtYXQS; SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now; SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add(" insert into XLXSCLHQ( "); SQL.Add(" XLXSCLHQ_BJCLID,XLXSCLHQ_JGBID,XLXSCLHQ_YXQS, XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_HSJGF,XLXSCLHQ_WSJGF,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG,"); SQL.Add(" XLXSCLHQ_BZ, XLXSCLHQ_WHRID, XLXSCLHQ_WHR, XLXSCLHQ_WHSJ )"); SQL.Add(" values("); SQL.Add(" :XLXSCLHQ_BJCLID,'ZZZZZZZZ', :XLXSCLHQ_YXQS,0,0,0,0,0,0,"); SQL.Add(" '报价材料停用自动更新行情', :XLXSCLHQ_WHRID, :XLXSCLHQ_WHR, :XLXSCLHQ_WHSJ )"); SQL.ParamByName("XLXSCLHQ_BJCLID").Value = txtBJCLID.Text.Trim(); SQL.ParamByName("XLXSCLHQ_YXQS").Value = DateTime.Now.ToShortDateString().Trim(); SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); } } else { SQL.Clear(); SQL.Add(" insert into XLXSCLHQ( "); SQL.Add(" XLXSCLHQ_BJCLID,XLXSCLHQ_JGBID,XLXSCLHQ_YXQS, XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_HSJGF,XLXSCLHQ_WSJGF,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG,"); SQL.Add(" XLXSCLHQ_BZ, XLXSCLHQ_WHRID, XLXSCLHQ_WHR, XLXSCLHQ_WHSJ )"); SQL.Add(" values("); SQL.Add(" :XLXSCLHQ_BJCLID,'ZZZZZZZZ', :XLXSCLHQ_YXQS,0,0,0,0,0,0,"); SQL.Add(" '报价材料停用自动更新行情', :XLXSCLHQ_WHRID, :XLXSCLHQ_WHR, :XLXSCLHQ_WHSJ )"); SQL.ParamByName("XLXSCLHQ_BJCLID").Value = txtBJCLID.Text.Trim(); SQL.ParamByName("XLXSCLHQ_YXQS").Value = DateTime.Now.ToShortDateString().Trim(); SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); } } #endregion #region 物料行情 SQL.Clear(); SQL.Add("select XLXSBJCLWL_WLID from XLXSBJCLWL where XLXSBJCLWL_BJCLID = :pBJCLID "); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); ds.Clear(); ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { foreach (DataRow trow in ds.Tables[0].Rows) { string sWLID = trow["XLXSBJCLWL_WLID"].ToString().Trim(); SQL.Clear(); SQL.Add(" select XLXSWLHQ_YXQS,XLXSWLHQ_YXQZ from XLXSWLHQ where XLXSWLHQ_JGBID=' ' and XLXSWLHQ_WLID = :pWLID order by XLXSWLHQ_YXQS desc "); SQL.ParamByName("pWLID").Value = sWLID; DataSet dsWL = dberp.OpenDataSet(SQL); if (dsWL.Tables[0].Rows.Count > 0) { bool bYXHQ = true; DateTime dtYXQS = CMISproConvert.StrToDateTime(dsWL.Tables[0].Rows[0]["XLXSWLHQ_YXQS"].ToString().Trim()); string sYXQZ = dsWL.Tables[0].Rows[0]["XLXSWLHQ_YXQZ"].ToString().Trim(); if (DateTime.Compare(dtYXQS, DateTime.Now) > 0) { bYXHQ = false; } else { if (!string.IsNullOrEmpty(sYXQZ)) { DateTime dtYXQZ = CMISproConvert.StrToDateTime(sYXQZ); dtYXQZ = dtYXQZ.AddDays(1); if (DateTime.Compare(dtYXQZ, DateTime.Now) <= 0) bYXHQ = false; } } if (bYXHQ) { if (dtYXQS.ToShortDateString().Trim().Equals(DateTime.Now.ToShortDateString().Trim())) { SQL.Clear(); SQL.Add(" update XLXSWLHQ set XLXSWLHQ_YXQZ = null,XLXSWLHQ_HSJG = 0,XLXSWLHQ_WSJG = 0,XLXSWLHQ_HSJGF = 0,XLXSWLHQ_WSJGF = 0,XLXSWLHQ_HSCGJG = 0,XLXSWLHQ_WSCGJG = 0, "); SQL.Add(" XLXSWLHQ_BZ = '报价材料停用自动更新行情', XLXSWLHQ_WHRID = :XLXSWLHQ_WHRID, XLXSWLHQ_WHR = :XLXSWLHQ_WHR, XLXSWLHQ_WHSJ = :XLXSWLHQ_WHSJ "); SQL.Add(" where XLXSWLHQ_JGBID=' ' and XLXSWLHQ_YXQS=:pRQ and XLXSWLHQ_WLID = :pWLID "); SQL.ParamByName("pRQ").Value = dtYXQS; SQL.ParamByName("XLXSWLHQ_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSWLHQ_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSWLHQ_WHSJ").Value = DateTime.Now; SQL.ParamByName("pWLID").Value = sWLID; dberp.ExecSQL(SQL); } else { SQL.Clear(); SQL.Add(" update XLXSWLHQ set XLXSWLHQ_YXQZ = :pYXQZ ,XLXSWLHQ_WHRID = :XLXSWLHQ_WHRID, XLXSWLHQ_WHR = :XLXSWLHQ_WHR, XLXSWLHQ_WHSJ = :XLXSWLHQ_WHSJ "); SQL.Add(" where XLXSWLHQ_JGBID=' ' and XLXSWLHQ_YXQS=:pRQ and XLXSWLHQ_WLID = :pWLID "); SQL.ParamByName("pYXQZ").Value = DateTime.Now.AddDays(-1).ToShortDateString().Trim(); SQL.ParamByName("pRQ").Value = dtYXQS; SQL.ParamByName("XLXSWLHQ_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSWLHQ_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSWLHQ_WHSJ").Value = DateTime.Now; SQL.ParamByName("pWLID").Value = sWLID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add(" insert into XLXSWLHQ( "); SQL.Add(" XLXSWLHQ_WLID,XLXSWLHQ_JGBID,XLXSWLHQ_YXQS, XLXSWLHQ_WSJG,XLXSWLHQ_HSJG,XLXSWLHQ_HSJGF,XLXSWLHQ_WSJGF,XLXSWLHQ_WSCGJG,XLXSWLHQ_HSCGJG,"); SQL.Add(" XLXSWLHQ_BZ, XLXSWLHQ_WHRID, XLXSWLHQ_WHR, XLXSWLHQ_WHSJ )"); SQL.Add(" values("); SQL.Add(" :XLXSWLHQ_WLID,' ', :XLXSWLHQ_YXQS,0,0,0,0,0,0,"); SQL.Add(" '报价材料停用自动更新行情', :XLXSWLHQ_WHRID, :XLXSWLHQ_WHR, :XLXSWLHQ_WHSJ )"); SQL.ParamByName("XLXSWLHQ_WLID").Value = sWLID; SQL.ParamByName("XLXSWLHQ_YXQS").Value = DateTime.Now.ToShortDateString().Trim(); SQL.ParamByName("XLXSWLHQ_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSWLHQ_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSWLHQ_WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); } } else { SQL.Clear(); SQL.Add(" insert into XLXSWLHQ( "); SQL.Add(" XLXSWLHQ_WLID,XLXSWLHQ_JGBID,XLXSWLHQ_YXQS, XLXSWLHQ_WSJG,XLXSWLHQ_HSJG,XLXSWLHQ_HSJGF,XLXSWLHQ_WSJGF,XLXSWLHQ_WSCGJG,XLXSWLHQ_HSCGJG,"); SQL.Add(" XLXSWLHQ_BZ, XLXSWLHQ_WHRID, XLXSWLHQ_WHR, XLXSWLHQ_WHSJ )"); SQL.Add(" values("); SQL.Add(" :XLXSWLHQ_WLID,' ', :XLXSWLHQ_YXQS,0,0,0,0,0,0,"); SQL.Add(" '报价材料停用自动更新行情', :XLXSWLHQ_WHRID, :XLXSWLHQ_WHR, :XLXSWLHQ_WHSJ )"); SQL.ParamByName("XLXSWLHQ_WLID").Value = sWLID; SQL.ParamByName("XLXSWLHQ_YXQS").Value = DateTime.Now.ToShortDateString().Trim(); SQL.ParamByName("XLXSWLHQ_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSWLHQ_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSWLHQ_WHSJ").Value = DateTime.Now; dberp.ExecSQL(SQL); } } } } #endregion } txtOldTYBZ.Value = chkTYBZ.Checked ? "Y" : "N"; if (PageParam.ContainsKey("txtCLID")) { DialogOperationScript dos = new DialogOperationScript(this); dos.SetOwnerControlValue(PageParam.GetRTrimString("txtCLID"), txtBJCLID.Text.Trim()); dos.Execute(); } return base.Master_AfterSaveAction(sender, e); } protected override bool Master_BeforeDeleteAction(object sender, EventArgs e) { string sSQL = string.Format(" select XLXSBJCL_BJCLID from XLXSBJCL " + " where XLXSBJCL_JGYBJCLID = '{0}' ", txtBJCLID.Text.Trim()); if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage(string.Format("报价材料【{0}】已被当作加工原料使用,不允许删除!", txtBJCLID.Text.Trim())); return false; } string sCZBXX = ""; string sWLXX = ""; string sTJYZXX = ""; string sHQFD = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLJGCZBLM_JGCZBID,XLJGCZBML_JGCZBMC, "); SQL.Add(" XLJGCZBLM_JGCZBBBID AS XLJGCZBLM_JGCZBBBID, "); SQL.Add(" XLJGCZBLM_CZBLMBH,XLJGCZBLM_CZBLMMC "); SQL.Add(" from XLJGCZBLM,XLJGCZBML "); SQL.Add(" where XLJGCZBLM_JGCZBID=XLJGCZBML_JGCZBID"); SQL.Add(" and XLJGCZBML_JGCZBBBID = XLJGCZBLM_JGCZBBBID "); SQL.Add(" and XLJGCZBLM_BJCLID=:pBJCLID "); SQL.Add(" order by XLJGCZBLM_JGCZBID "); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sCZBXX = "报价材料涉及如下尺重表,不允许删除:" + "\r\n"; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sCZBXX += ds.Tables[0].Rows[i][0].ToString().Trim() + "|" + ds.Tables[0].Rows[i][1].ToString().Trim() + "|" + ds.Tables[0].Rows[i][2].ToString().Trim() + "|" + ds.Tables[0].Rows[i][3].ToString().Trim() + "|" + ds.Tables[0].Rows[i][4].ToString().Trim() + "\r\n"; } ShowMessage(sCZBXX); return false; } ds.Clear(); SQL.Clear(); SQL.Add(" select XLXSBJCLWL_WLID,WL_MC,WL_GG, "); SQL.Add(" WL_TZ,WL_CL "); SQL.Add(" from XLXSBJCLWL,WL "); SQL.Add(" where XLXSBJCLWL_WLID=WL_WLID"); SQL.Add(" and XLXSBJCLWL_BJCLID=:pBJCLID "); SQL.Add(" order by XLXSBJCLWL_WLID "); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sWLXX = "报价材料涉及如下报价材料物料,不允许删除:" + "\r\n"; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sWLXX += ds.Tables[0].Rows[i][0].ToString().Trim() + "|" + ds.Tables[0].Rows[i][1].ToString().Trim() + "|" + ds.Tables[0].Rows[i][2].ToString().Trim() + "|" + ds.Tables[0].Rows[i][3].ToString().Trim() + "|" + ds.Tables[0].Rows[i][4].ToString().Trim() + "\r\n"; } ShowMessage(sWLXX); return false; } ds.Clear(); SQL.Clear(); SQL.Add(" select XLXSJGBYZZ2_JGBID,XLXSJGBYZZ2_CPYT,XLCPYT_CPYTMC,"); SQL.Add(" XLXSJGBYZZ2_DYDJFL,XLXSJGBYZZ2_YZID,XLXSTZYZ_YZMC "); SQL.Add(" from XLXSJGBYZZ2,XLCPYT,XLXSTZYZ "); SQL.Add(" where XLXSJGBYZZ2_CPYT=XLCPYT_CPYT "); SQL.Add(" and XLXSJGBYZZ2_YZID=XLXSTZYZ_YZID and XLXSTZYZ_MXBH='JZJ' and XLXSJGBYZZ2_BJCLID=:pBJCLID "); SQL.Add(" order by XLXSJGBYZZ2_JGBID,XLXSJGBYZZ2_CPYT,XLXSJGBYZZ2_DYDJFL,XLXSJGBYZZ2_YZID "); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sTJYZXX = "报价材料涉及如下销售价格表调价因子值设置,不允许删除:" + "\r\n"; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { sTJYZXX += ds.Tables[0].Rows[i][0].ToString().Trim() + "|" + ds.Tables[0].Rows[i][1].ToString().Trim() + "|" + ds.Tables[0].Rows[i][2].ToString().Trim() + "|" + ds.Tables[0].Rows[i][3].ToString().Trim() + "|" + ds.Tables[0].Rows[i][4].ToString().Trim() + "|" + ds.Tables[0].Rows[i][5].ToString().Trim() + "\r\n"; } ShowMessage(sTJYZXX); return false; } ds.Clear(); SQL.Clear(); SQL.Add(" select top 1 XLXSJGBPZ_JGBPZDH from XLXSJGBPZ "); SQL.Add(" where XLXSJGBPZ_BJCLIDS like :pBJCLID"); SQL.ParamByName("pBJCLID").Value = "%" + txtBJCLID.Text.Trim() + "%"; ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sHQFD = "此报价材料已经被价格目录配置使用,不允许删除!" + "\r\n"; ShowMessage(sHQFD); return false; } ds.Clear(); SQL.Clear(); SQL.Add(" select top 1 XLXSBJFLBJRHQCL_BJCLID from XLXSBJFLBJRHQCL "); SQL.Add(" where XLXSBJFLBJRHQCL_BJCLID = :pBJCLID"); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sHQFD = "此报价材料已经被报价分类引用,不允许删除!" + "\r\n"; ShowMessage(sHQFD); return false; } Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; Confirm.Register("askDelete", "报价材料将删除,包含报价材料行情、材料行情分段,是否继续?"); if (Confirm.GetValue("askDelete").Trim().Equals("")) { Confirm.Ask("askDelete"); return false; } else if (Confirm.GetValue("askDelete").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return false; } else if (Confirm.GetValue("askDelete").Trim().Equals("Y")) { //表示进行了提示并选择了确认 Confirm.Clear(); } return base.Master_BeforeDeleteAction(sender, e); } protected override void AfterDelete(TDatabase db, ref bool ActionIsDone) { db.ExecSQL(string.Format("delete from XLXSCLHQ where XLXSCLHQ_BJCLID ='{0}' ", txtBJCLID.Text.Trim())); db.ExecSQL(string.Format("delete from XLXSCLHQFD where XLXSCLHQFD_BJCLID ='{0}' ", txtBJCLID.Text.Trim())); base.AfterDelete(db, ref ActionIsDone); } protected override bool Master_AfterDeleteAction(object sender, EventArgs e) { return base.Master_AfterDeleteAction(sender, e); } protected override void SetControlState() { base.SetControlState(); datWHSJ.Enabled = false; txtWHR.Enabled = false; txtBJCLID.Enabled = false; if (ControlState != TControlState.ctsBrowse) { if (chkBJJZ.Checked) { chkJTZ.Enabled = true; chkJLZ.Enabled = true; } else { chkJTZ.Enabled = false; chkJLZ.Enabled = false; } } } protected override void SetComboxItems() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); if (ControlState == TControlState.ctsBrowse) { SQL.Clear(); SQL.Add("select XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC "); SQL.Add(" from XLXSBJCL where XLXSBJCL_BJCLID= :pBJCLID"); SQL.ParamByName("pBJCLID").Value = cbxJGYBJCLID.SelectedValue.Trim(); DataSet ds = dberp.OpenDataSet(SQL); cbxJGYBJCLID.ClearItems(); cbxJGYBJCLID.Items.Add(new ListItem("", "")); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { cbxJGYBJCLID.Items.Add(new ListItem(ds.Tables[0].Rows[i]["XLXSBJCL_BJCLMC"].ToString().Trim(), ds.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim())); } } else { SQL.Clear(); if (ControlState == TControlState.ctsEdit) { SQL.Add(" select XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC "); SQL.Add(" from XLXSBJCL"); SQL.Add(" where isnull(XLXSBJCL_BJCLMC,' ')<>' ' and isnull(XLXSBJCL_JGYBJCLID,' ')= ' ' and XLXSBJCL_BJCLID <> :pBJCLID and isnull(XLXSBJCL_TYBZ,'N') <> 'Y' "); SQL.Add(" order by XLXSBJCL_BJCLID"); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); } else { SQL.Add(" select XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC "); SQL.Add(" from XLXSBJCL"); SQL.Add(" where isnull(XLXSBJCL_BJCLMC,' ')<>' ' and isnull(XLXSBJCL_JGYBJCLID,' ')= ' ' and isnull(XLXSBJCL_TYBZ,'N') <> 'Y' "); SQL.Add(" order by XLXSBJCL_BJCLID"); } DataSet ds = dberp.OpenDataSet(SQL); cbxJGYBJCLID.Items.Add(new ListItem("", "")); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { cbxJGYBJCLID.Items.Add(new ListItem((ds.Tables[0].Rows[i][1].ToString().Trim()), (ds.Tables[0].Rows[i][0].ToString().Trim()))); } } cbxZCSC.ClearItems(); TComboBox.SetComboBox("DBERP", cbxZCSC, " SELECT distinct XLZCSC_ZCSCID,XLZCSC_ZCSCMC FROM XLZCSC order by XLZCSC_ZCSCID ", true); base.SetComboxItems(); } protected override void OnPreRender(EventArgs e) { base.OnPreRender(e); string sScript = ""; #region 行情变动频率的快速检索脚本 string sDivSelect = @" function getPos(el,sProp) { var iPos = 0; while (el!=null) { iPos+=el['offset' + sProp] el = el.offsetParent } return iPos; } //在客户输入框中自动检索 function edtKeyUp(el,m) { if(document.getElementById('" + txtHQBDPL.ClientID + @"').readOnly) return; if(event.keyCode == 9) return; var sUsers,sRYList,lstBox; sUSR= el.value; sUsers=document.getElementById('" + hidHQBDPL.ClientID + @"').value; lstBox=document.getElementById('lstUSR'); lstBox.length=0; sRYList=sUsers.split('$$,'); for(var i=0; i=0) || (sRYList[i].indexOf(sUSR.toUpperCase())>=0)) { var item; item = sItem.split('↑'); if (item[0] != '') lstBox.options.add(new Option(item[0])); } } document.getElementById('btnSel').value=el.id; // event.keyCode=0; event.returnValue=false; if(lstBox.length==0) m.style.display='none'; if(lstBox.length==1) { if (lstBox.options[0].text =='') {m.style.display='none'; } else if (event.keyCode == 13) m.style.display='none'; else m.style.display=''; } if(lstBox.length>1) { m.style.display=''; } m.style.pixelLeft =getPos(el,'Left'); if((event.keyCode==40)&&(idSel.style.display=='')) { var lstBox=document.getElementById('lstUSR'); lstBox.focus(); if(lstBox.length>0) lstBox.selectedIndex=0; } } var isin=false; function selectme(obj) { if(!isin||obj) { idSel.style.display='none'; } } function lstUSRClick() { var edtSend var lstBox=document.getElementById('lstUSR'); var ss=lstBox.options[lstBox.selectedIndex].text; // event.keyCode=0; event.returnValue=false; edtSend= document.getElementById(document.getElementById('btnSel').value); edtSend.value=ss; idSel.style.display='none'; edtSend.focus(); } /* 以下使窗体点击时selectme(obj)函数被激活: */ myActivation='selectme(null)'; if(document.body.onclick) { eval(document.body.onclick.toString().replace('anonymous()','bodyclick()')); document.body.onclick=new Function('bodyclick();'+myActivation); } else document.body.onclick=new Function(myActivation); function cc() { var e = event.srcElement; var r =e.createTextRange(); r.moveStart('character',e.value.length); r.collapse(true); r.select(); } "; #endregion sScript += sDivSelect; ClientScript.RegisterStartupScript(this.GetType(), "Script_PreRender", sScript, true); } #endregion #region 控件事件 protected void chkBJJZ_CheckedChanged(object sender, EventArgs e) { if (chkBJJZ.Checked) { chkJTZ.Enabled = true; chkJLZ.Enabled = true; } else { chkJTZ.Checked = false; chkJLZ.Checked = false; chkJTZ.Enabled = false; chkJLZ.Enabled = false; } } protected void chkJTZ_CheckedChanged(object sender, EventArgs e) { if (chkJTZ.Checked) { chkJLZ.Checked = false; } } protected void chkJLZ_CheckedChanged(object sender, EventArgs e) { if (chkJLZ.Checked) { chkJTZ.Checked = false; } } protected void OncbxZCSCSelectedChanged(object sender, EventArgs e) { cbxZCSCPZ.ClearItems(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add("SELECT distinct XLZCSC_ZCSCPZ FROM XLZCSC where 1=1 and isnull(XLZCSC_ZCSCPZ, ' ') <> ' '"); if (!cbxZCSC.SelectedValue.Trim().Equals("")) sql.Add(" and XLZCSC_ZCSCID = '" + cbxZCSC.SelectedValue.Trim() + "' "); else sql.Add(" and 1<> 1 "); sql.Add(" order by XLZCSC_ZCSCPZ "); DataSet ds = dberp.OpenDataSet(sql); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sZCSCPZ = ds.Tables[0].Rows[i]["XLZCSC_ZCSCPZ"].ToString().Trim(); cbxZCSCPZ.Items.Add(new ListItem(sZCSCPZ, sZCSCPZ)); } } protected void chkTYBZ_CheckedChanged(object sender, EventArgs e) { if (ControlState != TControlState.ctsBrowse) { if (chkTYBZ.Checked) datTYRQ.Text = CMISproConvert.ConvertDate(System.DateTime.Today); else { datQYRQ.Text = CMISproConvert.ConvertDate(System.DateTime.Today); datTYRQ.Text = ""; } } } #endregion #region 自定义事件 private string GetNewBJCLID() { string sPrefix = "BJCL00"; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add("select max(XLXSBJCL_BJCLID) from XLXSBJCL where XLXSBJCL_BJCLID like :pPrefix"); SQL.ParamByName("pPrefix").Value = sPrefix + '%'; DataSet ds = dberp.OpenDataSet(SQL); if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0][0].ToString().Trim())) { double dTemp = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString().Trim().Substring(6, 4)); return sPrefix + Convert.ToString(dTemp + 1).PadLeft(4, '0'); } else { return sPrefix + "0000"; } } private void InitControls() { cbxBJHQ.ClearItems(); cbxBJHQ.Items.Add(new ListItem("材料行情", "1")); cbxBJHQ.Items.Add(new ListItem("物料行情", "2")); } private void LoadHQBDPLGroup() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); StringBuilder sUsers = new StringBuilder(); try { TSQL sql = new TSQL(dberp); DataSet ds; sql.Clear(); sql.Add("select distinct XLXSBJCL_HQBDPL as HQBDPL from XLXSBJCL "); ds = dberp.OpenDataSet(sql); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (!ds.Tables[0].Rows[i]["HQBDPL"].ToString().Trim().Equals("")) { sUsers.Append(ds.Tables[0].Rows[i]["HQBDPL"].ToString().Trim() + "↑" + CMISproConvert.ConvertZJM(ds.Tables[0].Rows[i]["HQBDPL"].ToString().Trim()).ToUpper() + "##" + ds.Tables[0].Rows[i]["HQBDPL"].ToString().Trim() + "$" + "$,"); } } } catch { ShowMessage("打开数据集出错,请和系统管理员联系!"); return; } finally { hidHQBDPL.Text = sUsers.ToString().Trim(); } } #endregion } }