qryErmcp3.go 27 KB

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