WorkBaseService.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IdentityModel.Tokens.Jwt;
  4. using System.Linq;
  5. using System.Security.Claims;
  6. using System.Text;
  7. using System.Transactions;
  8. using FMSAdmin.Data;
  9. using FMSAdmin.Helpers;
  10. using FMSAdmin.Entities;
  11. using Microsoft.EntityFrameworkCore;
  12. using Microsoft.Extensions.Logging;
  13. using Microsoft.Extensions.Options;
  14. using Microsoft.IdentityModel.Tokens;
  15. using FMSAdmin.Models;
  16. using FMSApp.Repositories;
  17. namespace FMSAdmin.Services {
  18. public class WorkBaseService {
  19. private readonly ILogger<WorkBaseService> _logger;
  20. private readonly FMSContext _context;
  21. private readonly WorkRequestRepository _workRequestRepository;
  22. private readonly WorkConfigRepository _workConfigRepository;
  23. public WorkBaseService(
  24. ILogger<WorkBaseService> logger,
  25. FMSContext context,
  26. WorkRequestRepository workRequestRepository,
  27. WorkConfigRepository workConfigRepository) {
  28. _logger = logger;
  29. _context = context;
  30. _workRequestRepository = workRequestRepository;
  31. _workConfigRepository = workConfigRepository;
  32. }
  33. public void ImportExcel(IList<FmsWorkRequest> list, string userId) {
  34. // using (var trans = new TransactionScope()) {
  35. foreach (var item in list) {
  36. // FmsWorkRequest INSERT
  37. _context.FmsWorkRequest.Add(item);
  38. _context.SaveChanges();
  39. // FmsWorkOrder INSERT
  40. _workRequestRepository.WorkToOrder(item.SiteId, item.WorkRequestId, item.RequestUserId, item.Content, false);
  41. // FmsWorkResult INSERT
  42. if (!_workConfigRepository.IsAutoResult(true)) {
  43. var order = _context.FmsWorkOrder.FirstOrDefault(
  44. x => x.SiteId == item.SiteId
  45. && x.WorkRequestId == item.WorkRequestId
  46. );
  47. // order.FmsWorkRequest.WorkProgressId = 3;
  48. _workRequestRepository.WorkToResult(order, new FmsWorkResult() {
  49. StartDate = item.StartWorkDate.Date,
  50. EndDate = item.StartWorkDate.Date,
  51. Content = "",
  52. WorkerUserId = item.RequestUserId,
  53. });
  54. }
  55. var result = _context.FmsWorkResult.FirstOrDefault(
  56. x => x.SiteId == item.SiteId
  57. && x.WorkRequestId == item.WorkRequestId
  58. );
  59. result.IsConfirmed = true;
  60. result.ConfirmedUserId = item.RequestUserId;
  61. result.WorkerUserId = item.RequestUserId;
  62. result.ConfirmedDate = item.RequestDate;
  63. _context.FmsWorkResult.Update(result);
  64. _context.SaveChanges();
  65. // FmsWorkRequest UPDATE
  66. var request = _context.FmsWorkRequest.FirstOrDefault(
  67. x => x.SiteId == item.SiteId
  68. && x.WorkRequestId == item.WorkRequestId
  69. );
  70. request.WorkProgressId = 6;
  71. _context.FmsWorkRequest.Update(request);
  72. _context.SaveChanges();
  73. }
  74. // trans.Complete();
  75. // }
  76. }
  77. }
  78. }