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

437 lines
19 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.Utility;
using GThinking.N_MISPRO.Data;
namespace GThinking.N_XLXSBJ
{
public partial class TZYZJJ6Info :OperationBase
{
TZYZJJ6 entity = new TZYZJJ6();
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860059;
this.UMName = "按型号电压等级调材料损耗";
this.CurMaster = Master;
this.Tabs = Tab;
this.PageHeight = 600;
this.PageWidth = 750;
AddListSetMap(new ListSet(pagSHD.ID, null, grdSHD, entity, UPSHD));
if (!IsPostBack)
{
this.Master.PnlQuery.GroupingText = "查询条件";
this.Master.PnlBill.GroupingText = "单据信息";
InitControls();
if (PageParam.ContainsKey("XLXSJGBYZZ6_XLXHID"))
{
cbxXLXHID.SelectedValue = PageParam.GetRTrimString("XLXSJGBYZZ6_XLXHID");
txtOLD_XLXHID.Value = PageParam.GetRTrimString("XLXSJGBYZZ6_XLXHID");
cbxXLXHID.Enabled = false;
btnDel.Visible = true;
}
else
btnDel.Visible = false;
if (PageParam.ContainsKey("XLXSJGBYZZ6_DYDJIDS"))
{
drpDYDJ.SelectedValue = PageParam.GetRTrimString("XLXSJGBYZZ6_DYDJIDS");
txtOLD_DYDJIDS.Value = PageParam.GetRTrimString("XLXSJGBYZZ6_DYDJIDS");
drpDYDJ.Enabled = false;
}
if (!string.IsNullOrEmpty(PageParam.GetRTrimString("XLXHID")))
{
cbxXLXHID.SelectedValue = PageParam.GetRTrimString("XLXHID");
txtOLD_XLXHID.Value = PageParam.GetRTrimString("XLXHID");
cbxXLXHID.Enabled = false;
btnDel.Visible = true;
}
else
btnDel.Visible = false;
}
InitGrdColumn();
CustomPageSize = 1000;
base.InitPage();
if (!IsPostBack)
{
Master_OnQuery();
GridDataBind();
}
}
#region 模板继承事件
protected override void Master_OnQuery()
{
entity.sJGBID = PageParam.GetRTrimString("XLXSJGBYZZ6_JGBID");
entity.sXLXHID = cbxXLXHID.SelectedValue.Trim();
entity.sDYDJID = drpDYDJ.SelectedValue.Trim();
entity.FromJGCZB = chkFromJGCZB.Checked;
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()
{
if (cbxXLXHID.SelectedValue.Trim().Equals(""))
{
ShowMessage("线缆型号--不允许为空!");
return false;
}
if (grdSHD.NewRows.Count == 0)
{
ShowMessage("没有可设置的报价材料!");
return false;
}
string sJGBID = PageParam.GetRTrimString("XLXSJGBYZZ6_JGBID");
string sXLXHID = cbxXLXHID.SelectedValue.Trim();
string sDYDJID = drpDYDJ.SelectedValue.Trim();
string sSQL1 = "";
string sSQL2 = "";
if (sDYDJID.Equals(""))
{
sSQL2 = "select top 1 XLXSJGBYZZ6_JGBID from XLXSJGBYZZ6 where XLXSJGBYZZ6_JGBID ='" + sJGBID + "' and XLXSJGBYZZ6_XLXHID = '" + sXLXHID + "' and XLXSJGBYZZ6_DYDJIDS <> ' '";
if (CMISproDataBase.ExistsRecord("DBERP", sSQL2))
{
ShowMessage("型号【" + sXLXHID + "】下已存在电压等级不为空的记录,电压等级不允许为空!");
return false;
}
}
else
{
sSQL2 = "select top 1 XLXSJGBYZZ6_JGBID from XLXSJGBYZZ6 where XLXSJGBYZZ6_JGBID ='" + sJGBID + "' and XLXSJGBYZZ6_XLXHID = '" + sXLXHID + "' and XLXSJGBYZZ6_DYDJIDS = ' '";
if (CMISproDataBase.ExistsRecord("DBERP", sSQL2))
{
ShowMessage("型号【" + sXLXHID + "】下已存在电压等级为空的记录,电压等级只允许为空!");
return false;
}
}
string[] DYDJList = sDYDJID.Split(',');
for (int i = 0; i < DYDJList.Length; i++)
{
sSQL1="";
sSQL1 = "select top 1 XLXSJGBYZZ6_JGBID from XLXSJGBYZZ6 where XLXSJGBYZZ6_JGBID ='" + sJGBID + "' and XLXSJGBYZZ6_XLXHID = '" + sXLXHID + "' and XLXSJGBYZZ6_DYDJIDS <> '" + sDYDJID;
sSQL1 += "' and ',' || XLXSJGBYZZ6_DYDJIDS || ',' like '%," + DYDJList[i] + ",%' ";
if (CMISproDataBase.ExistsRecord("DBERP", sSQL1))
{
ShowMessage("型号【" + sXLXHID + "】、电压【" + DYDJList[i] + "】已被设置过,不允许重复设置!");
return false;
}
}
return base.DataLogicValid();
}
protected override bool Master_OnOK()
{
TDatabase DBERP = null;
try
{
DBERP = TContextDatabases.GetDatabase("DBERP");
DBERP.BeginTrans();
InsertXLXSJGBYZZ6(DBERP);
DBERP.CommitTrans();
ShowMessage("设置成功!");
CloseWindow();
}
catch (Exception ex)
{
ShowMessage(ex.Message);
DBERP.RollbackTrans();
return false;
}
return true;
}
protected override void Grid_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
}
base.Grid_RowDataBound(sender, e);
}
#endregion
#region 控件事件
protected void chkFromJGCZB_CheckedChanged(object sender, EventArgs e)
{
Master_OnQuery();
GridDataBind();
FormAreaUpdate();
}
protected void cbxXLXHID_SelectedIndexChanged(object sender, EventArgs e)
{
drpDYDJ.SelectedValue = "";
drpDYDJ.ClearItems();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
sql.Clear();
sql.Add("select distinct XLXHDYDJ_DYDJID as ID,XLXHDYDJ_DYDJID as Name,XLDYDJB_XH from XLXHDYDJ left join XLDYDJB on XLDYDJB_DYDJID = XLXHDYDJ_DYDJID ");
sql.Add(" where 1=1 ");
if (!cbxXLXHID.SelectedValue.Trim().Equals(""))
{
sql.Add(" and XLXHDYDJ_XLXHID = :pXLXHID ");
sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim();
}
sql.Add(" order by XLDYDJB_XH");
DataSet ds = dberp.OpenDataSet(sql);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
drpDYDJ.Items.Add(new ListItem(ds.Tables[0].Rows[i][1].ToString().Trim(), ds.Tables[0].Rows[i][0].ToString().Trim()));
}
Master_OnQuery();
GridDataBind();
FormAreaUpdate();
}
protected void drpDYDJ_SelectedIndexChanged(object sender, EventArgs e)
{
Master_OnQuery();
GridDataBind();
FormAreaUpdate();
}
#endregion
#region 自定义函数
private void InitControls()
{
TComboBox.SetComboBox("DBERP", cbxXLXHID, "select XLXHB_XLXHID as ID,XLXHB_XLXHID as Name from XLXHB where isnull(XLXHB_TYBZ,'N')<>'Y' order by ID ", false);
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
drpDYDJ.ClearItems();
sql.Clear();
sql.Add("select distinct XLXHDYDJ_DYDJID as ID,XLXHDYDJ_DYDJID as Name,XLDYDJB_XH from XLXHDYDJ left join XLDYDJB on XLDYDJB_DYDJID = XLXHDYDJ_DYDJID ");
sql.Add(" where 1=1 ");
if (!cbxXLXHID.SelectedValue.Trim().Equals(""))
{
sql.Add(" and XLXHDYDJ_XLXHID = :pXLXHID ");
sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim();
}
sql.Add(" order by XLDYDJB_XH");
sql.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim();
DataSet ds = dberp.OpenDataSet(sql);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
drpDYDJ.Items.Add(new ListItem(ds.Tables[0].Rows[i][1].ToString().Trim(), ds.Tables[0].Rows[i][0].ToString().Trim()));
}
}
private void InitGrdColumn()
{
grdSHD.FindColumnByFieldName("TZYZ_JZ01").Visible = false;
grdSHD.FindColumnByFieldName("TZYZ_JZ02").Visible = false;
grdSHD.FindColumnByFieldName("TZYZ_JZ03").Visible = false;
grdSHD.FindColumnByFieldName("TZYZ_JZ04").Visible = false;
grdSHD.FindColumnByFieldName("TZYZ_JZ05").Visible = false;
grdSHD.FindColumnByFieldName("TZYZ_JZ06").Visible = false;
grdSHD.FindColumnByFieldName("TZYZ_JZ07").Visible = false;
grdSHD.FindColumnByFieldName("TZYZ_JZ08").Visible = false;
grdSHD.FindColumnByFieldName("TZYZ_JZ09").Visible = false;
grdSHD.FindColumnByFieldName("TZYZ_JZ10").Visible = false;
string[] sTJYZList = PageParam.GetRTrimString("TJYZList").Split(',');
for (int i = 0; i < sTJYZList.Length; i++)
{
if (sTJYZList[i].StartsWith("JZ01|"))
{
grdSHD.FindColumnByFieldName("TZYZ_JZ01").Visible = true;
grdSHD.FindColumnByFieldName("TZYZ_JZ01").HeaderText = sTJYZList[i].Replace("JZ01|", "");
if (sTJYZList[i].EndsWith("(元)"))
grdSHD.FindColumnByFieldName("TZYZ_JZ01").NumberDecimalPlace = 5;
}
else if (sTJYZList[i].StartsWith("JZ02|"))
{
grdSHD.FindColumnByFieldName("TZYZ_JZ02").Visible = true;
grdSHD.FindColumnByFieldName("TZYZ_JZ02").HeaderText = sTJYZList[i].Replace("JZ02|", "");
if (sTJYZList[i].EndsWith("(元)"))
grdSHD.FindColumnByFieldName("TZYZ_JZ02").NumberDecimalPlace = 5;
}
else if (sTJYZList[i].StartsWith("JZ03|"))
{
grdSHD.FindColumnByFieldName("TZYZ_JZ03").Visible = true;
grdSHD.FindColumnByFieldName("TZYZ_JZ03").HeaderText = sTJYZList[i].Replace("JZ03|", "");
if (sTJYZList[i].EndsWith("(元)"))
grdSHD.FindColumnByFieldName("TZYZ_JZ03").NumberDecimalPlace = 5;
}
else if (sTJYZList[i].StartsWith("JZ04|"))
{
grdSHD.FindColumnByFieldName("TZYZ_JZ04").Visible = true;
grdSHD.FindColumnByFieldName("TZYZ_JZ04").HeaderText = sTJYZList[i].Replace("JZ04|", "");
if (sTJYZList[i].EndsWith("(元)"))
grdSHD.FindColumnByFieldName("TZYZ_JZ04").NumberDecimalPlace = 5;
}
else if (sTJYZList[i].StartsWith("JZ05|"))
{
grdSHD.FindColumnByFieldName("TZYZ_JZ05").Visible = true;
grdSHD.FindColumnByFieldName("TZYZ_JZ05").HeaderText = sTJYZList[i].Replace("JZ05|", "");
if (sTJYZList[i].EndsWith("(元)"))
grdSHD.FindColumnByFieldName("TZYZ_JZ05").NumberDecimalPlace = 5;
}
else if (sTJYZList[i].StartsWith("JZ06|"))
{
grdSHD.FindColumnByFieldName("TZYZ_JZ06").Visible = true;
grdSHD.FindColumnByFieldName("TZYZ_JZ06").HeaderText = sTJYZList[i].Replace("JZ06|", "");
if (sTJYZList[i].EndsWith("(元)"))
grdSHD.FindColumnByFieldName("TZYZ_JZ06").NumberDecimalPlace = 5;
}
else if (sTJYZList[i].StartsWith("JZ07|"))
{
grdSHD.FindColumnByFieldName("TZYZ_JZ07").Visible = true;
grdSHD.FindColumnByFieldName("TZYZ_JZ07").HeaderText = sTJYZList[i].Replace("JZ07|", "");
if (sTJYZList[i].EndsWith("(元)"))
grdSHD.FindColumnByFieldName("TZYZ_JZ07").NumberDecimalPlace = 5;
}
else if (sTJYZList[i].StartsWith("JZ08|"))
{
grdSHD.FindColumnByFieldName("TZYZ_JZ08").Visible = true;
grdSHD.FindColumnByFieldName("TZYZ_JZ08").HeaderText = sTJYZList[i].Replace("JZ08|", "");
if (sTJYZList[i].EndsWith("(元)"))
grdSHD.FindColumnByFieldName("TZYZ_JZ08").NumberDecimalPlace = 5;
}
else if (sTJYZList[i].StartsWith("JZ09|"))
{
grdSHD.FindColumnByFieldName("TZYZ_JZ09").Visible = true;
grdSHD.FindColumnByFieldName("TZYZ_JZ09").HeaderText = sTJYZList[i].Replace("JZ09|", "");
if (sTJYZList[i].EndsWith("(元)"))
grdSHD.FindColumnByFieldName("TZYZ_JZ09").NumberDecimalPlace = 5;
}
else if (sTJYZList[i].StartsWith("JZ10|"))
{
grdSHD.FindColumnByFieldName("TZYZ_JZ10").Visible = true;
grdSHD.FindColumnByFieldName("TZYZ_JZ10").HeaderText = sTJYZList[i].Replace("JZ10|", "");
if (sTJYZList[i].EndsWith("(元)"))
grdSHD.FindColumnByFieldName("TZYZ_JZ10").NumberDecimalPlace = 5;
}
}
}
private void InsertXLXSJGBYZZ6(TDatabase dberp)
{
string sJGBID = PageParam.GetRTrimString("XLXSJGBYZZ6_JGBID");
string sXLXHID = cbxXLXHID.SelectedValue.Trim();
string sDYDJ = drpDYDJ.SelectedValue.Trim().Equals("") ? " " : drpDYDJ.SelectedValue.Trim();
TSQL SQL = new TSQL(dberp);
if (sDYDJ.Trim().Equals(""))
{
SQL.Add("delete from XLXSJGBYZZ6 where XLXSJGBYZZ6_JGBID=:pJGBID and XLXSJGBYZZ6_XLXHID=:pXLXHID ");
SQL.ParamByName("pJGBID").Value = sJGBID;
SQL.ParamByName("pXLXHID").Value = sXLXHID;
dberp.ExecSQL(SQL);
}
else
{
SQL.Add("delete from XLXSJGBYZZ6 where XLXSJGBYZZ6_JGBID=:pJGBID and XLXSJGBYZZ6_XLXHID=:pXLXHID and XLXSJGBYZZ6_DYDJIDS=:pDYDJ");
SQL.ParamByName("pJGBID").Value = sJGBID;
SQL.ParamByName("pXLXHID").Value = sXLXHID;
SQL.ParamByName("pDYDJ").Value = sDYDJ;
dberp.ExecSQL(SQL);
}
foreach (GridViewRow row in grdSHD.NewRows)
{
//一行执行一次
SQL.Clear();
SQL.Add("insert into XLXSJGBYZZ6(XLXSJGBYZZ6_JGBID,XLXSJGBYZZ6_XLXHID,XLXSJGBYZZ6_DYDJIDS,XLXSJGBYZZ6_BJCLID,XLXSJGBYZZ6_YZID,XLXSJGBYZZ6_YZZ,XLXSJGBYZZ6_WHR,XLXSJGBYZZ6_WHRID,XLXSJGBYZZ6_WHSJ)");
bool bNeedInsert = false;
for (int i = 0; i < grdSHD.Columns.Count; i++)
{
if (grdSHD.Columns[i].DataField.Contains("TZYZ_"))
{
string sYZID = grdSHD.Columns[i].DataField.Substring(5);
double dYZZ = CMISproConvert.StrToFloat(grdSHD.GetValueByFieldName("TZYZ_" + sYZID, row), 0);
if (dYZZ != 0)//因子值不为0才会插入
{
if (bNeedInsert)
{
SQL.Add(" union all ");
}
else
{
bNeedInsert = true;
}
SQL.Add(string.Format("select '{0}' as JGBID,'{1}' as XLXHID,'{2}' as DYDJIDS,'{3}' as BJCLID,'{4}' as YZID,{5} as YZZ,'{6}' as WHR,'{7}' as WHRID,'{8}' as WHSJ ",
sJGBID, cbxXLXHID.SelectedValue.Trim(), drpDYDJ.SelectedValue.Trim().Equals("") ? " " : drpDYDJ.SelectedValue.Trim(),
grdSHD.GetValueByFieldName("XLXSBJCL_BJCLID", row),
sYZID,
CMISproConvert.StrToFloat(grdSHD.GetValueByFieldName("TZYZ_" + sYZID, row), 0),
CurSession.UserName, CurSession.UserId, DateTime.Now));
}
}
}
if (bNeedInsert)
{
dberp.ExecSQL(SQL);
}
}
}
protected void btnDel_Click(object sender, EventArgs e)
{
Confirm.Register("IsQD", "将删除当前记录,是否继续?");
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
if (Confirm.GetValue("IsQD").Trim().Equals(""))
{
Confirm.Ask("IsQD");
return;
}
else if (Confirm.GetValue("IsQD").Trim().Equals("N"))
{
Confirm.Clear();
return;
}
else if (Confirm.GetValue("IsQD").Trim().Equals("Y"))
{
Confirm.Clear();
}
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Add("delete from XLXSJGBYZZ6 where XLXSJGBYZZ6_JGBID=:pJGBID and XLXSJGBYZZ6_XLXHID=:pXLXHID and XLXSJGBYZZ6_DYDJIDS=:pDYDJ ");
SQL.ParamByName("pJGBID").Value = PageParam.GetRTrimString("XLXSJGBYZZ6_JGBID");
SQL.ParamByName("pXLXHID").Value = cbxXLXHID.SelectedValue.Trim();
SQL.ParamByName("pDYDJ").Value = drpDYDJ.SelectedValue.Trim().Equals("") ? " " : drpDYDJ.SelectedValue.Trim();
dberp.ExecSQL(SQL);
ShowMessage("删除成功!");
CloseWindow();
}
#endregion
}
}