工作票bug修复

This commit is contained in:
guoshengxiong 2025-07-09 16:29:45 +08:00
parent 19ceb728db
commit 41b81aa2dd
5 changed files with 43 additions and 46 deletions

View File

@ -23,7 +23,9 @@ import com.zhgd.xmgl.modules.policecamera.service.IWorkTicketHistoryService;
import com.zhgd.xmgl.util.PathUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Scope;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
@ -34,6 +36,7 @@ import java.util.stream.Collectors;
@Slf4j
@Component
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class Mcs8Call implements PoliceCameraManufacturer {
@Lazy
@Autowired
@ -84,14 +87,14 @@ public class Mcs8Call implements PoliceCameraManufacturer {
JSONObject jsonObject = Mcs8Util.getRecordFileList(config, page, pageSize, begin, end);
bos = BeanUtil.copyToList(jsonObject.getJSONArray("data"), Mcs8FileBo.class);
for (Mcs8FileBo bo : bos) {
mcs8Call.downloadFileAndSave(bo, cameraItemMap);
mcs8Call.downloadFileAndSaveAsync(bo, cameraItemMap);
}
page++;
} while (CollUtil.isNotEmpty(bos) && bos.size() == pageSize);
}
@Async("policeCameraManufacturerDownLoadExecutor")
public void downloadFileAndSave(Mcs8FileBo bo, Map<String, PoliceCameraItem> cameraItemMap) {
public void downloadFileAndSaveAsync(Mcs8FileBo bo, Map<String, PoliceCameraItem> cameraItemMap) {
int count = policeCameraItemFileService.count(new LambdaQueryWrapper<PoliceCameraItemFile>()
.eq(PoliceCameraItemFile::getExternalId, bo.getId()));
if (count > 0) {

View File

@ -1,53 +1,26 @@
package com.zhgd.xmgl.modules.policecamera.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketHistory;
import com.zhgd.xmgl.modules.policecamera.entity.dto.WorkTicketHistoryDto;
import com.zhgd.xmgl.modules.policecamera.entity.vo.WorkTicketHistoryVo;
import com.zhgd.xmgl.modules.policecamera.service.IWorkTicketHistoryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiImplicitParams;
import java.util.HashMap;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.simpleframework.xml.core.Validate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.oConvertUtils;
import org.apache.commons.collections.MapUtils;
import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketHistory;
import com.zhgd.xmgl.modules.policecamera.entity.vo.WorkTicketHistoryVo;
import com.zhgd.xmgl.modules.policecamera.entity.dto.WorkTicketHistoryDto;
import com.zhgd.xmgl.modules.policecamera.service.IWorkTicketHistoryService;
import org.springframework.context.annotation.Lazy;
import org.simpleframework.xml.core.Validate;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
/**

View File

@ -1,11 +1,14 @@
package com.zhgd.xmgl.modules.policecamera.entity.vo;
import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraItemFile;
import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketHistory;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(value = "WorkTicketHistoryVo实体类", description = "WorkTicketHistoryVo实体类")
public class WorkTicketHistoryVo extends WorkTicketHistory {
private List<PoliceCameraItemFile> fileList;
}

View File

@ -63,7 +63,7 @@ public class ProjectPoliceCameraConfigServiceImpl extends ServiceImpl<ProjectPol
projectPoliceCameraConfigMapper.update(projectPoliceCameraConfig, qw);
QueryWrapper<ProjectPoliceCameraConfig> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ProjectPoliceCameraConfig::getProjectSn, MapUtils.getString(map, "projectSn"))
.eq(ProjectPoliceCameraConfig::getFactoryType, MapUtils.getString(map, "videoType"));
.eq(ProjectPoliceCameraConfig::getFactoryType, MapUtils.getString(map, "factoryType"));
ProjectPoliceCameraConfig tempProjectPoliceCameraConfig = projectPoliceCameraConfigMapper.selectOne(queryWrapper);
if (tempProjectPoliceCameraConfig != null) {
projectPoliceCameraConfig.setId(tempProjectPoliceCameraConfig.getId());
@ -71,7 +71,7 @@ public class ProjectPoliceCameraConfigServiceImpl extends ServiceImpl<ProjectPol
projectPoliceCameraConfigMapper.updateById(projectPoliceCameraConfig);
} else {
projectPoliceCameraConfig.setIsEnable(1);
projectPoliceCameraConfig.setFactoryType(MapUtils.getInteger(map, "videoType"));
projectPoliceCameraConfig.setFactoryType(MapUtils.getInteger(map, "factoryType"));
projectPoliceCameraConfigMapper.insert(projectPoliceCameraConfig);
}

View File

@ -1,23 +1,30 @@
package com.zhgd.xmgl.modules.policecamera.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.modules.policecamera.entity.PoliceCameraItemFile;
import com.zhgd.xmgl.modules.policecamera.entity.WorkTicketHistory;
import com.zhgd.xmgl.modules.policecamera.entity.dto.WorkTicketHistoryDto;
import com.zhgd.xmgl.modules.policecamera.entity.vo.WorkTicketHistoryVo;
import com.zhgd.xmgl.modules.policecamera.mapper.WorkTicketHistoryMapper;
import com.zhgd.xmgl.modules.policecamera.service.IPoliceCameraItemFileService;
import com.zhgd.xmgl.modules.policecamera.service.IWorkTicketHistoryService;
import com.zhgd.xmgl.util.PageUtil;
import com.zhgd.xmgl.util.RefUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @Description: 工作票历史记录
@ -29,6 +36,9 @@ import java.util.List;
public class WorkTicketHistoryServiceImpl extends ServiceImpl<WorkTicketHistoryMapper, WorkTicketHistory> implements IWorkTicketHistoryService {
@Autowired
private WorkTicketHistoryMapper workTicketHistoryMapper;
@Lazy
@Autowired
private IPoliceCameraItemFileService policeCameraItemFileService;
@Override
public IPage<WorkTicketHistoryVo> queryPageList(HashMap<String, Object> param) {
@ -52,6 +62,14 @@ public class WorkTicketHistoryServiceImpl extends ServiceImpl<WorkTicketHistoryM
}
private List<WorkTicketHistoryVo> dealList(List<WorkTicketHistoryVo> list) {
if (CollUtil.isNotEmpty(list)) {
List<Long> hids = list.stream().map(WorkTicketHistoryVo::getId).collect(Collectors.toList());
Map<Long, List<PoliceCameraItemFile>> historyIdMap = policeCameraItemFileService.list(new LambdaQueryWrapper<PoliceCameraItemFile>()
.in(PoliceCameraItemFile::getHistoryId, hids)).stream().collect(Collectors.groupingBy(PoliceCameraItemFile::getHistoryId));
for (WorkTicketHistoryVo historyVo : list) {
historyVo.setFileList(historyIdMap.get(historyVo.getId()));
}
}
return list;
}