SupervisionThreestepController.java 6 KB
package com.trash.business.controller;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import com.trash.common.annotation.Log;
import com.trash.common.config.trashConfig;
import com.trash.common.core.controller.BaseController;
import com.trash.common.core.domain.AjaxResult;
import com.trash.common.enums.BusinessType;
import com.trash.business.domain.SupervisionThreestep;
import com.trash.business.service.ISupervisionThreestepService;
import com.trash.common.utils.StringUtils;
import com.trash.common.utils.file.FileUtils;
import com.trash.common.utils.poi.ExcelUtil;
import com.trash.common.core.page.TableDataInfo;

/**
 * 三查机制Controller
 * 
 * @author trash
 * @date 2023-04-24
 */
@RestController
@RequestMapping("/business/threestep")
public class SupervisionThreestepController extends BaseController
{
    @Autowired
    private ISupervisionThreestepService supervisionThreestepService;

    /**
     * 查询三查机制列表
     */
    @PreAuthorize("@ss.hasPermi('business:threestep:list')")
    @GetMapping("/list")
    public TableDataInfo list(SupervisionThreestep supervisionThreestep)
    {
        startPage();
        List<SupervisionThreestep> list = supervisionThreestepService.selectSupervisionThreestepList(supervisionThreestep);
        return getDataTable(list);
    }

    /**
     * 查询三查机制列表
     */
    @PreAuthorize("@ss.hasPermi('business:threestep:list')")
    @GetMapping("/dayWorkList")
    public TableDataInfo dayWorkList(SupervisionThreestep supervisionThreestep)
    {
        startPage();
        List<Map> list = supervisionThreestepService.selectDayWorkList(supervisionThreestep);
        return getDataTable(list);
    }
    
    /**
     * 导出三查机制列表
     */
    @PreAuthorize("@ss.hasPermi('business:threestep:export')")
    @Log(title = "三查机制", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(SupervisionThreestep supervisionThreestep)
    {
        List<SupervisionThreestep> list = supervisionThreestepService.selectSupervisionThreestepList(supervisionThreestep);
        ExcelUtil<SupervisionThreestep> util = new ExcelUtil<SupervisionThreestep>(SupervisionThreestep.class);
        return util.exportExcel(list, "threestep");
    }

    /**
     * 获取三查机制详细信息
     */
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id)
    {
        return AjaxResult.success(supervisionThreestepService.selectSupervisionThreestepById(id));
    }

    @GetMapping(value = "names")
    public List<String> names(SupervisionThreestep supervisionThreestep)
    {
        return supervisionThreestepService.getNames(supervisionThreestep);
    }
    /**
     * 新增三查机制
     */
    @PreAuthorize("@ss.hasPermi('business:threestep:add')")
    @Log(title = "三查机制", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody SupervisionThreestep supervisionThreestep)
    {
    	
    	int i = supervisionThreestepService.insertSupervisionThreestep(supervisionThreestep);
    	
    	if(i==-1){
    		return AjaxResult.error("无法重复报工");
    	}
    	
        return toAjax(i);
    }

    /**
     * 修改三查机制
     */
    @PreAuthorize("@ss.hasPermi('business:threestep:edit')")
    @Log(title = "三查机制", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody SupervisionThreestep supervisionThreestep)
    {
        return toAjax(supervisionThreestepService.updateSupervisionThreestep(supervisionThreestep));
    }
    
    @PreAuthorize("@ss.hasPermi('business:threestep:edit')")
    @Log(title = "三查机制", businessType = BusinessType.UPDATE)
    @PostMapping(value="/active")
    public AjaxResult active(@RequestBody SupervisionThreestep supervisionThreestep)
    {
        return toAjax(supervisionThreestepService.activeSupervisionThreestep(supervisionThreestep));
    }

    /**
     * 删除三查机制
     */
    @PreAuthorize("@ss.hasPermi('business:threestep:remove')")
    @Log(title = "三查机制", businessType = BusinessType.DELETE)
	@DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids)
    {
        return toAjax(supervisionThreestepService.deleteSupervisionThreestepByIds(ids));
    }
    
    @RequestMapping(value = "/upload")
    public String upload(@RequestParam("file") MultipartFile file) throws IOException {
        return supervisionThreestepService.upload(file);
    }
    
    
    @RequestMapping(value = "/download")
    public void download(@RequestParam("path") String path,HttpServletResponse response, HttpServletRequest request) throws IOException {  
	    try
	    {
	        String realFileName = path.split("/")[path.split("/").length-1];
	        String filePath = trashConfig.getUploadPath() + path.replace("/profile/upload", "");
	
	        response.setCharacterEncoding("utf-8");
	        response.setContentType("multipart/form-data");
	        response.setHeader("Content-Disposition","attachment;fileName=" + FileUtils.setFileDownloadHeader(request, realFileName));
	        FileUtils.writeBytes(filePath, response.getOutputStream());

	    }
	    catch (Exception e)
	    {
	        e.printStackTrace();
	    }
    }
}