|
|
@@ -256,25 +256,62 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
256
|
256
|
var dtGDLY1 = DbHelperSQL.Query(sqlGDLY1).Tables[0];
|
|
257
|
257
|
int dtGDLY1rowcount = dtGDLY1.Rows.Count;
|
|
258
|
258
|
//每块占的列数
|
|
259
|
|
- int[] colpos = new int[dtGDLY1rowcount + 1];
|
|
260
|
|
- colpos[0] = 1;
|
|
|
259
|
+ var sqlcolpos = "select count(*) from T_RepositoryCategory where 1=1 and F_CategoryType=1 and F_ParentId in (select F_CategoryId from T_RepositoryCategory where F_CategoryType = 1 and F_ParentId in (select F_CategoryId from T_RepositoryCategory where F_CategoryType = 1 and F_DeleteFlag = 0 and F_CategoryName = '试剂') and F_DeleteFlag = 0) and F_DeleteFlag = 0";
|
|
|
260
|
+ var dtcolpos = Int32.Parse(DbHelperSQL.GetSingle(sqlcolpos).ToString());
|
|
|
261
|
+ List<int> colpos = new List<int>();
|
|
|
262
|
+ //colpos[0] = 0;
|
|
261
|
263
|
//列名
|
|
262
|
|
- string[] dtGDLY1_name = new string[dtGDLY1rowcount + 2];
|
|
263
|
|
- dtGDLY1_name[0] = "";
|
|
|
264
|
+ List<string> dtGDLY1_name = new List<string>();
|
|
|
265
|
+ dtGDLY1_name.Add("");
|
|
264
|
266
|
//列数
|
|
265
|
267
|
int[] dtGDLY1_count = new int[dtGDLY1rowcount + 2];
|
|
266
|
268
|
dtGDLY1_count[0] = 1;
|
|
267
|
|
-
|
|
|
269
|
+ dtGDLY1_count[dtGDLY1rowcount + 1] = 1;
|
|
|
270
|
+ int x = 0;
|
|
|
271
|
+ int p = 2;
|
|
|
272
|
+ int sum = 1;
|
|
268
|
273
|
for (int v = 0; v < dtGDLY1rowcount; v++)
|
|
269
|
274
|
{
|
|
270
|
275
|
string catename = dtGDLY1.Rows[v]["F_CategoryName"].ToString();
|
|
271
|
276
|
var count_sub = int.Parse(DbHelperSQL.GetSingle("select count(*) from T_RepositoryCategory where 1=1 and F_DeleteFlag = 0 and F_CategoryType = 1 and F_ParentId=" + int.Parse(dtGDLY1.Rows[v]["F_CategoryId"].ToString()) + "").ToString());
|
|
272
|
|
- dtGDLY1_name[v + 1] = catename;
|
|
|
277
|
+
|
|
|
278
|
+ for (int m = 0; m < count_sub; m++)
|
|
|
279
|
+ {
|
|
|
280
|
+ dtGDLY1_name.Add(catename);
|
|
|
281
|
+ }
|
|
|
282
|
+ //dtGDLY1_name[v + 1] = catename;
|
|
|
283
|
+ //if (count_sub == 1)
|
|
|
284
|
+ //{ count_sub = 2; }
|
|
|
285
|
+ ////p = p + count_sub;
|
|
|
286
|
+ //for (x = p; x < count_sub + p; x++)
|
|
|
287
|
+ //{
|
|
|
288
|
+ // dtGDLY1_name[x] = catename;
|
|
|
289
|
+ //}
|
|
|
290
|
+ //p = x;
|
|
|
291
|
+
|
|
|
292
|
+
|
|
|
293
|
+ //dtGDLY1_name[v + 1] = catename;
|
|
273
|
294
|
dtGDLY1_count[v + 1] = count_sub;
|
|
274
|
|
- colpos[v + 1] = count_sub;
|
|
|
295
|
+ //if ((v + 1) % 2 == 1)
|
|
|
296
|
+ // colpos[v + 1] = count_sub + colpos[v] - 1;
|
|
|
297
|
+ //else
|
|
|
298
|
+ // colpos[v + 1] = colpos[v] + 1;
|
|
|
299
|
+
|
|
|
300
|
+ if (count_sub > 1)
|
|
|
301
|
+ {
|
|
|
302
|
+ //colpos[v * 2] = colpos[v * 2 - 1] + 1;
|
|
|
303
|
+ //colpos[v * 2 + 1] = colpos[v * 2] + dtGDLY1_count[v] - 1;
|
|
|
304
|
+ colpos.Add(sum);
|
|
|
305
|
+ colpos.Add(sum + count_sub - 1);
|
|
|
306
|
+ }
|
|
|
307
|
+ sum += count_sub;
|
|
275
|
308
|
}
|
|
276
|
|
- dtGDLY1_name[dtGDLY1rowcount + 1] = "总计";
|
|
277
|
|
- dtGDLY1_count[dtGDLY1rowcount + 1] = 1;
|
|
|
309
|
+ //colpos[dtGDLY1rowcount * 2] = colpos[dtGDLY1rowcount * 2 - 1] + 1;
|
|
|
310
|
+ //colpos[dtGDLY1rowcount * 2 + 1] = colpos[dtGDLY1rowcount * 2] + dtGDLY1_count[dtGDLY1rowcount] - 1;
|
|
|
311
|
+ dtGDLY1_name.Add("总计");
|
|
|
312
|
+ ////dtGDLY1_count[dtGDLY1rowcount + 1] = 1;
|
|
|
313
|
+ //colpos[dtcolpos + 2] = 1;
|
|
|
314
|
+ //colpos[dtcolpos + 3] = 1;
|
|
278
|
315
|
|
|
279
|
316
|
NPOIHelper npoi = new NPOIHelper();
|
|
280
|
317
|
DataTable dt = getData(stime, endtime);
|
|
|
@@ -295,19 +332,5 @@ namespace CallCenterApi.Interface.Controllers.report
|
|
295
|
332
|
}
|
|
296
|
333
|
return res;
|
|
297
|
334
|
}
|
|
298
|
|
-
|
|
299
|
|
- ///// <summary>
|
|
300
|
|
- ///// 合并单元格
|
|
301
|
|
- ///// </summary>
|
|
302
|
|
- ///// <param name="sheet">要合并单元格所在的sheet</param>
|
|
303
|
|
- ///// <param name="rowstart">开始行的索引</param>
|
|
304
|
|
- ///// <param name="rowend">结束行的索引</param>
|
|
305
|
|
- ///// <param name="colstart">开始列的索引</param>
|
|
306
|
|
- ///// <param name="colend">结束列的索引</param>
|
|
307
|
|
- //public static void SetCellRangeAddress(ISheet sheet, int rowstart, int rowend, int colstart, int colend)
|
|
308
|
|
- //{
|
|
309
|
|
- // CellRangeAddress cellRangeAddress = new CellRangeAddress(rowstart, rowend, colstart, colend);
|
|
310
|
|
- // sheet.AddMergedRegion(cellRangeAddress);
|
|
311
|
|
- //}
|
|
312
|
335
|
}
|
|
313
|
336
|
}
|