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

250 lines
9.9 KiB
C#
Raw Permalink 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_MODEL.Page;
using GThinking.N_MISPRO.Data;
using GThinking.N_MISPRO;
using GThinking.N_MISPRO.Utility;
namespace GThinking.N_XLXSBJ
{
public partial class CXBJD_CFList : OperationBase
{
CXBJD_MXCF entity = new CXBJD_MXCF();
#region 页面事件
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860046;
this.UMName = "线缆销售报价反馈";
this.CurMaster = Master;
this.Tabs = Tab;
this.PageWidth = 700;
this.PageHeight = 500;
AddListSetMap(new ListSet(pagSHD.ID, null, grdJSLM, entity, UPSHD));
if (!IsPostBack)
{
this.Master.PnlQuery.GroupingText = "拆分";
this.Master.PnlBill.GroupingText = "拆分";
this.Master.PnlQuery.Visible = false;
Master.BtnQueryVisible = false;
Master.BtnReportVisible = false;
}
base.InitPage();
if (!IsPostBack)
{
Master_OnQuery();
GridDataBind();
}
}
#endregion
#region 模板继承事件
protected override void Master_OnQuery()
{
entity.BJDID = PageParam.GetRTrimString("BJDID");
entity.BJDXH = PageParam.GetRTrimString("BJDXH");
entity.XLXHID = PageParam.GetRTrimString("XLXHID");
entity.XLGGID = PageParam.GetRTrimString("XLGGID").Replace('*','×');
entity.XLBZID = PageParam.GetRTrimString("XLBZID");
entity.DYDJID = PageParam.GetRTrimString("DYDJID");
base.Master_OnQuery();
}
protected override void GridDataBind()
{
base.GridDataBind();
}
protected override bool Master_OnBeforeOK(object sender, EventArgs e)
{
return base.Master_OnBeforeOK(sender, e);
}
protected override bool DataLogicValid()
{
return base.DataLogicValid();
}
protected override bool Master_OnOK()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
dberp.BeginTrans();
try
{
TSQL tmpSQL = new TSQL(dberp);
if (grdJSLM.NewRows.Count > 0)
{
for (int i = 0; i < grdJSLM.NewRows.Count; i++)
{
string sBJDID = PageParam.GetRTrimString("BJDID");
string sBJDXH = PageParam.GetRTrimString("BJDXH");
string sCFXH = grdJSLM.GetValueByFieldName("XLXSBJFKCFMX_CFXH", grdJSLM.NewRows[i]).ToString().Trim();
string sXLYSID = grdJSLM.GetValueByFieldName("XLXLB_XLYSID", grdJSLM.NewRows[i]).ToString().Trim();
string sWLID = grdJSLM.GetValueByFieldName("XLXLB_WLID", grdJSLM.NewRows[i]).ToString().Trim();
double sSL = CMISproConvert.StrToFloat(grdJSLM.GetValueByFieldName("CFSL", grdJSLM.NewRows[i]).ToString().Trim(), 0);
DOCF(dberp, tmpSQL, sBJDID, sBJDXH, sCFXH, sXLYSID, sWLID,sSL);
}
}
//使用脚本给父页面的隐藏控件赋值,调用父页面的控件事件
DialogOperationScript dos = new DialogOperationScript(this);
////dos.SetOwnerControlValue("ctl00_CPHForm_txtBJCLID", cbxBJCL.SelectedValue.Trim());
dos.ClickOwnerButton(PageParam.GetRTrimString("RefreshCtrlID"));
ShowMessage("拆分成功!");
dos.CloseSelf();
dos.Execute();
dberp.CommitTrans();
}
catch (Exception ex)
{
dberp.RollbackTrans();
ShowMessage(ex.Message);
}
return true;
}
protected override void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
base.Grid_RowDataBound(sender, e);
}
#endregion
#region 自定义函数
private void DOCF(TDatabase dberp, TSQL SQL,string sBJDID,string sBJDXH,string sCFXH,string sXLYSID,string sWLID,double sSL)
{
double dCPBJ = 0;
SQL.Clear();
SQL.Add("select XLXSBJDMX_CPBJ from XLXSBJDMX 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)
{
dCPBJ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["XLXSBJDMX_CPBJ"].ToString(),0);
}
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;
ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
if (CMISproConvert.StrToFloat(ds.Tables[0].Rows[0]["CFSL"].ToString()) < sSL)
{
throw new Exception("拆分数量总和超过中标数量,请调整拆分数量!");
}
}
if (sCFXH.Equals("") || sCFXH.Equals("0"))
{
if (sSL == 0)
return;
//新增
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 = sSL;
SQL.ParamByName("XLXSBJFKCFMX_ZBSL").Value = sSL;
SQL.ParamByName("XLXSBJFKCFMX_ZBJE").Value = sSL * dCPBJ;
SQL.ParamByName("XLXSBJFKCFMX_WHR").Value = CurSession.UserName;
SQL.ParamByName("XLXSBJFKCFMX_WHSJ").Value = DateTime.Now;
SQL.ParamByName("XLXSBJFKCFMX_WHRID").Value = CurSession.UserId;
dberp.ExecSQL(SQL);
}
else
{
if (sSL == 0)
{
SQL.Clear();
SQL.Add("delete from XLXSBJFKCFMX 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;
}
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 = sSL;
SQL.ParamByName("pZBJE").Value = sSL * dCPBJ;
}
dberp.ExecSQL(SQL);
}
}
#endregion
}
}