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_MISPRO.Data; using System.Reflection; using GThinking.N_MISPRO; using GThinking.N_MISPROAS.Web.AjaxServices; using System.Collections.Generic; using GThinking.N_WORKFLOW; using GThinking.N_MISPRO.Utility; namespace GThinking.N_XLXSBJ { public class SZXXInfo { //GZRZ数据表字段 private string _BH = string.Empty; public string BH { get { return _BH; } set { _BH = value; } } private string _MC = string.Empty; public string MC { get { return _MC; } set { _MC = value; } } private string _SJLX = string.Empty; public string SJLX { get { return _SJLX; } set { _SJLX = value; } } private string _DYZD = string.Empty; public string DYZD { get { return _DYZD; } set { _DYZD = value; } } private string _BT = string.Empty; public string BT { get { return _BT; } set { _BT = value; } } private string _SRFS = string.Empty; public string SRFS { get { return _SRFS; } set { _SRFS = value; } } private int _WIDTH = 0; public int WIDTH { get { return _WIDTH; } set { _WIDTH = value; } } private int _ROWS = 0; public int ROWS { get { return _ROWS; } set { _ROWS = value; } } private string _JLDW = string.Empty; public string JLDW { get { return _JLDW; } set { _JLDW = value; } } private string _MJLB = string.Empty; public string MJLB { get { return _MJLB; } set { _MJLB = value; } } } //附加信息模型 public class FJXXModel : ModelBase { private string _BJDID = string.Empty; public string BJDID { get { return _BJDID; } set { _BJDID = value; } } private string _KZZF01 = string.Empty; public string KZZF01 { get { return _KZZF01; } set { _KZZF01 = value; } } private string _KZZF02 = string.Empty; public string KZZF02 { get { return _KZZF02; } set { _KZZF02 = value; } } private string _KZZF03 = string.Empty; public string KZZF03 { get { return _KZZF03; } set { _KZZF03 = value; } } private string _KZZF04 = string.Empty; public string KZZF04 { get { return _KZZF04; } set { _KZZF04 = value; } } private string _KZZF05 = string.Empty; public string KZZF05 { get { return _KZZF05; } set { _KZZF05 = value; } } private string _KZZF06 = string.Empty; public string KZZF06 { get { return _KZZF06; } set { _KZZF06 = value; } } private string _KZZF07 = string.Empty; public string KZZF07 { get { return _KZZF07; } set { _KZZF07 = value; } } private string _KZZF08 = string.Empty; public string KZZF08 { get { return _KZZF08; } set { _KZZF08 = value; } } private string _KZZF09 = string.Empty; public string KZZF09 { get { return _KZZF09; } set { _KZZF09 = value; } } private string _KZZF10 = string.Empty; public string KZZF10 { get { return _KZZF10; } set { _KZZF10 = value; } } private double _KZSZ01 = 0; public double KZSZ01 { get { return _KZSZ01; } set { _KZSZ01 = value; } } private double _KZSZ02 = 0; public double KZSZ02 { get { return _KZSZ02; } set { _KZSZ02 = value; } } private double _KZSZ03 = 0; public double KZSZ03 { get { return _KZSZ03; } set { _KZSZ03 = value; } } private double _KZSZ04 = 0; public double KZSZ04 { get { return _KZSZ04; } set { _KZSZ04 = value; } } private double _KZSZ05 = 0; public double KZSZ05 { get { return _KZSZ05; } set { _KZSZ05 = value; } } private string _KZRQ01 = string.Empty; public string KZRQ01 { get { return _KZRQ01; } set { _KZRQ01 = value; } } private string _KZRQ02 = string.Empty; public string KZRQ02 { get { return _KZRQ02; } set { _KZRQ02 = value; } } private string _KZRQ03 = string.Empty; public string KZRQ03 { get { return _KZRQ03; } set { _KZRQ03 = value; } } private string _KZRQ04 = string.Empty; public string KZRQ04 { get { return _KZRQ04; } set { _KZRQ04 = value; } } private string _KZRQ05 = string.Empty; public string KZRQ05 { get { return _KZRQ05; } set { _KZRQ05 = value; } } private string _KZWB01 = string.Empty; public string KZWB01 { get { return _KZWB01; } set { _KZWB01 = value; } } private string _KZWB02 = string.Empty; public string KZWB02 { get { return _KZWB02; } set { _KZWB02 = value; } } private string _KZWB03 = string.Empty; public string KZWB03 { get { return _KZWB03; } set { _KZWB03 = value; } } private string _KZWB04 = string.Empty; public string KZWB04 { get { return _KZWB04; } set { _KZWB04 = value; } } private string _KZWB05 = string.Empty; public string KZWB05 { get { return _KZWB05; } set { _KZWB05 = value; } } public FJXXModel() { } } //附加信息BO public class XLXSBJFJXXBO : BOBase { #region 对外方法 protected override void PreUpdateSQL() { base.PreUpdateSQL(); UpdateSQL.Add(@"update XLXSBJKZXX " + " set XLXSBJKZXX_KZSZ01 = isnull(:KZSZ01,0)," + " XLXSBJKZXX_KZSZ02 = isnull(:KZSZ02,0)," + " XLXSBJKZXX_KZSZ03 = isnull(:KZSZ03,0)," + " XLXSBJKZXX_KZSZ04 = isnull(:KZSZ04,0)," + " XLXSBJKZXX_KZSZ05 = isnull(:KZSZ05,0)," + " XLXSBJKZXX_KZZF01 = :KZZF01, " + " XLXSBJKZXX_KZZF02 = :KZZF02, " + " XLXSBJKZXX_KZZF03 = :KZZF03, " + " XLXSBJKZXX_KZZF04 = :KZZF04, " + " XLXSBJKZXX_KZZF05 = :KZZF05, " + " XLXSBJKZXX_KZZF06 = :KZZF06, " + " XLXSBJKZXX_KZZF07 = :KZZF07, " + " XLXSBJKZXX_KZZF08 = :KZZF08, " + " XLXSBJKZXX_KZZF09 = :KZZF09, " + " XLXSBJKZXX_KZZF10 = :KZZF10, " + " XLXSBJKZXX_KZRQ01 = :KZRQ01, " + " XLXSBJKZXX_KZRQ02 = :KZRQ02, " + " XLXSBJKZXX_KZRQ03 = :KZRQ03, " + " XLXSBJKZXX_KZRQ04 = :KZRQ04, " + " XLXSBJKZXX_KZRQ05 = :KZRQ05, " + " XLXSBJKZXX_KZWB01 = :KZWB01, " + " XLXSBJKZXX_KZWB02 = :KZWB02, " + " XLXSBJKZXX_KZWB03 = :KZWB03, " + " XLXSBJKZXX_KZWB04 = :KZWB04, " + " XLXSBJKZXX_KZWB05 = :KZWB05, " + " XLXSBJKZXX_WHR=:WHR," + " XLXSBJKZXX_WHSJ=:WHSJ," + " XLXSBJKZXX_WHRID=:WHRID " + "where XLXSBJKZXX_BJDID = :BJDID "); } protected override void PreInsertSQL() { base.PreInsertSQL(); InsertSQL.Add("insert into XLXSBJKZXX(XLXSBJKZXX_BJDID, XLXSBJKZXX_KZSZ01, XLXSBJKZXX_KZSZ02, XLXSBJKZXX_KZSZ03, XLXSBJKZXX_KZSZ04, XLXSBJKZXX_KZSZ05, " + " XLXSBJKZXX_KZZF01, XLXSBJKZXX_KZZF02, XLXSBJKZXX_KZZF03, XLXSBJKZXX_KZZF04, XLXSBJKZXX_KZZF05, XLXSBJKZXX_KZZF06, XLXSBJKZXX_KZZF07, XLXSBJKZXX_KZZF08, XLXSBJKZXX_KZZF09, XLXSBJKZXX_KZZF10, " + " XLXSBJKZXX_KZRQ01, XLXSBJKZXX_KZRQ02, XLXSBJKZXX_KZRQ03, XLXSBJKZXX_KZRQ04, XLXSBJKZXX_KZRQ05, " + " XLXSBJKZXX_KZWB01, XLXSBJKZXX_KZWB02, XLXSBJKZXX_KZWB03, XLXSBJKZXX_KZWB04, XLXSBJKZXX_KZWB05, " + " XLXSBJKZXX_WHR, XLXSBJKZXX_WHSJ, XLXSBJKZXX_WHRID ) " + "values(:BJDID, isnull(:KZSZ01,0), isnull(:KZSZ02,0), isnull(:KZSZ03,0), isnull(:KZSZ04,0), isnull(:KZSZ05,0), " + " :KZZF01, :KZZF02, :KZZF03, :KZZF04, :KZZF05, :KZZF06, :KZZF07, :KZZF08, :KZZF09, :KZZF10, " + " :KZRQ01, :KZRQ02, :KZRQ03, :KZRQ04, :KZRQ05, :KZWB01, :KZWB02, :KZWB03, :KZWB04, :KZWB05, :WHR, :WHSJ, :WHRID) "); } protected override void PreDeleteSQL() { base.PreDeleteSQL(); DeleteSQL.Add("delete from XLXSBJKZXX where XLXSBJKZXX_BJDID = :BJDID"); } protected override bool BeforeSaveAction() { CurMO.WHR = tSession.UserName; CurMO.WHRID = tSession.UserId; CurMO.WHSJ = DateTime.Now.ToString(); return base.BeforeSaveAction(); } protected override bool AfterSaveAction() { string sBJDID = (CurMO as FJXXModel).BJDID; XLXSBJFJXX.UpdateLBXSFJXX(sBJDID); return base.AfterSaveAction(); } protected override bool DataLogicValid() { FJXXModel MO = CurMO as FJXXModel; string sWPID = MO.WPID; TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); sSQL.Clear(); sSQL.Add("select XLXSBJKZXXSZ_MC, XLXSBJKZXXSZ_SJLX, XLXSBJKZXXSZ_DYZD,XLXSBJKZXXSZ_XSBZ as XSBZ "); sSQL.Add("from XLXSBJKZXXSZ "); sSQL.Add("where isnull(XLXSBJKZXXSZ_BT,'N') = 'Y' "); sSQL.Add("order by XLXSBJKZXXSZ_BJSX, XLXSBJKZXXSZ_BH "); sSQL.ParamByName("pBJDID").Value = MO.BJDID; DataSet ds = dberp.OpenDataSet(sSQL); if (ds.Tables[0].Rows.Count > 0) { Dictionary dicBTXX = new Dictionary(); 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 sDYZD = ds.Tables[0].Rows[i]["XLXSBJKZXXSZ_DYZD"].ToString().Trim(); if (!dicBTXX.ContainsKey(sDYZD)) dicBTXX.Add(sDYZD, i); } Type T = MO.GetType(); PropertyInfo[] PropertyList = T.GetProperties(); foreach (PropertyInfo item in PropertyList) { string sName = item.Name; if (dicBTXX.ContainsKey(sName)) { string sSJLX = ds.Tables[0].Rows[dicBTXX[sName]]["XLXSBJKZXXSZ_SJLX"].ToString().Trim(); if (sSJLX.Equals("A")) { double dValue = (double)item.GetValue(MO, null); if (dValue == 0) { string sdMC = ds.Tables[0].Rows[dicBTXX[sName]]["XLXSBJKZXXSZ_MC"].ToString().Trim(); StateMessage.Message = sdMC + "不允许为零!"; return false; } } else { string sValue = (string)item.GetValue(MO, null); if (sValue.Equals("")) { string ssMC = ds.Tables[0].Rows[dicBTXX[sName]]["XLXSBJKZXXSZ_MC"].ToString().Trim(); StateMessage.Message = ssMC + "不允许为空!"; return false; } } } } } return base.DataLogicValid(); } //将ID|NAME格式的字符特殊处理,保留ID private string TSCL(string str) { string rstr = ""; foreach (string sstr in str.Split(',')) { if (!rstr.Equals("")) { rstr += ","; } if (sstr.Contains("|")) { string sID = sstr.Split('|')[0]; rstr += sID; } else { rstr += sstr; } } return rstr; } public override void SetSqlParamWithMO(TSQL SQL, ModelBase MO) { base.SetSqlParamWithMO(SQL, MO); if (ControlState == TControlState.ctsInsert || ControlState == TControlState.ctsEdit) { FJXXModel fjxxmo = MO as FJXXModel; if (fjxxmo.KZRQ01.Trim() == "") { SQL.ParamByName("KZRQ01").Clear(); SQL.ParamByName("KZRQ01").Value = null; } if (fjxxmo.KZRQ02.Trim() == "") { SQL.ParamByName("KZRQ02").Clear(); SQL.ParamByName("KZRQ02").Value = null; } if (fjxxmo.KZRQ03.Trim() == "") { SQL.ParamByName("KZRQ03").Clear(); SQL.ParamByName("KZRQ03").Value = null; } if (fjxxmo.KZRQ04.Trim() == "") { SQL.ParamByName("KZRQ04").Clear(); SQL.ParamByName("KZRQ04").Value = null; } if (fjxxmo.KZRQ05.Trim() == "") { SQL.ParamByName("KZRQ05").Clear(); SQL.ParamByName("KZRQ05").Value = null; } SQL.ParamByName("KZZF01").Clear(); SQL.ParamByName("KZZF01").Value = TSCL(fjxxmo.KZZF01); SQL.ParamByName("KZZF02").Clear(); SQL.ParamByName("KZZF02").Value = TSCL(fjxxmo.KZZF02); SQL.ParamByName("KZZF03").Clear(); SQL.ParamByName("KZZF03").Value = TSCL(fjxxmo.KZZF03); SQL.ParamByName("KZZF04").Clear(); SQL.ParamByName("KZZF04").Value = TSCL(fjxxmo.KZZF04); SQL.ParamByName("KZZF05").Clear(); SQL.ParamByName("KZZF05").Value = TSCL(fjxxmo.KZZF05); SQL.ParamByName("KZZF06").Clear(); SQL.ParamByName("KZZF06").Value = TSCL(fjxxmo.KZZF06); SQL.ParamByName("KZZF07").Clear(); SQL.ParamByName("KZZF07").Value = TSCL(fjxxmo.KZZF07); SQL.ParamByName("KZZF08").Clear(); SQL.ParamByName("KZZF08").Value = TSCL(fjxxmo.KZZF08); SQL.ParamByName("KZZF09").Clear(); SQL.ParamByName("KZZF09").Value = TSCL(fjxxmo.KZZF09); SQL.ParamByName("KZZF10").Clear(); SQL.ParamByName("KZZF10").Value = TSCL(fjxxmo.KZZF10); } } //查询附加信息记录 public List GetWFJXXList(string sBJDID) { CMISproSession tSession = CMISproSessionManager.GetCurrentSession(); TWorkflow _curWorkFlow = new TWorkflow(tSession, new System.Web.Caching.Cache()); 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"; List fjxxMOList = new List(); 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 "); sSQL.Add(" from XLXSBJKZXX "); sSQL.Add(" where XLXSBJKZXX_BJDID = :pBJDID "); sSQL.Add(" order by XLXSBJKZXX_BJDID "); sSQL.ParamByName("pBJDID").Value = sBJDID; DataSet ds = dberp.OpenDataSet(sSQL); FJXXModel fjxxMO = new FJXXModel(); 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); } } fjxxMOList.Add(fjxxMO); return fjxxMOList; } //判断是否存在附加信息 public bool IsExistFJXX(string sBJDID) { TDatabase dberp = TContextDatabases.GetDatabase("DBERP"); TSQL sSQL = new TSQL(dberp); sSQL.Clear(); sSQL.Add("select 1 "); sSQL.Add(" from XLXSBJKZXX "); sSQL.Add(" where XLXSBJKZXX_BJDID = :pBJDID "); sSQL.Add(" order by XLXSBJKZXX_BJDID "); sSQL.ParamByName("pBJDID").Value = sBJDID; DataSet ds = dberp.OpenDataSet(sSQL); if (ds.Tables[0].Rows.Count > 0) return true; else return false; } public List GetIFJXXList(int iStart, int iNum, out int iRowCount) { List moList = new List(); PreQuerySQL(iStart + iNum, ""); ReplaceParams(); iRowCount = OpenQueryCountSQL(); DataSet ds = dbBO.OpenDataSet(QueryFunctionSQL); SetmoList(ds, iStart, iNum, iRowCount, ref moList); return moList; } private void SetmoList(DataSet ds, int iStart, int iNum, int iRowCount, ref List moList) { int iMax = Math.Min(iStart + iNum, iRowCount); for (int i = iStart; i < iMax; i++) { FJXXModel MO = new FJXXModel(); SetMO(ds.Tables[0].Rows[i], MO); moList.Add(MO); } } protected override void PreQuerySQL(int maxRecords, string sCondition) { base.PreQuerySQL(maxRecords, sCondition); QueryFunctionSQL.Add(" XLXSBJKZXX_BJDID as BJDID, "); QueryFunctionSQL.Add(" XLXSBJKZXX_KZZF01 as KZZF01, XLXSBJKZXX_KZZF02 as KZZF02, XLXSBJKZXX_KZZF03 as KZZF03, XLXSBJKZXX_KZZF04 as KZZF04, XLXSBJKZXX_KZZF05 as KZZF05, "); QueryFunctionSQL.Add(" XLXSBJKZXX_KZZF06 as KZZF06, XLXSBJKZXX_KZZF07 as KZZF07, XLXSBJKZXX_KZZF08 as KZZF08, XLXSBJKZXX_KZZF09 as KZZF09, XLXSBJKZXX_KZZF10 as KZZF10, "); QueryFunctionSQL.Add(" XLXSBJKZXX_KZSZ01 as KZSZ01, XLXSBJKZXX_KZSZ02 as KZSZ02, XLXSBJKZXX_KZSZ03 as KZSZ03, XLXSBJKZXX_KZSZ04 as KZSZ04, XLXSBJKZXX_KZSZ05 as KZSZ05, "); QueryFunctionSQL.Add(" XLXSBJKZXX_KZRQ01 as KZRQ01, XLXSBJKZXX_KZRQ02 as KZRQ02, XLXSBJKZXX_KZRQ03 as KZRQ03, XLXSBJKZXX_KZRQ04 as KZRQ04, XLXSBJKZXX_KZRQ05 as KZRQ05, "); QueryFunctionSQL.Add(" XLXSBJKZXX_KZWB01 as KZWB01, XLXSBJKZXX_KZWB02 as KZWB02, XLXSBJKZXX_KZWB03 as KZWB03, XLXSBJKZXX_KZWB04 as KZWB04, XLXSBJKZXX_KZWB05 as KZWB05, "); QueryFunctionSQL.Add(" XLXSBJKZXX_WHR as WHR,XLXSBJKZXX_WHSJ as WHSJ "); QueryFunctionSQL.Add(" from XLXSBJKZXX "); QueryFunctionSQL.Add(" order by XLXSBJKZXX_BJDID "); if (maxRecords > 1) { QueryCountSQL.Add(" from XLXSBJD "); QueryCountSQL.Add(" where 1=1 "); } 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"; aField = sFields.Split(','); } #endregion } }