qryErmcp3.go 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680
  1. /**
  2. * @Author: zou.yingbin
  3. * @Create : 2021/4/15 10:35
  4. * @Modify : 2021/4/15 10:35
  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/logger"
  12. "mtp2_if/models"
  13. "mtp2_if/mtpcache"
  14. "net/http"
  15. )
  16. // QueryDeliveryGoods
  17. // @Summary 查询现货商品
  18. // @Produce json
  19. // @Security ApiKeyAuth
  20. // @Param userid query int true "用户id"
  21. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  22. // @Param excludecfg query int false "排除已配置的业务类型商品 1-套保 2-套利"
  23. // @Success 200 {array} models.ErmcpDeliveryGoods
  24. // @Failure 500 {object} app.Response
  25. // @Router /Ermcp3/QueryDeliveryGoods [get]
  26. // @Tags 企业风险管理v3(app)
  27. func QueryDeliveryGoods(c *gin.Context) {
  28. a := app.GinUtils{Gin: app.Gin{C: c}}
  29. req := struct {
  30. UserId int64 `form:"userid" binding:"required"` // 用户id
  31. USERTYPE int32 `form:"usertype"` // 用户类型
  32. ExcludeCfg int32 `form:"excludecfg"` // 排除已配置的业务类型商品 1-套保 2-套利
  33. }{}
  34. a.DoBindReq(&req)
  35. m := models.ErmcpDeliveryGoods{AREAUSERID: mtpcache.GetAreaUserId(req.UserId, req.USERTYPE),
  36. ExcludeCfg: req.ExcludeCfg}
  37. a.DoGetDataI(&m)
  38. }
  39. // QueryDeliveryGoodsDetail
  40. // @Summary 查询现货商品详情
  41. // @Produce json
  42. // @Security ApiKeyAuth
  43. // @Param userid query int true "用户id"
  44. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  45. // @Param deliverygoodsid query int false "现货商品id"
  46. // @Success 200 {array} models.XHDeliveryGoods
  47. // @Failure 500 {object} app.Response
  48. // @Router /Ermcp3/QueryDeliveryGoodsDetail [get]
  49. // @Tags 企业风险管理v3(app)
  50. func QueryDeliveryGoodsDetail(c *gin.Context) {
  51. a := app.GinUtils{Gin: app.Gin{C: c}}
  52. req := struct {
  53. UserId int64 `form:"userid" binding:"required"` // 用户id
  54. USERTYPE int32 `form:"usertype"` // 用户类型
  55. DeliveryGoodsId int64 `form:"deliverygoodsid"` // 现货商品id
  56. }{}
  57. a.DoBindReq(&req)
  58. m := models.XHDeliveryGoods{AREAUSERID: mtpcache.GetAreaUserId(req.UserId, req.USERTYPE),
  59. DELIVERYGOODSID: req.DeliveryGoodsId}
  60. a.DoGetDataI(&m)
  61. }
  62. // QueryMiddleGoodsDetail
  63. // @Summary 查询套保品种详情(套保品种/商品详情)
  64. // @Produce json
  65. // @Security ApiKeyAuth
  66. // @Param userid query int true "用户id"
  67. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  68. // @Param middlegoodsid query int false "套保品种id"
  69. // @Success 200 {array} models.TBMiddleGoods
  70. // @Failure 500 {object} app.Response
  71. // @Router /Ermcp3/QueryMiddleGoodsDetail [get]
  72. // @Tags 企业风险管理v3(app)
  73. func QueryMiddleGoodsDetail(c *gin.Context) {
  74. a := app.GinUtils{Gin: app.Gin{C: c}}
  75. req := struct {
  76. USERID int64 `form:"userid" binding:"required"` // 所属机构id
  77. USERTYPE int32 `form:"usertype"` // 用户类型
  78. MIDDLEGOODSID uint32 `form:"middlegoodsid"` // 套保品种id
  79. }{}
  80. a.DoBindReq(&req)
  81. m := models.TBMiddleGoods{AREAUSERID: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  82. MIDDLEGOODSID: int64(req.MIDDLEGOODSID)}
  83. a.DoGetDataI(&m)
  84. }
  85. // QryContractReq 查询合同请求
  86. type QryContractReq struct {
  87. AreadUserId int64 `form:"userid"` // 所属机构Id
  88. CONTRACTTYPE int32 `form:"contracttype"` // 合同类型 1-采购, -1-销售
  89. QUERYTYPE int32 `form:"querytype"` // 查询类型
  90. USERID int64 `form:"userid"` // 用户Id
  91. USERTYPE int32 `form:"usertype"` // 用户类型
  92. CONTRACTID string `form:"contractid"` // 合同ID(SpotContractId)
  93. CONTRACTNO string `form:"contractno"` // 现货合同编号
  94. WRSTANDARDNAME string `form:"wrstandardname"` // 品类名称
  95. }
  96. // QuerySpotContract
  97. // @Summary 查询现货合同
  98. // @Produce json
  99. // @Security ApiKeyAuth
  100. // @Param userid query int true "用户id(当指定contractid, userid可不填)"
  101. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  102. // @Param contracttype query int false "合同类型 1-采购, -1-销售"
  103. // @Param querytype query int false "查询类型 1-未提交 2-待审核 3-履约中 4-已完成"
  104. // @Param contractid query string false "合同ID(SpotContractId)"
  105. // @Param contractno query string false "合同编号(模糊匹配)"
  106. // @Param wrstandardname query string false "商品名称(模糊匹配)"
  107. // @Success 200 {array} models.Ermcp3Contract
  108. // @Failure 500 {object} app.Response
  109. // @Router /Ermcp3/QuerySpotContract [get]
  110. // @Tags 企业风险管理v3(app)
  111. func QuerySpotContract(c *gin.Context) {
  112. a := app.GinUtils{Gin: app.Gin{C: c}}
  113. req := QryContractReq{}
  114. a.DoBindReq(&req)
  115. m := models.Ermcp3Contract{USERID: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  116. QryType: req.QUERYTYPE, CONTRACTTYPE: req.CONTRACTTYPE,
  117. OwnUserId: req.USERID, UserType: req.USERTYPE, SPOTCONTRACTID: req.CONTRACTID,
  118. CONTRACTNO: req.CONTRACTNO, WRSTANDARDNAME: req.WRSTANDARDNAME}
  119. a.DoGetDataI(&m)
  120. }
  121. // QuerySpotContractBS
  122. // @Summary 查询合同(采购/销售)
  123. // @Produce json
  124. // @Security ApiKeyAuth
  125. // @Param userid query int true "用户id"
  126. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  127. // @Param contracttype query int true "合同类型 1-采购, -1-销售"
  128. // @Param querytype query int true "查询类型 1-全部 2-待点价 3-履约结算 4-已完成"
  129. // @Param contractid query string false "合同ID(SpotContractId)"
  130. // @Success 200 {array} models.Ermcp3SellBuyContract
  131. // @Failure 500 {object} app.Response
  132. // @Router /Ermcp3/QuerySpotContractBS [get]
  133. // @Tags 企业风险管理v3(app)
  134. func QuerySpotContractBS(c *gin.Context) {
  135. a := app.GinUtils{Gin: app.Gin{C: c}}
  136. req := QryContractReq{}
  137. a.DoBindReq(&req)
  138. m := models.Ermcp3SellBuyContract{UserID: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  139. Contracttype: req.CONTRACTTYPE,
  140. OwnUserId: req.USERID, UserType: req.USERTYPE, SpotContractId: req.CONTRACTID, QryType: req.QUERYTYPE}
  141. a.DoGetDataI(&m)
  142. }
  143. // QueryExposureDetail
  144. // @Summary 查询敞口现货明细
  145. // @Produce json
  146. // @Security ApiKeyAuth
  147. // @Param userid query int true "用户id"
  148. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  149. // @Param middlegoodsid query int true "套保商品"
  150. // @Success 200 {array} models.Ermcp3ExposureDetail
  151. // @Failure 500 {object} app.Response
  152. // @Router /Ermcp3/QueryExposureDetail [get]
  153. // @Tags 企业风险管理v3(app)
  154. func QueryExposureDetail(c *gin.Context) {
  155. a := app.GinUtils{Gin: app.Gin{C: c}}
  156. req := struct {
  157. USERID int64 `form:"userid" binding:"required"` // 用户id
  158. USERTYPE int32 `form:"usertype"` // 用户类型
  159. MIDDLEGOODSID int32 `form:"middlegoodsid" binding:"required"` // 套保商品id
  160. }{}
  161. a.DoBindReq(&req)
  162. m := models.Ermcp3ExposureDetail{Areauserid: req.USERID,
  163. MiddlegoodsId: req.MIDDLEGOODSID}
  164. a.DoGetDataI(&m)
  165. }
  166. // QueryExposureSpot
  167. // @Summary 查询敞口现货头寸(敞口/现货头寸)
  168. // @Produce json
  169. // @Security ApiKeyAuth
  170. // @Param userid query int true "用户id"
  171. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  172. // @Success 200 {array} models.Ermcp3AreaSpot
  173. // @Failure 500 {object} app.Response
  174. // @Router /Ermcp3/QueryExposureSpot [get]
  175. // @Tags 企业风险管理v3(app)
  176. func QueryExposureSpot(c *gin.Context) {
  177. a := app.GinUtils{Gin: app.Gin{C: c}}
  178. req := struct {
  179. USERID int64 `form:"userid" binding:"required"` // 用户id
  180. }{}
  181. a.DoBindReq(&req)
  182. // 交易员有敞口, 也是按交易员userid生成的, 不用转换为areauserid
  183. m := models.Ermcp3AreaSpot{AREAUSERID: req.USERID}
  184. a.DoGetDataI(&m)
  185. }
  186. // QueryExposureSpotDetail
  187. // @Summary 查询敞口现货头寸明细(敞口/现货头寸/现货明细)
  188. // @Produce json
  189. // @Security ApiKeyAuth
  190. // @Param userid query int true "用户id"
  191. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  192. // @Param wrstandardid query int true "现货商品ID"
  193. // @Success 200 {array} models.Ermcp3AreaSpotDetail
  194. // @Failure 500 {object} app.Response
  195. // @Router /Ermcp3/QueryExposureSpotDetail [get]
  196. // @Tags 企业风险管理v3(app)
  197. func QueryExposureSpotDetail(c *gin.Context) {
  198. appG := app.GinUtils{Gin: app.Gin{C: c}}
  199. req := struct {
  200. USERID int64 `form:"userid" binding:"required"` // 用户id
  201. USERTYPE int32 `form:"usertype"` // 用户类型
  202. WRSTANDARDID int32 `form:"wrstandardid" binding:"required"` // 现货商品id
  203. }{}
  204. appG.DoBindReq(&req)
  205. m := models.Ermcp3AreaSpotDetail{UserId: req.USERID,
  206. WRSTANDARDID: req.WRSTANDARDID}
  207. appG.DoGetDataI(&m)
  208. }
  209. // QueryDGFactoryItem
  210. // @Summary 查询品种要素定义项
  211. // @Produce json
  212. // @Security ApiKeyAuth
  213. // @Param userid query int false "用户id"
  214. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  215. // @Param dgfactoryitemid query int false "选择项ID(SEQ_DGFACTORYITEM)"
  216. // @Param deliverygoodsid query int false "现货品种ID"
  217. // @Param dgfactoryitemtypeid query int false "要素项类型"
  218. // @Param orderindex query int false "顺序"
  219. // @Success 200 {array} models.ErmcpDGFactoryItem
  220. // @Failure 500 {object} app.Response
  221. // @Router /Ermcp3/QueryDGFactoryItem [get]
  222. // @Tags 企业风险管理v3(app)
  223. func QueryDGFactoryItem(c *gin.Context) {
  224. appG := app.GinUtils{Gin: app.Gin{C: c}}
  225. req := struct {
  226. USERID int64 `form:"userid"` // 用户id
  227. USERTYPE int32 `form:"usertype"` // 用户类型
  228. DGFACTORYITEMID int64 `form:"dgfactoryitemid"` // 选择项ID(SEQ_DGFACTORYITEM)
  229. DELIVERYGOODSID int32 `form:"deliverygoodsid"` // 现货品种ID
  230. DGFACTORYITEMTYPEID int64 `form:"dgfactoryitemtypeid"` // 要素项类型
  231. ORDERINDEX int32 `form:"orderindex"` // 顺序
  232. }{}
  233. appG.DoBindReq(&req)
  234. m := models.ErmcpDGFactoryItem{
  235. AREAUSERID: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  236. DGFACTORYITEMID: req.DGFACTORYITEMID,
  237. DELIVERYGOODSID: req.DELIVERYGOODSID,
  238. DGFACTORYITEMTYPEID: req.DGFACTORYITEMTYPEID,
  239. ORDERINDEX: req.ORDERINDEX,
  240. }
  241. appG.DoGetDataI(&m)
  242. }
  243. // QueryGoodsbrand
  244. // @Summary 查询商品品牌
  245. // @Produce json
  246. // @Security ApiKeyAuth
  247. // @Param userid query int true "用户id"
  248. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  249. // @Success 200 {array} models.Ermcp3Brand
  250. // @Failure 500 {object} app.Response
  251. // @Router /Ermcp3/QueryGoodsbrand [get]
  252. // @Tags 企业风险管理v3(app)
  253. func QueryGoodsbrand(c *gin.Context) {
  254. appG := app.GinUtils{Gin: app.Gin{C: c}}
  255. req := struct {
  256. USERID int64 `form:"userid"` // 用户id
  257. USERTYPE int32 `form:"usertype"` // 用户类型
  258. DELIVERYGOODSID int64 `form:"deliverygoodsid"` // 现货品种ID
  259. }{}
  260. appG.DoBindReq(&req)
  261. m := models.Ermcp3Brand{
  262. AREAUSERID: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  263. DELIVERYGOODSID: req.DELIVERYGOODSID,
  264. }
  265. appG.DoGetDataI(&m)
  266. }
  267. // QueryGoodsWrstandard
  268. // @Summary 查询商品品类
  269. // @Produce json
  270. // @Security ApiKeyAuth
  271. // @Param userid query int true "用户id"
  272. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  273. // @Param deliverygoodsid query int false "现货商品id"
  274. // @Success 200 {array} models.Ermcp3Wrstandard
  275. // @Failure 500 {object} app.Response
  276. // @Router /Ermcp3/QueryGoodsWrstandard [get]
  277. // @Tags 企业风险管理v3(app)
  278. func QueryGoodsWrstandard(c *gin.Context) {
  279. appG := app.GinUtils{Gin: app.Gin{C: c}}
  280. req := struct {
  281. USERID int64 `form:"userid" binding:"required"` // 用户id
  282. USERTYPE int32 `form:"usertype"` // 用户类型
  283. DELIVERYGOODSID int32 `form:"deliverygoodsid"` // 现货商品id
  284. }{}
  285. appG.DoBindReq(&req)
  286. m := models.Ermcp3Wrstandard{AREAUSERID: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  287. DELIVERYGOODSID: req.DELIVERYGOODSID}
  288. appG.DoGetDataI(&m)
  289. }
  290. // QueryAreaStockApply
  291. // @Summary 查询库存申请(出入库记录|库存审核)
  292. // @Produce json
  293. // @Security ApiKeyAuth
  294. // @Param userid query int true "用户ID"
  295. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  296. // @Param deliverygoodsid query int false "现货商品ID"
  297. // @Param inouttype query string false "出入库类型(可多项,逗号隔开) 5:采购入库 6:销售出库 7:生产入库 8:生产出库"
  298. // @Param spotcontractid query int false "合同ID"
  299. // @Param wrstandardid query int false "品类ID"
  300. // @Param spotgoodsbrandid query int false "品牌ID"
  301. // @Param warehouseinfoid query int false "仓库ID"
  302. // @Param applystatus query string false "申请状态(可多项,逗号隔开)1:待审核 2:审核通过 3:审核拒绝 4:处理失败 5:已撤回"
  303. // @Success 200 {array} models.Ermcp3AreaStockApply
  304. // @Failure 500 {object} app.Response
  305. // @Router /Ermcp3/QueryAreaStockApply [get]
  306. // @Tags 企业风险管理v3(app)
  307. func QueryAreaStockApply(c *gin.Context) {
  308. a := app.NewGinUtils(c)
  309. req := struct {
  310. USERID int64 `form:"userid" binding:"required"` // 用户
  311. WRSTANDARDID int32 `form:"wrstandardid"` // 品类
  312. SPOTGOODSBRANDID int32 `form:"spotgoodsbrandid"` // 品牌
  313. SPOTCONTRACTID string `form:"spotcontractid"` // 合同id
  314. WAREHOUSEINFOID string `form:"warehouseinfoid"` // 仓库id
  315. DELIVERYGOODSID int32 `form:"deliverygoodsid"` // 现货商品id
  316. FilterStatus string `form:"applystatus"` // 申请状态
  317. FilterType string `form:"inouttype"` // 出入库类型
  318. USERTYPE int32 `form:"usertype"` // 用户类型
  319. }{}
  320. a.DoBindReq(&req)
  321. m := models.Ermcp3AreaStockApply{
  322. USERID: req.USERID,
  323. FilterType: req.FilterType,
  324. SPOTCONTRACTID: req.SPOTCONTRACTID,
  325. WRSTANDARDID: req.WRSTANDARDID,
  326. SPOTGOODSBRANDID: req.SPOTGOODSBRANDID,
  327. DELIVERYGOODSID: req.DELIVERYGOODSID,
  328. WAREHOUSEINFOID: req.WAREHOUSEINFOID,
  329. FilterStatus: req.FilterStatus,
  330. }
  331. a.DoGetDataI(&m)
  332. }
  333. // QueryAreaStock
  334. // @Summary 查询机构库存(库存管理/当前库存)
  335. // @Produce json
  336. // @Security ApiKeyAuth
  337. // @Param userid query int true "用户ID"
  338. // @Success 200 {array} models.Ermcp3AreaStock
  339. // @Failure 500 {object} app.Response
  340. // @Router /Ermcp3/QueryAreaStock [get]
  341. // @Tags 企业风险管理v3(app)
  342. func QueryAreaStock(c *gin.Context) {
  343. a := app.GinUtils{Gin: app.Gin{C: c}}
  344. m := models.Ermcp3AreaStock{}
  345. a.DoBindReq(&m)
  346. a.DoGetDataI(&m)
  347. }
  348. // QueryAreaStockApplySum
  349. // @Summary 查询已登记出入库信息(入库登记/已入库信息 | 出库登记/已出库信息)
  350. // @Produce json
  351. // @Security ApiKeyAuth
  352. // @Param spotcontractid query int true "合同ID"
  353. // @Success 200 {array} models.Ermcp3AreaStockApplySum
  354. // @Failure 500 {object} app.Response
  355. // @Router /Ermcp3/QueryAreaStockApplySum [get]
  356. // @Tags 企业风险管理v3(app)
  357. func QueryAreaStockApplySum(c *gin.Context) {
  358. a := app.GinUtils{Gin: app.Gin{C: c}}
  359. req := struct {
  360. SPOTCONTRACTID string `form:"spotcontractid" binding:"required"` // 合同id
  361. }{}
  362. a.DoBindReq(&req)
  363. m := models.Ermcp3AreaStockApplySum{SPOTCONTRACTID: req.SPOTCONTRACTID}
  364. a.DoGetDataI(&m)
  365. }
  366. // QuerySpotGoodsPrice
  367. // @Summary 查询现货市价(现货市价)
  368. // @Produce json
  369. // @Security ApiKeyAuth
  370. // @Param userid query int true "用户ID"
  371. // @Success 200 {array} models.Ermcp3SpotGoodsPrice
  372. // @Failure 500 {object} app.Response
  373. // @Router /Ermcp3/QuerySpotGoodsPrice [get]
  374. // @Tags 企业风险管理v3(app)
  375. func QuerySpotGoodsPrice(c *gin.Context) {
  376. req := struct {
  377. UserId int64 `form:"userid" binding:"required"` // 用户id
  378. }{}
  379. a := app.GinUtils{Gin: app.Gin{C: c}}
  380. a.DoBindReq(&req)
  381. m := models.Ermcp3SpotGoodsPrice{AREAUSERID: req.UserId}
  382. a.DoGetDataI(&m)
  383. }
  384. // QuerySpotGoodsPriceLog
  385. // @Summary 查询现货市价详情(现货市价/详情)
  386. // @Produce json
  387. // @Security ApiKeyAuth
  388. // @Param userid query int true "用户ID"
  389. // @Param deliverygoodsid query int true "现货商品ID"
  390. // @Param brandid query int false "品牌ID"
  391. // @Param wrstandardid query int false "品类ID"
  392. // @Success 200 {array} models.Ermcp3SpotGoodsPriceLog
  393. // @Failure 500 {object} app.Response
  394. // @Router /Ermcp3/QuerySpotGoodsPriceLog [get]
  395. // @Tags 企业风险管理v3(app)
  396. func QuerySpotGoodsPriceLog(c *gin.Context) {
  397. req := struct {
  398. UserId int64 `form:"userid" binding:"required"` // 用户id
  399. DELIVERYGOODSID int32 `form:"deliverygoodsid" binding:"required"` // 现货商品id
  400. WRSTANDARDID int64 `form:"wrstandardid"` // 品类id
  401. BRANDID int32 `form:"brandid"` // 品牌id
  402. }{}
  403. a := app.GinUtils{Gin: app.Gin{C: c}}
  404. a.DoBindReq(&req)
  405. m := models.Ermcp3SpotGoodsPriceLog{AREAUSERID: req.UserId,
  406. DELIVERYGOODSID: req.DELIVERYGOODSID, WRSTANDARDID: req.WRSTANDARDID, SPOTGOODSBRANDID: req.BRANDID}
  407. a.DoGetDataI(&m)
  408. }
  409. // QueryHedgePlan 查询套保计划
  410. // @Summary 查询套保计划
  411. // @Produce json
  412. // @Security ApiKeyAuth
  413. // @Param userid query int true "用户ID"
  414. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  415. // @Param hedgeplanstatus query string true "套保计划状态(允许多个,逗号隔开) - 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回"
  416. // @Success 200 {array} models.Ermcp3HedgePlan
  417. // @Failure 500 {object} app.Response
  418. // @Router /Ermcp3/QueryHedgePlan [get]
  419. // @Tags 企业风险管理v3(app)
  420. func QueryHedgePlan(c *gin.Context) {
  421. appG := app.Gin{C: c}
  422. req := struct {
  423. UserId int64 `form:"userid" binding:"required"` // 用户id
  424. USERTYPE int32 `form:"usertype"` // 用户类型
  425. HedgePlanStatus string `form:"hedgeplanstatus" binding:"required"` // 状态
  426. }{}
  427. if err := c.ShouldBind(&req); err != nil {
  428. logger.GetLogger().Errorf("query hedgeplanReq,%v", err)
  429. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  430. return
  431. }
  432. var m = models.Ermcp3HedgePlan{Areauserid: req.UserId, UserType: req.USERTYPE}
  433. if d, err := m.GetData(req.HedgePlanStatus); err == nil {
  434. appG.Response(http.StatusOK, e.SUCCESS, d)
  435. } else {
  436. logger.GetLogger().Errorf("query fail, %v", err)
  437. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  438. }
  439. }
  440. // QueryGoodsGroup
  441. // @Summary 查询期货商品组
  442. // @Produce json
  443. // @Security ApiKeyAuth
  444. // @Param userid query int true "用户id"
  445. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  446. // @Param excludecfg query int false "排除套保品中已关联的商品组 1-排除"
  447. // @Success 200 {array} models.Ermcp3GoodsGroup
  448. // @Failure 500 {object} app.Response
  449. // @Router /Ermcp3/QueryGoodsGroup [get]
  450. // @Tags 企业风险管理v3(app)
  451. func QueryGoodsGroup(c *gin.Context) {
  452. a := app.GinUtils{Gin: app.Gin{C: c}}
  453. req := struct {
  454. USERID int64 `form:"userid" binding:"required"` // 所属机构id
  455. USERTYPE int32 `form:"usertype"` // 用户类型
  456. EXCLUDECFG int32 `form:"excludecfg"` // 是否排除已配置
  457. }{}
  458. a.DoBindReq(&req)
  459. m := models.Ermcp3GoodsGroup{AreaUserId: mtpcache.GetAreaUserId(req.USERID, req.USERTYPE),
  460. ExcludeCfg: req.EXCLUDECFG}
  461. a.DoGetDataI(&m)
  462. }
  463. // QueryRootUserAccount
  464. // @Summary 查询顶级用户信息
  465. // @Produce json
  466. // @Security ApiKeyAuth
  467. // @Param userid query int true "用户ID"
  468. // @Success 200 {array} models.Ermcp3RootUserAccount
  469. // @Failure 500 {object} app.Response
  470. // @Router /Ermcp3/QueryRootUserAccount [get]
  471. // @Tags 企业风险管理v3(app)
  472. func QueryRootUserAccount(c *gin.Context) {
  473. a := app.GinUtils{Gin: app.Gin{C: c}}
  474. req := struct {
  475. USERID int64 `form:"userid" binding:"required"` // 用户id
  476. }{}
  477. a.DoBindReq(&req)
  478. m := models.Ermcp3RootUserAccount{USERID: req.USERID}
  479. a.DoGetDataI(&m)
  480. }
  481. // QueryPaAreaSubject
  482. // @Summary 查询交易主体
  483. // @Produce json
  484. // @Security ApiKeyAuth
  485. // @Param userid query int true "用户id"
  486. // @Param subjectid query int false "主体ID(SEQ_ERMCP_PA_AREASUBJECT)"
  487. // @Param subjecttype query int false "主体类型 - 1:交易主体 2:业务部门"
  488. // @Param subjectstatus query int false "主体状态 - 1:正常 2: 停用"
  489. // @Success 200 {array} models.Ermcp3PaAreaSubject
  490. // @Failure 500 {object} app.Response
  491. // @Router /Ermcp3/QueryPaAreaSubject [get]
  492. // @Tags 企业风险管理v3(app)
  493. func QueryPaAreaSubject(c *gin.Context) {
  494. a := app.GinUtils{Gin: app.Gin{C: c}}
  495. m := models.Ermcp3PaAreaSubject{}
  496. a.DoBindReq(&m)
  497. a.DoGetDataI(&m)
  498. }
  499. // QueryPaAreaAuditCfg
  500. // @Summary 查询审核设置
  501. // @Produce json
  502. // @Security ApiKeyAuth
  503. // @Param userid query int true "用户id"
  504. // @Success 200 {array} models.Ermcp3PaAreaAuditCfg
  505. // @Failure 500 {object} app.Response
  506. // @Router /Ermcp3/QueryPaAreaAuditCfg [get]
  507. // @Tags 企业风险管理v3(app)
  508. func QueryPaAreaAuditCfg(c *gin.Context) {
  509. a := app.GinUtils{Gin: app.Gin{C: c}}
  510. m := models.Ermcp3PaAreaAuditCfg{}
  511. a.DoBindReq(&m)
  512. a.DoGetDataI(&m)
  513. }
  514. // QueryPaTradeLink
  515. // @Summary 查询期现单据关联
  516. // @Description 页面 app 现货->期现关联->期现单据关联
  517. // @Produce json
  518. // @Security ApiKeyAuth
  519. // @Param userid query int true "用户ID"
  520. // @Success 200 {array} models.Ermcp3PaTradeLink
  521. // @Failure 500 {object} app.Response
  522. // @Router /Ermcp3/QueryPaTradeLink [get]
  523. // @Tags 企业风险管理v3(app)
  524. func QueryPaTradeLink(c *gin.Context) {
  525. a := app.GinUtils{Gin: app.Gin{C: c}}
  526. m := models.Ermcp3PaTradeLink{}
  527. a.DoBindReq(&m)
  528. a.DoGetDataI(&m)
  529. }
  530. // QuerySCMiddleGoods
  531. // @Summary 查询现货订单
  532. // @Description 页面 app 现货->期现关联->期现单据关联->点"关联"按钮->弹出界面 : 现货订单
  533. // @Description 现货编号 即 合同编号
  534. // @Produce json
  535. // @Security ApiKeyAuth
  536. // @Param userid query int true "用户ID(填登录用户的userid)"
  537. // @Param buyorsell query int true "买卖方向 0-买 1-卖"
  538. // @Param goodsgroupid query int true "商品组id"
  539. // @Param biztype query int false "业务类型 1:套保 2:套利"
  540. // @Param contractno query string false "现货编号(模糊匹配)"
  541. // @Param customername query string false "对手方(模糊匹配)"
  542. // @Param wrstandardname query string false "现货商品名称(模糊匹配)"
  543. // @Success 200 {array} models.Ermcp3SCMiddleGoods
  544. // @Failure 500 {object} app.Response
  545. // @Router /Ermcp3/QuerySCMiddleGoods [get]
  546. // @Tags 企业风险管理v3(app)
  547. func QuerySCMiddleGoods(c *gin.Context) {
  548. a := app.GinUtils{Gin: app.Gin{C: c}}
  549. m := models.Ermcp3SCMiddleGoods{}
  550. a.DoBindReq(&m)
  551. a.DoGetDataI(&m)
  552. }
  553. // QueryPaTradeLinkDetail
  554. // @Summary 查询期现关联记录
  555. // @Description 页面 app 现货->期现关联->关联记录
  556. // @Produce json
  557. // @Security ApiKeyAuth
  558. // @Param userid query int true "用户ID(填登录用户的userid)"
  559. // @Param tradeid query string false "期货订单号(模糊匹配)"
  560. // @Param contractno query string false "现货编号(模糊匹配)"
  561. // @Param taname query string false "期货账户(模糊匹配)"
  562. // @Success 200 {array} models.Ermcp3TradeLinkDetail
  563. // @Failure 500 {object} app.Response
  564. // @Router /Ermcp3/QueryPaTradeLinkDetail [get]
  565. // @Tags 企业风险管理v3(app)
  566. func QueryPaTradeLinkDetail(c *gin.Context) {
  567. a := app.GinUtils{Gin: app.Gin{C: c}}
  568. m := models.Ermcp3TradeLinkDetail{}
  569. a.DoBindReq(&m)
  570. a.DoGetDataI(&m)
  571. }
  572. // QueryOutTradeLink
  573. // @Summary 查询外部成交单关联
  574. // @Description 页面 app 现货->期现关联->外部成交单关联
  575. // @Produce json
  576. // @Security ApiKeyAuth
  577. // @Param userid query int true "用户ID(填登录用户的userid)"
  578. // @Param outtradeid query string false "外部订单号(模糊匹配)"
  579. // @Param goodsname query string false "合约名称/代码(模糊匹配)"
  580. // @Param hasinnerorder query int false "关联状态 0-未关联 1-已关联"
  581. // @Success 200 {array} models.Ermcp3OutTradeLink
  582. // @Failure 500 {object} app.Response
  583. // @Router /Ermcp3/QueryOutTradeLink [get]
  584. // @Tags 企业风险管理v3(app)
  585. func QueryOutTradeLink(c *gin.Context) {
  586. a := app.GinUtils{Gin: app.Gin{C: c}}
  587. m := models.Ermcp3OutTradeLink{HASINNERORDER: -1}
  588. a.DoBindReq(&m)
  589. a.DoGetDataI(&m)
  590. }
  591. // QuerySubTaaccount
  592. // @Summary 查询期货子账户
  593. // @Description 页面 app 现货->期现关联->外部成交单关联->点"关联"按钮->选择期货子账户
  594. // @Produce json
  595. // @Security ApiKeyAuth
  596. // @Param parentaccountid query int false "母账号id"
  597. // @Param parentaccountcode query string false "母账号代码"
  598. // @Success 200 {array} models.Ermcp3SubTaaccount
  599. // @Failure 500 {object} app.Response
  600. // @Router /Ermcp3/QuerySubTaaccount [get]
  601. // @Tags 企业风险管理v3(app)
  602. func QuerySubTaaccount(c *gin.Context) {
  603. a := app.GinUtils{Gin: app.Gin{C: c}}
  604. m := models.Ermcp3SubTaaccount{}
  605. a.DoBindReq(&m)
  606. a.DoGetDataI(&m)
  607. }
  608. // QueryInnerTradeLink
  609. // @Summary 查询外部成交单关联的内部单信息(在解除外部关联页面使用)
  610. // @Description 页面 app 现货->期现关联->外部成交单关联->点"解除关联"按钮->解除外部关联的页面信息
  611. // @Produce json
  612. // @Security ApiKeyAuth
  613. // @Param outtradeid query int true "外部成交单号"
  614. // @Success 200 {array} models.Ermcp3InnerTradeLink
  615. // @Failure 500 {object} app.Response
  616. // @Router /Ermcp3/QueryInnerTradeLink [get]
  617. // @Tags 企业风险管理v3(app)
  618. func QueryInnerTradeLink(c *gin.Context) {
  619. a := app.GinUtils{Gin: app.Gin{C: c}}
  620. m := models.Ermcp3InnerTradeLink{}
  621. a.DoBindReq(&m)
  622. a.DoGetDataI(&m)
  623. }
  624. // QueryParamChangeApp
  625. // @Summary 查询现货商品参数变更申请(流水)
  626. // @Description 原型页面:
  627. // @Description 1.商品信息->商品参数修改流水-> 增值税税率 | 折算系数 | 成本权重; 流水页面查申请状态为“审核通过”的记录
  628. // @Description 2.风管审核->套保比例审核 | 折算系数审核 | 增值税税率审核 | 成本权重审核
  629. // @Produce json
  630. // @Security ApiKeyAuth
  631. // @Param userid query int true "用户ID"
  632. // @Param deliverygoodsid query int false "现货品种id"
  633. // @Param wrstandardid query int false "现货商品id"
  634. // @Param middlegoodsid query int false "套保商品id"
  635. // @Param operatetype query int false "操作类型 1:新增 2:修改"
  636. // @Param paramchangetype query int false "参数变更类型 - 1:增值税率变更(现货商品) 2:折算系数变更(现货商品) 3:成本权重(现货商品) 4:套保比率变更(套保品种)"
  637. // @Param ftstatus query string false "申请状态(逗号隔开,如1,2,3) 1:待审核 2:审核通过 3:审核拒绝 4:处理失败 5:已撤回"
  638. // @Success 200 {array} models.Ermcp3ParamChangeApp
  639. // @Failure 500 {object} app.Response
  640. // @Router /Ermcp3/QueryParamChangeApp [get]
  641. // @Tags 企业风险管理v3(app)
  642. func QueryParamChangeApp(c *gin.Context) {
  643. a := app.GinUtils{Gin: app.Gin{C: c}}
  644. m := models.Ermcp3ParamChangeApp{}
  645. a.DoBindReq(&m)
  646. a.DoGetDataI(&m)
  647. }