2026821
This commit is contained in:
@@ -0,0 +1,975 @@
|
||||
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
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user