qryErmcp3.go 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541
  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. "net/http"
  14. )
  15. // QueryDeliveryGoods
  16. // @Summary 查询现货商品
  17. // @Produce json
  18. // @Security ApiKeyAuth
  19. // @Param areauserid query int true "所属机构id"
  20. // @Param excludecfg query int false "排除已配置的业务类型商品 1-套保 2-套利"
  21. // @Success 200 {array} models.ErmcpDeliveryGoods
  22. // @Failure 500 {object} app.Response
  23. // @Router /Ermcp3/QueryDeliveryGoods [get]
  24. // @Tags 企业风险管理v3(app)
  25. func QueryDeliveryGoods(c *gin.Context) {
  26. a := app.GinUtils{Gin: app.Gin{C: c}}
  27. req := struct {
  28. AreaUserId int64 `form:"areauserid" binding:"required"` // 所属机构id
  29. ExcludeCfg int32 `form:"excludecfg"` // 排除已配置的业务类型商品 1-套保 2-套利
  30. }{}
  31. a.DoBindReq(&req)
  32. m := models.ErmcpDeliveryGoods{AREAUSERID: req.AreaUserId, ExcludeCfg: req.ExcludeCfg}
  33. a.DoGetDataI(&m)
  34. }
  35. // QueryDeliveryGoodsDetail
  36. // @Summary 查询现货商品详情
  37. // @Produce json
  38. // @Security ApiKeyAuth
  39. // @Param areauserid query int true "所属机构id"
  40. // @Param deliverygoodsid query int false "现货商品id"
  41. // @Success 200 {array} models.ErmcpDeliveryGoodsDetailEx
  42. // @Failure 500 {object} app.Response
  43. // @Router /Ermcp3/QueryDeliveryGoodsDetail [get]
  44. // @Tags 企业风险管理v3(app)
  45. func QueryDeliveryGoodsDetail(c *gin.Context) {
  46. a := app.GinUtils{Gin: app.Gin{C: c}}
  47. req := struct {
  48. AreaUserId int64 `form:"areauserid" binding:"required"` // 所属机构id
  49. DeliveryGoodsId int32 `form:"deliverygoodsid"` // 现货商品id
  50. }{}
  51. a.DoBindReq(&req)
  52. m := models.ErmcpDeliveryGoodsDetailEx{}
  53. m.Data = models.ErmcpDeliveryGoods{AREAUSERID: req.AreaUserId, DELIVERYGOODSID: req.DeliveryGoodsId}
  54. a.DoGetDataI(&m)
  55. }
  56. // QueryMiddleGoodsDetail
  57. // @Summary 查询套保品种详情(套保品种/商品详情)
  58. // @Produce json
  59. // @Security ApiKeyAuth
  60. // @Param areauserid query int true "所属机构ID"
  61. // @Param middlegoodsid query int false "套保品种id"
  62. // @Success 200 {array} models.Ermcp3MiddleGoodsDetailEx
  63. // @Failure 500 {object} app.Response
  64. // @Router /Ermcp3/QueryMiddleGoodsDetail [get]
  65. // @Tags 企业风险管理v3(app)
  66. func QueryMiddleGoodsDetail(c *gin.Context) {
  67. a := app.GinUtils{Gin: app.Gin{C: c}}
  68. req := struct {
  69. AREAUSERID int64 `form:"areauserid" binding:"required"` // 所属机构id
  70. MIDDLEGOODSID uint32 `form:"middlegoodsid"` // 套保品种id
  71. }{}
  72. a.DoBindReq(&req)
  73. m := models.Ermcp3MiddleGoodsDetailEx{}
  74. m.Ermcp3MiddleGoodsDetail.Mg.AREAUSERID = req.AREAUSERID
  75. m.Ermcp3MiddleGoodsDetail.Mg.MIDDLEGOODSID = req.MIDDLEGOODSID
  76. a.DoGetDataI(&m)
  77. }
  78. // QryContractReq 查询合同请求
  79. type QryContractReq struct {
  80. AreadUserId int64 `form:"areauserid" binding:"required"` // 所属机构Id
  81. CONTRACTTYPE int32 `form:"contracttype"` // 合同类型 1-采购, -1-销售
  82. QUERYTYPE int32 `form:"querytype" binding:"required"` // 查询类型
  83. USERID int64 `form:"userid"` // 用户Id
  84. USERTYPE int32 `form:"usertype"` // 用户类型
  85. CONTRACTID string `form:"contractid"` // 合同ID(SpotContractId)
  86. }
  87. // QuerySpotContract
  88. // @Summary 查询现货合同
  89. // @Produce json
  90. // @Security ApiKeyAuth
  91. // @Param areauserid query int true "所属机构ID"
  92. // @Param querytype query int true "查询类型 1-未提交 2-待审核 3-履约中 4-已完成"
  93. // @Param userid query int false "用户ID"
  94. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  95. // @Param contractid query string false "合同ID(SpotContractId)"
  96. // @Success 200 {array} models.Ermcp3Contract
  97. // @Failure 500 {object} app.Response
  98. // @Router /Ermcp3/QuerySpotContract [get]
  99. // @Tags 企业风险管理v3(app)
  100. func QuerySpotContract(c *gin.Context) {
  101. a := app.GinUtils{Gin: app.Gin{C: c}}
  102. req := QryContractReq{}
  103. a.DoBindReq(&req)
  104. m := models.Ermcp3Contract{USERID: req.AreadUserId, QryType: req.QUERYTYPE,
  105. OwnUserId: req.USERID, UserType: req.USERTYPE, SPOTCONTRACTID: req.CONTRACTID}
  106. a.DoGetDataI(&m)
  107. }
  108. // QuerySpotContractBS
  109. // @Summary 查询合同(采购/销售)
  110. // @Produce json
  111. // @Security ApiKeyAuth
  112. // @Param areauserid query int true "所属机构ID"
  113. // @Param contracttype query int true "合同类型 1-采购, -1-销售"
  114. // @Param querytype query int true "查询类型 1-全部 2-待点价 3-履约结算 4-已完成"
  115. // @Param userid query int false "用户ID"
  116. // @Param usertype query int false "用户类型 2-机构 7-企业成员"
  117. // @Param contractid query string false "合同ID(SpotContractId)"
  118. // @Success 200 {array} models.Ermcp3SellBuyContract
  119. // @Failure 500 {object} app.Response
  120. // @Router /Ermcp3/QuerySpotContractBS [get]
  121. // @Tags 企业风险管理v3(app)
  122. func QuerySpotContractBS(c *gin.Context) {
  123. a := app.GinUtils{Gin: app.Gin{C: c}}
  124. req := QryContractReq{}
  125. a.DoBindReq(&req)
  126. m := models.Ermcp3SellBuyContract{UserID: req.AreadUserId, Contracttype: req.CONTRACTTYPE,
  127. OwnUserId: req.USERID, UserType: req.USERTYPE, SpotContractId: req.CONTRACTID, QryType: req.QUERYTYPE}
  128. a.DoGetDataI(&m)
  129. }
  130. // QueryExposureDetail
  131. // @Summary 查询敞口现货明细
  132. // @Produce json
  133. // @Security ApiKeyAuth
  134. // @Param areauserid query int true "所属机构ID"
  135. // @Param middlegoodsid query int true "套保商品"
  136. // @Success 200 {array} models.Ermcp3ExposureDetail
  137. // @Failure 500 {object} app.Response
  138. // @Router /Ermcp3/QueryExposureDetail [get]
  139. // @Tags 企业风险管理v3(app)
  140. func QueryExposureDetail(c *gin.Context) {
  141. a := app.GinUtils{Gin: app.Gin{C: c}}
  142. req := struct {
  143. AREAUSERID int64 `form:"areauserid" binding:"required"` // 所属机构id
  144. MIDDLEGOODSID int32 `form:"middlegoodsid" binding:"required"` // 套保商品id
  145. }{}
  146. a.DoBindReq(&req)
  147. m := models.Ermcp3ExposureDetail{Areauserid: req.AREAUSERID, MiddlegoodsId: req.MIDDLEGOODSID}
  148. a.DoGetDataI(&m)
  149. }
  150. // QueryExposureSpot
  151. // @Summary 查询敞口现货头寸(敞口/现货头寸)
  152. // @Produce json
  153. // @Security ApiKeyAuth
  154. // @Param areauserid query int true "所属机构ID"
  155. // @Success 200 {array} models.Ermcp3AreaSpot
  156. // @Failure 500 {object} app.Response
  157. // @Router /Ermcp3/QueryExposureSpot [get]
  158. // @Tags 企业风险管理v3(app)
  159. func QueryExposureSpot(c *gin.Context) {
  160. a := app.GinUtils{Gin: app.Gin{C: c}}
  161. req := struct {
  162. AREAUSERID int64 `form:"areauserid" binding:"required"` // 所属机构id
  163. }{}
  164. a.DoBindReq(&req)
  165. m := models.Ermcp3AreaSpot{AREAUSERID: req.AREAUSERID}
  166. a.DoGetDataI(&m)
  167. }
  168. // QueryExposureSpotDetail
  169. // @Summary 查询敞口现货头寸明细(敞口/现货头寸/现货明细)
  170. // @Produce json
  171. // @Security ApiKeyAuth
  172. // @Param areauserid query int true "所属机构ID"
  173. // @Param deliverygoodsid query int true "现货品种ID"
  174. // @Success 200 {array} models.Ermcp3AreaSpotDetail
  175. // @Failure 500 {object} app.Response
  176. // @Router /Ermcp3/QueryExposureSpotDetail [get]
  177. // @Tags 企业风险管理v3(app)
  178. func QueryExposureSpotDetail(c *gin.Context) {
  179. appG := app.GinUtils{Gin: app.Gin{C: c}}
  180. req := struct {
  181. AREAUSERID int `form:"areauserid" binding:"required"` // 所属机构id
  182. DELIVERYGOODSID int32 `form:"deliverygoodsid" binding:"required"` // 现货商品id
  183. }{}
  184. appG.DoBindReq(&req)
  185. m := models.Ermcp3AreaSpotDetail{UserId: req.AREAUSERID, DELIVERYGOODSID: req.DELIVERYGOODSID}
  186. appG.DoGetDataI(&m)
  187. }
  188. // QueryDGFactoryItem
  189. // @Summary 查询品种要素定义项
  190. // @Produce json
  191. // @Security ApiKeyAuth
  192. // @Param areauserid query int false "所属机构ID"
  193. // @Param dgfactoryitemid query int false "选择项ID(SEQ_DGFACTORYITEM)"
  194. // @Param deliverygoodsid query int false "现货品种ID"
  195. // @Param dgfactoryitemtypeid query int false "要素项类型"
  196. // @Param orderindex query int false "顺序"
  197. // @Success 200 {array} models.ErmcpDGFactoryItem
  198. // @Failure 500 {object} app.Response
  199. // @Router /Ermcp3/QueryDGFactoryItem [get]
  200. // @Tags 企业风险管理v3(app)
  201. func QueryDGFactoryItem(c *gin.Context) {
  202. appG := app.GinUtils{Gin: app.Gin{C: c}}
  203. req := struct {
  204. AREAUSERID int64 `form:"areauserid"` // 用户id
  205. DGFACTORYITEMID int64 `form:"dgfactoryitemid"` // 选择项ID(SEQ_DGFACTORYITEM)
  206. DELIVERYGOODSID int32 `form:"deliverygoodsid"` // 现货品种ID
  207. DGFACTORYITEMTYPEID int64 `form:"dgfactoryitemtypeid"` // 要素项类型
  208. ORDERINDEX int32 `form:"orderindex"` // 顺序
  209. }{}
  210. appG.DoBindReq(&req)
  211. m := models.ErmcpDGFactoryItem{
  212. AREAUSERID: req.AREAUSERID,
  213. DGFACTORYITEMID: req.DGFACTORYITEMID,
  214. DELIVERYGOODSID: req.DELIVERYGOODSID,
  215. DGFACTORYITEMTYPEID: req.DGFACTORYITEMTYPEID,
  216. ORDERINDEX: req.ORDERINDEX,
  217. }
  218. appG.DoGetDataI(&m)
  219. }
  220. // QueryGoodsbrand
  221. // @Summary 查询商品品牌
  222. // @Produce json
  223. // @Security ApiKeyAuth
  224. // @Param areauserid query int true "所属机构ID"
  225. // @Success 200 {array} models.Ermcp3Brand
  226. // @Failure 500 {object} app.Response
  227. // @Router /Ermcp3/QueryGoodsbrand [get]
  228. // @Tags 企业风险管理v3(app)
  229. func QueryGoodsbrand(c *gin.Context) {
  230. appG := app.GinUtils{Gin: app.Gin{C: c}}
  231. req := struct {
  232. AREAUSERID int64 `form:"areauserid"` // 用户id
  233. DELIVERYGOODSID int32 `form:"deliverygoodsid"` // 现货品种ID
  234. }{}
  235. appG.DoBindReq(&req)
  236. m := models.Ermcp3Brand{
  237. AREAUSERID: req.AREAUSERID,
  238. DELIVERYGOODSID: req.DELIVERYGOODSID,
  239. }
  240. appG.DoGetDataI(&m)
  241. }
  242. // QueryGoodsWrstandard
  243. // @Summary 查询商品品类
  244. // @Produce json
  245. // @Security ApiKeyAuth
  246. // @Param areauserid query int true "所属机构ID"
  247. // @Param deliverygoodsid query int false "现货商品id"
  248. // @Success 200 {array} models.Ermcp3Wrstandard
  249. // @Failure 500 {object} app.Response
  250. // @Router /Ermcp3/QueryGoodsWrstandard [get]
  251. // @Tags 企业风险管理v3(app)
  252. func QueryGoodsWrstandard(c *gin.Context) {
  253. appG := app.GinUtils{Gin: app.Gin{C: c}}
  254. req := struct {
  255. AREAUSERID int `form:"areauserid" binding:"required"` // 所属机构id
  256. DELIVERYGOODSID int32 `form:"deliverygoodsid"` // 现货商品id
  257. }{}
  258. appG.DoBindReq(&req)
  259. m := models.Ermcp3Wrstandard{AREAUSERID: req.AREAUSERID,
  260. DELIVERYGOODSID: req.DELIVERYGOODSID}
  261. appG.DoGetDataI(&m)
  262. }
  263. // QueryAreaStockApply
  264. // @Summary 查询库存申请(出入库记录|库存审核)
  265. // @Produce json
  266. // @Security ApiKeyAuth
  267. // @Param userid query int true "用户ID"
  268. // @Param deliverygoodsid query int false "现货商品ID"
  269. // @Param inouttype query string false "出入库类型(可多项,逗号隔开) 1:采购入库 2:销售出库 3:生产入库 4:生产出库"
  270. // @Param spotcontractid query int false "合同ID"
  271. // @Param wrstandardid query int false "品类ID"
  272. // @Param spotgoodsbrandid query int false "品牌ID"
  273. // @Param warehouseinfoid query int false "仓库ID"
  274. // @Param applystatus query string false "申请状态(可多项,逗号隔开)1:待审核 2:审核通过 3:审核拒绝 4:处理失败 5:已撤回"
  275. // @Success 200 {array} models.Ermcp3AreaStockApply
  276. // @Failure 500 {object} app.Response
  277. // @Router /Ermcp3/QueryAreaStockApply [get]
  278. // @Tags 企业风险管理v3(app)
  279. func QueryAreaStockApply(c *gin.Context) {
  280. a := app.NewGinUtils(c)
  281. req := struct {
  282. USERID int64 `form:"userid" binding:"required"` // 用户
  283. WRSTANDARDID int32 `form:"wrstandardid"` // 品类
  284. SPOTGOODSBRANDID int32 `form:"spotgoodsbrandid"` // 品牌
  285. SPOTCONTRACTID string `form:"spotcontractid"` // 合同id
  286. WAREHOUSEINFOID string `form:"warehouseinfoid"` // 仓库id
  287. DELIVERYGOODSID int32 `form:"deliverygoodsid"` // 现货商品id
  288. FilterStatus string `form:"applystatus"` // 申请状态
  289. FilterType string `form:"inouttype"` // 出入库类型
  290. }{}
  291. a.DoBindReq(&req)
  292. m := models.Ermcp3AreaStockApply{
  293. USERID: req.USERID,
  294. FilterType: req.FilterType,
  295. SPOTCONTRACTID: req.SPOTCONTRACTID,
  296. WRSTANDARDID: req.WRSTANDARDID,
  297. SPOTGOODSBRANDID: req.SPOTGOODSBRANDID,
  298. DELIVERYGOODSID: req.DELIVERYGOODSID,
  299. WAREHOUSEINFOID: req.WAREHOUSEINFOID,
  300. FilterStatus: req.FilterStatus,
  301. }
  302. a.DoGetDataI(&m)
  303. }
  304. // QueryAreaStock
  305. // @Summary 查询机构库存(库存管理/当前库存)
  306. // @Produce json
  307. // @Security ApiKeyAuth
  308. // @Param userid query int true "用户ID"
  309. // @Success 200 {array} models.Ermcp3AreaStock
  310. // @Failure 500 {object} app.Response
  311. // @Router /Ermcp3/QueryAreaStock [get]
  312. // @Tags 企业风险管理v3(app)
  313. func QueryAreaStock(c *gin.Context) {
  314. a := app.GinUtils{Gin: app.Gin{C: c}}
  315. m := models.Ermcp3AreaStock{}
  316. a.DoBindReq(&m)
  317. a.DoGetDataI(&m)
  318. }
  319. // QueryAreaStockApplySum
  320. // @Summary 查询已登记出入库信息(入库登记/已入库信息 | 出库登记/已出库信息)
  321. // @Produce json
  322. // @Security ApiKeyAuth
  323. // @Param spotcontractid query int false "合同ID"
  324. // @Success 200 {array} models.Ermcp3AreaStockApplySum
  325. // @Failure 500 {object} app.Response
  326. // @Router /Ermcp3/QueryAreaStockApplySum [get]
  327. // @Tags 企业风险管理v3(app)
  328. func QueryAreaStockApplySum(c *gin.Context) {
  329. a := app.GinUtils{Gin: app.Gin{C: c}}
  330. req := struct {
  331. SPOTCONTRACTID string `form:"spotcontractid"` // 合同id
  332. }{}
  333. a.DoBindReq(&req)
  334. m := models.Ermcp3AreaStockApplySum{SPOTCONTRACTID: req.SPOTCONTRACTID}
  335. a.DoGetDataI(&m)
  336. }
  337. // QueryAreaStockReport
  338. // @Summary 查询库存报表
  339. // @Produce json
  340. // @Security ApiKeyAuth
  341. // @Param userid query int true "用户ID"
  342. // @Param querytype query int true "查询类型 1-日报表 2-月报表"
  343. // @Param querydate query string true "查询日期(格式 日报表YYYYMMDD, 月报表YYYYMM)"
  344. // @Param deliverygoodsid query int false "现货商品ID"
  345. // @Param wrstandardid query int false "品类ID"
  346. // @Param spotgoodsbrandid query int false "品牌ID"
  347. // @Param warehouseinfoid query int false "仓库ID"
  348. // @Success 200 {array} models.Ermcp3AreaStockReport
  349. // @Failure 500 {object} app.Response
  350. // @Router /Ermcp3/QueryAreaStockReport [get]
  351. // @Tags 企业风险管理v3(app)
  352. func QueryAreaStockReport(c *gin.Context) {
  353. a := app.GinUtils{Gin: app.Gin{C: c}}
  354. req := struct {
  355. USERID int64 `form:"userid" binding:"required"` // 机构ID
  356. WRSTANDARDID int32 `form:"wrstandardid"` // 品类ID
  357. SPOTGOODSBRANDID int32 `form:"spotgoodsbrandid"` // 现货品牌ID
  358. WAREHOUSEINFOID string `form:"warehouseinfoid"` // 仓库ID
  359. DELIVERYGOODSID int32 `form:"deliverygoodsid"` // 现货品种id
  360. ReportType int32 `form:"querytype" binding:"required"` // 报表类型 1-日报表 2-月报表
  361. ReportDate string `form:"querydate" binding:"required"` // 格式 日报表(YYYYMMDD) 月报表(YYYYMM)
  362. }{}
  363. a.DoBindReq(&req)
  364. if QueryDate(req.ReportDate).IsNumberic(req.ReportType) {
  365. m := models.Ermcp3AreaStockReport{USERID: req.USERID, WRSTANDARDID: req.WRSTANDARDID,
  366. SPOTGOODSBRANDID: req.SPOTGOODSBRANDID, DELIVERYGOODSID: req.DELIVERYGOODSID,
  367. WAREHOUSEINFOID: req.WAREHOUSEINFOID, ReportDate: req.ReportDate, ReportType: req.ReportType}
  368. a.DoGetDataI(&m)
  369. } else {
  370. a.Gin.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  371. }
  372. }
  373. // QueryAreaStockReportDetail
  374. // @Summary 查询库存报表明细
  375. // @Produce json
  376. // @Security ApiKeyAuth
  377. // @Param userid query int true "用户ID"
  378. // @Param querytype query int true "查询类型 1-日报表明细 2-月报表明细"
  379. // @Param detailtype query int true "明细类型 1:入库明细(采购入库+生产入库) 2:出库明细(销售出库+生产出库)"
  380. // @Param querydate query string true "查询日期(格式 日报表YYYYMMDD, 月报表YYYYMM)"
  381. // @Param deliverygoodsid query int false "现货商品ID"
  382. // @Param wrstandardid query int false "品类ID"
  383. // @Param spotgoodsbrandid query int false "品牌ID"
  384. // @Param warehouseinfoid query int false "仓库ID"
  385. // @Success 200 {array} models.Ermcp3AreaStockApply
  386. // @Failure 500 {object} app.Response
  387. // @Router /Ermcp3/QueryAreaStockReportDetail [get]
  388. // @Tags 企业风险管理v3(app)
  389. func QueryAreaStockReportDetail(c *gin.Context) {
  390. a := app.GinUtils{Gin: app.Gin{C: c}}
  391. req := struct {
  392. USERID int64 `form:"userid" binding:"required"` // 机构ID
  393. DELIVERYGOODSID int32 `form:"deliverygoodsid"` // 现货品种id
  394. WRSTANDARDID int32 `form:"wrstandardid"` // 品类ID
  395. SPOTGOODSBRANDID int32 `form:"spotgoodsbrandid"` // 品牌id
  396. WAREHOUSEINFOID string `form:"warehouseinfoid"` // 现货仓库ID
  397. QUERYTYPE int32 `form:"querytype" binding:"required"` // 查询类型
  398. QUERYDATE string `form:"querydate" binding:"required"` // 查询日期
  399. DETAILTYPE int32 `form:"detailtype" binding:"required"` // 明细类型
  400. }{}
  401. a.DoBindReq(&req)
  402. if QueryDate(req.QUERYDATE).IsNumberic(req.QUERYTYPE) {
  403. var beginDate, endDate string
  404. if req.QUERYTYPE == 1 {
  405. beginDate = req.QUERYDATE
  406. endDate = beginDate
  407. } else if req.QUERYTYPE == 2 {
  408. beginDate = req.QUERYDATE + "01"
  409. endDate = req.QUERYDATE + "31"
  410. }
  411. m := models.Ermcp3AreaStockApply{USERID: req.USERID, WRSTANDARDID: req.WRSTANDARDID,
  412. SPOTGOODSBRANDID: req.SPOTGOODSBRANDID, DELIVERYGOODSID: req.DELIVERYGOODSID,
  413. WAREHOUSEINFOID: req.WAREHOUSEINFOID, BeginDate: beginDate, EndDate: endDate, APPLYSTATUS: 2}
  414. // 出入库类型(可多项,逗号隔开) 1:采购入库 2:销售出库 3:生产入库 4:生产出库"
  415. if req.DETAILTYPE == 1 {
  416. m.FilterType = "1,3"
  417. } else if req.DETAILTYPE == 2 {
  418. m.FilterType = "2,4"
  419. }
  420. a.DoGetDataI(&m)
  421. } else {
  422. a.Gin.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  423. }
  424. }
  425. // QuerySpotGoodsPrice
  426. // @Summary 查询现货市价(现货市价)
  427. // @Produce json
  428. // @Security ApiKeyAuth
  429. // @Param userid query int true "用户ID"
  430. // @Success 200 {array} models.Ermcp3SpotGoodsPrice
  431. // @Failure 500 {object} app.Response
  432. // @Router /Ermcp3/QuerySpotGoodsPrice [get]
  433. // @Tags 企业风险管理v3(app)
  434. func QuerySpotGoodsPrice(c *gin.Context) {
  435. req := struct {
  436. UserId int64 `form:"userid" binding:"required"` // 用户id
  437. }{}
  438. a := app.GinUtils{Gin: app.Gin{C: c}}
  439. a.DoBindReq(&req)
  440. m := models.Ermcp3SpotGoodsPrice{AREAUSERID: req.UserId}
  441. a.DoGetDataI(&m)
  442. }
  443. // QuerySpotGoodsPriceLog
  444. // @Summary 查询现货市价详情(现货市价/详情)
  445. // @Produce json
  446. // @Security ApiKeyAuth
  447. // @Param userid query int true "用户ID"
  448. // @Param deliverygoodsid query int true "现货商品ID"
  449. // @Param brandid query int false "品牌ID"
  450. // @Param wrstandardid query int false "品类ID"
  451. // @Success 200 {array} models.Ermcp3SpotGoodsPriceLog
  452. // @Failure 500 {object} app.Response
  453. // @Router /Ermcp3/QuerySpotGoodsPriceLog [get]
  454. // @Tags 企业风险管理v3(app)
  455. func QuerySpotGoodsPriceLog(c *gin.Context) {
  456. req := struct {
  457. UserId int64 `form:"userid" binding:"required"` // 用户id
  458. DELIVERYGOODSID int32 `form:"deliverygoodsid" binding:"required"` // 现货商品id
  459. WRSTANDARDID int64 `form:"wrstandardid"` // 品类id
  460. BRANDID int32 `form:"brandid"` // 品牌id
  461. }{}
  462. a := app.GinUtils{Gin: app.Gin{C: c}}
  463. a.DoBindReq(&req)
  464. m := models.Ermcp3SpotGoodsPriceLog{AREAUSERID: req.UserId,
  465. DELIVERYGOODSID: req.DELIVERYGOODSID, WRSTANDARDID: req.WRSTANDARDID, SPOTGOODSBRANDID: req.BRANDID}
  466. a.DoGetDataI(&m)
  467. }
  468. // QueryHedgePlan 查询套保计划
  469. // @Summary 查询套保计划
  470. // @Produce json
  471. // @Security ApiKeyAuth
  472. // @Param userid query int true "用户ID"
  473. // @Param hedgeplanstatus query string true "套保计划状态(允许多个,逗号隔开) - 0:未提交 1:待审核 2:执行中 3:正常完结 4:审核拒绝 5:异常完结 6:已撤回"
  474. // @Success 200 {array} models.Ermcp3HedgePlan
  475. // @Failure 500 {object} app.Response
  476. // @Router /Ermcp3/QueryHedgePlan [get]
  477. // @Tags 企业风险管理v3(app)
  478. func QueryHedgePlan(c *gin.Context) {
  479. appG := app.Gin{C: c}
  480. req := struct {
  481. UserId int64 `form:"userid" binding:"required"` // 用户id
  482. HedgePlanStatus string `form:"hedgeplanstatus" binding:"required"` // 状态
  483. }{}
  484. if err := c.ShouldBind(&req); err != nil {
  485. logger.GetLogger().Errorf("query hedgeplanReq,%v", err)
  486. appG.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
  487. return
  488. }
  489. var m = models.Ermcp3HedgePlan{Areauserid: req.UserId}
  490. if d, err := m.GetData(req.HedgePlanStatus); err == nil {
  491. appG.Response(http.StatusOK, e.SUCCESS, d)
  492. } else {
  493. logger.GetLogger().Errorf("query fail, %v", err)
  494. appG.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
  495. }
  496. }
  497. // QueryGoodsGroup
  498. // @Summary 查询期货商品组
  499. // @Produce json
  500. // @Security ApiKeyAuth
  501. // @Param areauserid query int true "所属机构id"
  502. // @Param excludecfg query int false "排除套保品中已关联的商品组 1-排除"
  503. // @Success 200 {array} models.Ermcp3GoodsGroup
  504. // @Failure 500 {object} app.Response
  505. // @Router /Ermcp3/QueryGoodsGroup [get]
  506. // @Tags 企业风险管理v3(app)
  507. func QueryGoodsGroup(c *gin.Context) {
  508. a := app.GinUtils{Gin: app.Gin{C: c}}
  509. req := struct {
  510. AREAUSERID int64 `form:"areauserid" binding:"required"` // 所属机构id
  511. EXCLUDECFG int32 `form:"excludecfg"` // 是否排除已配置
  512. }{}
  513. a.DoBindReq(&req)
  514. m := models.Ermcp3GoodsGroup{AreaUserId: req.AREAUSERID, ExcludeCfg: req.EXCLUDECFG}
  515. a.DoGetDataI(&m)
  516. }