ViseManager.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using Sugar.Enties;
  2. using SqlSugar;
  3. using System;
  4. using System.Collections.Generic;
  5. using WebAPIBase.Utils;
  6. /// <summary>
  7. /// 待审签证管理类
  8. /// </summary>
  9. public class ViseManager : DbContext<Vise>
  10. {
  11. //当前类已经继承了 DbContext增、删、查、改的方法
  12. //这里面写的代码不会给覆盖,如果要重新生成请删除 ViseManager.cs
  13. /// <summary>
  14. /// 获取待审签证列表
  15. /// </summary>
  16. /// <param name="projectCode"></param>
  17. /// <param name="searchValue"></param>
  18. /// <returns></returns>
  19. public List<ViseDTO> GetVises(string projectCode, string searchValue = "")
  20. {
  21. var sql = $"SELECT v.ViseCode,v.ViseId,v.ViseName,v.ViseType,CONVERT(VARCHAR(10),v.ViseDate,120) ViseDate,v.State,dbo.GetUnitFullName(v.UnitCode) unitFullName, c.ContractName,v.ContractCode from Vise v INNER JOIN dbo.Contract c ON v.ContractCode=c.ContractCode where (dbo.GetUnitFullCode(v.UnitCode) like ('100000%')) and v.ProjectCode = '{projectCode}' and v.State ='0' ";
  22. if (searchValue.IsNotNullAndEmpty())
  23. {
  24. sql += $" and (v.ViseId='{searchValue}' or v.ViseName like '%{searchValue}%')";
  25. }
  26. sql += " order by v.ViseCode desc";
  27. var list = Db.Ado.SqlQuery<ViseDTO>(sql);
  28. return list;
  29. }
  30. /// <summary>
  31. /// 根据签证编码获取待审签证实例
  32. /// </summary>
  33. /// <param name="viseCode"></param>
  34. /// <returns></returns>
  35. public ViseDTO GetVise(string viseCode)
  36. {
  37. var sql = $"SELECT v.*,dbo.GetUnitFullName(v.UnitCode) unitFullName, c.ContractName from Vise v INNER JOIN dbo.Contract c ON v.ContractCode=c.ContractCode where v.viseCode = '{viseCode}' ";
  38. var entity = Db.Ado.SqlQuerySingle<ViseDTO>(sql);
  39. return entity;
  40. }
  41. /// <summary>
  42. /// 待审核签证费用明细
  43. /// </summary>
  44. /// <param name="viseCode"></param>
  45. /// <returns></returns>
  46. public List<ViseCostDTO> GetViseCostDTOs(string viseCode)
  47. {
  48. var sql = $"SELECT * FROM visecost WHERE ViseCode='{viseCode}'";
  49. var list = Db.Ado.SqlQuery<ViseCostDTO>(sql);
  50. return list;
  51. }
  52. /// <summary>
  53. /// 获取合同明细
  54. /// </summary>
  55. /// <param name="contractCode"></param>
  56. /// <returns></returns>
  57. public List<ContractCostDTO> GetContractCostDTOs(string contractCode)
  58. {
  59. var sql = $"SELECT * FROM ContractCost WHERE contractCode='{contractCode}'";
  60. var list = Db.Ado.SqlQuery<ContractCostDTO>(sql);
  61. return list;
  62. }
  63. /// <summary>
  64. /// 插入待审核签证主表和明细表
  65. /// </summary>
  66. /// <param name="vise"></param>
  67. /// <param name="viseCost"></param>
  68. /// <returns></returns>
  69. public string InsertVise(Vise vise, List<ViseCost> viseCost)
  70. {
  71. Db.BeginTran();
  72. vise.State = "0";
  73. vise.ViseCode = new UnitManager().GetSysCodeValue("ViseCode");
  74. Db.Insertable(vise).ExecuteCommand();
  75. return vise.ViseCode;
  76. }
  77. }