336 lines
13 KiB
C#
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;
|
|
}
|
|
|
|
}
|
|
}
|