From 3dc714284a95fe9677a964ec039b2b547547e30d Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期二, 05 十一月 2024 11:20:37 +0800 Subject: [PATCH] 工单异步获取图片、工单导出时间参数bug --- ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 38 +++++++++++++++++++++++++++++++++++++- 1 files changed, 37 insertions(+), 1 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java index 5859cbc..fe5aea3 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java @@ -54,7 +54,9 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.ApplicationContext; import org.springframework.data.redis.core.RedisTemplate; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; @@ -100,6 +102,8 @@ private final ReportMapper reportMapper; private final WorkOrderCheckImgMapper workOrderCheckImgMapper; private final WorkOrderWhiteMapper workOrderWhiteMapper; + private final DeviceInfoMapper deviceInfoMapper; + private final ApplicationContext applicationContext; @Value("${rtsp.server:http://127.0.0.1:7788}") private String rtspServer; @@ -459,6 +463,7 @@ @Override @Transactional(rollbackFor = Exception.class) public Result ywCondition(WorkOrderYWConditionForm form) { + WorkOrder workOrder = baseMapper.selectById(form.getId()); if (Objects.isNull(workOrder)) { throw new ServiceException("宸ュ崟涓嶅瓨鍦�"); @@ -475,9 +480,37 @@ workOrderYwConditionRecord.setYwProofMaterials(form.getYwProofMaterials()); workOrderYwConditionRecord.setSysMsg(Boolean.FALSE); workOrderYwConditionRecordMapper.insert(workOrderYwConditionRecord); + //寮傛鑾峰彇鍥剧墖 + WorkOrderServiceImpl self = applicationContext.getBean(WorkOrderServiceImpl.class); + self.getImage(workOrder); return Result.ok("鎿嶄綔鎴愬姛"); } + @Async("threadPoolTaskExecutor") + public void getImage(WorkOrder workOrder) { + List<DeviceInfo> gbDevices = new LambdaQueryChainWrapper<>(deviceInfoMapper) + .orderByDesc(DeviceInfo::getUpdateTime) + .last("limit 1") + .list(); + if (CollectionUtils.isEmpty(gbDevices)) { + return; + } + // 鍥芥爣璁惧鐨勭紪鐮佸氨鏄彇瑙嗛娴佺殑璁惧缂栫爜锛屽浗鏍囪澶囧氨涓�涓�傚浗鏍囪澶囩殑姣忎竴涓�氶亾浠h〃涓�涓憚鍍忓ご锛屼篃灏辨槸璁惧id鏄彇娴佺殑閫氶亾id + String frameImg = null; + try { + log.info("鍥芥爣骞冲彴:{},璁惧缂栫爜:{},宸ュ崟鍙�:{}",gbDevices.get(0).getDeviceId(), workOrder.getSerialNumber(), workOrder.getWorkOrderNo()); + frameImg = this.getFrameImgByDevice(gbDevices.get(0).getDeviceId(), workOrder.getSerialNumber(), workOrder.getWorkOrderNo()); + } catch (Exception e) { + e.printStackTrace(); + } + if (StringUtils.hasText(frameImg)) { + WorkOrderCheckImg img = new WorkOrderCheckImg(); + img.setWorkOrderNo(workOrder.getWorkOrderNo()); + img.setImgUrl(frameImg); + img.setCreateTime(new Date()); + workOrderCheckImgMapper.insert(img); + } + } @Override public List<WorkOrderYwConditionRecordVO> selectYwConditionByYwId(String workOrderNo) { List<WorkOrderYwConditionRecordVO> ywConditionList = workOrderYwConditionRecordMapper.selectYwConditionByYwId(workOrderNo); @@ -791,6 +824,7 @@ @Override public synchronized String getFrameImgByDevice(String deviceId, String channelId, String workOrderNo) throws Exception { String url = String.format(this.rtspServer + "/api/play/start/img/%s/%s", deviceId, channelId); + log.info("璁块棶璺緞{}",url); String result = HttpUtils.sendGet(url); log.info("鎷垮埌鍙栨祦鍥剧墖鍝嶅簲缁撴灉锛�" + result); WVPResult wvpResult = JSON.parseObject(result, WVPResult.class); @@ -998,7 +1032,7 @@ query.setStart(query.getStart() + " 00:00:00"); } if (query.getEnd() == null) { - query.setStart(format.format(DateUtils.getDayEnd(new Date()))); + query.setEnd(format.format(DateUtils.getDayEnd(new Date()))); } else { query.setEnd(query.getEnd() + " 23:59:59"); } @@ -1083,4 +1117,6 @@ updateWhiteList.stream().forEach(white -> workOrderWhiteMapper.updateBySerialNumber(white)); insertWhiteList.stream().forEach(white -> workOrderWhiteMapper.insert(white)); } + + } -- Gitblit v1.8.0