|
@@ -16797,6 +16797,60 @@ FROM
|
|
|
|
|
|
var List_GC = _GroupCostRepository.GetAllByDiid(dto.Diid);
|
|
|
|
|
|
+ List<int> hideColumnList = new List<int>();
|
|
|
+
|
|
|
+ var ColumnSetting = new[]
|
|
|
+ {
|
|
|
+ new { tag = "VF", Index = 4, P = "CarCost" },
|
|
|
+ new { tag = "VN", Index = 5, P = "CarNumber" },
|
|
|
+ new { tag = "VRD", Index = 6, P = "CarTiming" },
|
|
|
+ new { tag = "T/G S", Index = 7, P = "TGS" },
|
|
|
+ new { tag = "TGWH", Index = 8, P = "TGWH" },
|
|
|
+ new { tag = "T/G OF", Index = 9, P = "TGOF" },
|
|
|
+ new { tag = "T/G M", Index = 10, P = "TGM" },
|
|
|
+ new { tag = "T/G A", Index = 11, P = "TGA" },
|
|
|
+ new { tag = "T/G TF", Index = 12, P = "TGTF" },
|
|
|
+ new { tag = "T/G EF", Index = 13, P = "TGEF" },
|
|
|
+ new { tag = "C/F S", Index = 14, P = "CFS" },
|
|
|
+ new { tag = "C/F M", Index = 15, P = "CFM" },
|
|
|
+ new { tag = "C/F OF", Index = 16, P = "CFOF" },
|
|
|
+ new { tag = "B", Index = 17, P = "B" },
|
|
|
+ new { tag = "L", Index = 18, P = "L" },
|
|
|
+ new { tag = "D", Index = 19, P = "D" },
|
|
|
+ new { tag = "TBR", Index = 20, P = "TBR" },
|
|
|
+ new { tag = "SGR", Index = 21, P = "SGR" },
|
|
|
+ new { tag = "JS/ES", Index = 22, P = "JS_ES" },
|
|
|
+ new { tag = "Suite", Index = 23, P = "Suite" },
|
|
|
+ new { tag = "ACCO N", Index = 24, P = "ACCON" },
|
|
|
+ new { tag = "T/V", Index = 25, P = "TV" },
|
|
|
+ new { tag = "1/L", Index = 26, P = "iL" },
|
|
|
+ new { tag = "I/F", Index = 27, P = "IF" },
|
|
|
+ new { tag = "EF", Index = 28, P = "EF" },
|
|
|
+ new { tag = "B/R/F", Index = 29, P = "B_R_F" },
|
|
|
+ new { tag = "TE", Index = 30, P = "TE" },
|
|
|
+ new { tag = "T/G T", Index = 31, P = "TGTips" },
|
|
|
+ new { tag = "DRV T", Index = 32, P = "DRVTips" },
|
|
|
+ new { tag = "P/C", Index = 33, P = "PC" },
|
|
|
+ new { tag = "T/L F", Index = 34, P = "TLF" },
|
|
|
+ new { tag = "E/C T", Index = 35, P = "ECT" }
|
|
|
+ };
|
|
|
+
|
|
|
+ Func<string, bool> isEmpty = (str) =>
|
|
|
+ {
|
|
|
+ if (decimal.TryParse(str,out decimal str_De) && str_De == 0)
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (string.IsNullOrWhiteSpace(str))
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ return false;
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
for (int i = 0; i < List_GC.Count; i++)
|
|
|
{
|
|
|
GroupCost_Excel gc = new GroupCost_Excel();
|
|
@@ -16809,43 +16863,103 @@ FROM
|
|
|
gc.Date = (List_GC[i].Date + "\n" + week).ToString();
|
|
|
gc.ITIN = List_GC[i].ITIN;
|
|
|
gc.CarType = List_GC[i].CarType;
|
|
|
- gc.CarTiming = List_GC[i].CarTiming.ToString() == "0" ? "/" : List_GC[i].CarTiming.ToString();
|
|
|
- gc.CarCost = List_GC[i].CarCost.ToString() == "0" ? "/" : List_GC[i].CarCost.ToString();
|
|
|
- gc.CarNumber = List_GC[i].CarNumber.ToString() == "0" ? "/" : List_GC[i].CarNumber.ToString();
|
|
|
- gc.TGS = List_GC[i].TGS.ToString() == "0" ? "/" : List_GC[i].TGS.ToString();
|
|
|
- gc.TGWH = List_GC[i].TGWH.ToString() == "0" ? "/" : List_GC[i].TGWH.ToString();
|
|
|
- gc.TGN = List_GC[i].TGS.ToString() == "0" ? "/" : List_GC[i].TGN.ToString();
|
|
|
- gc.TGOF = List_GC[i].TGOF.ToString() == "0" ? "/" : List_GC[i].TGOF.ToString();
|
|
|
-
|
|
|
- gc.TGM = List_GC[i].TGM.ToString() == "0" ? "/" : List_GC[i].TGM.ToString();
|
|
|
- gc.TGA = List_GC[i].TGA.ToString() == "0" ? "/" : List_GC[i].TGA.ToString();
|
|
|
- gc.TGTF = List_GC[i].TGTF.ToString() == "0" ? "/" : List_GC[i].TGTF.ToString();
|
|
|
- gc.TGEF = List_GC[i].TGEF.ToString() == "0" ? "/" : List_GC[i].TGEF.ToString();
|
|
|
- gc.CFS = List_GC[i].CFS.ToString() == "0" ? "/" : List_GC[i].CFS.ToString();
|
|
|
- gc.CFM = List_GC[i].CFM.ToString() == "0" ? "/" : List_GC[i].CFOF.ToString();
|
|
|
- gc.CFOF = List_GC[i].CFOF.ToString() == "0" ? "/" : List_GC[i].CFOF.ToString();
|
|
|
- gc.B = List_GC[i].B.ToString() == "0" ? "/" : List_GC[i].B.ToString();
|
|
|
- gc.L = List_GC[i].L.ToString() == "0" ? "/" : List_GC[i].L.ToString();
|
|
|
- gc.D = List_GC[i].D.ToString() == "0" ? "/" : List_GC[i].D.ToString();
|
|
|
- gc.TBR = List_GC[i].TBR.ToString() == "0" ? "/" : List_GC[i].TBR.ToString();
|
|
|
- gc.SGR = List_GC[i].SGR.ToString() == "0" ? "/" : List_GC[i].SGR.ToString();
|
|
|
- gc.JS_ES = List_GC[i].JS_ES.ToString() == "0" ? "/" : List_GC[i].JS_ES.ToString();
|
|
|
- gc.Suite = List_GC[i].Suite.ToString() == "0" ? "/" : List_GC[i].Suite.ToString();
|
|
|
- gc.ACCON = List_GC[i].ACCON.ToString() == "0" ? "/" : List_GC[i].ACCON.ToString();
|
|
|
- gc.TV = List_GC[i].TV.ToString() == "0" ? "/" : List_GC[i].TV.ToString();
|
|
|
- gc.iL = List_GC[i].iL.ToString() == "0" ? "/" : List_GC[i].iL.ToString();
|
|
|
- gc.IF = List_GC[i].IF.ToString() == "0" ? "/" : List_GC[i].IF.ToString();
|
|
|
- gc.EF = List_GC[i].EF.ToString() == "0" ? "/" : List_GC[i].EF.ToString();
|
|
|
- gc.B_R_F = List_GC[i].B_R_F.ToString() == "0" ? "/" : List_GC[i].B_R_F.ToString();
|
|
|
- gc.TE = List_GC[i].TE.ToString() == "0" ? "/" : List_GC[i].TE.ToString();
|
|
|
- gc.TGTips = List_GC[i].TGTips.ToString() == "0" ? "/" : List_GC[i].TGTips.ToString();
|
|
|
- gc.DRVTips = List_GC[i].DRVTips.ToString() == "0" ? "/" : List_GC[i].DRVTips.ToString();
|
|
|
- gc.PC = List_GC[i].PC.ToString() == "0" ? "/" : List_GC[i].PC.ToString();
|
|
|
- gc.TLF = List_GC[i].TLF.ToString() == "0" ? "/" : List_GC[i].TLF.ToString();
|
|
|
- gc.ECT = List_GC[i].ECT.ToString() == "0" ? "/" : List_GC[i].ECT.ToString();
|
|
|
+ gc.CarTiming = isEmpty(List_GC[i].CarTiming.ToString()) ? "" : List_GC[i].CarTiming.ToString();
|
|
|
+ gc.CarCost = isEmpty(List_GC[i].CarCost.ToString()) ? "" : List_GC[i].CarCost.ToString();
|
|
|
+ gc.CarNumber = isEmpty(List_GC[i].CarNumber.ToString()) ? "" : List_GC[i].CarNumber.ToString();
|
|
|
+ gc.TGS = isEmpty(List_GC[i].TGS.ToString()) ? "" : List_GC[i].TGS.ToString();
|
|
|
+ gc.TGWH = isEmpty(List_GC[i].TGWH.ToString()) ? "" : List_GC[i].TGWH.ToString();
|
|
|
+ gc.TGN = isEmpty(List_GC[i].TGN.ToString()) ? "" : List_GC[i].TGN.ToString();
|
|
|
+ gc.TGOF = isEmpty(List_GC[i].TGOF.ToString()) ? "" : List_GC[i].TGOF.ToString();
|
|
|
+ gc.TGM = isEmpty(List_GC[i].TGM.ToString()) ? "" : List_GC[i].TGM.ToString();
|
|
|
+ gc.TGA = isEmpty(List_GC[i].TGA.ToString()) ? "" : List_GC[i].TGA.ToString();
|
|
|
+ gc.TGTF = isEmpty(List_GC[i].TGTF.ToString()) ? "" : List_GC[i].TGTF.ToString();
|
|
|
+ gc.TGEF = isEmpty(List_GC[i].TGEF.ToString()) ? "" : List_GC[i].TGEF.ToString();
|
|
|
+ gc.CFS = isEmpty(List_GC[i].CFS.ToString()) ? "" : List_GC[i].CFS.ToString();
|
|
|
+ gc.CFM = isEmpty(List_GC[i].CFM.ToString()) ? "" : List_GC[i].CFM.ToString();
|
|
|
+ gc.CFOF = isEmpty(List_GC[i].CFOF.ToString()) ? "" : List_GC[i].CFOF.ToString();
|
|
|
+ gc.B = isEmpty(List_GC[i].B.ToString()) ? "" : List_GC[i].B.ToString();
|
|
|
+ gc.L = isEmpty(List_GC[i].L.ToString()) ? "" : List_GC[i].L.ToString();
|
|
|
+ gc.D = isEmpty(List_GC[i].D.ToString()) ? "" : List_GC[i].D.ToString();
|
|
|
+ gc.TBR = isEmpty(List_GC[i].TBR.ToString()) ? "" : List_GC[i].TBR.ToString();
|
|
|
+ gc.SGR = isEmpty(List_GC[i].SGR.ToString()) ? "" : List_GC[i].SGR.ToString();
|
|
|
+ gc.JS_ES = isEmpty(List_GC[i].JS_ES.ToString()) ? "" : List_GC[i].JS_ES.ToString();
|
|
|
+ gc.Suite = isEmpty(List_GC[i].Suite.ToString()) ? "" : List_GC[i].Suite.ToString();
|
|
|
+ gc.ACCON = isEmpty(List_GC[i].ACCON.ToString()) ? "" : List_GC[i].ACCON.ToString();
|
|
|
+ gc.TV = isEmpty(List_GC[i].TV.ToString()) ? "" : List_GC[i].TV.ToString();
|
|
|
+ gc.iL = isEmpty(List_GC[i].iL.ToString()) ? "" : List_GC[i].iL.ToString();
|
|
|
+ gc.IF = isEmpty(List_GC[i].IF.ToString()) ? "" : List_GC[i].IF.ToString();
|
|
|
+ gc.EF = isEmpty(List_GC[i].EF.ToString()) ? "" : List_GC[i].EF.ToString();
|
|
|
+ gc.B_R_F = isEmpty(List_GC[i].B_R_F.ToString()) ? "" : List_GC[i].B_R_F.ToString();
|
|
|
+ gc.TE = isEmpty(List_GC[i].TE.ToString()) ? "" : List_GC[i].TE.ToString();
|
|
|
+ gc.TGTips = isEmpty(List_GC[i].TGTips.ToString()) ? "" : List_GC[i].TGTips.ToString();
|
|
|
+ gc.DRVTips = isEmpty(List_GC[i].DRVTips.ToString()) ? "" : List_GC[i].DRVTips.ToString();
|
|
|
+ gc.PC = isEmpty(List_GC[i].PC.ToString()) ? "" : List_GC[i].PC.ToString();
|
|
|
+ gc.TLF = isEmpty(List_GC[i].TLF.ToString()) ? "" : List_GC[i].TLF.ToString();
|
|
|
+ gc.ECT = isEmpty(List_GC[i].ECT.ToString()) ? "" : List_GC[i].ECT.ToString();
|
|
|
+ gc.EFR = List_GC[i].EFR;
|
|
|
List_GC1.Add(gc);
|
|
|
}
|
|
|
|
|
|
+ if (List_GC1.Count > 0)
|
|
|
+ {
|
|
|
+ var p = List_GC1[0];
|
|
|
+ var prs = p.GetType().GetProperties();
|
|
|
+ foreach (var item in prs)
|
|
|
+ {
|
|
|
+ var tp = item.PropertyType;
|
|
|
+
|
|
|
+ if (tp == typeof(int))
|
|
|
+ {
|
|
|
+ var val = List_GC1.Sum(x => (int)x.GetType().GetProperty(item.Name).GetValue(x));
|
|
|
+ if (val == 0)
|
|
|
+ {
|
|
|
+ var columnSetting = ColumnSetting.FirstOrDefault(x => x.P == item.Name);
|
|
|
+ if (columnSetting != null)
|
|
|
+ {
|
|
|
+ hideColumnList.Add(columnSetting.Index);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (tp == typeof(decimal))
|
|
|
+ {
|
|
|
+ var val = List_GC1.Sum(x => (decimal)x.GetType().GetProperty(item.Name).GetValue(x));
|
|
|
+ if (val == 0)
|
|
|
+ {
|
|
|
+ var columnSetting = ColumnSetting.FirstOrDefault(x => x.P == item.Name);
|
|
|
+ if (columnSetting != null)
|
|
|
+ {
|
|
|
+ hideColumnList.Add(columnSetting.Index);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (tp == typeof(string))
|
|
|
+ {
|
|
|
+ var val = List_GC1.Sum(x =>
|
|
|
+ {
|
|
|
+ var str = (string)x.GetType().GetProperty(item.Name).GetValue(x);
|
|
|
+ if (decimal.TryParse(str , out decimal str_De))
|
|
|
+ {
|
|
|
+ return str_De;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ return string.IsNullOrEmpty((string)x.GetType().GetProperty(item.Name).GetValue(x)) ? 0 : 1;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (val == 0)
|
|
|
+ {
|
|
|
+ var columnSetting = ColumnSetting.FirstOrDefault(x => x.P == item.Name);
|
|
|
+ if (columnSetting != null)
|
|
|
+ {
|
|
|
+ hideColumnList.Add(columnSetting.Index);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
var dt = CommonFun.GetDataTableFromIList(List_GC1);
|
|
|
dt.TableName = "TB";
|
|
|
|
|
@@ -16890,14 +17004,15 @@ FROM
|
|
|
designer.SetDataSource("JSESNumber", txtJSESNumber);
|
|
|
designer.SetDataSource("SUITENumber", txtSUITENumbe);
|
|
|
|
|
|
- var ws = designer.Workbook.Worksheets[0];
|
|
|
+ var ws = designer.Workbook.Worksheets[1];
|
|
|
int Row = List_GC.Count;
|
|
|
- int startIndex = 11;
|
|
|
+ int startIndex = 0;
|
|
|
int HideRows = 0;
|
|
|
+ Row = 0;
|
|
|
+
|
|
|
List<int> hideRowsList = new List<int>();
|
|
|
decimal TzZCB2 = 0.00M, TzZLR2 = 0.00M, TzZBJ2 = 0.00M;
|
|
|
|
|
|
-
|
|
|
#region A段left数据
|
|
|
var left = dto.leftInfo.Find(x => x.Type == "A");
|
|
|
if (left == null)
|
|
@@ -17822,7 +17937,8 @@ FROM
|
|
|
designer.SetDataSource(dt);
|
|
|
//根据数据源处理生成报表内容
|
|
|
designer.Process();
|
|
|
- designer.Workbook.Worksheets[0].Name = "清单";
|
|
|
+ designer.Workbook.Worksheets[0].Name = "费用明细";
|
|
|
+ designer.Workbook.Worksheets[1].Name = "费用总核算";
|
|
|
Worksheet sheet = designer.Workbook.Worksheets[0];
|
|
|
|
|
|
foreach (var Rowindex in hideRowsList)
|
|
@@ -17830,6 +17946,13 @@ FROM
|
|
|
ws.Cells.HideRows(Rowindex, 2);
|
|
|
}
|
|
|
|
|
|
+ ws = designer.Workbook.Worksheets[0];
|
|
|
+
|
|
|
+ foreach (var Column in hideColumnList)
|
|
|
+ {
|
|
|
+ ws.Cells.HideColumns(Column, 1);
|
|
|
+ }
|
|
|
+
|
|
|
byte[] bytes = null;
|
|
|
string strFileName = di.TeamName + "-团组-成本.xls";
|
|
|
using (MemoryStream stream = new MemoryStream())
|