qryErmcp3.go 28 KB

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