Files
N_XLXSBJ----MX/XLXSBJFJXXService.cs
T
2026-08-21 17:03:02 +08:00

336 lines
13 KiB
C#

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using GThinking.N_MODEL.ModelBase;
using GThinking.N_MISPROAS.Web.AjaxServices;
using GThinking.N_MISPRO;
using GThinking.N_MISPRO.Data;
using System.Collections.Generic;
using GThinking.N_WORKFLOW;
using GThinking.N_MISPRO.Utility;
namespace GThinking.N_XLXSBJ
{
public class ifjxxInfo : FJXXModel
{
private WorkFlowRights _WFRights = new WorkFlowRights();
public WorkFlowRights WFRights
{
get { return _WFRights; }
set { _WFRights = value; }
}
private StateResult _StateResult = new StateResult();
public StateResult StateMessage
{
get { return _StateResult; }
set { _StateResult = value; }
}
public ifjxxInfo()
{ }
public ifjxxInfo(FJXXModel MO)
{
CopyModelProperty(MO);
WFRights = new WorkFlowRights(MO.WFID, MO.WFINST);
WFRights.CanEdit = true;
WFRights.CanDelete = true;
}
}
public class ifjxxInfoList
{
private List<ifjxxInfo> _Infos = new List<ifjxxInfo>();//本次所返回的记录
public List<ifjxxInfo> Infos
{
get { return _Infos; }
set { _Infos = value; }
}
}
public class XLXSBJFJXXService : ServiceBase
{
[AjaxMethod()]
public static InfoList<ifjxxInfo> GetIFJXXList(int iNUM, int iRec)
{
iRec = iRec - 1;
InfoList<ifjxxInfo> rEntity = new InfoList<ifjxxInfo>();
XLXSBJFJXXBO BO = new XLXSBJFJXXBO();
int iTotalInfos;
List<FJXXModel> moList = BO.GetIFJXXList(iRec, iNUM, out iTotalInfos);
rEntity.TotalInfos = iTotalInfos;
rEntity.CanInsert = BO.CanInsert();
if (iRec >= iTotalInfos)
return rEntity;
foreach (FJXXModel MO in moList)
{
ifjxxInfo info = new ifjxxInfo(MO);
rEntity.Infos.Add(info);
}
return rEntity;
}
[AjaxMethod()]
public static ifjxxInfo InsertRecord(ifjxxInfo info)
{
ifjxxInfo result = new ifjxxInfo();
XLXSBJFJXXBO BO = new XLXSBJFJXXBO();
BO.SetModel(info);
BO.ControlState = TControlState.ctsInsert;
BO.Save();
FJXXModel MO = (FJXXModel)BO.GetModel();
result = new ifjxxInfo(MO);
result.StateMessage.State = BO.StateMessage.State;
result.StateMessage.Message = BO.StateMessage.Message;
return result;
}
[AjaxMethod()]
public static ifjxxInfo UpdateRecord(ifjxxInfo info)
{
ifjxxInfo result = new ifjxxInfo();
XLXSBJFJXXBO BO = new XLXSBJFJXXBO();
BO.SetModel(info);
BO.ControlState = TControlState.ctsEdit;
BO.Save();
FJXXModel MO = (FJXXModel)BO.GetModel();
result = new ifjxxInfo(MO);
result.StateMessage.State = BO.StateMessage.State;
result.StateMessage.Message = BO.StateMessage.Message;
return result;
}
[AjaxMethod()]
public static ifjxxInfo DeleteRecord(ifjxxInfo info)
{
ifjxxInfo result = new ifjxxInfo();
XLXSBJFJXXBO BO = new XLXSBJFJXXBO();
BO.ControlState = TControlState.ctsBrowse;
BO.SetModel(info);
BO.Delete();
result.StateMessage.State = BO.StateMessage.State;
result.StateMessage.Message = BO.StateMessage.Message;
return result;
}
[AjaxMethod()]
public static bool Delete(string sBJDID)
{
TDatabase db = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(db);
SQL.Clear();
SQL.Add("delete from XLXSBJKZXX where XLXSBJKZXX_BJDID = :pBJDID ");
SQL.ParamByName("pBJDID").Value = sBJDID.Trim();
try
{
db.ExecSQL(SQL);
return true;
}
catch
{
return false;
}
}
//判断是否存在附加信息
[AjaxMethod()]
public static bool IsExistFJXX(string sBJDID)
{
XLXSBJFJXXBO BO = new XLXSBJFJXXBO();
return BO.IsExistFJXX(sBJDID);
}
//查询附加信息
[AjaxMethod()]
public static ifjxxInfoList GetWFJXXList(string sBJDID)
{
ifjxxInfoList rEntity = new ifjxxInfoList();
CMISproSession tSession = CMISproSessionManager.GetCurrentSession();
//调用BO查询方法
XLXSBJFJXXBO BO = new XLXSBJFJXXBO();
List<FJXXModel> fjxxMOList = BO.GetWFJXXList(sBJDID);
foreach (FJXXModel MO in fjxxMOList)
{
ifjxxInfo info = new ifjxxInfo(MO);
rEntity.Infos.Add(info);
}
return rEntity;
}
//获取附加信息设置信息
[AjaxMethod()]
public static List<SZXXInfo> GetWSZXXList(string sBJDID, string sBJFLID)
{
List<SZXXInfo> rEntity = new List<SZXXInfo>();
string sFields = @"BH,MC,SJLX,DYZD,BT,SRFS,WIDTH,ROWS,JLDW,MJLB";
string sSQL = @"select XLXSBJKZXXSZ_BH as BH, XLXSBJKZXXSZ_MC as MC, XLXSBJKZXXSZ_SJLX as SJLX, XLXSBJKZXXSZ_DYZD as DYZD, isnull(XLXSBJKZXXSZ_BT,'N') as BT,
XLXSBJKZXXSZ_SRFS as SRFS, XLXSBJKZXXSZ_WIDTH as KZXXWIDTH,XLXSBJKZXXSZ_MJLB as MJLB,
XLXSBJKZXXSZ_ROWS as KZXXROWS, XLXSBJKZXXSZ_JLDW as JLDW,XLXSBJKZXXSZ_XSBZ as XSBZ,XLXSBJKZXXSZ_WHBZ as WHBZ,XLXSBJKZXXSZ_SYBJFLID
from XLXSBJKZXXSZ
where 1=1 order by XLXSBJKZXXSZ_BJSX, XLXSBJKZXXSZ_BH ";
CMISproSession tSession = CMISproSessionManager.GetCurrentSession();
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL SQL = new TSQL(dberp);
string sWPID = "0010";
SQL.Clear();
SQL.Add(" select XLXSBJD_WPID,XLXSBJD_BJFLID from XLXSBJD where XLXSBJD_BJDID = :pBJDID ");
SQL.ParamByName("pBJDID").Value = sBJDID;
DataSet ds = dberp.OpenDataSet(SQL);
if (ds.Tables[0].Rows.Count > 0)
{
sWPID = ds.Tables[0].Rows[0]["XLXSBJD_WPID"].ToString().Trim();
if (sBJFLID.Equals(""))
sBJFLID = ds.Tables[0].Rows[0]["XLXSBJD_BJFLID"].ToString().Trim();
}
SQL.Clear();
SQL.Add(sSQL);
ds = dberp.OpenDataSet(SQL);
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string sXSBZ = ds.Tables[0].Rows[i]["XSBZ"].ToString().Trim();
string sXSBZC = "," + sXSBZ + ",";
if (!sXSBZ.Equals("") && !sXSBZC.Contains("," + sWPID + ","))
continue;
string sSYBJFL = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_SYBJFLID"].ToString().Trim();
string sSYBJFLC = "," + sSYBJFL + ",";
if (!sSYBJFL.Equals("") && !sSYBJFLC.Contains("," + sBJFLID + ","))
continue;
SZXXInfo szxxinfo = new SZXXInfo();
string[] aField = sFields.Split(',');
foreach (string Field in aField)
{
if (Field.Equals("WIDTH"))
szxxinfo.GetType().GetProperty(Field).SetValue(szxxinfo, CMISproConvert.StrToInt(ds.Tables[0].Rows[i]["KZXXWIDTH"].ToString().Trim()), null);
else if (Field.Equals("ROWS"))
szxxinfo.GetType().GetProperty(Field).SetValue(szxxinfo, CMISproConvert.StrToInt(ds.Tables[0].Rows[i]["KZXXROWS"].ToString().Trim()), null);
else
szxxinfo.GetType().GetProperty(Field).SetValue(szxxinfo, ds.Tables[0].Rows[i][Field].ToString().Trim(), null);
}
rEntity.Add(szxxinfo);
}
return rEntity;
}
//查询附加信息记录
[AjaxMethod()]
public ifjxxInfo GetInfobyKey(string Key)
{
CMISproSession tSession = CMISproSessionManager.GetCurrentSession();
string sFields = "BJDID,";
sFields += "KZZF01,KZZF02,KZZF03,KZZF04,KZZF05,KZZF06,KZZF07,KZZF08,KZZF09,KZZF10,";
sFields += "KZSZ01,KZSZ02,KZSZ03,KZSZ04,KZSZ05,KZRQ01,KZRQ02,KZRQ03,KZRQ04,KZRQ05,";
sFields += "KZWB01,KZWB02,KZWB03,KZWB04,KZWB05,";
sFields += "WHR,WHSJ";
TDatabase dberp = TContextDatabases.GetDatabase("DBERP");
TSQL sSQL = new TSQL(dberp);
sSQL.Clear();
sSQL.Add("select XLXSBJKZXX_BJDID as BJDID, ");
sSQL.Add(" XLXSBJKZXX_KZZF01 as KZZF01, XLXSBJKZXX_KZZF02 as KZZF02, XLXSBJKZXX_KZZF03 as KZZF03, XLXSBJKZXX_KZZF04 as KZZF04, XLXSBJKZXX_KZZF05 as KZZF05, ");
sSQL.Add(" XLXSBJKZXX_KZZF06 as KZZF06, XLXSBJKZXX_KZZF07 as KZZF07, XLXSBJKZXX_KZZF08 as KZZF08, XLXSBJKZXX_KZZF09 as KZZF09, XLXSBJKZXX_KZZF10 as KZZF10, ");
sSQL.Add(" XLXSBJKZXX_KZSZ01 as KZSZ01, XLXSBJKZXX_KZSZ02 as KZSZ02, XLXSBJKZXX_KZSZ03 as KZSZ03, XLXSBJKZXX_KZSZ04 as KZSZ04, XLXSBJKZXX_KZSZ05 as KZSZ05, ");
sSQL.Add(" XLXSBJKZXX_KZRQ01 as KZRQ01, XLXSBJKZXX_KZRQ02 as KZRQ02, XLXSBJKZXX_KZRQ03 as KZRQ03, XLXSBJKZXX_KZRQ04 as KZRQ04, XLXSBJKZXX_KZRQ05 as KZRQ05, ");
sSQL.Add(" XLXSBJKZXX_KZWB01 as KZWB01, XLXSBJKZXX_KZWB02 as KZWB02, XLXSBJKZXX_KZWB03 as KZWB03, XLXSBJKZXX_KZWB04 as KZWB04, XLXSBJKZXX_KZWB05 as KZWB05, ");
sSQL.Add(" XLXSBJKZXX_WHR as WHR,XLXSBJKZXX_WHSJ as WHSJ,XLXSBJD_WPID,XLXSBJD_WFAWAITER ");
sSQL.Add(" from XLXSBJKZXX ");
sSQL.Add(" left join XLXSBJD on XLXSBJD_BJDID = XLXSBJKZXX_BJDID ");
sSQL.Add(" where XLXSBJKZXX_BJDID = :pBJDID ");
sSQL.Add(" order by XLXSBJKZXX_BJDID ");
sSQL.ParamByName("pBJDID").Value = Key;
DataSet ds = dberp.OpenDataSet(sSQL);
ifjxxInfo fjxxMO = new ifjxxInfo();
string sWPID = "";
string sWFAWAITER = "";
if (ds.Tables[0].Rows.Count > 0)
{
string[] aField = sFields.Split(',');
foreach (string Field in aField)
{
if (Field.IndexOf("SZ") >= 0)
fjxxMO.GetType().GetProperty(Field).SetValue(fjxxMO, CMISproConvert.StrToFloat(ds.Tables[0].Rows[0][Field].ToString().Trim()), null);
else if (Field.IndexOf("RQ") >= 0)
fjxxMO.GetType().GetProperty(Field).SetValue(fjxxMO, CMISproConvert.ConvertDate(ds.Tables[0].Rows[0][Field].ToString().Trim()), null);
else
fjxxMO.GetType().GetProperty(Field).SetValue(fjxxMO, ds.Tables[0].Rows[0][Field].ToString().Trim(), null);
}
sWPID = ds.Tables[0].Rows[0]["XLXSBJD_WPID"].ToString().Trim();
sWFAWAITER = ds.Tables[0].Rows[0]["XLXSBJD_WFAWAITER"].ToString().Trim();
}
fjxxMO.WFRights.CanEdit = true;
fjxxMO.WFRights.CanDelete = true;
if (sWPID.Equals("ZZZZ"))
{
fjxxMO.WFRights.CanEdit = false;
fjxxMO.WFRights.CanDelete = false;
}
if (!sWFAWAITER.Contains("," + tSession.UserId + ","))
{
fjxxMO.WFRights.CanEdit = false;
fjxxMO.WFRights.CanDelete = false;
}
return fjxxMO;
}
[AjaxMethod()]
public static List<CodeInfo> GetCBXList(string sMJLB)
{
List<CodeInfo> lstResult = new List<CodeInfo>();
if (!sMJLB.Trim().Equals(""))
{
CodeInfo code0 = new CodeInfo();
code0.CodeID = "";
code0.CodeMC = "";
lstResult.Add(code0);
string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(',');
foreach (string sValue in array)
{
CodeInfo code = new CodeInfo();
code.CodeID = sValue.Trim();
code.CodeMC = sValue.Trim();
lstResult.Add(code);
}
}
return lstResult;
}
[AjaxMethod()]
public static List<CodeInfo> GetMultiCBXList(string sMJLB)
{
List<CodeInfo> lstResult = new List<CodeInfo>();
if (!sMJLB.Trim().Equals(""))
{
string[] array = sMJLB.Trim().Replace("\r\n", ",").Split(',');
foreach (string sValue in array)
{
CodeInfo code = new CodeInfo();
code.CodeID = sValue.Trim();
code.CodeMC = sValue.Trim();
lstResult.Add(code);
}
}
return lstResult;
}
}
}