2026821
This commit is contained in:
@@ -0,0 +1,249 @@
|
||||
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
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user