This commit is contained in:
2026-08-21 17:03:02 +08:00
commit f065129b20
2292 changed files with 666241 additions and 0 deletions
+780
View File
@@ -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
}
}