Files
N_XLXSBJ----MX/XLJGB_JGBMXInfo.aspx.cs
T

1208 lines
55 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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<TZYZXX> 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<TZYZXX> 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<string, double> 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<string, string> 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<string, double> aryCLCB = new Dictionary<string, double>();
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<TZYZXX> 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<string, string> dicXLGGB = XLBJDUtils.GetXXJGIDByXLGGID(txtXLGGID.Text.Trim(), cbxXLXHID.SelectedValue.Trim());
Dictionary<string, double> dicYZZ4 = new Dictionary<string, double>();
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);
XLJGB_JGBMX.SetValueToCtls("JZ11", 0, divTZYZ.Controls);
XLJGB_JGBMX.SetValueToCtls("JZ12", 0, divTZYZ.Controls);
XLJGB_JGBMX.SetValueToCtls("JZ13", 0, divTZYZ.Controls);
XLJGB_JGBMX.SetValueToCtls("JZ14", 0, divTZYZ.Controls);
XLJGB_JGBMX.SetValueToCtls("JZ15", 0, divTZYZ.Controls);
XLJGB_JGBMX.SetValueToCtls("JZ16", 0, divTZYZ.Controls);
XLJGB_JGBMX.SetValueToCtls("JZ17", 0, divTZYZ.Controls);
XLJGB_JGBMX.SetValueToCtls("JZ18", 0, divTZYZ.Controls);
XLJGB_JGBMX.SetValueToCtls("JZ19", 0, divTZYZ.Controls);
XLJGB_JGBMX.SetValueToCtls("JZ20", 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<string, string> dicTZYZ = new Dictionary<string, string>();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
List<TZYZXX> 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<string, double> dicTZYZZ = new Dictionary<string, double>();
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<string, string> 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
}
}