QmsQueueResultServiceImpl.java 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650
  1. package com.steerinfo.dil.service.impl;
  2. import com.steerinfo.dil.controller.QmsQueueResultController;
  3. import com.steerinfo.dil.feign.AmsFeign;
  4. import com.steerinfo.dil.feign.IMFeign;
  5. import com.steerinfo.dil.feign.LargeScreenFeign;
  6. import com.steerinfo.dil.mapper.QmsQueueListMapper;
  7. import com.steerinfo.dil.mapper.QueueInterfaceMapper;
  8. import com.steerinfo.dil.mapper.QueuingRulesMapper;
  9. import com.steerinfo.dil.model.QmsQueueList;
  10. import com.steerinfo.dil.util.DataChange;
  11. import com.steerinfo.dil.model.QmsQueueResult;
  12. import com.steerinfo.dil.mapper.QmsQueueResultMapper;
  13. import com.steerinfo.dil.service.IQmsQueueResultService;
  14. import com.steerinfo.dil.util.ElectronicFenceUtils;
  15. import com.steerinfo.dil.util.SaleLogUtil;
  16. import com.steerinfo.framework.controller.RESTfulResult;
  17. import oracle.sql.DATE;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.scheduling.annotation.Scheduled;
  20. import org.springframework.stereotype.Service;
  21. import java.text.SimpleDateFormat;
  22. import java.util.*;
  23. import java.math.BigDecimal;
  24. import static sun.security.krb5.Confounder.intValue;
  25. /**
  26. * QmsQueueResult服务实现:
  27. * @author generator
  28. * @version 1.0-SNAPSHORT 2021-09-14 11:27
  29. * 类描述
  30. * 修订历史:
  31. * 日期:2021-09-14
  32. * 作者:generator
  33. * 参考:
  34. * 描述:QmsQueueResult服务实现
  35. * @see null
  36. * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  37. */
  38. @Service(value = "qmsQueueResultService")
  39. public class QmsQueueResultServiceImpl implements IQmsQueueResultService {
  40. @Autowired
  41. private QmsQueueResultMapper qmsQueueResultMapper;
  42. @Autowired
  43. private QmsQueueListMapper qmsQueueListMapper;
  44. @Autowired
  45. QueueInterfaceServiceImpl queueInterfaceService;
  46. @Autowired
  47. private QmsQueueGridServiceImpl qmsQueueGridService;
  48. @Autowired
  49. private QueuingRulesMapper queuingRulesMapper;
  50. @Autowired
  51. private IMFeign imFeign;
  52. @Autowired
  53. AmsFeign amsFeign;
  54. @Autowired
  55. private QueueInterfaceMapper queueInterfaceMapper;
  56. @Autowired
  57. private SaleLogUtil saleLogUtil;
  58. private String lonlat = "107.4628199,31.1925279"; //中心点坐标
  59. private String radius = "15000"; //半径
  60. private String lat1 = "31.1925279";
  61. private String lng1 = "107.4628199";
  62. /**
  63. * 取消订阅方法
  64. */
  65. public void cancelSub(String capacityNumber){
  66. Map<String, Object> map = new HashMap<>();
  67. map.put("capacityNumber", capacityNumber.split("_")[0] + "_2");
  68. int j = queueInterfaceService.cancelSubsCapacity(map, 0);
  69. if(j == -1){
  70. System.out.println("取消订阅失败");
  71. }else if(j == -2){
  72. System.out.println("超过递归次数,取消订阅失败");
  73. }else if(j == 1){
  74. //修改订阅表 表示已取消订阅
  75. queueInterfaceMapper.cancelSubCapacity(capacityNumber.split("_")[0]);
  76. }
  77. }
  78. /**
  79. * 特殊情况 查询是否订阅过 如订阅过则需要取消订阅
  80. */
  81. public void judgeCancelSub(String capacityNumber){
  82. //查询订阅表是否已经订阅过如订阅过则取消订阅
  83. Integer subCapacityId = queueInterfaceMapper.getSubCapacity(capacityNumber.split("_")[0]);
  84. if(subCapacityId != null){
  85. cancelSub(capacityNumber);
  86. }
  87. }
  88. /**
  89. * 新增进厂排队实绩
  90. * @param capacityNumber 车牌号
  91. * @return
  92. */
  93. @Override
  94. public int addQueueResult(String capacityNumber, String isPDA) {
  95. //获取传入的车牌号查找最近的运输订单号
  96. //String capacityNo = capacityNumber.substring(0,7);
  97. Map<String, Object> mesMap = queuingRulesMapper.getOrderNumberByCapacityNumber(capacityNumber);
  98. try{
  99. if(mesMap!=null && mesMap.get("orderId")!=null){
  100. saleLogUtil.logOrder(DataChange.dataToBigDecimal(mesMap.get("orderId")),capacityNumber+"触发排队,尚未向钢材科申请",null,SaleLogUtil.UPDATE);
  101. }
  102. }catch (Exception e){
  103. e.printStackTrace();
  104. }
  105. if(mesMap == null){
  106. judgeCancelSub(capacityNumber); //判断是否需要取消订阅
  107. return -1;
  108. }else{
  109. if(DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() != 1 && DataChange.dataToBigDecimal(mesMap.get("orderType")).intValue() != 4){
  110. judgeCancelSub(capacityNumber); //判断是否需要取消订阅
  111. return -3; //非钢材订单不添加排队
  112. }
  113. String insertUpdateRemark = String.valueOf(mesMap.get("insertUpdateRemark"));
  114. if("电子围栏订阅成功".equals(insertUpdateRemark)){
  115. //如果是电子围栏调用,并且订阅成功了,则取消订阅
  116. cancelSub(capacityNumber);
  117. }
  118. }
  119. Integer resultId = queuingRulesMapper.checkoutQQR(mesMap.get("resultTotalId"));
  120. if(resultId != null){ //预防重复新增排队
  121. return -2;
  122. }
  123. QmsQueueResult qmsQueueResult = new QmsQueueResult();
  124. qmsQueueResult.setId(qmsQueueResultMapper.selectMaxId());
  125. qmsQueueResult.setResultTotalId(DataChange.dataToBigDecimal(mesMap.get("resultTotalId")));
  126. int materialNum = DataChange.dataToBigDecimal(mesMap.get("materialNum")).intValue();
  127. BigDecimal grid;
  128. if(materialNum == 1){
  129. BigDecimal orderId = DataChange.dataToBigDecimal(mesMap.get("orderId"));
  130. //单拼添加仓储网格ID 、 通过物资Id查询网格ID
  131. grid = qmsQueueResultMapper.getGridIdByOrderId(orderId);
  132. if(grid == null){
  133. //新增一个仓储网格实绩 通过订单查询物资ID
  134. Integer materialId = qmsQueueResultMapper.getMaterialIdByOrderId(orderId);
  135. grid = qmsQueueGridService.addQQR(materialId);
  136. }
  137. qmsQueueResult.setGridId(grid);
  138. qmsQueueResult.setIsSpelling(new BigDecimal(0));
  139. }else {
  140. qmsQueueResult.setGridId(new BigDecimal(materialNum));
  141. qmsQueueResult.setIsSpelling(new BigDecimal(1));
  142. }
  143. //添加排队实绩表
  144. qmsQueueResult.setResultApplyforTime(new Date());
  145. //系统自动下发 添加下发时间
  146. qmsQueueResult.setResultDownTime(new Date());
  147. qmsQueueResult.setCapacityId(DataChange.dataToBigDecimal(mesMap.get("capacityId")));
  148. qmsQueueResult.setResultTotalId(DataChange.dataToBigDecimal(mesMap.get("resultTotalId")));
  149. qmsQueueResult.setInsertTime(new Date());
  150. qmsQueueResult.setInsertUsername("admin");
  151. return qmsQueueResultMapper.insertSelective(qmsQueueResult);
  152. }
  153. /**
  154. * 司机通过订单ID查询当前订单的排队实绩
  155. * @param resultTotalId
  156. * @return
  157. */
  158. public Map<String, Object> getQueueResultByTotalId(String resultTotalId){
  159. if(resultTotalId == "") {
  160. return new HashMap<>();
  161. }
  162. Map<String,Object> map = qmsQueueResultMapper.getQueueResultByOrderId(DataChange.dataToBigDecimal(resultTotalId));
  163. if(map == null){
  164. return new HashMap<>();
  165. }
  166. //是否拼装
  167. int isSpelling = DataChange.dataToBigDecimal(map.get("isSpelling")).intValue();
  168. if(map.get("resultEndTime") != null){ //司机已排队结束
  169. //计算排队时长
  170. Date startTime = (Date) map.get("resultStartTime");
  171. Date endTime = (Date) map.get("resultEndTime");
  172. long differentTime = (endTime.getTime() - startTime.getTime()) / 60000;
  173. map.put("differentTime", differentTime + " 分钟");
  174. map.put("status", 3);
  175. }else if(map.get("resultStartTime") != null){
  176. //排队开始
  177. Integer num;
  178. Date startTime = (Date) map.get("resultStartTime");
  179. long differentTime = (System.currentTimeMillis() - startTime.getTime()) / 60000;
  180. map.put("differentTime", differentTime + " 分钟");
  181. if(isSpelling == 0){
  182. num = qmsQueueListMapper.getListSequenceNumber(map); //当前队列排队人数
  183. }else {
  184. num = qmsQueueListMapper.getSpellingSequenceNumber(map); //当前多拼队列排队人数
  185. }
  186. //获取是否已审批或者未轧/已轧
  187. try{
  188. //根据实绩主键去查询出运单主键
  189. Integer orderId = qmsQueueListMapper.getOrderId(resultTotalId);
  190. Map<String, Object> steelOrderMessageToApp = qmsQueueListMapper.getSteelOrderMessageToApp(orderId);
  191. String capacityMessage = (String) steelOrderMessageToApp.get("capacityMessage");
  192. map.put("orderSeqNum", num+capacityMessage);
  193. }catch (Exception e){
  194. e.printStackTrace();
  195. }
  196. map.put("status", 2);
  197. }else {
  198. //还未排队
  199. Integer num;
  200. if(isSpelling == 0){
  201. num = qmsQueueListMapper.getListGridNumber(map); //当前单拼网格排队人数
  202. }else {
  203. num = qmsQueueListMapper.getSpellingGridNumber(map); //当前多拼网格排队人数
  204. }
  205. map.put("gridSeqNum", num);
  206. map.put("status", 1);
  207. }
  208. return map;
  209. }
  210. /**
  211. * 查询排队申请
  212. * @param map
  213. * @return
  214. */
  215. @Override
  216. public List<Map<String, Object>> getQueueApply(Map<String, Object> map) {
  217. return qmsQueueResultMapper.getQueueApply(map);
  218. }
  219. /**
  220. * 查询排队开始 数据
  221. * 可用 gridId 网格ID
  222. * @param map
  223. * @return
  224. */
  225. @Override
  226. public List<Map<String, Object>> getQueueListByQueueUp(Map<String, Object> map) {
  227. return qmsQueueResultMapper.getQueueListByQueueUp(map);
  228. }
  229. public List<Map<String, Object>> getQueueListByQueueUpSpelling(Map<String, Object> map) {
  230. return qmsQueueResultMapper.getQueueListByQueueUpSpelling(map);
  231. }
  232. public List<Map<String, Object>> getQueueListByQueueUpSpellingNew(Map<String, Object> map) {
  233. return qmsQueueResultMapper.getQueueListByQueueUpSpellingNew(map);
  234. }
  235. /**
  236. * @author:zyf
  237. * @version:1.0
  238. * @Date:2022-09-27
  239. * @Description:查询出来所有的数据
  240. */
  241. public Map<String,Object> getnumber(){
  242. Map<String,Object> map=new HashMap<>();
  243. try{
  244. //查询出销售钢材的派车数
  245. //1.先把时间状态改为时分秒清零的状态
  246. Date now=new Date();
  247. Calendar call=Calendar.getInstance();
  248. call.setTime(now);
  249. call.set(Calendar.HOUR_OF_DAY,0);
  250. call.set(Calendar.MINUTE,0);
  251. call.set(Calendar.SECOND,0);
  252. call.set(Calendar.MILLISECOND,0);
  253. Date date=call.getTime();
  254. Map<String,Object> map1=new HashMap<>();
  255. map1.put("oneDate",date);
  256. int SentCarNumber=0;
  257. SentCarNumber = qmsQueueResultMapper.getCarNumber();
  258. //查询出销售钢材的进厂数(由于呼叫进厂页面的数据不止)
  259. int IntoFactoryNumber = qmsQueueResultMapper.getSteelOrderNum();
  260. //查询出销售钢材的出厂数
  261. //先把时间格式化
  262. SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  263. String format = simpleDateFormat.format(date);
  264. Map<String,Object> map2=new HashMap<>();
  265. map2.put("oneDate",format);
  266. List<Map<String, Object>> capacityByDefend = qmsQueueResultMapper.getCapacityByDefend(map2);
  267. int LeaveFactoryNumber=0;
  268. try{
  269. //获得进厂车
  270. List<Map<String, Object>> capacityNum = qmsQueueResultMapper.getCapacityNum();
  271. for (int i=0;i<capacityNum.size();i++){
  272. for (int j=0;j<capacityByDefend.size();j++){
  273. if (capacityNum.get(i).get("capacityNumber").equals(capacityByDefend.get(j).get("capacityNumber"))){
  274. capacityByDefend.remove(j);
  275. }
  276. }
  277. }
  278. LeaveFactoryNumber=capacityByDefend.size();
  279. }catch (Exception e){
  280. e.printStackTrace();
  281. }
  282. map.put("sentCarNumber",SentCarNumber);
  283. map.put("intoFactoryNumber",IntoFactoryNumber);
  284. map.put("leaveFactoryNumber",LeaveFactoryNumber);
  285. map.put("waitIntoFactoryNumber",SentCarNumber-IntoFactoryNumber-LeaveFactoryNumber);
  286. }catch (Exception e){
  287. e.printStackTrace();
  288. }
  289. return map;
  290. }
  291. /**
  292. * 查询排队取消数据
  293. * @param map
  294. * @return
  295. */
  296. @Override
  297. public List<Map<String, Object>> getQueueCancel(Map<String, Object> map) {
  298. return qmsQueueResultMapper.getQueueCancel(map);
  299. }
  300. /**
  301. * 查询排队结束
  302. * @param map
  303. * @return
  304. */
  305. @Override
  306. public List<Map<String, Object>> getQueueEndResult(Map<String, Object> map) {
  307. return qmsQueueResultMapper.getQueueEndResult(map);
  308. }
  309. @Override
  310. public boolean isInCircle(String longitude, String latitude,String CapacityNo) {
  311. Integer queueRadiusOld = 15000;
  312. try {
  313. String queueRadius = qmsQueueResultMapper.getQueueRadius();
  314. if(queueRadius != null) {
  315. queueRadiusOld = Integer.parseInt(queueRadius);
  316. }
  317. } catch (Exception e) {
  318. e.printStackTrace();
  319. }
  320. boolean s = ElectronicFenceUtils.isInRange(queueRadiusOld,new BigDecimal(latitude),new BigDecimal(longitude),new BigDecimal(lat1),new BigDecimal(lng1));
  321. if(s){
  322. int i = addQueueResult(CapacityNo,"否");
  323. System.out.println(i);
  324. }
  325. return s;
  326. }
  327. @Override
  328. public List<Map<String, Object>> getStoreQueueList(){
  329. return qmsQueueResultMapper.getStoreQueueList();
  330. }
  331. /**
  332. * 新增仓库排队实绩
  333. * @param map orderNumber运输订单号 loadingId 装车点
  334. * @return
  335. */
  336. // public int addQueueResultByCk(Map<String, Object> map){
  337. // QmsQueueResult qmsQueueResult = new QmsQueueResult();
  338. // //生成主键
  339. // qmsQueueResult.setId(qmsQueueResultMapper.selectMaxId());
  340. // //获取添加网格Id
  341. // map.put("queueLocationId", map.get("loadingId"));
  342. // map.put("gridType", 1);
  343. // BigDecimal gridId = queuingRulesService.getGridIdByGatepostIdAndGridType(map);
  344. // qmsQueueResult.setGridId(gridId);
  345. // //通过运输订单号查询实绩ID 等数据
  346. // map.putAll(qmsQueueResultMapper.queryCIdAndTIdByOrderNumber((String) map.get("orderNumber")));
  347. // qmsQueueResult.setResultApplyforTime(new Date());
  348. // //系统自动下发 添加下发时间
  349. // qmsQueueResult.setResultDownTime(new Date());
  350. // //添加运力ID和总实绩ID
  351. // qmsQueueResult.setCapacityId(DataChange.dataToBigDecimal(map.get("capacityId")));
  352. // qmsQueueResult.setResultTotalId(DataChange.dataToBigDecimal(map.get("resultTotalId")));
  353. // qmsQueueResult.setInsertTime(new Date());
  354. // qmsQueueResult.setInsertUsername("admin");
  355. // pushCKMesToWebSocket(DataChange.dataToBigDecimal(map.get("orderId")).intValue(), gridId.intValue());
  356. // return qmsQueueResultMapper.insertSelective(qmsQueueResult);
  357. // }
  358. /**
  359. * 推送仓库排队消息到websocket
  360. */
  361. // public void pushCKMesToWebSocket(Integer orderId, Integer gridId){
  362. // //通过运输订单ID查询推送给司机的数据
  363. // Map<String, Object> mesMap = qmsQueueResultMapper.sendWarehouseMesToWebSocket(orderId);
  364. // mesMap.putAll(qmsQueueResultMapper.queryWarehouseNameByPlatformId(gridId));
  365. // HashMap<String, Object> sendMap = new HashMap<>();
  366. // sendMap.put("messageType", 2);
  367. // sendMap.put("receivePerson", mesMap.get("capacityNumber"));
  368. // sendMap.put("sendPerson", "system");
  369. // sendMap.put("messageContent", mesMap);
  370. // sendMap.put("createTime", new Date());
  371. // ArrayList<Object> list = new ArrayList<>();
  372. // list.add(sendMap);
  373. // HashMap<Object, Object> map = new HashMap<>();
  374. // map.put("messages", list);
  375. // //调用websocket接口
  376. // String s = imFeign.sendToUser(map);
  377. // System.out.println(s);
  378. // }
  379. /**
  380. * 查看排队转移界面
  381. * @param map
  382. * @return
  383. */
  384. // @Override
  385. // public List<Map<String, Object>> getChangeQueueMes(Map<String, Object> map) {
  386. // return qmsQueueResultMapper.getChangeQueueMes(map);
  387. // }
  388. /**
  389. * 查询执行中运单
  390. * @param map
  391. * @return
  392. */
  393. // @Override
  394. // public List<Map<String, Object>> getAllExecutionOrder(Map<String, Object> map) {
  395. // return qmsQueueResultMapper.getAllExecutionOrder(map);
  396. // }
  397. /**
  398. * 查询指令接收 判断条件:是否有排队结束时间
  399. * @param map
  400. * @return
  401. */
  402. // @Override
  403. // public List<Map<String, Object>> orderReceive(Map<String, Object> map) {
  404. // Integer queueType = (Integer) map.get("queueType");
  405. // List<Map<String, Object>> orderReceiveList = null;
  406. // switch (queueType){
  407. // case 1: //进厂
  408. // orderReceiveList = qmsQueueResultMapper.getOrderReceive(map);
  409. // break;
  410. // case 2: //仓库
  411. // orderReceiveList = qmsQueueResultMapper.getWarehouseOrderReceive(map);
  412. // }
  413. // //遍历数据 通过是否有接收时间 来判断是否接收
  414. // for (Map<String, Object> orderReceiveMap : orderReceiveList) {
  415. // if(orderReceiveMap.get("resultAcceptTime") != null){
  416. // orderReceiveMap.put("isReceive", "是");
  417. // }else {
  418. // orderReceiveMap.put("isReceive", "否");
  419. // }
  420. // }
  421. // return orderReceiveList;
  422. // }
  423. /**
  424. * 查询排队详情
  425. * @param map
  426. * @return
  427. */
  428. // @Override
  429. // public List<Map<String, Object>> getQueueMes(Map<String, Object> map) {
  430. // return qmsQueueResultMapper.getQueueMes(map);
  431. // }
  432. /**
  433. * 通过实绩ID查询排队取消信息
  434. * @param resultId
  435. * @return
  436. */
  437. // @Override
  438. // public List<Map<String, Object>> getQueueCancelByResultId(Integer resultId) {
  439. // return qmsQueueResultMapper.getQueueCancelByResultId(resultId);
  440. // }
  441. /**
  442. * 修改排队取消实绩
  443. * @param qmsQueueResult
  444. * @return
  445. */
  446. // @Override
  447. // public int updateQueueCancel(QmsQueueResult qmsQueueResult) {
  448. // qmsQueueResult.setUpdateTime(new Date());
  449. // qmsQueueResult.setUpdateUsername("admin");
  450. // return qmsQueueResultMapper.updateByPrimaryKeySelective(qmsQueueResult);
  451. // }
  452. /**
  453. * 查询排队插队
  454. * @return
  455. */
  456. // @Override
  457. // public List<Map<String, Object>> getQueueInsert(Map<String, Object> map) {
  458. // return qmsQueueResultMapper.getQueueInsert(map);
  459. // }
  460. /**
  461. * 汽车监控
  462. * @param map
  463. * @return
  464. */
  465. // @Override
  466. // public List<Map<String, Object>> capacityMonitor(Map<String, Object> map) {
  467. // List<Map<String, Object>> list = qmsQueueResultMapper.capacityMonitor(map);
  468. // for (Map<String, Object> capacityMap : list) {
  469. // //如果结束时间为空 排队总时长为
  470. // if(capacityMap.get("resultEndTime") == null){
  471. // Date date1 = (Date) capacityMap.get("resultStartTime");
  472. // Date date2;
  473. // if(capacityMap.get("resultCancelTime") != null){ //如果取消排队了则以取消排队时间为结束时间
  474. // date2 = (Date) capacityMap.get("resultCancelTime");
  475. // }else {
  476. // date2 = new Date();
  477. // }
  478. // long differenceTime = (date2.getTime() - date1.getTime()) / 60000;
  479. // capacityMap.put("resultQueueAllTime", differenceTime + "min");
  480. // }else {
  481. // //否则排队时长为结束时长 - 申请时长
  482. // Date date1 = (Date)capacityMap.get("resultStartTime");
  483. // Date date2 = (Date)capacityMap.get("resultEndTime");
  484. // long differenceTime = (date2.getTime() - date1.getTime()) / 60000;
  485. // capacityMap.put("resultQueueAllTime",differenceTime + "min");
  486. // }
  487. // }
  488. // return list;
  489. // }
  490. //=========================================仓库排队===========================================
  491. /**
  492. * 查看仓库排队申请
  493. * @param map
  494. * @return
  495. */
  496. // @Override
  497. // public List<Map<String, Object>> getWarehouseQueueApply(Map<String, Object> map) {
  498. // return qmsQueueResultMapper.getWarehouseQueueApply(map);
  499. // }
  500. /**
  501. * 查看排队开始
  502. * @param map
  503. * @return
  504. */
  505. // @Override
  506. // public List<Map<String, Object>> getWarehouseQueueListByQueueUp(Map<String, Object> map) {
  507. // return qmsQueueResultMapper.getWarehouseQueueListByQueueUp(map);
  508. // }
  509. /**
  510. * 查看仓库排队详情 通过运输订单号查询仓库
  511. * @param map
  512. * @return
  513. */
  514. // @Override
  515. // public List<Map<String, Object>> getWarehouseQueueMes(Map<String, Object> map) {
  516. // return qmsQueueResultMapper.getWarehouseQueueMes(map);
  517. // }
  518. /**
  519. * 查询仓库排队转移详情
  520. * @param map
  521. * @return
  522. */
  523. // @Override
  524. // public List<Map<String, Object>> getWarehouseQueueChange(Map<String, Object> map) {
  525. // return qmsQueueResultMapper.getWarehouseQueueChange(map);
  526. // }
  527. /**
  528. * 查询仓库排队结束
  529. * @param map
  530. * @return
  531. */
  532. // @Override
  533. // public List<Map<String, Object>> getWarehouseQueueEndMes(Map<String, Object> map) {
  534. // return qmsQueueResultMapper.getWarehouseQueueEndMes(map);
  535. // }
  536. //********************************APP*********************************************
  537. /**
  538. * 根据车牌号查询排队下发
  539. * @param capacityNumber
  540. * @return
  541. */
  542. // @Override
  543. // public List<Map<String, Object>> getOrderReceive2(String capacityNumber) {
  544. // BigDecimal gridId = getGridId(capacityNumber);
  545. // if (gridId == null) {
  546. // List<Map<String,Object>> mapList = new ArrayList<>();
  547. // return mapList;
  548. // }
  549. // Map<String,Object> map = new HashMap<>();
  550. // map.put("capacityNumber",capacityNumber);
  551. // map.put("gridId",gridId);
  552. // List<Map<String, Object>> orderReceive = qmsQueueResultMapper.getOrderReceive2(map);
  553. // return orderReceive;
  554. // }
  555. /**
  556. * 排队取消
  557. * @param mapValue
  558. * @return
  559. */
  560. // @Override
  561. // public int cancelQueue(Map<String,Object> mapValue) {
  562. // String capacityNumber = (String) mapValue.get("capacityNumber");
  563. // String resultCancelReason = (String) mapValue.get("resultCancelReason");
  564. // BigDecimal resultId = qmsQueueResultMapper.getResultIdByCapacityId(capacityNumber);
  565. // QmsQueueResult qmsQueueResult = qmsQueueResultMapper.selectByPrimaryKey(resultId);
  566. // Map<String, Object> listIdMap = qmsQueueResultMapper.getListIdByResultId(resultId);
  567. // BigDecimal listId = (BigDecimal) listIdMap.get("listId");
  568. // QmsQueueList qmsQueueList = qmsQueueListMapper.selectByPrimaryKey(listId);
  569. // qmsQueueResult.setResultCancelTime(new Date());
  570. // qmsQueueResult.setResultCancelReason(resultCancelReason);
  571. // qmsQueueListMapper.updateByPrimaryKeySelective(qmsQueueList);
  572. // return qmsQueueResultMapper.updateByPrimaryKeySelective(qmsQueueResult);
  573. // }
  574. /**
  575. * 通过车牌号得到网格id
  576. * @param capacityNumber
  577. * @return
  578. */
  579. // @Override
  580. // public BigDecimal getGridId(String capacityNumber) {
  581. // return qmsQueueResultMapper.getGridIdNotNull(capacityNumber);
  582. // }
  583. /**
  584. * 查询各门岗和仓库的排队状态
  585. * @return
  586. */
  587. // @Override
  588. // public List<Map<String, Object>> getQueueStatusList() {
  589. // return qmsQueueResultMapper.getQueueStatusList();
  590. // }
  591. //
  592. }