#region 功能说明 /* * 参数说明: * 注意事项: * 更新记录: */ #endregion 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 System.Text; using GThinking.N_MISPRO; using GThinking.N_MISPRO.Data; using GThinking.N_MODEL.Page; using GThinking.N_MISPRO.Utility; using GThinking.N_PUBLIC; using GThinking.N_PUBLIC2; using GThinking.N_MODEL.Dialog; using GThinking.N_CONTROL; namespace GThinking.N_XLXSBJ { public partial class CLHQInfo : SingleCardBase { XLXSCLHQ entity = new XLXSCLHQ(); XLXSCLHQ_HIS entity_his = new XLXSCLHQ_HIS(); #region Page类事件继承 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860003; this.UMName = "线缆销售报价材料行情"; this.CurMaster = Master; this.CurEntity = entity; this.PageHeight = 600; this.PageWidth = 750; this.Master.EnableInsertBtn = false; this.Master.EnableCopyBtn = false; this.Master.EnableDeleteBtn = false; txtWSJG.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal; txtWSJGF.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal; txtWSCGJG.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal; txtHSJG.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal; txtHSJGF.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal; txtHSCGJG.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal; base.InitPage(); if (txtTYBZ.Value.Trim().Equals("Y")) this.Master.EnableEditBtn = false; if (!IsPostBack) ifrHistory.Attributes["src"] = "CLHQHistory.aspx?BJCLID=" + txtBJCLID.Text.Trim(); InitControls(); } #endregion #region 模板事件继承 protected override void SetControlState() { base.SetControlState(); if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy ) { txtBJCLID.Enabled = true; } else { txtBJCLID.Enabled = false; } txtCLMC.Enabled = false; txtWHR.Enabled = false; datWHSJ.Enabled = false; txtZZSL.Enabled = false; datYXQS.Enabled = false; datYXQZ.Enabled = false; btnBL.Enabled = ControlState == TControlState.ctsBrowse; if (ControlState == TControlState.ctsEdit) { set_BeforeEdit(); } /* 当设置为0|不限时,无税材料价格、含税材料价格、无税采购价格、含税采购价格都能改。 当设置为1|材料行情时,只能修改无税材料价格、含税材料价格这两项。 当设置为2|采购行情时,只能修改无税采购价格、含税采购价格这两项。 */ string sBJU013 = GetOption("BJU013"); if (ControlState == TControlState.ctsEdit) { if (sBJU013.Equals("1")) { if (lblWSCGJG.Visible) { txtWSCGJG.Enabled = false; txtHSCGJG.Enabled = false; } } else if (sBJU013.Equals("2")) { txtWSJG.Enabled = false; txtHSJG.Enabled = false; } } if (ControlState == TControlState.ctsBrowse) { string sBDQK = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select XLXSCLHQ_BDQK,XLXSCLHQ_HSJG,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ "); SQL.Add(" from XLXSCLHQ "); SQL.Add(" where XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID "); SQL.ParamByName("pRQ").Value = DateTime.Now.ToShortDateString(); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); DataSet dsCLHQ = dberp.OpenDataSet(SQL); if (dsCLHQ.Tables[0].Rows.Count > 0) { sBDQK = dsCLHQ.Tables[0].Rows[0]["XLXSCLHQ_BDQK"].ToString().Trim(); if (!sBDQK.Equals("")) { lblWHSJ.ToolTip = sBDQK.Replace("|", "\r\n"); } } } } protected override void LoadRecord() { if (!IsPostBack) { if (string.IsNullOrEmpty(PageParam.GetRTrimString("XLXSCLHQ_BJCLID"))) { entity.Param.Add("OLD_XLXSCLHQ_BJCLID", ""); } else { entity.Param.Add("OLD_XLXSCLHQ_BJCLID", PageParam.GetRTrimString("XLXSCLHQ_BJCLID")); } if (string.IsNullOrEmpty(PageParam.GetRTrimString("XLXSCLHQ_YXQS"))) { entity.Param.Add("OLD_XLXSCLHQ_YXQS", ""); } else { entity.Param.Add("OLD_XLXSCLHQ_YXQS", PageParam.GetRTrimString("XLXSCLHQ_YXQS")); } } else { entity.Param.Add("OLD_XLXSCLHQ_BJCLID", txtOLD_BJCLID.Value); entity.Param.Add("OLD_XLXSCLHQ_YXQS", txtOLD_YXQS.Value); } base.LoadRecord(); txtOLD_YXQS.Value = datYXQS.Text.Trim(); txtOLD_YXQZ.Value = datYXQZ.Text.Trim(); txtOLD_BJCLID.Value = txtBJCLID.Text.Trim(); txtZT.Value = ""; txtBJCLID_TextChanged(null, null); } protected override void OnNewRecorder() { base.OnNewRecorder(); datYXQS.Text = CMISproConvert.ConvertDate(System.DateTime.Today); txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Text = CMISproConvert.ConvertTime(DateTime.Now); } protected override void OnCopyRecorder() { datYXQS.Text = CMISproConvert.ConvertDate(System.DateTime.Today); txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Text = CMISproConvert.ConvertTime(DateTime.Now); } protected override bool DataLogicValid() { if (!base.DataLogicValid()) return false; if (txtHSJG.Value < 0) { ShowMessage("含税材料价格不允许小于0!"); return false; } if (txtWSJG.Value < 0) { ShowMessage("无税材料价格不允许小于0!"); return false; } //if (txtHSJGF.Value < 0) //{ // ShowMessage("含税加工费不允许小于0!"); // return false; //} //if(txtWSJGF.Value < 0) //{ // ShowMessage("无税加工费不允许小于0!"); // return false; //} if (txtHSCGJG.Value < 0) { ShowMessage("含税采购价格不允许小于0!"); return false; } if (txtWSCGJG.Value < 0) { ShowMessage("无税采购价格不允许小于0!"); return false; } if (txtZZSL.Value < 0) { ShowMessage("增值税率不允许小于0!"); return false; } if (!CMISproDataBase.ExistsRecord("DBERP", "select 1 from XLXSBJCL where XLXSBJCL_BJCLID='" + txtBJCLID.Text.Trim() + "' ")) { ShowMessage("报价材料不存在,不允许保存!"); return false; } if (txtZT.Value.Equals("BL")) { if (CMISproConvert.StrToDateTime(datYXQS.Text) >= CMISproConvert.StrToDateTime((datYXQZ.Text))) { ShowMessage("有效期始必须小于有效期止!"); return false; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSBJCL_JGYBJCLID from XLXSBJCL where XLXSBJCL_BJCLID = :pBJCLID and isnull(XLXSBJCL_JGYBJCLID,' ') <> ' ' "); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.ToString().Trim(); DataSet dsBJCL = dberp.OpenDataSet(SQL); if (dsBJCL.Tables[0].Rows.Count > 0) { string sJGYLID = dsBJCL.Tables[0].Rows[0]["XLXSBJCL_JGYBJCLID"].ToString().Trim(); SQL.Clear(); SQL.Add(" select XLXSCLHQ_YXQS "); SQL.Add(" from XLXSCLHQ "); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID "); SQL.Add(" and XLXSCLHQ_YXQS="); SQL.Add(" ("); SQL.Add(" select min(XLXSCLHQ_YXQS) as maxYXQS"); SQL.Add(" from XLXSCLHQ"); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'"); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID"); SQL.Add(" )"); SQL.ParamByName("pBJCLID").Value = sJGYLID; DataSet dsJGYL = dberp.OpenDataSet(SQL); if (dsJGYL.Tables[0].Rows.Count > 0) { DateTime YXQS = CMISproConvert.StrToDateTime(dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_YXQS"].ToString().Trim()); if (CMISproConvert.StrToDateTime(datYXQS.Text) < YXQS) { ShowMessage("有效期始必须大于或等于加工原料的最小有效期始!"); return false; } } } } return true; } protected override bool Master_BeforeSaveAction(object sender, EventArgs e) { if (!base.Master_BeforeSaveAction(sender, e)) return false; txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now); if ((ControlState == TControlState.ctsInsert) || (ControlState == TControlState.ctsCopy)) { } return true; } protected override void BeforeSave(TDatabase db, ref bool ActionIsDone) { base.BeforeSave(db, ref ActionIsDone); } protected override void AfterSave(TDatabase db, ref bool ActionIsDone) { if (ControlState == TControlState.ctsEdit) { try { string sBDQK = ""; string sUserName = tSession.UserName; string sHSJE = ""; string sWHSJ = DateTime.Now.ToString().Trim(); //加工料材料 string sJGLBJCL = ""; //标志,用以区分直接编辑加工料还是联动 int flag = 0; TSQL SQL = new TSQL(db); SQL.Clear(); SQL.Add(" select XLXSBJCL_JGYBJCLID,XLXSBJCL_BJCLID,XLXSBJCL_BJCLMC from XLXSBJCL where (XLXSBJCL_BJCLID = :pBJCLID or XLXSBJCL_JGYBJCLID = :pBJCLID) order by XLXSBJCL_JGYBJCLID "); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.ToString().Trim(); DataSet dsBJCL = db.OpenDataSet(SQL); if (dsBJCL.Tables[0].Rows.Count > 0) { //判断并且先处理 加工原料 铜 for (int i = 0; i < dsBJCL.Tables[0].Rows.Count; i++) { if (dsBJCL.Tables[0].Rows[i]["XLXSBJCL_JGYBJCLID"].ToString().Trim().Equals("")) { flag = 1; SQL.Clear(); //查询是否存在当日记录 SQL.Add("select XLXSCLHQ_BDQK,XLXSCLHQ_HSJG,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ from XLXSCLHQ where XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID "); SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim(); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); DataSet ds = db.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sBDQK = ds.Tables[0].Rows[0]["XLXSCLHQ_BDQK"].ToString().Trim(); sHSJE = ds.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim(); sUserName = ds.Tables[0].Rows[0]["XLXSCLHQ_WHR"].ToString().Trim(); sWHSJ = ds.Tables[0].Rows[0]["XLXSCLHQ_WHSJ"].ToString().Trim(); GetBDQK(sWHSJ, sUserName, sHSJE, ref sBDQK); SQL.Clear(); SQL.Add(" update XLXSCLHQ "); SQL.Add(" set XLXSCLHQ_WSJG = :XLXSCLHQ_WSJG,XLXSCLHQ_HSJG=:XLXSCLHQ_HSJG, "); SQL.Add(" XLXSCLHQ_WSCGJG=:XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG=:XLXSCLHQ_HSCGJG,"); SQL.Add(" XLXSCLHQ_BDQK=:XLXSCLHQ_BDQK,"); SQL.Add(" XLXSCLHQ_YXQS = :XLXSCLHQ_YXQS, XLXSCLHQ_YXQZ = :XLXSCLHQ_YXQZ, XLXSCLHQ_BZ = :XLXSCLHQ_BZ, 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("XLXSCLHQ_WSJG").Value = txtWSJG.Value; SQL.ParamByName("XLXSCLHQ_HSJG").Value = txtHSJG.Value; SQL.ParamByName("XLXSCLHQ_WSCGJG").Value = txtWSCGJG.Value; SQL.ParamByName("XLXSCLHQ_HSCGJG").Value = txtHSCGJG.Value; SQL.ParamByName("XLXSCLHQ_BDQK").Value = sBDQK; SQL.ParamByName("XLXSCLHQ_YXQS").Value = datYXQS.Text; if (datYXQZ.Text.Equals("")) { SQL.ParamByName("XLXSCLHQ_YXQZ").Clear(); } else { SQL.ParamByName("XLXSCLHQ_YXQZ").Value = datYXQZ.Text; } SQL.ParamByName("XLXSCLHQ_BZ").Value = txtBZ.Text; SQL.ParamByName("XLXSCLHQ_WHR").Value = txtWHR.Text; SQL.ParamByName("XLXSCLHQ_WHRID").Value = txtWHRID.Value; SQL.ParamByName("XLXSCLHQ_WHSJ").Value = datWHSJ.Text; SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim(); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); db.ExecSQL(SQL); } else { SQL.Clear(); SQL.Add(" insert into XLXSCLHQ( "); SQL.Add(" XLXSCLHQ_BJCLID,XLXSCLHQ_JGBID, XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG, XLXSCLHQ_YXQS, XLXSCLHQ_YXQZ,"); SQL.Add(" XLXSCLHQ_BZ, XLXSCLHQ_WHRID, XLXSCLHQ_WHR, XLXSCLHQ_WHSJ )"); SQL.Add(" values("); SQL.Add(" :XLXSCLHQ_BJCLID,'ZZZZZZZZ', :XLXSCLHQ_WSJG,:XLXSCLHQ_HSJG,:XLXSCLHQ_WSCGJG,:XLXSCLHQ_HSCGJG, :XLXSCLHQ_YXQS, :XLXSCLHQ_YXQZ,"); SQL.Add(" :XLXSCLHQ_BZ, :XLXSCLHQ_WHRID, :XLXSCLHQ_WHR, :XLXSCLHQ_WHSJ )"); SQL.ParamByName("XLXSCLHQ_WSJG").Value = txtWSJG.Value; SQL.ParamByName("XLXSCLHQ_HSJG").Value = txtHSJG.Value; SQL.ParamByName("XLXSCLHQ_WSCGJG").Value = txtWSCGJG.Value; SQL.ParamByName("XLXSCLHQ_HSCGJG").Value = txtHSCGJG.Value; SQL.ParamByName("XLXSCLHQ_YXQS").Value = datYXQS.Text; if (datYXQZ.Text.Equals("")) { SQL.ParamByName("XLXSCLHQ_YXQZ").Clear(); } else { SQL.ParamByName("XLXSCLHQ_YXQZ").Value = datYXQZ.Text; } SQL.ParamByName("XLXSCLHQ_BZ").Value = txtBZ.Text; SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now; SQL.ParamByName("XLXSCLHQ_BJCLID").Value = txtBJCLID.Text.Trim(); db.ExecSQL(SQL); //并找到最近的一条记录,若其有效期止为空就将其置为所保存记录的有效期始减一天。 SQL.Clear(); SQL.Add(" update XLXSCLHQ set XLXSCLHQ_YXQZ=dateadd(day,-1,:pYXQS) "); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'"); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID"); SQL.Add(" and XLXSCLHQ_YXQS="); SQL.Add(" ("); SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS"); SQL.Add(" from XLXSCLHQ"); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID"); SQL.Add(" and XLXSCLHQ_YXQS<=dateadd(day,-1,:pYXQS) "); SQL.Add(" )"); SQL.Add(" and XLXSCLHQ_YXQZ is null "); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); SQL.ParamByName("pYXQS").Value = datYXQS.Text; db.ExecSQL(SQL); } } } string sJGLBJCLID = ""; string sJGLWLBJCLID = ""; for (int i = 0; i < dsBJCL.Tables[0].Rows.Count; i++) { sJGLBJCLID = dsBJCL.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim(); if (!dsBJCL.Tables[0].Rows[i]["XLXSBJCL_JGYBJCLID"].ToString().Trim().Equals("")) { //直接编辑铜丝导致数据变更----编辑了加工费 if (0 == flag) { SQL.Clear(); //查询是否存在当日记录 SQL.Add("select XLXSCLHQ_BDQK,XLXSCLHQ_HSJG,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ from XLXSCLHQ where XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID "); SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim(); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); DataSet ds = db.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sBDQK = ds.Tables[0].Rows[0]["XLXSCLHQ_BDQK"].ToString().Trim(); sHSJE = ds.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim(); sUserName = ds.Tables[0].Rows[0]["XLXSCLHQ_WHR"].ToString().Trim(); sWHSJ = ds.Tables[0].Rows[0]["XLXSCLHQ_WHSJ"].ToString().Trim(); GetBDQK(sWHSJ, sUserName, sHSJE, ref sBDQK); SQL.Clear(); SQL.Add(" update XLXSCLHQ "); SQL.Add(" set XLXSCLHQ_WSJG = :XLXSCLHQ_WSJG,XLXSCLHQ_HSJG=:XLXSCLHQ_HSJG,XLXSCLHQ_HSJGF=:XLXSCLHQ_HSJGF,XLXSCLHQ_WSJGF=:XLXSCLHQ_WSJGF, "); SQL.Add(" XLXSCLHQ_WSCGJG=:XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG=:XLXSCLHQ_HSCGJG,XLXSCLHQ_HSJG1=:XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1=:XLXSCLHQ_WSJG1,"); SQL.Add(" XLXSCLHQ_JGBL1=:XLXSCLHQ_JGBL1,XLXSCLHQ_JGYBJCLID1=:XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_BDQK=:XLXSCLHQ_BDQK,"); SQL.Add(" XLXSCLHQ_YXQS = :XLXSCLHQ_YXQS, XLXSCLHQ_YXQZ = :XLXSCLHQ_YXQZ, XLXSCLHQ_BZ = :XLXSCLHQ_BZ, 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("XLXSCLHQ_WSJGF").Value = txtWSJGF.Value; SQL.ParamByName("XLXSCLHQ_HSJGF").Value = txtHSJGF.Value; SQL.ParamByName("XLXSCLHQ_WSJG").Value = txtWSJG.Value; SQL.ParamByName("XLXSCLHQ_HSJG").Value = txtHSJG.Value; SQL.ParamByName("XLXSCLHQ_WSCGJG").Value = txtWSCGJG.Value; SQL.ParamByName("XLXSCLHQ_HSCGJG").Value = txtHSCGJG.Value; SQL.ParamByName("XLXSCLHQ_HSJG1").Value = CMISproConvert.StrToFloat(txtJGYLHSJG1.Value); SQL.ParamByName("XLXSCLHQ_WSJG1").Value = CMISproConvert.StrToFloat(txtJGYLWSJG1.Value); SQL.ParamByName("XLXSCLHQ_JGBL1").Value = CMISproConvert.StrToFloat(txtJGBL1.Value); SQL.ParamByName("XLXSCLHQ_JGYBJCLID1").Value = txtJGYBJCLID1.Value.Trim(); SQL.ParamByName("XLXSCLHQ_BDQK").Value = sBDQK; SQL.ParamByName("XLXSCLHQ_YXQS").Value = datYXQS.Text; if (datYXQZ.Text.Equals("")) { SQL.ParamByName("XLXSCLHQ_YXQZ").Clear(); } else { SQL.ParamByName("XLXSCLHQ_YXQZ").Value = datYXQZ.Text; } SQL.ParamByName("XLXSCLHQ_BZ").Value = txtBZ.Text; SQL.ParamByName("XLXSCLHQ_WHR").Value = txtWHR.Text; SQL.ParamByName("XLXSCLHQ_WHRID").Value = txtWHRID.Value; SQL.ParamByName("XLXSCLHQ_WHSJ").Value = datWHSJ.Text; SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim(); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); db.ExecSQL(SQL); } else { SQL.Clear(); SQL.Add(" insert into XLXSCLHQ( "); SQL.Add(" XLXSCLHQ_BJCLID,XLXSCLHQ_JGBID, XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG, XLXSCLHQ_YXQS, XLXSCLHQ_YXQZ,"); SQL.Add(" XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1,XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_BZ, XLXSCLHQ_WHRID, XLXSCLHQ_WHR, XLXSCLHQ_WHSJ )"); SQL.Add(" values("); SQL.Add(" :XLXSCLHQ_BJCLID,'ZZZZZZZZ', :XLXSCLHQ_WSJG,:XLXSCLHQ_HSJG, :XLXSCLHQ_WSJGF, :XLXSCLHQ_HSJGF,:XLXSCLHQ_WSCGJG,:XLXSCLHQ_HSCGJG, :XLXSCLHQ_YXQS, :XLXSCLHQ_YXQZ,"); SQL.Add(" :XLXSCLHQ_HSJG1,:XLXSCLHQ_WSJG1,:XLXSCLHQ_JGBL1,:XLXSCLHQ_JGYBJCLID1,:XLXSCLHQ_BZ, :XLXSCLHQ_WHRID, :XLXSCLHQ_WHR, :XLXSCLHQ_WHSJ )"); SQL.ParamByName("XLXSCLHQ_WSJGF").Value = txtWSJGF.Value; SQL.ParamByName("XLXSCLHQ_HSJGF").Value = txtHSJGF.Value; SQL.ParamByName("XLXSCLHQ_WSJG").Value = txtWSJG.Value; SQL.ParamByName("XLXSCLHQ_HSJG").Value = txtHSJG.Value; SQL.ParamByName("XLXSCLHQ_WSCGJG").Value = txtWSCGJG.Value; SQL.ParamByName("XLXSCLHQ_HSCGJG").Value = txtHSCGJG.Value; SQL.ParamByName("XLXSCLHQ_HSJG1").Value = CMISproConvert.StrToFloat(txtJGYLHSJG1.Value); SQL.ParamByName("XLXSCLHQ_WSJG1").Value = CMISproConvert.StrToFloat(txtJGYLWSJG1.Value); SQL.ParamByName("XLXSCLHQ_JGBL1").Value = CMISproConvert.StrToFloat(txtJGBL1.Value); SQL.ParamByName("XLXSCLHQ_JGYBJCLID1").Value = txtJGYBJCLID1.Value.Trim(); SQL.ParamByName("XLXSCLHQ_YXQS").Value = datYXQS.Text; if (datYXQZ.Text.Equals("")) { SQL.ParamByName("XLXSCLHQ_YXQZ").Clear(); } else { SQL.ParamByName("XLXSCLHQ_YXQZ").Value = datYXQZ.Text; } SQL.ParamByName("XLXSCLHQ_BZ").Value = txtBZ.Text; SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now; SQL.ParamByName("XLXSCLHQ_BJCLID").Value = txtBJCLID.Text.Trim(); db.ExecSQL(SQL); //并找到最近的一条记录,若其有效期止为空就将其置为所保存记录的有效期始减一天。 SQL.Clear(); SQL.Add(" update XLXSCLHQ set XLXSCLHQ_YXQZ=dateadd(day,-1,:pYXQS) "); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'"); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID"); SQL.Add(" and XLXSCLHQ_YXQS="); SQL.Add(" ("); SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS"); SQL.Add(" from XLXSCLHQ"); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID"); SQL.Add(" and XLXSCLHQ_YXQS<=dateadd(day,-1,:pYXQS) "); SQL.Add(" )"); SQL.Add(" and XLXSCLHQ_YXQZ is null "); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); SQL.ParamByName("pYXQS").Value = datYXQS.Text; db.ExecSQL(SQL); } } //编辑铜导致铜丝数据变更 else { sJGLBJCL = sJGLBJCL + dsBJCL.Tables[0].Rows[i]["XLXSBJCL_BJCLMC"].ToString().Trim() + "、"; SQL.Clear(); //查询是否存在当日记录 SQL.Add("select XLXSCLHQ_BDQK,XLXSCLHQ_HSJG,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ from XLXSCLHQ where XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID "); SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim(); SQL.ParamByName("pBJCLID").Value = sJGLBJCLID; DataSet ds = db.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sBDQK = ds.Tables[0].Rows[0]["XLXSCLHQ_BDQK"].ToString().Trim(); sHSJE = ds.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim(); sUserName = ds.Tables[0].Rows[0]["XLXSCLHQ_WHR"].ToString().Trim(); sWHSJ = ds.Tables[0].Rows[0]["XLXSCLHQ_WHSJ"].ToString().Trim(); GetBDQK(sWHSJ, sUserName, sHSJE, ref sBDQK); SQL.Clear(); SQL.Add(" update XLXSCLHQ "); SQL.Add(" set XLXSCLHQ_WSJG1 = :XLXSCLHQ_WSJG,XLXSCLHQ_HSJG1=:XLXSCLHQ_HSJG, "); SQL.Add(" XLXSCLHQ_WSCGJG = (:XLXSCLHQ_WSCGJG+XLXSCLHQ_WSJGF),XLXSCLHQ_HSCGJG=(:XLXSCLHQ_HSCGJG+XLXSCLHQ_HSJGF), "); SQL.Add(" XLXSCLHQ_JGYBJCLID1=:XLXSCLHQ_JGYBJCLID1,"); SQL.Add(" XLXSCLHQ_BDQK=:XLXSCLHQ_BDQK,"); SQL.Add(" XLXSCLHQ_YXQS = :XLXSCLHQ_YXQS, 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("XLXSCLHQ_WSJG").Value = txtWSJG.Value; SQL.ParamByName("XLXSCLHQ_HSJG").Value = txtHSJG.Value; SQL.ParamByName("XLXSCLHQ_WSCGJG").Value = txtWSCGJG.Value; SQL.ParamByName("XLXSCLHQ_HSCGJG").Value = txtHSCGJG.Value; SQL.ParamByName("XLXSCLHQ_JGYBJCLID1").Value = txtBJCLID.Text.Trim(); SQL.ParamByName("XLXSCLHQ_BDQK").Value = sBDQK; SQL.ParamByName("XLXSCLHQ_YXQS").Value = datYXQS.Text; SQL.ParamByName("XLXSCLHQ_WHR").Value = txtWHR.Text; SQL.ParamByName("XLXSCLHQ_WHRID").Value = txtWHRID.Value; SQL.ParamByName("XLXSCLHQ_WHSJ").Value = datWHSJ.Text; SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim(); SQL.ParamByName("pBJCLID").Value = sJGLBJCLID; db.ExecSQL(SQL); } else { SQL.Clear(); SQL.Add(" insert into XLXSCLHQ( "); SQL.Add(" XLXSCLHQ_BJCLID,XLXSCLHQ_JGBID, XLXSCLHQ_WSJG1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF, "); SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_JGBL1,XLXSCLHQ_YXQS, XLXSCLHQ_YXQZ,XLXSCLHQ_BZ, XLXSCLHQ_WHRID, XLXSCLHQ_WHR, XLXSCLHQ_WHSJ )"); SQL.Add(" SELECT :pBJCLID,'ZZZZZZZZ', :XLXSCLHQ_WSJG,:XLXSCLHQ_HSJG, "); SQL.Add(" :XLXSCLHQ_WSCGJG + isnull(XLXSCLHQ_WSJGF,0),:XLXSCLHQ_HSCGJG + isnull(XLXSCLHQ_HSJGF,0),"); SQL.Add(" isnull(XLXSCLHQ_WSJGF,0), isnull(XLXSCLHQ_HSJGF,0), "); SQL.Add(" :XLXSCLHQ_JGYBJCLID1, isnull(XLXSCLHQ_JGBL1,0), "); SQL.Add(" :pYXQS, :XLXSCLHQ_YXQZ,:XLXSCLHQ_BZ, :XLXSCLHQ_WHRID, :XLXSCLHQ_WHR, :XLXSCLHQ_WHSJ "); SQL.Add(" from XLXSCLHQ "); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'"); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID"); SQL.Add(" and XLXSCLHQ_YXQS="); SQL.Add(" ("); SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS"); SQL.Add(" from XLXSCLHQ"); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID"); SQL.Add(" and XLXSCLHQ_YXQS<=dateadd(day,0,:pYXQS) "); SQL.Add(" )"); SQL.Add(" and XLXSCLHQ_YXQZ is null "); SQL.ParamByName("XLXSCLHQ_WSJG").Value = txtWSJG.Value; SQL.ParamByName("XLXSCLHQ_HSJG").Value = txtHSJG.Value; SQL.ParamByName("XLXSCLHQ_WSCGJG").Value = txtWSCGJG.Value; SQL.ParamByName("XLXSCLHQ_HSCGJG").Value = txtHSCGJG.Value; SQL.ParamByName("XLXSCLHQ_JGYBJCLID1").Value = txtBJCLID.Text.Trim(); SQL.ParamByName("pYXQS").Value = datYXQS.Text; if (datYXQZ.Text.Equals("")) { SQL.ParamByName("XLXSCLHQ_YXQZ").Clear(); } else { SQL.ParamByName("XLXSCLHQ_YXQZ").Value = datYXQZ.Text; } SQL.ParamByName("XLXSCLHQ_BZ").Value = ""; SQL.ParamByName("XLXSCLHQ_WHR").Value = tSession.UserName; SQL.ParamByName("XLXSCLHQ_WHRID").Value = tSession.UserId; SQL.ParamByName("XLXSCLHQ_WHSJ").Value = DateTime.Now; SQL.ParamByName("pBJCLID").Value = sJGLBJCLID; db.ExecSQL(SQL); //并找到最近的一条记录,若其有效期止为空就将其置为所保存记录的有效期始减一天。 SQL.Clear(); SQL.Add(" update XLXSCLHQ set XLXSCLHQ_YXQZ=dateadd(day,-1,:pYXQS) "); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'"); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID"); SQL.Add(" and XLXSCLHQ_YXQS="); SQL.Add(" ("); SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS"); SQL.Add(" from XLXSCLHQ"); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID"); SQL.Add(" and XLXSCLHQ_YXQS<=dateadd(day,-1,:pYXQS) "); SQL.Add(" )"); SQL.Add(" and XLXSCLHQ_YXQZ is null "); SQL.ParamByName("pBJCLID").Value = sJGLBJCLID; SQL.ParamByName("pYXQS").Value = datYXQS.Text; db.ExecSQL(SQL); } //更新或插入后处理加工料的HSJG、WSJG SQL.Clear(); SQL.Add(" update XLXSCLHQ set XLXSCLHQ_WSJG=XLXSCLHQ_WSJG1*XLXSCLHQ_JGBL1+XLXSCLHQ_WSJGF, "); SQL.Add(" XLXSCLHQ_HSJG=XLXSCLHQ_HSJG1*XLXSCLHQ_JGBL1+XLXSCLHQ_HSJGF "); SQL.Add(" where XLXSCLHQ_JGBID ='ZZZZZZZZ' and XLXSCLHQ_YXQS= :pRQ and XLXSCLHQ_BJCLID = :pBJCLID "); SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim(); SQL.ParamByName("pBJCLID").Value = sJGLBJCLID; db.ExecSQL(SQL); // sJGLBJCLID = dsBJCL.Tables[0].Rows[i]["XLXSBJCL_BJCLID"].ToString().Trim(); //补充----同步调整对应的物料行情 SQL.Clear(); SQL.Add(" SELECT XLXSBJCLWL_WLID,XLXSBJCLWL_BJCLID,XLXSBJCL_BJCLMC FROM XLXSBJCLWL "); SQL.Add(" left join XLXSBJCL on XLXSBJCL_BJCLID=XLXSBJCLWL_BJCLID "); SQL.Add(" WHERE 1 = 1 AND isnull(XLXSBJCL_BJCLMC, ' ')<> ' ' and XLXSBJCL_BJHQ = '2' and isnull(XLXSBJCL_JGYBJCLID,' ') <> ' ' "); DataSet dsBJCLWL = db.OpenDataSet(SQL); if (dsBJCLWL.Tables[0].Rows.Count > 0) { for (int j = 0; j < dsBJCLWL.Tables[0].Rows.Count; j++) { if (dsBJCLWL.Tables[0].Rows[j]["XLXSBJCLWL_BJCLID"].ToString().Trim().Equals(sJGLBJCLID)) { if (!sJGLWLBJCLID.Contains(dsBJCLWL.Tables[0].Rows[j]["XLXSBJCL_BJCLMC"].ToString().Trim())) { sJGLWLBJCLID = sJGLWLBJCLID + dsBJCLWL.Tables[0].Rows[j]["XLXSBJCL_BJCLMC"].ToString().Trim() + "、"; } string sWLID = dsBJCLWL.Tables[0].Rows[j]["XLXSBJCLWL_WLID"].ToString().Trim(); SQL.Clear(); //查询是否存在插入记录 SQL.Add("select 1 from XLXSWLHQ where XLXSWLHQ_JGBID =' ' and XLXSWLHQ_YXQS= :pRQ and XLXSWLHQ_WLID = :pWLID "); SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim(); SQL.ParamByName("pWLID").Value = sWLID; DataSet dsWLHQ = db.OpenDataSet(SQL); if (dsWLHQ.Tables[0].Rows.Count > 0) { SQL.Clear(); SQL.Add(" update XLXSWLHQ "); SQL.Add(" set XLXSWLHQ_WSJG1 = :XLXSWLHQ_WSJG,XLXSWLHQ_HSJG1=:XLXSWLHQ_HSJG, "); SQL.Add(" XLXSWLHQ_WSCGJG = (:XLXSWLHQ_WSCGJG + XLXSWLHQ_WSJGF),XLXSWLHQ_HSCGJG=(:XLXSWLHQ_HSCGJG + XLXSWLHQ_HSJGF), "); SQL.Add(" XLXSWLHQ_JGYBJCLID1=:XLXSWLHQ_JGYBJCLID1,"); SQL.Add(" XLXSWLHQ_YXQS = :XLXSWLHQ_YXQS, 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("XLXSWLHQ_WSJG").Value = txtWSJG.Value; SQL.ParamByName("XLXSWLHQ_HSJG").Value = txtHSJG.Value; SQL.ParamByName("XLXSWLHQ_WSCGJG").Value = txtWSCGJG.Value; SQL.ParamByName("XLXSWLHQ_HSCGJG").Value = txtHSCGJG.Value; SQL.ParamByName("XLXSWLHQ_JGYBJCLID1").Value = txtBJCLID.Text.Trim(); SQL.ParamByName("XLXSWLHQ_YXQS").Value = datYXQS.Text; SQL.ParamByName("XLXSWLHQ_WHR").Value = txtWHR.Text; SQL.ParamByName("XLXSWLHQ_WHRID").Value = txtWHRID.Value; SQL.ParamByName("XLXSWLHQ_WHSJ").Value = datWHSJ.Text; SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim(); SQL.ParamByName("pWLID").Value = sWLID; db.ExecSQL(SQL); } else { SQL.Clear(); SQL.Add(" insert into XLXSWLHQ( "); SQL.Add(" XLXSWLHQ_WLID,XLXSWLHQ_JGBID, XLXSWLHQ_WSJG1,XLXSWLHQ_HSJG1, XLXSWLHQ_WSJGF,XLXSWLHQ_HSJGF,XLXSWLHQ_WSCGJG,XLXSWLHQ_HSCGJG,"); SQL.Add(" XLXSWLHQ_JGYBJCLID1,XLXSWLHQ_JGBL1,XLXSWLHQ_YXQS, XLXSWLHQ_YXQZ, XLXSWLHQ_BZ, XLXSWLHQ_WHRID, XLXSWLHQ_WHR, XLXSWLHQ_WHSJ)"); SQL.Add(" SELECT "); SQL.Add(" :XLXSWLHQ_WLID,' ', :XLXSWLHQ_WSJG,:XLXSWLHQ_HSJG,"); SQL.Add(" isnull(XLXSWLHQ_WSJGF,0),isnull(XLXSWLHQ_HSJGF,0), "); SQL.Add(" :XLXSWLHQ_WSCGJG + isnull(XLXSWLHQ_WSJGF,0),:XLXSWLHQ_HSCGJG + isnull(XLXSWLHQ_HSJGF,0),"); SQL.Add(" :XLXSWLHQ_JGYBJCLID1,isnull(XLXSWLHQ_JGBL1,0), "); SQL.Add(" :XLXSWLHQ_YXQS, :XLXSWLHQ_YXQZ,:XLXSWLHQ_BZ, :XLXSWLHQ_WHRID, :XLXSWLHQ_WHR, :XLXSWLHQ_WHSJ "); SQL.Add(" from XLXSWLHQ "); SQL.Add(" where XLXSWLHQ_JGBID=' '"); SQL.Add(" and XLXSWLHQ_WLID=:XLXSWLHQ_WLID"); SQL.Add(" and XLXSWLHQ_YXQS="); SQL.Add(" ("); SQL.Add(" select max(XLXSWLHQ_YXQS) as maxYXQS"); SQL.Add(" from XLXSWLHQ"); SQL.Add(" where XLXSWLHQ_JGBID=' ' "); SQL.Add(" and XLXSWLHQ_WLID=:XLXSWLHQ_WLID"); SQL.Add(" and XLXSWLHQ_YXQS<=dateadd(day,0,:XLXSWLHQ_YXQS) "); SQL.Add(" )"); SQL.Add(" and XLXSWLHQ_YXQZ is null "); SQL.ParamByName("XLXSWLHQ_WSJG").Value = txtWSJG.Value; SQL.ParamByName("XLXSWLHQ_HSJG").Value = txtHSJG.Value; SQL.ParamByName("XLXSWLHQ_WSCGJG").Value = txtWSCGJG.Value; SQL.ParamByName("XLXSWLHQ_HSCGJG").Value = txtHSCGJG.Value; SQL.ParamByName("XLXSWLHQ_JGYBJCLID1").Value = txtBJCLID.Text.Trim(); SQL.ParamByName("XLXSWLHQ_YXQS").Value = datYXQS.Text; if (datYXQZ.Text.Equals("")) { SQL.ParamByName("XLXSWLHQ_YXQZ").Clear(); } else { SQL.ParamByName("XLXSWLHQ_YXQZ").Value = datYXQZ.Text; } SQL.ParamByName("XLXSWLHQ_WHR").Value = txtWHR.Text; SQL.ParamByName("XLXSWLHQ_WHRID").Value = txtWHRID.Value; SQL.ParamByName("XLXSWLHQ_WHSJ").Value = datWHSJ.Text; SQL.ParamByName("XLXSWLHQ_WLID").Value = sWLID; db.ExecSQL(SQL); //并找到最近的一条记录,若其有效期止为空就将其置为所保存记录的有效期始减一天。 SQL.Clear(); SQL.Add(" update XLXSWLHQ set XLXSWLHQ_YXQZ=dateadd(day,-1,:pYXQS) "); SQL.Add(" where XLXSWLHQ_JGBID=' '"); SQL.Add(" and XLXSWLHQ_WLID=:pWLID"); SQL.Add(" and XLXSWLHQ_YXQS="); SQL.Add(" ("); SQL.Add(" select max(XLXSWLHQ_YXQS) as maxYXQS"); SQL.Add(" from XLXSWLHQ"); SQL.Add(" where XLXSWLHQ_JGBID=' ' "); SQL.Add(" and XLXSWLHQ_WLID=:pWLID"); SQL.Add(" and XLXSWLHQ_YXQS<=dateadd(day,-1,:pYXQS) "); SQL.Add(" )"); SQL.Add(" and XLXSWLHQ_YXQZ is null "); SQL.ParamByName("pWLID").Value = sWLID; SQL.ParamByName("pYXQS").Value = datYXQS.Text; db.ExecSQL(SQL); } //更新或插入后处理加工料的HSJG、WSJG SQL.Clear(); SQL.Add(" update XLXSWLHQ set XLXSWLHQ_WSJG=XLXSWLHQ_WSJG1*XLXSWLHQ_JGBL1+XLXSWLHQ_WSJGF, "); SQL.Add(" XLXSWLHQ_HSJG=XLXSWLHQ_HSJG1*XLXSWLHQ_JGBL1+XLXSWLHQ_HSJGF "); SQL.Add(" where XLXSWLHQ_JGBID =' ' and XLXSWLHQ_YXQS= :pRQ and XLXSWLHQ_WLID = :pWLID "); SQL.ParamByName("pRQ").Value = datYXQS.Text.Trim(); SQL.ParamByName("pWLID").Value = sWLID; db.ExecSQL(SQL); } } } } } } sJGLBJCL = sJGLBJCL.TrimEnd('、'); sJGLWLBJCLID = sJGLWLBJCLID.TrimEnd('、'); if (!sJGLBJCL.Equals("") && !sJGLWLBJCLID.Equals("")) { ShowMessage("已同步调整" + sJGLBJCL + "的材料价格!" + "\r\n" + "已同步调整" + sJGLWLBJCLID + "的对应物料价格!"); } else if (!sJGLBJCL.Equals("")) { ShowMessage("已同步调整" + sJGLBJCL + "的材料价格!"); } else if (!sJGLWLBJCLID.Equals("")) { ShowMessage("已同步调整" + sJGLWLBJCLID + "的对应物料价格!"); } } } catch (Exception ex) { ShowMessage("调整材料行情出现异常,请联系系统管理员!" + ex); } } base.AfterSave(db, ref ActionIsDone); } protected override bool Master_AfterSaveAction(object sender, EventArgs e) { txtOLD_YXQS.Value = datYXQS.Text.Trim(); txtOLD_YXQZ.Value = datYXQZ.Text.Trim(); txtOLD_BJCLID.Value = txtBJCLID.Text.Trim(); InitControls(); LoadRecord(); RefreshForm(); SetControlState(); FormAreaUpdate(); MenuAreaUpdate(); return base.Master_AfterSaveAction(sender, e); } protected override string CodeClass(string ComponentID) { string sResult = base.CodeClass(ComponentID); if (ComponentID.Trim().ToUpper().Equals("TXTBJCLID")) { sResult += "!!select XLXSBJCL_BJCLID as CODE," + " XLXSBJCL_BJCLMC as MESSAGE " + " from XLXSBJCL " + " where isnull(XLXSBJCL_BJCLMC,' ')<>' ' " + " order by CODE"; } return sResult; } protected override bool Master_BeforeEditAction(object sender, EventArgs e) { string sSQL = @"select 1 from XLXSBJCL where XLXSBJCL_BJCLID = '" + txtBJCLID.Text.Trim()+ "' and XLXSBJCL_SFQR='N' "; if (CMISproDataBase.ExistsRecord("DBERP", sSQL)) { ShowMessage("报价材料未确认,不允许编辑!"); return false; } return base.Master_BeforeEditAction(sender, e); } #endregion #region 自定义函数 private void InitControls() { if (!txtBJCLID.Text.Trim().Equals("")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSBJCL_JGYBJCLID,XLXSBJCL_BJCLID from XLXSBJCL where XLXSBJCL_BJCLID = :pBJCLID "); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.ToString().Trim(); DataSet dsBJCL = dberp.OpenDataSet(SQL); if (dsBJCL.Tables[0].Rows.Count > 0) { //加工原料 铜 if (dsBJCL.Tables[0].Rows[0][0].ToString().Trim().Equals("")) { lblWSJGF.Visible = false; txtWSJGF.Visible = false; lblWSJGFRMB.Visible = false; lblWSCGJG.Visible = true; txtWSCGJG.Style["display"] = "block"; lblWSCGJGRMB.Visible = true; lblHSJGF.Visible = false; txtHSJGF.Visible = false; lblHSJGFRMB.Visible = false; lblHSCGJG.Visible = true; txtHSCGJG.Style["display"] = "block"; lblHSCGJGRMB.Visible = true; } //加工料 铜丝 else { txtWSJG.Enabled = false; txtWSJG.ReadOnly = true; txtHSJG.Enabled = false; txtHSJG.ReadOnly = true; lblWSJGF.Visible = true; txtWSJGF.Visible = true; lblWSJGFRMB.Visible = true; lblWSCGJG.Visible = false; txtWSCGJG.Style["display"] = "none"; lblWSCGJGRMB.Visible = false; lblHSJGF.Visible = true; txtHSJGF.Visible = true; lblHSJGFRMB.Visible = true; lblHSCGJG.Visible = false; txtHSCGJG.Style["display"] = "none"; lblHSCGJGRMB.Visible = false; } } else { lblWSJGF.Visible = false; txtWSJGF.Visible = false; lblWSJGFRMB.Visible = false; lblWSCGJG.Visible = true; txtWSCGJG.Style["display"] = "block"; lblWSCGJGRMB.Visible = true; lblHSJGF.Visible = false; txtHSJGF.Visible = false; lblHSJGFRMB.Visible = false; lblHSCGJG.Visible = true; txtHSCGJG.Style["display"] = "block"; lblHSCGJGRMB.Visible = true; } } } private void set_BeforeEdit() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSBJCL_JGYBJCLID,XLXSBJCL_BJCLID from XLXSBJCL where XLXSBJCL_BJCLID = :pBJCLID "); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.ToString().Trim(); DataSet dsBJCL = dberp.OpenDataSet(SQL); if (dsBJCL.Tables[0].Rows.Count > 0) { txtJGYBJCLID1.Value = dsBJCL.Tables[0].Rows[0][0].ToString().Trim(); //加工原料 铜 if (txtJGYBJCLID1.Value.Trim().Equals("")) { SQL.Clear(); SQL.Add(" select XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG"); SQL.Add(" from XLXSCLHQ "); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID "); SQL.Add(" and XLXSCLHQ_YXQS="); SQL.Add(" ("); SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS"); SQL.Add(" from XLXSCLHQ"); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'"); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID"); SQL.Add(" and XLXSCLHQ_YXQS<=:pYXQS"); SQL.Add(" )"); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); SQL.ParamByName("pYXQS").Value = DateTime.Now.ToString(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtHSJG.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim()); txtWSJG.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLHQ_WSJG"].ToString().Trim()); txtHSCGJG.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLHQ_HSCGJG"].ToString().Trim()); txtWSCGJG.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSCLHQ_WSCGJG"].ToString().Trim()); } } else { SQL.Clear(); SQL.Add(" select XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG"); SQL.Add(" from XLXSCLHQ "); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID "); SQL.Add(" and XLXSCLHQ_YXQS="); SQL.Add(" ("); SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS"); SQL.Add(" from XLXSCLHQ"); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'"); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID"); SQL.Add(" and XLXSCLHQ_YXQS<=:pYXQS"); SQL.Add(" )"); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); SQL.ParamByName("pYXQS").Value = DateTime.Now.ToString(); DataSet dsJGL = dberp.OpenDataSet(SQL); if (dsJGL.Tables[0].Rows.Count > 0) { txtHSJG.Value = CMISproConvert.StrToFloat(dsJGL.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim()); txtWSJG.Value = CMISproConvert.StrToFloat(dsJGL.Tables[0].Rows[0]["XLXSCLHQ_WSJG"].ToString().Trim()); txtHSCGJG.Value = CMISproConvert.StrToFloat(dsJGL.Tables[0].Rows[0]["XLXSCLHQ_HSCGJG"].ToString().Trim()); txtWSCGJG.Value = CMISproConvert.StrToFloat(dsJGL.Tables[0].Rows[0]["XLXSCLHQ_WSCGJG"].ToString().Trim()); } SQL.ParamByName("pBJCLID").Clear(); SQL.ParamByName("pYXQS").Clear(); SQL.ParamByName("pBJCLID").Value = txtJGYBJCLID1.Value.Trim(); SQL.ParamByName("pYXQS").Value = DateTime.Now.ToString(); DataSet dsJGYL = dberp.OpenDataSet(SQL); if (dsJGYL.Tables[0].Rows.Count > 0) { txtJGYLHSJG1.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim(); txtJGYLWSJG1.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_WSJG"].ToString().Trim(); txtJGBL1.Value = "1"; txtJGYLHSCGJG.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_HSCGJG"].ToString().Trim(); txtJGYLWSCGJG.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_WSCGJG"].ToString().Trim(); } } } datYXQS.Text = DateTime.Now.ToShortDateString(); datYXQZ.Text = ""; if (txtZT.Value.Equals("BL")) { SQL.Clear(); SQL.Add(" select XLXSCLHQ_YXQS "); SQL.Add(" from XLXSCLHQ "); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID "); SQL.Add(" and XLXSCLHQ_YXQS="); SQL.Add(" ("); SQL.Add(" select min(XLXSCLHQ_YXQS) as maxYXQS"); SQL.Add(" from XLXSCLHQ"); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'"); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID"); SQL.Add(" )"); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); DataSet dsBL = dberp.OpenDataSet(SQL); if (dsBL.Tables[0].Rows.Count > 0) { DateTime YXQS = CMISproConvert.StrToDateTime(dsBL.Tables[0].Rows[0]["XLXSCLHQ_YXQS"].ToString().Trim()); YXQS = YXQS.AddDays(-1); datYXQS.Text = ""; datYXQS.Enabled = true; datYXQZ.Text = YXQS.ToShortDateString().Trim(); } } } public static void GetBDQK(string sWHSJ, string sUserName, string sHSJE, ref string sBDQK) { if (sBDQK.Equals("")) { sBDQK = sWHSJ + " " + sUserName.PadRight(10, ' ') + " " + "含税价格:" + sHSJE; } else { sBDQK = sBDQK + "|" + sWHSJ + " " + sUserName.PadRight(10, ' ') + " " + "含税价格:" + sHSJE; } int lenth = System.Text.Encoding.Default.GetBytes(sBDQK.ToCharArray()).Length; if (lenth > 1000) { int index = sBDQK.IndexOf("|"); sBDQK = sBDQK.Substring(index + 1); } } #endregion #region 控件事件 protected void txtBJCLID_TextChanged(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add("select XLXSBJCL_BJCLMC,XLXSBJCL_ZZSL from XLXSBJCL where XLXSBJCL_BJCLID = :pBJCLID"); SQL.ParamByName("pBJCLID").Value = txtBJCLID.Text.Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtCLMC.Text = ds.Tables[0].Rows[0][0].ToString().Trim(); txtZZSL.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][1].ToString().Trim()); } else { txtCLMC.Text = ""; txtZZSL.Value = 0.0; } } //材料价格 protected void txtWSJG_OnTextChanged(object sender, EventArgs e) { txtHSJG.Value = NumberUtils.RoundX(txtWSJG.Value * (1 + txtZZSL.Value / 100.0), XLBJDUtils.BJCLPriceDecimal); } protected void txtHSJG_OnTextChanged(object sender, EventArgs e) { txtWSJG.Value = NumberUtils.RoundX(txtHSJG.Value / (1 + txtZZSL.Value / 100.0), XLBJDUtils.BJCLPriceDecimal); } //加工费 protected void txtWSJGF_OnTextChanged(object sender, EventArgs e) { txtWSJG.Value = NumberUtils.RoundX(txtWSJGF.Value + CMISproConvert.StrToFloat(txtJGYLWSJG1.Value) * CMISproConvert.StrToFloat(txtJGBL1.Value), XLBJDUtils.BJCLPriceDecimal); txtHSJGF.Value = NumberUtils.RoundX(txtWSJGF.Value * (1 + txtZZSL.Value / 100.0), XLBJDUtils.BJCLPriceDecimal); txtHSJG.Value = NumberUtils.RoundX(txtHSJGF.Value + CMISproConvert.StrToFloat(txtJGYLHSJG1.Value) * CMISproConvert.StrToFloat(txtJGBL1.Value), XLBJDUtils.BJCLPriceDecimal); txtWSCGJG.Value = NumberUtils.RoundX(txtWSJGF.Value + CMISproConvert.StrToFloat(txtJGYLWSCGJG.Value), XLBJDUtils.BJCLPriceDecimal); txtHSCGJG.Value = NumberUtils.RoundX(txtHSJGF.Value + CMISproConvert.StrToFloat(txtJGYLHSCGJG.Value), XLBJDUtils.BJCLPriceDecimal); } protected void txtHSJGF_OnTextChanged(object sender, EventArgs e) { txtHSJG.Value = NumberUtils.RoundX(txtHSJGF.Value + CMISproConvert.StrToFloat(txtJGYLHSJG1.Value) * CMISproConvert.StrToFloat(txtJGBL1.Value), XLBJDUtils.BJCLPriceDecimal); txtWSJGF.Value = NumberUtils.RoundX(txtHSJGF.Value / (1 + txtZZSL.Value / 100.0), XLBJDUtils.BJCLPriceDecimal); txtWSJG.Value = NumberUtils.RoundX(txtWSJGF.Value + CMISproConvert.StrToFloat(txtJGYLWSJG1.Value) * CMISproConvert.StrToFloat(txtJGBL1.Value), XLBJDUtils.BJCLPriceDecimal); txtHSCGJG.Value = NumberUtils.RoundX(txtHSJGF.Value + CMISproConvert.StrToFloat(txtJGYLHSCGJG.Value), XLBJDUtils.BJCLPriceDecimal); txtWSCGJG.Value = NumberUtils.RoundX(txtWSJGF.Value + CMISproConvert.StrToFloat(txtJGYLWSCGJG.Value), XLBJDUtils.BJCLPriceDecimal); } protected void txtWSCGJG_OnTextChanged(object sender, EventArgs e) { txtHSCGJG.Value = NumberUtils.RoundX(txtWSCGJG.Value * (1 + txtZZSL.Value / 100.0), XLBJDUtils.BJCLPriceDecimal); } protected void txtHSCGJG_OnTextChanged(object sender, EventArgs e) { txtWSCGJG.Value = NumberUtils.RoundX(txtHSCGJG.Value / (1 + txtZZSL.Value / 100.0), XLBJDUtils.BJCLPriceDecimal); } protected void datYXQS_OnTextChanged(object sender, EventArgs e) { if (txtZT.Value.Equals("BL") && !txtJGYBJCLID1.Value.Trim().Equals("")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSCLHQ_WSJG,XLXSCLHQ_HSJG,XLXSCLHQ_WSCGJG,XLXSCLHQ_HSCGJG"); SQL.Add(" from XLXSCLHQ "); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID "); SQL.Add(" and XLXSCLHQ_YXQS="); SQL.Add(" ("); SQL.Add(" select max(XLXSCLHQ_YXQS) as maxYXQS"); SQL.Add(" from XLXSCLHQ"); SQL.Add(" where XLXSCLHQ_JGBID='ZZZZZZZZ'"); SQL.Add(" and XLXSCLHQ_BJCLID=:pBJCLID"); SQL.Add(" and XLXSCLHQ_YXQS<=:pYXQS"); SQL.Add(" )"); SQL.ParamByName("pBJCLID").Value = txtJGYBJCLID1.Value.Trim(); SQL.ParamByName("pYXQS").Value = datYXQS.Text.Trim(); DataSet dsJGYL = dberp.OpenDataSet(SQL); if (dsJGYL.Tables[0].Rows.Count > 0) { txtJGYLHSJG1.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_HSJG"].ToString().Trim(); txtJGYLWSJG1.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_WSJG"].ToString().Trim(); txtJGBL1.Value = "1"; txtJGYLHSCGJG.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_HSCGJG"].ToString().Trim(); txtJGYLWSCGJG.Value = dsJGYL.Tables[0].Rows[0]["XLXSCLHQ_WSCGJG"].ToString().Trim(); txtWSJG.Value = NumberUtils.RoundX(txtWSJGF.Value + CMISproConvert.StrToFloat(txtJGYLWSJG1.Value) * CMISproConvert.StrToFloat(txtJGBL1.Value), XLBJDUtils.BJCLPriceDecimal); txtHSJG.Value = NumberUtils.RoundX(txtHSJGF.Value + CMISproConvert.StrToFloat(txtJGYLHSJG1.Value) * CMISproConvert.StrToFloat(txtJGBL1.Value), XLBJDUtils.BJCLPriceDecimal); txtWSCGJG.Value = NumberUtils.RoundX(txtWSJGF.Value + CMISproConvert.StrToFloat(txtJGYLWSCGJG.Value), XLBJDUtils.BJCLPriceDecimal); txtHSCGJG.Value = NumberUtils.RoundX(txtHSJGF.Value + CMISproConvert.StrToFloat(txtJGYLHSCGJG.Value), XLBJDUtils.BJCLPriceDecimal); } } } #endregion } }