437 lines
19 KiB
C#
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
|
|
}
|
|
}
|