qryErmcp3Report.go 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. /**
  2. * @Author: zou.yingbin
  3. * @Create : 2021/4/16 18:40
  4. * @Modify : 2021/4/16 18:40
  5. */
  6. package ermcp3
  7. import (
  8. "github.com/gin-gonic/gin"
  9. "mtp2_if/global/app"
  10. "mtp2_if/global/e"
  11. "mtp2_if/models"
  12. "net/http"
  13. "strconv"
  14. )
  15. // 查询日期
  16. type QueryDate string
  17. // IsNumberic 判断是否为数字,
  18. func (v QueryDate) IsNumberic(queryType int32) bool {
  19. if queryType == 1 {
  20. // 日报表 日期长度YYYYMMDD
  21. if len(v) != 8 {
  22. return false
  23. }
  24. } else if queryType == 2 {
  25. // 月报表 日期长度YYYYMM
  26. if len(v) != 6 {
  27. return false
  28. }
  29. }
  30. // 判断是否为数字
  31. if _, err := strconv.ParseInt(string(v), 10, 32); err != nil {
  32. return false
  33. }
  34. return true
  35. }
  36. // @Summary 查询现货日报表详情(菜单:报表查询/现货报表/现货日报表详情)
  37. // @Produce json
  38. // @Security ApiKeyAuth
  39. // @Param userid query int true "用户ID"
  40. // @Param deliverygoodsid query int true "现货商品id"
  41. // @Param tradedate query string true "交易日(格式:yyyyMMdd)"
  42. // @Success 200 {array} models.Ermcp3ReportOPLog
  43. // @Failure 500 {object} app.Response
  44. // @Router /Ermcp3/QryReportDaySpotDetail [get]
  45. // @Tags 企业风险管理v3(app)
  46. func QryReportDaySpotDetail(c *gin.Context) {
  47. a := app.GinUtils{Gin: app.Gin{C: c}}
  48. req := struct {
  49. USERID int64 `form:"userid" binding:"required"` // 用户id
  50. DELIVERYGOODSID int32 `form:"deliverygoodsid" binding:"required"` // 现货商品id
  51. TRADEDATE string `form:"tradedate" binding:"required"` // 交易日
  52. }{}
  53. a.DoBindReq(&req)
  54. m := models.Ermcp3ReportOPLog{USERID: req.USERID, DELIVERYGOODSID: req.DELIVERYGOODSID,
  55. TRADEDATE: req.TRADEDATE, LogTypeFilter: "2,3"}
  56. a.DoGetDataI(&m)
  57. }
  58. // @Summary 查询财务日报表款项(菜单:报表查询/财务报表/日报表/款项)
  59. // @Produce json
  60. // @Security ApiKeyAuth
  61. // @Param userid query int true "用户ID"
  62. // @Param tradedate query string true "交易日(格式:yyyyMMdd)"
  63. // @Success 200 {array} models.Ermcp3ReportOPLog
  64. // @Failure 500 {object} app.Response
  65. // @Router /Ermcp3/QryReportDayFinanceKx [get]
  66. // @Tags 企业风险管理v3(app)
  67. func QryReportDayFinanceKx(c *gin.Context) {
  68. a := app.GinUtils{Gin: app.Gin{C: c}}
  69. req := struct {
  70. USERID int64 `form:"userid" binding:"required"` // 用户id
  71. TRADEDATE string `form:"tradedate" binding:"required"` // 交易日
  72. }{}
  73. a.DoBindReq(&req)
  74. m := models.Ermcp3ReportOPLog{USERID: req.USERID, TRADEDATE: req.TRADEDATE, LogTypeFilter: "8,9,10"}
  75. a.DoGetDataI(&m)
  76. }
  77. // @Summary 查询财务日报表发票(菜单:报表查询/财务报表/日报表/发票)
  78. // @Produce json
  79. // @Security ApiKeyAuth
  80. // @Param userid query int true "用户ID"
  81. // @Param tradedate query string true "交易日(格式:yyyyMMdd)"
  82. // @Success 200 {array} models.Ermcp3ReportOPLog
  83. // @Failure 500 {object} app.Response
  84. // @Router /Ermcp3/QryReportDayFinanceFp [get]
  85. // @Tags 企业风险管理v3(app)
  86. func QryReportDayFinanceFp(c *gin.Context) {
  87. a := app.GinUtils{Gin: app.Gin{C: c}}
  88. req := struct {
  89. USERID int64 `form:"userid" binding:"required"` // 用户id
  90. TRADEDATE string `form:"tradedate" binding:"required"` // 交易日
  91. }{}
  92. a.DoBindReq(&req)
  93. m := models.ErmcpReportOPLog{USERID: req.USERID, TRADEDATE: req.TRADEDATE, LogTypeFilter: "11, 12"}
  94. a.DoGetDataI(&m)
  95. }
  96. // @Summary 查询现货日报表(菜单:报表查询/现货报表/现货日报表)
  97. // @Produce json
  98. // @Security ApiKeyAuth
  99. // @Param userid query int true "用户ID"
  100. // @Param tradedate query string true "交易日(格式:yyyyMMdd)"
  101. // @Success 200 {array} models.Ermcp3ReportDaySpot
  102. // @Failure 500 {object} app.Response
  103. // @Router /Ermcp3/QryReportDaySpot [get]
  104. // @Tags 企业风险管理v3(app)
  105. func QryReportDaySpot(c *gin.Context) {
  106. a := app.GinUtils{Gin: app.Gin{C: c}}
  107. req := struct {
  108. USERID int64 `form:"userid" binding:"required"` // 用户id
  109. TRADEDATE string `form:"tradedate" binding:"required"` // 交易日
  110. }{}
  111. a.DoBindReq(&req)
  112. m := models.Ermcp3ReportDaySpot{AREAUSERID: req.USERID, RECKONDATE: req.TRADEDATE}
  113. a.DoGetDataI(&m)
  114. }
  115. // QryReportMonthSpot
  116. // @Summary 查询现货月报表(菜单:报表查询/现货报表/现货月报表)
  117. // @Produce json
  118. // @Security ApiKeyAuth
  119. // @Param userid query int true "用户ID"
  120. // @Param cycletime query string true "周期时间:月(格式:yyyyMM)"
  121. // @Success 200 {array} models.Ermcp3ReportMonSpot
  122. // @Failure 500 {object} app.Response
  123. // @Router /Ermcp3/QryReportMonthSpot [get]
  124. // @Tags 企业风险管理v3(app)
  125. func QryReportMonthSpot(c *gin.Context) {
  126. a := app.GinUtils{Gin: app.Gin{C: c}}
  127. req := struct {
  128. UserId int64 `form:"userid" binding:"required"` //用户ID
  129. CycleTime string `form:"cycletime" binding:"required"` // 周期时间:月(格式:yyyyMM)
  130. }{}
  131. a.DoBindReq(&req)
  132. m := models.Ermcp3ReportMonSpot{AREAUSERID: req.UserId, CYCLETIME: req.CycleTime}
  133. a.DoGetDataI(&m)
  134. }
  135. // @Summary 查询现货月报表详情(菜单:报表查询/现货月报表/现货月报表详情)
  136. // @Produce json
  137. // @Security ApiKeyAuth
  138. // @Param userid query int true "用户ID"
  139. // @Param wrstandardid query int true "现货商品id"
  140. // @Param cycletime query string true "周期时间:月(格式:yyyyMM)"
  141. // @Success 200 {array} models.Ermcp3ReportDaySpot
  142. // @Failure 500 {object} app.Response
  143. // @Router /Ermcp3/QryReportMonthSpotDetail [get]
  144. // @Tags 企业风险管理v3(app)
  145. func QryReportMonthSpotDetail(c *gin.Context) {
  146. a := app.GinUtils{Gin: app.Gin{C: c}}
  147. req := struct {
  148. UserId int64 `form:"userid" binding:"required"` // 用户ID
  149. DELIVERYGOODSID int32 `form:"deliverygoodsid" binding:"required"` // 现货商品id
  150. CycleTime string `form:"cycletime" binding:"required"` // 周期时间:月(格式:yyyyMM)
  151. }{}
  152. a.DoBindReq(&req)
  153. if len(req.CycleTime) != 6 {
  154. // 月报表的日期应是6位,如 202101
  155. a.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  156. return
  157. }
  158. t1 := req.CycleTime + "01"
  159. t2 := req.CycleTime + "31"
  160. m := models.Ermcp3ReportDaySpot{AREAUSERID: req.UserId, DELIVERYGOODSID: req.DELIVERYGOODSID,
  161. BeginDate: t1, EndDate: t2}
  162. a.DoGetDataI(&m)
  163. }
  164. // QryReportAreaSpotPL
  165. // @Summary 查询现货损益报表(现货损益报表)
  166. // @Produce json
  167. // @Security ApiKeyAuth
  168. // @Param userid query int true "用户ID"
  169. // @Param querytype query int true "查询类型 1-日报表 2-月报表"
  170. // @Param querydate query string true "查询日期(格式 日报表YYYYMMDD, 月报表YYYYMM)"
  171. // @Param deliverygoodsid query int false "现货商品ID"
  172. // @Param spotgoodsbrandid query int false "品牌ID"
  173. // @Param wrstandardid query int false "品类ID"
  174. // @Success 200 {array} models.Ermcp3ReportAreaSpotPL
  175. // @Failure 500 {object} app.Response
  176. // @Router /Ermcp3/QryReportAreaSpotPL [get]
  177. // @Tags 企业风险管理v3(app)
  178. func QryReportAreaSpotPL(c *gin.Context) {
  179. a := app.GinUtils{Gin: app.Gin{C: c}}
  180. req := struct {
  181. USERID int64 `form:"userid" binding:"required"` // 用户id
  182. QUERYTYPE int32 `form:"querytype" binding:"required"` // 查询类型
  183. QUERYDATE string `form:"querydate" binding:"required"` // 交易日
  184. DELIVERYGOODSID int32 `form:"deliverygoodsid"` // 现货商品id
  185. SPOTGOODSBRANDID int32 `form:"spotgoodsbrandid"` // 现货品牌id
  186. WRSTANDARDID int64 `form:"wrstandardid"` // 品类id
  187. }{}
  188. a.DoBindReq(&req)
  189. if QueryDate(req.QUERYDATE).IsNumberic(req.QUERYTYPE) {
  190. m := models.Ermcp3ReportAreaSpotPL{AREAUSERID: req.USERID, WRSTANDARDID: req.WRSTANDARDID,
  191. SPOTGOODSBRANDID: req.SPOTGOODSBRANDID, DELIVERYGOODSID: req.DELIVERYGOODSID,
  192. ReportDate: req.QUERYDATE, ReportType: req.QUERYTYPE}
  193. a.DoGetDataI(&m)
  194. } else {
  195. a.Gin.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  196. }
  197. }