package com.javaweb.geo.controller;
|
|
import java.io.File;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import cn.hutool.core.io.FileUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
import com.javaweb.common.config.Global;
|
import com.javaweb.geo.domain.Hole;
|
import com.javaweb.geo.domain.HoleMedia;
|
import com.javaweb.geo.service.IHoleMediaService;
|
import com.javaweb.geo.vo.FileVo;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.ModelMap;
|
import org.springframework.util.ObjectUtils;
|
import org.springframework.web.bind.annotation.*;
|
import com.javaweb.common.annotation.Log;
|
import com.javaweb.common.enums.BusinessType;
|
import com.javaweb.geo.domain.ProjectData;
|
import com.javaweb.geo.service.IProjectDataService;
|
import com.javaweb.common.core.controller.BaseController;
|
import com.javaweb.common.core.domain.AjaxResult;
|
import com.javaweb.common.utils.poi.ExcelUtil;
|
import com.javaweb.common.core.page.TableDataInfo;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
/**
|
* 项目资料Controller
|
*
|
* @author cxy
|
* @date 2024-05-16
|
*/
|
@Controller
|
@RequestMapping("/geo/projectData")
|
public class ProjectDataController extends BaseController {
|
private String prefix = "geo/projectData";
|
|
@Autowired
|
private IProjectDataService projectDataService;
|
|
@Autowired
|
private IHoleMediaService holeMediaService;
|
|
@RequiresPermissions("geo:projectData:view")
|
@GetMapping()
|
public String projectData(String id, String type, ModelMap mmap) {
|
mmap.put("projectId", id);
|
mmap.put("type", type);
|
return prefix + "/projectData";
|
}
|
|
@RequiresPermissions("geo:projectData:view")
|
@GetMapping("/2")
|
public String projectData2(String id, String type, ModelMap mmap) {
|
mmap.put("projectId", id);
|
mmap.put("type", type);
|
return prefix + "/projectData2";
|
}
|
|
/**
|
* 导入压缩包
|
*/
|
@GetMapping("/importImg")
|
public String importPdf(String projectDataId,ModelMap mmap){
|
mmap.put("projectDataId",projectDataId);
|
return prefix + "/upload";
|
}
|
|
/**
|
* 图片展示
|
*/
|
@GetMapping("/viewImage")
|
public String viewImage(ModelMap mmap, @RequestParam("id") String id){
|
ProjectData data = projectDataService.selectProjectDataById(id);
|
String path = "";
|
if (!ObjectUtils.isEmpty(data)){
|
path = data.getDataUrl();
|
}
|
mmap.put("urlAddress",path);
|
return prefix + "/image_view";
|
}
|
|
/**
|
* 项目文件列表页面
|
* @return
|
*/
|
@GetMapping("/projectDataFileList")
|
public String projectDataFileList(String id ,ModelMap modelMap){
|
modelMap.put("id",id);
|
return prefix + "/files";
|
}
|
|
/**
|
* 查询项目资料列表
|
*/
|
@RequiresPermissions("geo:projectData:list")
|
@PostMapping("/list")
|
@ResponseBody
|
public TableDataInfo list(ProjectData projectData) {
|
startPage();
|
List<ProjectData> list = projectDataService.selectProjectDataList(projectData);
|
return getDataTable(list);
|
}
|
|
/**
|
* 导出项目资料列表
|
*/
|
@RequiresPermissions("geo:projectData:export")
|
@Log(title = "项目资料", businessType = BusinessType.EXPORT)
|
@PostMapping("/export")
|
@ResponseBody
|
public AjaxResult export(ProjectData projectData) {
|
List<ProjectData> list = projectDataService.selectProjectDataList(projectData);
|
ExcelUtil<ProjectData> util = new ExcelUtil<ProjectData>(ProjectData.class);
|
return util.exportExcel(list, "projectData");
|
}
|
|
/**
|
* 新增项目资料
|
*/
|
@GetMapping("/add")
|
public String add(String projectId, String dataType, ModelMap mmap) {
|
mmap.put("projectId", projectId);
|
mmap.put("dataType", dataType);
|
return prefix + "/add";
|
}
|
|
/**
|
* 新增保存项目资料
|
*/
|
@RequiresPermissions("geo:projectData:add")
|
@Log(title = "项目资料", businessType = BusinessType.INSERT)
|
@PostMapping("/add")
|
@ResponseBody
|
public AjaxResult addSave(ProjectData projectData) {
|
return toAjax(projectDataService.insertProjectData(projectData));
|
}
|
|
/**
|
* 修改项目资料
|
*/
|
@GetMapping("/edit/{id}")
|
public String edit(@PathVariable("id") String id, ModelMap mmap) {
|
ProjectData projectData = projectDataService.selectProjectDataById(id);
|
mmap.put("projectData", projectData);
|
return prefix + "/edit";
|
}
|
|
/**
|
* 修改保存项目资料
|
*/
|
@RequiresPermissions("geo:projectData:edit")
|
@Log(title = "项目资料", businessType = BusinessType.UPDATE)
|
@PostMapping("/edit")
|
@ResponseBody
|
public AjaxResult editSave(ProjectData projectData) {
|
return toAjax(projectDataService.updateProjectData(projectData));
|
}
|
|
/**
|
* 删除项目资料
|
*/
|
@RequiresPermissions("geo:projectData:remove")
|
@Log(title = "项目资料", businessType = BusinessType.DELETE)
|
@PostMapping("/remove")
|
@ResponseBody
|
public AjaxResult remove(String ids) {
|
return toAjax(projectDataService.deleteProjectDataByIds(ids));
|
}
|
|
/**
|
* 上传压缩包
|
*/
|
@PostMapping("/uploadZIP")
|
@ResponseBody
|
public AjaxResult uploadZIP(MultipartFile file, HttpServletRequest request){
|
return projectDataService.uploadZIP(file,request);
|
}
|
|
/**
|
* 获取文件列表
|
* @param id
|
* @return
|
*/
|
@PostMapping( "/listFile")
|
@ResponseBody
|
public TableDataInfo listFile(String id){
|
List<FileVo> paths = new ArrayList<>();
|
|
HoleMedia holeMedia = new HoleMedia();
|
holeMedia.setRecordId(id);
|
List<HoleMedia> holeMedias =holeMediaService.selectHoleMediaList(holeMedia);
|
|
if(ObjectUtil.isNotEmpty(holeMedias)){
|
for(HoleMedia holeMedia1 :holeMedias ){
|
FileVo vo = new FileVo() ;
|
vo.setName(holeMedia1.getName());
|
vo.setPath(holeMedia1.getInternetPath());
|
paths.add(vo);
|
}
|
}
|
return getDataTable(paths);
|
}
|
|
}
|