NetApi.kt 33 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169
  1. package com.grkj.iscs.util
  2. import com.grkj.iscs.BusinessManager
  3. import com.grkj.iscs.MyApplication
  4. import com.grkj.iscs.model.Token
  5. import com.grkj.iscs.model.UrlConsts
  6. import com.grkj.iscs.model.vo.FileStreamReqParam
  7. import com.grkj.iscs.model.vo.card.CardInfoRespVO
  8. import com.grkj.iscs.model.vo.characteristic.CharacteristicPageRespVO
  9. import com.grkj.iscs.model.vo.dept.DeptListRespVO
  10. import com.grkj.iscs.model.vo.dict.CommonDictRespVO
  11. import com.grkj.iscs.model.vo.finger.LoginCharacteristicRespVO
  12. import com.grkj.iscs.model.vo.hardware.JobCardExDTO
  13. import com.grkj.iscs.model.vo.hardware.KeyExDTO
  14. import com.grkj.iscs.model.vo.hardware.LockExDTO
  15. import com.grkj.iscs.model.vo.key.KeyInfoRespVO
  16. import com.grkj.iscs.model.vo.lock.LockInfoRespVO
  17. import com.grkj.iscs.model.vo.lock.LockTakeUpdateReqVO
  18. import com.grkj.iscs.model.vo.machinery.MachineryDetailRespVO
  19. import com.grkj.iscs.model.vo.machinery.MachineryPageRespVO
  20. import com.grkj.iscs.model.vo.map.MapInfoRespVO
  21. import com.grkj.iscs.model.vo.map.MapPointPageRespVO
  22. import com.grkj.iscs.model.vo.sop.SopInfoRespVO
  23. import com.grkj.iscs.model.vo.sop.SopPageRespVO
  24. import com.grkj.iscs.model.vo.system.SystemAttributePageRespVO
  25. import com.grkj.iscs.model.vo.ticket.LockPointUpdateReqVO
  26. import com.grkj.iscs.model.vo.ticket.LotoMapRespVO
  27. import com.grkj.iscs.model.vo.ticket.StepDetailRespVO
  28. import com.grkj.iscs.model.vo.ticket.TicketDetailMonitorRespVO
  29. import com.grkj.iscs.model.vo.ticket.TicketDetailRespVO
  30. import com.grkj.iscs.model.vo.ticket.TicketPageRespVO
  31. import com.grkj.iscs.model.vo.ticket.TicketTypeRespVO
  32. import com.grkj.iscs.model.vo.ticket.TicketUserReqVO
  33. import com.grkj.iscs.model.vo.ticket.WorkstationTicketListRespVO
  34. import com.grkj.iscs.model.vo.user.RoleListRespVO
  35. import com.grkj.iscs.model.vo.user.UserInfoRespVO
  36. import com.grkj.iscs.model.vo.user.UserListRespVO
  37. import com.grkj.iscs.util.log.LogUtil
  38. import java.text.SimpleDateFormat
  39. import java.util.Calendar
  40. import java.util.Locale
  41. /**
  42. * 网络请求
  43. */
  44. object NetApi {
  45. /**
  46. * 登录
  47. */
  48. fun login(username: String, password: String, callBack: (Boolean?) -> Unit) {
  49. NetHttpManager.getInstance().doRequestNet(
  50. UrlConsts.SIGN_IN,
  51. false,
  52. mapOf(
  53. "username" to username,
  54. "password" to password
  55. ),
  56. { res, _, _ ->
  57. res?.let {
  58. val newToken = it.toBean(Token::class.java)
  59. newToken.saveToSp(MyApplication.instance!!.applicationContext)
  60. callBack.invoke(true)
  61. } ?: run {
  62. callBack.invoke(false)
  63. }
  64. }, isGet = false, isAuth = false
  65. )
  66. }
  67. /**
  68. * 退出登录
  69. */
  70. fun logout() {
  71. NetHttpManager.getInstance().doRequestNet(
  72. UrlConsts.LOGOUT,
  73. false,
  74. mapOf<String, String>(),
  75. { res, _, _ ->
  76. SPUtils.clearLoginUser(MyApplication.instance!!.applicationContext)
  77. Token.clear(MyApplication.instance!!.applicationContext)
  78. }, isGet = true, isAuth = false
  79. )
  80. }
  81. /**
  82. * 刷卡登录
  83. */
  84. fun cardLogin(cardNfc: String, callBack: (Boolean?) -> Unit) {
  85. NetHttpManager.getInstance().doRequestNet(
  86. UrlConsts.LOGIN_CARD,
  87. false,
  88. mapOf(
  89. "cardNfc" to cardNfc
  90. ),
  91. { res, _, _ ->
  92. res?.let {
  93. val token: String? = getRefBean(it)
  94. Token(token!!, 0).saveToSp(MyApplication.instance!!.applicationContext)
  95. callBack.invoke(true)
  96. } ?: run {
  97. callBack.invoke(false)
  98. }
  99. }, isGet = false, isAuth = false
  100. )
  101. }
  102. /**
  103. * 获取SOP分页
  104. */
  105. fun getSopPage(
  106. pages: Int,
  107. size: Int,
  108. machineryId: Long,
  109. sopType: Int,
  110. callBack: (SopPageRespVO?) -> Unit
  111. ) {
  112. NetHttpManager.getInstance().doRequestNet(
  113. UrlConsts.SOP_PAGE,
  114. false,
  115. mapOf(
  116. "pages" to pages,
  117. "size" to size,
  118. "machineryId" to machineryId,
  119. "sopType" to sopType
  120. ),
  121. { res, _, _ ->
  122. res?.let {
  123. callBack.invoke(getRefBean(it))
  124. }
  125. }, isGet = true, isAuth = true
  126. )
  127. }
  128. /**
  129. * 获取工作票类型
  130. */
  131. @Deprecated("不使用")
  132. fun getTicketType(callBack: (MutableList<TicketTypeRespVO>?) -> Unit) {
  133. NetHttpManager.getInstance().doRequestNet(
  134. UrlConsts.TICKET_TYPE,
  135. false,
  136. mapOf<String, String>(),
  137. { res, _, _ ->
  138. res?.let {
  139. callBack.invoke(getRefBean(it))
  140. }
  141. }, isGet = true, isAuth = true
  142. )
  143. }
  144. /**
  145. * 获取一个自动编号
  146. */
  147. @Deprecated("不使用")
  148. fun getAutoCode(type: String, callBack: (String?) -> Unit) {
  149. NetHttpManager.getInstance().doRequestNet(
  150. UrlConsts.AUTO_CODE + "/" + type,
  151. false,
  152. mapOf<String, String>(),
  153. { res, _, _ ->
  154. res?.let {
  155. callBack.invoke(it.toString())
  156. }
  157. }, isGet = true, isAuth = true
  158. )
  159. }
  160. /**
  161. * 获取SOP详情
  162. */
  163. @Deprecated("不使用")
  164. fun getSopInfo(sopId: Long, callBack: (SopInfoRespVO?) -> Unit) {
  165. NetHttpManager.getInstance().doRequestNet(
  166. UrlConsts.SOP_INFO,
  167. false,
  168. mapOf(
  169. "sopId" to sopId
  170. ),
  171. { res, _, _ ->
  172. res?.let {
  173. callBack.invoke(getRefBean(it))
  174. }
  175. }, isGet = true, isAuth = true
  176. )
  177. }
  178. /**
  179. * 获取用户列表
  180. *
  181. * @param unitId 9:玛氏内部
  182. * @param roleId 3:上锁人 4:共锁人
  183. */
  184. fun getUserList(
  185. pageNum: Int,
  186. pageSize: Int,
  187. workstationId: Long? = null,
  188. roleId: Long? = null,
  189. unitId: Long? = null,
  190. callBack: (UserListRespVO?) -> Unit
  191. ) {
  192. val map: MutableMap<String, Any> =
  193. mutableMapOf("pageNum" to pageNum, "pageSize" to pageSize)
  194. workstationId?.let {
  195. map["workstationId"] = it
  196. }
  197. roleId?.let {
  198. map["roleId"] = it
  199. }
  200. unitId?.let {
  201. map["unitId"] = it
  202. }
  203. NetHttpManager.getInstance().doRequestNet(
  204. UrlConsts.USER_LIST,
  205. false,
  206. map,
  207. { res, _, _ ->
  208. res?.let {
  209. callBack.invoke(it.toBean(UserListRespVO::class.java))
  210. }
  211. }, isGet = true, isAuth = true
  212. )
  213. }
  214. /**
  215. * 获取部门列表
  216. */
  217. @Deprecated("不使用")
  218. fun getDeptList(pageNum: Int, pageSize: Int, callBack: (MutableList<DeptListRespVO>?) -> Unit) {
  219. NetHttpManager.getInstance().doRequestNet(
  220. UrlConsts.DEPT_LIST,
  221. false,
  222. mapOf(
  223. "pageNum" to pageNum,
  224. "pageSize" to pageSize
  225. ),
  226. { res, _, _ ->
  227. res?.let {
  228. callBack.invoke(getRefBean(it))
  229. }
  230. }, isGet = true, isAuth = true
  231. )
  232. }
  233. /**
  234. * 创建工作票
  235. *
  236. * @return 工作票ID
  237. */
  238. fun createTicket(sopId: Long, callBack: (Long?) -> Unit) {
  239. NetHttpManager.getInstance().doRequestNet(
  240. UrlConsts.CREATE_TICKET,
  241. false,
  242. mapOf(
  243. "sopId" to sopId
  244. ),
  245. { res, _, _ ->
  246. res?.let {
  247. callBack.invoke(getRefBean(it))
  248. }
  249. }, isGet = false, isAuth = true
  250. )
  251. }
  252. /**
  253. * 获取工作票分页
  254. */
  255. @Deprecated("不使用")
  256. fun getTicketPage(
  257. pageNum: Int,
  258. pageSize: Int,
  259. userId: Long,
  260. ticketStatus: Int?,
  261. callBack: (TicketPageRespVO?) -> Unit
  262. ) {
  263. val map = mutableMapOf(
  264. "pageNum" to pageNum,
  265. "pageSize" to pageSize,
  266. "userId" to userId
  267. )
  268. if (ticketStatus != null) {
  269. map["ticketStatus"] = ticketStatus
  270. }
  271. NetHttpManager.getInstance().doRequestNet(
  272. UrlConsts.PAGE_TICKET,
  273. false,
  274. map,
  275. { res, _, _ ->
  276. res?.let {
  277. callBack.invoke(getRefBean(it))
  278. }
  279. }, isGet = true, isAuth = true
  280. )
  281. }
  282. /**
  283. * 根据登录用户获取刷卡信息
  284. */
  285. // fun getCardInfoByLoginUser(callBack: (CardInfoRespVO?) -> Unit) {
  286. // NetHttpManager.getInstance().doRequestNet(
  287. // UrlConsts.CARD_INFO_BY_LOGIN_USER,
  288. // false,
  289. // mapOf<String, String>(),
  290. // { res, _, _ ->
  291. // res?.let {
  292. // callBack.invoke(getRefBean(it))
  293. // }
  294. // }, isGet = true, isAuth = true
  295. // )
  296. // }
  297. /**
  298. * 根据nfc编号获取刷卡信息
  299. */
  300. fun getCardInfoByNfc(cardNfc: String, callBack: (CardInfoRespVO?) -> Unit) {
  301. NetHttpManager.getInstance().doRequestNet(
  302. UrlConsts.CARD_INFO_BY_CARD_NFC,
  303. false,
  304. mapOf("cardNfc" to cardNfc),
  305. { res, _, _ ->
  306. res?.let {
  307. callBack.invoke(getRefBean(it))
  308. } ?: run {
  309. callBack.invoke(null)
  310. }
  311. }, isGet = true, isAuth = true
  312. )
  313. }
  314. /**
  315. * 通过nfc编号获取key信息
  316. */
  317. fun getKeyInfo(keyNfc: String, callBack: (KeyInfoRespVO?) -> Unit) {
  318. val loginUser = SPUtils.getLoginUser(MyApplication.instance?.applicationContext!!)
  319. NetHttpManager.getInstance().doRequestNet(
  320. if (loginUser == null) {
  321. UrlConsts.KEY_INFO_BY_NFC_WITHOUT_AUTH
  322. } else {
  323. UrlConsts.KEY_INFO_BY_NFC
  324. },
  325. false,
  326. mapOf("nfc" to keyNfc),
  327. { res, _, _ ->
  328. res?.let {
  329. callBack.invoke(getRefBean(it))
  330. }
  331. }, isGet = true, isAuth = loginUser != null
  332. )
  333. }
  334. /**
  335. * 通过nfc编号获取lock信息,暂时用来判断是否是公司的锁
  336. */
  337. fun getLockInfo(lockNfc: String, callBack: (LockInfoRespVO?) -> Unit) {
  338. NetHttpManager.getInstance().doRequestNet(
  339. UrlConsts.LOCK_INFO_BY_NFC,
  340. false,
  341. mapOf("nfc" to lockNfc),
  342. { res, _, _ ->
  343. res?.let {
  344. callBack.invoke(getRefBean(it))
  345. } ?: let {
  346. callBack.invoke(null)
  347. }
  348. }, isGet = true, isAuth = true
  349. )
  350. }
  351. /**
  352. * 归还挂锁时更新数据
  353. */
  354. fun updateLockReturn(lockNfc: String, serialNumber: String, callBack: (Boolean?) -> Unit) {
  355. NetHttpManager.getInstance().doRequestNet(
  356. UrlConsts.LOCK_RETURN_UPDATE,
  357. false,
  358. mapOf(
  359. "lockNfc" to lockNfc,
  360. "serialNumber" to serialNumber
  361. ),
  362. { res, _, _ ->
  363. res?.let {
  364. callBack.invoke(getRefBean(it))
  365. }
  366. // TODO isAuth需要配置
  367. }, isGet = false, isAuth = BusinessManager.NEED_AUTH
  368. )
  369. }
  370. /**
  371. * 取出挂锁时更新数据
  372. */
  373. fun updateLockTake(list: MutableList<LockTakeUpdateReqVO>, callBack: (Boolean?) -> Unit) {
  374. LogUtil.i("updateLockTake : $list")
  375. NetHttpManager.getInstance().doRequestNet(
  376. UrlConsts.LOCK_TAKE_UPDATE,
  377. false,
  378. mapOf(
  379. "list" to list
  380. ),
  381. { res, _, _ ->
  382. res?.let {
  383. callBack.invoke(getRefBean(it))
  384. } ?: run {
  385. callBack.invoke(false)
  386. }
  387. // TODO isAuth需要配置
  388. }, isGet = false, isAuth = BusinessManager.NEED_AUTH
  389. )
  390. }
  391. /**
  392. * 挂锁上锁时更新数据,更新挂锁和哪个隔离点进行了绑定
  393. */
  394. fun updateLockPoint(
  395. ticketId: Long,
  396. lockNfc: String,
  397. pointNfc: String,
  398. callBack: (Boolean?) -> Unit
  399. ) {
  400. NetHttpManager.getInstance().doRequestNet(
  401. UrlConsts.LOCK_POINT_UPDATE,
  402. false,
  403. mapOf(
  404. "ticketId" to ticketId,
  405. "lockNfc" to lockNfc,
  406. "pointNfc" to pointNfc
  407. ),
  408. { res, _, _ ->
  409. res?.let {
  410. callBack.invoke(getRefBean(it))
  411. }
  412. }, isGet = false, isAuth = true
  413. )
  414. }
  415. /**
  416. * 获取作业票和关联数据
  417. */
  418. fun getTicketDetail(ticketId: Long, callBack: (TicketDetailRespVO?) -> Unit) {
  419. NetHttpManager.getInstance().doRequestNet(
  420. UrlConsts.TICKET_EQUIP_DETAIL,
  421. false,
  422. mapOf("ticketId" to ticketId),
  423. { res, _, _ ->
  424. res?.let {
  425. callBack.invoke(getRefBean(it))
  426. }
  427. }, isGet = true, isAuth = true
  428. )
  429. }
  430. /**
  431. * 取出钥匙
  432. */
  433. fun updateKeyTake(
  434. ticketId: Long,
  435. keyNfc: String,
  436. serialNumber: String,
  437. callBack: (Boolean) -> Unit
  438. ) {
  439. NetHttpManager.getInstance().doRequestNet(
  440. UrlConsts.KEY_TAKE_UPDATE,
  441. false,
  442. mapOf(
  443. "ticketId" to ticketId,
  444. "keyNfc" to keyNfc,
  445. "serialNumber" to serialNumber
  446. ),
  447. { res, _, _ ->
  448. callBack.invoke(res != null)
  449. }, isGet = false, isAuth = true
  450. )
  451. }
  452. /**
  453. * 归还钥匙
  454. */
  455. fun updateKeyReturn(
  456. ticketId: Long,
  457. keyNfc: String,
  458. serialNumber: String,
  459. retryCount: Int = 3,
  460. callBack: (Boolean, String) -> Unit
  461. ) {
  462. NetHttpManager.getInstance().doRequestNet(
  463. UrlConsts.KEY_RETURN_UPDATE,
  464. false,
  465. mapOf(
  466. "ticketId" to ticketId,
  467. "keyNfc" to keyNfc,
  468. "serialNumber" to serialNumber
  469. ),
  470. { res, msg, _ ->
  471. res?.let {
  472. callBack(true, msg?:"")
  473. } ?: let {
  474. if (retryCount > 0) {
  475. Executor.delayOnIO(500) {
  476. updateKeyReturn(
  477. ticketId,
  478. keyNfc,
  479. serialNumber,
  480. retryCount - 1,
  481. callBack
  482. )
  483. }
  484. } else {
  485. callBack.invoke(false, msg?:"")
  486. }
  487. }
  488. // TODO isAuth需要配置
  489. }, isGet = false, isAuth = BusinessManager.NEED_AUTH
  490. )
  491. }
  492. /**
  493. * 更新作业票进度
  494. */
  495. fun updateTicketProgress(ticketId: Long, userId: Long, callBack: (Boolean) -> Unit) {
  496. NetHttpManager.getInstance().doRequestNet(
  497. UrlConsts.TICKET_UPDATE_PROGRESS,
  498. false,
  499. mapOf(
  500. "ticketId" to ticketId,
  501. "userId" to userId
  502. ),
  503. { res, _, _ ->
  504. callBack.invoke(res != null)
  505. }, isGet = false, isAuth = true
  506. )
  507. }
  508. /**
  509. * 批量更新作业票下隔离点的上锁解锁状况
  510. */
  511. fun updateLockPointBatch(
  512. list: MutableList<LockPointUpdateReqVO>,
  513. retryCount: Int = 3,
  514. callBack: (Boolean) -> Unit
  515. ) {
  516. NetHttpManager.getInstance().doRequestNet(
  517. UrlConsts.LOCK_POINT_UPDATE_BATCH,
  518. false,
  519. mapOf(
  520. "list" to list
  521. ),
  522. { res, _, _ ->
  523. res?.let {
  524. callBack(true)
  525. } ?: let {
  526. if (retryCount > 0) {
  527. Executor.delayOnIO(500) {
  528. updateLockPointBatch(list, retryCount - 1, callBack)
  529. }
  530. } else {
  531. callBack.invoke(false)
  532. }
  533. }
  534. }, isGet = false, isAuth = true
  535. )
  536. }
  537. /**
  538. * 根据角色获取人员列表
  539. */
  540. @Deprecated("不使用")
  541. fun getRoleList(
  542. pageNum: Int,
  543. pageSize: Int,
  544. roleKey: String,
  545. callBack: (RoleListRespVO?) -> Unit
  546. ) {
  547. NetHttpManager.getInstance().doRequestNet(
  548. UrlConsts.ROLE_LIST,
  549. false,
  550. mapOf(
  551. "pageNum" to pageNum,
  552. "pageSize" to pageSize,
  553. "roleKey" to roleKey
  554. ),
  555. { res, _, _ ->
  556. res?.let {
  557. callBack.invoke(it.toBean(RoleListRespVO::class.java))
  558. }
  559. }, isGet = true, isAuth = true
  560. )
  561. }
  562. /**
  563. * 正在进行中的作业票列表
  564. */
  565. fun getWorkstationTicketList(
  566. pages: Int,
  567. size: Int,
  568. callBack: (MutableList<WorkstationTicketListRespVO>?) -> Unit
  569. ) {
  570. NetHttpManager.getInstance().doRequestNet(
  571. UrlConsts.WORKSTATION_TICKET_LIST,
  572. false,
  573. mapOf(
  574. "pages" to pages,
  575. "size" to size
  576. ),
  577. { res, _, _ ->
  578. res?.let {
  579. callBack.invoke(getRefBean(it))
  580. }
  581. }, isGet = true, isAuth = true
  582. )
  583. }
  584. /**
  585. * 获取工艺分页
  586. */
  587. fun getMachineryPage(
  588. pages: Int,
  589. size: Int,
  590. workstationId: Long,
  591. callBack: (MachineryPageRespVO?) -> Unit
  592. ) {
  593. NetHttpManager.getInstance().doRequestNet(
  594. UrlConsts.MACHINERY_PAGE,
  595. false,
  596. mapOf(
  597. "pages" to pages,
  598. "size" to size,
  599. "workstationId" to workstationId,
  600. "machineryType" to "工艺"
  601. ),
  602. { res, _, _ ->
  603. res?.let {
  604. callBack.invoke(getRefBean(it))
  605. }
  606. }, isGet = true, isAuth = true
  607. )
  608. }
  609. /**
  610. * 获取八大步骤详细
  611. */
  612. fun getStepDetail(ticketId: Long, callBack: (MutableList<StepDetailRespVO>?) -> Unit) {
  613. NetHttpManager.getInstance().doRequestNet(
  614. UrlConsts.TICKET_STEP,
  615. false,
  616. mapOf(
  617. "ticketId" to ticketId
  618. ),
  619. { res, _, _ ->
  620. res?.let {
  621. callBack.invoke(getRefBean(it))
  622. }
  623. }, isGet = true, isAuth = true
  624. )
  625. }
  626. /**
  627. * 获取设备工艺详细信息
  628. */
  629. fun getMachineryDetail(machineryId: Long, callBack: (MachineryDetailRespVO?) -> Unit) {
  630. NetHttpManager.getInstance().doRequestNet(
  631. UrlConsts.MACHINERY_DETAIL,
  632. false,
  633. mapOf(
  634. "machineryId" to machineryId
  635. ),
  636. { res, _, _ ->
  637. res?.let {
  638. callBack.invoke(getRefBean(it))
  639. }
  640. }, isGet = true, isAuth = true
  641. )
  642. }
  643. /**
  644. * 获取电柜map解析数据
  645. */
  646. fun getLotoMapData(lotoId: Long, callBack: (MutableList<LotoMapRespVO>?) -> Unit) {
  647. NetHttpManager.getInstance().doRequestNet(
  648. UrlConsts.LOTO_MAP,
  649. false,
  650. mapOf(
  651. "lotoId" to lotoId
  652. ),
  653. { res, _, _ ->
  654. res?.let {
  655. callBack.invoke(getRefBean(it))
  656. }
  657. }, isGet = true, isAuth = true
  658. )
  659. }
  660. /**
  661. * 取消作业票
  662. */
  663. fun cancelTicket(ticketId: Long, callBack: (Boolean) -> Unit) {
  664. NetHttpManager.getInstance().doRequestNet(
  665. UrlConsts.CANCEL_TICKET,
  666. false,
  667. mapOf(
  668. "ticketId" to ticketId
  669. ),
  670. { res, _, _ ->
  671. res?.let {
  672. callBack.invoke(true)
  673. } ?: run {
  674. callBack.invoke(false)
  675. }
  676. }, isGet = false, isAuth = true
  677. )
  678. }
  679. /**
  680. * 结束作业票
  681. */
  682. fun finishTicket(ticketId: Long, callBack: (Boolean) -> Unit) {
  683. NetHttpManager.getInstance().doRequestNet(
  684. UrlConsts.FINISH_TICKET,
  685. false,
  686. mapOf(
  687. "ticketId" to ticketId
  688. ),
  689. { res, _, _ ->
  690. res?.let {
  691. callBack.invoke(true)
  692. } ?: run {
  693. callBack.invoke(false)
  694. }
  695. }, isGet = false, isAuth = true
  696. )
  697. }
  698. /**
  699. * 新增/更新作业票人员
  700. */
  701. fun updateTicketUser(
  702. ticketId: Long,
  703. userList: MutableList<TicketUserReqVO>,
  704. callBack: (Boolean) -> Unit
  705. ) {
  706. NetHttpManager.getInstance().doRequestNet(
  707. UrlConsts.UPDATE_TICKET_USER,
  708. false,
  709. mapOf(
  710. "ticketId" to ticketId,
  711. "ticketUserDTOList" to userList
  712. ),
  713. { res, _, _ ->
  714. res?.let {
  715. callBack.invoke(true)
  716. } ?: run {
  717. callBack.invoke(false)
  718. }
  719. }, isGet = false, isAuth = true
  720. )
  721. }
  722. /**
  723. * 作业票详情监控
  724. */
  725. fun getTicketDetailMonitor(ticketId: Long, callBack: (TicketDetailMonitorRespVO?) -> Unit) {
  726. NetHttpManager.getInstance().doRequestNet(
  727. UrlConsts.TICKET_DETAIL_MONITOR,
  728. false,
  729. mapOf(
  730. "ticketId" to ticketId
  731. ),
  732. { res, _, _ ->
  733. res?.let {
  734. callBack.invoke(getRefBean(it))
  735. }
  736. }, isGet = true, isAuth = true
  737. )
  738. }
  739. /**
  740. * 八大步骤执行
  741. */
  742. fun updateStep(stepId: Long, stepStatus: String, callBack: (Boolean) -> Unit) {
  743. NetHttpManager.getInstance().doRequestNet(
  744. UrlConsts.UPDATE_STEP,
  745. false,
  746. mapOf(
  747. "stepId" to stepId,
  748. "stepStatus" to stepStatus
  749. ),
  750. { res, _, _ ->
  751. res?.let {
  752. callBack.invoke(true)
  753. } ?: run {
  754. callBack.invoke(false)
  755. }
  756. }, isGet = false, isAuth = true
  757. )
  758. }
  759. /**
  760. * 共锁人上锁/解锁
  761. */
  762. fun updateColockerStatus(
  763. ticketId: Long,
  764. cardNfc: String,
  765. jobStatus: String,
  766. callBack: (Boolean) -> Unit
  767. ) {
  768. NetHttpManager.getInstance().doRequestNet(
  769. UrlConsts.UPDATE_COLOCKER_STATUS,
  770. false,
  771. mapOf(
  772. "ticketId" to ticketId,
  773. "cardNfc" to cardNfc,
  774. "jobStatus" to jobStatus
  775. ),
  776. { res, _, _ ->
  777. res?.let {
  778. callBack.invoke(true)
  779. } ?: run {
  780. callBack.invoke(false)
  781. }
  782. }, isGet = false, isAuth = true
  783. )
  784. }
  785. /**
  786. * 获取用户信息
  787. */
  788. fun getUserInfo(callBack: (UserInfoRespVO?) -> Unit) {
  789. NetHttpManager.getInstance().doRequestNet(
  790. UrlConsts.GET_USER_INFO,
  791. false,
  792. mapOf<String, String>(),
  793. { res, _, _ ->
  794. res?.let {
  795. callBack.invoke(it.toBean(UserInfoRespVO::class.java))
  796. }
  797. }, isGet = true, isAuth = true
  798. )
  799. }
  800. /**
  801. * 获取地图参数详细信息
  802. *
  803. * @param id 机柜固定首页传1,锁定站传2,物资柜固定传4
  804. */
  805. fun getMapInfo(id: Long, callBack: (MapInfoRespVO?) -> Unit) {
  806. NetHttpManager.getInstance().doRequestNet(
  807. UrlConsts.MAP_INFO,
  808. false,
  809. mapOf(
  810. "id" to id
  811. ),
  812. { res, _, _ ->
  813. res?.let {
  814. callBack.invoke(getRefBean(it))
  815. }
  816. }, isGet = true, isAuth = true
  817. )
  818. }
  819. /**
  820. * 查询地图点位数据-分页
  821. *
  822. * @param mapId 机柜固定传1,物资柜固定传4
  823. */
  824. fun getMapPointPage(
  825. pages: Int,
  826. size: Int,
  827. mapId: Long,
  828. callBack: (MapPointPageRespVO?) -> Unit
  829. ) {
  830. NetHttpManager.getInstance().doRequestNet(
  831. UrlConsts.MAP_POINT_PAGE,
  832. false,
  833. mapOf(
  834. "pages" to pages,
  835. "size" to size,
  836. "mapId" to mapId
  837. ),
  838. { res, _, _ ->
  839. res?.let {
  840. callBack.invoke(getRefBean(it))
  841. }
  842. }, isGet = true, isAuth = true
  843. )
  844. }
  845. /**
  846. * 新增指纹录入-指纹图片转成dat存储
  847. */
  848. fun insertFinger(
  849. userName: String,
  850. fileList: MutableList<FileStreamReqParam>?,
  851. callBack: (Boolean) -> Unit
  852. ) {
  853. NetHttpManager.getInstance().doRequestNet(
  854. UrlConsts.INSERT_FINGER,
  855. false,
  856. mapOf(
  857. "userName" to userName
  858. ),
  859. { res, _, _ ->
  860. res?.let {
  861. callBack.invoke(true)
  862. } ?: run {
  863. callBack.invoke(false)
  864. }
  865. }, isGet = false, isAuth = true, fileList = fileList
  866. )
  867. }
  868. /**
  869. * 系统用户登录-指纹验证登录dat
  870. */
  871. fun loginByFingerprint(fileList: MutableList<FileStreamReqParam>, callBack: (Boolean) -> Unit) {
  872. NetHttpManager.getInstance().doRequestNet(
  873. UrlConsts.LOGIN_FINGERPRINT,
  874. false,
  875. mapOf<String, String>(),
  876. { res, _, _ ->
  877. res?.let {
  878. val resp: LoginCharacteristicRespVO? =
  879. it.toBean(LoginCharacteristicRespVO::class.java)
  880. Token(resp?.token!!, 0).saveToSp(MyApplication.instance!!.applicationContext)
  881. callBack.invoke(true)
  882. } ?: run {
  883. callBack.invoke(false)
  884. }
  885. }, isGet = false, isAuth = false, fileList = fileList
  886. )
  887. }
  888. /**
  889. * 查询用户特征(指纹、面部)-分页
  890. *
  891. * @param type 1-指纹,2-面部
  892. */
  893. fun getUserCharacteristicPage(
  894. pages: Int,
  895. size: Int,
  896. type: String,
  897. userId: Long,
  898. callBack: (CharacteristicPageRespVO?) -> Unit
  899. ) {
  900. NetHttpManager.getInstance().doRequestNet(
  901. UrlConsts.USER_CHARACTERISTIC_PAGE,
  902. false,
  903. mapOf(
  904. "pages" to pages,
  905. "size" to size,
  906. "type" to type,
  907. "userId" to userId
  908. ),
  909. { res, _, _ ->
  910. res?.let {
  911. callBack(getRefBean(it))
  912. }
  913. }, isGet = true, isAuth = true
  914. )
  915. }
  916. /**
  917. * 删除用户特征(指纹、面部)
  918. */
  919. fun deleteUserCharacteristic(recordIds: String, callBack: (Boolean) -> Unit) {
  920. NetHttpManager.getInstance().doRequestNet(
  921. UrlConsts.REMOVE_USER_CHARACTERISTIC,
  922. false,
  923. mapOf(
  924. "recordIds" to recordIds
  925. ),
  926. { res, _, _ ->
  927. res?.let {
  928. callBack.invoke(true)
  929. } ?: run {
  930. callBack.invoke(false)
  931. }
  932. }, isGet = true, isAuth = true
  933. )
  934. }
  935. /**
  936. * 新增异常记录
  937. *
  938. * @param exceptionCategory 异常种类(0-锁控柜 1-物资柜)
  939. */
  940. fun insertException(
  941. exceptionCategory: String,
  942. exceptionDescription: String?,
  943. exceptionLevel: String,
  944. exceptionType: String,
  945. raiser: Long,
  946. sourceName: String,
  947. callBack: (Boolean) -> Unit
  948. ) {
  949. val map = mutableMapOf(
  950. "exceptionCategory" to exceptionCategory,
  951. "exceptionLevel" to exceptionLevel,
  952. "exceptionType" to exceptionType,
  953. "raiser" to raiser,
  954. "sourceName" to sourceName,
  955. "raiseTime" to SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()).format(
  956. Calendar.getInstance().time
  957. )
  958. )
  959. exceptionDescription?.let {
  960. map["exceptionDescription"] = it
  961. }
  962. NetHttpManager.getInstance().doRequestNet(
  963. UrlConsts.INSERT_EXCEPTION,
  964. false,
  965. map,
  966. { res, _, _ ->
  967. res?.let {
  968. callBack.invoke(true)
  969. } ?: run {
  970. callBack.invoke(false)
  971. }
  972. }, isGet = false, isAuth = true
  973. )
  974. }
  975. /**
  976. * 查询字典
  977. */
  978. fun getDictData(url: String, callBack: (MutableList<CommonDictRespVO>?) -> Unit) {
  979. NetHttpManager.getInstance().doRequestNet(
  980. url,
  981. false,
  982. mapOf<String, String>(),
  983. { res, _, _ ->
  984. res?.let {
  985. callBack.invoke(getRefBean(it))
  986. }
  987. }, isGet = true, isAuth = true
  988. )
  989. }
  990. /**
  991. * 新增人脸录入-人脸识别后裁剪存储-arcsoft
  992. */
  993. fun insertFace(
  994. userName: String,
  995. fileList: MutableList<FileStreamReqParam>?,
  996. callBack: (Boolean) -> Unit
  997. ) {
  998. NetHttpManager.getInstance().doRequestNet(
  999. UrlConsts.INSERT_FACE,
  1000. false,
  1001. mapOf(
  1002. "userName" to userName
  1003. ),
  1004. { res, _, _ ->
  1005. callBack.invoke(res != null)
  1006. }, isGet = false, isAuth = true, fileList = fileList
  1007. )
  1008. }
  1009. /**
  1010. * 系统用户登录-face登录-arcsoft
  1011. */
  1012. fun loginByFace(fileList: MutableList<FileStreamReqParam>, callBack: (Boolean) -> Unit) {
  1013. NetHttpManager.getInstance().doRequestNet(
  1014. UrlConsts.LOGIN_FACE,
  1015. false,
  1016. mapOf<String, String>(),
  1017. { res, _, _ ->
  1018. res?.let {
  1019. val resp: LoginCharacteristicRespVO? =
  1020. it.toBean(LoginCharacteristicRespVO::class.java)
  1021. Token(resp?.token!!, 0).saveToSp(MyApplication.instance!!.applicationContext)
  1022. callBack.invoke(true)
  1023. } ?: run {
  1024. callBack.invoke(false)
  1025. }
  1026. }, isGet = false, isAuth = false, fileList = fileList
  1027. )
  1028. }
  1029. /**
  1030. * 查询基础数据-分页
  1031. */
  1032. fun getSystemAttributePage(
  1033. pages: Int,
  1034. size: Int,
  1035. callBack: (SystemAttributePageRespVO?) -> Unit
  1036. ) {
  1037. NetHttpManager.getInstance().doRequestNet(
  1038. UrlConsts.SYSTEM_ATTRIBUTE_PAGE,
  1039. false,
  1040. mapOf(
  1041. "pages" to pages,
  1042. "size" to size
  1043. ),
  1044. { res, _, _ ->
  1045. res?.let {
  1046. callBack(getRefBean(it))
  1047. }
  1048. }, isGet = true, isAuth = true
  1049. )
  1050. }
  1051. /**
  1052. * 上锁、解锁取钥匙前检查
  1053. */
  1054. fun checkBeforeAction(ticketId: Long, isLock: Boolean, callBack: (Boolean) -> Unit) {
  1055. NetHttpManager.getInstance().doRequestNet(
  1056. if (isLock) UrlConsts.CHECK_BEFORE_LOCKING else UrlConsts.CHECK_BEFORE_UNLOCKING,
  1057. false,
  1058. mapOf(
  1059. "ticketId" to ticketId
  1060. ),
  1061. { res, _, _ ->
  1062. res?.let {
  1063. callBack.invoke(true)
  1064. } ?: run {
  1065. callBack.invoke(false)
  1066. }
  1067. }, isGet = true, isAuth = true
  1068. )
  1069. }
  1070. /**
  1071. * 批量更新硬件状态
  1072. */
  1073. fun updateHardwareEsStatus(
  1074. jobCardExDTOList: List<JobCardExDTO>,
  1075. keyExDTOList: List<KeyExDTO>,
  1076. lockExDTOList: List<LockExDTO>,
  1077. callBack: (Boolean) -> Unit
  1078. ) {
  1079. NetHttpManager.getInstance().doRequestNet(
  1080. UrlConsts.UPDATE_HARDWARE_ES_STATUS,
  1081. false,
  1082. mapOf(
  1083. "jobCardExDTOList" to jobCardExDTOList,
  1084. "keyExDTOList" to keyExDTOList,
  1085. "lockExDTOList" to lockExDTOList
  1086. ),
  1087. { res, _, _ ->
  1088. res?.let {
  1089. callBack.invoke(true)
  1090. } ?: run {
  1091. callBack.invoke(false)
  1092. }
  1093. }, isGet = false, isAuth = true
  1094. )
  1095. }
  1096. /**
  1097. * 重合点位数据解锁
  1098. */
  1099. fun updateCoincideToUnLock(
  1100. noUnlockTicketPointsVOSet: List<TicketDetailRespVO.JobTicketPointsVO>,
  1101. callBack: (Boolean) -> Unit
  1102. ) {
  1103. NetHttpManager.getInstance().doRequestNet(
  1104. UrlConsts.UPDATE_COINCIDE_TO_UNLOCK,
  1105. false,
  1106. mapOf(
  1107. "noUnlockTicketPointsVOSet" to noUnlockTicketPointsVOSet
  1108. ),
  1109. { res, _, _ ->
  1110. res?.let {
  1111. callBack.invoke(true)
  1112. } ?: run {
  1113. callBack.invoke(false)
  1114. }
  1115. }, isGet = false, isAuth = true
  1116. )
  1117. }
  1118. }