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

976 lines
48 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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;
using GThinking.N_MISPRO;
using GThinking.N_WORKFLOW;
using System.Collections.Generic;
using GThinking.N_PUBLIC2;
using GThinking.N_MISPRO.TableCache;
using GThinking.N_CONTROL;
namespace GThinking.N_XLXSBJ
{
public partial class JGCZBNRList : SingleGridBase
{
JGCZBNR entity = new JGCZBNR();
JGCZBNR_M queryentity = new JGCZBNR_M();
Dictionary<string, string> dicHeaderTextCLMC = new Dictionary<string, string>();
public static bool isps = false;
protected void Page_Load(object sender, EventArgs e)
{
this.UMID = 100860020;
this.UMName = "线缆销售报价结构尺重表";
this.CurMaster = Master;
this.ModuleGV = ContentGrid;
this.CurEntity = entity;
this.CurQueryEntity = queryentity;
this.PageHeight = 600;
this.PageWidth = 750;
this.sQueryURLTarget = "JGCZBNRQuery.aspx";
base.DataKeyNames = new string[] { "XLXHID", "XLGGID", "XLBZID", "DYDJID", "XLJGCZBNR_JGCZBID", "XLJGCZBNR_JGCZBBBID", "XLJGCZBNR_DRHH" };
this.Master.EnableNewBtn = false;
this.Master.EnableCopyBtn = false;
this.Master.EnableViewBtn = false;
this.Master.EnableEditBtn = false;
this.Master.EnableDeleteBtn = false;
this.Master.EnableAttachBtn = false;
if (!IsPostBack)
{
}
base.InitPage();
this.ModuleGV.OnClientDblClick = "return false;";
if (!IsPostBack)
{
Master_OnStandardQuery(null, null);
}
}
#region 模板继承事件
protected override void Master_OnStandardQuery(object sender, EventArgs e)
{
entity.EntityTable.QuerySelSql = "select TOP 1 XLJGCZBNR_JGCZBID from XLJGCZBNR where 1<>1";
base.InitEntityByCondition();
base.Master_OnStandardQuery(sender, e);
IfExistMC_Get();
initGrid();
DataSet ds = GetSQLDataSet();
entity.GridDataBind(ContentGrid, tSession);
entity.GridDataBind(ContentGrid, ds.Tables[0], ds.Tables[0].Rows.Count);
ContentGrid.DataSource = ds;
}
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
entity.EntityTable.QuerySelSql = "select TOP 1 XLJGCZBNR_JGCZBID from XLJGCZBNR where 1<>1";
base.moduleGV_PageIndexChanging(sender, e);
ContentGrid.SelectedIndex = -1;
base.InitEntityByCondition();
IfExistMC_Get();
initGrid();
DataSet ds = GetSQLDataSet();
entity.GridDataBind(ContentGrid, tSession);
entity.GridDataBind(ContentGrid, ds.Tables[0], ds.Tables[0].Rows.Count);
ContentGrid.DataSource = ds;
}
#endregion
#region 私有函数
private DataSet GetSQLDataSet()
{
//oracle
//case when REGEXP_LIKE(字段,'(^[ -]?\d{0,}\.?\d{0,}$)') then 'Y' else 'N' end
//case when not REGEXP_LIKE(字段,'(^[ -]?\d{0,}\.?\d{0,}$)') then 'Y' else 'N' end
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
if (dberp.DriverName == "ORACLE")
{
#region oracle语法
SQL.RAW = true;
SQL.Add(" select XLJGCZBNR_JGCZBID, XLJGCZBNR_JGCZBBBID, XLJGCZBNR_DRHH,XLJGCZBNR_LMNR01 as XLXHID, XLJGCZBNR_LMNR02 as XLGGID, XLJGCZBNR_LMNR03 as XLBZID,RTRIM(XLJGCZBNR_LMNR03)||'|'|| XLBZ_XLBZLXMC as XLBZ, XLJGCZBNR_LMNR04 as DYDJID,");
for (int i = 5; i < 84; i++)
{
SQL.Add(" case when REGEXP_LIKE(XLJGCZBNR_LMNR" + i.ToString().PadLeft(2, '0') + ",'(^[ -]?\\d{0,}\\.?\\d{0,}$)') then TO_NUMBER(XLJGCZBNR_LMNR" + i.ToString().PadLeft(2, '0') + ") else 0.0 end as LMNR" + i.ToString().PadLeft(2, '0') + ",");
}
SQL.Add("case when REGEXP_LIKE(XLJGCZBNR_LMNR84,'(^[ -]?\\d{0,}\\.?\\d{0,}$)') then TO_NUMBER(XLJGCZBNR_LMNR84) else 0.0 end as LMNR84 ");
SQL.Add(" from XLJGCZBNR ");
SQL.Add(" left join XLBZ on XLBZ_XLBZID = XLJGCZBNR_LMNR03 ");
SQL.Add(" where 1=1 ");
SQL.Add(" and XLJGCZBNR_JGCZBID = :pJGCZBID ");
SQL.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
SQL.Add(" and XLJGCZBNR_JGCZBBBID = :pJGCZBBBID ");
SQL.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID");
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim()))
{
SQL.Add(" and XLJGCZBNR_LMNR01 like :pXLXHID ");
SQL.ParamByName("pXLXHID").Value ="%" + CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%";
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim()))
{
if (CurQueryEntity.FieldByName("XLGGID").Value.Trim().Contains("*"))
{
SQL.Add(" and (XLJGCZBNR_LMNR02 like :pXLGG or XLJGCZBNR_LMNR02 like :pXLGG2) ");
SQL.ParamByName("pXLGG").Value = CurQueryEntity.FieldByName("XLGGID").Value.Trim() + "%";
SQL.ParamByName("pXLGG2").Value = CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×") + "%";
}
else
{
SQL.Add(" and XLJGCZBNR_LMNR02 like :pXLGGID ");
SQL.ParamByName("pXLGGID").Value = "%" +CurQueryEntity.FieldByName("XLGGID").Value.Trim() + "%";
}
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ST").Value.Trim()))
{
SQL.Add(" and XLJGCZBNR_LMNR03 = :pST ");
SQL.ParamByName("pST").Value = CurQueryEntity.FieldByName("ST").Value.Trim();
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJ").Value.Trim()))
{
SQL.Add(" and XLJGCZBNR_LMNR04 like :pDYDJ");
SQL.ParamByName("pDYDJ").Value = "%" +CurQueryEntity.FieldByName("DYDJ").Value.Trim() + "%";
}
if (string.IsNullOrEmpty(CurQueryEntity.FieldByName("PS").Value.Trim()))
{
SQL.Add(" order by XLJGCZBNR_DRHH ");
}
else//查询条件“派生”选择“重复的线缆物料”
{
SQL.Add(" and exists");
SQL.Add(" (");
SQL.Add(" select 1");
SQL.Add(" from");
SQL.Add(" (");
SQL.Add(" select XLJGCZBNR_LMNR01 as XLXHID,XLJGCZBNR_LMNR02 as XLGGID,XLJGCZBNR_LMNR03 as XLBZID,XLJGCZBNR_LMNR04 as DYDJID");
SQL.Add(" from XLJGCZBNR");
SQL.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID ");
SQL.Add(" group by XLJGCZBNR_LMNR01,XLJGCZBNR_LMNR02,XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04");
SQL.Add(" having count(*)>1 ");
SQL.Add(" ) a");
SQL.Add(" where XLXHID=XLJGCZBNR_LMNR01");
SQL.Add(" and XLGGID=XLJGCZBNR_LMNR02");
SQL.Add(" and XLBZID=XLJGCZBNR_LMNR03");
SQL.Add(" and DYDJID=XLJGCZBNR_LMNR04");
SQL.Add(" )");
SQL.Add(" order by XLXHID,XLGGID,XLBZID,DYDJID,XLJGCZBNR_DRHH");
}
#endregion
}
else
{
#region sqlserver语法
SQL.Add(" select XLJGCZBNR_JGCZBID, XLJGCZBNR_JGCZBBBID, XLJGCZBNR_DRHH,XLJGCZBNR_LMNR01 as XLXHID, XLJGCZBNR_LMNR02 as XLGGID, XLJGCZBNR_LMNR03 as XLBZID,RTRIM(XLJGCZBNR_LMNR03)||'|'|| isnull(XLBZ_XLBZLXMC,' ') as XLBZ, XLJGCZBNR_LMNR04 as DYDJID,");
for (int i = 5; i < 84; i++)
{
SQL.Add(string.Format("case when isnumeric(XLJGCZBNR_LMNR{0})=1 then convert(float,XLJGCZBNR_LMNR{0}) else 0.0 end as LMNR{0},", i.ToString().PadLeft(2, '0')));
}
SQL.Add("case when isnumeric(XLJGCZBNR_LMNR84)=1 then convert(float,XLJGCZBNR_LMNR84) else 0.0 end as LMNR84 ");
SQL.Add(" from XLJGCZBNR ");
SQL.Add(" left join XLBZ on XLBZ_XLBZID = XLJGCZBNR_LMNR03 ");
SQL.Add(" where 1=1 ");
SQL.Add("\r\n and XLJGCZBNR_JGCZBID = :pJGCZBID ");
SQL.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
SQL.Add("\r\n and XLJGCZBNR_JGCZBBBID = :pJGCZBBBID ");
SQL.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID");
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim()))
{
SQL.Add(" \r\n and XLJGCZBNR_LMNR01 like :pXLXHID ");
SQL.ParamByName("pXLXHID").Value = "%" +CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%";
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLGGID").Value.Trim()))
{
if (CurQueryEntity.FieldByName("XLGGID").Value.Trim().Contains("*"))
{
SQL.Add(" and (XLJGCZBNR_LMNR02 like :pXLGG or XLJGCZBNR_LMNR02 like :pXLGG2) ");
SQL.ParamByName("pXLGG").Value = CurQueryEntity.FieldByName("XLGGID").Value.Trim() + "%";
SQL.ParamByName("pXLGG2").Value = CurQueryEntity.FieldByName("XLGGID").Value.Trim().Replace("*", "×") + "%";
}
else
{
SQL.Add(" and XLJGCZBNR_LMNR02 like :pXLGGID ");
SQL.ParamByName("pXLGGID").Value = "%" +CurQueryEntity.FieldByName("XLGGID").Value.Trim() + "%";
}
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ST").Value.Trim()))
{
SQL.Add(" \r\n and XLJGCZBNR_LMNR03 = :pST ");
SQL.ParamByName("pST").Value = CurQueryEntity.FieldByName("ST").Value.Trim();
}
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJ").Value.Trim()))
{
SQL.Add(" \r\n and XLJGCZBNR_LMNR04 like :pDYDJ");
SQL.ParamByName("pDYDJ").Value ="%" + CurQueryEntity.FieldByName("DYDJ").Value.Trim() + "%";
}
if (string.IsNullOrEmpty(CurQueryEntity.FieldByName("PS").Value.Trim()))
{
SQL.Add(" order by XLJGCZBNR_DRHH ");
}
else//查询条件“派生”选择“重复的线缆物料”
{
SQL.Add(" and exists");
SQL.Add(" (");
SQL.Add(" select 1");
SQL.Add(" from");
SQL.Add(" (");
SQL.Add(" select XLJGCZBNR_LMNR01 as XLXHID,XLJGCZBNR_LMNR02 as XLGGID,XLJGCZBNR_LMNR03 as XLBZID,XLJGCZBNR_LMNR04 as DYDJID");
SQL.Add(" from XLJGCZBNR");
SQL.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID ");
SQL.Add(" group by XLJGCZBNR_LMNR01,XLJGCZBNR_LMNR02,XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04");
SQL.Add(" having count(*)>1 ");
SQL.Add(" ) a");
SQL.Add(" where XLXHID=XLJGCZBNR_LMNR01");
SQL.Add(" and XLGGID=XLJGCZBNR_LMNR02");
SQL.Add(" and XLBZID=XLJGCZBNR_LMNR03");
SQL.Add(" and DYDJID=XLJGCZBNR_LMNR04");
SQL.Add(" )");
SQL.Add(" order by XLXHID,XLGGID,XLBZID,DYDJID,XLJGCZBNR_DRHH");
}
#endregion
}
DataSet dsQry = dberp.OpenDataSet(SQL);
return dsQry;
}
public void IfExistMC_Get()
{
dicHeaderTextCLMC.Clear();
if (string.IsNullOrEmpty(PageParam.GetRTrimString("JGCZBID")))
return;
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
DataSet ds;
sql.Add(" select XLJGCZBLM_CLQDL, ");
sql.Add(" case when isnull(XLXSBJCL_BJCLID,' ')=' ' then XLJGCZBLM_CZBLMMC else XLXSBJCL_BJCLMC end as CLMC");
sql.Add(" from XLJGCZBLM ");
sql.Add(" left join XLXSBJCL on XLXSBJCL_BJCLID=XLJGCZBLM_BJCLID");
//sql.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID = XLJGCZBLM_JGCZBID ");
sql.Add(" where XLJGCZBLM_JGCZBID=:pJGCZBID and XLJGCZBLM_JGCZBBBID=:pJGCZBBBID and isnull(XLJGCZBLM_CLQDL,' ')<>' '");
sql.Add(" order by XLJGCZBLM_CLQDL ");
sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID");
ds = dberp.OpenDataSet(sql);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
dicHeaderTextCLMC.Add((ds.Tables[0].Rows[i]["XLJGCZBLM_CLQDL"].ToString().Trim()), ds.Tables[0].Rows[i]["CLMC"].ToString().Trim());
}
SetColumnsVisible();
}
private void initGrid()
{
for (int i = 1; i <= 80; i++)
{
string sCLQDL = "第" + i.ToString().PadLeft(2, '0') + "列";
string sExist = "";
if (dicHeaderTextCLMC.ContainsKey(sCLQDL))
{
sExist = dicHeaderTextCLMC[sCLQDL].Trim();
}
if (!sExist.Equals(""))
{
ContentGrid.FindColumnByFieldName("LMNR" + Convert.ToString(i + 4).PadLeft(2, '0')).HeaderText = sExist;
}
}
}
private void SetColumnsVisible()
{
if (dicHeaderTextCLMC.Count > 0)
{
for (int i = 1; i <= 80; i++)
{
string sCLQDL = "第" + i.ToString().PadLeft(2, '0') + "列";
string sExist = "";
if (dicHeaderTextCLMC.ContainsKey(sCLQDL))
{
sExist = dicHeaderTextCLMC[sCLQDL].Trim();
}
if (sExist.Equals(""))
{
ContentGrid.FindColumnByFieldName("LMNR" + Convert.ToString(i + 4).PadLeft(2, '0')).Visible = false;
}
}
}
}
private void InsXLXSCLQD(TDatabase dberp, TSQL sql, bool bFGCFCP)
{
//A|× B|*
string sXLJGU007 = GetOption(100860020, "XLJGU007");
string sCZBJLDW = PageParam.GetRTrimString("CZBJLDW");
//换算比例
double fBL = 1;
fBL = GetJLDWBL(dberp, sql, PageParam.GetRTrimString("JGCZBID"));
try
{
dberp.BeginTrans();
//删除XLXSCLQD当前结构尺重表记录
sql.Clear();
sql.Add("delete from XLXSCLQD where 1 = 1 ");
sql.Add(" and XLXSCLQD_JGCZBID = :pJGCZBID and XLXSCLQD_JGCZBBBID = :pJGCZBBBID");
sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID");
dberp.ExecSQL(sql);
if (bFGCFCP)
{
//删除与XLXSCLQD四要素相同的记录
sql.Clear();
sql.Add(" select XLXSCLQD_WPID,XLXSCLQD_WFID,XLXSCLQD_WFINST from XLXSCLQD where exists");
sql.Add(" (");
sql.Add(" select 1 from XLJGCZBNR ");
sql.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID ");
sql.Add(" and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID ");
sql.Add(" and XLJGCZBNR_LMNR01=XLXSCLQD_XLXHID ");
if (sXLJGU007.Equals("A"))
{
sql.Add(" and replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') = XLXSCLQD_XLGGID ");
}
else if (sXLJGU007.Equals("B"))
{
sql.Add(" and replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') = XLXSCLQD_XLGGID ");
}
sql.Add(" and XLJGCZBNR_LMNR03=XLXSCLQD_XLBZID ");
sql.Add(" and XLJGCZBNR_LMNR04=XLXSCLQD_DYDJID ");
sql.Add(" )");
sql.Add(" and isnull(XLXSCLQD_WPID, 'ZZZZ') <> 'ZZZZ'");
sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID");
DataSet dsXLXSCLQD = dberp.OpenDataSet(sql);
if (dsXLXSCLQD.Tables[0].Rows.Count > 0)
{
TWorkflow xshtWF = new TWorkflow(tSession, new System.Web.Caching.Cache());
for (int i = 0; i < dsXLXSCLQD.Tables[0].Rows.Count; i++)
{
xshtWF.WFDelete(dsXLXSCLQD.Tables[0].Rows[i]["XLXSCLQD_WFID"].ToString().Trim(), CMISproConvert.StrToFloat(dsXLXSCLQD.Tables[0].Rows[i]["XLXSCLQD_WFINST"].ToString()), "");
}
}
sql.Clear();
sql.Add(" delete from XLXSCLQD where exists");
sql.Add(" (");
sql.Add(" select 1 from XLJGCZBNR ");
sql.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID ");
sql.Add(" and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID ");
sql.Add(" and XLJGCZBNR_LMNR01=XLXSCLQD_XLXHID ");
if (sXLJGU007.Equals("A"))
{
sql.Add(" and replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') = XLXSCLQD_XLGGID ");
}
else if (sXLJGU007.Equals("B"))
{
sql.Add(" and replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') = XLXSCLQD_XLGGID ");
}
sql.Add(" and XLJGCZBNR_LMNR03=XLXSCLQD_XLBZID ");
sql.Add(" and XLJGCZBNR_LMNR04=XLXSCLQD_DYDJID ");
sql.Add(" )");
//sql.Add(" and isnull(XLXSCLQD_WPID, 'ZZZZ') <> 'ZZZZ'");
sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID");
dberp.ExecSQL(sql);
}
//当前结构尺重表材料用量插入XLXSCLQD
if (dberp.DriverName == "ORACLE")
{
#region oracle语法
sql.RAW = true;
sql.Clear();
sql.Add("insert into XLXSCLQD(");
sql.Add("XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,XLXSCLQD_DYDJID,");
sql.Add("XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXSCLQD_DRHH,XLXSCLQD_JGCZBXH,XLXSCLQD_XH,");
for (int i = 1; i <= 80; i++)
{
sql.Add(string.Format("XLXSCLQD_SL{0},", i.ToString().PadLeft(2, '0')));
}
for (int i = 1; i <= 80; i++)
{
sql.Add(string.Format("XLXSCLQD_SHL{0},", i.ToString().PadLeft(2, '0')));
}
for (int i = 1; i <= 80; i++)
{
sql.Add(string.Format("XLXSCLQD_CLJGBL{0},", i.ToString().PadLeft(2, '0')));
}
sql.Add("XLXSCLQD_WPID,XLXSCLQD_WHRID,XLXSCLQD_WHR,XLXSCLQD_WHSJ,XLXSCLQD_CPMLID) ");
sql.Add("select XLJGCZBNR_LMNR01, ");
if (sXLJGU007.Equals("A"))
{
sql.Add(" replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') as XLJGCZBNR_LMNR02, ");
}
else if (sXLJGU007.Equals("B"))
{
sql.Add(" replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') as XLJGCZBNR_LMNR02, ");
}
sql.Add(" XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04, ");
sql.Add("XLJGCZBNR_JGCZBID,XLJGCZBNR_JGCZBBBID,XLJGCZBNR_DRHH,XLXHJGCZBML_JGCZBXH,");
sql.Add("XLJGCZBNR_DRHH as XH,");
for (int i = 1; i <= 80; i++)
{
sql.Add("case when REGEXP_LIKE(XLJGCZBNR_LMNR" + Convert.ToString(i + 4).PadLeft(2, '0') + ",'(^[ -]?\\d{0,}\\.?\\d{0,}$)') then TO_NUMBER(XLJGCZBNR_LMNR" + Convert.ToString(i + 4).PadLeft(2, '0') + ")*:pBL else 0.0 end as SL" + i.ToString().PadLeft(2, '0') + ",");
}
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("'ZZZZ' as WPID,:pWHRID,:pWHR,:pWHSJ,:pCPMLID ");
sql.Add(" from XLJGCZBNR");
sql.Add(" left join XLXHJGCZBML on XLXHJGCZBML_JGCZBID=XLJGCZBNR_JGCZBID and XLXHJGCZBML_XLXHID=XLJGCZBNR_LMNR01 ");
sql.Add(" and XLXHJGCZBML_DYDJID=XLJGCZBNR_LMNR04 and XLXHJGCZBML_XLBZID=XLJGCZBNR_LMNR03 ");
//sql.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID=XLJGCZBNR_JGCZBID ");
sql.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID");
sql.Add(" and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID");
//排除型号、规格、标准、电压为空的内容记录
sql.Add(" and nvl(XLJGCZBNR_LMNR01,' ') <> ' ' ");
sql.Add(" and nvl(XLJGCZBNR_LMNR02,' ') <> ' ' ");
sql.Add(" and nvl(XLJGCZBNR_LMNR03,' ') <> ' ' ");
sql.Add(" and nvl(XLJGCZBNR_LMNR04,' ') <> ' ' ");
if (!bFGCFCP)
{
if (sXLJGU007.Equals("A"))
{
sql.Add(" and not exists( select 1 from XLXSCLQD where XLXSCLQD_XLXHID=XLJGCZBNR_LMNR01 and XLXSCLQD_XLGGID=replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') and XLXSCLQD_XLBZID=XLJGCZBNR_LMNR03 and XLXSCLQD_DYDJID=XLJGCZBNR_LMNR04 ) ");
}
else if (sXLJGU007.Equals("B"))
{
sql.Add(" and not exists( select 1 from XLXSCLQD where XLXSCLQD_XLXHID=XLJGCZBNR_LMNR01 and XLXSCLQD_XLGGID=replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') and XLXSCLQD_XLBZID=XLJGCZBNR_LMNR03 and XLXSCLQD_DYDJID=XLJGCZBNR_LMNR04 ) ");
}
}
sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID");
sql.ParamByName("pBL").Value = fBL;
sql.ParamByName("pWHRID").Value = tSession.UserId;
sql.ParamByName("pWHR").Value = tSession.UserName;
sql.ParamByName("pWHSJ").Value = DateTime.Now;
sql.ParamByName("pCPMLID").Value = PageParam.GetRTrimString("CPMLID");
dberp.ExecSQL(sql);
sql.RAW = false;
#endregion
}
else
{
#region sqlserver语法
sql.Clear();
sql.Add("insert into XLXSCLQD(");
sql.Add("XLXSCLQD_XLXHID,XLXSCLQD_XLGGID,XLXSCLQD_XLBZID,XLXSCLQD_DYDJID,");
sql.Add("XLXSCLQD_JGCZBID,XLXSCLQD_JGCZBBBID,XLXSCLQD_DRHH,XLXSCLQD_JGCZBXH,XLXSCLQD_XH,");
for (int i = 1; i <= 80; i++)
{
sql.Add(string.Format("XLXSCLQD_SL{0},", i.ToString().PadLeft(2, '0')));
}
for (int i = 1; i <= 80; i++)
{
sql.Add(string.Format("XLXSCLQD_SHL{0},", i.ToString().PadLeft(2, '0')));
}
for (int i = 1; i <= 80; i++)
{
sql.Add(string.Format("XLXSCLQD_CLJGBL{0},", i.ToString().PadLeft(2, '0')));
}
sql.Add("XLXSCLQD_WPID,XLXSCLQD_WHRID,XLXSCLQD_WHR,XLXSCLQD_WHSJ,XLXSCLQD_CPMLID) ");
sql.Add("select XLJGCZBNR_LMNR01, ");
if (sXLJGU007.Equals("A"))
{
sql.Add(" replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') as XLJGCZBNR_LMNR02, ");
}
else if (sXLJGU007.Equals("B"))
{
sql.Add(" replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') as XLJGCZBNR_LMNR02, ");
}
sql.Add(" XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04, ");
sql.Add("XLJGCZBNR_JGCZBID,XLJGCZBNR_JGCZBBBID,XLJGCZBNR_DRHH,XLXHJGCZBML_JGCZBXH,");
sql.Add("XLJGCZBNR_DRHH as XH,");
for (int i = 1; i <= 80; i++)
{
sql.Add(string.Format("case when isnumeric(XLJGCZBNR_LMNR{0})=1 then convert(float,XLJGCZBNR_LMNR{0})*{2} else 0.0 end as SL{1},", Convert.ToString(i + 4).PadLeft(2, '0'), i.ToString().PadLeft(2, '0'), fBL));
}
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,");
sql.Add("'ZZZZ' as WPID,:pWHRID,:pWHR,:pWHSJ,:pCPMLID ");
sql.Add(" from XLJGCZBNR");
sql.Add(" left join XLXHJGCZBML on XLXHJGCZBML_JGCZBID=XLJGCZBNR_JGCZBID and XLXHJGCZBML_XLXHID=XLJGCZBNR_LMNR01 ");
sql.Add(" and XLXHJGCZBML_DYDJID=XLJGCZBNR_LMNR04 and XLXHJGCZBML_XLBZID=XLJGCZBNR_LMNR03 ");
//sql.Add(" left join XLJGCZBML on XLJGCZBML_JGCZBID=XLJGCZBNR_JGCZBID ");
sql.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID");
sql.Add(" and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID");
//排除型号、规格、标准、电压为空的内容记录
sql.Add(" and isnull(XLJGCZBNR_LMNR01,' ') <> ' ' ");
sql.Add(" and isnull(XLJGCZBNR_LMNR02,' ') <> ' ' ");
sql.Add(" and isnull(XLJGCZBNR_LMNR03,' ') <> ' ' ");
sql.Add(" and isnull(XLJGCZBNR_LMNR04,' ') <> ' ' ");
if (!bFGCFCP)
{
if (sXLJGU007.Equals("A"))
{
sql.Add(" and not exists( select 1 from XLXSCLQD where XLXSCLQD_XLXHID=XLJGCZBNR_LMNR01 and XLXSCLQD_XLGGID=replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') and XLXSCLQD_XLBZID=XLJGCZBNR_LMNR03 and XLXSCLQD_DYDJID=XLJGCZBNR_LMNR04 ) ");
}
else if (sXLJGU007.Equals("B"))
{
sql.Add(" and not exists( select 1 from XLXSCLQD where XLXSCLQD_XLXHID=XLJGCZBNR_LMNR01 and XLXSCLQD_XLGGID=replace(replace(replace(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') and XLXSCLQD_XLBZID=XLJGCZBNR_LMNR03 and XLXSCLQD_DYDJID=XLJGCZBNR_LMNR04 ) ");
}
}
sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID");
sql.ParamByName("pWHRID").Value = tSession.UserId;
sql.ParamByName("pWHR").Value = tSession.UserName;
sql.ParamByName("pWHSJ").Value = DateTime.Now;
sql.ParamByName("pCPMLID").Value = PageParam.GetRTrimString("CPMLID");
dberp.ExecSQL(sql);
#endregion
}
sql.Clear();
sql.Add("update XLXHJGCZBNR set XLXHJGCZBNR_CLFLAG='已插入' where XLXHJGCZBNR_JGCZBID=:pJGCZBID and XLXHJGCZBNR_JGCZBBBID=:pJGCZBBBID");
sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID");
dberp.ExecSQL(sql);
if (CheckYJXJ(tSession.UserId))
{
string sYJTZRY = GetYJTZRY();
if (!sYJTZRY.Trim().Equals(""))
{
string sCZBXX = "【" + PageParam.GetRTrimString("JGCZBID") + "|" + PageParam.GetRTrimString("JGCZBBBID") + "|" + PageParam.GetRTrimString("JGCZBMC") + "】";
string sYJTitle, sNR, sJSR;
sJSR = sYJTZRY;
DateTime Ntime = DateTime.Now;
sYJTitle = "材料用量派生通知" + sCZBXX;
sNR = sCZBXX + "于" + Ntime.Year.ToString().Trim() + "年" + Ntime.Month.ToString().Trim().PadLeft(2, '0') + "月" + Ntime.Day.ToString().Trim().PadLeft(2, '0') + "日"
+ Ntime.Hour.ToString().Trim().PadLeft(2, '0') + "时" + Ntime.Minute.ToString().Trim().PadLeft(2, '0') + "分完成派生<br/>";
sNR += "本次派生涉及型号目录如下:<br/>";
sql.Clear();
sql.Add(" select XLXHJGCZBML_XLXHID,XLXHJGCZBML_DYDJID,rtrim(XLXHJGCZBML_XLBZID)||'|'||XLBZ_XLBZLXMC as XLBZ ");
sql.Add(" from XLXHJGCZBML left join XLBZ on XLBZ_XLBZID=XLXHJGCZBML_XLBZID ");
sql.Add(" where XLXHJGCZBML_JGCZBID=:pJGCZBID ");
sql.Add(" order by XLXHJGCZBML_JGCZBXH ");
sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
DataSet dsXHML = dberp.OpenDataSet(sql);
if (dsXHML.Tables[0].Rows.Count > 0)
{
int icout = 0;
int acout = 0;
string sXHML = "";
foreach (DataRow trow in dsXHML.Tables[0].Rows)
{
if (!sXHML.Equals(""))
sXHML += "、";
sXHML += trow["XLXHJGCZBML_XLXHID"].ToString().Trim() + " " + trow["XLXHJGCZBML_DYDJID"].ToString().Trim() + " " + trow["XLBZ"].ToString().Trim();
icout++;
acout++;
if (icout == 3)
{
sNR += sXHML + "<br/>";
sXHML = "";
icout = 0;
}
if (acout == 31)
{
sXHML = "";
sNR += "……等等";
break;
}
}
if (!sXHML.Equals(""))
sNR += sXHML;
}
CMISproSystemOperation.SendMail2(tSession, CurUserID, FormatRecever(sJSR), sYJTitle, sNR, "", "", 0.0, "", "");
}
}
sql.Clear();
sql.Add("select XLXSTZYZ_YZID,XLXSTZYZ_YZMC,XLXSTZYZ_TJYS from XLXSTZYZ ");
sql.Add("where XLXSTZYZ_MXBH='JZJ' and (XLXSTZYZ_TJYS='2' or XLXSTZYZ_TJYS='6' or XLXSTZYZ_TJYS='7') ");
sql.Add("order by XLXSTZYZ_XSXH,XLXSTZYZ_YZID");
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count >0)
{
string sTJYS = ds.Tables[0].Rows[0]["XLXSTZYZ_TJYS"].ToString().Trim();
CLQDList.UpdateSHL(dberp, sql, PageParam.GetRTrimString("JGCZBID"), PageParam.GetRTrimString("JGCZBBBID"), sTJYS);
}
CLQDList.UpdatCLZL(dberp, sql, PageParam.GetRTrimString("JGCZBID"), PageParam.GetRTrimString("JGCZBBBID"));
ShowMessage("派生材料用量--完成!");
dberp.CommitTrans();
}
catch (Exception ex)
{
dberp.RollbackTrans();
ShowMessage(ex.Message);
return;
}
}
private void InsXLXSCLQD(TDatabase dberp, TSQL sql)
{
InsXLXSCLQD(dberp, sql, true);
}
//是否有100232002|邮件模块新建权限
private bool CheckYJXJ(string sGH)
{
UserRight UR = OpRightUtils.GetUserRight(sGH, 100232002);
return (DSActiveModule.IsActiveModule(100232002) && UR.Insert);
}
//获取邮件通知人员
private string GetYJTZRY()
{
string sYJTZRY = "";
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860020);
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_YJTZRYLIST))
sYJTZRY = pzxx.XLXSBJPZ_YJTZRYLIST;
return sYJTZRY;
}
private string FormatRecever(string p_GHList)
{
List<string> lstResult = new List<string>();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Add("select RSRYJBXX_GH, RSRYJBXX_RYMC from RSRYJBXX where " + CMISproDataBase.GetWhereEqual("RSRYJBXX_GH", p_GHList));
DataSet ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
lstResult.Add(string.Format("{0}<{1}>", ds.Tables[0].Rows[i]["RSRYJBXX_RYMC"].ToString().Trim(),
ds.Tables[0].Rows[i]["RSRYJBXX_GH"].ToString().Trim()));
}
return string.Join(",", lstResult.ToArray());
}
private double GetJLDWBL(TDatabase dberp, TSQL SQL, string sJGCZBID)
{
double fBL = 1.0;
SQL.Clear();
SQL.Add("select XLJGCZBML_JGCZBBBID,XLJGCZBML_CZBJLDW ");
SQL.Add("from XLJGCZBML ");
SQL.Add("where XLJGCZBML_JGCZBID=:pJGCZBID ");
SQL.ParamByName("pJGCZBID").Value = sJGCZBID;
DataSet dsXLJGCZBML = dberp.OpenDataSet(SQL);
if (dsXLJGCZBML.Tables[0].Rows.Count > 0)
{
//1|Kg/Km //2|Kg/m
if (dsXLJGCZBML.Tables[0].Rows[0]["XLJGCZBML_CZBJLDW"].ToString().Trim().Equals("1") && (GetOption(100860002, "BJU003").Equals("M") || GetOption(100860002, "BJU003").Equals("米")))
{
fBL = 0.001;
}
else if (dsXLJGCZBML.Tables[0].Rows[0]["XLJGCZBML_CZBJLDW"].ToString().Trim().Equals("2") && (GetOption(100860002, "BJU003").Equals("Km") || GetOption(100860002, "BJU003").Equals("千米")))
{
fBL = 1000;
}
}
return fBL;
}
//校验待派生用量的产品已通过其他尺重表派生过
private bool ISPS(string JGCZBID, string JGCZBBBID)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
string sXLJGU007 = GetOption(100860020, "XLJGU007");
sql.Clear();
sql.Add("select top 1 XLXSCLQD_JGCZBID");
sql.Add("from XLXSCLQD,XLJGCZBNR");
sql.Add("left join XLXHJGCZBML on XLXHJGCZBML_JGCZBID=XLJGCZBNR_JGCZBID and XLXHJGCZBML_XLXHID=XLJGCZBNR_LMNR01");
sql.Add(" and XLXHJGCZBML_DYDJID=XLJGCZBNR_LMNR04 and XLXHJGCZBML_XLBZID=XLJGCZBNR_LMNR03");
sql.Add("where rtrim(XLJGCZBNR_JGCZBID)||'|'||rtrim(XLJGCZBNR_JGCZBBBID) in (rtrim(:pJGCZBID)||'|'||rtrim(:pJGCZBBBID))");
sql.Add(" and rtrim(XLXSCLQD_JGCZBID)||'|'||rtrim(XLXSCLQD_JGCZBBBID) not in (rtrim(:pJGCZBID)||'|'||rtrim(:pJGCZBBBID))");
sql.Add(" and XLJGCZBNR_LMNR01=XLXSCLQD_XLXHID");
if (sXLJGU007.Equals("A"))
sql.Add(" and REPLACE(REPLACE(REPLACE(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'*','×') =XLXSCLQD_XLGGID");
else
sql.Add(" and REPLACE(REPLACE(REPLACE(XLJGCZBNR_LMNR02,'x','X'),'X','*'),'×','*') =XLXSCLQD_XLGGID ");
sql.Add(" and XLJGCZBNR_LMNR03=XLXSCLQD_XLBZID");
sql.Add(" and XLJGCZBNR_LMNR04=XLXSCLQD_DYDJID");
sql.Add(" and isnull(XLXSCLQD_WPID,'ZZZZ')='ZZZZ'");
sql.ParamByName("pJGCZBID").Value = JGCZBID;
sql.ParamByName("pJGCZBBBID").Value = JGCZBBBID;
DataSet ds = dberp.OpenDataSet(sql);
if (ds.Tables[0].Rows.Count > 0)
{
return true;
}
return false;
}
#endregion
#region 按钮事件
protected void grd_DblClick(object sender, RowDoubleClickEventArgs e)
{
string DRHH = ContentGrid.DataKeys[ContentGrid.SelectedIndex]["XLJGCZBNR_DRHH"].ToString().Trim();
if (CMISproDataBase.ExistsRecord("DBERP", string.Format("select 1 from XLXSCLQD where XLXSCLQD_JGCZBID='{0}'and XLXSCLQD_JGCZBBBID='{1}' and XLXSCLQD_DRHH={2} ", PageParam.GetRTrimString("JGCZBID"), PageParam.GetRTrimString("JGCZBBBID"),DRHH)))
{
ShowMessage("当前行已经派生材料用量,不允许修改导入内容!");
return;
}
TPageParams tpp = new TPageParams();
tpp.UrlPath = "JGCZBNRInfo.aspx";
//tpp.CallAction = TPageCallAction;
tpp.AddString("XLJGCZBNR_DRHH", DRHH);
tpp.AddString("JGCZBID", PageParam.GetRTrimString("JGCZBID"));
tpp.AddString("JGCZBBBID", PageParam.GetRTrimString("JGCZBBBID"));
tpp.AddString("RefreshCtrlID", btnRefresh1.ClientID.Trim());
OpenFuncModuleDialog(100860020, tpp);
}
//派生材料用量
protected void btnPSCLYL_Click(object sender, EventArgs e)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
if (Confirm.GetValue("ask").Trim().Equals("N"))
{
Confirm.Clear();
if (isps)
{
TPageParams pageParams = new TPageParams();
pageParams.UrlPath = "JGCZBCFCPList.aspx";
pageParams.AddString("JGCZBID", PageParam.GetRTrimString("JGCZBID"));
pageParams.AddString("JGCZBBBID", PageParam.GetRTrimString("JGCZBBBID"));
pageParams.AddString("txtFGBZ", txtFGBZ.ClientID);
pageParams.AddString("btnCRCLQD", btnCRCLQD.ClientID);
OpenDialog(pageParams);
}
else
{
return;
}
}
else if (Confirm.GetValue("ask").Trim().Equals("Y"))
{
Confirm.Clear();
if (isps)
{
InsXLXSCLQD(dberp, sql);
}
else
{
//判断是否存在已经派生过用量的产品
if (ISPS(PageParam.GetRTrimString("JGCZBID"), PageParam.GetRTrimString("JGCZBBBID")))
{
isps = true;
Confirm.Register("ask", "待派生用量的产品已通过其他尺重表派生过,点“是”进行用量覆盖,点“否”终止用量派生、查看重复产品清单!");
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
Confirm.Ask("ask");
return;
}
else
{
InsXLXSCLQD(dberp, sql);
}
}
}
else if(Confirm.GetValue("ask").Trim().Equals(""))
{
//检查当前结构尺重表本身型号、规格、标准、电压等级是否重复
sql.Clear();
sql.Add("select top 1 XLJGCZBNR_LMNR01,XLJGCZBNR_LMNR02,XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04");
sql.Add(" from XLJGCZBNR");
sql.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID");
sql.Add(" and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID");
sql.Add(" group by XLJGCZBNR_LMNR01,XLJGCZBNR_LMNR02,XLJGCZBNR_LMNR03,XLJGCZBNR_LMNR04");
sql.Add(" having count(*)>1");
sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID");
DataSet ds1 = dberp.OpenDataSet(sql);
if (ds1.Tables[0].Rows.Count > 0)
{
ShowMessage("型号、规格、标准、电压等级存在重复!");
return;
}
//接收参数DRLX,
//CLQDL,BJCLMC,空保持导入
//BJCLMCACT进行强校验
sql.Clear();
sql.Add("select XLJGCZBNR_LMNR01 ");
sql.Add(" from XLJGCZBNR");
sql.Add(" where XLJGCZBNR_JGCZBID=:pJGCZBID");
sql.Add(" and XLJGCZBNR_JGCZBBBID=:pJGCZBBBID");
sql.Add(" and not exists( select 1 from XLXHB WHERE XLXHB_XLXHID = XLJGCZBNR_LMNR01 ) ");
sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID");
DataSet ds2 = dberp.OpenDataSet(sql);
if (ds2.Tables[0].Rows.Count > 0)
{
ShowMessage(String.Format("型号【{0}】不在线缆型号表中,不允许派生!", ds2.Tables[0].Rows[0][0].ToString().Trim()));
return;
}
//校验材料清单是否有数据
sql.Clear();
sql.Add("select top 1 XLXSCLQD_XLXHID ");
sql.Add(" from XLXSCLQD");
sql.Add(" where XLXSCLQD_JGCZBID=:pJGCZBID");
sql.Add(" and XLXSCLQD_JGCZBBBID=:pJGCZBBBID");
sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID");
DataSet ds4 = dberp.OpenDataSet(sql);
if (ds4.Tables[0].Rows.Count > 0)
{
isps = false;
Confirm.Register("ask", "当前尺重表下已有材料清单记录,是否清空后重新派生?");
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
if (Confirm.GetValue("ask").Trim().Equals(""))
{
Confirm.Ask("ask");
return;
}
}
else
{
//判断是否存在已经派生过用量的产品
if (ISPS(PageParam.GetRTrimString("JGCZBID"), PageParam.GetRTrimString("JGCZBBBID")))
{
isps = true;
Confirm.Register("ask", "待派生用量的产品已通过其他尺重表派生过,点“是”进行用量覆盖,点“否”终止用量派生、查看重复产品清单!");
Confirm.ShowBtnText = TConfirm.cBtnText.Yes_No;
if (Confirm.GetValue("ask").Trim().Equals(""))
{
Confirm.Ask("ask");
return;
}
}
else
{
InsXLXSCLQD(dberp, sql);
}
}
}
}
protected void btnDelCLYL_Click(object sender, EventArgs e)
{
string sMsg = "将删除当前尺重表下的材料清单记录,是否继续?";
Confirm.Register("IsQD", sMsg);
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.Clear();
sql.Add("delete from XLXSCLQD where 1 = 1 ");
sql.Add(" and XLXSCLQD_JGCZBID = :pJGCZBID and XLXSCLQD_JGCZBBBID = :pJGCZBBBID");
sql.ParamByName("pJGCZBID").Value = PageParam.GetRTrimString("JGCZBID");
sql.ParamByName("pJGCZBBBID").Value = PageParam.GetRTrimString("JGCZBBBID");
dberp.ExecSQL(sql);
ShowMessage("删除完成!");
}
protected void btnRefresh1_Click(object sender, EventArgs e)
{
int index = ContentGrid.SelectedIndex;
moduleGV_PageIndexChanging(null, null);
FormAreaUpdate();
ContentGrid.SelectedIndex = index;
}
protected void btnCRCLQD_Click(object sender, EventArgs e)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sql = new TSQL(dberp);
if (txtFGBZ.Value == "Y")
InsXLXSCLQD(dberp, sql, true);
else
InsXLXSCLQD(dberp, sql, false);
}
#endregion
}
}