InvalidDataMessageJob.cs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using Microsoft.EntityFrameworkCore;
  2. using Quartz;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Linq;
  7. using System.Threading.Tasks;
  8. using wispro.sp.entity;
  9. namespace wispro.sp.api.Job
  10. {
  11. public class InvalidDataMessageJob : IJob
  12. {
  13. public Task Execute(IJobExecutionContext context)
  14. {
  15. spDbContext spDb = new spDbContext();
  16. var lstItem = spDb.PerformanceItems.Where<PerformanceItem>(p =>
  17. (p.AgentFeedbackMemo != "已算绩效" && p.CalMonth.Status == 0 && !p.CaseNo.StartsWith("J")
  18. && (p.BasePoint ==null || (string.IsNullOrEmpty(p.CaseCoefficient) && p.Type =="新申请"))))
  19. .Include(p => p.Reviewer)
  20. .Include(p => p.CalMonth)
  21. .Include(p => p.Customer)
  22. .ToList<PerformanceItem>();
  23. if (lstItem.Count > 0)
  24. {
  25. DataTable dt = new DataTable();
  26. dt.Columns.Add("我方文号");
  27. dt.Columns.Add("专利类型");
  28. dt.Columns.Add("处理事项");
  29. dt.Columns.Add("案件阶段");
  30. dt.Columns.Add("案件系数");
  31. dt.Columns.Add("处理事项系数");
  32. dt.Columns.Add("案件状态");
  33. dt.Columns.Add("翻译字数");
  34. dt.Columns.Add("基础点数");
  35. dt.Columns.Add("绩效类型");
  36. dt.Columns.Add("备注");
  37. foreach (var p in lstItem)
  38. {
  39. DataRow row = dt.NewRow();
  40. row["我方文号"] = p.CaseNo;
  41. row["专利类型"] = p.ApplicationType;
  42. row["处理事项"] = p.DoItem;
  43. row["案件阶段"] = p.CaseStage;
  44. row["案件系数"] = p.CaseCoefficient;
  45. row["处理事项系数"] = p.DoItemCoefficient;
  46. row["案件状态"] = p.CaseState;
  47. row["翻译字数"] = p.WordCount;
  48. row["基础点数"] = p.BasePoint;
  49. row["绩效类型"] = p.Type;
  50. row["备注"] = p.CaseMemo;
  51. dt.Rows.Add(row);
  52. }
  53. string strPath = $"c:\\temp\\{DateTime.Now.ToString("yyyyMMddhhmmss")}-JXList.xlsx";
  54. utility.NPOIExcel.DataTableToExcel(dt, strPath);
  55. string strBody = $"<div style=\"position:absolute;width:800;height:300;margin-top:50px;margin-left:200px;margin-right:200px;box-shadow:0px 0px 3px 3px #ccc \"><div style= \"margin-top: 20px; margin-left:20px;;font-size:14px; \">各位好!</div><div style= \"margin-top: 25px; margin-left:20px;font-size:14px; \"><div>附件为本期绩效记录中疑似有问题数据,请检查并补充缺失数据!</div><div style= \"margin-top: 100px;margin-right:15px; padding-bottom: 20px; font-size:14px;color:#888888;float:right; \">小美集团绩效管理系统</div></div>";
  56. _ = QuartzUtil.AddMailJob("疑似有问题绩效数据清单", strBody, "罗才洋", "luocaiyang@china-wispro.com", strPath);
  57. _ = QuartzUtil.AddMailJob("疑似有问题绩效数据清单", strBody, "何青瓦", "heqingwa@china-wispro.com", strPath);
  58. _ = QuartzUtil.AddMailJob("疑似有问题绩效数据清单", strBody, "钟子敏", "zhongzimin@china-wispro.com", strPath);
  59. _ = QuartzUtil.AddMailJob("疑似有问题绩效数据清单", strBody, "夏敏", "xiamin@china-wispro.com", strPath);
  60. _ = QuartzUtil.AddMailJob("疑似有问题绩效数据清单", strBody, "吴芳", "wufang@china-wispro.com", strPath);
  61. _ = QuartzUtil.AddMailJob("疑似有问题绩效数据清单", strBody, "邢丽霞", "xinglixia@china-wispro.com", strPath);
  62. }
  63. return Task.CompletedTask;
  64. }
  65. }
  66. }