private static void fillRow(SvodDdr.DdrDataContext dc, int rowIndex, Worksheet ws, List<SourceData> sqlData, List<SourceData> usedData) { var row = (Range)ws.Rows[rowIndex]; string mkbRange = ((Range)row.Cells[1, 52]).Value2; var rowData = new RowData(); rowData.SelectData(sqlData, mkbRange, usedData, false); rowData.Fill(ws, rowIndex); }
private static void fillRow(SvodDdr.DdrDataContext dc, int rowIndex, Worksheet ws, List<SourceData> sqlData) { var row = (Range)ws.Rows[rowIndex]; string propValidValue = ((Range)row.Cells[1, propNameColumn]).Value2; propValidValue = propValidValue.Split('=')[1]; int propTypeId = (int)((Range)row.Cells[1, serviceCodeColumn]).Value2; var rowData = new RowData(); rowData.SelectData(sqlData, propTypeId, propValidValue); rowData.Fill(ws, rowIndex); }
public static void Fill6000(SvodDdr.DdrDataContext dc) { dc.context.ReportProgress(@"Заполняем форму 6000 ..."); var ws = ((Worksheet)dc.newDoc.Worksheets[@"стр.10_12"]); ws.Activate(); var sqlText = string.Format(@"SELECT {2} - YEAR(Client.birthDate) as ClientAge, Diagnosis.`MKB` AS Mkb, Client.`sex` AS Sex, COUNT(DISTINCT Event.id) as Kol FROM Client INNER JOIN EventType ON (EventType.`code` IN ('dd2013_1','dd2013_2')) AND (EventType.`deleted` = 0) AND (Client.`deleted` = 0) INNER JOIN Event ON (Event.`eventType_id` = EventType.`id`) AND (Event.`deleted` = 0) AND (Event.`client_id` = Client.`id`) INNER JOIN Diagnostic ON (Diagnostic.`event_id` = Event.`id`) AND (Diagnostic.`deleted` = 0) INNER JOIN Diagnosis ON (Diagnosis.`id` = Diagnostic.`diagnosis_id`) AND (Diagnosis.`deleted` = 0) INNER JOIN rbDiseaseCharacter ON (rbDiseaseCharacter.`id` = Diagnostic.`character_id`) AND (rbDiseaseCharacter.`code` = '5') WHERE (Event.`execDate` >= '{0}') AND (Event.`execDate` < '{1}') AND COALESCE(Diagnosis.`MKB`, '') <> '' AND Diagnosis.`MKB` NOT LIKE 'Z%' GROUP BY 1,2,3", dc.dateEnd.BeginOfYear().SqlStr(), dc.dateEnd.AddDays(1).SqlStr(), dc.dateEnd.Year); var sqlData = selectSqlData<SourceData>(dc, sqlText); var usedData = new List<SourceData>(); fillSection(dc, ws, sqlData, usedData, 8, 25); fillSection(dc, ws, sqlData, usedData, 31, 46); fillSection(dc, ws, sqlData, usedData, 52, 68); var totalRowData = new RowData(); totalRowData.SelectData(sqlData, "", usedData, true); totalRowData.Fill(ws, 69); dc.context.ProgressSeparator(); }