Files
2026-08-21 17:03:02 +08:00

633 lines
26 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.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);
}
}
}
}
}