三江-安全环保资料中心接口修改

This commit is contained in:
Administrator 2023-04-25 18:15:19 +08:00
parent a615c2b0d5
commit bc4ef1c981
10 changed files with 270 additions and 80 deletions

View File

@ -54,5 +54,7 @@ public class UploadFileDTO {
private long currentChunkSize; private long currentChunkSize;
@ApiModelProperty(value = "md5码") @ApiModelProperty(value = "md5码")
private String identifier; private String identifier;
@ApiModelProperty(value = "项目SN或企业sn")
private String sn;
} }

View File

@ -4,7 +4,6 @@ import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.quality.entity.QualityRectifyRecord; import com.zhgd.xmgl.modules.quality.entity.QualityRectifyRecord;
import com.zhgd.xmgl.modules.quality.entity.vo.DepartmentRectifiedRankVo;
import com.zhgd.xmgl.modules.quality.service.IQualityRectifyRecordService; import com.zhgd.xmgl.modules.quality.service.IQualityRectifyRecordService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParam;
@ -19,50 +18,52 @@ import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
* @Title: Controller * @Title: Controller
* @Description: 质量检查-整改记录 * @Description: 质量检查-整改记录
* @author pds * @author pds
* @date 2021-06-17 * @date 2021-06-17
* @version V1.0 * @version V1.0
*/ */
@RestController @RestController
@RequestMapping("/xmgl/qualityRectifyRecord") @RequestMapping("/xmgl/qualityRectifyRecord")
@Slf4j @Slf4j
@Api(tags="质量检查-整改记录") @Api(tags = "质量检查-整改记录")
public class QualityRectifyRecordController { public class QualityRectifyRecordController {
@Autowired @Autowired
private IQualityRectifyRecordService qualityRectifyRecordService; private IQualityRectifyRecordService qualityRectifyRecordService;
/** /**
* 分页列表查询 * 分页列表查询
* @return *
*/ * @return
@ApiOperation(value = " 列表查询质量检查-整改/复查记录信息", notes = "列表查询质量检查-整改/复查记录信息", httpMethod="POST") */
@ApiOperation(value = " 列表查询质量检查-整改/复查记录信息", notes = "列表查询质量检查-整改/复查记录信息", httpMethod = "POST")
@ApiImplicitParam(name = "qualityId", value = "质量检查记录ID", paramType = "query", required = true, dataType = "Integer") @ApiImplicitParam(name = "qualityId", value = "质量检查记录ID", paramType = "query", required = true, dataType = "Integer")
@PostMapping(value = "/selectRectifyRecordList") @PostMapping(value = "/selectRectifyRecordList")
public Result<List<EntityMap>> selectRectifyRecordList(@RequestBody Map<String,Object> map) { public Result<List<EntityMap>> selectRectifyRecordList(@RequestBody Map<String, Object> map) {
return Result.success(qualityRectifyRecordService.selectRectifyRecordList(map)); return Result.success(qualityRectifyRecordService.selectRectifyRecordList(map));
} }
/** /**
* 添加 * 添加
* @param qualityRectifyRecord *
* @return * @param qualityRectifyRecord
*/ * @return
@OperLog(operModul = "质量管理", operType = "添加质量检查整改/复查记录信息", operDesc = "添加质量检查整改/复查记录信息") */
@ApiOperation(value = " 添加质量检查-整改/复查记录信息", notes = "添加质量检查-整改/复查记录信息", httpMethod = "POST") @OperLog(operModul = "质量管理", operType = "添加质量检查整改/复查记录信息", operDesc = "添加质量检查整改/复查记录信息")
@PostMapping(value = "/add") @ApiOperation(value = " 添加质量检查-整改/复查记录信息", notes = "添加质量检查-整改/复查记录信息", httpMethod = "POST")
public Result<QualityRectifyRecord> add(@RequestBody QualityRectifyRecord qualityRectifyRecord) { @PostMapping(value = "/add")
qualityRectifyRecordService.saveQualityRectifyRecord(qualityRectifyRecord); public Result<QualityRectifyRecord> add(@RequestBody QualityRectifyRecord qualityRectifyRecord) {
return Result.ok(); qualityRectifyRecordService.saveQualityRectifyRecord(qualityRectifyRecord);
} return Result.ok();
}
@ApiOperation(value = "导出质量问题和整改记录excel", notes = "导出质量问题和整改记录excel", httpMethod = "POST") @ApiOperation(value = "导出质量问题和整改记录excel", notes = "导出质量问题和整改记录excel", httpMethod = "GET")
@PostMapping(value = "/recordRectify/excel/export") @GetMapping(value = "/recordRectify/excel/export")
public void qualityInspectionRecordRectifyExportExcel(@RequestBody Map<String, Object> map, HttpServletResponse response) throws IOException { public void qualityInspectionRecordRectifyExportExcel(@RequestParam(required = false) Map<String, Object> map, HttpServletResponse response) throws IOException {
qualityRectifyRecordService.qualityInspectionRecordRectifyExportExcel(map, response); qualityRectifyRecordService.qualityInspectionRecordRectifyExportExcel(map, response);
} }
} }

