using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using GThinking.N_MISPRO; using GThinking.N_MISPRO.Data; using GThinking.N_MODEL.Page; using GThinking.N_MISPRO.Utility; using GThinking.N_PUBLIC; using GThinking.N_MODEL.Dialog; using GThinking.N_WORKFLOW; using System.Collections.Generic; using GThinking.N_CONTROL; using System.Text; namespace GThinking.N_XLXSBJ { public partial class XLJGB_JGBMXInfo : SingleCardBase { XLJGB_JGBMX entity = new XLJGB_JGBMX(); protected void Page_Load(object sender, EventArgs e) { this.UMID = 100860001; this.UMName = "线缆销售报价价格表"; this.CurMaster = Master; this.CurEntity = entity; this.PageHeight = 500; this.PageWidth = 700; CreateTZYZMaster(tSession, divTZYZ, false); int iXSWS = string.IsNullOrEmpty(GetOption("BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption("BJU002")); if (iXSWS < 0) iXSWS = 0; else if (iXSWS > 8) iXSWS = 8; txtWSCLCB.DecimalPlaces = iXSWS; txtCLCB.DecimalPlaces = iXSWS; txtWSCPJJ.DecimalPlaces = iXSWS; txtCPJJ.DecimalPlaces = iXSWS; //如果是查询组合产品目录价格表或所依价格表不为空 if (PageParam.GetRTrimString("BJLY").Equals("C") || !PageParam.GetRTrimString("JGBIDS").Equals("")) { Master.EnableInsertBtn = false; Master.EnableCopyBtn = false; Master.EnableEditBtn = false; Master.EnableSaveBtn = false; Master.EnableCancelBtn = false; Master.EnableDeleteBtn = false; } if (PageParam.GetRTrimString("TJYS").Equals("0")) { linkWSCPJJ.Visible = true; linkCPJJ.Visible = true; lblWSCPJJMH.Visible = true; lblCPJJMH.Visible = true; lblWSCPJJ.Visible = false; lblCPJJ.Visible = false; } else { linkWSCPJJ.Visible = false; linkCPJJ.Visible = false; lblWSCPJJMH.Visible = false; lblCPJJMH.Visible = false; lblWSCPJJ.Visible = true; lblCPJJ.Visible = true; } if (PageParam.GetRTrimString("TJYS").Equals("1")) { if (PageParam.GetRTrimString("BJLY").Equals("D") || (!PageParam.GetRTrimString("JJLY").Equals("A"))) { linkWSCLCB.Visible = false; linkCLCB.Visible = false; lblWSCLCBMH.Visible = false; lblCLCBMH.Visible = false; lblWSCLCB.Visible = true; lblCLCB.Visible = true; } else { linkWSCLCB.Visible = true; linkCLCB.Visible = true; lblWSCLCBMH.Visible = true; lblCLCBMH.Visible = true; lblWSCLCB.Visible = false; lblCLCB.Visible = false; } } else { linkWSCLCB.Visible = false; linkCLCB.Visible = false; lblWSCLCBMH.Visible = false; lblCLCBMH.Visible = false; lblWSCLCB.Visible = true; lblCLCB.Visible = true; } base.InitPage(); if (!this.IsPostBack) { InitControls(); } } #region 模板事件继承 protected override void ReportDataSetAdd() { List yzxx_List = XLBJDUtils.GetJGBYZOrderByXSXH(txtJGBID.Value.Trim()); foreach (TZYZXX yzxx in yzxx_List) { string sYZID = "TZYZ_" + yzxx.XLXSTZYZ_YZID.Trim(); string sYZMC = yzxx.XLXSTZYZ_YZMC.Trim(); AddUserReportField("XLXSJGBMX", sYZID, sYZMC, "N"); } base.ReportDataSetAdd(); } protected override void ReportRecordSetAdd() { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); List yzxx_List = XLBJDUtils.GetJGBYZOrderByXSXH(txtJGBID.Value.Trim()); foreach (TZYZXX yzxx in yzxx_List) { sSQL.Add(string.Format(",XLXSJGBYZZ0_YZZ{0} as TZYZ_{1}", yzxx.XLXSTZYZ_YZID.Trim().Replace("JZ", ""), yzxx.XLXSTZYZ_YZID.Trim())); } sSQL.Text = "select 1" + sSQL.Text + " from XLXSJGBYZZ0 where XLXSJGBYZZ0_JGBID='" + txtJGBID.Value.Trim() + "' and XLXSJGBYZZ0_XH=" + txtXH.Value; AddUserReportSQL("XLXSJGBMX", sSQL); base.ReportRecordSetAdd(); } protected override void SetControlState() { base.SetControlState(); linkWSCLCB.Enabled = true; linkCLCB.Enabled = true; linkWSCPJJ.Enabled = true; linkCPJJ.Enabled = true; txtXH.Enabled = false; datYXQS.Enabled = false; datYXQZ.Enabled = false; txtWHR.Enabled = false; datWHSJ.Enabled = false; if (PageParam.ContainsKey("FromXLXSBJYLZDMX")) { cbxXLXHID.Enabled = false; txtXLGGID.Enabled = false; cbxST.Enabled = false; cbxDYDJ.Enabled = false; btnNEXT.Visible = true; btnPrevious.Visible = true; } else { btnNEXT.Visible = false; btnPrevious.Visible = false; } btnNEXT.Enabled = ControlState == TControlState.ctsBrowse; btnPrevious.Enabled = ControlState == TControlState.ctsBrowse; if (ControlState != TControlState.ctsBrowse) { if (PageParam.GetRTrimString("JJLY").Equals("D")) { txtWSCLCB.Enabled = true; txtCLCB.Enabled = true; } else { txtWSCLCB.Enabled = false; txtCLCB.Enabled = false; } } txtBZ.Enabled = false; //J|按调价因素计算 的价格表明细,不允许修改基价、表价 JGBMLXX jgbxx = XLBJDUtils.GetXLXSJGBXXByJGBID(txtJGBID.Value.Trim()); if (jgbxx.XLXSJGB_BJLY=="J") { txtWSCPJJ.Enabled = false; txtCPJJ.Enabled = false; } XLJGB_JGBMX.SetControlStateBySt(ControlState, divTZYZ.Controls); } protected override void LoadRecord() { if (!IsPostBack) { entity.Param.Add("XLXSJGBMX_JGBID", PageParam.GetRTrimString("XLXSJGBMX_JGBID")); entity.Param.Add("OLD_XLXSJGBMX_XH", PageParam.GetRTrimString("XLXSJGBMX_XH")); } else { entity.Param.Add("XLXSJGBMX_JGBID", txtJGBID.Value.Trim()); entity.Param.Add("OLD_XLXSJGBMX_XH", txtOLD_XH.Value); } base.LoadRecord(); txtOLD_XH.Value = txtXH.Value.ToString().Trim(); XLJGB_JGBMX.FillDataToCtls(txtJGBID.Value.Trim(), txtXH.Value, divTZYZ.Controls); } protected override void OnNewRecorder() { base.OnNewRecorder(); txtJGBID.Value = PageParam.GetRTrimString("XLXSJGBMX_JGBID"); JGBMLXX jgbxx = XLBJDUtils.GetXLXSJGBXX(txtJGBID.Value.Trim(),PageParam.GetRTrimString("MXBH")); datYXQS.Text = jgbxx.XLXSJGB_YXQS; datYXQZ.Text = jgbxx.XLXSJGB_YXQZ; //datYXQS.Text = PageParam.GetRTrimString("YXQS"); //datYXQZ.Text = PageParam.GetRTrimString("YXQZ"); txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Text = CMISproConvert.ConvertTime(DateTime.Now); txtSYXH.Value = "0"; txtJLDW.Text = GetOption("BJU003"); divTZYZ.Controls.Clear(); CreateTZYZMaster(tSession, divTZYZ, true); if (PageParam.ContainsKey("FromXLXSBJYLZDMX")) { cbxXLXHID.SelectedValue = PageParam.GetRTrimString("XLXSBJYLZDMX_XLXHID"); txtXLGGID.Text = PageParam.GetRTrimString("XLXSBJYLZDMX_XLGGID"); cbxST.SelectedValue = PageParam.GetRTrimString("XLXSBJYLZDMX_XLBZID"); cbxDYDJ.SelectedValue = PageParam.GetRTrimString("XLXSBJYLZDMX_DYDJID"); cbxXLXHID_SelectedIndexChanged(null, null); } if (!string.IsNullOrEmpty(PageParam.GetRTrimString("XLXHID"))) { cbxXLXHID.SelectedValue = PageParam.GetRTrimString("XLXHID"); cbxXLXHID_SelectedIndexChanged(null, null); } } protected override void OnCopyRecorder() { base.OnCopyRecorder(); txtJGBID.Value = PageParam.GetRTrimString("XLXSJGBMX_JGBID"); JGBMLXX jgbxx = XLBJDUtils.GetXLXSJGBXX(txtJGBID.Value.Trim(), PageParam.GetRTrimString("MXBH")); datYXQS.Text = jgbxx.XLXSJGB_YXQS; datYXQZ.Text = jgbxx.XLXSJGB_YXQZ; //datYXQS.Text = PageParam.GetRTrimString("YXQS"); //datYXQZ.Text = PageParam.GetRTrimString("YXQZ"); txtWHR.Text = tSession.UserName; txtWHRID.Value = tSession.UserId; datWHSJ.Text = CMISproConvert.ConvertTime(DateTime.Now); txtSYXH.Value = "0"; divTZYZ.Controls.Clear(); CreateTZYZMaster(tSession, divTZYZ, true); } protected override bool DataLogicValid() { if (!base.DataLogicValid()) return false; if (txtJLDW.Text.Trim().Equals("")) { ShowMessage("计量单位不允许为空!"); return false; } if (!XLBJDUtils.GetXLXSBJPZXX(100860018).QYFCDJLDW()) { Dictionary dicLenJLDWTD = XLBJDUtils.GetLenJLDWTD(); if (!txtJLDW.Text.Trim().ToUpper().Equals("KM") && !txtJLDW.Text.Trim().ToUpper().Equals("M") && !txtJLDW.Text.Trim().Equals("千米") && !txtJLDW.Text.Trim().Equals("米") && !dicLenJLDWTD.ContainsKey(txtJLDW.Text.Trim())) { ShowMessage("计量单位只允许为长度单位!"); return false; } } if (txtCPJJ.Value < 0) { ShowMessage("含税表价不允许小于0!"); return false; } if (txtWSCPJJ.Value < 0) { ShowMessage("无税表价不允许小于0!"); return false; } if (ControlState == TControlState.ctsEdit) { if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_JGBID='{0}' and XLXSJGBMX_XLXHID='{1}' and XLXSJGBMX_XLGGID='{2}' and XLXSJGBMX_XLBZID='{3}' and XLXSJGBMX_DYDJID='{4}' and XLXSJGBMX_XH<>{5}", txtJGBID.Value.Trim(), cbxXLXHID.SelectedValue.Trim(), txtXLGGID.Text.Trim(), cbxST.SelectedValue.Trim(), cbxDYDJ.SelectedValue.Trim(), txtOLD_XH.Value))) { ShowMessage("已存在型号、规格、标准、电压等级相同的记录,不允许重复登记!"); return false; } } else { if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSJGBMX where XLXSJGBMX_JGBID='{0}' and XLXSJGBMX_XLXHID='{1}' and XLXSJGBMX_XLGGID='{2}' and XLXSJGBMX_XLBZID='{3}' and XLXSJGBMX_DYDJID='{4}'", txtJGBID.Value.Trim(), cbxXLXHID.SelectedValue.Trim(), txtXLGGID.Text.Trim(), cbxST.SelectedValue.Trim(), cbxDYDJ.SelectedValue.Trim()))) { ShowMessage("已存在型号、规格、标准、电压等级相同的记录,不允许重复登记!"); return false; } } return true; } protected override bool Master_BeforeEditAction(object sender, EventArgs e) { if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJDMX left join XLXSBJD on XLXSBJD_BJDID=XLXSBJDMX_BJDID where XLXSBJD_JGBID='{0}' and XLXSBJDMX_XLXHID='{1}' and XLXSBJDMX_XLGGID='{2}' and XLXSBJDMX_XLBZID='{3}' and XLXSBJDMX_DYDJID='{4}'", txtJGBID.Value.Trim(), cbxXLXHID.SelectedValue.Trim(), txtXLGGID.Text.Trim(), cbxST.SelectedValue.Trim(), cbxDYDJ.SelectedValue))) { ShowMessage("已被报价单使用,不允许编辑!"); return false; } JGBMLXX jgbxx = XLBJDUtils.GetXLXSJGBXX(txtJGBID.Value.Trim(), PageParam.GetRTrimString("MXBH")); if (jgbxx.XLXSJGB_TJZT == "W" || jgbxx.XLXSJGB_TJZT == "J") { ShowMessage("正在同步计算中,不允许编辑!"); return false; } return base.Master_BeforeEditAction(sender, e); } protected override bool Master_BeforeDeleteAction(object sender, EventArgs e) { if (!GetJGBTJYS(txtJGBID.Value.Trim()).Equals("2")) { if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSBJDMX left join XLXSBJD on XLXSBJD_BJDID=XLXSBJDMX_BJDID where XLXSBJD_JGBID='{0}' and XLXSBJDMX_XLXHID='{1}' and XLXSBJDMX_XLGGID='{2}' and XLXSBJDMX_XLBZID='{3}' and XLXSBJDMX_DYDJID='{4}'", txtJGBID.Value.Trim(), cbxXLXHID.SelectedValue.Trim(), txtXLGGID.Text.Trim(), cbxST.SelectedValue.Trim(), cbxDYDJ.SelectedValue))) { ShowMessage("已被报价单使用,不允许删除!"); return false; } } TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); SQL.Clear(); SQL.Add("select top 1 XLXSJGBMX_XH from XLXSJGBMX where XLXSJGBMX_JGBID=:pJGBID and XLXSJGBMX_SYXH=:pXH"); SQL.ParamByName("pJGBID").Value = txtJGBID.Value.Trim(); SQL.ParamByName("pXH").Value = txtXH.Value.ToString().Trim(); DataSet ds = dberp.OpenDataSet(SQL); if (ds.Tables[0].Rows.Count > 0) { ShowMessage("当前记录已有衍生记录,不允许删除!"); return false; } JGBMLXX jgbxx = XLBJDUtils.GetXLXSJGBXX(txtJGBID.Value.Trim(), PageParam.GetRTrimString("MXBH")); if (jgbxx.XLXSJGB_TJZT == "W" || jgbxx.XLXSJGB_TJZT == "J") { ShowMessage("正在同步计算中,不允许删除!"); return false; } return base.Master_BeforeDeleteAction(sender, e); } 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 (txtJLDW.Text.Trim().ToUpper().Equals("KM")) txtJLDW.Text = "Km"; else if (txtJLDW.Text.Trim().ToUpper().Equals("M")) txtJLDW.Text = "M"; if ((ControlState == TControlState.ctsInsert) || (ControlState == TControlState.ctsCopy)) { txtXH.Value = XLJGB_JGBMX.getMaxXH(txtJGBID.Value); txtOLD_XH.Value = txtXH.Value.ToString().Trim(); } //精确价格单位为M,保存前统一换算。 if (!XLBJDUtils.sJQCDJLDWList.Contains(txtJLDW.Text.Trim().ToUpper())) { txtWSJJM.Value = "0"; txtHSJJM.Value = "0"; txtWSBJM.Value = "0"; txtHSBJM.Value = "0"; } else { double dJQJGXS = 1; if (txtJLDW.Text.Trim().ToUpper().Equals("KM") || txtJLDW.Text.Trim().ToUpper().Equals("千米")) { dJQJGXS = 0.001; } txtWSJJM.Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(txtWSJJM.Value) * dJQJGXS, 6).ToString().Trim(); txtHSJJM.Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(txtHSJJM.Value) * dJQJGXS, 6).ToString().Trim(); txtWSBJM.Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(txtWSBJM.Value) * dJQJGXS, 6).ToString().Trim(); txtHSBJM.Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(txtHSBJM.Value) * dJQJGXS, 6).ToString().Trim(); } return true; } protected override bool Master_AfterSaveAction(object sender, EventArgs e) { txtOLD_XH.Value = txtXH.Value.ToString().Trim(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); XLJGB_JGBMX.SaveTZYZ(dberp, txtJGBID.Value.Trim(), txtXH.Value, divTZYZ.Controls, tSession); XLBJDUtils.SyncXLXSBJXLGGTHB_Single(dberp, txtXLGGID.Text.Trim(), tSession); if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy) { JGBMLInfo.UpdateJGBMXXSXH(dberp, txtJGBID.Value.Trim(), ""); } return base.Master_AfterSaveAction(sender, e); } protected override void AfterDelete(TDatabase db, ref bool ActionIsDone) { db.ExecSQL(string.Format("delete from XLXSJGBYZZ0 where XLXSJGBYZZ0_JGBID ='{0}' and XLXSJGBYZZ0_XH={1}", txtJGBID.Value.Trim(), txtXH.Value)); db.ExecSQL(string.Format("delete from XLXSJGBCLQD where XLXSJGBCLQD_JGBID ='{0}' and XLXSJGBCLQD_XH={1}", txtJGBID.Value.Trim(), txtXH.Value)); db.ExecSQL(string.Format("delete from XLXSJGBCLQDWL where XLXSJGBCLQDWL_JGBID ='{0}' and XLXSJGBCLQDWL_XH={1}", txtJGBID.Value.Trim(), txtXH.Value)); db.ExecSQL(string.Format("delete from XLXSJGBYLLM where XLXSJGBYLLM_JGBID='{0}' and not exists(select 1 from XLXSJGBCLQD where XLXSJGBCLQD_JGBID=XLXSJGBYLLM_JGBID and XLXSJGBYLLM_JGCZBID=XLXSJGBCLQD_JGCZBID and XLXSJGBYLLM_JGCZBBBID=XLXSJGBCLQD_JGCZBBBID and XLXSJGBYLLM_JJFPSJ=XLXSJGBCLQD_JJFPSJ)", txtJGBID.Value.Trim())); base.AfterDelete(db, ref ActionIsDone); } protected override void SetComboxItems() { if (ControlState == TControlState.ctsBrowse) { cbxXLXHID.ClearItems(); cbxXLXHID.Items.Add(new ListItem(cbxXLXHID.SelectedValue.Trim(), cbxXLXHID.SelectedValue.Trim())); cbxDYDJ.ClearItems(); cbxDYDJ.Items.Add(new ListItem(cbxDYDJ.SelectedValue.Trim(), cbxDYDJ.SelectedValue.Trim())); } else { TComboBox.SetComboBox("DBERP", cbxXLXHID, "select XLXHB_XLXHID as ID,XLXHB_XLXHID as Name from XLXHB where isnull(XLXHB_TYBZ,'N')<>'Y' order by ID ", false); TComboBox.SetComboBox("DBERP", cbxDYDJ, "select distinct XLDYDJB_DYDJID as ID,XLDYDJB_DYDJID as Name from XLDYDJB where isnull(XLDYDJB_TYBZ,' ')<>'Y' and isnull(XLDYDJB_DYDJID,' ')<>' ' order by ID", true); } base.SetComboxItems(); } protected override void OnReportUnknownFunction(string Name, string Params, ref string ValueType, ref string Value, TDatabase db) { string[] Param; Param = Params.Split(','); if (Name.Trim().ToUpper() == "GETHSBJ") { ValueType = "N"; if (Param.Length >= 5) { Value = XLBJDUtils.GetHSBJ(Param[0], Param[1], Param[2], Param[3], Param[4]).ToString(); } else { Value = "0"; } } } #endregion #region 自定义函数 private void InitControls() { TComboBox.SetComboBox("DBERP", cbxST, "select XLBZ_XLBZID,XLBZ_XLBZLXMC from XLBZ where 1=1 and isnull(XLBZ_DZSC,'N')='N' order by XLBZ_PX,XLBZ_XLBZID", false); } private string GetJGBTJYS(string sJGBID) { JGBMLXX jgbxx = XLBJDUtils.GetXLXSJGBXX(sJGBID, "JGB"); return jgbxx.XLXSJGB_TJYS; } private void JGBBTYZIsZero(ControlCollection Upctrls, string sJGBID, Dictionary dicJGBTJYZ, ref int iJGBTJYZYC) { if (iJGBTJYZYC == -1) return; foreach (Control ctrl in Upctrls) { if (ctrl is System.Web.UI.WebControls.Table || ctrl is System.Web.UI.WebControls.TableRow || ctrl is System.Web.UI.WebControls.TableCell) { JGBBTYZIsZero(ctrl.Controls, sJGBID, dicJGBTJYZ, ref iJGBTJYZYC); } else if (ctrl is GThinking.N_CONTROL.gtNumTextBox) { GThinking.N_CONTROL.gtNumTextBox txt = (GThinking.N_CONTROL.gtNumTextBox)ctrl; if (dicJGBTJYZ.ContainsKey(txt.Attributes["NAME"].Trim())&&txt.Value==0) { iJGBTJYZYC = -1; return ; } } } } #endregion #region 控件事件 protected void cbxXLXHID_SelectedIndexChanged(object sender, EventArgs e) { if (!PageParam.ContainsKey("FromXLXSBJYLZDMX")) { if (!IsPostBack) return; } if (ControlState == TControlState.ctsBrowse) return; JGBMLXX jgbxx = XLBJDUtils.GetXLXSJGBXXByJGBID(txtJGBID.Value.Trim()); //D|直接导入 的价格表明细,允许直接修改价格表内容,而不触发表价的重新计算 if (jgbxx.XLXSJGB_BJLY=="D") { return; } double dHSBL = 1; if (XLBJDUtils.sJCJLDWList_Weg.Contains(txtJLDW.Text.Trim().ToUpper())) dHSBL = XLBJDUtils.GetJLDWHSBL_JG(GetOption("BJU003"), txtJLDW.Text.Trim(), GetOption("BJU003"), cbxXLXHID.SelectedValue.Trim(), txtXLGGID.Text.Trim(), cbxST.SelectedValue.Trim(), cbxDYDJ.SelectedValue.Trim()); if (!cbxXLXHID.SelectedValue.Trim().Equals("") && !txtXLGGID.Text.Trim().Equals("") && !cbxST.SelectedValue.Trim().Equals("")) { if (!PageParam.GetRTrimString("JJLY").Equals("D") || PageParam.ContainsKey("FromXLXSBJYLZDMX")) { Dictionary aryCLCB = new Dictionary(); if (PageParam.GetRTrimString("JJLY").Equals("D")) aryCLCB = XLBJDUtils.GetCLCB("", cbxXLXHID.SelectedValue.Trim(), txtXLGGID.Text.Trim(), cbxST.SelectedValue.Trim(), cbxDYDJ.SelectedValue.Trim()); else aryCLCB = XLBJDUtils.GetCLCB(txtJGBID.Value.Trim(), cbxXLXHID.SelectedValue.Trim(), txtXLGGID.Text.Trim(), cbxST.SelectedValue.Trim(), cbxDYDJ.SelectedValue.Trim()); txtWSCLCB.Value = aryCLCB["WSCLCB"]; txtCLCB.Value = aryCLCB["CLCB"]; int iXSWS = string.IsNullOrEmpty(GetOption("BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption("BJU002")); if (iXSWS < 0) iXSWS = 0; else if (iXSWS > 8) iXSWS = 8; txtWSJJM.Value = NumberUtils.RoundX(txtWSCLCB.Value, 6).ToString().Trim(); txtHSJJM.Value = NumberUtils.RoundX(txtCLCB.Value, 6).ToString().Trim(); txtWSCLCB.Value = NumberUtils.RoundX(txtWSCLCB.Value * dHSBL, iXSWS); txtCLCB.Value = NumberUtils.RoundX(txtCLCB.Value * dHSBL, iXSWS); } //获取最新“1|型号&规格&电压&标准”因子的值 TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add("select XLXSTZYZ_YZID,isnull(XLXSJGBYZZ1_YZZ,0) as YZZ,XLXSTZYZ_JJFS from XLXSJGBYZ"); sql.Add(" left join XLXSTZYZ on XLXSTZYZ_YZID=XLXSJGBYZ_YZID"); sql.Add(" left join XLXSJGBYZZ1 on XLXSJGBYZZ1_JGBID=XLXSTZYZ_JGBID and XLXSJGBYZZ1_YZID=XLXSTZYZ_YZID"); sql.Add(" and XLXSJGBYZZ1_XLXHID=:pXLXHID and XLXSJGBYZZ1_XLGGID=:pXLGGID"); sql.Add(" and XLXSJGBYZZ1_XLBZID=:pXLBZID and XLXSJGBYZZ1_DYDJID=:pDYDJID"); sql.Add(" where XLXSJGBYZ_JGBID=:pJGBID and XLXSTZYZ_MXBH='JZJ'"); sql.Add(" and XLXSTZYZ_TJYS='1'"); sql.Add(" order by XLXSTZYZ_YZID"); sql.ParamByName("pJGBID").Value = txtJGBID.Value.Trim(); sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim(); sql.ParamByName("pXLGGID").Value = txtXLGGID.Text.Trim(); sql.ParamByName("pXLBZID").Value = cbxST.SelectedValue.Trim(); sql.ParamByName("pDYDJID").Value = cbxDYDJ.SelectedValue.Trim(); DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (ds.Tables[0].Rows[i]["XLXSTZYZ_JJFS"].ToString().Trim().Equals("JJ")) XLJGB_JGBMX.SetValueToCtls(ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(), NumberUtils.RoundX(CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["YZZ"].ToString()) * dHSBL,5), divTZYZ.Controls); else XLJGB_JGBMX.SetValueToCtls(ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(), CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["YZZ"].ToString()), divTZYZ.Controls); } } //获取最新“3|销售区域&导体材料&线缆型号&主芯截面”因子的值,未实现,暂通过列表页同步按钮批量实现 //获取最新“4|型号&电压等级&芯线结构&主芯截面范围”因子的值 List yzxx_List = XLBJDUtils.GetJGBYZOrderByXSXH(txtJGBID.Value.Trim()); bool bHaveTJYS4 = false; foreach (TZYZXX yzxx in yzxx_List) { if (yzxx.XLXSTZYZ_TJYS == "4") { bHaveTJYS4 = true; break; } } if (bHaveTJYS4) { Dictionary dicXLGGB = XLBJDUtils.GetXXJGIDByXLGGID(txtXLGGID.Text.Trim(), cbxXLXHID.SelectedValue.Trim()); Dictionary dicYZZ4 = new Dictionary(); dicYZZ4 = XLJGB_JGBMX.GetJGBYZZ4(cbxXLXHID.SelectedValue.Trim(), cbxDYDJ.SelectedValue.Trim(), dicXLGGB["XXJGID"], CMISproConvert.StrToFloat(dicXLGGB["ZXJM"])); foreach (string sYZID in dicYZZ4.Keys) { if(XLBJDUtils.GetYZXXByYZID(sYZID).XLXSTZYZ_JJFS=="JJ") XLJGB_JGBMX.SetValueToCtls(sYZID, NumberUtils.RoundX(dicYZZ4[sYZID]*dHSBL,5), divTZYZ.Controls); else XLJGB_JGBMX.SetValueToCtls(sYZID, dicYZZ4[sYZID], divTZYZ.Controls); } } //获取最新“8|材料重量”因子的值 sql.Clear(); if (XLBJDUtils.sJCJLDWList_Weg.Contains(txtJLDW.Text.Trim().ToUpper())) { if (txtJLDW.Text.Trim().Equals("吨") || txtJLDW.Text.Trim().ToUpper().Equals("T")) sql.Add("select XLXSTZYZ_YZID,isnull(XLXSJGBYZZ8_YZZ,0) as YZZ from XLXSJGBYZ"); else sql.Add("select XLXSTZYZ_YZID,isnull(XLXSJGBYZZ8_YZZ/1000,0) as YZZ from XLXSJGBYZ"); } else sql.Add("select XLXSTZYZ_YZID,isnull(XLXSJGBYZZ8_YZZ * XLXSCLQD_CLZL/1000,0) as YZZ from XLXSJGBYZ"); sql.Add(" left join XLXSTZYZ on XLXSTZYZ_YZID=XLXSJGBYZ_YZID"); sql.Add(" left join XLXSJGBYZZ8 on XLXSJGBYZZ8_JGBID=XLXSTZYZ_JGBID and XLXSJGBYZZ8_YZID=XLXSTZYZ_YZID"); sql.Add(" and XLXSJGBYZZ8_XLXHID=:pXLXHID and XLXSJGBYZZ8_XLGGID=:pXLGGID"); sql.Add(" and XLXSJGBYZZ8_XLBZID=:pXLBZID and XLXSJGBYZZ8_DYDJID=:pDYDJID"); sql.Add(" left join XLXSCLQD ON XLXSCLQD_XLXHID = XLXSJGBYZZ8_XLXHID AND XLXSCLQD_XLGGID = XLXSJGBYZZ8_XLGGID AND XLXSCLQD_XLBZID = XLXSJGBYZZ8_XLBZID AND XLXSCLQD_DYDJID = XLXSJGBYZZ8_DYDJID "); sql.Add(" where XLXSJGBYZ_JGBID=:pJGBID and XLXSTZYZ_MXBH='JZJ'"); sql.Add(" and XLXSTZYZ_TJYS='8'"); sql.Add(" order by XLXSTZYZ_YZID"); sql.ParamByName("pJGBID").Value = txtJGBID.Value.Trim(); sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim(); sql.ParamByName("pXLGGID").Value = txtXLGGID.Text.Trim(); sql.ParamByName("pXLBZID").Value = cbxST.SelectedValue.Trim(); sql.ParamByName("pDYDJID").Value = cbxDYDJ.SelectedValue.Trim(); ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { XLJGB_JGBMX.SetValueToCtls(ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim(), CMISproConvert.StrToFloat(ds.Tables[0].Rows[i]["YZZ"].ToString()), divTZYZ.Controls); } } //非长度单位 if (!txtJLDW.Text.Trim().ToUpper().Equals("M") && !txtJLDW.Text.Trim().ToUpper().Equals("KM") && !txtJLDW.Text.Trim().ToUpper().Equals("米") && !txtJLDW.Text.Trim().ToUpper().Equals("千米") && !XLBJDUtils.sJCJLDWList_Weg.Contains(txtJLDW.Text.Trim().ToUpper())) { XLJGB_JGBMX.SetValueToCtls("JZ01", 0, divTZYZ.Controls); XLJGB_JGBMX.SetValueToCtls("JZ02", 0, divTZYZ.Controls); XLJGB_JGBMX.SetValueToCtls("JZ03", 0, divTZYZ.Controls); XLJGB_JGBMX.SetValueToCtls("JZ04", 0, divTZYZ.Controls); XLJGB_JGBMX.SetValueToCtls("JZ05", 0, divTZYZ.Controls); XLJGB_JGBMX.SetValueToCtls("JZ06", 0, divTZYZ.Controls); XLJGB_JGBMX.SetValueToCtls("JZ07", 0, divTZYZ.Controls); XLJGB_JGBMX.SetValueToCtls("JZ08", 0, divTZYZ.Controls); XLJGB_JGBMX.SetValueToCtls("JZ09", 0, divTZYZ.Controls); XLJGB_JGBMX.SetValueToCtls("JZ10", 0, divTZYZ.Controls); } _txt_TextChanged(null, null); } else { if (!PageParam.GetRTrimString("JJLY").Equals("D")) { txtWSCLCB.Value = 0; txtCLCB.Value = 0; txtWSJJM.Value = "0"; txtHSJJM.Value = "0"; txtCPJJ.Value = 0; txtWSCPJJ.Value = 0; txtWSBJM.Value = "0"; txtHSBJM.Value = "0"; } } } public void CreateTZYZMaster(CMISproSession tSession, HtmlGenericControl divTop, bool bNeedMRZ) { Table TabOut = new Table(); TabOut.ID = "TblJYD"; TabOut.HorizontalAlign = HorizontalAlign.Left; TabOut.CellPadding = 0; TabOut.CellSpacing = 0; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sql = new TSQL(dberp); sql.Add("select XLXSTZYZ_YZID, XLXSTZYZ_YZMC, isnull(XLXSJGBYZZ_YZZ,0) as XLXSJGBYZZ_YZZ, XLXSTZYZ_JJFS, XLXSTZYZ_TJYS from XLXSTZYZ "); sql.Add(" left join XLXSJGBYZZ on XLXSJGBYZZ_JGBID=XLXSTZYZ_JGBID and XLXSJGBYZZ_YZID=XLXSTZYZ_YZID"); sql.Add(" where XLXSTZYZ_MXBH='JZJ'"); sql.Add(" and exists(select 1 from XLXSJGBYZ where XLXSJGBYZ_JGBID=:pJGBID and XLXSJGBYZ_YZID=XLXSTZYZ_YZID)");//必须是当前价格表所用的调价因子 sql.Add(" order by XLXSTZYZ_XSXH"); sql.ParamByName("pJGBID").Value = PageParam.GetRTrimString("XLXSJGBMX_JGBID"); DataSet ds = dberp.OpenDataSet(sql); if (ds.Tables[0].Rows.Count <= 0) return; for (int i = 0; i < Math.Floor((double)(ds.Tables[0].Rows.Count / 2)); i++) { TableRow RowField = new TableRow(); RowField.Height = Unit.Pixel(35); //设置行高 string sYZID = ds.Tables[0].Rows[2 * i]["XLXSTZYZ_YZID"].ToString().Trim(); string sYZMC = ds.Tables[0].Rows[2 * i]["XLXSTZYZ_YZMC"].ToString().Trim(); double dMRZ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[2 * i]["XLXSJGBYZZ_YZZ"].ToString()); string sJJFS = ds.Tables[0].Rows[2 * i]["XLXSTZYZ_JJFS"].ToString().Trim(); string sTJYS = ds.Tables[0].Rows[2 * i]["XLXSTZYZ_TJYS"].ToString().Trim(); TableCell CellField = new TableCell(); CellField.Style.Add(HtmlTextWriterStyle.Width, "90px"); CellField.HorizontalAlign = HorizontalAlign.Right; //CellField.BorderWidth = 1; //CellField.BorderColor = System.Drawing.Color.FromArgb(173, 169, 154); CellField.Text = sYZMC.Trim() + ":"; RowField.Cells.Add(CellField); TableCell CellControls = new TableCell(); CellControls.HorizontalAlign = HorizontalAlign.Center; gtNumTextBox txt = new gtNumTextBox(); txt.Width = Unit.Pixel(80); txt.ID = string.Format("txt_{0}", sYZID); if (sJJFS.Equals("JJ")) txt.DecimalPlaces = CMISproConvert.StrToInt(GetOption("BJU002")); else txt.DecimalPlaces = XLBJDUtils.JGBYZZDecimal; txt.Attributes.Add("NAME", sYZID); txt.Attributes.Add("TJYS", sTJYS); if (bNeedMRZ) txt.Value = dMRZ; txt.TextChanged += new EventHandler(_txt_TextChanged); txt.AutoPostBack = true; CellControls.Controls.Add(txt); CellControls.HorizontalAlign = HorizontalAlign.Center; RowField.Controls.Add(CellControls); //------------------ TableCell CellSpace = new TableCell(); CellSpace.Style.Add(HtmlTextWriterStyle.Width, "110px"); CellSpace.HorizontalAlign = HorizontalAlign.Left; if (sJJFS.Equals("JJ")) CellSpace.Text = "(元)"; else if (sJJFS.Equals("JD") || sJJFS.Equals("KD") || sJJFS.Equals("SX")) CellSpace.Text = "(%)"; RowField.Cells.Add(CellSpace); //------------------ string sYZID2 = ds.Tables[0].Rows[2 * i + 1]["XLXSTZYZ_YZID"].ToString().Trim(); string sYZMC2 = ds.Tables[0].Rows[2 * i + 1]["XLXSTZYZ_YZMC"].ToString().Trim(); double dMRZ2 = CMISproConvert.StrToFloat(ds.Tables[0].Rows[2 * i + 1]["XLXSJGBYZZ_YZZ"].ToString()); string sJJFS2 = ds.Tables[0].Rows[2 * i + 1]["XLXSTZYZ_JJFS"].ToString().Trim(); string sTJYS2 = ds.Tables[0].Rows[2 * i + 1]["XLXSTZYZ_TJYS"].ToString().Trim(); TableCell CellField2 = new TableCell(); CellField2.Style.Add(HtmlTextWriterStyle.Width, "98px"); CellField2.HorizontalAlign = HorizontalAlign.Right; CellField2.Text = sYZMC2.Trim() + ":"; RowField.Cells.Add(CellField2); TableCell CellControls2 = new TableCell(); CellControls2.HorizontalAlign = HorizontalAlign.Center; gtNumTextBox txt2 = new gtNumTextBox(); txt2.Width = Unit.Pixel(80); txt2.ID = string.Format("txt_{0}", sYZID2); if (sJJFS2.Equals("JJ")) txt2.DecimalPlaces = CMISproConvert.StrToInt(GetOption("BJU002")); else txt2.DecimalPlaces = XLBJDUtils.JGBYZZDecimal; txt2.Attributes.Add("NAME", sYZID2); txt2.Attributes.Add("TJYS", sTJYS2); if (bNeedMRZ) txt2.Value = dMRZ2; txt2.TextChanged += new EventHandler(_txt_TextChanged); txt2.AutoPostBack = true; CellControls2.Controls.Add(txt2); CellControls2.HorizontalAlign = HorizontalAlign.Center; RowField.Controls.Add(CellControls2); TableCell CellSpace2 = new TableCell(); CellSpace2.Style.Add(HtmlTextWriterStyle.Width, "20px"); CellSpace2.HorizontalAlign = HorizontalAlign.Left; if (sJJFS2.Equals("JJ")) CellSpace2.Text = "(元)"; else if (sJJFS2.Equals("JD") || sJJFS2.Equals("KD") || sJJFS.Equals("SX")) CellSpace2.Text = "(%)"; RowField.Cells.Add(CellSpace2); TabOut.Rows.Add(RowField); } if (ds.Tables[0].Rows.Count % 2 != 0) { string sYZID = ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1]["XLXSTZYZ_YZID"].ToString().Trim(); string sYZMC = ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1]["XLXSTZYZ_YZMC"].ToString().Trim(); double dMRZ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1]["XLXSJGBYZZ_YZZ"].ToString()); string sJJFS = ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1]["XLXSTZYZ_JJFS"].ToString().Trim(); string sTJYS = ds.Tables[0].Rows[ds.Tables[0].Rows.Count - 1]["XLXSTZYZ_TJYS"].ToString().Trim(); TableRow RowField = new TableRow(); RowField.Height = Unit.Pixel(35); //设置行高 TableCell CellField = new TableCell(); CellField.Style.Add(HtmlTextWriterStyle.Width, "90px"); CellField.HorizontalAlign = HorizontalAlign.Right; CellField.Text = sYZMC.Trim() + ":"; RowField.Cells.Add(CellField); TableCell CellControls = new TableCell(); CellControls.HorizontalAlign = HorizontalAlign.Center; gtNumTextBox txt = new gtNumTextBox(); txt.Width = Unit.Pixel(80); txt.ID = string.Format("txt_{0}", sYZID); if (sJJFS.Equals("JJ")) txt.DecimalPlaces = CMISproConvert.StrToInt(GetOption("BJU002")); else txt.DecimalPlaces = XLBJDUtils.JGBYZZDecimal; txt.Attributes.Add("NAME", sYZID); txt.Attributes.Add("TJYS", sTJYS); if (bNeedMRZ) txt.Value = dMRZ; txt.TextChanged += new EventHandler(_txt_TextChanged); txt.AutoPostBack = true; CellControls.Controls.Add(txt); CellControls.HorizontalAlign = HorizontalAlign.Center; RowField.Controls.Add(CellControls); TableCell CellSpace = new TableCell(); CellSpace.Style.Add(HtmlTextWriterStyle.Width, "84px"); CellSpace.HorizontalAlign = HorizontalAlign.Left; if (sJJFS.Equals("JJ")) CellSpace.Text = "(元)"; else if (sJJFS.Equals("JD") || sJJFS.Equals("KD") || sJJFS.Equals("SX")) CellSpace.Text = "(%)"; RowField.Cells.Add(CellSpace); TabOut.Rows.Add(RowField); } divTop.Controls.Add(TabOut); } public void _txt_TextChanged(object sender, EventArgs e) { string sJDYZList = ""; string sKDYZList = ""; string sJJYZList = ""; string sSXYZList = ""; Dictionary dicTZYZ = new Dictionary(); TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL SQL = new TSQL(dberp); List yzxx_List = XLBJDUtils.GetJGBYZOrderByXSXH(PageParam.GetRTrimString("XLXSJGBMX_JGBID")); foreach (TZYZXX yzxx in yzxx_List) { if (yzxx.XLXSTZYZ_JJFS.Trim().Equals("JD")) { sJDYZList += yzxx.XLXSTZYZ_YZID.Trim() + ","; } else if (yzxx.XLXSTZYZ_JJFS.Trim().Equals("KD")) { sKDYZList += yzxx.XLXSTZYZ_YZID.Trim() + ","; } else if (yzxx.XLXSTZYZ_JJFS.Trim().Equals("JJ")) { sJJYZList += yzxx.XLXSTZYZ_YZID.Trim() + ","; } else if (yzxx.XLXSTZYZ_JJFS.Trim().Equals("SX")) { sSXYZList += yzxx.XLXSTZYZ_YZID.Trim() + ","; } string sTJYZID = yzxx.XLXSTZYZ_TJYZID.Trim(); string sYZID = yzxx.XLXSTZYZ_YZID.Trim(); if (dicTZYZ.ContainsKey(sTJYZID)) { dicTZYZ[sTJYZID] = dicTZYZ[sTJYZID].Trim() + sYZID + ","; } else { dicTZYZ.Add(sTJYZID, sYZID + ","); } } int iXSWS = string.IsNullOrEmpty(GetOption("BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption("BJU002")); if (iXSWS < 0) iXSWS = 0; else if (iXSWS > 8) iXSWS = 8; double dTZYZ_JD = 1.0, dTZYZ_KD = 1.0, dTZYZ_JJ = 0, dTZYZ_SX = 1.0; //存储TJYZID对应的因子汇总值 Dictionary dicTZYZZ = new Dictionary(); XLJGB_JGBMX.getTZYZZ(divTZYZ.Controls, dicTZYZ, ref dicTZYZZ); foreach (string sTJYZID in dicTZYZZ.Keys) { if (sJDYZList.Contains(sTJYZID.Trim() + ",")) dTZYZ_JD = dTZYZ_JD * (1 + dicTZYZZ[sTJYZID] / 100.0); else if (sKDYZList.Contains(sTJYZID.Trim() + ",")) dTZYZ_KD = dTZYZ_KD / (1 - dicTZYZZ[sTJYZID] / 100.0); else if (sJJYZList.Contains(sTJYZID.Trim() + ",")) dTZYZ_JJ += dicTZYZZ[sTJYZID]; else if (sSXYZList.Contains(sTJYZID.Trim() + ",")) { if (dicTZYZZ[sTJYZID] >= 0) { dTZYZ_SX = dTZYZ_SX / (1 - dicTZYZZ[sTJYZID] / 100.0); } else { dTZYZ_SX = dTZYZ_SX * (1 + dicTZYZZ[sTJYZID] / 100.0); } } } //检查价格表必填因子是否为0 int iJGBTJYZYC = 1; Dictionary dicJGBTJYZ = XLBJDInfo.GetJGBBTYZ(PageParam.GetRTrimString("XLXSJGBMX_JGBID"));//因子值不为0的价格表因子 JGBBTYZIsZero(divTZYZ.Controls, PageParam.GetRTrimString("XLXSJGBMX_JGBID"), dicJGBTJYZ, ref iJGBTJYZYC); if (txtWSCLCB.Value <= 0) { txtWSCPJJ.Value = 0; txtWSBJM.Value = "0"; } else { if (txtJLDW.Text.Trim().ToUpper().Equals("M") || txtJLDW.Text.Trim().ToUpper().Equals("KM") || txtJLDW.Text.Trim().ToUpper().Equals("米") || txtJLDW.Text.Trim().ToUpper().Equals("千米")) { if (XLBJDUtils.JJFirst_JGBYZ(PageParam.GetRTrimString("XLXSJGBMX_JGBID"))) { //先加价 txtWSCPJJ.Value =NumberUtils.RoundX((txtWSCLCB.Value + dTZYZ_JJ) * dTZYZ_JD * dTZYZ_KD * dTZYZ_SX, iXSWS); txtWSBJM.Value = NumberUtils.RoundX((CMISproConvert.StrToFloat(txtWSJJM.Value) + dTZYZ_JJ) * dTZYZ_JD * dTZYZ_KD * dTZYZ_SX, 6).ToString().Trim(); } else { txtWSCPJJ.Value = NumberUtils.RoundX(txtWSCLCB.Value * dTZYZ_JD * dTZYZ_KD * dTZYZ_SX + dTZYZ_JJ, iXSWS); txtWSBJM.Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(txtWSJJM.Value) * dTZYZ_JD * dTZYZ_KD * dTZYZ_SX + dTZYZ_JJ, 6).ToString().Trim(); } } else { txtWSCPJJ.Value = txtWSCLCB.Value; txtWSBJM.Value = txtWSJJM.Value; } if (iJGBTJYZYC == -1) txtWSCPJJ.Value = Math.Abs(txtWSCPJJ.Value) * iJGBTJYZYC; } if (txtCLCB.Value <= 0) { txtCPJJ.Value = 0; txtHSBJM.Value = "0"; } else { if (txtJLDW.Text.Trim().ToUpper().Equals("M") || txtJLDW.Text.Trim().ToUpper().Equals("KM") || txtJLDW.Text.Trim().ToUpper().Equals("米") || txtJLDW.Text.Trim().ToUpper().Equals("千米")) { if (XLBJDUtils.JJFirst_JGBYZ(PageParam.GetRTrimString("XLXSJGBMX_JGBID"))) { //先加价 txtCPJJ.Value = NumberUtils.RoundX((txtCLCB.Value + dTZYZ_JJ) * dTZYZ_JD * dTZYZ_KD * dTZYZ_SX, iXSWS); txtHSBJM.Value = NumberUtils.RoundX((CMISproConvert.StrToFloat(txtHSJJM.Value) + dTZYZ_JJ) * dTZYZ_JD * dTZYZ_KD * dTZYZ_SX, 6).ToString().Trim(); } else { txtCPJJ.Value = NumberUtils.RoundX(txtCLCB.Value * dTZYZ_JD * dTZYZ_KD * dTZYZ_SX + dTZYZ_JJ, iXSWS); txtHSBJM.Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(txtHSJJM.Value) * dTZYZ_JD * dTZYZ_KD * dTZYZ_SX + dTZYZ_JJ, 6).ToString().Trim(); } } else { txtCPJJ.Value = txtCLCB.Value; txtHSBJM.Value = txtHSJJM.Value; } if (iJGBTJYZYC == -1) txtCPJJ.Value = Math.Abs(txtCPJJ.Value) * iJGBTJYZYC; } JGBMLXX jgbxx=XLBJDUtils.GetXLXSJGBXXByJGBID(PageParam.GetRTrimString("XLXSJGBMX_JGBID")); if (jgbxx.XLXSJGB_TJYS == "1" && jgbxx.XLXSJGB_JJLY == "A" && jgbxx.XLXSJGB_BJLY == "J" && jgbxx.XLXSJGB_WSJGJSLY == "2") { double dZZSL=CMISproConvert.StrToFloat(jgbxx.XLXSJGB_ZZSL,0); txtWSCLCB.Value = NumberUtils.RoundX(txtCLCB.Value * (1 - dZZSL / 100), iXSWS); txtWSCPJJ.Value = NumberUtils.RoundX(txtCPJJ.Value * (1 - dZZSL / 100), iXSWS); txtWSJJM.Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(txtHSJJM.Value) * (1 - dZZSL / 100), 6).ToString().Trim(); txtWSBJM.Value = NumberUtils.RoundX(CMISproConvert.StrToFloat(txtHSBJM.Value) * (1 - dZZSL / 100), 6).ToString().Trim(); } //解决页面回发后,设为只读的因子可编辑了 XLJGB_JGBMX.SetControlStateBySt(ControlState, divTZYZ.Controls); } protected void btnWSCLCB_Click(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL tSql = new TSQL(dberp); tSql.Clear(); tSql.Add("select XLJGCZBLM_CLQDL,XLJGCZBLM_BJCLID,XLXSBJCL_BJHQ,XLJGCZBML_CZBLX"); tSql.Add(" from XLJGCZBLM"); tSql.Add(" left join XLXSCLQD on XLXSCLQD_JGCZBID=XLJGCZBLM_JGCZBID and XLXSCLQD_JGCZBBBID = XLJGCZBLM_JGCZBBBID "); tSql.Add(" left join XLXSBJCL on XLXSBJCL_BJCLID=XLJGCZBLM_BJCLID"); tSql.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID=XLJGCZBLM_JGCZBID"); tSql.Add(" where XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID and XLXSCLQD_DYDJID=:pDYDJID "); tSql.Add(" and isnull(XLJGCZBLM_CLQDL,' ')<>' ' and isnull(XLXSBJCL_BJHQ,' ') <>' ' "); tSql.Add(" order by XLJGCZBLM_CLQDL"); tSql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim(); tSql.ParamByName("pXLGGID").Value = txtXLGGID.Text.Trim(); tSql.ParamByName("pXLBZID").Value = cbxST.SelectedValue.Trim(); tSql.ParamByName("pDYDJID").Value = cbxDYDJ.SelectedValue.Trim(); DataSet dsCZB = dberp.OpenDataSet(tSql); if (dsCZB.Tables[0].Rows.Count > 0) { TPageParams param = new TPageParams(); param.CallAction = TPageCallAction.pcaBrowse; if (XLJGB_CLJGTZList.NeedJGBJJFP()) { param.UrlPath = "XLJGB_CLJGTZInfo.aspx"; param.AddString("XH", txtXH.Value.ToString().Trim()); } else { param.UrlPath = "XLJGB_JJZS.aspx"; param.AddString("XLXHID", cbxXLXHID.SelectedValue.Trim()); param.AddString("XLGGID", txtXLGGID.Text.Trim()); param.AddString("XLBZID", cbxST.SelectedValue.Trim()); param.AddString("DYDJID", cbxDYDJ.SelectedValue); } param.Title = "无税基价追溯"; if (PageParam.GetRTrimString("JJLY").Equals("D")) param.AddString("JGBID", ""); else param.AddString("JGBID", txtJGBID.Value.Trim()); param.AddString("HSBZ", "N"); OpenDialog(param); } else { ShowMessage("未找到所属尺重表的材料用量栏目或材料用量栏目材料无效!"); return; } } protected void btnCLCB_Click(object sender, EventArgs e) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL tSql = new TSQL(dberp); tSql.Clear(); tSql.Add("select XLJGCZBLM_CLQDL,XLJGCZBLM_BJCLID,XLXSBJCL_BJHQ,XLJGCZBML_CZBLX"); tSql.Add(" from XLJGCZBLM"); tSql.Add(" left join XLXSCLQD on XLXSCLQD_JGCZBID=XLJGCZBLM_JGCZBID and XLXSCLQD_JGCZBBBID = XLJGCZBLM_JGCZBBBID "); tSql.Add(" left join XLXSBJCL on XLXSBJCL_BJCLID=XLJGCZBLM_BJCLID"); tSql.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID=XLJGCZBLM_JGCZBID"); tSql.Add(" where XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_XLBZID=:pXLBZID and XLXSCLQD_DYDJID=:pDYDJID "); tSql.Add(" and isnull(XLJGCZBLM_CLQDL,' ')<>' ' and isnull(XLXSBJCL_BJHQ,' ') <>' ' "); tSql.Add(" order by XLJGCZBLM_CLQDL"); tSql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim(); tSql.ParamByName("pXLGGID").Value = txtXLGGID.Text.Trim(); tSql.ParamByName("pXLBZID").Value = cbxST.SelectedValue.Trim(); tSql.ParamByName("pDYDJID").Value = cbxDYDJ.SelectedValue.Trim(); DataSet dsCZB = dberp.OpenDataSet(tSql); if (dsCZB.Tables[0].Rows.Count > 0) { TPageParams param = new TPageParams(); param.CallAction = TPageCallAction.pcaBrowse; if (XLJGB_CLJGTZList.NeedJGBJJFP()) { param.UrlPath = "XLJGB_CLJGTZInfo.aspx"; param.AddString("XH", txtXH.Value.ToString().Trim()); } else { param.UrlPath = "XLJGB_JJZS.aspx"; param.AddString("XLXHID", cbxXLXHID.SelectedValue.Trim()); param.AddString("XLGGID", txtXLGGID.Text.Trim()); param.AddString("XLBZID", cbxST.SelectedValue.Trim()); param.AddString("DYDJID", cbxDYDJ.SelectedValue); } param.Title = "含税基价追溯"; if (PageParam.GetRTrimString("JJLY").Equals("D")) param.AddString("JGBID", ""); else param.AddString("JGBID", txtJGBID.Value.Trim()); param.AddString("HSBZ", "Y"); OpenDialog(param); } else { ShowMessage("未找到所属尺重表的材料用量栏目或材料用量栏目材料无效!"); return; } } //无税基价 public void txtWSCLCB_OnTextChanged(object sender, EventArgs e) { txtWSJJM.Value = NumberUtils.RoundX(txtWSCLCB.Value, 6).ToString().Trim(); _txt_TextChanged(null, null); } //含税基价 public void txtCLCB_OnTextChanged(object sender, EventArgs e) { txtHSJJM.Value = NumberUtils.RoundX(txtCLCB.Value, 6).ToString().Trim(); _txt_TextChanged(null, null); } //无税表价 //D|直接导入 的价格表明细,其基价跟着表价走 public void txtWSCPJJ_TextChanged(object sender, EventArgs e) { txtWSBJM.Value = NumberUtils.RoundX(txtWSCPJJ.Value, 6).ToString().Trim(); txtWSCLCB.Value = txtWSCPJJ.Value; txtWSJJM.Value = NumberUtils.RoundX(txtWSCLCB.Value, 6).ToString().Trim(); } //含税表价 //D|直接导入 的价格表明细,其基价跟着表价走 public void txtCPJJ_TextChanged(object sender, EventArgs e) { txtHSBJM.Value = NumberUtils.RoundX(txtCPJJ.Value, 6).ToString().Trim(); txtCLCB.Value = txtCPJJ.Value; txtHSJJM.Value = NumberUtils.RoundX(txtCLCB.Value, 6).ToString().Trim(); } protected void btnPrevious_Click(object sender, EventArgs e) { if (PageParam.GetRTrimString("Bord").Contains("PB")) { ShowMessage("当前记录为第一条!"); return; } DialogOperationScript dos = new DialogOperationScript(this); dos.SetOwnerControlValue(PageParam.GetRTrimString("txtTypeClientID"), "P"); dos.CloseSelf(); dos.Execute(); } protected void btnNEXT_Click(object sender, EventArgs e) { if (PageParam.GetRTrimString("Bord").Contains("NB")) { ShowMessage("当前记录为最后一条!"); return; } DialogOperationScript dos = new DialogOperationScript(this); dos.SetOwnerControlValue(PageParam.GetRTrimString("txtTypeClientID"), "N"); dos.CloseSelf(); dos.Execute(); } #endregion } }