提交所有文件

This commit is contained in:
2026-09-19 14:12:58 +08:00
parent 20e88479b1
commit 7b922290bb
62 changed files with 11832 additions and 131 deletions
+356
View File
@@ -0,0 +1,356 @@
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_CONTROL;
namespace GThinking.N_XLXSBJ
{
public partial class TZYZBJLInfo : SingleCardBase
{
TZYZBJL entity = new TZYZBJL();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860169;
this.UMName = "按标准加报价数量区间调报价";
this.CurMaster = Master;
this.CurEntity = entity;
this.PageHeight = 430;
this.PageWidth = 560;
SetTJYZLable();
if (!this.IsPostBack)
{
InitControls();
}
base.InitPage();
}
#region 模板事件继承
protected override void ReportDataSetAdd()
{
TDatabase db = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(db);
sql.Add("select XLXSTZYZ_YZID, XLXSTZYZ_YZMC from XLXSTZYZ where XLXSTZYZ_MXBH='BJD' and XLXSTZYZ_TJYS='L' order by XLXSTZYZ_XSXH,XLXSTZYZ_YZID ");
DataSet ds = db.OpenDataSet(sql);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sYZID = "TZYZ_" + ds.Tables[0].Rows[i]["XLXSTZYZ_YZID"].ToString().Trim();
string sYZMC = ds.Tables[0].Rows[i]["XLXSTZYZ_YZMC"].ToString().Trim();
AddUserReportField("XLXSBJDYZZL", sYZID, sYZMC, "N");
}
base.ReportDataSetAdd();
}
protected override void ReportRecordSetAdd()
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select XLXSTZYZ_YZID, XLXSTZYZ_YZMC ");
SQL.Add(" from XLXSTZYZ");
SQL.Add(" where XLXSTZYZ_MXBH = 'BJD' and XLXSTZYZ_TJYS='L' order by XLXSTZYZ_XSXH,XLXSTZYZ_YZID ");
DataSet ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
sSQL.Add(string.Format(",sum(decode(XLXSBJDYZZL_YZID, '{0}', XLXSBJDYZZL_YZZ, 0)) as TZYZ_{0}", ds.Tables[0].Rows[i][0].ToString().Trim()));
}
sSQL.Text = "select 1" + sSQL.Text + " from XLXSBJDYZZL where XLXSBJDYZZL_JGBID='" + txtJGBID.Value.Trim() + "' and XLXSBJDYZZL_XLBZID='" + cbxXLBZID.SelectedValue.Trim() + "' and XLXSBJDYZZL_BJSLS=" + txtBJSLS.Value + " and XLXSBJDYZZL_BJSLZ=" + txtBJSLZ.Value;
AddUserReportSQL("XLXSBJDYZZL", sSQL);
base.ReportRecordSetAdd();
}
protected override void SetControlState()
{
base.SetControlState();
txtWHR.Enabled = false;
datWHSJ.Enabled = false;
# region 给调价因子控件设只读性
if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy || ControlState == TControlState.ctsEdit)
{
for (int i = 1; i <= 20; i++)
{
gtNumTextBox txtTJYZ = (gtNumTextBox)Master.ContentFormControl.FindControl("txt" + "TJYZ" + i);
txtTJYZ.Enabled = false;
}
string[] sTJYZList = PageParam.GetRTrimString("TJYZList").Split(',');
for (int i = 0; i < sTJYZList.Length; i++)
{
for (int j = 1; j <= 20; j++)
{
string sTZYZID = "BJ" + j.ToString().PadLeft(2, '0') + "|";
gtNumTextBox txtTJYZ = (gtNumTextBox)Master.ContentFormControl.FindControl("txt" + "TJYZ" + j.ToString().Trim());
if (sTJYZList[i].StartsWith(sTZYZID))
{
txtTJYZ.Enabled = true;
}
}
}
}
#endregion
}
protected override void LoadRecord()
{
if (!IsPostBack)
{
entity.Param.Add("XLXSBJDYZZL_JGBID", PageParam.GetRTrimString("XLXSBJDYZZL_JGBID"));
entity.Param.Add("XLXSBJDYZZL_XLBZID", PageParam.GetRTrimString("XLXSBJDYZZL_XLBZID"));
entity.Param.Add("XLXSBJDYZZL_BJSLS", PageParam.GetRTrimString("XLXSBJDYZZL_BJSLS"));
entity.Param.Add("XLXSBJDYZZL_BJSLZ", PageParam.GetRTrimString("XLXSBJDYZZL_BJSLZ"));
entity.Param.Add("XLXSBJDYZZL_YZID", PageParam.GetRTrimString("XLXSBJDYZZL_YZID"));
}
else
{
entity.Param.Add("XLXSBJDYZZL_JGBID", txtJGBID.Value.Trim());
entity.Param.Add("XLXSBJDYZZL_XLBZID", txtOLD_XLBZID.Value.Trim());
entity.Param.Add("XLXSBJDYZZL_BJSLS", txtOLD_BJSLS.Value.Trim());
entity.Param.Add("XLXSBJDYZZL_BJSLZ", txtOLD_BJSLZ.Value.Trim());
entity.Param.Add("XLXSBJDYZZL_YZID", txtYZID.Value.Trim());
}
base.LoadRecord();
SetOldValues();
# region 给调价因子控件赋值
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Clear();
sql.Add(" select XLXSBJDYZZL_YZID, XLXSBJDYZZL_YZZ from XLXSBJDYZZL ");
sql.Add(" where XLXSBJDYZZL_JGBID=:pJGBID and XLXSBJDYZZL_XLBZID=:pXLBZID and XLXSBJDYZZL_BJSLS=:pBJSLS and XLXSBJDYZZL_BJSLZ=:pBJSLZ order by XLXSBJDYZZL_YZID");
sql.ParamByName("pJGBID").Value = txtJGBID.Value.Trim();
sql.ParamByName("pXLBZID").Value = cbxXLBZID.SelectedValue.Trim();
sql.ParamByName("pBJSLS").Value = txtBJSLS.Value;
sql.ParamByName("pBJSLZ").Value = txtBJSLZ.Value;
DataSet ds = dberp.OpenDataSet(sql);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sYZID = ds.Tables[0].Rows[i][0].ToString().Trim();
double dYZZ = CMISproConvert.StrToFloat(ds.Tables[0].Rows[i][1].ToString().Trim());
if (PageParam.GetRTrimString("TJYZList").Contains(sYZID + "|"))
{
for (int j = 1; j <= 20; j++)
{
string sTZYZID = "BJ" + j.ToString().PadLeft(2, '0');
gtNumTextBox txtTJYZ = (gtNumTextBox)Master.ContentFormControl.FindControl("txt" + "TJYZ" + j.ToString().Trim());
if (sYZID.Equals(sTZYZID))
txtTJYZ.Value = dYZZ;
}
}
}
#endregion
}
protected override void OnNewRecorder()
{
base.OnNewRecorder();
txtJGBID.Value = PageParam.GetRTrimString("XLXSBJDYZZL_JGBID");
txtWHR.Text = tSession.UserName;
txtWHRID.Value = tSession.UserId;
datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now);
}
protected override void OnCopyRecorder()
{
base.OnCopyRecorder();
txtJGBID.Value = PageParam.GetRTrimString("XLXSBJDYZZL_JGBID");
txtWHR.Text = tSession.UserName;
txtWHRID.Value = tSession.UserId;
datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now);
}
protected override bool DataLogicValid()
{
if (!base.DataLogicValid()) return false;
if (cbxXLBZID.SelectedValue.Trim().Equals(""))
{
ShowMessage("标准不允许为空!");
return false;
}
if (txtBJSLS.Value < 0 || txtBJSLZ.Value < 0)
{
ShowMessage("报价数量区间不允许为负数!");
return false;
}
if (txtBJSLZ.Value != 0 && txtBJSLS.Value >= txtBJSLZ.Value)
{
ShowMessage("报价数量始必须小于报价数量止!");
return false;
}
if (HasOverlappedRange())
{
ShowMessage("当前标准、报价数量区间已存在交集记录,不允许保存!");
return false;
}
return true;
}
protected override bool Master_BeforeDeleteAction(object sender, EventArgs e)
{
string sYZIDlist = TZYZBJAInfo.GetYZIDList(PageParam.GetRTrimString("TJYZList"));
entity.EntityTable.DeleteSql = " delete from XLXSBJDYZZL where XLXSBJDYZZL_JGBID=:XLXSBJDYZZL_JGBID and XLXSBJDYZZL_XLBZID=:XLXSBJDYZZL_XLBZID and XLXSBJDYZZL_BJSLS=:XLXSBJDYZZL_BJSLS and XLXSBJDYZZL_BJSLZ=:XLXSBJDYZZL_BJSLZ and "
+ CMISproDataBase.GetWhereEqual("XLXSBJDYZZL_YZID", sYZIDlist);
return base.Master_BeforeDeleteAction(sender, e);
}
protected override bool Master_BeforeSaveAction(object sender, EventArgs e)
{
if (!base.Master_BeforeSaveAction(sender, e)) return false;
string sYZIDlist = TZYZBJAInfo.GetYZIDList(PageParam.GetRTrimString("TJYZList"));
entity.EntityTable.UpdateSql = " update XLXSBJDYZZL " + "\r\n"
+ " set XLXSBJDYZZL_XLBZID=:XLXSBJDYZZL_XLBZID, XLXSBJDYZZL_BJSLS=isnull(:XLXSBJDYZZL_BJSLS,0), XLXSBJDYZZL_BJSLZ=isnull(:XLXSBJDYZZL_BJSLZ,0), "
+ " XLXSBJDYZZL_WHR=:XLXSBJDYZZL_WHR, XLXSBJDYZZL_WHRID=:XLXSBJDYZZL_WHRID, XLXSBJDYZZL_WHSJ=:XLXSBJDYZZL_WHSJ " + "\r\n"
+ " where XLXSBJDYZZL_JGBID=:XLXSBJDYZZL_JGBID and XLXSBJDYZZL_XLBZID=:OLD_XLXSBJDYZZL_XLBZID and XLXSBJDYZZL_BJSLS=:OLD_XLXSBJDYZZL_BJSLS and XLXSBJDYZZL_BJSLZ=:OLD_XLXSBJDYZZL_BJSLZ and "
+ CMISproDataBase.GetWhereEqual("XLXSBJDYZZL_YZID", sYZIDlist);
txtWHR.Text = tSession.UserName;
txtWHRID.Value = tSession.UserId;
datWHSJ.Text = CMISproConvert.ConvertTime(System.DateTime.Now);
return true;
}
protected override bool Master_AfterSaveAction(object sender, EventArgs e)
{
SetOldValues();
txtYZID.Value = PageParam.GetRTrimString("FirstYZID");
string sJGBID = txtJGBID.Value.Trim();
string sXLBZID = cbxXLBZID.SelectedValue.Trim();
string sBJSLS = txtBJSLS.Value.ToString().Trim();
string sBJSLZ = txtBJSLZ.Value.ToString().Trim();
# region 将调价因子控件值更新至数据库中
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Clear();
string sYZIDlist = TZYZBJAInfo.GetYZIDList(PageParam.GetRTrimString("TJYZList"));
dberp.ExecSQL(string.Format("delete from XLXSBJDYZZL where XLXSBJDYZZL_JGBID='{0}' and XLXSBJDYZZL_XLBZID='{1}' and XLXSBJDYZZL_BJSLS={2} and XLXSBJDYZZL_BJSLZ={3} and " + CMISproDataBase.GetWhereEqual("XLXSBJDYZZL_YZID", sYZIDlist), sJGBID, sXLBZID, sBJSLS, sBJSLZ));
string[] sTJYZList = PageParam.GetRTrimString("TJYZList").Split(',');
DateTime tNow = DateTime.Now;
for (int i = 0; i < sTJYZList.Length; i++)
{
sql.Clear();
sql.Add("insert into XLXSBJDYZZL(XLXSBJDYZZL_JGBID, XLXSBJDYZZL_XLBZID, XLXSBJDYZZL_BJSLS, XLXSBJDYZZL_BJSLZ, XLXSBJDYZZL_YZID, XLXSBJDYZZL_YZZ, XLXSBJDYZZL_WHR, XLXSBJDYZZL_WHRID, XLXSBJDYZZL_WHSJ)");
sql.Add(" values(:pJGBID,:pXLBZID,:pBJSLS,:pBJSLZ,:pYZID,:pYZZ,:pWHR,:pWHRID,:pWHSJ)");
sql.ParamByName("pJGBID").Value = sJGBID;
sql.ParamByName("pXLBZID").Value = sXLBZID;
sql.ParamByName("pBJSLS").Value = sBJSLS;
sql.ParamByName("pBJSLZ").Value = sBJSLZ;
sql.ParamByName("pWHR").Value = tSession.UserName;
sql.ParamByName("pWHRID").Value = tSession.UserId;
sql.ParamByName("pWHSJ").Value = tNow;
for (int j = 1; j <= 20; j++)
{
string sTZYZID = "BJ" + j.ToString().PadLeft(2, '0') + "|";
gtNumTextBox txtTJYZ = (gtNumTextBox)Master.ContentFormControl.FindControl("txt" + "TJYZ" + j.ToString().Trim());
if (sTJYZList[i].StartsWith(sTZYZID))
{
sql.ParamByName("pYZID").Value = sTZYZID.TrimEnd('|');
sql.ParamByName("pYZZ").Value = txtTJYZ.Value;
dberp.ExecSQL(sql);
}
}
}
#endregion
return base.Master_AfterSaveAction(sender, e);
}
protected override void SetComboxItems()
{
TComboBox.SetComboBox("DBERP", cbxXLBZID, "select XLBZ_XLBZID,XLBZ_XLBZLXMC from XLBZ where 1=1 and len(XLBZ_XLBZID) < 10 order by XLBZ_PX,XLBZ_XLBZID ", false);
base.SetComboxItems();
}
#endregion
#region 自定义函数
private void InitControls()
{
txtYZID.Value = PageParam.GetRTrimString("FirstYZID");
}
private void SetOldValues()
{
txtOLD_XLBZID.Value = cbxXLBZID.SelectedValue.Trim();
txtOLD_BJSLS.Value = txtBJSLS.Value.ToString().Trim();
txtOLD_BJSLZ.Value = txtBJSLZ.Value.ToString().Trim();
}
private bool HasOverlappedRange()
{
string sYZIDlist = TZYZBJAInfo.GetYZIDList(PageParam.GetRTrimString("TJYZList"));
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add(" select XLXSBJDYZZL_XLBZID, XLXSBJDYZZL_BJSLS, XLXSBJDYZZL_BJSLZ from XLXSBJDYZZL ");
sql.Add(" where XLXSBJDYZZL_JGBID=:pJGBID and XLXSBJDYZZL_XLBZID=:pXLBZID ");
sql.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDYZZL_YZID", sYZIDlist));
sql.Add(" and (XLXSBJDYZZL_BJSLZ=0 or XLXSBJDYZZL_BJSLZ>:pBJSLS) ");
sql.Add(" and (:pBJSLZ=0 or XLXSBJDYZZL_BJSLS<:pBJSLZ) ");
if (ControlState == TControlState.ctsEdit)
{
sql.Add(" and (XLXSBJDYZZL_XLBZID<>:pOLDXLBZID or XLXSBJDYZZL_BJSLS<>:pOLDBJSLS or XLXSBJDYZZL_BJSLZ<>:pOLDBJSLZ) ");
sql.ParamByName("pOLDXLBZID").Value = txtOLD_XLBZID.Value.Trim();
sql.ParamByName("pOLDBJSLS").Value = txtOLD_BJSLS.Value.Trim();
sql.ParamByName("pOLDBJSLZ").Value = txtOLD_BJSLZ.Value.Trim();
}
sql.ParamByName("pJGBID").Value = txtJGBID.Value.Trim();
sql.ParamByName("pXLBZID").Value = cbxXLBZID.SelectedValue.Trim();
sql.ParamByName("pBJSLS").Value = txtBJSLS.Value;
sql.ParamByName("pBJSLZ").Value = txtBJSLZ.Value;
DataSet ds = dberp.OpenDataSet(sql);
return ds.Tables[0].Rows.Count > 0;
}
private void SetTJYZLable()
{
string[] sTJYZList = PageParam.GetRTrimString("TJYZList").Split(',');
for (int i = 0; i < sTJYZList.Length; i++)
{
for (int j = 1; j <= 20; j++)
{
string sTZYZID = "BJ" + j.ToString().PadLeft(2, '0') + "|";
gtNumTextBox txtTJYZ = (gtNumTextBox)Master.ContentFormControl.FindControl("txt" + "TJYZ" + j.ToString().Trim());
gtLabel lblTJYZ = (gtLabel)Master.ContentFormControl.FindControl("lbl" + "TJYZ" + j.ToString().Trim());
if (sTJYZList[i].StartsWith(sTZYZID))
{
string s = sTJYZList[i].Replace(sTZYZID, "").Replace("(X)", "") + ":";
lblTJYZ.Text = s;
if (sTJYZList[i].EndsWith("(%)") || sTJYZList[i].EndsWith("(元)"))
{
txtTJYZ.DecimalPlaces = 2;
}
else if (sTJYZList[i].EndsWith("(X)"))
{
txtTJYZ.DecimalPlaces = 4;
}
}
}
}
}
#endregion
}
}