| | |
| | | import com.ycl.platform.domain.entity.*; |
| | | import com.ycl.platform.domain.form.*; |
| | | import com.ycl.platform.domain.query.*; |
| | | import com.ycl.platform.domain.result.SYS.TMonitorResult; |
| | | import com.ycl.platform.domain.vo.*; |
| | | import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO; |
| | | import com.ycl.platform.domain.vo.screen.WorkOrderRegionVO; |
| | |
| | | public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService { |
| | | |
| | | private final YwPointService ywPointService; |
| | | private final TMonitorMapper monitorMapper; |
| | | private final DynamicColumnMapper dynamicColumnMapper; |
| | | private final WorkOrderAuditingRecordMapper workOrderAuditingRecordMapper; |
| | | private final WorkOrderAuditingRecordService workOrderAuditingRecordService; |
| | | private final WorkOrderYwConditionRecordMapper workOrderYwConditionRecordMapper; |
| | |
| | | return Result.ok().data(workOrder); |
| | | } |
| | | |
| | | /** |
| | | * 工单导出的逻辑 |
| | | * 标签:同一个ip标签合在一起,针对离线工单(ip相同就不会生成工单),方便运维处理 |
| | | * @param query |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<WorkOrderVO> export(WorkOrderExportQuery query) { |
| | | if (query.getUnitId() == null) { |
| | |
| | | if (query.getStart() != null) query.setStart(query.getStart() + " 00:00:00"); |
| | | if (query.getEnd() != null) query.setEnd(query.getEnd() + " 23:59:59"); |
| | | List<WorkOrderVO> export = baseMapper.export(query); |
| | | if(CollectionUtils.isEmpty(export)) return new ArrayList<WorkOrderVO>(); |
| | | List<String> ips = export.stream().map(WorkOrderVO::getIp).collect(Collectors.toList()); |
| | | //查出相同ip的设备、并查出标签 |
| | | List<TMonitorResult> monitorVOS = monitorMapper.getByIp(ips); |
| | | //获取动态列数据 |
| | | List<Integer> pointIds = monitorVOS.stream().map(TMonitorResult::getPointId).collect(Collectors.toList()); |
| | | List<DynamicColumnVO> dynamics = dynamicColumnMapper.getDynamicsByIds("t_yw_point", pointIds); |
| | | //补充动态列数据 |
| | | if (!CollectionUtils.isEmpty(dynamics)) { |
| | | Map<Integer, List<DynamicColumnVO>> map = dynamics.stream().collect(Collectors.groupingBy(DynamicColumnVO::getRefId)); |
| | | for (TMonitorResult tMonitorResult : monitorVOS) { |
| | | Integer pointId = tMonitorResult.getPointId(); |
| | | tMonitorResult.setDynamicColumnList(map.get(pointId)); |
| | | } |
| | | } |
| | | export.forEach(result->{ |
| | | StringBuilder tag = new StringBuilder("" + (result.getProvinceTagVideo() ? "省厅视频、" : "")+(result.getProvinceTagCar() ? "省厅车辆、" : "")+(result.getProvinceTagFace() ? "省厅人脸、" : "") + (result.getImportantTag() ? "重点点位、" : "") + (result.getImportantCommandImageTag() ? "重点指挥图像、" : "") + (result.getDeptTag() ? "部级、" : "")); |
| | | // 删除字符串末尾的“、” |
| | | StringBuilder dynamicTag = new StringBuilder(""); |
| | | Boolean provinceTagVideo = false; |
| | | Boolean provinceTagCar = false; |
| | | Boolean provinceTagFace = false; |
| | | Boolean importantTag = false; |
| | | Boolean importantCommandImageTag = false; |
| | | Boolean deptTag = false; |
| | | List<String> dynamicTags = new ArrayList<>(); |
| | | for (TMonitorResult tagVO : monitorVOS) { |
| | | if(tagVO.getIp().equals(result.getIp())){ |
| | | if(tagVO.getProvinceTagVideo()) provinceTagVideo = true; |
| | | if(tagVO.getProvinceTagCar()) provinceTagCar = true; |
| | | if(tagVO.getProvinceTagFace()) provinceTagFace = true; |
| | | if(tagVO.getImportantTag()) importantTag = true; |
| | | if(tagVO.getImportantCommandImageTag()) importantCommandImageTag = true; |
| | | if(tagVO.getDeptTag()) deptTag = true; |
| | | //动态列处理加在标签里 |
| | | if (!CollectionUtils.isEmpty(tagVO.getDynamicColumnList())) { |
| | | List<DynamicColumnVO> dynamicColumnList = tagVO.getDynamicColumnList(); |
| | | for (DynamicColumnVO dynamicColumnVO : dynamicColumnList) { |
| | | if(!dynamicTags.contains(dynamicColumnVO.getColumnValue())) dynamicTags.add(dynamicColumnVO.getColumnValue()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | for (String tag : dynamicTags) { |
| | | dynamicTag.append(tag).append("、"); |
| | | } |
| | | StringBuilder tag = new StringBuilder("" + (provinceTagVideo ? "省厅视频、" : "")+(provinceTagCar ? "省厅车辆、" : "")+(provinceTagFace ? "省厅人脸、" : "") + (importantTag ? "重点点位、" : "") + (importantCommandImageTag ? "重点指挥图像、" : "") + (deptTag ? "部级、" : "")); |
| | | if (tag.toString().endsWith("、")) { |
| | | tag = new StringBuilder(tag.substring(0, tag.length() - 1)); |
| | | } |
| | | if (dynamicTag.toString().endsWith("、")) { |
| | | dynamicTag = new StringBuilder(dynamicTag.substring(0, dynamicTag.length() - 1)); |
| | | } |
| | | result.setTag(tag.toString()); |
| | | result.setDynamicTag(dynamicTag.toString()); |
| | | }); |
| | | return export; |
| | | } |