TProjectInfoController.java 5.39 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
package com.zehong.web.controller.supervise;
import java.io.File;
import java.text.ParseException;
import java.util.List;
import com.zehong.common.config.GassafetyProgressConfig;
import com.zehong.common.core.domain.entity.SysUser;
import com.zehong.common.utils.SecurityUtils;
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.RestController;
import com.zehong.common.annotation.Log;
import com.zehong.common.core.controller.BaseController;
import com.zehong.common.core.domain.AjaxResult;
import com.zehong.common.enums.BusinessType;
import com.zehong.system.domain.TProjectInfo;
import com.zehong.system.service.ITProjectInfoService;
import com.zehong.common.utils.poi.ExcelUtil;
import com.zehong.common.core.page.TableDataInfo;

/**
 * 工程项目信息Controller
 *
 * @author zehong
 * @date 2022-03-16
 */
@RestController
@RequestMapping("/project/info")
public class TProjectInfoController extends BaseController
{
    @Autowired
    private ITProjectInfoService tProjectInfoService;

    /**
     * 查询工程项目信息列表
     */
    @GetMapping("/list")
    public TableDataInfo list(TProjectInfo tProjectInfo)
    {
        //获取用户信息
        SysUser user = SecurityUtils.getLoginUser().getUser();
        tProjectInfo.setBeyondEnterpriseId(user.getDeptId());
        startPage();
        List<TProjectInfo> list = tProjectInfoService.selectTProjectInfoList(tProjectInfo);
        return getDataTable(list);
    }

    /**
     * 导出工程项目信息列表
     */
    @Log(title = "工程项目信息", businessType = BusinessType.EXPORT)
    @GetMapping("/export")
    public AjaxResult export(TProjectInfo tProjectInfo)
    {
        //获取用户信息
        SysUser user = SecurityUtils.getLoginUser().getUser();
        tProjectInfo.setBeyondEnterpriseId(user.getDeptId());
        List<TProjectInfo> list = tProjectInfoService.selectTProjectInfoList(tProjectInfo);
        ExcelUtil<TProjectInfo> util = new ExcelUtil<TProjectInfo>(TProjectInfo.class);
        return util.exportExcel(list, "工程项目信息数据");
    }

    /**
     * 获取工程项目信息详细信息
     */
    @GetMapping(value = "/{projectId}")
    public AjaxResult getInfo(@PathVariable("projectId") Long projectId)
    {
        return AjaxResult.success(tProjectInfoService.selectTProjectInfoById(projectId));
    }

    /**
     * 新增工程项目信息
     */
    @Log(title = "工程项目信息", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody TProjectInfo tProjectInfo) throws ParseException {
        //获取用户信息
        SysUser user = SecurityUtils.getLoginUser().getUser();
        tProjectInfo.setBeyondEnterpriseId(user.getDeptId());
        //查询是否已经有重复的年份数据
        List<TProjectInfo> tProjectInfos = tProjectInfoService.selectSameYear(tProjectInfo.getProjectYear(),tProjectInfo.getBeyondEnterpriseId());
        //说明有重复的年份 将重复的年份删除
        if (tProjectInfos.size()!=0){
            //重复年份删除方法
            tProjectInfoService.deleteisSameYear(tProjectInfo.getProjectYear(),tProjectInfo.getBeyondEnterpriseId());
        }
93
        if (!"-2".equals(user.getDeptId())){
94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
            //查询企业名称
            String enterpriseName = tProjectInfoService.selectEnterpriseName(user.getDeptId());
            tProjectInfo.setEnterpriseCode(String.valueOf(enterpriseName));
        }else {
            tProjectInfo.setEnterpriseCode("政府部门");
        }
        //添加企业
        tProjectInfo.setBeyondEnterpriseId(user.getDeptId());
        return toAjax(tProjectInfoService.insertTProjectInfo(tProjectInfo));
    }

    /**
     * 修改工程项目信息
     */
    @Log(title = "工程项目信息", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody TProjectInfo tProjectInfo)
    {
        //查询修改文件之前的路径
        TProjectInfo tProjectInfos = tProjectInfoService.selectNearbyAddress(tProjectInfo.getProjectId());
        if (tProjectInfos!=null){
            // 上传文件路径
            String filePath = GassafetyProgressConfig.getUploadPath();
            String[] strs = tProjectInfos.getNearbyAddress().split("upload");
            //删除
            File file = new File(filePath+strs[1].toString());
            // 上传文件路径
            if(file.isFile()){
                file.delete();
            }
        }
        return toAjax(tProjectInfoService.updateTProjectInfo(tProjectInfo));
    }

    /**
     * 删除工程项目信息
     */
    @Log(title = "工程项目信息", businessType = BusinessType.DELETE)
	@DeleteMapping("/{projectIds}")
    public AjaxResult remove(@PathVariable Long[] projectIds)
    {
        return toAjax(tProjectInfoService.deleteTProjectInfoByIds(projectIds));
    }

    @GetMapping(value = "/selectNum")
    public AjaxResult selectNum()
    {
        return AjaxResult.success(tProjectInfoService.selectNum());
    }


}