View File

@ -69,7 +69,7 @@ public class QualityInspectionRecordServiceImpl extends ServiceImpl<QualityInspe
List<Long> regionIds = JSON.parseObject(map.get("regionId").toString(), new TypeReference<List<Long>>() { List<Long> regionIds = JSON.parseObject(map.get("regionId").toString(), new TypeReference<List<Long>>() {
}); });
if (CollectionUtils.isNotEmpty(regionIds)) { if (CollectionUtils.isNotEmpty(regionIds)) {
Long topId = regionIds.get(0); Long topId = regionIds.get(regionIds.size() - 1);
List<QualityRegion> qualityRegionList = qualityRegionMapper.selectList(new LambdaQueryWrapper<QualityRegion>().eq(QualityRegion::getProjectSn, MapUtils.getString(map, "projectSn"))); List<QualityRegion> qualityRegionList = qualityRegionMapper.selectList(new LambdaQueryWrapper<QualityRegion>().eq(QualityRegion::getProjectSn, MapUtils.getString(map, "projectSn")));
List<Long> idList = getChildrenByQualityRegionId(topId, qualityRegionList); List<Long> idList = getChildrenByQualityRegionId(topId, qualityRegionList);
idList.add(topId); idList.add(topId);

View File

@ -109,7 +109,7 @@ public class QualityRectifyRecordServiceImpl extends ServiceImpl<QualityRectifyR
TemplateExportParams params = new TemplateExportParams(path); TemplateExportParams params = new TemplateExportParams(path);
Map<String, Object> rtMap = new HashMap<String, Object>(); Map<String, Object> rtMap = new HashMap<String, Object>();
rtMap.put("createTime", DateUtil.format(new Date(), "yyyy年MM月dd日")); rtMap.put("createTime", DateUtil.format(new Date(), "yyyy年MM月dd日"));
rtMap.put("list", getRecordMapList(map, rtMap)); rtMap.put("list", getRecordMapList(map));
Workbook workbook = ExcelExportUtil.exportExcel(params, rtMap); Workbook workbook = ExcelExportUtil.exportExcel(params, rtMap);
//准备将Excel的输出流通过response输出到页面下载 //准备将Excel的输出流通过response输出到页面下载
@ -126,7 +126,7 @@ public class QualityRectifyRecordServiceImpl extends ServiceImpl<QualityRectifyR
workbook.write(response.getOutputStream()); workbook.write(response.getOutputStream());
} }
private List<Map<String, Object>> getRecordMapList(Map<String, Object> map, Map<String, Object> rtMap) { private List<Map<String, Object>> getRecordMapList(Map<String, Object> map) {
map.put("pageSize", Integer.MAX_VALUE); map.put("pageSize", Integer.MAX_VALUE);
Map<String, Object> recordPage = qualityInspectionRecordService.selectQualityInspectionRecordPage(map); Map<String, Object> recordPage = qualityInspectionRecordService.selectQualityInspectionRecordPage(map);
Page page = (Page) recordPage.get("page"); Page page = (Page) recordPage.get("page");

View File

@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zhgd.annotation.OperLog; import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.xmgl.base.TreeNode; import com.zhgd.xmgl.base.TreeNode;
import com.zhgd.xmgl.base.UploadFileDTO;
import com.zhgd.xmgl.base.UploadFileVo;
import com.zhgd.xmgl.modules.sanjiang.entity.SjSafeEnvironmentFile; import com.zhgd.xmgl.modules.sanjiang.entity.SjSafeEnvironmentFile;
import com.zhgd.xmgl.modules.sanjiang.service.ISjSafeEnvironmentFileService; import com.zhgd.xmgl.modules.sanjiang.service.ISjSafeEnvironmentFileService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -15,6 +17,7 @@ import org.apache.commons.collections.MapUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.*; import java.util.*;
@ -28,32 +31,44 @@ import java.util.*;
@RestController @RestController
@RequestMapping("/xmgl/sjSafeEnvironmentFile") @RequestMapping("/xmgl/sjSafeEnvironmentFile")
@Slf4j @Slf4j
@Api("ProjectFileController相关Api") @Api("三江安全环保资料中心")
public class SjSafeEnvironmentFileController { public class SjSafeEnvironmentFileController {
@Autowired @Autowired
private ISjSafeEnvironmentFileService sjSafeEnvironmentFileService; private ISjSafeEnvironmentFileService sjSafeEnvironmentFileService;
/** /**
* 分块上传文件
*
* @param request
* @return
*/
@ApiOperation(value = "分块上传文件", notes = "分块上传文件", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "sn", value = "项目SN或企业sn", paramType = "query", required = true, dataType = "String")
})
@RequestMapping(value = "/uploadfile", method = RequestMethod.POST)
public Result<UploadFileVo> uploadFile(HttpServletRequest request, UploadFileDTO uploadFileDto) {
return sjSafeEnvironmentFileService.uploadFile(request, uploadFileDto);
}
/**
* 分页列表查询 * 分页列表查询
*
* @return * @return
*/ */
@ApiOperation(value = " 列表查询项目文件档案信息", notes = "列表查询项目文件档案信息", httpMethod = "POST") @ApiOperation(value = " 列表查询项目文件档案信息", notes = "列表查询项目文件档案信息", httpMethod = "POST")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目SN", paramType = "query", required = true, dataType = "String"), @ApiImplicitParam(name = "sn", value = "项目SN或企业sn", paramType = "query", required = true, dataType = "String"),
@ApiImplicitParam(name = "filePath", value = "路径", paramType = "query", required = true, dataType = "Integer"), @ApiImplicitParam(name = "filePath", value = "路径", paramType = "query", required = true, dataType = "Integer"),
}) })
@PostMapping(value = "/list") @PostMapping(value = "/list")
public Result<List<SjSafeEnvironmentFile>> getFileList(@RequestBody Map<String, Object> map) { public Result<List<SjSafeEnvironmentFile>> getFileList(@RequestBody Map<String, Object> map) {
QueryWrapper<SjSafeEnvironmentFile> queryWrapper = new QueryWrapper<>(); return sjSafeEnvironmentFileService.getFileList(map);
queryWrapper.lambda().eq(SjSafeEnvironmentFile::getProjectSn, MapUtils.getString(map, "projectSn"))
.eq(SjSafeEnvironmentFile::getFilePath, MapUtils.getString(map, "filePath"));
queryWrapper.orderByAsc("is_dir");
List<SjSafeEnvironmentFile> list = sjSafeEnvironmentFileService.list(queryWrapper);
return Result.success(list);
} }
/** /**
* 添加 * 添加
*
* @param sjSafeEnvironmentFile * @param sjSafeEnvironmentFile
* @return * @return
*/ */
@ -76,8 +91,7 @@ public class SjSafeEnvironmentFileController {
@ApiOperation(value = "文件重命名", notes = "文件重命名", httpMethod = "POST") @ApiOperation(value = "文件重命名", notes = "文件重命名", httpMethod = "POST")
@PostMapping(value = "/renameFile") @PostMapping(value = "/renameFile")
public Result<SjSafeEnvironmentFile> edit(@RequestBody SjSafeEnvironmentFile sjSafeEnvironmentFile) { public Result<SjSafeEnvironmentFile> edit(@RequestBody SjSafeEnvironmentFile sjSafeEnvironmentFile) {
sjSafeEnvironmentFileService.renamefile(sjSafeEnvironmentFile); return sjSafeEnvironmentFileService.renamefile(sjSafeEnvironmentFile);
return Result.ok();
} }
@ -93,16 +107,14 @@ public class SjSafeEnvironmentFileController {
@ApiOperation(value = "删除文件", notes = "可以删除文件或者目录", httpMethod = "POST") @ApiOperation(value = "删除文件", notes = "可以删除文件或者目录", httpMethod = "POST")
@RequestMapping(value = "/deleteFile", method = RequestMethod.POST) @RequestMapping(value = "/deleteFile", method = RequestMethod.POST)
public Result<String> deleteFile(@RequestBody SjSafeEnvironmentFile sjSafeEnvironmentFile) { public Result<String> deleteFile(@RequestBody SjSafeEnvironmentFile sjSafeEnvironmentFile) {
sjSafeEnvironmentFileService.deleteFile(sjSafeEnvironmentFile); return sjSafeEnvironmentFileService.deleteFile(sjSafeEnvironmentFile);
return Result.ok();
} }
@OperLog(operModul = "项目文件管理", operType = "文件移动", operDesc = "文件移动") @OperLog(operModul = "项目文件管理", operType = "文件移动", operDesc = "文件移动")
@ApiOperation(value = "文件移动", notes = "可以移动文件或者目录", httpMethod = "POST") @ApiOperation(value = "文件移动", notes = "可以移动文件或者目录", httpMethod = "POST")
@RequestMapping(value = "/moveFile", method = RequestMethod.POST) @RequestMapping(value = "/moveFile", method = RequestMethod.POST)
public Result<String> moveFile(@RequestBody SjSafeEnvironmentFile sjSafeEnvironmentFile) { public Result moveFile(@RequestBody SjSafeEnvironmentFile sjSafeEnvironmentFile) {
sjSafeEnvironmentFileService.moveFile(sjSafeEnvironmentFile); return sjSafeEnvironmentFileService.moveFile(sjSafeEnvironmentFile);
return Result.ok();
} }
@OperLog(operModul = "项目文件管理", operType = "批量文件移动", operDesc = "批量文件移动") @OperLog(operModul = "项目文件管理", operType = "批量文件移动", operDesc = "批量文件移动")

View File

@ -1,14 +1,16 @@
package com.zhgd.xmgl.modules.sanjiang.entity; package com.zhgd.xmgl.modules.sanjiang.entity;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/** /**
* @Description: 三江安全环保资料中心 * @Description: 三江安全环保资料中心
@ -74,4 +76,9 @@ public class SjSafeEnvironmentFile implements Serializable {
@ApiModelProperty(value = "文件大小") @ApiModelProperty(value = "文件大小")
private java.lang.String fileSize; private java.lang.String fileSize;
@ApiModelProperty(value = "项目SN或企业sn")
@TableField(exist = false)
private java.lang.String sn;
} }

View File

@ -1,9 +1,11 @@
package com.zhgd.xmgl.modules.sanjiang.mapper; package com.zhgd.xmgl.modules.sanjiang.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhgd.xmgl.modules.sanjiang.entity.SjSafeEnvironmentFile; import com.zhgd.xmgl.modules.sanjiang.entity.SjSafeEnvironmentFile;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/** /**
* @Description: 三江安全环保资料中心 * @Description: 三江安全环保资料中心
@ -16,7 +18,11 @@ public interface SjSafeEnvironmentFileMapper extends BaseMapper<SjSafeEnvironmen
void replaceProjectFilePath(@Param("filePath") String filePath, @Param("oldFilePath") String oldFilePath, @Param("projectSn") String projectSn); void replaceProjectFilePath(@Param("filePath") String filePath, @Param("oldFilePath") String oldFilePath, @Param("projectSn") String projectSn);
void replaceProjectFilePathAndProjectSnList(@Param("filePath") String filePath, @Param("oldFilePath") String oldFilePath, @Param("list") List<String> projectSnList);
void updateFilepathByFilepath(@Param("oldfilePath") String oldfilePath, @Param("newfilePath") String newfilePath, @Param("projectSn") String projectSn); void updateFilepathByFilepath(@Param("oldfilePath") String oldfilePath, @Param("newfilePath") String newfilePath, @Param("projectSn") String projectSn);
void updateFilepathByFilepathAndProjectSnList(@Param("oldfilePath") String oldfilePath, @Param("newfilePath") String newfilePath, @Param("list") List<String> projectSnList);
void updateFilepathByPathAndName(SjSafeEnvironmentFile sjSafeEnvironmentFile); void updateFilepathByPathAndName(SjSafeEnvironmentFile sjSafeEnvironmentFile);
} }

View File

@ -6,10 +6,29 @@
WHERE file_path LIKE N'${oldFilePath}%' and project_sn = #{projectSn}; WHERE file_path LIKE N'${oldFilePath}%' and project_sn = #{projectSn};
</update> </update>
<update id="replaceProjectFilePathAndProjectSnList">
UPDATE sj_safe_environment_file SET file_path=REPLACE(file_path, #{oldFilePath}, #{filePath})
WHERE file_path LIKE N'${oldFilePath}%' and
project_sn in
<foreach collection="list" item="item" index="index"
separator="," open="(" close=")">
#{item}
</foreach>
</update>
<update id="updateFilepathByFilepath"> <update id="updateFilepathByFilepath">
UPDATE sj_safe_environment_file SET file_path=REPLACE(file_path, #{oldfilePath}, #{newfilePath}) UPDATE sj_safe_environment_file SET file_path=REPLACE(file_path, #{oldfilePath}, #{newfilePath})
WHERE file_path like N'${oldfilePath}%' and project_sn = #{projectSn}; WHERE file_path like N'${oldfilePath}%' and project_sn = #{projectSn};
</update> </update>
<update id="updateFilepathByFilepathAndProjectSnList">
UPDATE sj_safe_environment_file SET file_path=REPLACE(file_path, #{oldfilePath}, #{newfilePath})
WHERE file_path like N'${oldfilePath}%' and
project_sn in
<foreach collection="list" item="item" index="index"
separator="," open="(" close=")">
#{item}
</foreach>
</update>
<update id="updateFilepathByPathAndName"> <update id="updateFilepathByPathAndName">
UPDATE sj_safe_environment_file SET file_path=#{filePath} UPDATE sj_safe_environment_file SET file_path=#{filePath}
WHERE file_id=#{fileId} WHERE file_id=#{fileId}

View File

@ -1,9 +1,14 @@
package com.zhgd.xmgl.modules.sanjiang.service; package com.zhgd.xmgl.modules.sanjiang.service;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.xmgl.base.UploadFileDTO;
import com.zhgd.xmgl.base.UploadFileVo;
import com.zhgd.xmgl.modules.sanjiang.entity.SjSafeEnvironmentFile; import com.zhgd.xmgl.modules.sanjiang.entity.SjSafeEnvironmentFile;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @Description: 项目文件档案 * @Description: 项目文件档案
@ -15,11 +20,15 @@ public interface ISjSafeEnvironmentFileService extends IService<SjSafeEnvironmen
void addProjectFile(SjSafeEnvironmentFile sjSafeEnvironmentFile); void addProjectFile(SjSafeEnvironmentFile sjSafeEnvironmentFile);
void renamefile(SjSafeEnvironmentFile sjSafeEnvironmentFile); Result<SjSafeEnvironmentFile> renamefile(SjSafeEnvironmentFile sjSafeEnvironmentFile);
void batchDeleteFile(List<SjSafeEnvironmentFile> list); void batchDeleteFile(List<SjSafeEnvironmentFile> list);
void deleteFile(SjSafeEnvironmentFile sjSafeEnvironmentFile); Result<String> deleteFile(SjSafeEnvironmentFile sjSafeEnvironmentFile);
void moveFile(SjSafeEnvironmentFile sjSafeEnvironmentFile); Result<String> moveFile(SjSafeEnvironmentFile sjSafeEnvironmentFile);
Result<UploadFileVo> uploadFile(HttpServletRequest request, UploadFileDTO uploadFileDto);
Result<List<SjSafeEnvironmentFile>> getFileList(Map<String, Object> map);
} }

View File

@ -1,19 +1,34 @@
package com.zhgd.xmgl.modules.sanjiang.service.impl; package com.zhgd.xmgl.modules.sanjiang.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.execption.OpenAlertException; import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.jeecg.upload.Uploader;
import com.zhgd.jeecg.upload.domain.UploadFile;
import com.zhgd.jeecg.upload.factory.ChunkUploaderFactory;
import com.zhgd.jeecg.upload.util.DateUtil;
import com.zhgd.xmgl.base.UploadFileDTO;
import com.zhgd.xmgl.base.UploadFileVo;
import com.zhgd.xmgl.modules.project.service.IProjectService;
import com.zhgd.xmgl.modules.sanjiang.entity.SjSafeEnvironmentFile; import com.zhgd.xmgl.modules.sanjiang.entity.SjSafeEnvironmentFile;
import com.zhgd.xmgl.modules.sanjiang.mapper.SjSafeEnvironmentFileMapper; import com.zhgd.xmgl.modules.sanjiang.mapper.SjSafeEnvironmentFileMapper;
import com.zhgd.xmgl.modules.sanjiang.service.ISjSafeEnvironmentFileService; import com.zhgd.xmgl.modules.sanjiang.service.ISjSafeEnvironmentFileService;
import com.zhgd.xmgl.util.MessageUtil; import com.zhgd.xmgl.util.MessageUtil;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.*;
import java.util.List; import java.util.stream.Collectors;
/** /**
* @Description: 三江安全环保资料中心 * @Description: 三江安全环保资料中心
@ -24,8 +39,12 @@ import java.util.List;
@Service @Service
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class SjSafeEnvironmentFileServiceImpl extends ServiceImpl<SjSafeEnvironmentFileMapper, SjSafeEnvironmentFile> implements ISjSafeEnvironmentFileService { public class SjSafeEnvironmentFileServiceImpl extends ServiceImpl<SjSafeEnvironmentFileMapper, SjSafeEnvironmentFile> implements ISjSafeEnvironmentFileService {
@Autowired
IProjectService projectService;
@Autowired @Autowired
private SjSafeEnvironmentFileMapper sjSafeEnvironmentFileMapper; private SjSafeEnvironmentFileMapper sjSafeEnvironmentFileMapper;
@Value("${basePath}")
private String basePath;
@Override @Override
public void addProjectFile(SjSafeEnvironmentFile sjSafeEnvironmentFile) { public void addProjectFile(SjSafeEnvironmentFile sjSafeEnvironmentFile) {
@ -48,7 +67,15 @@ public class SjSafeEnvironmentFileServiceImpl extends ServiceImpl<SjSafeEnvironm
} }
@Override @Override
public void renamefile(SjSafeEnvironmentFile sjSafeEnvironmentFile) { public Result renamefile(SjSafeEnvironmentFile sjSafeEnvironmentFile) {
String sn = sjSafeEnvironmentFile.getSn();
if (StringUtils.isBlank(sn)) {
return Result.error("sn不能为空");
}
List<String> projectSnList = getProjectSnList(sn);
if (CollectionUtil.isEmpty(projectSnList)) {
return Result.error("查询不到项目sn");
}
SjSafeEnvironmentFile oldSjSafeEnvironmentFile = sjSafeEnvironmentFileMapper.selectById(sjSafeEnvironmentFile.getFileId()); SjSafeEnvironmentFile oldSjSafeEnvironmentFile = sjSafeEnvironmentFileMapper.selectById(sjSafeEnvironmentFile.getFileId());
QueryWrapper<SjSafeEnvironmentFile> queryWrapper = new QueryWrapper<>(); QueryWrapper<SjSafeEnvironmentFile> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(SjSafeEnvironmentFile::getProjectSn, oldSjSafeEnvironmentFile.getProjectSn()) queryWrapper.lambda().eq(SjSafeEnvironmentFile::getProjectSn, oldSjSafeEnvironmentFile.getProjectSn())
@ -67,19 +94,24 @@ public class SjSafeEnvironmentFileServiceImpl extends ServiceImpl<SjSafeEnvironm
String time = df.format(new Date()); String time = df.format(new Date());
if (1 == oldSjSafeEnvironmentFile.getIsDir()) { if (1 == oldSjSafeEnvironmentFile.getIsDir()) {
SjSafeEnvironmentFile newSjSafeEnvironmentFile = new SjSafeEnvironmentFile(); SjSafeEnvironmentFile newSjSafeEnvironmentFile = new SjSafeEnvironmentFile();
newSjSafeEnvironmentFile.setFileId(oldSjSafeEnvironmentFile.getFileId());
newSjSafeEnvironmentFile.setUploadTime(time); newSjSafeEnvironmentFile.setUploadTime(time);
newSjSafeEnvironmentFile.setFileName(sjSafeEnvironmentFile.getFileName()); newSjSafeEnvironmentFile.setFileName(sjSafeEnvironmentFile.getFileName());
sjSafeEnvironmentFileMapper.updateById(newSjSafeEnvironmentFile); sjSafeEnvironmentFileMapper.update(newSjSafeEnvironmentFile, new LambdaQueryWrapper<SjSafeEnvironmentFile>()
sjSafeEnvironmentFileMapper.replaceProjectFilePath(oldSjSafeEnvironmentFile.getFilePath() + sjSafeEnvironmentFile.getFileName() + "/", .in(SjSafeEnvironmentFile::getProjectSn, projectSnList)
oldSjSafeEnvironmentFile.getFilePath() + oldSjSafeEnvironmentFile.getFileName() + "/", oldSjSafeEnvironmentFile.getProjectSn()); .eq(SjSafeEnvironmentFile::getFilePath, sjSafeEnvironmentFile.getFilePath())
.eq(SjSafeEnvironmentFile::getFileName, sjSafeEnvironmentFile.getFileName())
);
sjSafeEnvironmentFileMapper.replaceProjectFilePathAndProjectSnList(oldSjSafeEnvironmentFile.getFilePath() + sjSafeEnvironmentFile.getFileName() + "/",
oldSjSafeEnvironmentFile.getFilePath() + oldSjSafeEnvironmentFile.getFileName() + "/", projectSnList);
} else { } else {
SjSafeEnvironmentFile newSjSafeEnvironmentFile = new SjSafeEnvironmentFile(); SjSafeEnvironmentFile newSjSafeEnvironmentFile = new SjSafeEnvironmentFile();
newSjSafeEnvironmentFile.setFileId(oldSjSafeEnvironmentFile.getFileId());
newSjSafeEnvironmentFile.setUploadTime(time); newSjSafeEnvironmentFile.setUploadTime(time);
newSjSafeEnvironmentFile.setFileName(sjSafeEnvironmentFile.getFileName()); newSjSafeEnvironmentFile.setFileName(sjSafeEnvironmentFile.getFileName());
sjSafeEnvironmentFileMapper.updateById(newSjSafeEnvironmentFile); sjSafeEnvironmentFileMapper.update(newSjSafeEnvironmentFile, new LambdaQueryWrapper<SjSafeEnvironmentFile>()
.in(SjSafeEnvironmentFile::getProjectSn, projectSnList)
.eq(SjSafeEnvironmentFile::getFileUrl, sjSafeEnvironmentFile.getFileUrl()));
} }
return Result.ok();
} }
@Override @Override
@ -90,34 +122,136 @@ public class SjSafeEnvironmentFileServiceImpl extends ServiceImpl<SjSafeEnvironm
} }
@Override @Override
public void deleteFile(SjSafeEnvironmentFile sjSafeEnvironmentFile) { public Result deleteFile(SjSafeEnvironmentFile sjSafeEnvironmentFile) {
String sn = sjSafeEnvironmentFile.getSn();
if (StringUtils.isBlank(sn)) {
return Result.error("sn不能为空");
}
List<String> projectSnList = getProjectSnList(sn);
if (CollectionUtil.isEmpty(projectSnList)) {
return Result.error("查询不到项目sn");
}
SjSafeEnvironmentFile oldSjSafeEnvironmentFile = sjSafeEnvironmentFileMapper.selectById(sjSafeEnvironmentFile.getFileId()); SjSafeEnvironmentFile oldSjSafeEnvironmentFile = sjSafeEnvironmentFileMapper.selectById(sjSafeEnvironmentFile.getFileId());
if (1 == oldSjSafeEnvironmentFile.getIsDir()) { if (1 == oldSjSafeEnvironmentFile.getIsDir()) {
String filePath = oldSjSafeEnvironmentFile.getFilePath() + oldSjSafeEnvironmentFile.getFileName() + "/"; String filePath = oldSjSafeEnvironmentFile.getFilePath() + oldSjSafeEnvironmentFile.getFileName() + "/";
QueryWrapper<SjSafeEnvironmentFile> queryWrapper = new QueryWrapper<>(); QueryWrapper<SjSafeEnvironmentFile> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(SjSafeEnvironmentFile::getProjectSn, oldSjSafeEnvironmentFile.getProjectSn()) queryWrapper.lambda().in(SjSafeEnvironmentFile::getProjectSn, projectSnList)
.likeRight(SjSafeEnvironmentFile::getFilePath, filePath); .likeRight(SjSafeEnvironmentFile::getFilePath, filePath);
sjSafeEnvironmentFileMapper.delete(queryWrapper); sjSafeEnvironmentFileMapper.delete(queryWrapper);
sjSafeEnvironmentFileMapper.deleteById(sjSafeEnvironmentFile.getFileId());
} else { } else {
sjSafeEnvironmentFileMapper.deleteById(sjSafeEnvironmentFile.getFileId()); sjSafeEnvironmentFileMapper.delete(new LambdaQueryWrapper<SjSafeEnvironmentFile>().in(SjSafeEnvironmentFile::getProjectSn, projectSnList)
.eq(SjSafeEnvironmentFile::getFileUrl, oldSjSafeEnvironmentFile.getFileUrl()));
} }
return Result.ok();
} }
@Override @Override
public void moveFile(SjSafeEnvironmentFile sjSafeEnvironmentFile) { public Result moveFile(SjSafeEnvironmentFile sjSafeEnvironmentFile) {
SjSafeEnvironmentFile oldSjSafeEnvironmentFile = sjSafeEnvironmentFileMapper.selectById(sjSafeEnvironmentFile.getFileId()); String sn = sjSafeEnvironmentFile.getSn();
if (StringUtils.isBlank(sn)) {
return Result.error("sn不能为空");
}
List<String> projectSnList = getProjectSnList(sjSafeEnvironmentFile.getSn());
if (CollectionUtil.isEmpty(projectSnList)) {
return Result.error("查询不到项目sn");
}
//移动根目录 //移动根目录
sjSafeEnvironmentFileMapper.updateFilepathByPathAndName(sjSafeEnvironmentFile); SjSafeEnvironmentFile oldSjSafeEnvironmentFile = sjSafeEnvironmentFileMapper.selectById(sjSafeEnvironmentFile.getFileId());
SjSafeEnvironmentFile s = new SjSafeEnvironmentFile();
s.setFilePath(sjSafeEnvironmentFile.getFilePath());
sjSafeEnvironmentFileMapper.update(s, new LambdaQueryWrapper<SjSafeEnvironmentFile>()
.in(SjSafeEnvironmentFile::getProjectSn, projectSnList)
.eq(SjSafeEnvironmentFile::getFileUrl, oldSjSafeEnvironmentFile.getFileUrl()));
//移动子目录
if (1 == oldSjSafeEnvironmentFile.getIsDir()) { if (1 == oldSjSafeEnvironmentFile.getIsDir()) {
//移动子目录
String oldfilePath = oldSjSafeEnvironmentFile.getFilePath() + oldSjSafeEnvironmentFile.getFileName() + "/"; String oldfilePath = oldSjSafeEnvironmentFile.getFilePath() + oldSjSafeEnvironmentFile.getFileName() + "/";
String newfilePath = sjSafeEnvironmentFile.getFilePath() + oldSjSafeEnvironmentFile.getFileName() + "/"; String newfilePath = sjSafeEnvironmentFile.getFilePath() + oldSjSafeEnvironmentFile.getFileName() + "/";
oldfilePath = oldfilePath.replace("\\", "\\\\\\\\"); oldfilePath = oldfilePath.replace("\\", "\\\\\\\\");
oldfilePath = oldfilePath.replace("'", "\\'"); oldfilePath = oldfilePath.replace("'", "\\'");
oldfilePath = oldfilePath.replace("%", "\\%"); oldfilePath = oldfilePath.replace("%", "\\%");
oldfilePath = oldfilePath.replace("_", "\\_"); oldfilePath = oldfilePath.replace("_", "\\_");
sjSafeEnvironmentFileMapper.updateFilepathByFilepath(oldfilePath, newfilePath, oldSjSafeEnvironmentFile.getProjectSn()); sjSafeEnvironmentFileMapper.updateFilepathByFilepathAndProjectSnList(oldfilePath, newfilePath, projectSnList);
} }
return Result.ok();
}
@Override
public Result uploadFile(HttpServletRequest request, UploadFileDTO uploadFileDto) {
String sn = request.getParameter("sn");
if (StringUtils.isBlank(sn)) {
return Result.error("sn不能为空");
}
Result<UploadFileVo> restResult = new Result<>();
uploadFileDto.setSn(sn);
doUploadFile(request, uploadFileDto);
UploadFileVo uploadFileVo = new UploadFileVo();
restResult.data(uploadFileVo);
return restResult;
}
@Override
public Result getFileList(Map<String, Object> map) {
List<String> projectSnList = getProjectSnList(MapUtils.getString(map, "sn"));
if (CollectionUtil.isEmpty(projectSnList)) {
return Result.error("查询不到项目sn");
}
QueryWrapper<SjSafeEnvironmentFile> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.in(SjSafeEnvironmentFile::getProjectSn, projectSnList)
.eq(SjSafeEnvironmentFile::getFilePath, MapUtils.getString(map, "filePath"));
queryWrapper.orderByAsc("is_dir");
List<SjSafeEnvironmentFile> list = list(queryWrapper);
return Result.success(list);
}
/**
* 查找projectSnsn项目SN或企业sn
*
* @return
*/
private List<String> getProjectSnList(String sn) {
if (StringUtils.isBlank(sn)) {
return null;
}
HashMap<String, Object> map = new HashMap<>();
map.put("sn", sn);
List<EntityMap> entityMaps = projectService.selectAllProjectInfoList(map);
List<String> projectSnList = entityMaps.stream().map(m -> MapUtils.getString(m, "projectSn")).collect(Collectors.toList());
return projectSnList;
}
private void doUploadFile(HttpServletRequest request, UploadFileDTO u) {
List<String> projectSnList = getProjectSnList(u.getSn());
ArrayList<SjSafeEnvironmentFile> list = new ArrayList<>();
UploadFile uploadFile = new UploadFile();
uploadFile.setChunkNumber(u.getChunkNumber());
uploadFile.setChunkSize(u.getChunkSize());
uploadFile.setTotalChunks(u.getTotalChunks());
uploadFile.setIdentifier(u.getIdentifier());
uploadFile.setTotalSize(u.getTotalSize());
uploadFile.setCurrentChunkSize(u.getCurrentChunkSize());
Uploader uploader = new ChunkUploaderFactory().getUploader(uploadFile);
List<UploadFile> uploadFileList = uploader.upload(request, basePath);
for (int i = 0; i < uploadFileList.size(); i++) {
uploadFile = uploadFileList.get(i);
if (uploadFile.getSuccess() == 1) {
for (String projectSn : projectSnList) {
SjSafeEnvironmentFile userFile = new SjSafeEnvironmentFile();
userFile.setExtendName(uploadFile.getFileType());
userFile.setFileName(uploadFile.getFileName());
userFile.setFilePath(u.getFilePath());
userFile.setProjectSn(projectSn);
userFile.setIsDir(0);
userFile.setFileUrl(uploadFile.getUrl());
userFile.setFileSize(uploadFile.getFileSize() + "");
userFile.setUploadTime(DateUtil.getCurrentTime());
list.add(userFile);
}
}
}
saveBatch(list);
} }
} }