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

209 lines
8.8 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_MODEL.Page;
using GThinking.N_MISPRO.Data;
using GThinking.N_MISPRO.Utility;
using GThinking.N_MISPRO;
namespace GThinking.N_XLXSBJ
{
public partial class CXBJD_CFInfo : SingleCardBase
{
CXBJD_CF entity = new CXBJD_CF();
#region 页面初始化
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860046;
this.UMName = "线缆销售报价反馈";
this.CurMaster = Master;
this.CurEntity = entity;
this.Master.EnableAttachBtn = false;
this.PageWidth = 420;
this.PageHeight = 180;
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;
base.InitPage();
if (!IsPostBack)
{
InitControl();
}
}
#endregion
#region 自定义事件
private void InitControl()
{
double dCFSL = CMISproConvert.StrToFloat(PageParam.GetRTrimString("CFSL"));
string sBJDID = PageParam.GetRTrimString("BJDID");
string sBJDXH = PageParam.GetRTrimString("BJDXH");
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(@" SELECT
xdm.XLXSBJDMX_ZBSL - ISNULL(a.HJCFSL, 0) AS CFSL,XLXSBJDMX_CPBJ
FROM
XLXSBJDMX xdm
LEFT JOIN (
SELECT
XLXSBJFKCFMX_BJDID,
XLXSBJFKCFMX_BJDXH,
SUM(XLXSBJFKCFMX_CFSL) AS HJCFSL
FROM
XLXSBJFKCFMX
WHERE
XLXSBJFKCFMX_BJDID = :pBJDID
AND XLXSBJFKCFMX_BJDXH = :pBJDXH
GROUP BY
XLXSBJFKCFMX_BJDID,
XLXSBJFKCFMX_BJDXH
) a
ON
a.XLXSBJFKCFMX_BJDID = xdm.XLXSBJDMX_BJDID
AND a.XLXSBJFKCFMX_BJDXH = xdm.XLXSBJDMX_XH
WHERE
xdm.XLXSBJDMX_BJDID = :pBJDID AND xdm.XLXSBJDMX_XH = :pBJDXH");
SQL.ParamByName("pBJDID").Value = sBJDID;
SQL.ParamByName("pBJDXH").Value = sBJDXH;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
txtSL.Value = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["CFSL"].ToString());
txtCPBJ.Value = ds.Tables[0].Rows[0]["XLXSBJDMX_CPBJ"].ToString();
}
if (dCFSL > 0)
{
txtSL.Value = dCFSL;
}
}
#endregion
protected void btnQR_Click(object sender, EventArgs e)
{
string sBJDID = PageParam.GetRTrimString("BJDID");
string sBJDXH = PageParam.GetRTrimString("BJDXH");
string sCFXH = PageParam.GetRTrimString("CFXH");
string sXLYSID = PageParam.GetRTrimString("XLYSID");
string sWLID = PageParam.GetRTrimString("WLID");
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add(" SELECT XLXSBJDMX_ZBSL - ISNULL(HJCFSL,0) AS CFSL FROM XLXSBJDMX ");
SQL.Add(" LEFT JOIN (SELECT XLXSBJFKCFMX_BJDID,XLXSBJFKCFMX_BJDXH,SUM(XLXSBJFKCFMX_CFSL) AS HJCFSL FROM XLXSBJFKCFMX ");
SQL.Add(" WHERE XLXSBJFKCFMX_BJDID=:pBJDID AND XLXSBJFKCFMX_BJDXH=:pBJDXH ");
if (!sCFXH.Equals("") && !sCFXH.Equals("0"))
{
SQL.Add(" AND XLXSBJFKCFMX_CFXH <> :pCFXH ");
SQL.ParamByName("pCFXH").Value = sCFXH;
}
SQL.Add(" GROUP BY XLXSBJFKCFMX_BJDID,XLXSBJFKCFMX_BJDXH) A ");
SQL.Add(" ON XLXSBJFKCFMX_BJDID=XLXSBJDMX_BJDID AND XLXSBJFKCFMX_BJDXH=XLXSBJDMX_XH ");
SQL.Add(" WHERE XLXSBJDMX_BJDID=:pBJDID AND XLXSBJDMX_XH=:pBJDXH ");
SQL.ParamByName("pBJDID").Value = sBJDID;
SQL.ParamByName("pBJDXH").Value = sBJDXH;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
if(CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["CFSL"].ToString()) < txtSL.Value)
{
ShowMessage("拆分数量总和超过中标数量,请调整拆分数量!");
return;
}
}
if (sCFXH.Equals("") || sCFXH.Equals("0"))
{
//新增
SQL.Clear();
SQL.Add(@" INSERT INTO XLXSBJFKCFMX
(
XLXSBJFKCFMX_BJDID,
XLXSBJFKCFMX_BJDXH,
XLXSBJFKCFMX_CFXH,
XLXSBJFKCFMX_XLYSID,
XLXSBJFKCFMX_WLID,
XLXSBJFKCFMX_CFSL,
XLXSBJFKCFMX_ZBSL,
XLXSBJFKCFMX_ZBJE,
XLXSBJFKCFMX_WHR,
XLXSBJFKCFMX_WHSJ,
XLXSBJFKCFMX_WHRID
) VALUES (
:XLXSBJFKCFMX_BJDID,
:XLXSBJFKCFMX_BJDXH,
:XLXSBJFKCFMX_CFXH,
:XLXSBJFKCFMX_XLYSID,
:XLXSBJFKCFMX_WLID,
:XLXSBJFKCFMX_CFSL,
:XLXSBJFKCFMX_ZBSL,
:XLXSBJFKCFMX_ZBJE,
:XLXSBJFKCFMX_WHR,
:XLXSBJFKCFMX_WHSJ,
:XLXSBJFKCFMX_WHRID
)");
int iXH = CMISproDataBase.GetMaxXH("DBERP", "XLXSBJFKCFMX", "XLXSBJFKCFMX_CFXH",
string.Format("XLXSBJFKCFMX_BJDID ='{0}' AND XLXSBJFKCFMX_BJDXH ={1}",sBJDID,sBJDXH)) + 1;
SQL.ParamByName("XLXSBJFKCFMX_BJDID").Value = sBJDID;
SQL.ParamByName("XLXSBJFKCFMX_BJDXH").Value = sBJDXH;
if (iXH == 1)
iXH = iXH + CMISproConvert.StrToInt(sBJDXH) * 100;
SQL.ParamByName("XLXSBJFKCFMX_CFXH").Value = iXH;
SQL.ParamByName("XLXSBJFKCFMX_XLYSID").Value = sXLYSID;
SQL.ParamByName("XLXSBJFKCFMX_WLID").Value = sWLID;
SQL.ParamByName("XLXSBJFKCFMX_CFSL").Value = txtSL.Value;
SQL.ParamByName("XLXSBJFKCFMX_ZBSL").Value = txtSL.Value;
SQL.ParamByName("XLXSBJFKCFMX_ZBJE").Value = txtSL.Value * CMISproConvert.StrToFloat(txtCPBJ.Value);
SQL.ParamByName("XLXSBJFKCFMX_WHR").Value = tSession.UserName;
SQL.ParamByName("XLXSBJFKCFMX_WHSJ").Value = DateTime.Now;
SQL.ParamByName("XLXSBJFKCFMX_WHRID").Value = tSession.UserId;
dberp.ExecSQL(SQL);
}
else
{
//修改
SQL.Clear();
SQL.Add(@" UPDATE XLXSBJFKCFMX SET XLXSBJFKCFMX_CFSL=:pCFSL ,XLXSBJFKCFMX_ZBSL=:pCFSL ,XLXSBJFKCFMX_ZBJE=:pZBJE
where XLXSBJFKCFMX_BJDID=:pBJDID and XLXSBJFKCFMX_BJDXH=:pBJDXH and XLXSBJFKCFMX_CFXH=:pCFXH ");
SQL.ParamByName("pBJDID").Value = sBJDID;
SQL.ParamByName("pBJDXH").Value = sBJDXH;
SQL.ParamByName("pCFXH").Value = sCFXH;
SQL.ParamByName("pCFSL").Value = txtSL.Value;
SQL.ParamByName("pZBJE").Value = txtSL.Value * CMISproConvert.StrToFloat(txtCPBJ.Value);
dberp.ExecSQL(SQL);
}
DialogOperationScript dos = new DialogOperationScript(this);
dos.ClickOwnerButton(PageParam.GetRTrimString("RefreshCtrlID"));
dos.CloseSelf();
dos.Execute();
}
protected void btnQX_Click(object sender, EventArgs e)
{
CloseWindow();
}
}
}