This commit is contained in:
2026-08-21 17:03:02 +08:00
commit f065129b20
2292 changed files with 666241 additions and 0 deletions
+481
View File
@@ -0,0 +1,481 @@
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.Utility;
using GThinking.N_MISPRO;
using GThinking.N_CONTROL;
using GThinking.N_MISPRO.Data;
using GThinking.N_WORKFLOW;
using System.Text;
using System.Collections.Generic;
namespace GThinking.N_XLXSBJ
{
public partial class CLQDInfo : BDOBillBase
{
CLQD_BDOBill entity = new CLQD_BDOBill();
Dictionary<string, string> aryTag = new Dictionary<string, string>();
#region 模板page类事件
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860002;
this.UMName = "线缆销售报价材料清单";
this.CurMaster = Master;
this.CurEntity = entity;
this.PageWidth = 750;
this.PageHeight = 600;
Master.BtnNewVisible = false;
Master.BtnCopyVisible = false;
Master.BtnEditVisible = false;
Master.BtnSaveVisible = false;
Master.BtnCancelVisible = false;
AddListSetMap(new ListSet("", null, grdCLQDMX, entity.CLQDMX, null));
grdCLQDMX.FindColumnByFieldName("CLSL").HeaderText = "材料用量(Kg/" + GetOption("BJU003") + ")";
lblCLZL.Text = "材料重量(Kg/" + GetOption("BJU003") + "):";
//if (GetOption("BJU003").Equals("M"))
// txtCLCB.DecimalPlaces = 5;
if (!IsPostBack)
{
InitControls();
}
base.InitPage();
grdCLQDMX.EnabledToolBar = false;
if (!IsPostBack)
{
if (ControlState == TControlState.ctsInsert)
{
entity.CLQDMX.NewRecord = "Y";
}
else
{
entity.CLQDMX.NewRecord = "N";
}
InitGrid();
TComboBox.SetComboBox("DBERP", cbxST, "select XLBZ_XLBZID,XLBZ_XLBZLXMC from XLBZ order by XLBZ_PX,XLBZ_XLBZID", false);
}
}
#endregion
#region 模板继承事件
protected override void SetControlState()
{
base.SetControlState();
if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsCopy)
{
cbxXLXHID.Enabled = true;
txtXLGGID.Enabled = true;
}
else
{
cbxXLXHID.Enabled = false;
txtXLGGID.Enabled = false;
}
//this.txtCLCB.Enabled = false;
this.txtCLZL.Enabled = false;
this.txtWHR.Enabled = false;
this.datWHSJ.Enabled = false;
}
protected override void LoadRecord()
{
entity.CLQDMX.NewRecord = "N";
if (!IsPostBack)
{
entity.XLXHID = PageParam.GetRTrimString("XLXSCLQD_XLXHID");
entity.XLGGID = PageParam.GetRTrimString("XLXSCLQD_XLGGID");
entity.ST = PageParam.GetRTrimString("XLXSCLQD_XLBZID");
entity.DYDJ = PageParam.GetRTrimString("XLXSCLQD_DYDJID");
txtOLD_XLXHID.Value = entity.XLXHID;
txtOLD_XLGGID.Value = entity.XLGGID;
txtOLD_ST.Value = entity.ST;
txtOLD_DYDJ.Value = entity.DYDJ;
entity.OLD_XLXHID = txtOLD_XLXHID.Value;
entity.OLD_XLGGID = txtOLD_XLGGID.Value;
entity.OLD_ST = txtOLD_ST.Value;
entity.OLD_DYDJ = txtOLD_DYDJ.Value;
entity.CLQDMX.XLXHID = PageParam.GetRTrimString("XLXSCLQD_XLXHID");
entity.CLQDMX.XLGGID = PageParam.GetRTrimString("XLXSCLQD_XLGGID");
entity.CLQDMX.ST = PageParam.GetRTrimString("XLXSCLQD_XLBZID");
entity.CLQDMX.DYDJ = PageParam.GetRTrimString("XLXSCLQD_DYDJID");
}
else
{
entity.XLXHID = txtOLD_XLXHID.Value;
entity.XLGGID = txtOLD_XLGGID.Value;
entity.ST = txtOLD_ST.Value;
entity.DYDJ = txtOLD_DYDJ.Value;
entity.CLQDMX.XLXHID = txtOLD_XLXHID.Value;
entity.CLQDMX.XLGGID = txtOLD_XLGGID.Value;
entity.CLQDMX.ST = txtOLD_ST.Value;
entity.CLQDMX.DYDJ = txtOLD_DYDJ.Value;
}
base.LoadRecord();
txtOLD_XLXHID.Value = this.cbxXLXHID.SelectedValue.Trim();
txtOLD_XLGGID.Value = this.txtXLGGID.Text.Trim();
txtOLD_ST.Value = this.cbxST.SelectedValue.Trim();
txtOLD_DYDJ.Value = this.cbxDYDJID.SelectedValue.Trim();
entity.OLD_XLXHID = txtOLD_XLXHID.Value;
entity.OLD_XLGGID = txtOLD_XLGGID.Value;
entity.OLD_ST = txtOLD_ST.Value;
entity.OLD_DYDJ = txtOLD_DYDJ.Value;
cbxJGCZB.SelectedValue = txtJGCZBID.Value.Trim() + "|" + txtJGCZBBBID.Value.Trim();
}
protected override void OnNewRecorder()
{
base.OnNewRecorder();
this.txtWHR.Text = CurSession.UserName.Trim();
this.txtWHRID.Value = CurSession.UserId.Trim();
this.datWHSJ.Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString());
entity.CLQDMX.NewRecord = "Y";
if (IsPostBack)
{
InitGrid();
}
}
protected override void OnCopyRecorder()
{
base.OnCopyRecorder();
if (!IsPostBack)
{
cbxXLXHID.SelectedValue = PageParam.GetRTrimString("XLXSCLQD_XLXHID");
txtXLGGID.Text = PageParam.GetRTrimString("XLXSCLQD_XLGGID");
cbxST.SelectedValue = PageParam.GetRTrimString("XLXSCLQD_XLBZID");
cbxDYDJID.SelectedValue = PageParam.GetRTrimString("XLXSCLQD_DYDJID");
}
else
{
cbxXLXHID.SelectedValue = txtOLD_XLXHID.Value;
txtXLGGID.Text = txtOLD_XLGGID.Value;
cbxST.SelectedValue = txtOLD_ST.Value;
cbxDYDJID.SelectedValue = txtOLD_DYDJ.Value;
}
this.txtWHR.Text = CurSession.UserName.Trim();
this.txtWHRID.Value = CurSession.UserId.Trim();
datWHSJ.Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString());
}
protected override void InitQueryString()
{
entity.CLQDMX.NewRecord = "N";
if (!IsPostBack)
{
string pXLXHID = PageParam.GetRTrimString("XLXSCLQD_XLXHID");
string pXLGGID = PageParam.GetRTrimString("XLXSCLQD_XLGGID");
string pST = PageParam.GetRTrimString("XLXSCLQD_XLBZID");
string pDYDJ = PageParam.GetRTrimString("XLXSCLQD_DYDJID");
entity.XLXHID = pXLXHID;
entity.XLGGID = pXLGGID;
entity.ST = pST;
entity.DYDJ = pDYDJ;
entity.CLQDMX.XLXHID = pXLXHID;
entity.CLQDMX.XLGGID = pXLGGID;
entity.CLQDMX.ST = pST;
entity.CLQDMX.DYDJ = pDYDJ;
}
else
{
entity.XLXHID = this.cbxXLXHID.SelectedValue.Trim();
entity.XLGGID = this.txtXLGGID.Text.Trim();
entity.ST = this.txtOLD_ST.Value;
entity.DYDJ = this.txtOLD_DYDJ.Value;
entity.CLQDMX.XLXHID = this.cbxXLXHID.SelectedValue.Trim();
entity.CLQDMX.XLGGID = this.txtXLGGID.Text.Trim();
entity.CLQDMX.ST = this.txtOLD_ST.Value;
entity.CLQDMX.DYDJ = this.txtOLD_DYDJ.Value;
}
base.InitQueryString();
}
protected override bool Master_BeforeSaveAction(object sender, EventArgs e)
{
if (cbxJGCZB.SelectedValue.Trim().Equals(""))
{
ShowMessage("结构尺重表--不允许为空!");
return false;
}
else
{
txtJGCZBID.Value = cbxJGCZB.SelectedValue.Trim().Split('|')[0].Trim();
txtJGCZBBBID.Value = cbxJGCZB.SelectedValue.Trim().Split('|')[1].Trim();
}
this.txtWHR.Text = CurSession.UserName.Trim();
this.txtWHRID.Value = CurSession.UserId.Trim();
datWHSJ.Value = CMISproConvert.ConvertTime(System.DateTime.Now.ToString());
entity.XLXHID = this.cbxXLXHID.SelectedValue.Trim();
entity.XLGGID = this.txtXLGGID.Text.Trim();
entity.ST = this.cbxST.SelectedValue.Trim();
entity.DYDJ = this.cbxDYDJID.SelectedValue.Trim();
entity.OLD_XLXHID = txtOLD_XLXHID.Value;
entity.OLD_XLGGID = txtOLD_XLGGID.Value;
entity.OLD_ST = txtOLD_ST.Value;
entity.OLD_DYDJ = txtOLD_DYDJ.Value;
return base.Master_BeforeSaveAction(sender, e);
}
protected override bool Master_BeforeDeleteAction(object sender, EventArgs e)
{
string sSQL = "";
sSQL = string.Format("select top 1 XLXSJGBMX_JGBID from XLXSJGBMX where XLXSJGBMX_XLXHID='{0}' and XLXSJGBMX_XLGGID='{1}' and XLXSJGBMX_XLBZID='{2}' and XLXSJGBMX_DYDJID='{3}'", cbxXLXHID.SelectedValue.Trim(), txtXLGGID.Text.Trim(), cbxST.SelectedValue.Trim(), cbxDYDJID.SelectedValue.Trim());
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Add(sSQL);
DataSet ds = dberp.OpenDataSet(SQL);
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
ShowMessage("当前记录已被销售价格表【"+ds.Tables[0].Rows[0][0].ToString().Trim()+ "】使用,不允许删除!");
return false;
}
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSCLQD where XLXSCLQD_XLXHID='{0}' and XLXSCLQD_XLGGID='{1}' and XLXSCLQD_XLBZID='{2}' and XLXSCLQD_DYDJID='{3}' and isnull(XLXSCLQD_WFHANDLER,' ')<>' '",
cbxXLXHID.SelectedValue.Trim(), txtXLGGID.Text.Trim(), cbxST.SelectedValue.Trim(), cbxDYDJID.SelectedValue.Trim())))
{
ShowMessage("已经过工作流转,不允许直接删除!");
return false;
}
entity.CLQDMX.NewRecord = "N";
entity.CLQDMX.XLXHID = this.cbxXLXHID.SelectedValue.Trim();
entity.CLQDMX.XLGGID = this.txtXLGGID.Text.Trim();
entity.CLQDMX.ST = this.cbxST.SelectedValue.Trim();
entity.CLQDMX.DYDJ = this.cbxDYDJID.SelectedValue.Trim();
return base.Master_BeforeDeleteAction(sender, e);
}
protected override bool Master_AfterSaveAction(object sender, EventArgs e)
{
txtOLD_XLXHID.Value = this.cbxXLXHID.SelectedValue.Trim();
txtOLD_XLGGID.Value = this.txtXLGGID.Text.Trim();
txtOLD_ST.Value = this.cbxST.SelectedValue.Trim();
txtOLD_DYDJ.Value = this.cbxDYDJID.SelectedValue.Trim();
//计算材料成本
//double fCLCB = 0.0;
//更新各材料清单列数量
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
dberp.BeginTrans();
try
{
if (grdCLQDMX.NewRows.Count > 0)
{
TSQL tmpSQL = new TSQL(dberp);
tmpSQL.Clear();
tmpSQL.Add(" update XLXSCLQD set ");
for (int i = 0; i < grdCLQDMX.NewRows.Count; i++)
{
int XH = CMISproConvert.StrToInt(grdCLQDMX.GetValueByFieldName("CLQDL", grdCLQDMX.NewRows[i]).ToString().Trim());
if (i != 0)
{
tmpSQL.Add(string.Format(" ,XLXSCLQD_SL" + XH.ToString().PadLeft(2, '0') + "={0},XLXSCLQD_SHL" + XH.ToString().PadLeft(2, '0') + "={1},XLXSCLQD_CLJGBL" + XH.ToString().PadLeft(2, '0') + "={2}"
, CMISproConvert.StrToFloat(grdCLQDMX.GetValueByFieldName("CLSL", grdCLQDMX.NewRows[i]).ToString().Trim())
, CMISproConvert.StrToFloat(grdCLQDMX.GetValueByFieldName("SHL", grdCLQDMX.NewRows[i]).ToString().Trim())
, CMISproConvert.StrToFloat(grdCLQDMX.GetValueByFieldName("CLJGBL", grdCLQDMX.NewRows[i]).ToString().Trim())));
}
else
{
tmpSQL.Add(string.Format(" XLXSCLQD_SL" + XH.ToString().PadLeft(2, '0') + "={0},XLXSCLQD_SHL" + XH.ToString().PadLeft(2, '0') + "={1},XLXSCLQD_CLJGBL" + XH.ToString().PadLeft(2, '0') + "={2}"
, CMISproConvert.StrToFloat(grdCLQDMX.GetValueByFieldName("CLSL", grdCLQDMX.NewRows[i]).ToString().Trim())
, CMISproConvert.StrToFloat(grdCLQDMX.GetValueByFieldName("SHL", grdCLQDMX.NewRows[i]).ToString().Trim())
, CMISproConvert.StrToFloat(grdCLQDMX.GetValueByFieldName("CLJGBL", grdCLQDMX.NewRows[i]).ToString().Trim())));
}
}
tmpSQL.Add(string.Format("where XLXSCLQD_XLXHID='{0}' and XLXSCLQD_XLGGID='{1}' and XLXSCLQD_XLBZID='{2}' and XLXSCLQD_DYDJID='{3}'"
, cbxXLXHID.SelectedValue.Trim()
, txtXLGGID.Text.Trim(), cbxST.SelectedValue.Trim(), cbxDYDJID.SelectedValue.Trim()));
dberp.ExecSQL(tmpSQL);
}
dberp.CommitTrans();
}
catch
{
dberp.RollbackTrans();
ShowMessage("操作数据集出错,请和系统管理员联系!");
return false;
}
//txtCLCB.Value = fCLCB;
entity.CLQDMX.NewRecord = "N";
entity.CLQDMX.XLXHID = this.cbxXLXHID.SelectedValue.Trim();
entity.CLQDMX.XLGGID = this.txtXLGGID.Text.Trim();
entity.CLQDMX.ST = this.cbxST.SelectedValue.Trim();
entity.CLQDMX.DYDJ = this.cbxDYDJID.SelectedValue.Trim();
entity.CLQDMX.Query();
grdCLQDMX.DataSource = entity.CLQDMX.Entites;
grdCLQDMX.DataBind();
grdCLQDMX.SaveDataInfo.SaveDataFlag = DSaveDataFlag.sdNormal;
FormAreaUpdate();
return base.Master_AfterSaveAction(sender, e);
}
protected override bool DataLogicValid()
{
if (ControlState == TControlState.ctsCopy || ControlState == TControlState.ctsInsert)
{
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSCLQD where XLXSCLQD_XLXHID='{0}' and XLXSCLQD_XLGGID='{1}' and XLXSCLQD_XLBZID='{2}' and XLXSCLQD_DYDJID='{3}'", cbxXLXHID.SelectedValue.Trim(), txtXLGGID.Text.Trim(), cbxST.SelectedValue, cbxDYDJID.SelectedValue.Trim())))
{
ShowMessage("已存在相同型号、规格、标准、电压等级的记录,不允许保存!");
return false;
}
}
for (int i = 0; i < this.entity.CLQDMX.Entites.Rows.Count; i++)
{
if (grdCLQDMX.NewRows[i].Attributes["EditAction"].Equals("D"))
{
continue;
}
entity.CLQDMX.ActIndex = i;
if (CMISproConvert.StrToFloat(this.entity.CLQDMX.CLSL, 0) < 0)
{
ShowMessage("材料用量不允许小于0!");
return false;
}
else if (CMISproConvert.StrToFloat(this.entity.CLQDMX.CLSL, 0) > 0)
{
if (CMISproConvert.StrToFloat(this.entity.CLQDMX.CLJGBL, 0) <= 0)
{
ShowMessage("材料用量比例不允许小于等于0!");
return false;
}
else if (CMISproConvert.StrToFloat(this.entity.CLQDMX.CLJGBL, 0) > 1)
{
ShowMessage("材料用量比例不允许大于1!");
return false;
}
}
else
{
if (CMISproConvert.StrToFloat(this.entity.CLQDMX.CLJGBL, 0) < 0)
{
ShowMessage("材料用量比例不允许小于0!");
return false;
}
else if (CMISproConvert.StrToFloat(this.entity.CLQDMX.CLJGBL, 0) > 1)
{
ShowMessage("材料用量比例不允许大于1!");
return false;
}
}
if (CMISproConvert.StrToFloat(this.entity.CLQDMX.SHL, 0) < 0)
{
ShowMessage("材料损耗率不允许小于0!");
return false;
}
else if (CMISproConvert.StrToFloat(this.entity.CLQDMX.SHL, 0) >= 100)
{
ShowMessage("材料损耗率不允许大于等于100%!");
return false;
}
}
if (ControlState == TControlState.ctsEdit)
{
foreach (GridViewRow row in grdCLQDMX.NewRows)
{
row.Attributes["EditAction"] = "N";
}
}
else
{
foreach (GridViewRow row in grdCLQDMX.NewRows)
{
row.Attributes["EditAction"] = "D";
}
}
return base.DataLogicValid();
}
protected override void SetComboxItems()
{
if (ControlState == TControlState.ctsBrowse)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Add("select XLJGCZBML_JGCZBID,XLJGCZBML_JGCZBMC,XLJGCZBML_JGCZBBBID ");
sql.Add(" from XLJGCZBML ");
sql.Add(" where XLJGCZBML_JGCZBID=:pJGCZBID and XLJGCZBML_JGCZBBBID=:pJGCZBBBID ");
sql.Add(" order by XLJGCZBML_JGCZBID");
sql.ParamByName("pJGCZBID").Value = txtJGCZBID.Value;
sql.ParamByName("pJGCZBBBID").Value = txtJGCZBBBID.Value;
DataSet ds = dberp.OpenDataSet(sql);
cbxJGCZB.ClearItems();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sJGCZBBBID = ds.Tables[0].Rows[i]["XLJGCZBML_JGCZBBBID"].ToString().Trim();
cbxJGCZB.Items.Add(new ListItem(ds.Tables[0].Rows[i]["XLJGCZBML_JGCZBID"].ToString().Trim() + "|" + ds.Tables[0].Rows[i]["XLJGCZBML_JGCZBMC"].ToString().Trim() + "|" + sJGCZBBBID
, ds.Tables[0].Rows[i]["XLJGCZBML_JGCZBID"].ToString().Trim() + "|" + sJGCZBBBID));
}
cbxXLXHID.ClearItems();
cbxXLXHID.Items.Add(new ListItem(cbxXLXHID.SelectedValue.Trim(), cbxXLXHID.SelectedValue.Trim()));
cbxDYDJID.ClearItems();
cbxDYDJID.Items.Add(new ListItem(cbxDYDJID.SelectedValue.Trim(), cbxDYDJID.SelectedValue.Trim()));
string sSQL = string.Format("SELECT XLXSCPML_CPMLID,XLXSCPML_CPMLMC FROM XLXSCPML where 1 = 1 and XLXSCPML_CPMLID = '{0}' ",cbxCPMLID.SelectedValue.Trim());
TComboBox.SetComboBox("DBERP", cbxCPMLID, sSQL, false);
}
base.SetComboxItems();
}
#endregion
#region 自定义函数
private void InitControls()
{
}
#endregion
#region 控件事件
private void InitGrid()
{
grdCLQDMX.DataSource = entity.CLQDMX.Entites;
grdCLQDMX.DataBind();
grdCLQDMX.SaveDataInfo.SaveDataFlag = DSaveDataFlag.sdNormal;
}
#endregion
}
}