public async Task GetFBFXQDStatus(ProjectCjzCategoryTable table, string county_or_district) { foreach (var row in table.NRecList) { if (row.ProjectNo.IsNullOrEmpty() || row.ProjectNo.Length < 12) { continue; } var project_no_9 = row.ProjectNo.Substring(0, 9); var query = County_MiddleCache.FirstOrDefault(r => r.county_or_district == county_or_district && r.material_name == row.MaterialName && r.project_no_9 == project_no_9); if (query == null) { } else { var lowerPrice = query.lower_threshold?.ToDecimal() ?? 0m; var uppperPrice = query.upper_threshold?.ToDecimal() ?? 0m; var rowSinglePrice = row.GetSinglePrice()?.ToDecimal() ?? 0m; if (lowerPrice > rowSinglePrice) { row.SetSinglePriceStatus(CellDataStatus.综合单价过低); } if (uppperPrice < rowSinglePrice) { row.SetSinglePriceStatus(CellDataStatus.综合单价过高); } } } }
public async Task GetFBFXQDXMTZStatus(ProjectCjzCategoryTable table) { foreach (var row in table.NRecList) { if (row.ProjectNo.IsNullOrEmpty() || row.ProjectNo.Length < 12) { continue; } var projectNo_9 = row.ProjectNo.Substring(0, 9); var query = REGULATION_SubCache.FirstOrDefault(r => r.project_id.ToString() == projectNo_9); if (query == null) { row.SetProjectCodeStatus(CellDataStatus.项目编码异常); } else { if (row.MaterialName != query.project_name) { row.SetProjectNameStatus(CellDataStatus.项目名称异常); } else { var feature_list = query.feature_of_project_list; var result = Newtonsoft.Json.JsonConvert.DeserializeObject <List <string> >(feature_list); foreach (var item in result) { if (!row.XMTZ.Contains(item)) { row.SetXMTZStatus(CellDataStatus.项目特征数据异常); break; } } } } } }