This commit is contained in:
2026-08-21 17:03:02 +08:00
commit f065129b20
2292 changed files with 666241 additions and 0 deletions
+632
View File
@@ -0,0 +1,632 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Text.RegularExpressions;
using System.Web.UI;
using System.Web.UI.WebControls;
using GThinking.N_CONTROL;
using GThinking.N_MISPRO;
using GThinking.N_MISPRO.Data;
using GThinking.N_MISPRO.Utility;
using GThinking.N_MODEL.Dialog;
using GThinking.N_WORKFLOW;
using GThinking.N_MISPRO.TableCache;
using GThinking.N_MISPRO.MISPROAS;
using System.Collections;
using GThinking.N_MODEL.ModelBase;
using System.Text;
using GThinking.N_PUBLIC2;
namespace GThinking.N_XLXSBJ
{
public class CLYLZDSQModel : ModelBase
{
#region 属性字段
private string _XLXSBJYLZD_SQDH = string.Empty;
public string XLXSBJYLZD_SQDH
{
get { return _XLXSBJYLZD_SQDH; }
set { _XLXSBJYLZD_SQDH = value; }
}
//SQR字段:rtrim(XLXSBJYLZD_SQRGH) || ‘|’ || RSRYJBXX_RYMC as SQR,
private string _SQR = string.Empty;
public string SQR
{
get { return _SQR; }
set { _SQR = value; }
}
private string _XLXSBJYLZD_SQSJ = string.Empty;
public string XLXSBJYLZD_SQSJ
{
get { return _XLXSBJYLZD_SQSJ; }
set { _XLXSBJYLZD_SQSJ = value; }
}
private string _XLXSBJYLZD_WCSJ = string.Empty;
public string XLXSBJYLZD_WCSJ
{
get { return _XLXSBJYLZD_WCSJ; }
set { _XLXSBJYLZD_WCSJ = value; }
}
private string _XLXSBJYLZD_BJDID = string.Empty;
public string XLXSBJYLZD_BJDID
{
get { return _XLXSBJYLZD_BJDID; }
set { _XLXSBJYLZD_BJDID = value; }
}
private string _XLXSBJD_TXY = string.Empty;
public string XLXSBJD_TXY
{
get { return _XLXSBJD_TXY; }
set { _XLXSBJD_TXY = value; }
}
private string _XLXSBJYLZD_BZ = string.Empty;
public string XLXSBJYLZD_BZ
{
get { return _XLXSBJYLZD_BZ; }
set { _XLXSBJYLZD_BZ = value; }
}
#endregion
private List<CLYLZDSQMXModel> _MXInfos = new List<CLYLZDSQMXModel>();//本次所返回的记录的明细数据
public List<CLYLZDSQMXModel> MXInfos
{
get { return _MXInfos; }
set { _MXInfos = value; }
}
public CLYLZDSQModel()
{ }
public CLYLZDSQModel(string sWFID, double dWFINST)
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Clear();
sSQL.Add("select XLXSBJYLZD_SQDH, XLXSBJYLZD_WPID ");
sSQL.Add(" from XLXSBJYLZD ");
sSQL.Add(" where XLXSBJYLZD_WFID = :pWFID and XLXSBJYLZD_WFINST = :pWFINST");
sSQL.ParamByName("pWFID").Value = sWFID;
sSQL.ParamByName("pWFINST").Value = dWFINST;
DataSet ds = dberp.OpenDataSet(sSQL);
if (ds.Tables[0].Rows.Count > 0)
{
XLXSBJYLZD_SQDH = ds.Tables[0].Rows[0]["XLXSBJYLZD_SQDH"].ToString().Trim();
WPID = ds.Tables[0].Rows[0]["XLXSBJYLZD_WPID"].ToString().Trim();
}
WFID = sWFID;
WFINST = dWFINST;
}
}
public class CLYLZDSQMXModel : ModelBase
{
private string _XLXSBJYLZDMX_SQDH = string.Empty;
public string XLXSBJYLZDMX_SQDH
{
get { return _XLXSBJYLZDMX_SQDH; }
set { _XLXSBJYLZDMX_SQDH = value; }
}
private string _XLXSBJYLZDMX_XH = string.Empty;
public string XLXSBJYLZDMX_XH
{
get { return _XLXSBJYLZDMX_XH; }
set { _XLXSBJYLZDMX_XH = value; }
}
private string _XLXSBJDMX_XSSX = string.Empty;
public string XLXSBJDMX_XSSX
{
get { return _XLXSBJDMX_XSSX; }
set { _XLXSBJDMX_XSSX = value; }
}
//BJCP字段:XLXSBJYLZDMX_BJDXLXHID || ‘-’ || XLXSBJYLZDMX_BJDDYDJID || ‘ ’ || XLXSBJYLZDMX_BJDXLGGID as BJCP,
private string _BJCP = string.Empty;
public string BJCP
{
get { return _BJCP; }
set { _BJCP = value; }
}
//XLBZ字段:XLBZ_XLBZLXMC as XLBZ,
private string _XLBZ = string.Empty;
public string XLBZ
{
get { return _XLBZ; }
set { _XLBZ = value; }
}
//ZDR字段:RSRYJBXX_RYMC as ZDR,
private string _ZDR = string.Empty;
public string ZDR
{
get { return _ZDR; }
set { _ZDR = value; }
}
//不生产
private string _XLXSBJYLZDMX_BZDBZ = string.Empty;
public string XLXSBJYLZDMX_BZDBZ
{
get { return _XLXSBJYLZDMX_BZDBZ; }
set { _XLXSBJYLZDMX_BZDBZ = value; }
}
//制定生产
private string _XLXSBJYLZDMX_DZSC = string.Empty;
public string XLXSBJYLZDMX_DZSC
{
get { return _XLXSBJYLZDMX_DZSC; }
set { _XLXSBJYLZDMX_DZSC = value; }
}
//XDBJCP字段:XLXSBJYLZDMX_XLXHID || ‘-’ || XLXSBJYLZDMX_DYDJID || ‘ ’ || XLXSBJYLZDMX_XLGGID as XDBJCP,
private string _XDBJCP = string.Empty;
public string XDBJCP
{
get { return _XDBJCP; }
set { _XDBJCP = value; }
}
//XDXLBZ字段: XLBZ_XLBZLXMC as XDXLBZ
private string _XDXLBZ = string.Empty;
public string XDXLBZ
{
get { return _XDXLBZ; }
set { _XDXLBZ = value; }
}
private string _XLXSBJYLZDMX_BZ = string.Empty;
public string XLXSBJYLZDMX_BZ
{
get { return _XLXSBJYLZDMX_BZ; }
set { _XLXSBJYLZDMX_BZ = value; }
}
private string _XLXSBJYLZDMX_WHR = string.Empty;
public string XLXSBJYLZDMX_WHR
{
get { return _XLXSBJYLZDMX_WHR; }
set { _XLXSBJYLZDMX_WHR = value; }
}
private string _XLXSBJYLZDMX_WHSJ = string.Empty;
public string XLXSBJYLZDMX_WHSJ
{
get { return _XLXSBJYLZDMX_WHSJ; }
set { _XLXSBJYLZDMX_WHSJ = value; }
}
public CLYLZDSQMXModel()
{
}
}
public class CLYLZDSQBO : BOBase
{
#region 查询
public List<CLYLZDSQModel> GetWCLYLZDSQList(int iStart, int iNum, out int iRowCount)
{
List<CLYLZDSQModel> moList = new List<CLYLZDSQModel>();
CurNameQuery = new XLXSBJYLZD_M();
CurNameQuery.FieldByName("SW").Value = "W";
PreQuerySQL(iStart + iNum, "");
iRowCount = OpenQueryCountSQL();
DataSet ds = OpenQueryFunctionSQL();
SetmoList(ds, iStart, iNum, iRowCount, ref moList);
return moList;
}
public List<CLYLZDSQModel> GetHCLYLZDSQList(int iStart, int iNum, out int iRowCount)
{
List<CLYLZDSQModel> moList = new List<CLYLZDSQModel>();
CurNameQuery = new XLXSBJYLZD_M();
CurNameQuery.FieldByName("SW").Value = "H";
PreQuerySQL(iStart + iNum, "");
iRowCount = OpenQueryCountSQL();
DataSet ds = OpenQueryFunctionSQL();
SetmoList(ds, iStart, iNum, iRowCount, ref moList);
return moList;
}
public List<CLYLZDSQModel> GetCLYLZDSQListByFA(int iStart, int iNum, int iMDID, string sNQNAME, string sNQCLASSNAME, out int iRowCount)
{
List<CLYLZDSQModel> moList = new List<CLYLZDSQModel>();
CurNameQuery = new XLXSBJYLZD_M();
CurNameQuery.SetValueFromScheme(tSession.UserId, iMDID, sNQNAME, sNQCLASSNAME);
PreQuerySQL(iStart + iNum, "");
DataSet ds = OpenQueryFunctionSQL();
iRowCount = OpenQueryCountSQL();
SetmoList(ds, iStart, iNum, iRowCount, ref moList);
return moList;
}
public override ModelBase GetSingleModel(string Key)
{
CLYLZDSQModel MO = new CLYLZDSQModel();
CurNameQuery = new XLXSBJYLZD_M();
PreQuerySQL(1, " and XLXSBJYLZD_SQDH = :pKey ");
Param.Add("pKey", Key);
ReplaceParams();
DataSet ds = dbBO.OpenDataSet(QueryFunctionSQL);
if (ds.Tables[0].Rows.Count > 0)
{
SetMO(ds.Tables[0].Rows[0], MO);
SetMXMO(Key, MO);
}
else
MO = null;
return MO;
}
public override ModelBase GetSingleModel(string sWFID, double dWFINST)
{
CLYLZDSQModel MO = new CLYLZDSQModel();
CurNameQuery = new XLXSBJYLZD_M();
PreQuerySQL(1, " and XLXSBJYLZD_WFID = :pWFID and XLXSBJYLZD_WFINST = :pWFINST ");
Param.Add("pWFID", sWFID);
Param.Add("pWFINST", dWFINST);
ReplaceParams();
DataSet ds = dbBO.OpenDataSet(QueryFunctionSQL);
if (ds.Tables[0].Rows.Count > 0)
{
SetMO(ds.Tables[0].Rows[0], MO);
SetMXMO(ds.Tables[0].Rows[0]["XLXSBJYLZD_SQDH"].ToString().Trim(), MO);
}
else
MO = null;
return MO;
}
protected override void PreQuerySQL(int maxRecords, string sCondition)
{
base.PreQuerySQL(maxRecords, sCondition);
string sqlSQL = @"XLXSBJYLZD_SQDH,rtrim(XLXSBJYLZD_SQRGH) || '|' || RSRYJBXX_RYMC as SQR,XLXSBJYLZD_SQSJ,
XLXSBJYLZD_WCSJ, XLXSBJYLZD_BJDID, XLXSBJD_TXY, XLXSBJYLZD_BZ,
XLXSBJYLZD_DOCGRPID as DOCGRPID,XLXSBJYLZD_FJS as FJS,XLXSBJYLZD_WHR as WHR, XLXSBJYLZD_WHRID as WHRID, XLXSBJYLZD_WHSJ as WHSJ,
XLXSBJYLZD_WFID as WFID, XLXSBJYLZD_WFINST as WFINST, XLXSBJYLZD_WFAWAITER as WFAWAITER, XLXSBJYLZD_WFHANDLER as WFHANDLER, XLXSBJYLZD_WPID as WPID, XLXSBJYLZD_ACTNAME as ACTNAME
from XLXSBJYLZD
left join RSRYJBXX on RSRYJBXX_GH = XLXSBJYLZD_SQRGH
left join XLXSBJD on XLXSBJD_BJDID = XLXSBJYLZD_BJDID
where 1 = 1 ";
QueryFunctionSQL.Add(sqlSQL);
QueryFunctionSQL.Add(sCondition);
string sSQL = string.Empty;
if (!string.IsNullOrEmpty(CurNameQuery.FieldByName("SW").Value))
{
switch (CurNameQuery.FieldByName("SW").Value.Trim())
{
case "A":
break;
case "H":
sSQL += " and XLXSBJYLZD_WFHANDLER like '%," + tSession.UserId + ",%'";
break;
case "W":
sSQL += " and " + _curWorkFlow.GetWhereAgent("XLXSBJYLZD", tSession.UserId, "XLXSBJYLZD_WFAWAITER", "XLXSBJYLZD_WFID", "XLXSBJYLZD_WPID");
break;
}
}
if (!string.IsNullOrEmpty(CurNameQuery.FieldByName("WFAWAITER").Value.Trim()))
{
sSQL += " and XLXSBJYLZD_WFAWAITER like :pWFAWITER";
Param.Add("pWFAWITER", string.Format("%,{0},%", CurNameQuery.FieldByName("WFAWAITER").Value.Trim()));
}
if (!string.IsNullOrEmpty(CurNameQuery.FieldByName("WPID").Value))
{
sSQL += " and " + CMISproDataBase.GetWhereEqual("XLXSBJYLZD_WPID", CurNameQuery.FieldByName("WPID").Value);
}
if (!string.IsNullOrEmpty(CurNameQuery.FieldByName("BJDID").Value.Trim()))
{
sSQL += " and XLXSBJYLZD_BJDID like :pXLXSBJYLZD_BJDID";
Param.Add("pXLXSBJYLZD_BJDID", "%" + CurNameQuery.FieldByName("BJDID").Value.Trim() + "%");
}
sSQL += CMISproDataBase.GetTimeConditionSQL("XLXSBJYLZD_SQSJ", CurNameQuery.FieldByName("SQRQS").Value.Trim(),
CurNameQuery.FieldByName("SQRQZ").Value.Trim(), DateTimeType.dtTime, DateTimeType.dtTime);
QueryFunctionSQL.Add(sSQL);
if (maxRecords > 1)
{
QueryCountSQL.Add(" from XLXSBJYLZD ");
QueryCountSQL.Add(" left join RSRYJBXX on RSRYJBXX_GH = XLXSBJYLZD_SQRGH ");
QueryCountSQL.Add(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJYLZD_BJDID ");
QueryCountSQL.Add(" where 1=1 ");
QueryCountSQL.Add(sCondition);
QueryCountSQL.Add(sSQL);
}
QueryFunctionSQL.Add(" order by XLXSBJYLZD_SQDH desc ");
string sFields = "XLXSBJYLZD_SQDH,SQR,XLXSBJYLZD_SQSJ,XLXSBJYLZD_WCSJ,XLXSBJYLZD_BJDID,XLXSBJD_TXY,XLXSBJYLZD_BZ,"
+ "WPID,ACTNAME,DOCGRPID,FJS,WHR,WHRID,WHSJ,WFID,WFINST,WFAWAITER,WFHANDLER";
aField = sFields.Split(',');
}
private void SetmoList(DataSet ds, int iStart, int iNum, int iRowCount, ref List<CLYLZDSQModel> moList)
{
int iMax = Math.Min(iStart + iNum, iRowCount);
for (int i = iStart; i < iMax; i++)
{
CLYLZDSQModel MO = new CLYLZDSQModel();
SetMO(ds.Tables[0].Rows[i], MO);
SetMXMO(ds.Tables[0].Rows[i]["XLXSBJYLZD_SQDH"].ToString().Trim(), MO);
moList.Add(MO);
}
}
#endregion
public override bool CanEdit(ModelBase MO)
{
return false;
}
public override bool CanDelete(ModelBase MO)
{
return false;
}
#region 工作流
public override WorkFlowResult Submit(string sNWPID, string sNAWAITER, string sCLYJ)
{
_curWorkFlow.UMID = 100860064;
return base.Submit(sNWPID, sNAWAITER, sCLYJ);
}
protected override void WFAfterActionEvent(TWorkflow Sender, TWFAction Action, bool ActionIsDone)
{
if (!ActionIsDone)
return;
CurMO.WFID = Sender.WFID;
CurMO.WFINST = Sender.WFInst;
CurMO.WFAWAITER = Sender.Awaiter;
CurMO.WFHANDLER = Sender.Handler;
CurMO.WPID = Sender.WPID;
CurMO.WPNAME = Sender.GetWPName(Sender.WFID, Sender.WPID);
CurMO.ACTNAME = Sender.GetWFActionName(Action);
CMISproSession tSession = CMISproSessionManager.GetCurrentSession();
TSQL SQL = new TSQL(Sender.dbe);
SQL.Clear();
SQL.Add("update XLXSBJYLZD ");
SQL.Add(" set XLXSBJYLZD_WFID = :XLXSBJYLZD_WFID, ");
SQL.Add(" XLXSBJYLZD_WPID = :XLXSBJYLZD_WPID, ");
SQL.Add(" XLXSBJYLZD_WFAWAITER = :XLXSBJYLZD_WFAWAITER, ");
SQL.Add(" XLXSBJYLZD_WFHANDLER = :XLXSBJYLZD_WFHANDLER, ");
SQL.Add(" XLXSBJYLZD_WFINST = :XLXSBJYLZD_WFINST, ");
SQL.Add(" XLXSBJYLZD_ACTNAME = :XLXSBJYLZD_ACTNAME ");
SQL.Add(" where XLXSBJYLZD_SQDH = :XLXSBJYLZD_SQDH ");
SQL.ParamByName("XLXSBJYLZD_WFID").Value = Sender.WFID;
SQL.ParamByName("XLXSBJYLZD_WPID").Value = Sender.WPID;
SQL.ParamByName("XLXSBJYLZD_WFAWAITER").Value = Sender.Awaiter;
SQL.ParamByName("XLXSBJYLZD_WFHANDLER").Value = Sender.Handler;
SQL.ParamByName("XLXSBJYLZD_WFINST").Value = Sender.WFInst;
SQL.ParamByName("XLXSBJYLZD_ACTNAME").Value = Sender.GetWFActionName(Action);
SQL.ParamByName("XLXSBJYLZD_SQDH").Value = (CurMO as CLYLZDSQModel).XLXSBJYLZD_SQDH.Trim();
Sender.dbe.ExecSQL(SQL);
//“0040|审核”提交至“0050|录入”时,根据XLXSBJYLZDMX_XLXHID、XLXSBJYLZDMX_XLGGID、XLXSBJYLZDMX_XLBZID、XLXSBJYLZDMX_DYDJID
//自动生成“100860014|线缆销售报价材料用量”记录(注意:XLXSCLQD_BJDID、XLXSCLQD_BJDXH两字段赋值为XLXSBJYLZD_BJDID、XLXSBJYLZDMX_BJDXH),记录待处理人为XLXSBJYLZDMX_ZDRGH对应用户
string sCurZT = TWorkflow.Utils.WFGetBZSWID(Sender.WFID, Sender.WPID);
string sSQDH = (CurMO as CLYLZDSQModel).XLXSBJYLZD_SQDH;
if (sCurZT.Equals("0050") && Action == TWFAction.wfaSubmit)
{
string sErrorMsg = "";
XLXSBJYLZDEntity.InsXLXSCLQD(SQL, Sender.dbe, sSQDH, tSession, ref sErrorMsg);
if (!sErrorMsg.Equals(""))
{
ActionIsDone = false;
throw new Exception(sErrorMsg);
}
}
//“0050|录入”提交至“0060|确认”后,更新XLXSBJYLZD_WCSJ=当前时间
if (sCurZT.Equals("0060") && Action == TWFAction.wfaSubmit)
{
string sErrorMsg = "";
XLXSBJYLZDEntity.UpdateWCSJ(SQL, Sender.dbe, sSQDH, ref sErrorMsg);
if (!sErrorMsg.Equals(""))
{
ActionIsDone = false;
throw new Exception(sErrorMsg);
}
}
//0030转交时,将明细“制定人”为当前用户的明细记录的制定人更新成转交到的那个人
if (sCurZT.Equals("0030") && Action == TWFAction.wfaDeliver)
{
string sErrorMsg = "";
string sWaiter = Sender.Awaiter.TrimEnd(',');
sWaiter = sWaiter.TrimStart(',');
string sDeliver = "";
foreach (String sGH in sWaiter.Split(','))
{
sDeliver = sGH;
}
if (!sDeliver.Equals(""))
{
XLXSBJYLZDEntity.UpdateZDR(SQL, Sender.dbe, sSQDH, sDeliver, tSession.UserId, ref sErrorMsg);
if (!sErrorMsg.Equals(""))
{
ActionIsDone = false;
throw new Exception(sErrorMsg);
}
}
}
}
protected override bool CanSubmit()
{
if (!base.CanSubmit()) return false;
string sSQDH = (CurMO as CLYLZDSQModel).XLXSBJYLZD_SQDH;
string sErrorMsg = "";
string sBZSWID = TWorkflow.Utils.WFGetBZSWID((CurMO as CLYLZDSQModel).WFID, (CurMO as CLYLZDSQModel).WPID);
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
DataSet ds = new DataSet();
//“0020|派发”提交至“0030|制定”时,控制XLXSBJYLZDMX_ZDRGH不允许存在空值
if (sBZSWID.Equals("0020"))
{
XLXSBJYLZDEntity.IsCmpZDR(SQL, dberp, sSQDH, ref ds);
if (ds.Tables[0].Rows.Count > 0)
{
WorkFlowResult.ErrorMessage = "制定人为空,不允许提交!";
return false;
}
}
//“0030|制定”提交至“0040|审核”时,控制XLXSBJYLZDMX_XLXHID、XLXSBJYLZDMX_XLGGID、XLXSBJYLZDMX_XLBZID、XLXSBJYLZDMX_DYDJID都不允许为空
if (sBZSWID.Equals("0030"))
{
XLXSBJYLZDEntity.IsCmpXLBJCP(SQL, dberp, sSQDH, tSession.UserId, ref ds);
if (ds.Tables[0].Rows.Count > 0)
{
WorkFlowResult.ErrorMessage = "修订型号、修订规格、修订标准、修订电压等级为空,不允许提交!";
return false;
}
}
//“0050|录入”提交至“0060|确认”时,需控制“修改型号”、“修改规格”、“修改标准”、“修改电压”对应XLXSCLQD记录都处于“ZZZZ|结束”状态,才允许提交至“0060|确认”环节
if (sBZSWID.Equals("0050"))
{
XLXSBJYLZDEntity.IsCmpXLXSCLQD(SQL, dberp, sSQDH, ref ds);
if (ds.Tables[0].Rows.Count > 0)
{
sErrorMsg = "报价产品【" + ds.Tables[0].Rows[0]["XLXHID"].ToString().Trim() + "," + ds.Tables[0].Rows[0]["XLGGID"].ToString().Trim() + "," + ds.Tables[0].Rows[0]["XLBZ_XLBZLXMC"].ToString().Trim() + "," + ds.Tables[0].Rows[0]["DYDJID"].ToString().Trim() + "】";
if (!_curWorkFlow.UserInfo.GetUserNames(ds.Tables[0].Rows[0]["XLXSCLQD_WFAWAITER"].ToString()).Equals(""))
{
sErrorMsg += "还在" + _curWorkFlow.UserInfo.GetUserNames(ds.Tables[0].Rows[0]["XLXSCLQD_WFAWAITER"].ToString()) + "待处理,未提交至结束,此用量制定申请记录不允许提交!";
}
else
{
sErrorMsg += "还未生成材料用量模块记录,此用量制定申请记录不允许提交!";
}
WorkFlowResult.ErrorMessage = sErrorMsg;
return false;
}
}
return true;
}
protected override void WFOnGetParamEvent(TWorkflow Sender, string ParamName, ref string Value, ref bool Succeess)
{
base.WFOnGetParamEvent(Sender, ParamName, ref Value, ref Succeess);
if (ParamName == "制定人")
{
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
SQL.Clear();
SQL.Add("select distinct XLXSBJYLZDMX_ZDRGH from XLXSBJYLZDMX ");
SQL.Add(" left join XLXSBJYLZD on XLXSBJYLZD_SQDH = XLXSBJYLZDMX_SQDH ");
SQL.Add(" where 1=1 ");
SQL.Add(" and XLXSBJYLZD_WFID=:pWFID and XLXSBJYLZD_WFINST=:pWFINST ");
SQL.ParamByName("pWFID").Value = Sender.WFID;
SQL.ParamByName("pWFINST").Value = Sender.WFInst;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
List<string> lst = new List<string>();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (!ds.Tables[0].Rows[i]["XLXSBJYLZDMX_ZDRGH"].ToString().Trim().Equals("") && !lst.Contains(ds.Tables[0].Rows[i]["XLXSBJYLZDMX_ZDRGH"].ToString().Trim()))
{
lst.Add(ds.Tables[0].Rows[i]["XLXSBJYLZDMX_ZDRGH"].ToString().Trim());
}
}
for (int i = 0; i < lst.Count; i++)
{
Value = Value + lst[i].ToString().Trim() + ",";
}
Value = Value.TrimStart(',').TrimEnd(',');
}
else
{
Value = "";
}
Succeess = true;
}
}
#endregion
private void SetMXMO(string sBH, CLYLZDSQModel MO)
{
TSQL SQL = new TSQL(dbBO);
string sMXFields = "XLXSBJYLZDMX_SQDH,XLXSBJYLZDMX_XH,XLXSBJDMX_XSSX,BJCP,XLBZ,ZDR,XLXSBJYLZDMX_BZDBZ,XLXSBJYLZDMX_DZSC,"
+ "XDBJCP,XDXLBZ,XLXSBJYLZDMX_BZ,XLXSBJYLZDMX_WHR,XLXSBJYLZDMX_WHSJ";
SQL.Clear();
SQL.Add(" select XLXSBJYLZDMX_SQDH,XLXSBJYLZDMX_XH,XLXSBJDMX_XSSX,XLXSBJYLZD_WFID,XLXSBJYLZD_WPID,XLXSBJYLZD_WFAWAITER,XLXSBJYLZDMX_ZDRGH, ");
SQL.Add(" case when ISNULL(XLXSBJYLZDMX_BJDDYDJID,' ') = ' ' then rtrim(XLXSBJYLZDMX_BJDXLXHID) || ' ' || rtrim(XLXSBJYLZDMX_BJDXLGGID) else ");
SQL.Add(" case when ISNULL(XLXSBJYLZDMX_BJDDYDJID,' ') = '--' then rtrim(XLXSBJYLZDMX_BJDXLXHID) || ' ' || rtrim(XLXSBJYLZDMX_BJDXLGGID) else ");
SQL.Add(" rtrim(XLXSBJYLZDMX_BJDXLXHID) || '-' || rtrim(XLXSBJYLZDMX_BJDDYDJID) || ' ' || rtrim(XLXSBJYLZDMX_BJDXLGGID) end end as BJCP, ");
SQL.Add(" case when ISNULL(A.XLBZ_XLBZLXMC,' ') = ' ' then ' ' else A.XLBZ_XLBZLXMC end as XLBZ, case when ISNULL(RSRYJBXX_RYMC,' ') = ' ' then ' ' else rtrim(RSRYJBXX_RYMC) || ':' end as ZDR, ");
SQL.Add(" ISNULL(XLXSBJYLZDMX_BZDBZ,'N') as XLXSBJYLZDMX_BZDBZ,ISNULL(XLXSBJYLZDMX_DZSC,'N') as XLXSBJYLZDMX_DZSC, ");
SQL.Add(" case when ISNULL(XLXSBJYLZDMX_DYDJID,' ') = ' ' then rtrim(XLXSBJYLZDMX_XLXHID) || ' ' || rtrim(XLXSBJYLZDMX_XLGGID) else ");
SQL.Add(" case when ISNULL(XLXSBJYLZDMX_DYDJID,' ') = '--' then rtrim(XLXSBJYLZDMX_XLXHID) || ' ' || rtrim(XLXSBJYLZDMX_XLGGID) else ");
SQL.Add(" rtrim(XLXSBJYLZDMX_XLXHID) || '-' || rtrim(XLXSBJYLZDMX_DYDJID) || ' ' || rtrim(XLXSBJYLZDMX_XLGGID) end end as XDBJCP, ");
SQL.Add(" case when ISNULL(B.XLBZ_XLBZLXMC,' ') = ' ' then ' ' else B.XLBZ_XLBZLXMC end as XDXLBZ,XLXSBJYLZDMX_BZ,XLXSBJYLZDMX_WHR,XLXSBJYLZDMX_WHSJ");
SQL.Add(" from XLXSBJYLZDMX ");
SQL.Add(" left join XLXSBJYLZD on XLXSBJYLZD_SQDH = XLXSBJYLZDMX_SQDH ");
SQL.Add(" left join XLXSBJDMX on XLXSBJDMX_BJDID = XLXSBJYLZD_BJDID and XLXSBJDMX_XH = XLXSBJYLZDMX_BJDXH ");
SQL.Add(" left join RSRYJBXX on RSRYJBXX_GH = XLXSBJYLZDMX_ZDRGH ");
SQL.Add(" left join XLBZ A on XLXSBJYLZDMX_BJDXLBZID = A.XLBZ_XLBZID ");
SQL.Add(" left join XLBZ B on XLXSBJYLZDMX_XLBZID = B.XLBZ_XLBZID ");
SQL.Add(" where XLXSBJYLZDMX_SQDH = :XLXSBJYLZDMX_SQDH ");
SQL.Add(" order by XLXSBJYLZDMX_ZDRGH,XLXSBJYLZDMX_XH ");
SQL.ParamByName("XLXSBJYLZDMX_SQDH").Value = sBH;
DataSet dsMX = dbBO.OpenDataSet(SQL);
if (dsMX.Tables[0].Rows.Count > 0)
{
string sWFID = dsMX.Tables[0].Rows[0]["XLXSBJYLZD_WFID"].ToString().Trim();
string sWPID = dsMX.Tables[0].Rows[0]["XLXSBJYLZD_WPID"].ToString().Trim();
string sWFAWAITER = dsMX.Tables[0].Rows[0]["XLXSBJYLZD_WFAWAITER"].ToString().Trim();
string sCurZT = TWorkflow.Utils.WFGetBZSWID(sWFID, sWPID);
bool IsAwaiter = sWFAWAITER.Contains(","+tSession.UserId+",");
for (int j = 0; j < dsMX.Tables[0].Rows.Count; j++)
{
if (sCurZT.Equals("0030") && IsAwaiter)
{
string sZDRGH = dsMX.Tables[0].Rows[j]["XLXSBJYLZDMX_ZDRGH"].ToString().Trim();
if (!sZDRGH.Equals(tSession.UserId))
{
continue;
}
}
CLYLZDSQMXModel CLYLZDSQMX = new CLYLZDSQMXModel();
string[] aMXField = sMXFields.Split(',');
foreach (string Field in aMXField)
{
if (CLYLZDSQMX.GetType().GetProperty(Field.Trim()) != null)
{
CLYLZDSQMX.GetType().GetProperty(Field.Trim()).SetValue(CLYLZDSQMX, dsMX.Tables[0].Rows[j][Field.Trim()].ToString().Trim(), null);
}
}
MO.MXInfos.Add(CLYLZDSQMX);
}
}
}
}
}