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 _Infos = new List();//本次所返回的记录 public List Infos { get { return _Infos; } set { _Infos = value; } } } public class XLXSBJFJXXService : ServiceBase { [AjaxMethod()] public static InfoList GetIFJXXList(int iNUM, int iRec) { iRec = iRec - 1; InfoList rEntity = new InfoList(); XLXSBJFJXXBO BO = new XLXSBJFJXXBO(); int iTotalInfos; List 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 fjxxMOList = BO.GetWFJXXList(sBJDID); foreach (FJXXModel MO in fjxxMOList) { ifjxxInfo info = new ifjxxInfo(MO); rEntity.Infos.Add(info); } return rEntity; } //获取附加信息设置信息 [AjaxMethod()] public static List GetWSZXXList(string sBJDID, string sBJFLID) { List rEntity = new List(); 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 GetCBXList(string sMJLB) { List lstResult = new List(); 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 GetMultiCBXList(string sMJLB) { List lstResult = new List(); 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; } } }