contract.go 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package controllers
  2. import (
  3. "hongze/hongze_mobile_admin/models/response/contract"
  4. "hongze/hongze_mobile_admin/models/tables/company_contract"
  5. "hongze/hongze_mobile_admin/models/tables/company_report_permission"
  6. "hongze/hongze_mobile_admin/services"
  7. "hongze/hongze_mobile_admin/utils"
  8. )
  9. type ContractCommon struct {
  10. BaseAuth
  11. }
  12. // @Title 合同详情详情
  13. // @Description 合同详情接口接口
  14. // @Param CompanyId query int true "客户ID"
  15. // @Param CompanyContractId query int true "合同id"
  16. // @Success 200 {object} company_contract.CompanyContractDetail
  17. // @router /contract/detail [get]
  18. func (this *ContractCommon) ApplyContractDetail() {
  19. sysUser := this.AdminWx
  20. companyId, _ := this.GetInt("CompanyId")
  21. if companyId <= 0 {
  22. this.FailWithMessage("参数错误", "参数错误,客户id小于等于0")
  23. return
  24. }
  25. companyContractId, _ := this.GetInt("CompanyContractId")
  26. roleTypeCode := sysUser.RoleTypeCode
  27. productId := services.GetProductId(roleTypeCode)
  28. if productId == 0 {
  29. this.FailWithMessage("参数错误", "客户类型为:"+roleTypeCode)
  30. return
  31. }
  32. detail, err := company_contract.GetCompanyContractDetail(companyId, productId, companyContractId)
  33. if err != nil {
  34. this.FailWithMessage("获取信息失败", "获取信息失败,Err:"+err.Error())
  35. return
  36. }
  37. productId = detail.ProductId
  38. if productId == 1 {
  39. for _, v := range utils.PermissionFiccClassifyArr {
  40. checkList := make([]int, 0)
  41. plist := new(company_report_permission.PermissionLookList)
  42. items, err := company_report_permission.GetPermissionLookItems(productId, v)
  43. if err != nil {
  44. this.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
  45. return
  46. }
  47. for _, n := range items {
  48. count, err := company_contract.GetCompanyContractPermissionCheckByContractId(companyId, detail.CompanyContractId, n.ChartPermissionId)
  49. if err != nil {
  50. this.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
  51. return
  52. }
  53. if count > 0 {
  54. checkList = append(checkList, n.ChartPermissionId)
  55. }
  56. }
  57. plist.Items = items
  58. plist.ClassifyName = v
  59. plist.CheckList = checkList
  60. detail.PermissionList = append(detail.PermissionList, plist)
  61. }
  62. } else {
  63. classifyName := "权益"
  64. checkList := make([]int, 0)
  65. plist := new(company_report_permission.PermissionLookList)
  66. items, err := company_report_permission.GetPermissionLookItems(productId, classifyName)
  67. if err != nil {
  68. this.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
  69. return
  70. }
  71. for _, n := range items {
  72. count, err := company_contract.GetCompanyContractPermissionCheckByContractId(companyId, detail.CompanyContractId, n.ChartPermissionId)
  73. if err != nil {
  74. this.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
  75. return
  76. }
  77. if count > 0 {
  78. checkList = append(checkList, n.ChartPermissionId)
  79. }
  80. }
  81. plist.Items = items
  82. plist.ClassifyName = classifyName
  83. plist.CheckList = checkList
  84. detail.PermissionList = append(detail.PermissionList, plist)
  85. }
  86. resp := contract.CompanyContractDetailResp{
  87. detail,
  88. }
  89. this.OkDetailed(resp, "获取成功")
  90. }