ReportConfig.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.ComponentModel.DataAnnotations.Schema;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. namespace CommonStorage.Model
  9. {
  10. /// <summary>
  11. /// 报表配置
  12. /// </summary>
  13. [Table("report_configs")]
  14. public class ReportConfig
  15. {
  16. /**[JsonConverter(typeof(LongToStringConverter))]*/
  17. /// <summary>
  18. /// ID
  19. /// </summary>
  20. [Key]
  21. public long ID { get; set; }
  22. /// <summary>
  23. /// 产品代号
  24. /// </summary>
  25. public string ProductCode { get; set; }
  26. /// <summary>
  27. /// 报告名称
  28. /// </summary>
  29. public string ReportName { get; set; }
  30. /// <summary>
  31. /// 导出报告的软件模块的名称
  32. /// </summary>
  33. public string AppName { get; set; }
  34. /// <summary>
  35. /// 报告模板文件,根据文件后缀区别是word或者excel
  36. /// </summary>
  37. public string TemplateFile { get; set; }
  38. // public List<ReportValueMap> ValueMaps { get; set; }
  39. //值的匹配关系内容,是上面内容的序列号结果,每一个序列号对应一组由{Serial,TestProject,TestItem}三个参数确定的数据
  40. public string ValueMaps { get; set; }
  41. }
  42. /// <summary>
  43. /// 报告和数据的映射关系
  44. /// 以Excel的形式,定位报告的坐标点与数据坐标点的关系
  45. /// </summary>
  46. public class ReportValueMap
  47. {
  48. //以下两项唯一定位一份产品的测试数据
  49. /// <summary>
  50. /// 测试项目,比如温循、老练等
  51. /// </summary>
  52. public string TestProject { get; set; }
  53. /// <summary>
  54. /// 指标项目,或者称为数据项的名称
  55. /// </summary>
  56. public string DataName { get; set; }
  57. List<RowColIndexMap> ColIndexMap { get; set; }
  58. public ReportValueMap()
  59. {
  60. ColIndexMap = new List<RowColIndexMap>();
  61. }
  62. }
  63. public struct RowColIndexMap
  64. {
  65. //起个名字,方便记忆,可以不填
  66. public string Name { get; set; }
  67. /// <summary>
  68. /// 报告模板文件中的第几个表格,一般是对word模板起作用
  69. /// </summary>
  70. public uint TableIndex { get; set; }
  71. //报告的行列坐标
  72. public uint ReportRowIndex { get; set; }
  73. public uint ReportColIndex { get; set; }
  74. //数据的行列坐标
  75. public uint ValueRowIndex { get; set; }
  76. public uint ValueColIndex { get; set; }
  77. }
  78. }