Files
N_XLXSBJ----MX/XLBJD_BJSSWRInfo.aspx.cs
T
2026-08-21 17:03:02 +08:00

215 lines
8.7 KiB
C#

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;
namespace GThinking.N_XLXSBJ
{
[TableMap(DB = "DBERP", DbTableName = "XLXSTZYZ", Umid = 100860000, IsWorkFlow = false)]
public class XLBJD_BJSSWR : EntityManager
{
}
public partial class XLBJD_BJSSWRInfo : SingleCardBase
{
XLBJD_BJSSWR entity = new XLBJD_BJSSWR();
public static int iXSWS = 5;
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860000;
this.UMName = "线缆销售报价单";
this.CurMaster = Master;
this.CurEntity = entity;
this.PageHeight = 180;
this.PageWidth = 420;
Master.EnableAttachBtn = false;
Master.EnableCancelBtn = false;
Master.EnableCopyBtn = false;
Master.EnableDeleteBtn = false;
Master.EnableEditBtn = false;
Master.EnableInsertBtn = false;
Master.EnablePrintBtn = false;
Master.EnableRefreshBtn = false;
Master.EnableSaveBtn = false;
iXSWS = string.IsNullOrEmpty(GetOption("BJU002")) ? 5 : CMISproConvert.StrToInt(GetOption("BJU002"));
if (iXSWS < 0)
{
iXSWS = 0;
}
else if (iXSWS > 8)
{
iXSWS = 8;
}
base.InitPage();
if (!IsPostBack)
{
InitControl();
}
}
#region 模板继承事件
#endregion
#region 自定义函数
private void InitControl()
{
string sCPBJMRXSWS = PageParam.GetRTrimString("CPBJMRXSWS");
sptXSWS.Max = iXSWS;
if (iXSWS >= CMISproConvert.StrToInt(sCPBJMRXSWS))
{
sptXSWS.Text = sCPBJMRXSWS;
}
}
#endregion
#region 控件事件
protected void btnQR_Click(object sender, EventArgs e)
{
string sBJDID = PageParam.GetRTrimString("BJDID");
string sJCLLX = PageParam.GetRTrimString("JCLLX");
string sLJJCLLX = PageParam.GetRTrimString("LJJCLLX");
string sBJLJJCLLX = PageParam.GetRTrimString("BJLJJCLLX");
string sCPBJMRXSWS = sptXSWS.Text;
string sMsg = "";
sMsg = "即将把明细报价四舍五入为" + sCPBJMRXSWS + "位小数,是否继续?";
//提示
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
Confirm.Register("IsQD", sMsg);
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
if (Confirm.GetValue("IsQD").Trim().Equals(""))
{
Confirm.Ask("IsQD");
return;
}
else if (Confirm.GetValue("IsQD").Trim().Equals("N"))
{
Confirm.Clear();
return;
}
else if (Confirm.GetValue("IsQD").Trim().Equals("Y"))
{
Confirm.Clear();
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
try
{
dberp.BeginTrans();
SQL.Clear();
//直接修改报价-包括数量为0
string sCPBJBLXSWS = Math.Pow(10, -1 * CMISproConvert.StrToFloat(sCPBJMRXSWS)).ToString("F9");
string sqlBJJE = string.Format("RoundFix(RoundFix(XLXSBJDMX_CPBJ/{0},0)*{0}*XLXSBJDMX_BJSL+XLXSBJDMX_TZBJJE,2)", sCPBJBLXSWS);
SQL.Clear();
SQL.Add(" update XLXSBJDMX set ");
SQL.Add(string.Format(" XLXSBJDMX_CPBJ=RoundFix(XLXSBJDMX_CPBJ/{0},0)*{0}, ", sCPBJBLXSWS));
SQL.Add(string.Format(" XLXSBJDMX_TZCPBJ=RoundFix(case when XLXSBJDMX_TZQCPBJ=0 then 0 else 100*(RoundFix(XLXSBJDMX_CPBJ/{0},0)*{0}-XLXSBJDMX_TZQCPBJ)/XLXSBJDMX_TZQCPBJ end,15),", sCPBJBLXSWS));
SQL.Add(string.Format(" XLXSBJDMX_TZQBJJE=RoundFix(RoundFix(XLXSBJDMX_CPBJ/{0},0)*{0}*XLXSBJDMX_BJSL,2),", sCPBJBLXSWS));
SQL.Add(" XLXSBJDMX_BJJE=" + sqlBJJE + ",");
if (sJCLLX.Equals("1"))//表价价差率公式
{
SQL.Add("XLXSBJDMX_JGBBJJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(" + sqlBJJE + "-XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL)/(" + sqlBJJE + "),2) end,");
SQL.Add("XLXSBJDMX_JGBBJJCE =RoundFix(" + sqlBJJE + "-RoundFix(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL,2)," + iXSWS + "), ");
}
else if (sJCLLX.Equals("2"))
{
SQL.Add("XLXSBJDMX_JGBBJJCL =case when XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL=0.0 then 0.0 else RoundFix(100*(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL-" + sqlBJJE + ")/(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL),2) end,");
SQL.Add("XLXSBJDMX_JGBBJJCE =RoundFix(RoundFix(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL,2)-" + sqlBJJE + "," + iXSWS + "), ");
}
else if (sJCLLX.Equals("3"))
{
SQL.Add("XLXSBJDMX_JGBBJJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL)/(" + sqlBJJE + "),2) end,");
SQL.Add("XLXSBJDMX_JGBBJJCE =0, ");
}
else if (sJCLLX.Equals("4"))
{
SQL.Add("XLXSBJDMX_JGBBJJCL =case when XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL=0.0 then 0.0 else RoundFix(100*(" + sqlBJJE + " - XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL)/(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL),2) end,");
SQL.Add("XLXSBJDMX_JGBBJJCE =RoundFix(" + sqlBJJE + " - RoundFix(XLXSBJDMX_JGBBJ*XLXSBJDMX_BJSL,2)," + iXSWS + "), ");
}
else
{
SQL.Add("XLXSBJDMX_JGBBJJCL=0,");
SQL.Add("XLXSBJDMX_JGBBJJCE=0,");
}
if (sLJJCLLX.Equals("1"))//料价价差率公式
{
SQL.Add("XLXSBJDMX_CLCBJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(" + sqlBJJE + "-XLXSBJDMX_CLCB*XLXSBJDMX_BJSL)/(" + sqlBJJE + "),2) end");
}
else if (sLJJCLLX.Equals("2"))
{
SQL.Add("XLXSBJDMX_CLCBJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(" + sqlBJJE + "-XLXSBJDMX_BJDHQCLCB*XLXSBJDMX_BJSL)/(" + sqlBJJE + "),2) end");
}
else if (sLJJCLLX.Equals("3"))
{
SQL.Add("XLXSBJDMX_CLCBJCL =case when XLXSBJDMX_BJDHQCLCB*XLXSBJDMX_BJSL=0.0 then 0.0 else RoundFix(100*(" + sqlBJJE + "-XLXSBJDMX_BJDHQCLCB*XLXSBJDMX_BJSL)/(XLXSBJDMX_BJDHQCLCB*XLXSBJDMX_BJSL),2) end");
}
else if (sLJJCLLX.Equals("4"))
{
SQL.Add("XLXSBJDMX_CLCBJCL =case when " + sqlBJJE + "=0.0 then 0.0 else RoundFix(100*(XLXSBJDMX_BJDHQCLCB*XLXSBJDMX_BJSL)/(" + sqlBJJE + "),2) end");
}
else
{
SQL.Add("XLXSBJDMX_CLCBJCL=0");
}
if (sBJLJJCLLX.Equals("1"))//表价料价价差率公式
{
SQL.Add(",XLXSBJDMX_JGBBJLJJCL =case XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ when 0 then 0 else RoundFix((XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ - XLXSBJDMX_BJSL*XLXSBJDMX_BJDHQCLCB)/ (XLXSBJDMX_BJSL*XLXSBJDMX_JGBBJ) * 100,2) end ");
}
else
{
SQL.Add(",XLXSBJDMX_JGBBJLJJCL=0");
}
SQL.Add(" ,XLXSBJDMX_BJTJCZ = 'BJSSWRJS'");
SQL.Add(" from XLXSBJDMX ");
SQL.Add(" where XLXSBJDMX_BJDID=:pBJDID ");
SQL.Add(" and XLXSBJDMX_BJSDBZ<>'Y'");//跳过报价锁定为Y的明细数据
SQL.ParamByName("pBJDID").Value = sBJDID;
dberp.ExecSQL(SQL);
dberp.CommitTrans();
DialogOperationScript dos = new DialogOperationScript(this);
dos.ClickOwnerButton(PageParam.GetRTrimString("btnRefresh1"));
dos.CloseSelf();
dos.Execute();
}
catch (Exception ex)
{
ShowMessage("报价四舍五入到" + sCPBJMRXSWS + "位小数出现错误,请联系系统管理员!" + ex);
dberp.RollbackTrans();
return;
}
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
#endregion
}
}