6
0

equipment.go 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. package handler
  2. import (
  3. "context"
  4. "dashoo.cn/common_definition/comm_def"
  5. "dashoo.cn/micro_libary/micro_srv"
  6. "dashoo.cn/micro_libary/myerrors"
  7. "errors"
  8. "github.com/gogf/gf/frame/g"
  9. equipment2 "lims_adapter/model/equipment"
  10. "lims_adapter/service/equipment"
  11. "strconv"
  12. )
  13. // Equipment 设备
  14. type Equipment struct{}
  15. // AppointmentQualificationList 设备预约资格列表查询
  16. func (e *Equipment) AppointmentQualificationList(ctx context.Context, req *equipment2.QualificationListReq, rsp *comm_def.CommonMsg) error {
  17. tenant, err := micro_srv.GetTenant(ctx)
  18. if err != nil {
  19. return err
  20. }
  21. g.Log().Info("Received Equipment.AppointmentQualificationList request @ " + tenant)
  22. if req.Size == 0 {
  23. req.Size = DefaultPageNum
  24. }
  25. if req.Current < 0 {
  26. req.Current = DefaultPageCurrent
  27. }
  28. list, total, err := equipment.NewSrv(tenant).AppointmentQualificationList(req)
  29. _, err, code, msg := myerrors.CheckError(err)
  30. if err != nil {
  31. return err
  32. }
  33. rsp.Code = code
  34. rsp.Msg = msg
  35. rsp.Data = g.Map{"total": total, "tableData": list}
  36. return nil
  37. }
  38. // AppointmentQualificationList 优先预约权资格列表查询
  39. func (e *Equipment) AdvanceList(ctx context.Context, req *equipment2.QualificationListReq, rsp *comm_def.CommonMsg) error {
  40. tenant, err := micro_srv.GetTenant(ctx)
  41. if err != nil {
  42. return err
  43. }
  44. g.Log().Info("Received Equipment.AdvanceList request @ " + tenant)
  45. if req.Size == 0 {
  46. req.Size = DefaultPageNum
  47. }
  48. if req.Current < 0 {
  49. req.Current = DefaultPageCurrent
  50. }
  51. list, total, err := equipment.NewSrv(tenant).AdvanceList(req)
  52. _, err, code, msg := myerrors.CheckError(err)
  53. if err != nil {
  54. return err
  55. }
  56. rsp.Code = code
  57. rsp.Msg = msg
  58. rsp.Data = g.Map{"total": total, "tableData": list}
  59. return nil
  60. }
  61. // IsAdvance 是否有优先预约资格
  62. func (e *Equipment) IsAdvance(ctx context.Context, req *equipment2.QualificationListReq, rsp *comm_def.CommonMsg) error {
  63. tenant, err := micro_srv.GetTenant(ctx)
  64. if err != nil {
  65. return err
  66. }
  67. info, err := micro_srv.GetUserInfo(ctx)
  68. if err != nil {
  69. return err
  70. }
  71. g.Log().Info("Received Equipment.IsAdvance request @ " + tenant)
  72. isAdvance, err := equipment.NewSrv(tenant).IsAdvance(info.Id, req.InstrumentId)
  73. _, err, code, _ := myerrors.CheckError(err)
  74. if err != nil {
  75. return err
  76. }
  77. rsp.Code = code
  78. rsp.Data = g.Map{"isAdvance": isAdvance, "userName": info.RealName, "userId": info.Id}
  79. return nil
  80. }
  81. // AddOrUpdateQualification 新增、修改预约资格名单
  82. func (e *Equipment) AddOrUpdateQualification(ctx context.Context, req *equipment2.AddOrUpdateQualification, rsp *comm_def.CommonMsg) error {
  83. tenant, err := micro_srv.GetTenant(ctx)
  84. if err != nil {
  85. return err
  86. }
  87. info, err := micro_srv.GetUserInfo(ctx)
  88. if err != nil {
  89. return err
  90. }
  91. g.Log().Info("Received Equipment.AddOrUpdateQualification request @ " + tenant)
  92. if strconv.Itoa(req.InstrumentId) == "" {
  93. return errors.New("设备Id为空!")
  94. }
  95. if len(req.Ids) == 0 {
  96. return errors.New("选择授权的用户Id为空")
  97. }
  98. err = equipment.NewSrv(tenant).AddOrUpdateQualification(req, info)
  99. _, err, code, msg := myerrors.CheckError(err)
  100. if err != nil {
  101. return err
  102. }
  103. rsp.Code = code
  104. rsp.Msg = msg
  105. return nil
  106. }
  107. // DeleteQualification 删除预约资格
  108. func (e *Equipment) DeleteQualification(ctx context.Context, req *equipment2.IdReq, rsp *comm_def.CommonMsg) error {
  109. tenant, err := micro_srv.GetTenant(ctx)
  110. if err != nil {
  111. return err
  112. }
  113. info, err := micro_srv.GetUserInfo(ctx)
  114. if err != nil {
  115. return err
  116. }
  117. g.Log().Info("Received Equipment.DeleteQualification request @ " + tenant)
  118. if err != nil {
  119. return err
  120. }
  121. if strconv.Itoa(req.UserId) == "" && strconv.Itoa(req.EquipmentId) == "" {
  122. return errors.New("未传入删除资格参数不完整,请核对后再试")
  123. }
  124. err = equipment.NewSrv(tenant).DeleteQualification(req, info)
  125. _, err, code, msg := myerrors.CheckError(err)
  126. if err != nil {
  127. return err
  128. }
  129. rsp.Code = code
  130. rsp.Msg = msg
  131. return nil
  132. }
  133. // DeleteAdvance 删除优先预约资格
  134. func (e *Equipment) DeleteAdvance(ctx context.Context, req *equipment2.IdReq, rsp *comm_def.CommonMsg) error {
  135. tenant, err := micro_srv.GetTenant(ctx)
  136. if err != nil {
  137. return err
  138. }
  139. g.Log().Info("Received Equipment.DeleteAdvance request @ " + tenant)
  140. if strconv.Itoa(req.UserId) == "" && strconv.Itoa(req.EquipmentId) == "" {
  141. return errors.New("未传入删除资格参数不完整,请核对后再试")
  142. }
  143. err = equipment.NewSrv(tenant).DeleteAdvance(req)
  144. _, err, code, msg := myerrors.CheckError(err)
  145. if err != nil {
  146. return err
  147. }
  148. rsp.Code = code
  149. rsp.Msg = msg
  150. return nil
  151. }
  152. // SearchAdvanceTime 查看设备优先预约时间段
  153. func (e *Equipment) SearchAdvanceTime(ctx context.Context, req *equipment2.QualificationListReq, rsp *comm_def.CommonMsg) error {
  154. tenant, err := micro_srv.GetTenant(ctx)
  155. if err != nil {
  156. return err
  157. }
  158. g.Log().Info("Received Equipment.SearchAdvanceTime request @ " + tenant)
  159. if req.Size == 0 {
  160. req.Size = DefaultPageNum
  161. }
  162. if req.Current < 0 {
  163. req.Current = DefaultPageCurrent
  164. }
  165. equipmentId := req.InstrumentId
  166. if strconv.Itoa(equipmentId) == "" {
  167. return errors.New("设备Id为空,请检查传入参数")
  168. }
  169. list, total, err := equipment.NewSrv(tenant).SearchAdvanceTime(req)
  170. _, err, code, msg := myerrors.CheckError(err)
  171. if err != nil {
  172. return err
  173. }
  174. rsp.Code = code
  175. rsp.Msg = msg
  176. rsp.Data = g.Map{"total": total, "tableData": list}
  177. return nil
  178. }
  179. // AddAdvanceTime 添加设备优先预约时间段
  180. func (e *Equipment) AddAdvanceTime(ctx context.Context, req *equipment2.AdvanceTimeReq, rsp *comm_def.CommonMsg) error {
  181. tenant, err := micro_srv.GetTenant(ctx)
  182. if err != nil {
  183. return err
  184. }
  185. info, err := micro_srv.GetUserInfo(ctx)
  186. if err != nil {
  187. return err
  188. }
  189. g.Log().Info("Received Equipment.AddAdvanceTime request @ " + tenant)
  190. equipmentId := req.EquipmentId
  191. if strconv.Itoa(equipmentId) == "" {
  192. return errors.New("设备Id为空,请检查传入参数")
  193. }
  194. err = equipment.NewSrv(tenant).AddAdvanceTime(req, info)
  195. _, err, code, _ := myerrors.CheckError(err)
  196. if err != nil {
  197. return err
  198. }
  199. rsp.Code = code
  200. rsp.Msg = "添加优先预约时间段成功"
  201. return nil
  202. }
  203. // DeleteAdvanceTime 删除设备预约时间段
  204. func (e *Equipment) DeleteAdvanceTime(ctx context.Context, req *equipment2.IdReq, rsp *comm_def.CommonMsg) error {
  205. tenant, err := micro_srv.GetTenant(ctx)
  206. if err != nil {
  207. return err
  208. }
  209. g.Log().Info("Received Equipment.DeleteAdvanceTime request @ " + tenant)
  210. if strconv.Itoa(req.Id) == "" {
  211. return errors.New("未传入删除id")
  212. }
  213. err = equipment.NewSrv(tenant).DeleteAdvanceTime(req.Id)
  214. _, err, code, _ := myerrors.CheckError(err)
  215. if err != nil {
  216. return err
  217. }
  218. rsp.Code = code
  219. return nil
  220. }
  221. // AppointmentTime 设备预约时间段
  222. func (e *Equipment) AppointmentTime(ctx context.Context, req *equipment2.IdReq, rsp *comm_def.CommonMsg) error {
  223. tenant, err := micro_srv.GetTenant(ctx)
  224. if err != nil {
  225. return err
  226. }
  227. g.Log().Info("Received Equipment.AppointmentTime request @ " + tenant)
  228. equipmentId := req.EquipmentId
  229. if strconv.Itoa(equipmentId) == "" {
  230. return errors.New("设备Id为空,请检查传入参数")
  231. }
  232. if strconv.Itoa(req.UserId) == "" {
  233. return errors.New("人员Id为空,请检查传入参数")
  234. }
  235. equipment.NewSrv(tenant).AppointmentTime(req)
  236. return nil
  237. }
  238. // SearchNoAppointment 查看不能预约时间段信息
  239. func (e *Equipment) SearchNoAppointment(ctx context.Context, req *equipment2.IdReq, rsp *comm_def.CommonMsg) error {
  240. tenant, err := micro_srv.GetTenant(ctx)
  241. if err != nil {
  242. return err
  243. }
  244. info, err := micro_srv.GetUserInfo(ctx)
  245. if err != nil {
  246. return err
  247. }
  248. g.Log().Info("Received Equipment.SearchNoAppointment request @ " + tenant)
  249. equipmentId := req.EquipmentId
  250. if strconv.Itoa(equipmentId) == "" {
  251. return errors.New("设备Id为空,请检查传入参数")
  252. }
  253. if req.Date == "" {
  254. return errors.New("日期为空,请检查传入参数")
  255. }
  256. appointment, err := equipment.NewSrv(tenant).SearchNoAppointment(req, info)
  257. _, err, code, _ := myerrors.CheckError(err)
  258. if err != nil {
  259. return err
  260. }
  261. rsp.Code = code
  262. rsp.Data = appointment
  263. return nil
  264. }
  265. // ChangeInstrStauts 修改设备所属
  266. func (e *Equipment) ChangeBelongs(ctx context.Context, req *equipment2.IdReq, rsp *comm_def.CommonMsg) error {
  267. tenant, err := micro_srv.GetTenant(ctx)
  268. if err != nil {
  269. return err
  270. }
  271. g.Log().Info("Received Equipment.ChangeBelongs request @ " + tenant)
  272. equipmentId := req.EquipmentId
  273. if strconv.Itoa(equipmentId) == "" {
  274. return errors.New("设备Id为空,请检查传入参数")
  275. }
  276. if req.Belongs == "" {
  277. return errors.New("设备所属为空")
  278. }
  279. err = equipment.NewSrv(tenant).ChangeBelongs(req)
  280. _, err, code, _ := myerrors.CheckError(err)
  281. if err != nil {
  282. return err
  283. }
  284. rsp.Code = code
  285. return nil
  286. }
  287. // GetUnitCount 查询设备计费
  288. func (e *Equipment) GetUnitCount(ctx context.Context, req *equipment2.InstrumentId, rsp *comm_def.CommonMsg) error {
  289. tenant, err := micro_srv.GetTenant(ctx)
  290. if err != nil {
  291. return err
  292. }
  293. g.Log().Info("Received Equipment.GetUnitCount request @ " + tenant)
  294. if strconv.Itoa(req.InstrumentId) == "" {
  295. return errors.New("请传入设备Id")
  296. }
  297. rspInfo, err := equipment.NewSrv(tenant).GetUnitCount(req.InstrumentId)
  298. if len(rspInfo) > 0 && strconv.Itoa(rspInfo[0].Id) != "" {
  299. rspInfo[0].CountType = "按时计费"
  300. }
  301. _, err, code, _ := myerrors.CheckError(err)
  302. rsp.Code = code
  303. rsp.Data = rspInfo
  304. return nil
  305. }
  306. // UpdateUnifPrice 更新计费价格
  307. func (e *Equipment) UpdateUnitfPrice(ctx context.Context, req *equipment2.InstrumentId, rsp *comm_def.CommonMsg) error {
  308. tenant, err := micro_srv.GetTenant(ctx)
  309. if err != nil {
  310. return err
  311. }
  312. g.Log().Info("Received Equipment.UpdateUnitfPrice request @ " + tenant)
  313. if req.InstrumentId == 0 || req.UnitCount < 0 {
  314. return errors.New("请输入完成参数!")
  315. }
  316. err = equipment.NewSrv(tenant).UpdateUnitPrice(req.InstrumentId, req.UnitCount)
  317. _, err, code, msg := myerrors.CheckError(err)
  318. rsp.Code = code
  319. rsp.Msg = msg
  320. return nil
  321. }
  322. // RateChange 优惠比例更新
  323. func (e *Equipment) RateChange(ctx context.Context, req *equipment2.InstrumentId, rsp *comm_def.CommonMsg) error {
  324. tenant, err := micro_srv.GetTenant(ctx)
  325. if err != nil {
  326. return err
  327. }
  328. g.Log().Info("Received Equipment.RateChange request @ " + tenant)
  329. if strconv.Itoa(req.InstrumentId) == "" || strconv.Itoa(req.Rate) == "" {
  330. return errors.New("请输入完成参数!")
  331. }
  332. err = equipment.NewSrv(tenant).RateChange(req.InstrumentId, req.Rate)
  333. _, err, code, msg := myerrors.CheckError(err)
  334. rsp.Code = code
  335. rsp.Msg = msg
  336. return nil
  337. }