GhbzGhxmJdRepository.cs 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. using Microsoft.AspNetCore.Http;
  2. using QM.KJGH.CGGL.IRepository;
  3. using QM.KJGH.CGGL.Model.Ghxms;
  4. using QM.KJGH.Model.KJGH;
  5. using QM.OrmSqlSugar;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Linq;
  9. using System.Threading.Tasks;
  10. using WS;
  11. using WS.IO;
  12. using WS.IO.Upload;
  13. namespace QM.KJGH.CGGL.Repository
  14. {
  15. public class GhbzGhxmJdRepository : SqlSugarRepository<GhbzGhxmJd>, IGhbzGhxmJdRepository
  16. {
  17. /// <summary>
  18. /// 添加进度
  19. /// </summary>
  20. /// <param name="ghbzGhxmJdDto"></param>
  21. /// <returns></returns>
  22. public bool Add(GhbzGhxmJd model, IFormFileCollection files)
  23. {
  24. var db = DbClient();
  25. try
  26. {
  27. db.BeginTran();
  28. model.BSM = Guid.NewGuid().ToString("N");
  29. model.CTIME = DateTime.Now;
  30. db.Insertable(model).ExecuteCommand();
  31. var dic = db.Queryable<CfgDict>().Where(u => u.SORT == (db.Queryable<CfgDict>().First(u => u.NAME == model.XMJD).SORT + 1)).First();
  32. //最后流程更新流程状态
  33. if (null == dic)
  34. {
  35. db.Updateable<GhbzGhxm>().SetColumns(it => new GhbzGhxm() { DQJD = model.XMJD, JDSTATUS = 1 }).Where(it => it.BSM == model.XM_BSM).ExecuteCommand();
  36. }
  37. else
  38. {
  39. db.Updateable<GhbzGhxm>().SetColumns(it => it.DQJD == model.XMJD).Where(it => it.BSM == model.XM_BSM).ExecuteCommand();
  40. }
  41. var list = new List<GhbzGhxmJdfjb>();
  42. foreach (var item in files)
  43. {
  44. string path = FileManage.Instance.ToFullPath(@$"UploadFiles");
  45. var uFile = FileUpload.SaveFile(item, path);
  46. var ghbzGhxmJdfjbObj = new GhbzGhxmJdfjb
  47. {
  48. BSM = Guid.NewGuid().ToString("N"),
  49. GL_BSM = model.BSM,
  50. FJLJ = uFile.Path,
  51. FJMC = uFile.Name,
  52. FJKZM = System.IO.Path.GetExtension(uFile.Name),
  53. FJDX = (int)uFile.Size
  54. };
  55. list.Add(ghbzGhxmJdfjbObj);
  56. }
  57. //添加附件
  58. db.Insertable(list).ExecuteCommand();
  59. db.CommitTran();
  60. }
  61. catch (Exception ex)
  62. {
  63. db.RollbackTran();
  64. WS.Log.RunLog.Error(ex);
  65. throw new UseArgumentException("服务器错误");
  66. }
  67. return true;
  68. }
  69. /// <summary>
  70. /// 根据项目标识码查询当前和下一进度
  71. /// </summary>
  72. /// <param name="xmBsm"></param>
  73. /// <returns></returns>
  74. public async Task<GhbzGhxmJdView> QueryByXmBsm(string xmBsm)
  75. {
  76. var query = DbClient().Queryable<CfgDict>().Where(t=>t.TYPE == "项目进度");
  77. if (string.IsNullOrEmpty(xmBsm))
  78. throw new UseArgumentException("请求参数错误");
  79. var result = (await GetAsync(u => u.XM_BSM == xmBsm));
  80. var dicdata = query.OrderBy(i => i.SORT, SqlSugar.OrderByType.Asc).ToList();
  81. var ghbzGhxmJdView = new GhbzGhxmJdView();
  82. if (result == null)
  83. {
  84. ghbzGhxmJdView.CurrJD = dicdata.FirstOrDefault(i => i.SORT == 1).ID;
  85. ghbzGhxmJdView.NextJD = dicdata.FirstOrDefault(i => i.SORT == 2).ID;
  86. }
  87. else
  88. {
  89. if (true)
  90. {
  91. }
  92. ghbzGhxmJdView.CurrJD = dicdata.FirstOrDefault(u => u.SORT == (dicdata.FirstOrDefault(u => u.NAME == result.XMJD).SORT + 1)).ID;
  93. ghbzGhxmJdView.NextJD = dicdata.FirstOrDefault(u => u.SORT == (dicdata.FirstOrDefault(u => u.NAME == result.XMJD).SORT + 2)).ID;
  94. }
  95. return ghbzGhxmJdView;
  96. }
  97. }
  98. }