contract.go 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package controllers
  2. import (
  3. "encoding/json"
  4. contractReq "hongze/hongze_mobile_admin/models/request/contract"
  5. "hongze/hongze_mobile_admin/models/tables/contract"
  6. contractService "hongze/hongze_mobile_admin/services/contract"
  7. "hongze/hongze_mobile_admin/utils"
  8. )
  9. //合同模块
  10. type ContractCommon struct {
  11. BaseAuth
  12. }
  13. // @Title 上传签回附件
  14. // @Description 上传签回附件接口
  15. // @Param request body contract.UploadCheckBackFileReq true "type json string"
  16. // @Success Ret=200 驳回成功
  17. // @router /upload_check_back_file [get]
  18. func (this *ContractCommon) UploadCheckBackFile() {
  19. var req contractReq.UploadCheckBackFileReq
  20. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  21. if err != nil {
  22. this.FailWithMessage("参数解析异常!", "参数解析失败,Err:"+err.Error())
  23. return
  24. }
  25. //合同编号
  26. if req.ContractId <= 0 {
  27. this.FailWithMessage("请传入合同编号!", "请传入合同编号")
  28. return
  29. }
  30. if req.FileUrl == "" {
  31. this.FailWithMessage("请先上传附件!", "请先上传附件")
  32. return
  33. }
  34. err = contractService.UploadCheckBackFile(req.ContractId, req.FileUrl, this.AdminWx)
  35. this.OkWithMessage("上传成功")
  36. }
  37. // @Title 获取合同详情
  38. // @Description 获取合同详情接口
  39. // @Param ContractId query int true "合同id"
  40. // @Success 200 {object} contract.ContractDetail
  41. // @router /detail [get]
  42. func (this *ContractCommon) Detail() {
  43. //合同类型、产品类型、合同状态、更新时间、所选销售
  44. //关键字:合同编号、客户名称,社会信用码
  45. contractId, _ := this.GetInt("ContractId")
  46. //合同id
  47. if contractId <= 0 {
  48. this.FailWithMessage("合同id必传!", "合同id必传!")
  49. return
  50. }
  51. contractInfo, err := contractService.GetContractDetail(contractId)
  52. if err != nil {
  53. this.FailWithMessage("获取合同详情失败!", "获取合同详情失败,ERR:"+err.Error())
  54. return
  55. }
  56. contractInfo.StartDateStr = contractInfo.StartDate.Format(utils.FormatDate)
  57. contractInfo.EndDateStr = contractInfo.EndDate.Format(utils.FormatDate)
  58. contractInfo.ModifyTimeStr = contractInfo.ModifyTime.Format(utils.FormatDateTime)
  59. contractInfo.CreateTimeStr = contractInfo.CreateTime.Format(utils.FormatDateTime)
  60. this.OkDetailed(contractInfo, "获取成功")
  61. }
  62. // @Title 根据客户名称获取已存在合同系统中客户名称列表
  63. // @Description 获取合同详情接口
  64. // @Param CompanyName query string true "客户名称"
  65. // @Success 200 {object} []string
  66. // @router /company_list [get]
  67. func (this *ContractCommon) CompanyList() {
  68. companyName := this.GetString("CompanyName")
  69. //合同id
  70. if companyName == "" {
  71. this.FailWithMessage("客户名称必传!", "客户名称必传!")
  72. return
  73. }
  74. companyNameList := make([]string, 0)
  75. list, err := contract.GetCompanyNameList(companyName)
  76. if err != nil {
  77. this.FailWithMessage("获取客户名称列表失败!", "获取客户名称列表失败,ERR:"+err.Error())
  78. return
  79. }
  80. for _, v := range list {
  81. companyNameList = append(companyNameList, v.CompanyName)
  82. }
  83. this.OkDetailed(companyNameList, "获取成功")
  84. }