private void GetNotDetailCount(DataSet ds, int layer) { if (DataSetValidator.IsDatasetValid(ds) == false) { return; } //首先根据级次得到本级次以及上级的分级码 var resTypeDeepSql = "select max(len(path))/4 from Zylb"; var resTypeDeep = Utility.CurDatabase.ExecuteScalar(resTypeDeepSql).ToString(); var resTypeLayer = Convert.ToInt32(resTypeDeep); var sumField = "resslormj"; //1~layer-1 for (int i = 1; i < resTypeLayer; i++) { var rowsEachLayer = ds.Tables[0].Select($"layer='{i}'"); //针对每一级别的分级码 foreach (var pathRow in rowsEachLayer) { var curPath = pathRow["path"].ToString(); var curPathSubRows = ds.Tables[0].Select($"path like '{curPath}%' and path<>'{curPath}'"); //最末级节点要清楚 if (curPathSubRows == null || curPathSubRows.Length == 0) { continue; } decimal countNum = 0; //当前行的数据要同步 if (pathRow[sumField] == DBNull.Value) { countNum = 0; } else { countNum = Convert.ToDecimal(pathRow[sumField]); } foreach (DataRow eachRow in curPathSubRows) { if (eachRow[sumField] == DBNull.Value) { continue; } countNum += Convert.ToDecimal(eachRow[sumField]); } //合计当前层级的下级数量和面积之和 pathRow[sumField] = countNum.ToString(); } } if (layer == resTypeLayer) { return; } var deleteRows = ds.Tables[0].Select($"layer>{layer}"); foreach (var item in deleteRows) { ds.Tables[0].Rows.Remove(item); } }
/// <summary> /// 根据资源的有效时间更新资源状态和合同状态 /// </summary> public void UpdateResAndHtStateByEndTime() { var curTime = DateTime.Now.ToString("yyyy-MM-dd"); //状态为正常状态且超期的合同 var sql = "select htnm from ResContract where htzsstate in ({0},{1}) and htjsrq<{2}"; var dt = Utility.CurDatabase.ExecuteDataSet(sql, HtState.Editing, HtState.HasConfirm, curTime); if (DataSetValidator.IsDatasetValid(dt) == false) { return; } //修改资源 var resSql = @"update fqres set resstate={0},resstatename={1} where resnm in( select resnm from ResContract where htzsstate in({2},{3}) and htjsrq<{4})"; Utility.CurDatabase.ExecuteSqlStatement( resSql, ResourceState.HasConfirm, ResStateDictionary.ConvertToString(ResourceState.HasConfirm), HtState.Editing, HtState.HasConfirm, curTime); //修改合同 var htSql = @"update ResContract set htzsstate={0},htzsstatemc={1} where htzsstate in({2},{3}) and htjsrq<{4}"; Utility.CurDatabase.ExecuteSqlStatement( htSql, HtState.OutDay, HtStateDictionary.ConvertToString(HtState.OutDay), HtState.Editing, HtState.HasConfirm, curTime); }
public void HasRoleは引数のクラスがDictionaryでなければfalseを返す() { // setup Sheet sheet = TempActors.Book.GetSheet("HasRole"); DataSetValidator validator = GetDataSetValidator(sheet.GetCase("ロールあり")); // expect Assert.IsFalse(validator.HasRole("xxx", null)); }
public void HasRoleはInitializeで指定されたテストケースに取得データセクションがなければfalseを返す() { // setup Sheet sheet = TempActors.Book.GetSheet("HasRole"); DataSetValidator validator = GetDataSetValidator(sheet.GetCase("ロールなし")); // expect Assert.IsFalse(validator.HasRole(null, null)); }
protected virtual void InitializeDataSet() { m_odpContext.EnsureCultureIsSetOnCurrentThread(); if (DataSetValidator.LOCALE_SYSTEM_DEFAULT == m_dataSet.LCID) { if (m_odpContext.ShouldExecuteLiveQueries) { m_dataSet.LCID = DataSetValidator.LCIDfromRDLCollation(m_dataSet.Collation); } else { m_dataSet.LCID = m_dataSetInstance.LCID; } } m_isConnectionOwner = false; InitRuntime(); }
internal uint GetSQLSortCompareFlags() { return(DataSetValidator.GetSQLSortCompareMask(Sensitivity.True == m_caseSensitivity, Sensitivity.True == m_accentSensitivity, Sensitivity.True == m_kanatypeSensitivity, Sensitivity.True == m_widthSensitivity)); }
/// <summary> /// 根据模型和数据id以及实体编号和名称查询实体 /// </summary> /// <param name="modelId"></param> /// <param name="dataId"></param> /// <param name="dataCode"></param> /// <param name="dataName"></param> /// <returns></returns> public static DataTable GetChangeDataTable(string modelId, string dataId, string dataCode, string dataName) { var startTime = "2017-01-01"; var curYear = DateTime.Now.Year; var endTime = (curYear + 1).ToString() + "-01-01"; var dt = new DataTable(); var changeHeaders = ChangeLogDTLocalClient.Instance.GetLogHeaderByDataId(GSPState.Current, dataId, modelId, startTime, endTime); if (DataSetValidator.IsDatasetValid(changeHeaders) == false) { return(dt); } foreach (DataRow header in changeHeaders.Tables[0].Rows) { var headId = header["id"].ToString(); var changeUser = header["username"].ToString(); var changeTime = header["ChangeTime"].ToString(); var changeEntity = ChangeLogDTLocalClient.Instance.GetLogItemDataSet(GSPState.Current, modelId, headId, changeTime); changeEntity.Tables[0].CaseSensitive = false; var needEntiy = changeEntity.Tables[0].Select("FieldCode='resxm05'"); //不含有变更记录的数据 if (needEntiy == null || needEntiy.Length == 0) { continue; } //只有变更记录的数据 if (changeEntity.Tables[0].Rows.Count == 1) { continue; } //需要的变更记录 var colChanger = new DataColumn("changeName"); colChanger.DefaultValue = changeUser; var colchangeTime = new DataColumn("changeTime"); colchangeTime.DefaultValue = changeTime; changeEntity.Tables[0].Columns.Add(colChanger); changeEntity.Tables[0].Columns.Add(colchangeTime); if (dt.Rows.Count == 0) { dt = changeEntity.Tables[0].Copy(); } else { foreach (DataRow dr in changeEntity.Tables[0].Rows) { dt.ImportRow(dr); } } } //遍历所有变更记录后,没有满足条件的变更 if (dt.Rows.Count == 0) { return(dt); } //添加当前行资源编号和资源名称 var colResCode = new DataColumn("rescode"); colResCode.DefaultValue = dataCode; var colResName = new DataColumn("resName"); colResName.DefaultValue = dataName; dt.Columns.Add(colResCode); dt.Columns.Add(colResName); //显示在最前边 dt.Columns["rescode"].SetOrdinal(0); dt.Columns["resName"].SetOrdinal(1); //删除作为变更记录的变更行 //不区分大小写 dt.CaseSensitive = false; var changeFlag = dt.Select("FieldCode='resxm05'"); foreach (DataRow row in changeFlag) { dt.Rows.Remove(row); } return(dt); }
private List <ResInfo> GetResInfo(IQueryServerContext context) { var wherePart = string.Empty; var list = new List <string>(); //资源类别名称 if (!string.IsNullOrEmpty(context["zylbmc"])) { list.Add($"ResLbmc = '{context["zylbmc"]}'"); } //资源编号 if (!string.IsNullOrEmpty(context["zybh"])) { list.Add($"ResZybh = '{context["zybh"]}'"); } //资源名称名称 if (!string.IsNullOrEmpty(context["zymc"])) { list.Add($"ResZymc = '{context["zymc"]}'"); } //资源核算单位 if (!string.IsNullOrEmpty(context["hsdwbh"])) { list.Add($"ResSsdwId = '{context["hsdwbh"]}'"); } //资源签订日期 if (!string.IsNullOrEmpty(context["zytzrq"])) { var tzrqTime = Convert.ToDateTime(context["zytzrq"]).ToString("yyyy-MM-dd"); //前台是空的时候传过来的是"0001-01-01" if (tzrqTime.StartsWith("0001") == false) { //2018-01-01:10位数只计算到天数 list.Add($"convert(varchar(10),ResTzrq,121) <= '{tzrqTime}'"); } } //没有是全部 if (list.Count != 0) { wherePart = string.Join(" and ", list); } wherePart = string.Join(" And ", list); var sql = "select resnm,ResZybh,ResZymc,reslbmc from fqres"; if (!string.IsNullOrEmpty(wherePart)) { sql = string.Concat(sql, " where ", wherePart); } var resList = new List <ResInfo>(); var ds = Utility.CurDatabase.ExecuteDataSet(sql); if (!DataSetValidator.IsDatasetValid(ds)) { return(resList); } foreach (DataRow item in ds.Tables[0].Rows) { var resInfo = new ResInfo(); resInfo.Resnm = item["resnm"].ToString(); resInfo.Reszybh = item["ResZybh"].ToString(); resInfo.Reszymc = item["ResZymc"].ToString(); resList.Add(resInfo); } return(resList); }
private List <HtInfo> GetHtInfo(IQueryServerContext context) { var wherePart = string.Empty; var list = new List <string>(); //合同类别名称 if (!string.IsNullOrEmpty(context["htlbmc"])) { list.Add($"htlb = '{context["htlbmc"]}'"); } //合同编号 if (!string.IsNullOrEmpty(context["htbh"])) { list.Add($"htbh = '{context["htbh"]}'"); } //合同名称 if (!string.IsNullOrEmpty(context["htmc"])) { list.Add($"htmc = '{context["htmc"]}'"); } //合同核算单位 if (!string.IsNullOrEmpty(context["hsdwbh"])) { list.Add($"hthsdwbh = '{context["hsdwbh"]}'"); } //合同签订日期 if (!string.IsNullOrEmpty(context["tzrq"])) { var tzrqTime = Convert.ToDateTime(context["tzrq"]).ToString("yyyy-MM-dd"); //前台是空的时候传过来的是"0001-01-01" if (tzrqTime.StartsWith("0001") == false) { list.Add($"convert(varchar(10),htqdrq,121) <= '{tzrqTime}'"); } } //没有是全部 if (list.Count != 0) { wherePart = string.Join(" and ", list); } wherePart = string.Join(" And ", list); var sql = "select htnm,htbh,htmc,htlb from rescontract"; if (!string.IsNullOrEmpty(wherePart)) { sql = string.Concat(sql, " where ", wherePart); } var htList = new List <HtInfo>(); var ds = Utility.CurDatabase.ExecuteDataSet(sql); if (!DataSetValidator.IsDatasetValid(ds)) { return(htList); } foreach (DataRow item in ds.Tables[0].Rows) { var htInfo = new HtInfo(); htInfo.Htnm = item["htnm"].ToString(); htInfo.Htbh = item["htbh"].ToString(); htInfo.Htmc = item["htmc"].ToString(); htList.Add(htInfo); } return(htList); }