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_MODEL.Page; using GThinking.N_MISPRO.Utility; using GThinking.N_CONTROL; using GThinking.N_MISPRO.Data; using GThinking.N_MISPRO.TableCache; using GThinking.N_PUBLIC; using GThinking.N_MISPRO.Caching; using System.Collections.Generic; using GThinking.N_MISPROAS.SysData; namespace GThinking.N_XLXSBJ { public partial class JGBMLInfo : SingleCardBase { JGBML entity = new JGBML(); #region PageLoad事件 protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860018; this.UMName = "线缆销售报价价格目录"; this.CurMaster = Master; this.CurEntity = entity; this.PageWidth = 580; this.PageHeight = 450; txtTBJCLID.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal; txtLBJCLID.DecimalPlaces = XLBJDUtils.BJCLPriceDecimal; base.InitPage(); } #endregion #region 模板继承事件 protected override bool CanInsert() { if (txtMXBH.Value.Trim().Equals("JGD")) return false; return base.CanInsert(); } protected override bool CanEdit() { if (txtMXBH.Value.Trim().Equals("JGD")) return false; if (txtJGBID.Text.Trim().Equals("00000000"))//00000000|价格表调价因子价格表 { return false; } return base.CanEdit(); } protected override bool CanDelete() { if (txtMXBH.Value.Trim().Equals("JGD")) return false; if (txtJGBID.Text.Trim().Equals("00000000"))//00000000|价格表调价因子价格表 { return false; } return base.CanDelete(); } protected override void SetControlState() { base.SetControlState(); txtJGBID.Enabled = false; datWHSJ.Enabled = false; txtWHR.Enabled = false; cbxTJR.Enabled = false; cbxTJZT.Enabled = false; cbxDRZT.Enabled = false; datTJKSSJ.Enabled = false; datTJWCSJ.Enabled = false; btnXLXSJGBMX.Enabled = ControlState == TControlState.ctsBrowse; lblTBJCLID.Enabled = ControlState == TControlState.ctsBrowse; lblLBJCLID.Enabled = ControlState == TControlState.ctsBrowse; btnTBZXSJGB.Enabled = ControlState == TControlState.ctsBrowse; btnQXTJ.Enabled = (ControlState == TControlState.ctsBrowse && cbxTJR.SelectedValue.Trim().Equals(tSession.UserId)); if (cbxTJZT.SelectedValue.Trim().Equals("W") || cbxTJZT.SelectedValue.Trim().Equals("J")) btnQXTJ.Visible = true; else btnQXTJ.Visible = false; btnBJJGB.Enabled = ControlState == TControlState.ctsBrowse; if (txtMXBH.Value.Trim().Equals("JGC")) btnBJJGB.Visible = true; else btnBJJGB.Visible = false; if ((txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC")) && CheckXSJGB()) btnTBZXSJGB.Visible = true; else btnTBZXSJGB.Visible = false; txtTBJCLID.Enabled = false; txtLBJCLID.Enabled = false; if (ControlState != TControlState.ctsBrowse && ControlState != TControlState.ctsNull) { if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC")) { if (cbxJJLY.SelectedValue.Trim() == "D" && txtJGBIDS.Value.Trim().Equals("")) { txtTBJCLID.Enabled = true; txtLBJCLID.Enabled = true; } } } if (ControlState == TControlState.ctsEdit) { if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC")) { cbxJJLY.Enabled = true; if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBPZJGB where XLXSJGBPZJGB_JGBID='{0}'", txtJGBID.Text.Trim()))) { cbxTJYS.Enabled = false; } string sSQL1 = string.Format("select TOP 1 XLXSJGBMX_JGBID from XLXSJGBMX where XLXSJGBMX_JGBID='{0}'", txtJGBID.Text.Trim()); //string sSQL2 = string.Format("SELECT 1 FROM XLXSJGB LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSJGB_CPMLID where XLXSCPML_CPMLLX='Y' and XLXSJGB_JGBID = '{0}' and XLXSJGB_MXBH = 'JGB' ", txtJGBID.Text.Trim()); //存在价格表明细 bool bExistsXLXSJGBMX = CMISproDataBase.ExistsRecord("DBERP", sSQL1); //值域:Y|组合产品目录、N|单一产品目录 //bool bZHCPMLLX = CMISproDataBase.ExistsRecord("DBERP", sSQL2); //if (bExistsXLXSJGBMX || bZHCPMLLX) if (bExistsXLXSJGBMX) { cbxBJLY.Enabled = false; } else { cbxBJLY.Enabled = true; } if (bExistsXLXSJGBMX) { cbxTJYS.Enabled = false; cbxJJLY.Enabled = false; } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where ','||rtrim(isnull(XLXSJGB_JGCIDS,' '))||',' like '{0}'", "%," + txtJGBID.Text.Trim() + ",%")) || CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where isnull(XLXSJGB_JGCIDS,' ')<>' ' and XLXSJGB_JGBID='{0}'", txtJGBID.Text.Trim()))) { cbxCPMLID.Enabled = false; } else cbxCPMLID.Enabled = true; } else { cbxJJLY.Enabled = false; cbxBJLY.Enabled = false; cbxCPMLID.Enabled = false; } } else if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy) { txtJGBMC.Enabled = true; if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC")) { cbxJJLY.Enabled = true; cbxBJLY.Enabled = true; cbxCPMLID.Enabled = true; } else { cbxJJLY.Enabled = false; cbxBJLY.Enabled = false; cbxCPMLID.Enabled = false; } } if (ControlState != TControlState.ctsBrowse) { if (cbxBJLY.SelectedValue.Trim().Equals("J")) cbxJSBLFS.Enabled = true; else cbxJSBLFS.Enabled = false; //if (cbxBJLY.SelectedValue.Trim().Equals("C")) // cbxJGCIDS.Enabled = true; //else //{ // cbxJGCIDS.Enabled = false; //} } if (cbxTJYS.SelectedValue.Trim().Equals("1") && cbxBJLY.SelectedValue.Trim().Equals("J") && cbxJJLY.SelectedValue.Equals("A")) { cbxWSJGLY.ClearItems(); cbxWSJGLY.Items.Add(new ListItem("1|无税材料价格", "1")); cbxWSJGLY.Items.Add(new ListItem("2|含税价格×(1-税率%)", "2")); lblWSJGLY.Visible = true; cbxWSJGLY.Visible = true; lblSL.Visible = true; txtSL.Visible = true; lblFH.Visible = true; } else { cbxWSJGLY.SelectedValue = ""; txtSL.Value = 0; lblWSJGLY.Visible = false; cbxWSJGLY.Visible = false; lblSL.Visible = false; txtSL.Visible = false; lblFH.Visible = false; } if (txtMXBH.Value.Trim().Equals("JGE")) { datYXQS.Enabled = false; datYXQZ.Enabled = false; cbxTJYS.Enabled = false; } if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC") || txtMXBH.Value.Trim().Equals("JGF")) { btnXLXSJGBMX.Enabled = true; } else btnXLXSJGBMX.Enabled = false; if (txtMXBH.Value.Trim().Equals("JGF")) { cbxTJYS.Enabled = false; cbxJJLY.Enabled = false; cbxBJLY.Enabled = false; cbxJSBLFS.Enabled = false; lblTBJCLID.Enabled = false; lblLBJCLID.Enabled = false; } if (txtMXBH.Value.Trim().Equals("JGB") && cbxTJYS.SelectedValue.Trim().Equals("3") && ControlState == TControlState.ctsBrowse) { btnCOPY3.Visible = true; } else btnCOPY3.Visible = false; if ((cbxJJLY.SelectedValue.Trim().Equals("D") && txtJGBIDS.Value.Trim().Equals("")) || cbxBJLY.SelectedValue.Trim().Equals("D")) cbxMXPXFS.Enabled = false; } protected override void LoadRecord() { if (!IsPostBack) { entity.Param.Add("XLXSJGB_MXBH", PageParam.GetRTrimString("XLXSJGB_MXBH")); entity.Param.Add("XLXSJGB_JGBID", PageParam.GetRTrimString("XLXSJGB_JGBID")); } else { entity.Param.Add("XLXSJGB_MXBH", txtMXBH.Value.Trim()); entity.Param.Add("XLXSJGB_JGBID", txtJGBID.Text.Trim()); } base.LoadRecord(); txtOLDTJYS.Value = cbxTJYS.SelectedValue.Trim().Equals("") ? " " : cbxTJYS.SelectedValue.Trim(); txtOLDJGBMC.Value = txtJGBMC.Text.Trim(); txtOLDBJLY.Value = cbxBJLY.SelectedValue.Trim(); txtMXPXFS.Value = cbxMXPXFS.SelectedValue.Trim(); string sTBJCLID = ""; string sLBJCLID = ""; string sJGBID = txtJGBID.Text.Trim(); if (txtMXBH.Value.Equals("JGB") || txtMXBH.Value.Equals("JGC")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); GetTLBJCLID(dberp, SQL, ref sTBJCLID, ref sLBJCLID); if (!sTBJCLID.Equals("")) { SQL.Clear(); SQL.Add("SELECT XLXSCLHQ_HSJG from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=:pBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00')"); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pBJCLID").Value = sTBJCLID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtTBJCLID.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString().Trim()); } } if (!sLBJCLID.Equals("")) { SQL.Clear(); SQL.Add("SELECT XLXSCLHQ_HSJG from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=:pBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00')"); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pBJCLID").Value = sLBJCLID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtLBJCLID.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString().Trim()); } } } } protected override void OnNewRecorder() { base.OnNewRecorder(); txtJSGS.Value = ""; txtWHR.Text = tSession.UserName.ToString().Trim(); txtWHRID.Value = tSession.UserId.ToString().Trim(); datWHSJ.Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString()); txtMXBH.Value = PageParam.GetRTrimString("FLID"); if (txtMXBH.Value.Equals("")) txtMXBH.Value = PageParam.GetRTrimString("XLXSJGB_MXBH"); if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC")) { cbxBJLY.SelectedValue = "J"; cbxJSBLFS.SelectedValue = "R"; } else { cbxBJLY.SelectedValue = ""; cbxJSBLFS.SelectedValue = ""; } if (txtMXBH.Value.Trim().Equals("JGF")) { cbxBJLY.SelectedValue = "D"; } if (PageParam.GetRTrimString("FROM").Equals("BJJGBList"))//新建组合产品目录价格表 { cbxTJYS.SelectedValue = "1";//1|表价(出厂价)=基价(材料价)&调价 cbxTJYS_SelectedIndexChanged(null, null); cbxBJLY.SelectedValue = "C";//C|基价价格表表价 cbxCPMLID.SelectedValue = PageParam.GetRTrimString("DefCPMLID"); } if (!txtMXBH.Value.Trim().Equals("JGE")) datYXQS.Text = CMISproConvert.ConvertDate(System.DateTime.Today); if(IsJGBMRBSX()) datYXQS.Text = CMISproConvert.ConvertDate(CMISproConvert.StrToDateTime("2099-01-01").Date); } protected override void OnCopyRecorder() { base.OnCopyRecorder(); txtMXBH.Value = PageParam.GetRTrimString("FLID"); if (txtMXBH.Value.Equals("")) txtMXBH.Value = PageParam.GetRTrimString("XLXSJGB_MXBH"); if (!txtMXBH.Value.Trim().Equals("JGE")) datYXQS.Text = CMISproConvert.ConvertDate(System.DateTime.Today); datYXQZ.Text = ""; cbxTJR.SelectedValue = ""; cbxTJZT.SelectedValue = ""; cbxDRZT.SelectedValue = ""; datTJKSSJ.Text = ""; datTJWCSJ.Text = ""; txtWHR.Text = tSession.UserName.ToString().Trim(); txtWHRID.Value = tSession.UserId.ToString().Trim(); datWHSJ.Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString()); txtCOPYJGBID.Value = txtOLDJGBID.Value; if (IsJGBMRBSX()) datYXQS.Text = CMISproConvert.ConvertDate(CMISproConvert.StrToDateTime("2099-01-01").Date); } protected override bool DataLogicValid() { if (!base.DataLogicValid()) return false; if (datYXQS.Text.Trim().Equals("") && !txtMXBH.Value.Trim().Equals("JGE")) { ShowMessage("有效期始不允许为空!"); return false; } if (!datYXQS.Text.Trim().Equals("") && !datYXQZ.Text.Trim().Equals("") && CMISproConvert.StrToDateTime(datYXQS.Text) > CMISproConvert.StrToDateTime(datYXQZ.Text)) { ShowMessage("有效期始不允许大于有效期止!"); return false; } //报价单/价格表--调价表、JGE不再校验调价因素 if (!txtMXBH.Value.Trim().Equals("JZJ") && !txtMXBH.Value.Trim().Equals("BJD") && !txtMXBH.Value.Trim().Equals("JGE") && !txtMXBH.Value.Trim().Equals("JGF")) { if (cbxTJYS.SelectedValue.Trim().Equals("")) { ShowMessage("调价因素不允许为空!"); return false; } } if (!cbxTJYS.SelectedValue.Trim().Equals(txtOLDTJYS.Value.Trim()) && (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC"))) { if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_JGBID='{0}'", txtJGBID.Text.Trim()))) { ShowMessage("已有明细记录不能修改调价因素!"); return false; } } //另外,若调价因素为“2|表价(区域价)=基价(出厂价)&调价”,价格表已维护“基价(出厂价)”或“适用区域”,也要有相应提示,也不能修改。 if(txtOLDTJYS.Value.Trim().Equals("2") && !cbxTJYS.SelectedValue.Trim().Equals("2")) { if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where XLXSJGB_MXBH='{0}' and XLXSJGB_JGBID='{1}' and (ISNULL(XLXSJGB_JGBIDS,' ')<>' ' or ISNULL(XLXSJGB_XSQYIDS,' ')<>' ')", txtMXBH.Value.Trim(), txtJGBID.Text.Trim()))) { ShowMessage("价格表已维护“基价(出厂价)”或“适用区域”,不允许修改调价因素!"); return false; } } // if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC")) { if (cbxBJLY.SelectedValue.Trim().Equals("")) { ShowMessage("表价来源不允许为空!"); return false; } if (cbxJJLY.SelectedValue.Trim().Equals("")) { ShowMessage("基价来源不允许为空!"); return false; } if (cbxBJLY.SelectedValue.Trim().Equals("J") && cbxJSBLFS.SelectedValue.Trim().Equals("")) { ShowMessage("表价来源为“J|按调价因素计算”,计算保留方式--不允许为空!"); return false; } string sSQL = string.Format("select 1 from XLXSJGBYZ where XLXSJGBYZ_JGBID = '{0}' ", txtJGBID.Text.Trim()); if (CMISproDataBase.ExistsRecord("DBERP", sSQL) && cbxBJLY.SelectedValue.Trim().Equals("D")) { ShowMessage("表价来源为直接导入时,不允许设置调价因子,请先删除调价因子!"); return false; } if (cbxBJLY.SelectedValue.Trim().Equals("C")) { if (cbxCPMLID.SelectedValue.Trim().Equals("")) { ShowMessage("“表价来源”为“C|基价价格表表价”时,产品目录不允许为空!"); return false; } else { string sSQL1 = string.Format("SELECT 1 FROM XLXSCPML where ISNULL(XLXSCPML_CPMLLX,' ') <> 'Y' and XLXSCPML_CPMLID = '{0}' ", cbxCPMLID.SelectedValue.Trim()); if (CMISproDataBase.ExistsRecord("DBERP", sSQL1)) { ShowMessage("“表价来源”为“C|基价价格表表价”时,必须选择组合产品目录!"); return false; } } } if (ControlState == TControlState.ctsCopy) { if(!txtOLDBJLY.Value.Trim().Equals(cbxBJLY.SelectedValue.Trim())) { ShowMessage("只允许复制相同表价来源的价格目录!"); return false; } } } if (ControlState == TControlState.ctsCopy) { ctrlState.Value = "C"; if (IsJGBMRBSX()) { ctrlState.Value = "CN"; } else { if (!txtMXBH.Value.Trim().Equals("JGE") && !txtMXBH.Value.Trim().Equals("JGF")) { string sbefore_JGBID = PageParam.GetRTrimString("XLXSJGB_JGBID"); //被复制的价格表与当前价格表存在交集 if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where XLXSJGB_MXBH='{2}' and XLXSJGB_JGBID='{0}' and XLXSJGB_YXQS<='{1}' and (XLXSJGB_YXQZ is null or XLXSJGB_YXQZ>='{1}')", sbefore_JGBID, datYXQS.Text, txtMXBH.Value.Trim()))) { Confirm.Register("ask", string.Format("被复制价格表[{0}]是否需要自动失效?", sbefore_JGBID)); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("ask").Trim().Equals("")) { Confirm.Ask("ask"); return false; } else if (Confirm.GetValue("ask").Trim().Equals("N")) { Confirm.Clear(); ctrlState.Value = "CN"; } else if (Confirm.GetValue("ask").Trim().Equals("Y")) { Confirm.Clear(); ctrlState.Value = "CY"; } } } } } else if (ControlState == TControlState.ctsInsert) { ctrlState.Value = "I"; } else if (ControlState == TControlState.ctsEdit) { ctrlState.Value = "E"; } if (txtMXBH.Value.Trim().Equals("JGF")) { if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where XLXSJGB_MXBH='{2}' and XLXSJGB_JGBID<>'{0}' and XLXSJGB_YXQS= '{1}'", txtJGBID.Text.Trim(), datYXQS.Text, txtMXBH.Value.Trim()))) { ShowMessage("已存在相同有效期始的价格表,不允许保存!"); return false; } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add(string.Format("select XLXSJGB_JGBID from XLXSJGB where XLXSJGB_MXBH='{2}' and XLXSJGB_JGBID<>'{0}' and XLXSJGB_YXQS<'{1}' and (XLXSJGB_YXQZ is null or XLXSJGB_YXQZ>='{1}')", txtJGBID.Text.Trim(), datYXQS.Text, txtMXBH.Value.Trim())); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { string sOldJGBID = ds.Tables[0].Rows[0]["XLXSJGB_JGBID"].ToString().Trim(); Confirm.Register("ask", string.Format("有效期重叠的价格表[{0}]需要自动设置有效期止,是否确认?", sOldJGBID)); Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No; if (Confirm.GetValue("ask").Trim().Equals("")) { Confirm.Ask("ask"); return false; } else if (Confirm.GetValue("ask").Trim().Equals("N")) { Confirm.Clear(); return false; } else if (Confirm.GetValue("ask").Trim().Equals("Y")) { ctrlState.Value = "IY"; Confirm.Clear(); } } if (ControlState == TControlState.ctsCopy) { ctrlState.Value = "CY"; } } return true; } protected override bool Master_BeforeSaveAction(object sender, EventArgs e) { //if (txtMXBH.Value.Trim().Equals("JZJ") || txtMXBH.Value.Trim().Equals("BJD")) //{ // if (cbxTJYS.SelectedValue.Trim().Equals("")) // { // ShowMessage("调价因素--不允许为空!"); // return false; // } //} if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy) { if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC") || txtMXBH.Value.Trim().Equals("JGE") || txtMXBH.Value.Trim().Equals("JGF"))//不管JGB\JGC\JGE\JGF,都按JGB进行编码,否则两者编码重复,后续所有明细表都得加MXBH txtJGBID.Text = getNewJGBBH(); else if (txtMXBH.Value.Trim().Equals("JZJ") || txtMXBH.Value.Trim().Equals("BJD")) txtJGBID.Text = getNewTJBBH(txtMXBH.Value.Trim(), cbxTJYS.SelectedValue.Trim()); } else { if (txtMXBH.Value.Trim().Equals("JZJ") || txtMXBH.Value.Trim().Equals("BJD")) { if (!txtOLDTJYS.Value.Trim().Equals(cbxTJYS.SelectedValue.Trim())) { txtJGBID.Text = getNewTJBBH(txtMXBH.Value.Trim(), cbxTJYS.SelectedValue.Trim()); } } } txtWHR.Text = tSession.UserName.Trim(); txtWHRID.Value = tSession.UserId.Trim(); datWHSJ.Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString()); return base.Master_BeforeSaveAction(sender, e); } protected override void AfterSave(TDatabase db, ref bool ActionIsDone) { TSQL SQL = new TSQL(db); if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC")) { if (!txtOLDJGBMC.Value.Equals(txtJGBMC.Text.Trim()) && ControlState == TControlState.ctsEdit) { SQL.Clear(); SQL.Add(" update XLXSJGBPZJGB set XLXSJGBPZJGB_JGBMC=:pJGBMC where XLXSJGBPZJGB_JGBID=:pJGBID "); SQL.ParamByName("pJGBMC").Value = txtJGBMC.Text.Trim(); SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); db.ExecSQL(SQL); } } base.AfterSave(db, ref ActionIsDone); } protected override bool Master_AfterSaveAction(object sender, EventArgs e) { txtOLDJGBID.Value = txtJGBID.Text.Trim(); txtOLDJGBMC.Value = txtJGBMC.Text.Trim(); txtOLDTJYS.Value = cbxTJYS.SelectedValue.Trim().Equals("") ? " " : cbxTJYS.SelectedValue.Trim(); txtOLDBJLY.Value = cbxBJLY.SelectedValue.Trim(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); string sJGBID = txtJGBID.Text.Trim(); string sJJLY = cbxJJLY.SelectedValue.Trim(); string sTJYS = cbxTJYS.SelectedValue.Trim(); string sTBJCLID = ""; string sLBJCLID = ""; GetTLBJCLID(dberp, SQL, ref sTBJCLID, ref sLBJCLID); if (sJJLY.Equals("D")&&txtJGBIDS.Value.Trim().Equals("")) { if (!sTBJCLID.Equals("")) { SQL.Clear(); SQL.Add("delete from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=:pBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00') "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pBJCLID").Value = sTBJCLID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("insert into XLXSCLHQ(XLXSCLHQ_JGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_HSJG,XLXSCLHQ_WSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF,"); SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1,"); SQL.Add(" XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ,XLXSCLHQ_BZ,XLXSCLHQ_WHRID,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ) "); SQL.Add("select :pJGBID as JGBID,XLXSBJCL_BJCLID as BJCLID,:pHSJG as HSJG,round(:pHSJG/(1+XLXSBJCL_ZZSL/100),3) as CLJG,0.0 as WSJGF,0.0 as HSJGF,"); SQL.Add(" ' ' as JGYBJCLID1,:pHSJG as HSJG1,round(:pHSJG/(1+XLXSBJCL_ZZSL),3) as WSJG1,1 as JGBL1, "); SQL.Add(" convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,"); SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR,:pWHSJ as WHSJ "); SQL.Add("from XLXSBJCL "); SQL.Add("where XLXSBJCL_BJCLID=:pBJCLID "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pHSJG").Value = txtTBJCLID.Value; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pBJCLID").Value = sTBJCLID; dberp.ExecSQL(SQL); } if (!sLBJCLID.Equals("")) { SQL.Clear(); SQL.Add("delete from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=:pBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00') "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pBJCLID").Value = sLBJCLID; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("insert into XLXSCLHQ(XLXSCLHQ_JGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_HSJG,XLXSCLHQ_WSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF,"); SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1,"); SQL.Add(" XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ,XLXSCLHQ_BZ,XLXSCLHQ_WHRID,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ) "); SQL.Add("select :pJGBID as JGBID,XLXSBJCL_BJCLID as BJCLID,:pHSJG as HSJG,round(:pHSJG/(1+XLXSBJCL_ZZSL/100),3) as CLJG,0.0 as WSJGF,0.0 as HSJGF,"); SQL.Add(" ' ' as JGYBJCLID1,:pHSJG as HSJG1,round(:pHSJG/(1+XLXSBJCL_ZZSL),3) as WSJG1,1 as JGBL1, "); SQL.Add(" convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,"); SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR,:pWHSJ as WHSJ "); SQL.Add("from XLXSBJCL "); SQL.Add("where XLXSBJCL_BJCLID=:pBJCLID "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pHSJG").Value = txtLBJCLID.Value; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pBJCLID").Value = sLBJCLID; dberp.ExecSQL(SQL); } } if (ctrlState.Value.Equals("C") || ctrlState.Value.Equals("CN") || ctrlState.Value.Equals("CY"))//复制保存 { string sbefore_JGBID = txtCOPYJGBID.Value; if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC")) { if (!sJJLY.Equals("D")) { //复制主表记录时,同步复制明细记录 SQL.Clear(); SQL.Add("insert into XLXSJGBMX(XLXSJGBMX_JGBID,XLXSJGBMX_XH,XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_WSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_HSJJM,XLXSJGBMX_HSBJM,XLXSJGBMX_WSJJM,XLXSJGBMX_WSBJM,"); SQL.Add(" XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,XLXSJGBMX_WHR,XLXSJGBMX_WHRID,XLXSJGBMX_WHSJ,XLXSJGBMX_SYXH,XLXSJGBMX_BZ,XLXSJGBMX_JLDW,XLXSJGBMX_YSJDZ,XLXSJGBMX_CLCBYSJDZ,XLXSJGBMX_XSXH)"); SQL.Add(" select :pJGBID,XLXSJGBMX_XH,:pYXQS,:pYXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_WSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_HSJJM,XLXSJGBMX_HSBJM,XLXSJGBMX_WSJJM,XLXSJGBMX_WSBJM,"); SQL.Add(" XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,:pWHR,:pWHRID,:pWHSJ,XLXSJGBMX_SYXH,XLXSJGBMX_BZ,XLXSJGBMX_JLDW,XLXSJGBMX_YSJDZ,XLXSJGBMX_CLCBYSJDZ,XLXSJGBMX_XSXH"); SQL.Add(" from XLXSJGBMX where XLXSJGBMX_JGBID=:pbeforeJGBID "); SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); SQL.ParamByName("pYXQS").Value = datYXQS.Text; SQL.ParamByName("pYXQZ").Value = datYXQZ.Text; SQL.ParamByName("pWHR").Value = tSession.UserName.ToString().Trim(); SQL.ParamByName("pWHRID").Value = tSession.UserId.ToString().Trim(); SQL.ParamByName("pWHSJ").Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString()); SQL.ParamByName("pbeforeJGBID").Value = sbefore_JGBID; dberp.ExecSQL(SQL); //同步复制XLXSJGBYZZ0 SQL.Clear(); SQL.Add("insert into XLXSJGBYZZ0(XLXSJGBYZZ0_JGBID,XLXSJGBYZZ0_XH,XLXSJGBYZZ0_YZZ01,XLXSJGBYZZ0_YZZ02,XLXSJGBYZZ0_YZZ03,XLXSJGBYZZ0_YZZ04,XLXSJGBYZZ0_YZZ05,"); SQL.Add(" XLXSJGBYZZ0_YZZ06,XLXSJGBYZZ0_YZZ07,XLXSJGBYZZ0_YZZ08,XLXSJGBYZZ0_YZZ09,XLXSJGBYZZ0_YZZ10)"); SQL.Add(" select :pJGBID,XLXSJGBYZZ0_XH,XLXSJGBYZZ0_YZZ01,XLXSJGBYZZ0_YZZ02,XLXSJGBYZZ0_YZZ03,XLXSJGBYZZ0_YZZ04,XLXSJGBYZZ0_YZZ05, "); SQL.Add(" XLXSJGBYZZ0_YZZ06,XLXSJGBYZZ0_YZZ07,XLXSJGBYZZ0_YZZ08,XLXSJGBYZZ0_YZZ09,XLXSJGBYZZ0_YZZ10 "); SQL.Add(" from XLXSJGBYZZ0 "); SQL.Add(" where XLXSJGBYZZ0_JGBID=:pbeforeJGBID "); SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); SQL.ParamByName("pbeforeJGBID").Value = sbefore_JGBID; dberp.ExecSQL(SQL); if (!sTJYS.Equals("2")) { //取材料行情插入新价格表的材料行情 SQL.Clear(); SQL.Add("insert into XLXSCLHQ(XLXSCLHQ_JGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_HSJG,XLXSCLHQ_WSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF,"); SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1,"); SQL.Add(" XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ,XLXSCLHQ_BZ,XLXSCLHQ_WHRID,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ) "); SQL.Add("select :pJGBID as JGBID,XLXSBJCL_BJCLID as BJCLID,isnull(HSJG,0.0) as HSJG,isnull(CLJG,0.0) as CLJG,isnull(WSJGF,0.0) as WSJGF,isnull(HSJGF,0.0) as HSJGF,"); SQL.Add(" isnull(JGYBJCLID1,' ') as JGYBJCLID1,isnull(HSJG1,0.0) as HSJG1,isnull(WSJG1,0.0) as WSJG1,isnull(JGBL1,0.0) as JGBL1, "); SQL.Add(" convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,"); SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR,:pWHSJ as WHSJ "); SQL.Add("from XLXSBJCL left join "); SQL.Add("("); SQL.Add("select XLXSCLHQ_BJCLID as BJCLID,XLXSCLHQ_HSJG as HSJG,XLXSCLHQ_WSJG as CLJG,XLXSCLHQ_WSJGF as WSJGF, XLXSCLHQ_HSJGF as HSJGF, "); SQL.Add(" XLXSCLHQ_JGYBJCLID1 as JGYBJCLID1,XLXSCLHQ_HSJG1 as HSJG1,XLXSCLHQ_WSJG1 as WSJG1,XLXSCLHQ_JGBL1 as JGBL1 "); SQL.Add("from XLXSCLHQ "); SQL.Add("where XLXSCLHQ_JGBID=:pOLDJGBID "); SQL.Add("and XLXSCLHQ_YXQS=convert(datetime,'1900-01-01 00:00:00') "); SQL.Add(") a on BJCLID=XLXSBJCL_BJCLID "); SQL.Add("where isnull(XLXSBJCL_BJCLMC,' ')<>' ' "); SQL.Add("and not exists (select 1 from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=XLXSBJCL_BJCLID and XLXSCLHQ_YXQS=convert(datetime,'1900-01-01 00:00:00')) "); SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pOLDJGBID").Value = sbefore_JGBID; dberp.ExecSQL(SQL); if (XLBJDUtils.HasJGBWLHQ(txtJGBID.Text.Trim()))//判断价格表是否记录物料行情 { SQL.Clear(); SQL.Add("insert into XLXSWLHQ(XLXSWLHQ_JGBID,XLXSWLHQ_WLID,XLXSWLHQ_HSJG,XLXSWLHQ_WSJG,XLXSWLHQ_WSJGF,XLXSWLHQ_HSJGF,"); SQL.Add(" XLXSWLHQ_JGYBJCLID1,XLXSWLHQ_HSJG1,XLXSWLHQ_WSJG1,XLXSWLHQ_JGBL1,"); SQL.Add(" XLXSWLHQ_YXQS,XLXSWLHQ_YXQZ,XLXSWLHQ_BZ,XLXSWLHQ_WHRID,XLXSWLHQ_WHR,XLXSWLHQ_WHSJ) "); SQL.Add("select :pJGBID as JGBID,XLXSBJCLWL_WLID as WLID,isnull(HSJG,0.0) as HSJG,isnull(CLJG,0.0) as CLJG,isnull(WSJGF,0.0) as WSJGF,isnull(HSJGF,0.0) as HSJGF,"); SQL.Add(" isnull(JGYBJCLID1,' ') as JGYBJCLID1,isnull(HSJG1,0.0) as HSJG1,isnull(WSJG1,0.0) as WSJG1,isnull(JGBL1,0.0) as JGBL1, "); SQL.Add(" convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,"); SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR,:pWHSJ as WHSJ "); SQL.Add("from XLXSBJCLWL left join "); SQL.Add("("); SQL.Add("select XLXSWLHQ_WLID as WLID,XLXSWLHQ_HSJG as HSJG,XLXSWLHQ_WSJG as CLJG,XLXSWLHQ_WSJGF as WSJGF, XLXSWLHQ_HSJGF as HSJGF, "); SQL.Add(" XLXSWLHQ_JGYBJCLID1 as JGYBJCLID1,XLXSWLHQ_HSJG1 as HSJG1,XLXSWLHQ_WSJG1 as WSJG1,XLXSWLHQ_JGBL1 as JGBL1 "); SQL.Add("from XLXSWLHQ "); SQL.Add("where XLXSWLHQ_JGBID=:pOLDJGBID "); SQL.Add("and XLXSWLHQ_YXQS=convert(datetime,'1900-01-01 00:00:00') "); SQL.Add(") a on WLID=XLXSBJCLWL_WLID "); SQL.Add("where exists(select 1 from XLXSBJCL where XLXSBJCL_BJCLID=XLXSBJCLWL_BJCLID and XLXSBJCL_BJHQ='2') "); SQL.Add("and not exists (select 1 from XLXSWLHQ where XLXSWLHQ_JGBID=:pJGBID and XLXSWLHQ_WLID=XLXSBJCLWL_WLID and XLXSWLHQ_YXQS=convert(datetime,'1900-01-01 00:00:00')) "); SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pOLDJGBID").Value = sbefore_JGBID; dberp.ExecSQL(SQL); } } } } else if (txtMXBH.Value.Trim().Equals("JGF")) { //复制主表记录时,同步复制明细记录 SQL.Clear(); SQL.Add("insert into XLXSJGBMX(XLXSJGBMX_JGBID,XLXSJGBMX_XH,XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_WSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_HSJJM,XLXSJGBMX_HSBJM,XLXSJGBMX_WSJJM,XLXSJGBMX_WSBJM,"); SQL.Add(" XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,XLXSJGBMX_WHR,XLXSJGBMX_WHRID,XLXSJGBMX_WHSJ,XLXSJGBMX_SYXH,XLXSJGBMX_BZ,XLXSJGBMX_JLDW,XLXSJGBMX_YSJDZ,XLXSJGBMX_CLCBYSJDZ,XLXSJGBMX_XSXH)"); SQL.Add(" select :pJGBID,XLXSJGBMX_XH,:pYXQS,:pYXQZ,XLXSJGBMX_HSJJ,XLXSJGBMX_WSJJ,XLXSJGBMX_HSBJ,XLXSJGBMX_WSBJ,XLXSJGBMX_HSJJM,XLXSJGBMX_HSBJM,XLXSJGBMX_WSJJM,XLXSJGBMX_WSBJM,"); SQL.Add(" XLXSJGBMX_XLXHID,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID,XLXSJGBMX_DYDJID,:pWHR,:pWHRID,:pWHSJ,XLXSJGBMX_SYXH,XLXSJGBMX_BZ,XLXSJGBMX_JLDW,XLXSJGBMX_YSJDZ,XLXSJGBMX_CLCBYSJDZ,XLXSJGBMX_XSXH"); SQL.Add(" from XLXSJGBMX where XLXSJGBMX_JGBID=:pbeforeJGBID "); SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); SQL.ParamByName("pYXQS").Value = datYXQS.Text; SQL.ParamByName("pYXQZ").Value = datYXQZ.Text; SQL.ParamByName("pWHR").Value = tSession.UserName.ToString().Trim(); SQL.ParamByName("pWHRID").Value = tSession.UserId.ToString().Trim(); SQL.ParamByName("pWHSJ").Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString()); SQL.ParamByName("pbeforeJGBID").Value = sbefore_JGBID; dberp.ExecSQL(SQL); //同步复制XLXSJGBYZZ0 SQL.Clear(); SQL.Add("insert into XLXSJGBYZZ0(XLXSJGBYZZ0_JGBID,XLXSJGBYZZ0_XH,XLXSJGBYZZ0_YZZ01,XLXSJGBYZZ0_YZZ02,XLXSJGBYZZ0_YZZ03,XLXSJGBYZZ0_YZZ04,XLXSJGBYZZ0_YZZ05,"); SQL.Add(" XLXSJGBYZZ0_YZZ06,XLXSJGBYZZ0_YZZ07,XLXSJGBYZZ0_YZZ08,XLXSJGBYZZ0_YZZ09,XLXSJGBYZZ0_YZZ10)"); SQL.Add(" select :pJGBID,XLXSJGBYZZ0_XH,XLXSJGBYZZ0_YZZ01,XLXSJGBYZZ0_YZZ02,XLXSJGBYZZ0_YZZ03,XLXSJGBYZZ0_YZZ04,XLXSJGBYZZ0_YZZ05, "); SQL.Add(" XLXSJGBYZZ0_YZZ06,XLXSJGBYZZ0_YZZ07,XLXSJGBYZZ0_YZZ08,XLXSJGBYZZ0_YZZ09,XLXSJGBYZZ0_YZZ10 "); SQL.Add(" from XLXSJGBYZZ0 "); SQL.Add(" where XLXSJGBYZZ0_JGBID=:pbeforeJGBID "); SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); SQL.ParamByName("pbeforeJGBID").Value = sbefore_JGBID; dberp.ExecSQL(SQL); } if (ctrlState.Value.Equals("CY")) { //更新原价格表的有效期止 SQL.Clear(); SQL.Add("update XLXSJGB set XLXSJGB_YXQZ=:pRQ where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID "); SQL.ParamByName("pRQ").Value = DateTime.Today.AddDays(-1); SQL.ParamByName("pMXBH").Value = txtMXBH.Value.Trim(); SQL.ParamByName("pJGBID").Value = sbefore_JGBID; dberp.ExecSQL(SQL); if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGF") || txtMXBH.Value.Trim().Equals("JGC")) { //更新原价格表明细的有效期止 SQL.Clear(); SQL.Add("update XLXSJGBMX set XLXSJGBMX_YXQZ=:XLXSJGBMX_YXQZ where XLXSJGBMX_JGBID=:XLXSJGBMX_JGBID"); SQL.ParamByName("XLXSJGBMX_YXQZ").Value = DateTime.Today.AddDays(-1); SQL.ParamByName("XLXSJGBMX_JGBID").Value = sbefore_JGBID; dberp.ExecSQL(SQL); } } //复制主表时同步复制价格表使用的调价因子 SQL.Clear(); SQL.Add("insert into XLXSJGBYZ(XLXSJGBYZ_JGBID,XLXSJGBYZ_YZID,XLXSJGBYZ_BZ,XLXSJGBYZ_WHR,XLXSJGBYZ_WHRID,XLXSJGBYZ_WHSJ)"); SQL.Add(" select :pJGBID,XLXSJGBYZ_YZID, XLXSJGBYZ_BZ, XLXSJGBYZ_WHR,XLXSJGBYZ_WHRID,XLXSJGBYZ_WHSJ from XLXSJGBYZ where XLXSJGBYZ_JGBID=:pbeforeJGBID"); SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); SQL.ParamByName("pbeforeJGBID").Value = sbefore_JGBID; dberp.ExecSQL(SQL); CacheNotify.TableIsUpdated("DBERP", "XLXSJGBYZ"); } else if (ctrlState.Value.Equals("I"))//新建保存 { if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC")) { if (!sJJLY.Equals("D")) { //取材料行情插入新价格表的材料行情 SQL.Clear(); SQL.Add("insert into XLXSCLHQ(XLXSCLHQ_JGBID,XLXSCLHQ_BJCLID,XLXSCLHQ_HSJG,XLXSCLHQ_WSJG,XLXSCLHQ_WSJGF,XLXSCLHQ_HSJGF, "); SQL.Add(" XLXSCLHQ_JGYBJCLID1,XLXSCLHQ_HSJG1,XLXSCLHQ_WSJG1,XLXSCLHQ_JGBL1, "); SQL.Add(" XLXSCLHQ_YXQS,XLXSCLHQ_YXQZ,XLXSCLHQ_BZ,XLXSCLHQ_WHRID,XLXSCLHQ_WHR,XLXSCLHQ_WHSJ) "); SQL.Add("select :pJGBID as JGBID,XLXSBJCL_BJCLID as BJCLID,isnull(HSJG,0.0) as HSJG,isnull(CLJG,0.0) as CLJG,isnull(WSJGF,0.0) as WSJGF,isnull(HSJGF,0.0) as HSJGF, "); SQL.Add(" isnull(JGYBJCLID1,' ') as JGYBJCLID1,isnull(HSJG1,0.0) as HSJG1,isnull(WSJG1,0.0) as WSJG1,isnull(JGBL1,0.0) as JGBL1, "); SQL.Add(" convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,"); SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR, :pWHSJ as WHSJ "); SQL.Add("from XLXSBJCL left join "); SQL.Add("("); SQL.Add("select XLXSCLHQ_BJCLID as BJCLID,XLXSCLHQ_HSJG as HSJG,XLXSCLHQ_WSJG as CLJG,XLXSCLHQ_WSJGF as WSJGF,XLXSCLHQ_HSJGF as HSJGF, "); SQL.Add(" XLXSCLHQ_JGYBJCLID1 as JGYBJCLID1,XLXSCLHQ_HSJG1 as HSJG1,XLXSCLHQ_WSJG1 as WSJG1,XLXSCLHQ_JGBL1 as JGBL1 "); SQL.Add("from XLXSCLHQ, "); SQL.Add("("); SQL.Add("select XLXSCLHQ_BJCLID as BJCLID,max(XLXSCLHQ_YXQS) as maxYXQS "); SQL.Add("from XLXSCLHQ "); SQL.Add("where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add("and XLXSCLHQ_YXQS<=:pYXQS "); if (datYXQZ.Text.Trim().Equals("")) SQL.Add("and XLXSCLHQ_YXQZ is null "); else SQL.Add("and (XLXSCLHQ_YXQZ is null or XLXSCLHQ_YXQZ>=:pYXQZ) "); SQL.Add("group by XLXSCLHQ_BJCLID "); SQL.Add(") a "); SQL.Add("where XLXSCLHQ_JGBID='ZZZZZZZZ' "); SQL.Add("and XLXSCLHQ_BJCLID=BJCLID "); SQL.Add("and XLXSCLHQ_YXQS=maxYXQS "); SQL.Add(") b on BJCLID=XLXSBJCL_BJCLID "); SQL.Add("where isnull(XLXSBJCL_BJCLMC,' ')<>' ' and isnull(XLXSBJCL_TYBZ,'N') <> 'Y' "); SQL.Add("and not exists (select 1 from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=XLXSBJCL_BJCLID and XLXSCLHQ_YXQS=convert(datetime,'1900-01-01 00:00:00')) "); SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pYXQS").Value = datYXQS.Text.Trim(); if (!datYXQZ.Text.Trim().Equals("")) SQL.ParamByName("pYXQZ").Value = datYXQZ.Text.Trim(); dberp.ExecSQL(SQL); if (XLBJDUtils.HasJGBWLHQ(txtJGBID.Text.Trim()))//判断价格表是否记录物料行情 { //取物料行情插入新价格表的物料行情 SQL.Clear(); SQL.Add("insert into XLXSWLHQ(XLXSWLHQ_JGBID,XLXSWLHQ_WLID,XLXSWLHQ_HSJG,XLXSWLHQ_WSJG,XLXSWLHQ_WSJGF,XLXSWLHQ_HSJGF, "); SQL.Add(" XLXSWLHQ_JGYBJCLID1,XLXSWLHQ_HSJG1,XLXSWLHQ_WSJG1,XLXSWLHQ_JGBL1,"); SQL.Add(" XLXSWLHQ_YXQS,XLXSWLHQ_YXQZ,XLXSWLHQ_BZ,XLXSWLHQ_WHRID,XLXSWLHQ_WHR,XLXSWLHQ_WHSJ) "); SQL.Add("select :pJGBID as JGBID,XLXSBJCLWL_WLID as WLID,isnull(HSJG,0.0) as HSJG,isnull(CLJG,0.0) as CLJG,isnull(WSJGF,0.0) as WSJGF,isnull(HSJGF,0.0) as HSJGF, "); SQL.Add(" isnull(JGYBJCLID1,' ') as JGYBJCLID1,isnull(HSJG1,0.0) as HSJG1,isnull(WSJG1,0.0) as WSJG1,isnull(JGBL1,0.0) as JGBL1, "); SQL.Add(" convert(datetime,'1900-01-01 00:00:00') as YXQS,convert(datetime,'1900-01-01 00:00:00') as YXQZ,"); SQL.Add(" ' ' as BZ,:pWHRID as WHRID,:pWHR as WHR, :pWHSJ as WHSJ "); SQL.Add("from XLXSBJCLWL left join "); SQL.Add("("); SQL.Add("select XLXSWLHQ_WLID as WLID,XLXSWLHQ_HSJG as HSJG,XLXSWLHQ_WSJG as CLJG,XLXSWLHQ_WSJGF as WSJGF,XLXSWLHQ_HSJGF as HSJGF, "); SQL.Add(" XLXSWLHQ_JGYBJCLID1 as JGYBJCLID1,XLXSWLHQ_HSJG1 as HSJG1,XLXSWLHQ_WSJG1 as WSJG1,XLXSWLHQ_JGBL1 as JGBL1 "); SQL.Add("from XLXSWLHQ, "); SQL.Add("("); SQL.Add("select XLXSWLHQ_WLID as WLID,max(XLXSWLHQ_YXQS) as maxYXQS "); SQL.Add("from XLXSWLHQ "); SQL.Add("where XLXSWLHQ_JGBID=' ' "); SQL.Add("and XLXSWLHQ_YXQS<=:pYXQS "); if (datYXQZ.Text.Trim().Equals("")) SQL.Add("and XLXSWLHQ_YXQZ is null "); else SQL.Add("and (XLXSWLHQ_YXQZ is null or XLXSWLHQ_YXQZ>=:pYXQZ) "); SQL.Add("group by XLXSWLHQ_WLID "); SQL.Add(") a "); SQL.Add("where XLXSWLHQ_JGBID=' ' "); SQL.Add("and XLXSWLHQ_WLID=WLID "); SQL.Add("and XLXSWLHQ_YXQS=maxYXQS "); SQL.Add(") b on WLID=XLXSBJCLWL_WLID "); SQL.Add("where exists(select 1 from XLXSBJCL where XLXSBJCL_BJCLID=XLXSBJCLWL_BJCLID and XLXSBJCL_BJHQ='2') "); SQL.Add("and not exists (select 1 from XLXSWLHQ where XLXSWLHQ_JGBID=:pJGBID and XLXSWLHQ_WLID=XLXSBJCLWL_WLID and XLXSWLHQ_YXQS=convert(datetime,'1900-01-01 00:00:00')) "); SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); SQL.ParamByName("pWHRID").Value = tSession.UserId; SQL.ParamByName("pWHR").Value = tSession.UserName; SQL.ParamByName("pWHSJ").Value = DateTime.Now; SQL.ParamByName("pYXQS").Value = datYXQS.Text.Trim(); if (!datYXQZ.Text.Trim().Equals("")) SQL.ParamByName("pYXQZ").Value = datYXQZ.Text.Trim(); dberp.ExecSQL(SQL); } } } } else if (ctrlState.Value.Equals("IY"))//JGF价格表更新重叠价格表的有效期止 { SQL.Clear(); SQL.Add(string.Format("select XLXSJGB_JGBID from XLXSJGB where XLXSJGB_MXBH='{2}' and XLXSJGB_JGBID<>'{0}' and XLXSJGB_YXQS<'{1}' and (XLXSJGB_YXQZ is null or XLXSJGB_YXQZ>='{1}')", txtJGBID.Text.Trim(), datYXQS.Text, txtMXBH.Value.Trim())); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { string sOldJGBID = ds.Tables[0].Rows[0]["XLXSJGB_JGBID"].ToString().Trim(); //更新重叠价格表的有效期止 SQL.Clear(); SQL.Add("update XLXSJGB set XLXSJGB_YXQZ=:pRQ where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID "); SQL.ParamByName("pRQ").Value = CMISproConvert.StrToDateTime(datYXQS.Text).AddDays(-1); SQL.ParamByName("pMXBH").Value = txtMXBH.Value.Trim(); SQL.ParamByName("pJGBID").Value = sOldJGBID; dberp.ExecSQL(SQL); //更新重叠价格表明细的有效期止 SQL.Clear(); SQL.Add("update XLXSJGBMX set XLXSJGBMX_YXQZ=:XLXSJGBMX_YXQZ where XLXSJGBMX_JGBID=:XLXSJGBMX_JGBID"); SQL.ParamByName("XLXSJGBMX_YXQZ").Value = CMISproConvert.StrToDateTime(datYXQS.Text).AddDays(-1); SQL.ParamByName("XLXSJGBMX_JGBID").Value = sOldJGBID; dberp.ExecSQL(SQL); } } //排序方式变更判断 if (!txtMXPXFS.Value.Trim().Equals(cbxMXPXFS.SelectedValue.Trim())) UpdateJGBMXXSXH(dberp, txtJGBID.Text.Trim(), txtMXBH.Value.Trim(), cbxMXPXFS.SelectedValue.Trim()); txtMXPXFS.Value = cbxMXPXFS.SelectedValue.Trim(); if (txtMXBH.Value.Trim().Equals("JGF"))//JGF更新当前有效期止避免与未来有效的价格表重叠 { SQL.Clear(); SQL.Add(string.Format("select XLXSJGB_YXQS from XLXSJGB where XLXSJGB_MXBH='{2}' and XLXSJGB_JGBID<>'{0}' and XLXSJGB_YXQS>'{1}' ", txtJGBID.Text.Trim(), datYXQS.Text, txtMXBH.Value.Trim())); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { DateTime futureDate = CMISproConvert.StrToDateTime(ds.Tables[0].Rows[0]["XLXSJGB_YXQS"].ToString().Trim()); SQL.Clear(); SQL.Add("update XLXSJGB set XLXSJGB_YXQZ=:pRQ where XLXSJGB_MXBH=:pMXBH and XLXSJGB_JGBID=:pJGBID "); SQL.ParamByName("pRQ").Value = futureDate.AddDays(-1); SQL.ParamByName("pMXBH").Value = txtMXBH.Value.Trim(); SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add("update XLXSJGBMX set XLXSJGBMX_YXQZ=:XLXSJGBMX_YXQZ where XLXSJGBMX_JGBID=:XLXSJGBMX_JGBID"); SQL.ParamByName("XLXSJGBMX_YXQZ").Value = futureDate.AddDays(-1); SQL.ParamByName("XLXSJGBMX_JGBID").Value = txtJGBID.Text.Trim(); dberp.ExecSQL(SQL); datYXQZ.Text = futureDate.AddDays(-1).ToShortDateString().Trim(); ShowMessage("已更新当前价格表有效期止避免有效期重叠!"); } } if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGF") || txtMXBH.Value.Trim().Equals("JGC")) { if (YXQChanged()) { SQL.Clear(); SQL.Add("update XLXSJGBMX set XLXSJGBMX_YXQS=:XLXSJGBMX_YXQS, XLXSJGBMX_YXQZ=:XLXSJGBMX_YXQZ where XLXSJGBMX_JGBID=:XLXSJGBMX_JGBID"); SQL.ParamByName("XLXSJGBMX_YXQS").Value = CMISproConvert.StrToDateTime(datYXQS.Text); if (datYXQZ.Text.Trim().Equals("")) SQL.ParamByName("XLXSJGBMX_YXQZ").Clear(); else SQL.ParamByName("XLXSJGBMX_YXQZ").Value = CMISproConvert.StrToDateTime(datYXQZ.Text.Trim()); SQL.ParamByName("XLXSJGBMX_JGBID").Value = txtJGBID.Text.Trim(); dberp.ExecSQL(SQL); } if (!sTBJCLID.Equals("")) { SQL.Clear(); SQL.Add("SELECT XLXSCLHQ_HSJG from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=:pBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00')"); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pBJCLID").Value = sTBJCLID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtTBJCLID.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString().Trim()); } } if (!sLBJCLID.Equals("")) { SQL.Clear(); SQL.Add("SELECT XLXSCLHQ_HSJG from XLXSCLHQ where XLXSCLHQ_JGBID=:pJGBID and XLXSCLHQ_BJCLID=:pBJCLID and XLXSCLHQ_YXQS = convert(datetime,'1900-01-01 00:00:00')"); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pBJCLID").Value = sLBJCLID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { txtLBJCLID.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][0].ToString().Trim()); } } } CacheNotify.TableIsUpdated("DBERP", "XLXSJGB"); return base.Master_AfterSaveAction(sender, e); } protected override bool Master_AfterDeleteAction(object sender, EventArgs e) { if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC") || txtMXBH.Value.Trim().Equals("JGE") || txtMXBH.Value.Trim().Equals("JGF")) { TDatabase db = TContextDatabases.GetDatabase("DBERP"); TSQL tSQL = new TSQL(db); tSQL.Clear(); tSQL.Add("delete from XLXSJGBMX where XLXSJGBMX_JGBID = :XLXSJGBMX_JGBID "); tSQL.ParamByName("XLXSJGBMX_JGBID").Value = txtJGBID.Text.Trim(); db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSJGBYZZ0 where XLXSJGBYZZ0_JGBID = :XLXSJGBYZZ0_JGBID "); tSQL.ParamByName("XLXSJGBYZZ0_JGBID").Value = txtJGBID.Text.Trim(); db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSJGBYZ where XLXSJGBYZ_JGBID = :XLXSJGBYZ_JGBID "); tSQL.ParamByName("XLXSJGBYZ_JGBID").Value = txtJGBID.Text.Trim(); db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSCLHQ where XLXSCLHQ_JGBID = :XLXSCLHQ_JGBID "); tSQL.ParamByName("XLXSCLHQ_JGBID").Value = txtJGBID.Text.Trim(); db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSWLHQ where XLXSWLHQ_JGBID = :XLXSWLHQ_JGBID "); tSQL.ParamByName("XLXSWLHQ_JGBID").Value = txtJGBID.Text.Trim(); db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("update XLXSJGBPZJGB set XLXSJGBPZJGB_JGBID=null,XLXSJGBPZJGB_JGBMC=null where XLXSJGBPZJGB_JGBID=:pJGBID"); tSQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSJGBCLHQFD where XLXSJGBCLHQFD_MXBH=:pMXBH and XLXSJGBCLHQFD_JGBID=:pJGBID"); tSQL.ParamByName("pMXBH").Value = txtMXBH.Value.Trim(); tSQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSJGBCLQD where XLXSJGBCLQD_JGBID = :XLXSJGBCLQD_JGBID "); tSQL.ParamByName("XLXSJGBCLQD_JGBID").Value = txtJGBID.Text.Trim(); db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSJGBCLQDWL where XLXSJGBCLQDWL_JGBID = :XLXSJGBCLQDWL_JGBID "); tSQL.ParamByName("XLXSJGBCLQDWL_JGBID").Value = txtJGBID.Text.Trim(); db.ExecSQL(tSQL); tSQL.Clear(); tSQL.Add("delete from XLXSJGBYLLM where XLXSJGBYLLM_JGBID = :XLXSJGBYLLM_JGBID "); tSQL.ParamByName("XLXSJGBYLLM_JGBID").Value = txtJGBID.Text.Trim(); db.ExecSQL(tSQL); } if (txtMXBH.Value.Trim().Equals("JZJ")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); for (int i = 1; i <= 7; i++) { sSQL.Clear(); sSQL.Add(string.Format("delete from XLXSJGBYZZ{0} where XLXSJGBYZZ{0}_JGBID = :pJGBID ",i.ToString().Trim())); sSQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); dberp.ExecSQL(sSQL); } } if (txtMXBH.Value.Trim().Equals("BJD")) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); for (int i = 1; i <= 14; i++) { string sHZ = i.ToString().Trim(); switch (i) { case 10: sHZ = "A"; break; case 11: sHZ = "B"; break; case 12: sHZ = "C"; break; case 13: sHZ = "D"; break; case 14: sHZ = "E"; break; default: break; } sSQL.Clear(); sSQL.Add(string.Format("delete from XLXSBJDYZZ{0} where XLXSBJDYZZ{0}_JGBID = :pJGBID ", sHZ)); sSQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); dberp.ExecSQL(sSQL); } } CacheNotify.TableIsUpdated("DBERP", "XLXSJGBYZ"); CacheNotify.TableIsUpdated("DBERP", "XLXSJGB"); return base.Master_AfterDeleteAction(sender, e); } protected override bool Master_BeforeDeleteAction(object sender, EventArgs e) { if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC") || txtMXBH.Value.Trim().Equals("JGE") || txtMXBH.Value.Trim().Equals("JGF")) { if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGE")) { if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJD where XLXSBJD_JGBID='{0}'", txtJGBID.Text.Trim()))) { ShowMessage("已被报价单使用,不允许删除!"); return false; } } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select top 1 XLXSJGB_JGBID from XLXSJGB where ','||rtrim(isnull(XLXSJGB_JGBIDS,' '))||',' like '{0}'", "%," + txtJGBID.Text.Trim() + ",%"))) { ShowMessage("已被其他价格表作为所依出厂价,不允许删除!"); return false; } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGB where ','||rtrim(isnull(XLXSJGB_JGCIDS,' '))||',' like '{0}'", "%," + txtJGBID.Text.Trim() + ",%"))) { ShowMessage("已被报价价格表引用,不允许删除!"); return false; } if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_JGBID='{0}' ", txtJGBID.Text.Trim()))) { Confirm.Register("CheckDel", "存在价格表明细记录,确定删除?"); if (Confirm.GetValue("CheckDel").Trim().Equals("")) { Confirm.Ask("CheckDel"); return false; } else if (Confirm.GetValue("CheckDel").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return false; } else if (Confirm.GetValue("CheckDel").Trim().Equals("Y")) { //表示进行了提示并选择了确认 Confirm.Clear(); } } } else if (txtMXBH.Value.Trim().Equals("JZJ")) { Dictionary dic = XLBJDUtils.GetALLYZIDDic(); foreach (string sYZID in dic.Keys) { TZYZXX yzxx = XLBJDUtils.GetYZXXByYZID(sYZID); if (!string.IsNullOrEmpty(yzxx.XLXSTZYZ_JGBID) && yzxx.XLXSTZYZ_JGBID.Equals(txtJGBID.Text.Trim())&&yzxx.XLXSTZYZ_MXBH=="JZJ") { ShowMessage("被价格表调价因子使用,不允许删除!"); return false; } } Confirm.Register("CheckDel", "将同步删除当前调价表设置的因子值记录,是否继续?"); if (Confirm.GetValue("CheckDel").Trim().Equals("")) { Confirm.Ask("CheckDel"); return false; } else if (Confirm.GetValue("CheckDel").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return false; } else if (Confirm.GetValue("CheckDel").Trim().Equals("Y")) { //表示进行了提示并选择了确认 Confirm.Clear(); } } else if (txtMXBH.Value.Trim().Equals("BJD")) { Dictionary dic = XLBJDUtils.GetALLYZIDDic(); foreach (string sYZID in dic.Keys) { TZYZXX yzxx = XLBJDUtils.GetYZXXByYZID(sYZID); if (!string.IsNullOrEmpty(yzxx.XLXSTZYZ_JGBID) && yzxx.XLXSTZYZ_JGBID.Equals(txtJGBID.Text.Trim()) && yzxx.XLXSTZYZ_MXBH == "BJD") { ShowMessage("被报价单调价因子使用,不允许删除!"); return false; } } Confirm.Register("CheckDel", "将同步删除当前调价表设置的因子值记录,是否继续?"); if (Confirm.GetValue("CheckDel").Trim().Equals("")) { Confirm.Ask("CheckDel"); return false; } else if (Confirm.GetValue("CheckDel").Trim().Equals("N")) { //表示进行了提示并选择了取消,直接返回或其他处理 Confirm.Clear(); return false; } else if (Confirm.GetValue("CheckDel").Trim().Equals("Y")) { //表示进行了提示并选择了确认 Confirm.Clear(); } } return base.Master_BeforeDeleteAction(sender, e); } protected override void SetComboxItems() { if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC") || txtMXBH.Value.Trim().Equals("JGF")) { cbxTJYS.ClearItems(); cbxTJYS.Items.Add(new ListItem("1|表价(出厂价)=基价(材料价)&调价", "1")); if (txtMXBH.Value.Trim().Equals("JGB")) { cbxTJYS.Items.Add(new ListItem("2|表价(区域价)=基价(出厂价)&调价", "2")); cbxTJYS.Items.Add(new ListItem("3|表价(现行价)=基价(出厂价+材料价价差)&调价", "3")); } if (ControlState == TControlState.ctsBrowse) { cbxJJLY.ClearItems(); cbxJJLY.Items.Add(new ListItem("A|sum(材料用量*材料价格)", "A")); cbxJJLY.Items.Add(new ListItem("B|出厂价", "B")); cbxJJLY.Items.Add(new ListItem("C|出厂价+材料价价差", "C")); cbxJJLY.Items.Add(new ListItem("D|直接导入", "D")); } else { cbxTJYS_SelectedIndexChanged(null, null); } cbxBJLY.ClearItems(); cbxBJLY.Items.Add(new ListItem("J|按调价因素计算", "J")); cbxBJLY.Items.Add(new ListItem("D|直接导入", "D")); if (txtMXBH.Value.Trim().Equals("JGB")) { cbxBJLY.Items.Add(new ListItem("C|基价价格表表价", "C")); } cbxJSBLFS.ClearItems(); cbxJSBLFS.Items.Add(new ListItem("R|四舍五入法", "R")); cbxJSBLFS.Items.Add(new ListItem("C1|进一法(材料价各分项进一)", "C1")); cbxJSBLFS.Items.Add(new ListItem("C2|进一法(材料价汇总进一)", "C2")); cbxJSBLFS.Items.Add(new ListItem("C3|材料价汇总进一+表价进一到十位", "C3")); cbxWSJGLY.ClearItems(); cbxWSJGLY.Items.Add(new ListItem("1|无税材料价格", "1")); cbxWSJGLY.Items.Add(new ListItem("2|含税价格×(1-税率%)", "2")); if (ControlState == TControlState.ctsBrowse) { TComboBox.SetComboBox("DBERP", cbxCPMLID, string.Format("select XLXSCPML_CPMLID,XLXSCPML_CPMLMC from XLXSCPML where XLXSCPML_CPMLID='{0}'", cbxCPMLID.SelectedValue.Trim()), true); } else { if (txtMXBH.Value.Trim().Equals("JGB"))//JGB加载组合产品目录 { if (!GetOption("BJU016").Equals("")) { TComboBox.SetComboBox("DBERP", cbxCPMLID, @"select XLXSCPML_CPMLID,XLXSCPML_CPMLMC from XLXSCPML where isnull(XLXSCPML_CPMLLX,' ')='Y' and isnull(XLXSCPML_TYBZ,' ')<>'Y' and " + CMISproDataBase.GetWhereEqual("XLXSCPML_CPMLID", GetOption("BJU016")) + " order by XLXSCPML_CPMLID", true); } else { TComboBox.SetComboBox("DBERP", cbxCPMLID, @"select XLXSCPML_CPMLID,XLXSCPML_CPMLMC from XLXSCPML where isnull(XLXSCPML_CPMLLX,' ')='Y' and isnull(XLXSCPML_TYBZ,' ')<>'Y' order by XLXSCPML_CPMLID", true); } } else if (txtMXBH.Value.Trim().Equals("JGC"))//JGC加载单一产品目录 { if (!GetOption("BJU016").Equals("")) { TComboBox.SetComboBox("DBERP", cbxCPMLID, @"select XLXSCPML_CPMLID,XLXSCPML_CPMLMC from XLXSCPML where isnull(XLXSCPML_CPMLLX,' ')<>'Y' and isnull(XLXSCPML_TYBZ,' ')<>'Y' and " + CMISproDataBase.GetWhereEqual("XLXSCPML_CPMLID", GetOption("BJU016")) + " order by XLXSCPML_CPMLID", true); } else { TComboBox.SetComboBox("DBERP", cbxCPMLID, @"select XLXSCPML_CPMLID,XLXSCPML_CPMLMC from XLXSCPML where isnull(XLXSCPML_CPMLLX,' ')<>'Y' and isnull(XLXSCPML_TYBZ,' ')<>'Y' order by XLXSCPML_CPMLID", true); } } } } else if (txtMXBH.Value.Trim().Equals("JZJ")) { cbxTJYS.ClearItems(); cbxTJYS.Items.Add(new ListItem("", "")); if (DSActiveModule.IsActiveModule(100860017)) cbxTJYS.Items.Add(new ListItem("1|型号&规格&电压&标准", "1")); if (DSActiveModule.IsActiveModule(102579011)) cbxTJYS.Items.Add(new ListItem("2|产品用途&电压等级分类&报价材料", "2")); if (DSActiveModule.IsActiveModule(100860026)) cbxTJYS.Items.Add(new ListItem("3|销售区域&导体材料&线缆型号&主芯截面", "3")); if (DSActiveModule.IsActiveModule(100860047)) cbxTJYS.Items.Add(new ListItem("4|型号&电压等级&芯线结构&主芯截面范围", "4")); if (DSActiveModule.IsActiveModule(100860058)) cbxTJYS.Items.Add(new ListItem("5|型号&电压等级&主芯截面范围&总芯数范围", "5")); if (DSActiveModule.IsActiveModule(102579010)) cbxTJYS.Items.Add(new ListItem("6|型号&电压等级&报价材料", "6")); if (DSActiveModule.IsActiveModule(102579009)) cbxTJYS.Items.Add(new ListItem("7|报价材料", "7")); if (DSActiveModule.IsActiveModule(100860096)) cbxTJYS.Items.Add(new ListItem("8|每吨加价*材料重量", "8")); } else if (txtMXBH.Value.Trim().Equals("BJD")) { cbxTJYS.ClearItems(); cbxTJYS.Items.Add(new ListItem("", "")); if (DSActiveModule.IsActiveModule(100860019)) cbxTJYS.Items.Add(new ListItem("1|付款方式", "1")); if (DSActiveModule.IsActiveModule(100860021)) cbxTJYS.Items.Add(new ListItem("2|导体材料&电压区间&报价数量区间", "2")); if (DSActiveModule.IsActiveModule(100860022)) cbxTJYS.Items.Add(new ListItem("3|产品用途&电压等级分类&报价数量区间", "3")); if (DSActiveModule.IsActiveModule(100860028)) cbxTJYS.Items.Add(new ListItem("4|型号", "4")); if (DSActiveModule.IsActiveModule(100860029)) cbxTJYS.Items.Add(new ListItem("5|销售区域&型号&标准&电压等级&主芯截面范围", "5")); if (DSActiveModule.IsActiveModule(100860030)) cbxTJYS.Items.Add(new ListItem("6|报价数量区间调价米数/报价数量", "6")); if (DSActiveModule.IsActiveModule(100860031)) cbxTJYS.Items.Add(new ListItem("7|型号&电压等级&芯线结构&主芯截面范围", "7")); if (DSActiveModule.IsActiveModule(100860039)) cbxTJYS.Items.Add(new ListItem("8|付款期限", "8")); if (DSActiveModule.IsActiveModule(100860040)) cbxTJYS.Items.Add(new ListItem("9|导体材料&产品用途&电压等级分类&产品特性", "9")); if (DSActiveModule.IsActiveModule(100860041)) cbxTJYS.Items.Add(new ListItem("A|型号&规格&电压&标准", "A")); if (DSActiveModule.IsActiveModule(100860054)) cbxTJYS.Items.Add(new ListItem("B|销售单位", "B")); if (DSActiveModule.IsActiveModule(100860072)) cbxTJYS.Items.Add(new ListItem("C|产品目录&主芯截面范围&产品特性", "C")); if (DSActiveModule.IsActiveModule(100860085)) cbxTJYS.Items.Add(new ListItem("D|颜色", "D")); if (DSActiveModule.IsActiveModule(100860086)) cbxTJYS.Items.Add(new ListItem("E|型号&电压等级&主芯截面范围&报价数量区间", "E")); if (DSActiveModule.IsActiveModule(100860089)) cbxTJYS.Items.Add(new ListItem("F|电压等级&芯线结构&报价数量区间加价/报价数量", "F")); } cbxTJZT.ClearItems(); cbxTJZT.Items.Add(new ListItem("", "")); cbxTJZT.Items.Add(new ListItem("等待", "W")); cbxTJZT.Items.Add(new ListItem("计算", "J")); cbxTJZT.Items.Add(new ListItem("成功", "S")); cbxTJZT.Items.Add(new ListItem("失败", "F")); cbxTJZT.Items.Add(new ListItem("取消", "C")); cbxDRZT.ClearItems(); cbxDRZT.Items.Add(new ListItem("", "")); cbxDRZT.Items.Add(new ListItem("等待", "W")); cbxDRZT.Items.Add(new ListItem("导入", "J")); cbxDRZT.Items.Add(new ListItem("成功", "S")); cbxDRZT.Items.Add(new ListItem("失败", "F")); cbxDRZT.Items.Add(new ListItem("取消", "C")); cbxMXPXFS.ClearItems(); cbxMXPXFS.Items.Add(new ListItem("序号", "A")); cbxMXPXFS.Items.Add(new ListItem("型号+标准+规格序号+电压等级", "B")); cbxMXPXFS.Items.Add(new ListItem("型号+电压等级+规格序号+标准", "C")); cbxMXPXFS.Items.Add(new ListItem("标准+型号+规格序号+电压等级", "D")); cbxMXPXFS.Items.Add(new ListItem("型号+电压等级+标准+规格", "E")); cbxMXPXFS.Items.Add(new ListItem("型号+电压等级+芯数截面", "F")); TRYXX.SetComboBox_GH(cbxTJR, "", true, true); base.SetComboxItems(); } #endregion #region 私有函数 //不管JGB\JGC\JGE\JGF,都按JGB进行编码,否则两者编码重复,后续所有明细表都得加MXBH public static string getNewJGBBH() { string sPrefix = DateTime.Now.Year.ToString().Substring(2, 2) + DateTime.Now.Month.ToString().PadLeft(2, '0'); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add("select max(XLXSJGB_JGBID) from XLXSJGB where XLXSJGB_MXBH in ('JGB','JGC','JGE','JGF') and XLXSJGB_JGBID 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(4, 4)); return sPrefix + Convert.ToString(dTemp + 1).PadLeft(4, '0'); } else { return sPrefix + "0001"; } } private string getNewTJBBH(string sMXBH, string sTJYS) { string sRet = "00000001"; sTJYS = sTJYS.Trim().Equals("") ? " " : sTJYS.Trim(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Add("select max(SUBSTRING(XLXSJGB_JGBID,2,7)) from XLXSJGB where XLXSJGB_MXBH=:pMXBH and XLXSJGB_TJYS = :pTJYS"); SQL.ParamByName("pMXBH").Value = sMXBH; SQL.ParamByName("pTJYS").Value = sTJYS; 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()); if (sTJYS.Trim().Equals("")) { sRet = "0" + Convert.ToString(dTemp + 1).PadLeft(7, '0'); } else { sRet = sTJYS + Convert.ToString(dTemp + 1).PadLeft(7, '0'); } } else { if (sTJYS.Trim().Equals("")) sRet = "00000001"; else sRet = sTJYS.Trim() + "0000001"; } return sRet; } private bool YXQChanged() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select distinct XLXSJGBMX_YXQS,XLXSJGBMX_YXQZ from XLXSJGBMX where XLXSJGBMX_JGBID=:pJGBID "); SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); DataSet ds = dberp.OpenDataSet(SQL); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { string sYXQS = ds.Tables[0].Rows[i]["XLXSJGBMX_YXQS"].ToString().Trim(); string sYXQZ = ds.Tables[0].Rows[i]["XLXSJGBMX_YXQZ"].ToString().Trim(); if (!sYXQS.Equals(datYXQS.Text.Trim()) || !sYXQZ.Equals(datYXQZ.Text.Trim())) { return true; } } return false; } public static void GetTLBJCLID(TDatabase dberp, TSQL SQL, ref string sTBJCLID, ref string sLBJCLID) { XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860018); if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_TBJCLID)) sTBJCLID = pzxx.XLXSBJPZ_TBJCLID; if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_LBJCLID)) sLBJCLID = pzxx.XLXSBJPZ_LBJCLID; } public static bool IsJGBMRBSX() { XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860018); if (pzxx.XLXSBJPZ_JGBMRBSX == "Y") return true; return false; } public static void UpdateJGBMXXSXH(TDatabase dberp, string sJGBID, string sMXBH, string sPXFS) { TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" update XLXSJGB set XLXSJGB_MXPXFS = :pPXFS where XLXSJGB_JGBID = :pJGBID and XLXSJGB_MXBH = :pMXBH "); SQL.ParamByName("pPXFS").Value = sPXFS; SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pMXBH").Value = sMXBH; dberp.ExecSQL(SQL); SQL.Clear(); SQL.Add(" merge into XLXSJGBMX tag "); SQL.Add(" using ( "); SQL.Add(" select XLXSJGBMX_JGBID,XLXSJGBMX_XH ,"); if (sPXFS.Equals("A")) SQL.Add(" row_number() over(order by XLXSJGBMX_XH) as XH"); else if (sPXFS.Equals("B")) SQL.Add(" row_number() over(order by XLXSJGBMX_XLXHID,XLXSJGBMX_XLBZID,XLGGB_XH,XLXSJGBMX_XLGGID,XLXSJGBMX_DYDJID) as XH "); else if (sPXFS.Equals("C")) SQL.Add(" row_number() over(order by XLXSJGBMX_XLXHID,XLXSJGBMX_DYDJID,XLGGB_XH,XLXSJGBMX_XLGGID,XLXSJGBMX_XLBZID) as XH "); else if (sPXFS.Equals("D")) SQL.Add(" row_number() over(order by XLXSJGBMX_XLBZID,XLXSJGBMX_XLXHID,XLGGB_XH,XLXSJGBMX_XLGGID,XLXSJGBMX_DYDJID) as XH "); else if (sPXFS.Equals("E")) SQL.Add(@" row_number() over(order by XLXSJGBMX_XLXHID,XLXSJGBMX_DYDJID,XLXSJGBMX_XLBZID, XLXXJGB_SFXD7,XLXXJGB_SFXD6,XLXXJGB_SFXD5,XLXXJGB_SFXD4,XLXXJGB_SFXD3,XLXXJGB_SFXD2,XLXXJGB_SFXD1,XLXXJGB_SL7,XLXXJGB_SL6, XLXXJGB_SL5,XLXXJGB_SL4,XLXXJGB_SL3,XLXXJGB_SL2,XLXXJGB_SL1, XLDTJMZHB_DTJM1,XLDTJMZHB_DTJM2,XLDTJMZHB_DTJM3,XLDTJMZHB_DTJM4,XLDTJMZHB_DTJM5,XLDTJMZHB_DTJM6,XLDTJMZHB_DTJM7,XLXSJGBMX_XLGGID) as XH "); else if (sPXFS.Equals("F")) SQL.Add(@" row_number() over(order by XLXSJGBMX_XLXHID,XLXSJGBMX_DYDJID, XLXXJGB_SFXD7,XLXXJGB_SFXD6,XLXXJGB_SFXD5,XLXXJGB_SFXD4,XLXXJGB_SFXD3,XLXXJGB_SFXD2,XLXXJGB_SFXD1,XLXXJGB_SL7,XLXXJGB_SL6, XLXXJGB_SL5,XLXXJGB_SL4,XLXXJGB_SL3,XLXXJGB_SL2,XLXXJGB_SL1, XLDTJMZHB_DTJM1,XLDTJMZHB_DTJM2,XLDTJMZHB_DTJM3,XLDTJMZHB_DTJM4,XLDTJMZHB_DTJM5,XLDTJMZHB_DTJM6,XLDTJMZHB_DTJM7,XLXSJGBMX_XLGGID) as XH,XLXSJGBMX_XLBZID "); else SQL.Add(" row_number() over(order by XLXSJGBMX_XLXHID,XLXSJGBMX_XLBZID,XLGGB_XH,XLXSJGBMX_XLGGID,XLXSJGBMX_DYDJID) as XH "); SQL.Add(" from XLXSJGBMX "); if (!sPXFS.Equals("A")) { SQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSJGBMX_XLXHID"); SQL.Add(" left join XLXSBJXLGGTHB on XLXSBJXLGGTHB_XLGGID = XLXSJGBMX_XLGGID "); SQL.Add(" left join XLGGB on XLGGB_XLGGID = XLXSBJXLGGTHB_XLGGIDCH and XLGGB_XLGGJDGZ = isnull(XLXHB_XLGGJDGZ,'0') "); } if (sPXFS.Equals("E") || sPXFS.Equals("F")) { SQL.Add(" left join XLXXJGB on XLXXJGB_XXJGID=XLGGB_XXJGID "); SQL.Add(" left join XLDTJMZHB on XLDTJMZHB_DTJMZHID=XLGGB_DTJMZHID "); } SQL.Add(" where 1=1 and XLXSJGBMX_JGBID = :pJGBID "); SQL.Add(" ) sor "); SQL.Add(" on (sor.XLXSJGBMX_JGBID = tag.XLXSJGBMX_JGBID and sor.XLXSJGBMX_XH = tag.XLXSJGBMX_XH ) "); SQL.Add(" when matched then update set tag.XLXSJGBMX_XSXH = sor.XH "); SQL.ParamByName("pJGBID").Value = sJGBID; dberp.ExecSQL(SQL); } public static void UpdateJGBMXXSXH(TDatabase dberp, string sJGBID, string sMXBH) { TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSJGB_MXPXFS from XLXSJGB where XLXSJGB_JGBID = :pJGBID "); if (!sMXBH.Trim().Equals("")) { SQL.Add(" and XLXSJGB_MXBH = :pMXBH "); SQL.ParamByName("pMXBH").Value = sMXBH; } SQL.ParamByName("pJGBID").Value = sJGBID; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { string sPXFS = ds.Tables[0].Rows[0]["XLXSJGB_MXPXFS"].ToString().Trim(); UpdateJGBMXXSXH(dberp, sJGBID, sMXBH, sPXFS); } } //是否有100458003模块权限 private bool CheckXSJGB() { UserRight UR = OpRightUtils.GetUserRight(tSession.UserId, 100458003); return (DSActiveModule.IsActiveModule(100458003) && UR.Open); } #endregion #region 控件事件 protected void cbxBJLY_SelectedIndexChanged(object sender, EventArgs e) { if (cbxBJLY.SelectedValue.Trim().Equals("J")) cbxJSBLFS.Enabled = true; else { cbxJSBLFS.SelectedValue = ""; cbxJSBLFS.Enabled = false; } int rows = 0; txtBZ.Rows = 4; if (cbxTJYS.SelectedValue.Trim().Equals("1")) { rows = rows + 2; txtBZ.Rows = 4 - rows; } if (cbxTJYS.SelectedValue.Trim().Equals("1") && cbxBJLY.SelectedValue.Trim().Equals("J") && cbxJJLY.SelectedValue.Equals("A")) { cbxWSJGLY.ClearItems(); cbxWSJGLY.Items.Add(new ListItem("1|无税材料价格", "1")); cbxWSJGLY.Items.Add(new ListItem("2|含税价格×(1-税率%)", "2")); if (cbxWSJGLY.SelectedValue.Equals("")) cbxWSJGLY.SelectedValue = "1"; lblWSJGLY.Visible = true; cbxWSJGLY.Visible = true; lblSL.Visible = true; txtSL.Visible = true; lblFH.Visible = true; trWSJGLY.Visible = true; rows++; txtBZ.Rows = 4 - rows; } else { cbxWSJGLY.SelectedValue = ""; txtSL.Value = 0; lblWSJGLY.Visible = false; cbxWSJGLY.Visible = false; lblSL.Visible = false; txtSL.Visible = false; lblFH.Visible = false; trWSJGLY.Visible = false; } if (IsPostBack) { if ((cbxJJLY.SelectedValue.Trim().Equals("D") && txtJGBIDS.Value.Trim().Equals("")) || cbxBJLY.SelectedValue.Trim().Equals("D")) { cbxMXPXFS.Enabled = false; cbxMXPXFS.SelectedValue = "A"; } else { cbxMXPXFS.Enabled = true; if (ControlState == TControlState.ctsInsert) cbxMXPXFS.SelectedValue = "B"; } } //if (cbxBJLY.SelectedValue.Trim().Equals("C")) // cbxJGCIDS.Enabled = true; //else //{ // cbxJGCIDS.SelectedValue = ""; // cbxJGCIDS.Enabled = false; //} } protected void cbxTJYS_SelectedIndexChanged(object sender, EventArgs e) { lblTJR.Visible = false; lblTJZT.Visible = false; cbxTJR.Visible = false; cbxTJZT.Visible = false; cbxDRZT.Visible = false; lblTJKSSJ.Visible = false; lblTJWCSJ.Visible = false; datTJKSSJ.Visible = false; datTJWCSJ.Visible = false; trTJR.Visible = false; trTJSJ.Visible = false; int rows = 0; txtBZ.Rows = 4; if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC")) { cbxJJLY.ClearItems(); if (cbxTJYS.SelectedValue.Trim().Equals("0")) { cbxJJLY.Items.Add(new ListItem("A|sum(材料用量*材料价格)", "A")); if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy) { cbxJJLY.SelectedValue = "A"; } else if (ControlState == TControlState.ctsEdit) { cbxJJLY.SelectedValue = "A"; } } else if (cbxTJYS.SelectedValue.Trim().Equals("1")) { lblTJR.Visible = true; lblTJZT.Visible = true; cbxTJR.Visible = true; cbxTJZT.Visible = true; cbxDRZT.Visible = true; lblTJKSSJ.Visible = true; lblTJWCSJ.Visible = true; datTJKSSJ.Visible = true; datTJWCSJ.Visible = true; trTJR.Visible = true; trTJSJ.Visible = true; rows = rows + 2; txtBZ.Rows = 4 - rows; cbxJJLY.Items.Add(new ListItem("A|sum(材料用量*材料价格)", "A")); cbxJJLY.Items.Add(new ListItem("D|直接导入", "D")); if (ControlState == TControlState.ctsInsert) { cbxJJLY.SelectedValue = "A"; } } else if (cbxTJYS.SelectedValue.Trim().Equals("2")) { cbxJJLY.Items.Add(new ListItem("B|出厂价", "B")); if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy) { cbxJJLY.SelectedValue = "B"; } else if (ControlState == TControlState.ctsEdit) { cbxJJLY.SelectedValue = "B"; } } else if (cbxTJYS.SelectedValue.Trim().Equals("3")) { cbxJJLY.Items.Add(new ListItem("C|出厂价+材料价价差", "C")); if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy) { cbxJJLY.SelectedValue = "C"; } else if (ControlState == TControlState.ctsEdit) { cbxJJLY.SelectedValue = "C"; } } } if (cbxTJYS.SelectedValue.Trim().Equals("1") && cbxBJLY.SelectedValue.Trim().Equals("J") && cbxJJLY.SelectedValue.Equals("A")) { cbxWSJGLY.ClearItems(); cbxWSJGLY.Items.Add(new ListItem("1|无税材料价格", "1")); cbxWSJGLY.Items.Add(new ListItem("2|含税价格×(1-税率%)", "2")); if (cbxWSJGLY.SelectedValue.Equals("")) cbxWSJGLY.SelectedValue = "1"; lblWSJGLY.Visible = true; cbxWSJGLY.Visible = true; lblSL.Visible = true; txtSL.Visible = true; lblFH.Visible = true; trWSJGLY.Visible = true; rows++; txtBZ.Rows = 4 - rows; } else { cbxWSJGLY.SelectedValue = ""; txtSL.Value = 0; lblWSJGLY.Visible = false; cbxWSJGLY.Visible = false; lblSL.Visible = false; txtSL.Visible = false; lblFH.Visible = false; trWSJGLY.Visible = false; } if (IsPostBack) { if ((cbxJJLY.SelectedValue.Trim().Equals("D") && txtJGBIDS.Value.Trim().Equals("")) || cbxBJLY.SelectedValue.Trim().Equals("D")) { cbxMXPXFS.Enabled = false; cbxMXPXFS.SelectedValue = "A"; } else { cbxMXPXFS.Enabled = true; if (ControlState == TControlState.ctsInsert) cbxMXPXFS.SelectedValue = "B"; } } } protected void cbxJJLY_SelectedIndexChanged(object sender, EventArgs e) { int rows = 0; txtBZ.Rows = 4; if (cbxTJYS.SelectedValue.Trim().Equals("1")) { rows = rows + 2; txtBZ.Rows = 4 - rows; } if (cbxTJYS.SelectedValue.Trim().Equals("1") && cbxBJLY.SelectedValue.Trim().Equals("J") && cbxJJLY.SelectedValue.Equals("A")) { cbxWSJGLY.ClearItems(); cbxWSJGLY.Items.Add(new ListItem("1|无税材料价格", "1")); cbxWSJGLY.Items.Add(new ListItem("2|含税价格×(1-税率%)", "2")); if (cbxWSJGLY.SelectedValue.Equals("")) cbxWSJGLY.SelectedValue = "1"; lblWSJGLY.Visible = true; cbxWSJGLY.Visible = true; lblSL.Visible = true; txtSL.Visible = true; lblFH.Visible = true; trWSJGLY.Visible = true; rows++; txtBZ.Rows = 4 - rows; } else { cbxWSJGLY.SelectedValue = ""; txtSL.Value = 0; lblWSJGLY.Visible = false; cbxWSJGLY.Visible = false; lblSL.Visible = false; txtSL.Visible = false; lblFH.Visible = false; trWSJGLY.Visible = false; } if (cbxJJLY.SelectedValue.Trim() == "D" && txtJGBIDS.Value.Trim().Equals("")) { txtTBJCLID.Enabled = false; txtLBJCLID.Enabled = false; if (ControlState != TControlState.ctsBrowse && ControlState != TControlState.ctsNull) { if (txtMXBH.Value.Trim().Equals("JGB") || txtMXBH.Value.Trim().Equals("JGC")) { txtTBJCLID.Enabled = true; txtLBJCLID.Enabled = true; } } } if (IsPostBack) { if ((cbxJJLY.SelectedValue.Trim().Equals("D") && txtJGBIDS.Value.Trim().Equals("")) || cbxBJLY.SelectedValue.Trim().Equals("D")) { cbxMXPXFS.Enabled = false; cbxMXPXFS.SelectedValue = "A"; } else { cbxMXPXFS.Enabled = true; if (ControlState == TControlState.ctsInsert) cbxMXPXFS.SelectedValue = "B"; } } } //铜价标签 protected void llblTBJCLID_Click(object sender, EventArgs e) { string sMXBH = txtMXBH.Value; string sJGBID = txtJGBID.Text.Trim(); string sCPMLLX = ""; string sJGBIDS = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" SELECT XLXSCPML_CPMLLX,XLXSJGB_JGBIDS FROM XLXSJGB "); SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSJGB_CPMLID "); SQL.Add(" where 1=1 and XLXSJGB_JGBID = :pJGBID "); SQL.Add(" and XLXSJGB_MXBH = :pMXBH "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pMXBH").Value = sMXBH; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sCPMLLX = ds.Tables[0].Rows[0]["XLXSCPML_CPMLLX"].ToString().Trim(); sJGBIDS = ds.Tables[0].Rows[0]["XLXSJGB_JGBIDS"].ToString().Trim(); } TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "XLJGB_CLJGTZList.aspx"; pageParams.AddString("FromJGBML", "FromJGBML"); pageParams.AddString("XLXSJGBMX_JGBID", sJGBID); pageParams.AddString("MXBH", sMXBH); pageParams.AddString("BJLY", cbxBJLY.SelectedValue.Trim()); pageParams.AddString("CPMLLX", sCPMLLX); pageParams.AddString("XLXSJGBMX_JGBIDS", sJGBIDS); pageParams.AddString("TJYS", cbxTJYS.SelectedValue.Trim()); pageParams.AddString("JSBLFS", cbxJSBLFS.SelectedValue.Trim()); OpenFuncModuleDialog(100860001, pageParams, btnLoarRecord.ClientID); } //铝价标签 protected void lblLBJCLID_Click(object sender, EventArgs e) { string sMXBH = txtMXBH.Value; string sJGBID = txtJGBID.Text.Trim(); string sCPMLLX = ""; string sJGBIDS = ""; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" SELECT XLXSCPML_CPMLLX,XLXSJGB_JGBIDS FROM XLXSJGB "); SQL.Add(" LEFT JOIN XLXSCPML ON XLXSCPML_CPMLID = XLXSJGB_CPMLID "); SQL.Add(" where 1=1 and XLXSJGB_JGBID = :pJGBID "); SQL.Add(" and XLXSJGB_MXBH = :pMXBH "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pMXBH").Value = sMXBH; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { sCPMLLX = ds.Tables[0].Rows[0]["XLXSCPML_CPMLLX"].ToString().Trim(); sJGBIDS = ds.Tables[0].Rows[0]["XLXSJGB_JGBIDS"].ToString().Trim(); } TPageParams pageParams = new TPageParams(); pageParams.UrlPath = "XLJGB_CLJGTZList.aspx"; pageParams.AddString("FromJGBML", "FromJGBML"); pageParams.AddString("XLXSJGBMX_JGBID", sJGBID); pageParams.AddString("MXBH", sMXBH); pageParams.AddString("JSBLFS", cbxJSBLFS.SelectedValue.Trim()); pageParams.AddString("BJLY", cbxBJLY.SelectedValue.Trim()); pageParams.AddString("CPMLLX", sCPMLLX); pageParams.AddString("XLXSJGBMX_JGBIDS", sJGBIDS); pageParams.AddString("TJYS", cbxTJYS.SelectedValue.Trim()); OpenFuncModuleDialog(100860001, pageParams, btnLoarRecord.ClientID); } protected void btnXLXSJGBMX_Click(object sender, EventArgs e) { string sMXBH = txtMXBH.Value; string sJGBID = txtJGBID.Text.Trim(); TPageParams param = new TPageParams(); param.UrlPath = "XLJGB_JGBMXList.aspx"; param.AddString("FromJGBML", "FromJGBML"); param.AddString("JGBID", sJGBID); param.AddString("MXBH", sMXBH); OpenFuncModuleDialog(100860001, param, btnLoarRecord.ClientID); } //刷新 protected void btnLoarRecord_Click(object sender, EventArgs e) { LoadRecord(); RefreshForm(); SetControlState(); MenuAreaUpdate(); FormAreaUpdate(); } protected void btnQXTJ_Click(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" update XLXSJGB set XLXSJGB_TJZT='C' where XLXSJGB_JGBID = :pJGBID and XLXSJGB_MXBH= :pMXBH "); SQL.ParamByName("pJGBID").Value = txtJGBID.Text.Trim(); SQL.ParamByName("pMXBH").Value = txtMXBH.Value.Trim(); dberp.ExecSQL(SQL); CacheNotify.TableIsUpdated("DBERP", "XLXSJGB"); btnLoarRecord_Click(null, null); } protected void btnBJJGB_Click(object sender, EventArgs e) { string sMXBH = txtMXBH.Value; string sJGBID = txtJGBID.Text.Trim(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add(" select XLXSJGB_CPMLID from XLXSJGB where XLXSJGB_JGBID = :pJGBID and XLXSJGB_MXBH= :pMXBH "); SQL.ParamByName("pJGBID").Value = sJGBID; SQL.ParamByName("pMXBH").Value = sMXBH; DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { string sCPMLID = ds.Tables[0].Rows[0]["XLXSJGB_CPMLID"].ToString().Trim(); if (sCPMLID.Equals("")) { ShowMessage("请先维护产品目录!"); return; } SQL.Clear(); SQL.Add("select XLXSCPML_CPMLID from XLXSCPML where ','||rtrim(isnull(XLXSCPML_CPMLIDS,' '))||',' like :pCPMLID order by XLXSCPML_CPMLID"); SQL.ParamByName("pCPMLID").Value = "%," + sCPMLID + ",%"; DataSet dsML = dberp.OpenDataSet(SQL); string multiCPMLIDS = "";//组合产品目录 for (int i = 0; i < dsML.Tables[0].Rows.Count; i++) { multiCPMLIDS += dsML.Tables[0].Rows[i]["XLXSCPML_CPMLID"].ToString().Trim() + ","; } multiCPMLIDS = multiCPMLIDS.TrimEnd(','); if (!multiCPMLIDS.Equals("")) { TPageParams param = new TPageParams(); param.UrlPath = "JGBML_BJJGBList.aspx"; param.AddString("JGBID", sJGBID); param.AddString("MXBH", sMXBH); param.AddString("singleCPMLID", sCPMLID);//单一产品目录 param.AddString("multiCPMLIDS", multiCPMLIDS);//组合产品目录 OpenDialog(param); } else { ShowMessage("未找到包含当前产品目录的组合产品目录!"); return; } } else { ShowMessage("当前记录不存在,请刷新后重试!"); return; } } protected void btnCOPY3_Click(object sender, EventArgs e) { TPageParams param = new TPageParams(); param.UrlPath = "JGBML_YJFZInfo.aspx"; param.AddString("TJ", txtTBJCLID.Value.ToString()); param.AddString("LJ", txtLBJCLID.Value.ToString()); param.AddString("JGBID", txtJGBID.Text.Trim()); OpenDialog(param); } protected void btnTBZXSJGB_Click(object sender, EventArgs e) { string sMXBH = txtMXBH.Value; string sJGBID = txtJGBID.Text.Trim(); string sJGBMC = txtJGBMC.Text.Trim(); string sYXQS = datYXQS.Text.Trim(); string sYXQZ = datYXQZ.Text.Trim(); TPageParams param = new TPageParams(); param.UrlPath = "JGBML_TBZXSJGBInfo.aspx"; param.AddString("JGBID", sJGBID); param.AddString("JGBMC", sJGBMC); param.AddString("MXBH", sMXBH); param.AddString("YXQS", sYXQS); param.AddString("YXQZ", sYXQZ); OpenDialog(param); } #endregion } }