2026821
This commit is contained in:
@@ -0,0 +1,780 @@
|
||||
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_MISPRO.Data;
|
||||
using GThinking.N_MODEL.Page;
|
||||
using GThinking.N_MISPRO;
|
||||
using GThinking.N_CONTROL;
|
||||
using GThinking.N_MISPRO.Utility;
|
||||
using System.Text;
|
||||
using GThinking.N_WORKFLOW;
|
||||
using GThinking.N_MISPRO.MISPROAS;
|
||||
|
||||
namespace GThinking.N_XLXSBJ
|
||||
{
|
||||
[TableMap(DB = "DBERP", DbTableName = "XLXSBJCL", Umid = 100860064, IsWorkFlow = false, IsAttach = false, UseWhr = false)]
|
||||
|
||||
public class CLYLZDSQ : EntityManager
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public class CLYLZDSQ_M : TBaseNamedQuery
|
||||
{
|
||||
public CLYLZDSQ_M()
|
||||
{
|
||||
AddFieldDefs("XLXHID", "型号");
|
||||
AddFieldDefs("XLXHIDJQPP", "型号精确匹配");
|
||||
AddFieldDefs("DYDJ", "电压等级");
|
||||
AddFieldDefs("ZXJMS", "主芯截面始");
|
||||
AddFieldDefs("ZXJMZ", "主芯截面止");
|
||||
AddFieldDefs("ZDRWSZ", "制定人未设置");
|
||||
}
|
||||
}
|
||||
|
||||
public partial class CLYLZDSQOper : SingleGridBase
|
||||
{
|
||||
CLYLZDSQ entity = new CLYLZDSQ();
|
||||
CLYLZDSQ_M queryentity = new CLYLZDSQ_M();
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
this.UMID = 100860064;
|
||||
this.UMName = "材料用量制定申请";
|
||||
this.CurMaster = Master;
|
||||
this.ModuleGV = ContentGrid;
|
||||
this.CurQueryEntity = queryentity;
|
||||
this.CurEntity = entity;
|
||||
this.sQueryURLTarget = "CLYLZDSQOperQuery.aspx";
|
||||
this.PageHeight = 600;
|
||||
this.PageWidth = 750;
|
||||
base.DataKeyNames = new string[] { "XLXSBJDMX_BJDID", "XLXSBJDMX_XH" };
|
||||
Master.EnableNewBtn = false;
|
||||
Master.EnableCopyBtn = false;
|
||||
Master.EnableViewBtn = false;
|
||||
Master.EnableEditBtn = false;
|
||||
Master.EnableDeleteBtn = false;
|
||||
//Master.EnableQueryBtn = false;
|
||||
Master.EnablePrintBtn = false;
|
||||
if (!IsPostBack)
|
||||
{
|
||||
CurQueryEntity.FieldByName("XLXHIDJQPP").Value = "True";
|
||||
}
|
||||
if (!string.IsNullOrEmpty(PageParam.GetRTrimString("BJDID")))
|
||||
{
|
||||
TPageParams tpp = new TPageParams();
|
||||
tpp.AddString("BJDID", PageParam.GetRTrimString("BJDID"));
|
||||
QueryPageParam = tpp;
|
||||
}
|
||||
base.InitPage();
|
||||
|
||||
this.ModuleGV.OnClientDblClick = "return false;";
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
|
||||
InsertV();
|
||||
Master_OnStandardQuery(null, null);
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
|
||||
}
|
||||
SyncAttachControl();
|
||||
}
|
||||
|
||||
#region 模板继承事件
|
||||
|
||||
protected override void Master_OnStandardQuery(object sender, EventArgs e)
|
||||
{
|
||||
base.Master_OnStandardQuery(sender, e);
|
||||
entity.EntityTable.QuerySelSql = GetQuerySql();
|
||||
entity.GridDataBind(ContentGrid, tSession);
|
||||
}
|
||||
|
||||
protected override void moduleGV_PageIndexChanging(object sender, GridViewPageEventArgs e)
|
||||
{
|
||||
entity.EntityTable.QuerySelSql = GetQuerySql();
|
||||
ContentGrid.SelectedIndex = -1;
|
||||
base.moduleGV_PageIndexChanging(sender, e);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 自定义方法
|
||||
|
||||
private string GetQuerySql()
|
||||
{
|
||||
base.InitEntityByCondition();
|
||||
string sCLYLZJFS = "";
|
||||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860014);
|
||||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_CLYLZJFS))
|
||||
sCLYLZJFS = pzxx.XLXSBJPZ_CLYLZJFS;
|
||||
string sBJDID = PageParam.GetRTrimString("BJDID");
|
||||
|
||||
|
||||
StringBuilder sSQL = new StringBuilder();
|
||||
sSQL.AppendLine("select XLXSBJDMX_BJDID,XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,case when isnull(RSRYJBXX_RYMC,' ')=' ' then ' 'else rtrim(RSRYJBXX_GH)||'|'||RSRYJBXX_RYMC end as ZDR,");
|
||||
sSQL.AppendLine(" XLXSBJDMX_BJCP,XLXSBJDMX_JLDW,XLXSBJDMX_BJSL,XLXSBJDMX_CPBJ,XLXSBJDMX_BJJE,XLXSBJDMX_BZ,XLXSBJDMX_WHR,XLXSBJDMX_WHSJ,");
|
||||
sSQL.AppendLine(" case isnull(XLXSBJDMX_XLBZID,' ') when ' ' then ' ' else rtrim(XLXSBJDMX_XLBZID)||'|'||XLBZ_XLBZLXMC end as XLBZ ");
|
||||
sSQL.AppendLine("from XLXSBJDMX ");
|
||||
sSQL.AppendLine("left join XLBZ on XLBZ_XLBZID=XLXSBJDMX_XLBZID ");
|
||||
sSQL.AppendLine("left join V_XLXSBJYLZDMX on V_XLXSBJYLZDMX_BJDID=XLXSBJDMX_BJDID and V_XLXSBJYLZDMX_BJDXH=XLXSBJDMX_XH ");
|
||||
sSQL.AppendLine("left join RSRYJBXX on RSRYJBXX_GH=V_XLXSBJYLZDMX_ZDRGH ");
|
||||
sSQL.AppendLine(" left join(select XLGGB_XLGGID as XLGGID,XLGGB_XXJGID,");
|
||||
sSQL.AppendLine(" case when charindex('/',XLGGB_DTJMZHID)<=0 then convert(float,XLGGB_DTJMZHID) else convert(float,substring(XLGGB_DTJMZHID,0,charindex('/',XLGGB_DTJMZHID))) end as ZXJM,");
|
||||
sSQL.AppendLine(" MIN(XLGGB_XH) as minXH from XLGGB where 1=1");
|
||||
sSQL.AppendLine(" GROUP BY XLGGB_XLGGID,XLGGB_XXJGID,XLGGB_DTJMZHID) tmpXLGGB on XLGGID=REPLACE(XLXSBJDMX_XLGGID,'*','×')");
|
||||
sSQL.AppendLine("where 1=1 ");
|
||||
//非外购产品
|
||||
sSQL.AppendLine("and isnull(XLXSBJDMX_WGCPBZ,'N') <> 'Y' ");
|
||||
|
||||
if(sCLYLZJFS.Equals("2"))
|
||||
{
|
||||
//无材料清单记录
|
||||
sSQL.AppendLine("and not exists (select 1 from XLXSCLQD where XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID =XLXSBJDMX_XLGGID ");
|
||||
sSQL.AppendLine(" and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID and XLXSCLQD_WPID ='ZZZZ' ) ");
|
||||
}
|
||||
else if (sCLYLZJFS.Equals("3"))
|
||||
{
|
||||
//无表价
|
||||
sSQL.AppendLine(" and XLXSBJDMX_JGBBJ = 0 ");
|
||||
}
|
||||
else if (sCLYLZJFS.Equals("2,3"))
|
||||
{
|
||||
//无材料清单或无表价记录
|
||||
sSQL.AppendLine("and (not exists (select 1 from XLXSCLQD where XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID =XLXSBJDMX_XLGGID ");
|
||||
sSQL.AppendLine(" and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID and XLXSCLQD_WPID ='ZZZZ' ) OR XLXSBJDMX_JGBBJ = 0 ) ");
|
||||
}
|
||||
else if (sCLYLZJFS.Equals("4"))
|
||||
{
|
||||
//销售报价单明细不参与调价因子为0时自动触发
|
||||
sSQL.AppendLine("and exists (select 1 from XLXSBJDYZZ0 where XLXSBJDYZZ0_BJDID=XLXSBJDMX_BJDID and XLXSBJDYZZ0_XH =XLXSBJDMX_XH ");
|
||||
sSQL.AppendLine(" and (XLXSBJDYZZ0_YZZ02=0 or XLXSBJDYZZ0_YZZ03=0)) ");
|
||||
}
|
||||
else
|
||||
{
|
||||
sSQL.AppendLine(" and 1<>1 ");
|
||||
}
|
||||
if (!sBJDID.Equals(""))
|
||||
{
|
||||
sSQL.AppendLine("and XLXSBJDMX_BJDID=:pBJDID ");
|
||||
entity.Param.Add("pBJDID", sBJDID);
|
||||
}
|
||||
else
|
||||
{
|
||||
sSQL.AppendLine("and 1<>1 ");
|
||||
}
|
||||
|
||||
|
||||
//型号模糊
|
||||
if (!CurQueryEntity.FieldByName("XLXHIDJQPP").Value.ToString().Trim().ToUpper().Equals("TRUE"))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("XLXHID").Value.Trim()))
|
||||
{
|
||||
sSQL.AppendLine(string.Format(" \r\n and XLXSBJDMX_XLXHID like '{0}' ","%" + CurQueryEntity.FieldByName("XLXHID").Value.Trim() + "%"));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
string sXLXHID = CurQueryEntity.FieldByName("XLXHID").Value.Trim();
|
||||
if (!string.IsNullOrEmpty(sXLXHID))
|
||||
{
|
||||
string[] sTemp = sXLXHID.Split(new Char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
|
||||
if (sTemp.Length >= 2)
|
||||
{
|
||||
sSQL.AppendLine(" \r\n and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_XLXHID", sXLXHID));
|
||||
}
|
||||
else
|
||||
{
|
||||
sSQL.AppendLine(string.Format(" \r\n and XLXSBJDMX_XLXHID = '{0}' ", sXLXHID));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("DYDJ").Value.Trim()))
|
||||
{
|
||||
sSQL.AppendLine(string.Format(" and XLXSBJDMX_DYDJID = '{0}' ",CurQueryEntity.FieldByName("DYDJ").Value.Trim()));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZXJMS").Value.Trim()) && !CurQueryEntity.FieldByName("ZXJMS").Value.Trim().Equals("0"))
|
||||
{
|
||||
sSQL.AppendLine(string.Format(" and ZXJM>={0} ", CurQueryEntity.FieldByName("ZXJMS").Value.Trim()));
|
||||
}
|
||||
if (!string.IsNullOrEmpty(CurQueryEntity.FieldByName("ZXJMZ").Value.Trim()) && !CurQueryEntity.FieldByName("ZXJMZ").Value.Trim().Equals("0"))
|
||||
{
|
||||
sSQL.AppendLine(string.Format(" and ZXJM<={0} ", CurQueryEntity.FieldByName("ZXJMZ").Value.Trim()));
|
||||
}
|
||||
if (CurQueryEntity.FieldByName("ZDRWSZ").Value.ToString().Trim().ToUpper().Equals("TRUE"))
|
||||
{
|
||||
sSQL.AppendLine(" and isnull(V_XLXSBJYLZDMX_ZDRGH,' ')=' ' ");
|
||||
}
|
||||
sSQL.AppendLine(" order by XLXSBJDMX_XSSX ");
|
||||
return sSQL.ToString();
|
||||
}
|
||||
|
||||
|
||||
private string GetZDRGHList()
|
||||
{
|
||||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860064);
|
||||
return pzxx.XLXSBJPZ_ZDRGHS;
|
||||
}
|
||||
|
||||
private string GetZDRGHByCZB(string sXLXHID,string sXLGGID,string sXLBZID,string sDYDJID)
|
||||
{
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
TSQL SQL = new TSQL(dberp);
|
||||
SQL.Clear();
|
||||
SQL.Add(@"select distinct isnull(RSRYJBXX_GH,' ') as ZDRGH from XLXSCLQD
|
||||
left join XLJGCZBML on XLJGCZBML_JGCZBID=XLXSCLQD_JGCZBID
|
||||
left join RSRYJBXX on XLJGCZBML_FZR=RSRYJBXX_RYMC
|
||||
left join XLBZ on XLBZ_XLBZID=XLXSCLQD_XLBZID
|
||||
where XLXSCLQD_XLXHID=:pXLXHID and XLXSCLQD_XLGGID=:pXLGGID and XLXSCLQD_DYDJID=:pDYDJID and XLXSCLQD_WPID='ZZZZ' and XLBZ_DZSC<>'Y' and isnull(RSRYJBXX_GH,' ')<>' ' ");
|
||||
SQL.ParamByName("pXLXHID").Value = sXLXHID;
|
||||
SQL.ParamByName("pXLGGID").Value = sXLGGID;
|
||||
//SQL.ParamByName("pXLBZID").Value = sXLBZID;
|
||||
SQL.ParamByName("pDYDJID").Value = sDYDJID;
|
||||
string sZDRGHList = "," + GetZDRGHList() + ",";
|
||||
string sResZDRGH = string.Empty;
|
||||
DataSet ds = dberp.OpenDataSet(SQL);
|
||||
if (ds.Tables[0].Rows.Count ==1)
|
||||
return ds.Tables[0].Rows[0][0].ToString().Trim();
|
||||
//负责人有多个,检查是否都在值域内
|
||||
if (ds.Tables[0].Rows.Count > 1)
|
||||
{
|
||||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||||
{
|
||||
string sZDRGH = ds.Tables[0].Rows[i][0].ToString().Trim();
|
||||
if (sZDRGHList.Contains("," + sZDRGH + ","))
|
||||
{
|
||||
if (sResZDRGH.Equals(""))
|
||||
sResZDRGH = sZDRGH;
|
||||
else if (!sResZDRGH.Equals(sZDRGH))
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
return sResZDRGH;
|
||||
}
|
||||
|
||||
private string GetZDRGHByCPML(string sCPMLMC)
|
||||
{
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
TSQL SQL = new TSQL(dberp);
|
||||
SQL.Clear();
|
||||
SQL.Add(@"select isnull(RSRYJBXX_GH,' ') as ZDRGH from XLXSCPML
|
||||
left join RSRYJBXX on XLXSCPML_FZR=RSRYJBXX_RYMC
|
||||
where XLXSCPML_CPMLMC=:pCPMLMC");
|
||||
SQL.ParamByName("pCPMLMC").Value = sCPMLMC;
|
||||
DataSet ds = dberp.OpenDataSet(SQL);
|
||||
if (ds.Tables[0].Rows.Count == 1)
|
||||
return ds.Tables[0].Rows[0][0].ToString().Trim();
|
||||
return "";
|
||||
|
||||
}
|
||||
|
||||
private void SyncAttachControl()
|
||||
{
|
||||
this.altAttachList.DocGroupField = "XLXSBJYLZD_DOCGRPID";
|
||||
this.altAttachList.UpdCondition = "1<>1";
|
||||
this.altAttachList.WorkTableName = "XLXSBJYLZD";
|
||||
this.altAttachList.AddAttachFromDocsVisible = false;
|
||||
}
|
||||
|
||||
private void InsertV()
|
||||
{
|
||||
base.InitEntityByCondition();
|
||||
string sCLYLZJFS = "";
|
||||
XLXSBJPZXX pzxx = XLBJDUtils.GetXLXSBJPZXX(100860014);
|
||||
if (!string.IsNullOrEmpty(pzxx.XLXSBJPZ_CLYLZJFS))
|
||||
sCLYLZJFS = pzxx.XLXSBJPZ_CLYLZJFS;
|
||||
string sBJDID = PageParam.GetRTrimString("BJDID");
|
||||
|
||||
//先插入临时表
|
||||
string sGH = GetZDRGHList();
|
||||
if (sGH.Contains(","))
|
||||
sGH = "";
|
||||
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
TSQL SQL = new TSQL(dberp);
|
||||
|
||||
SQL.Clear();
|
||||
SQL.Add("delete from V_XLXSBJYLZDMX where V_XLXSBJYLZDMX_BJDID=:pBJDID");
|
||||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
dberp.ExecSQL(SQL);
|
||||
|
||||
SQL.Clear();
|
||||
//SQL.Add(" insert into V_XLXSBJYLZDMX(V_XLXSBJYLZDMX_BJDID,V_XLXSBJYLZDMX_BJDXH,V_XLXSBJYLZDMX_ZDRGH)");
|
||||
SQL.Add(" select XLXSBJDMX_BJDID,XLXSBJDMX_XH,XLXSBJDMX_XSSX,XLXSBJDMX_XLXHID,XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_CPMLMC ");
|
||||
SQL.Add(" from XLXSBJDMX ");
|
||||
SQL.Add(" left join XLBZ on XLBZ_XLBZID=XLXSBJDMX_XLBZID ");
|
||||
SQL.Add(" where 1=1 ");
|
||||
//非外购产品
|
||||
SQL.Add(" and isnull(XLXSBJDMX_WGCPBZ,'N') <> 'Y' ");
|
||||
|
||||
if (sCLYLZJFS.Equals("2"))
|
||||
{
|
||||
//无材料清单记录
|
||||
SQL.Add(" and not exists (select 1 from XLXSCLQD where XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID =XLXSBJDMX_XLGGID ");
|
||||
SQL.Add(" and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID and XLXSCLQD_WPID ='ZZZZ' ) ");
|
||||
}
|
||||
else if (sCLYLZJFS.Equals("3"))
|
||||
{
|
||||
//无表价
|
||||
SQL.Add(" and XLXSBJDMX_JGBBJ = 0 ");
|
||||
}
|
||||
else if (sCLYLZJFS.Equals("2,3"))
|
||||
{
|
||||
//无材料清单或无表价记录
|
||||
SQL.Add(" and (not exists (select 1 from XLXSCLQD where XLXSCLQD_XLXHID=XLXSBJDMX_XLXHID and XLXSCLQD_XLGGID =XLXSBJDMX_XLGGID ");
|
||||
SQL.Add(" and XLXSCLQD_XLBZID=XLXSBJDMX_XLBZID and XLXSCLQD_DYDJID = XLXSBJDMX_DYDJID and XLXSCLQD_WPID ='ZZZZ' ) OR XLXSBJDMX_JGBBJ = 0 ) ");
|
||||
}
|
||||
else if (sCLYLZJFS.Equals("4"))
|
||||
{
|
||||
//销售报价单明细不参与调价因子为0时自动触发
|
||||
SQL.Add(" and exists (select 1 from XLXSBJDYZZ0 where XLXSBJDYZZ0_BJDID=XLXSBJDMX_BJDID and XLXSBJDYZZ0_XH =XLXSBJDMX_XH ");
|
||||
SQL.Add(" and (XLXSBJDYZZ0_YZZ02=0 or XLXSBJDYZZ0_YZZ03=0)) ");
|
||||
}
|
||||
else
|
||||
{
|
||||
SQL.Add(" and 1<>1 ");
|
||||
}
|
||||
if (!sBJDID.Equals(""))
|
||||
{
|
||||
SQL.Add("and XLXSBJDMX_BJDID=:pBJDID ");
|
||||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
}
|
||||
else
|
||||
{
|
||||
SQL.Add("and 1<>1 ");
|
||||
}
|
||||
DataSet dsBJDMX = dberp.OpenDataSet(SQL);
|
||||
SQL.Clear();
|
||||
SQL.Add(" insert into V_XLXSBJYLZDMX(V_XLXSBJYLZDMX_BJDID,V_XLXSBJYLZDMX_BJDXH,V_XLXSBJYLZDMX_ZDRGH) values ");
|
||||
SQL.Add("(:pBJDID,:pBJDXH,:pZDRGH ) ");
|
||||
for (int i = 0; i < dsBJDMX.Tables[0].Rows.Count; i++)
|
||||
{
|
||||
string sZDRGH = sGH;
|
||||
//根据配置项赋值制定人
|
||||
string sXLXHID = dsBJDMX.Tables[0].Rows[i]["XLXSBJDMX_XLXHID"].ToString().Trim();
|
||||
string sXLGGID = dsBJDMX.Tables[0].Rows[i]["XLXSBJDMX_XLGGID"].ToString().Trim();
|
||||
string sXLBZID = dsBJDMX.Tables[0].Rows[i]["XLXSBJDMX_XLBZID"].ToString().Trim();
|
||||
string sDYDJID = dsBJDMX.Tables[0].Rows[i]["XLXSBJDMX_DYDJID"].ToString().Trim();
|
||||
string sCPMLMC = dsBJDMX.Tables[0].Rows[i]["XLXSBJDMX_CPMLMC"].ToString().Trim();
|
||||
string sTmpZDRGH = string.Empty;
|
||||
if (XLBJDUtils.GetXLXSBJPZXX(100860064).XLXSBJPZ_MRZDR.Equals("1"))
|
||||
{
|
||||
sZDRGH = GetZDRGHByCZB(sXLXHID, sXLGGID, sXLBZID, sDYDJID);
|
||||
|
||||
}
|
||||
else if (XLBJDUtils.GetXLXSBJPZXX(100860064).XLXSBJPZ_MRZDR.Equals("2"))
|
||||
{
|
||||
sTmpZDRGH = GetZDRGHByCPML(sCPMLMC);
|
||||
string sZDRGHList = "," + GetZDRGHList() + ",";
|
||||
if (sZDRGHList.Contains("," + sTmpZDRGH + ","))
|
||||
{
|
||||
sZDRGH = sTmpZDRGH;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
SQL.ParamByName("pBJDXH").Value = CMISproConvert.StrToInt(dsBJDMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim());
|
||||
SQL.ParamByName("pZDRGH").Value = sZDRGH;
|
||||
dberp.ExecSQL(SQL);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 控件事件
|
||||
protected void btnOK_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (ContentGrid.DataKeys.Count <= 0)
|
||||
{
|
||||
ShowMessage("请选择记录!");
|
||||
return;
|
||||
}
|
||||
bool FlagDRMXAll = false;
|
||||
if (!((ContentGrid.CheckBox && !String.IsNullOrEmpty(ContentGrid.CheckedRowIndexs)) || (ContentGrid.SelectedIndex >= 0)))
|
||||
{
|
||||
FlagDRMXAll = true;
|
||||
|
||||
}
|
||||
|
||||
string[] RowsArry;
|
||||
|
||||
if (ContentGrid.CheckBox && !String.IsNullOrEmpty(ContentGrid.CheckedRowIndexs))
|
||||
{
|
||||
RowsArry = ContentGrid.CheckedRowIndexs.Split(new char[] { ',' });
|
||||
}
|
||||
else
|
||||
{
|
||||
RowsArry = new string[1];
|
||||
RowsArry[0] = ContentGrid.SelectedIndex.ToString();
|
||||
}
|
||||
//成功创建记录标志
|
||||
int flag = 0;
|
||||
string sBJDID = PageParam.GetRTrimString("BJDID");
|
||||
string sSQDH = CMISproDataBase.GetYWBHByNY("DBERP", "XLXSBJYLZD", "XLXSBJYLZD_SQDH", 4);
|
||||
DataSet ds = new DataSet();
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
TSQL SQL = new TSQL(dberp);
|
||||
|
||||
try
|
||||
{
|
||||
dberp.BeginTrans();
|
||||
SQL.Clear();
|
||||
SQL.Add(" insert into XLXSBJYLZD");
|
||||
SQL.Add(" ( ");
|
||||
SQL.Add(" XLXSBJYLZD_SQDH,XLXSBJYLZD_SQRGH,XLXSBJYLZD_SQSJ, ");
|
||||
SQL.Add(" XLXSBJYLZD_WCSJ,XLXSBJYLZD_BJDID,XLXSBJYLZD_BZ, ");
|
||||
SQL.Add(" XLXSBJYLZD_FJS,XLXSBJYLZD_DOCGRPID, ");
|
||||
SQL.Add(" XLXSBJYLZD_WHR,XLXSBJYLZD_WHRID,XLXSBJYLZD_WHSJ ");
|
||||
SQL.Add(" ) ");
|
||||
SQL.Add(" values(");
|
||||
SQL.Add(" :XLXSBJYLZD_SQDH,:XLXSBJYLZD_SQRGH,:XLXSBJYLZD_SQSJ, ");
|
||||
SQL.Add(" :XLXSBJYLZD_WCSJ,:XLXSBJYLZD_BJDID,:XLXSBJYLZD_BZ, ");
|
||||
SQL.Add(" :XLXSBJYLZD_FJS,:XLXSBJYLZD_DOCGRPID, ");
|
||||
SQL.Add(" :XLXSBJYLZD_WHR,:XLXSBJYLZD_WHRID,:XLXSBJYLZD_WHSJ ");
|
||||
SQL.Add(" ) ");
|
||||
SQL.ParamByName("XLXSBJYLZD_SQDH").Value = sSQDH;
|
||||
SQL.ParamByName("XLXSBJYLZD_SQRGH").Value = tSession.UserId;
|
||||
SQL.ParamByName("XLXSBJYLZD_SQSJ").Value = DateTime.Now;
|
||||
|
||||
SQL.ParamByName("XLXSBJYLZD_WCSJ").Value = null;
|
||||
SQL.ParamByName("XLXSBJYLZD_BJDID").Value = sBJDID;
|
||||
SQL.ParamByName("XLXSBJYLZD_BZ").Value = "";
|
||||
|
||||
double dDOCGRPID = this.altAttachList.DocGroupId;
|
||||
double dFJS = 0;
|
||||
if (dDOCGRPID != 0)
|
||||
{
|
||||
DocFileInfo[] docFileInfo = FileService.GetFilesInfo(dDOCGRPID);
|
||||
dFJS = docFileInfo.Length;
|
||||
}
|
||||
SQL.ParamByName("XLXSBJYLZD_FJS").Value = dFJS;
|
||||
SQL.ParamByName("XLXSBJYLZD_DOCGRPID").Value = dDOCGRPID;
|
||||
;
|
||||
|
||||
SQL.ParamByName("XLXSBJYLZD_WHR").Value = tSession.UserName;
|
||||
SQL.ParamByName("XLXSBJYLZD_WHRID").Value = tSession.UserId;
|
||||
SQL.ParamByName("XLXSBJYLZD_WHSJ").Value = DateTime.Now;
|
||||
dberp.ExecSQL(SQL);
|
||||
//导入之后设置工作流状态
|
||||
TWorkflow xshtWF = new TWorkflow(tSession, new System.Web.Caching.Cache());
|
||||
xshtWF.UMID = this.UMID;
|
||||
xshtWF.WFNewInst(xshtWF.GetWFID("XLXSBJYLZD"), tSession.UserId);
|
||||
dberp.ExecSQL(string.Format("update XLXSBJYLZD set XLXSBJYLZD_WFID='{0}', XLXSBJYLZD_WPID='{1}', "
|
||||
+ "XLXSBJYLZD_WFAWAITER='{2}',XLXSBJYLZD_WFHANDLER='{3}',XLXSBJYLZD_WFINST=isnull({4},0),XLXSBJYLZD_ACTNAME='{5}' where XLXSBJYLZD_SQDH='{6}' ",
|
||||
xshtWF.WFID, xshtWF.WPID, xshtWF.Awaiter, xshtWF.Handler, xshtWF.WFInst, xshtWF.GetWFActionName(TWFAction.wfaNewInst), sSQDH));
|
||||
|
||||
string sXHlist = "";
|
||||
if (FlagDRMXAll)
|
||||
{
|
||||
SQL.Clear();
|
||||
SQL.Add(GetQuerySql());
|
||||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
DataSet QueryXLXSBJDMX = dberp.OpenDataSet(SQL);
|
||||
if (QueryXLXSBJDMX.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
for (int i = 0; i < QueryXLXSBJDMX.Tables[0].Rows.Count; i++)
|
||||
{
|
||||
sXHlist = sXHlist + QueryXLXSBJDMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim() + ",";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int j = 0; j < RowsArry.Length; j++)
|
||||
{
|
||||
sXHlist = sXHlist + ContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSBJDMX_XH"].ToString().Trim() + ",";
|
||||
}
|
||||
}
|
||||
sXHlist = sXHlist.TrimEnd(',');
|
||||
|
||||
if (CMISproDataBase.ExistsRecord("DBERP", "select 1 from V_XLXSBJYLZDMX where V_XLXSBJYLZDMX_BJDID='" + sBJDID + "' and isnull(V_XLXSBJYLZDMX_ZDRGH,' ')=' ' and" + CMISproDataBase.GetWhereEqual("V_XLXSBJYLZDMX_BJDXH", sXHlist)))
|
||||
{
|
||||
string sWarning = "存在制定人为空的记录,是否继续?";
|
||||
Confirm.Register("IsQD", sWarning);
|
||||
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();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//string sGH = GetZDRGHList();
|
||||
//bool bZDR = false;
|
||||
//if (!sGH.Equals("") && !sGH.Contains(","))
|
||||
// bZDR = true;
|
||||
SQL.Clear();
|
||||
SQL.Add("insert into XLXSBJYLZDMX(");
|
||||
SQL.Add(" XLXSBJYLZDMX_SQDH,XLXSBJYLZDMX_XH,XLXSBJYLZDMX_BJDXH, ");
|
||||
SQL.Add(" XLXSBJYLZDMX_BJDXLXHID,XLXSBJYLZDMX_BJDXLGGID,XLXSBJYLZDMX_BJDXLBZID,XLXSBJYLZDMX_BJDDYDJID,XLXSBJYLZDMX_BJDXDXLBZID, ");
|
||||
SQL.Add(" XLXSBJYLZDMX_ZDRGH,XLXSBJYLZDMX_BZDBZ,XLXSBJYLZDMX_DZSC, ");
|
||||
SQL.Add(" XLXSBJYLZDMX_XLXHID,XLXSBJYLZDMX_XLGGID,XLXSBJYLZDMX_XLBZID,XLXSBJYLZDMX_DYDJID,XLXSBJYLZDMX_XDXLBZID, ");
|
||||
SQL.Add(" XLXSBJYLZDMX_BZ,XLXSBJYLZDMX_WHR,XLXSBJYLZDMX_WHRID,XLXSBJYLZDMX_WHSJ ");
|
||||
SQL.Add(" ) ");
|
||||
SQL.Add(" select :pSQDH, row_number() over(order by XLXSBJDMX_XH) as XH,XLXSBJDMX_XH, ");
|
||||
SQL.Add(" XLXSBJDMX_XLXHID, XLXSBJDMX_XLGGID,XLXSBJDMX_XLBZID,XLXSBJDMX_DYDJID,XLXSBJDMX_XDXLBZID, ");
|
||||
|
||||
//if (bZDR)
|
||||
// SQL.Add(" '" + sGH + "', 'N', XLXSBJDMX_DZSC, ");
|
||||
//else
|
||||
SQL.Add(" V_XLXSBJYLZDMX_ZDRGH, 'N', XLXSBJDMX_DZSC, ");
|
||||
|
||||
SQL.Add(" case when XLXHB_XLXHID is null then '' else XLXSBJDMX_XLXHID end , ");
|
||||
SQL.Add(" case when XLXHB_XLXHID is null then '' else XLXSBJDMX_XLGGID end , ");
|
||||
SQL.Add(" case when XLXHB_XLXHID is null then '' else XLXSBJDMX_XLBZID end , ");
|
||||
SQL.Add(" case when XLXHB_XLXHID is null then '' else XLXSBJDMX_DYDJID end , ");
|
||||
SQL.Add(" case when XLXHB_XLXHID is null then '' else XLXSBJDMX_XDXLBZID end , ");
|
||||
SQL.Add(" XLXSBJDMX_BZ, :pWHR, :pWHRID, :pWHSJ ");
|
||||
SQL.Add(" from XLXSBJDMX ");
|
||||
SQL.Add(" left join XLXHB on XLXHB_XLXHID=XLXSBJDMX_XLXHID ");
|
||||
SQL.Add(" left join V_XLXSBJYLZDMX on V_XLXSBJYLZDMX_BJDID=XLXSBJDMX_BJDID and V_XLXSBJYLZDMX_BJDXH=XLXSBJDMX_XH ");
|
||||
SQL.Add(" where 1 = 1 ");
|
||||
SQL.Add(" and XLXSBJDMX_BJDID = :pBJDID ");
|
||||
SQL.Add(" and " + CMISproDataBase.GetWhereEqual("XLXSBJDMX_XH", sXHlist));
|
||||
SQL.ParamByName("pSQDH").Value = sSQDH;
|
||||
SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
SQL.ParamByName("pWHR").Value = tSession.UserName;
|
||||
SQL.ParamByName("pWHRID").Value = tSession.UserId;
|
||||
SQL.ParamByName("pWHSJ").Value = DateTime.Now;
|
||||
dberp.ExecSQL(SQL);
|
||||
flag = 1;
|
||||
|
||||
//SQL.Clear();
|
||||
//SQL.Add("delete from V_XLXSBJYLZDMX where V_XLXSBJYLZDMX_BJDID=:pBJDID");
|
||||
//SQL.ParamByName("pBJDID").Value = sBJDID;
|
||||
//dberp.ExecSQL(SQL);
|
||||
dberp.CommitTrans();
|
||||
|
||||
if (flag == 1)
|
||||
{
|
||||
//提交下一步
|
||||
#region 自动提交下一步
|
||||
string sWFID = xshtWF.WFID;
|
||||
double WFINST = xshtWF.WFInst;
|
||||
string sAWaiter = xshtWF.Awaiter;
|
||||
string sNextAwaiter = "";
|
||||
|
||||
//提交下一步
|
||||
xshtWF.Enabled = true;
|
||||
string sUser;
|
||||
string[] sStr = sAWaiter.Split(',');
|
||||
try
|
||||
{
|
||||
sUser = sStr[1];
|
||||
}
|
||||
catch
|
||||
{
|
||||
sUser = tSession.UserId;
|
||||
}
|
||||
xshtWF.CurUserID = sUser;
|
||||
|
||||
xshtWF.WFInfo(sWFID, WFINST, sUser);
|
||||
|
||||
TWFActionParam param = new TWFActionParam();
|
||||
param.sOpinion = "";
|
||||
param.sNextWFID = sWFID;
|
||||
string sNWPID = "";
|
||||
//---------直接使用工作流方法取下一步工作流NWPID,不再使用直接写的方法
|
||||
TStrings wfpName = new TStrings();
|
||||
wfpName.Text = xshtWF.WFGetNextWFP(sWFID, xshtWF.WFGetStartWPID(sWFID));
|
||||
try
|
||||
{
|
||||
if (wfpName.Count > 1)
|
||||
{
|
||||
sNWPID = wfpName.Names(1).Trim();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
flag = 2;
|
||||
}
|
||||
//-----
|
||||
if (flag == 1)
|
||||
{
|
||||
param.sNextWPID = sNWPID;
|
||||
param.sNextNotifier = "";
|
||||
if (!sNWPID.Trim().Equals("ZZZZ"))
|
||||
{
|
||||
sNextAwaiter = xshtWF.WFGetNextAwaiter(sWFID, sNWPID);
|
||||
if (sNextAwaiter.Trim().Equals("") || sNextAwaiter.Trim().Length > 250)
|
||||
{
|
||||
flag = 3;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//第一步到结束过程需要手动提交,需要调整数据,此处不做处理。
|
||||
flag = 4;
|
||||
}
|
||||
if (flag == 1)
|
||||
{
|
||||
param.sNextAwaiter = "," + sNextAwaiter + ",";
|
||||
if (!xshtWF.WFIsStopWPID(sWFID, sNWPID))
|
||||
param.sWFState = TWorkflow.wfsRunning;
|
||||
else
|
||||
param.sWFState = TWorkflow.wfsDone;
|
||||
|
||||
if (xshtWF.WFWorkIsDone(sWFID, WFINST, sUser))
|
||||
{
|
||||
param.sWPState = TWorkflow.wpsSubmit;
|
||||
}
|
||||
else
|
||||
{
|
||||
param.sWPState = TWorkflow.wfsRunning;
|
||||
}
|
||||
xshtWF.WFSubmit(sWFID, WFINST, sUser, param);
|
||||
xshtWF.dbe.ExecSQL(string.Format("update XLXSBJYLZD set XLXSBJYLZD_WPID='{0}', XLXSBJYLZD_WFAWAITER='{1}', XLXSBJYLZD_WFHANDLER='{2}' ,XLXSBJYLZD_WFINST={3},XLXSBJYLZD_WFID='{4}',XLXSBJYLZD_ACTNAME='{5}' where XLXSBJYLZD_SQDH='{6}' ",
|
||||
xshtWF.WPID, xshtWF.Awaiter, xshtWF.Handler, xshtWF.WFInst, xshtWF.WFID, xshtWF.GetWFActionName(TWFAction.wfaSubmit), sSQDH));
|
||||
|
||||
string sBZWPID = TWorkflow.Utils.WFGetBZSWID(xshtWF.WFID, xshtWF.WPID);
|
||||
if (sBZWPID.Equals("0055"))
|
||||
{
|
||||
string sErrorMsg = "";
|
||||
XLXSBJYLZDEntity.UpdateHZBZ(SQL, dberp, sSQDH, ref sErrorMsg);
|
||||
if (!sErrorMsg.Equals(""))
|
||||
{
|
||||
throw new Exception(sErrorMsg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
if (flag != 1)
|
||||
{
|
||||
CloseWindow();
|
||||
|
||||
SQL.Clear();
|
||||
SQL.Add(" select XLXSBJYLZD_SQDH,XLXSBJYLZD_WFID,XLXSBJYLZD_WFINST from XLXSBJYLZD where XLXSBJYLZD_SQDH=:pXLXSBJYLZD_SQDH ");
|
||||
SQL.ParamByName("pXLXSBJYLZD_SQDH").Value = sSQDH;
|
||||
ds = dberp.OpenDataSet(SQL);
|
||||
if (ds.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
//打开记录浏览
|
||||
TPageParams pageParams = new TPageParams();
|
||||
pageParams.CallAction = TPageCallAction.pcaBrowse;
|
||||
pageParams.UrlPath = "CLYLZDSQInfo.aspx";
|
||||
//列表页参数
|
||||
pageParams.AddString("XLXSBJYLZD_SQDH", ds.Tables[0].Rows[0]["XLXSBJYLZD_SQDH"].ToString().Trim());
|
||||
pageParams.AddString("WFID", ds.Tables[0].Rows[0]["XLXSBJYLZD_WFID"].ToString().Trim());
|
||||
pageParams.AddString("WFINST", ds.Tables[0].Rows[0]["XLXSBJYLZD_WFINST"].ToString().Trim());
|
||||
OpenModuleDialog(this.UMID, pageParams);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CloseWindow();
|
||||
ShowMessage("已生成材料用量制定申请!");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
dberp.RollbackTrans();
|
||||
ShowMessage("生成失败,原因:" + ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void btnQX_Click(object sender, EventArgs e)
|
||||
{
|
||||
CloseWindow();
|
||||
}
|
||||
|
||||
|
||||
protected void btnPLSZZDR_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (ContentGrid.DataKeys.Count <= 0)
|
||||
{
|
||||
ShowMessage("请选择记录!");
|
||||
return;
|
||||
}
|
||||
bool FlagDRMXAll = false;
|
||||
if (!((ContentGrid.CheckBox && !String.IsNullOrEmpty(ContentGrid.CheckedRowIndexs)) || (ContentGrid.SelectedIndex >= 0)))
|
||||
{
|
||||
FlagDRMXAll = true;
|
||||
|
||||
}
|
||||
string[] RowsArry;
|
||||
|
||||
|
||||
if (ContentGrid.CheckBox && !String.IsNullOrEmpty(ContentGrid.CheckedRowIndexs))
|
||||
{
|
||||
RowsArry = ContentGrid.CheckedRowIndexs.Split(new char[] { ',' });
|
||||
}
|
||||
else
|
||||
{
|
||||
RowsArry = new string[1];
|
||||
RowsArry[0] = ContentGrid.SelectedIndex.ToString();
|
||||
}
|
||||
string sXHlist = "";
|
||||
if (FlagDRMXAll)
|
||||
{
|
||||
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
|
||||
TSQL SQL = new TSQL(dberp);
|
||||
SQL.Clear();
|
||||
SQL.Add(GetQuerySql());
|
||||
SQL.ParamByName("pBJDID").Value = PageParam.GetRTrimString("BJDID");
|
||||
DataSet QueryXLXSBJDMX = dberp.OpenDataSet(SQL);
|
||||
if (QueryXLXSBJDMX.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
for (int i = 0; i < QueryXLXSBJDMX.Tables[0].Rows.Count; i++)
|
||||
{
|
||||
sXHlist = sXHlist + QueryXLXSBJDMX.Tables[0].Rows[i]["XLXSBJDMX_XH"].ToString().Trim() + ",";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int j = 0; j < RowsArry.Length; j++)
|
||||
{
|
||||
sXHlist = sXHlist + ContentGrid.DataKeys[CMISproConvert.StrToInt(RowsArry[j])]["XLXSBJDMX_XH"].ToString().Trim() + ",";
|
||||
}
|
||||
}
|
||||
TPageParams pageParams = new TPageParams();
|
||||
pageParams.UrlPath = "CLYLZDSQOper_ZDRInfo.aspx";
|
||||
pageParams.AddString("BJDID", PageParam.GetRTrimString("BJDID"));
|
||||
pageParams.AddString("XHList", sXHlist);
|
||||
pageParams.AddString("FlagDRMXAll", FlagDRMXAll.ToString().Trim());
|
||||
pageParams.AddString("btnRefreshClientID", btnRefresh.ClientID);
|
||||
OpenDialog(pageParams);
|
||||
}
|
||||
|
||||
//刷新记录
|
||||
protected void btnRefresh_Click(object sender, EventArgs e)
|
||||
{
|
||||
moduleGV_PageIndexChanging(null, null);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user