qryErmcp3.go 31 KB

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