郑永安
2023-06-19 2fcd97552d16718cc7997629fd637a73a5a4483f
src/main/java/com/gk/firework/Controller/EnterpriseController.java
对比新文件
@@ -0,0 +1,1128 @@
package com.gk.firework.Controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gk.firework.Controller.Base.BaseController;
import com.gk.firework.Domain.*;
import com.gk.firework.Domain.Enum.DocumentType;
import com.gk.firework.Domain.Enum.EnterpriseSafetySupervision;
import com.gk.firework.Domain.Enum.PersonnelCategory;
import com.gk.firework.Domain.Exception.BusinessException;
import com.gk.firework.Domain.Utils.*;
import com.gk.firework.Domain.Vo.*;
import com.gk.firework.Scheduls.Task.CheckEnterpriseTask;
import com.gk.firework.Service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.Map;
import java.util.List;
import java.util.ArrayList;
import java.util.List;
import static com.gk.firework.Domain.Enum.ErrorCode.ERROR_10001;
@Api(tags = "企业信息接口")
@RequestMapping("/enterprise")
@RestController
public class EnterpriseController extends BaseController {
    @Autowired
    private EnterpriseService enterpriseService;
    @Autowired
    private EnterpriseApplyService enterpriseApplyService;
    @Autowired
    private EnterpriseLicenseService enterpriseLicenseService;
    @Autowired
    private EnterpriseWarehouseService enterpriseWarehouseService;
    @Autowired
    private EnterpriseStandardizationService enterpriseStandardizationService;
    @Autowired
    private EnterprisePersonService enterprisePersonService;
    @Autowired
    private EnterpriseAnnualService enterpriseAnnualService;
    @Autowired
    private EnterpriseDocumentService enterpriseDocumentService;
    @Autowired
    private SecuritySupervisoryService securitySupervisoryService;
    @Autowired
    private EnterpriseFeedService enterpriseFeedService;
    @Autowired
    private UserService userService;
    /**
     * @Description: 企业基本信息
     * @date 2021/3/24 9:50
     */
    @PostMapping(value = "/list")
    @ApiOperation(value = "企业基本信息", notes = "分页查询", httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "pageIndex", value = "当前页面索引", required = true),
            @ApiImplicitParam(name = "pageSize", value = "页面个数", required = true),
            @ApiImplicitParam(name = "filter.safetysupervision", value = "安全监管分类", required = true),
            @ApiImplicitParam(name = "filter.economicIndustry", value = "国民经济行业分类", required = true),
            @ApiImplicitParam(name = "filter.enterprisename", value = "企业名称", required = true),
            @ApiImplicitParam(name = "filter.valid", value = "有效期(0,1)", required = true),
            @ApiImplicitParam(name = "filter.province", value = "省", required = true),
            @ApiImplicitParam(name = "filter.city", value = "市", required = true),
            @ApiImplicitParam(name = "filter.district", value = "区", required = true),
            @ApiImplicitParam(name = "filter.street", value = "街道", required = true),
            @ApiImplicitParam(name = "filter.committee", value = "委员会", required = true),
    })
    Object list(@RequestBody FilterObject enterpriseFilter) {
        Integer pageIndex = enterpriseFilter.getPageIndex();
        Integer pageSize = enterpriseFilter.getPageSize();
        IPage<Enterprise> iPage = enterpriseService.selectEnterprise(new Page<>(pageIndex, pageSize), enterpriseFilter.getFilter(), getUser());
        return success(iPage);
    }
    @PostMapping(value = "/parentList")
    @ApiOperation(value = "选择上级企业信息简单查询", notes = "分页查询", httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "pageIndex", value = "当前页面索引", required = true),
            @ApiImplicitParam(name = "pageSize", value = "页面个数", required = true),
            @ApiImplicitParam(name = "filter.province", value = "省", required = true),
            @ApiImplicitParam(name = "filter.city", value = "市", required = true),
            @ApiImplicitParam(name = "filter.district", value = "区", required = true),
            @ApiImplicitParam(name = "filter.street", value = "街道", required = true),
            @ApiImplicitParam(name = "filter.committee", value = "委员会", required = true),
            @ApiImplicitParam(name = "filter.enterprisename", value = "企业名称", required = true),
    })
    Object parentList(@RequestBody FilterObject enterpriseFilter) {
        Integer pageIndex = enterpriseFilter.getPageIndex();
        Integer pageSize = enterpriseFilter.getPageSize();
        IPage<Enterprise> iPage = enterpriseService.selectParentEnterprise(new Page<>(pageIndex, pageSize), enterpriseFilter.getFilter());
        return success(iPage);
    }
    @GetMapping(value = "/list-underSupervision")
    @ApiOperation(value = "监管部门下的所有企业", notes = "分页查询", httpMethod = "GET")
    Object enterpriseList(@RequestParam Integer type) {
        List<Enterprise> data = enterpriseService.selectListUnderSupervision(type,getUser());
        return success(data);
    }
    @GetMapping(value = "/applyList")
    @ApiOperation(value = "申请查询", notes = "分页查询", httpMethod = "GET")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "pageIndex", value = "当前页面索引", required = true),
            @ApiImplicitParam(name = "pageSize", value = "页面个数", required = true),
    })
    Object applyList(EnterpriseApply enterpriseApplyFilter, Integer pageIndex, Integer pageSize) {
        UserInfo user = getUser();
        IPage<EnterpriseApply> iPage = enterpriseApplyService.selectEnterpriseApply(new Page<>(pageIndex, pageSize), enterpriseApplyFilter, user);
        return success(iPage);
    }
    @PostMapping(value = "/addApply")
    @ApiOperation(value = "修改", httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "commitstatus", value = "提交状态(0,1) 0是删除,1是修改", required = true),
            @ApiImplicitParam(name = "parentid", value = "修改|删除单子的id ", required = true),
            @ApiImplicitParam(name = "safetysupervision", value = "安全监管分类(不可修改)"),
            @ApiImplicitParam(name = "economicindustry", value = "国民经济行业分类", required = true),
            @ApiImplicitParam(name = "enterprisenumber", value = "单位编号"),
            @ApiImplicitParam(name = "enterprisename", value = "企业名称"),
            @ApiImplicitParam(name = "enterpriseemail", value = "电子邮箱"),
            @ApiImplicitParam(name = "enterprisesize", value = "企业规模"),
            @ApiImplicitParam(name = "enterprisestatus", value = "企业状态"),
            @ApiImplicitParam(name = "department", value = "行政主管部门"),
            @ApiImplicitParam(name = "devicenumber", value = "设备编号"),
            @ApiImplicitParam(name = "officeaddress", value = "单位办公地址"),
            @ApiImplicitParam(name = "province", value = "省"),
            @ApiImplicitParam(name = "city", value = "市"),
            @ApiImplicitParam(name = "district", value = "区"),
            @ApiImplicitParam(name = "street", value = "街道"),
            @ApiImplicitParam(name = "committee", value = "委员会"),
            @ApiImplicitParam(name = "securitysupervisory", value = "治安主管单位"),
            @ApiImplicitParam(name = "officephone", value = "办公电话"),
            @ApiImplicitParam(name = "faxphone", value = "传真电话"),
            @ApiImplicitParam(name = "registeraddress", value = "单位注册地址"),
            @ApiImplicitParam(name = "registertype", value = "注册类型"),
            @ApiImplicitParam(name = "establishtime", value = "成立时间"),
            @ApiImplicitParam(name = "qqnumber", value = "qq号码"),
            @ApiImplicitParam(name = "postcode", value = "邮编"),
            @ApiImplicitParam(name = "roomnumber", value = "工房数量"),
            @ApiImplicitParam(name = "economictype", value = "国民经济类型"),
            @ApiImplicitParam(name = "productioncontent", value = "生产经营项目"),
            @ApiImplicitParam(name = "businessregisternumber", value = "工商注册号"),
            @ApiImplicitParam(name = "organizationstructurecode", value = "组织结构代码"),
            @ApiImplicitParam(name = "validstarttime", value = "有效期开始时间"),
            @ApiImplicitParam(name = "validendtime", value = "有效期结束时间"),
            @ApiImplicitParam(name = "employeenumber", value = "从业人数"),
            @ApiImplicitParam(name = "ispaysafetyinsurance", value = "是否缴纳安全责任险"),
            @ApiImplicitParam(name = "insurancecontractnumber", value = "保险合同号码(保单号) "),
            @ApiImplicitParam(name = "insureamount", value = "投保金额 "),
            @ApiImplicitParam(name = "insurestarttime", value = "投保有效期开始时间"),
            @ApiImplicitParam(name = "insureendtime", value = "投保有效期结束时间 "),
            @ApiImplicitParam(name = "ismajorhazard", value = "是否有重大危险源 "),
            @ApiImplicitParam(name = "isspecialequipment", value = "是否有特种设备 "),
            @ApiImplicitParam(name = "isoccupationalhealthinfo", value = "是否有职业卫生信息 "),
            @ApiImplicitParam(name = "isspecialpersonnel", value = "是否有特种人员 "),
            @ApiImplicitParam(name = "selfrecordingcycle", value = "自查记录周期 "),
            @ApiImplicitParam(name = "isparententerprise", value = "是否有上级企业 "),
            @ApiImplicitParam(name = "parententerpriseid", value = "上级企业id "),
            @ApiImplicitParam(name = "parententerprisename", value = "上级企业名称 "),
            @ApiImplicitParam(name = "infostatus", value = "信息状态 "),
            @ApiImplicitParam(name = "infoupdateby", value = "创建用户(前端cookie获取用户id)"),
            @ApiImplicitParam(name = "infocreatebyname", value = "信息创建人(前端cookie获取用户姓名)"),
            @ApiImplicitParam(name = "legalrepresentative", value = "法定代表人信息(json字符串)"),
            @ApiImplicitParam(name = "mainprincipal", value = "主要负责人(json字符串)"),
            @ApiImplicitParam(name = "securityofficer", value = "安全负责人(json字符串)"),
            @ApiImplicitParam(name = "informationofficer", value = "信息员(json字符串)"),
            @ApiImplicitParam(name = "enterpriselocation", value = "单位坐标"),
    })
    Object addApply(@RequestBody EnterpriseApply enterpriseApply) {
        Msg msg = new Msg();
        msg.setCode("200");
        try {
            enterpriseService.addApply(enterpriseApply, getUser());
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        msg.setResult(enterpriseApply);
        return msg;
    }
    @PostMapping(value = "/addEnterprise")
    @ApiOperation(value = "新增企业信息", httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "safetysupervision", value = "安全监管分类", required = true),
            @ApiImplicitParam(name = "economicindustry", value = "国民经济行业分类", required = true),
            @ApiImplicitParam(name = "enterprisenumber", value = "单位编号"),
            @ApiImplicitParam(name = "enterprisename", value = "企业名称"),
            @ApiImplicitParam(name = "enterpriseemail", value = "电子邮箱"),
            @ApiImplicitParam(name = "enterprisesize", value = "企业规模"),
            @ApiImplicitParam(name = "enterprisestatus", value = "企业状态"),
            @ApiImplicitParam(name = "department", value = "行政主管部门"),
            @ApiImplicitParam(name = "devicenumber", value = "设备编号"),
            @ApiImplicitParam(name = "officeaddress", value = "单位办公地址"),
            @ApiImplicitParam(name = "province", value = "省"),
            @ApiImplicitParam(name = "city", value = "市"),
            @ApiImplicitParam(name = "district", value = "区"),
            @ApiImplicitParam(name = "street", value = "街道"),
            @ApiImplicitParam(name = "committee", value = "委员会"),
            @ApiImplicitParam(name = "securitysupervisory", value = "治安主管单位"),
            @ApiImplicitParam(name = "officephone", value = "办公电话"),
            @ApiImplicitParam(name = "faxphone", value = "传真电话"),
            @ApiImplicitParam(name = "registeraddress", value = "单位注册地址"),
            @ApiImplicitParam(name = "registertype", value = "注册类型"),
            @ApiImplicitParam(name = "establishtime", value = "成立时间"),
            @ApiImplicitParam(name = "qqnumber", value = "qq号码"),
            @ApiImplicitParam(name = "postcode", value = "邮编"),
            @ApiImplicitParam(name = "roomnumber", value = "工房数量"),
            @ApiImplicitParam(name = "economictype", value = "国民经济类型"),
            @ApiImplicitParam(name = "productioncontent", value = "生产经营项目"),
            @ApiImplicitParam(name = "businessregisternumber", value = "工商注册号"),
            @ApiImplicitParam(name = "organizationstructurecode", value = "组织结构代码"),
            @ApiImplicitParam(name = "validstarttime", value = "有效期开始时间"),
            @ApiImplicitParam(name = "validendtime", value = "有效期结束时间"),
            @ApiImplicitParam(name = "employeenumber", value = "从业人数"),
            @ApiImplicitParam(name = "ispaysafetyinsurance", value = "是否缴纳安全责任险"),
            @ApiImplicitParam(name = "insurancecontractnumber", value = "保险合同号码(保单号) "),
            @ApiImplicitParam(name = "insureamount", value = "投保金额 "),
            @ApiImplicitParam(name = "insurestarttime", value = "投保有效期开始时间"),
            @ApiImplicitParam(name = "insureendtime", value = "投保有效期结束时间 "),
            @ApiImplicitParam(name = "ismajorhazard", value = "是否有重大危险源 "),
            @ApiImplicitParam(name = "isspecialequipment", value = "是否有特种设备 "),
            @ApiImplicitParam(name = "isoccupationalhealthinfo", value = "是否有职业卫生信息 "),
            @ApiImplicitParam(name = "isspecialpersonnel", value = "是否有特种人员 "),
            @ApiImplicitParam(name = "selfrecordingcycle", value = "自查记录周期 "),
            @ApiImplicitParam(name = "isparententerprise", value = "是否有上级企业 "),
            @ApiImplicitParam(name = "parententerpriseid", value = "上级企业id "),
            @ApiImplicitParam(name = "parententerprisename", value = "上级企业名称 "),
            @ApiImplicitParam(name = "infostatus", value = "信息状态 "),
            @ApiImplicitParam(name = "legalrepresentative", value = "法定代表人信息(json字符串)"),
            @ApiImplicitParam(name = "mainprincipal", value = "主要负责人(json字符串)"),
            @ApiImplicitParam(name = "securityofficer", value = "安全负责人(json字符串)"),
            @ApiImplicitParam(name = "informationofficer", value = "信息员(json字符串)"),
            @ApiImplicitParam(name = "enterpriselocation", value = "单位坐标"),
    })
    Object addEnterprise(@RequestBody Enterprise enterprise) {
        enterpriseService.checkAddEnterprise(enterprise, true);
        enterpriseService.addEnterprise(enterprise,getUser());
        return success();
    }
    @PostMapping(value = "/modEnterprise")
    @ApiOperation(value = "修改企业信息",httpMethod = "PUT")
    Object modEnterprise(@RequestBody Enterprise enterprise) {
        enterpriseService.checkModEnterprise(enterprise);
        enterpriseService.modEnterprise(enterprise,getUser());
        return success();
    }
    @PostMapping(value = "/delEnterprise")
    @ApiOperation(value = "删除企业信息",httpMethod = "DELETE")
    @ApiImplicitParam(name = "id",value = "企业id")
    Object delEnterprise(@RequestParam Long id) {
        enterpriseService.delEnterprise(id,getUser());
        return success();
    }
    @PostMapping(value = "/deactivateEnterprise")
    @ApiOperation(value = "停用企业信息",httpMethod = "POST")
    @ApiImplicitParam(name = "id",value = "企业id")
    Object deactivateEnterprise(@RequestParam Long id) {
        enterpriseService.deactivateEnterprise(id,null,getUser());
        return success();
    }
    @PostMapping(value = "/activateEnterprise")
    @ApiOperation(value = "启用企业信息",httpMethod = "POST")
    @ApiImplicitParam(name = "id",value = "企业id")
    Object activateEnterprise(@RequestParam Long id) {
        enterpriseService.activateEnterprise(id,null,getUser());
        return success();
    }
    /**
     * @Description: 许可证照信息
     * @date 2021/3/24 9:50
     */
    @PostMapping(value = "/addLicense")
    @ApiOperation(value = "新增许可证书",httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "许可证id(不传)"),
            @ApiImplicitParam(name = "licensenumber",value = "许可证编号",required = true),
            @ApiImplicitParam(name = "licensename",value = "许可证名称",required = true),
            @ApiImplicitParam(name = "authority",value = "发证机关"),
            @ApiImplicitParam(name = "ranges",value = "许可范围"),
            @ApiImplicitParam(name = "validstarttime",value = "有效开始时间"),
            @ApiImplicitParam(name = "validendtime",value = "有效结束时间"),
            @ApiImplicitParam(name = "imgids",value = "删除图片id的list"),
            @ApiImplicitParam(name = "file",value = "上传的文件"),
            @ApiImplicitParam(name = "enterpriseid",value = "企业信息id",required = true),
    })
    Object addEnterpriseLicense(EnterpriseLicenseVo enterpriseLicenseVo) {
        Msg msg = new Msg();
        msg.setCode("200");
        try {
            enterpriseLicenseService.checkEnterpriseLicense(enterpriseLicenseVo);
            enterpriseLicenseService.addEnterpriseLicense(enterpriseLicenseVo,getUser());
        } catch (BusinessException e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage(e.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage("发生错误,请联系管理员");
        }
        return msg;
    }
    @PostMapping(value = "/modLicense")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "许可证id(必传)", required = true),
            @ApiImplicitParam(name = "licensenumber", value = "许可证编号", required = true),
            @ApiImplicitParam(name = "licensename", value = "许可证名称", required = true),
            @ApiImplicitParam(name = "authority", value = "发证机关"),
            @ApiImplicitParam(name = "ranges", value = "许可范围"),
            @ApiImplicitParam(name = "validstarttime", value = "有效开始时间"),
            @ApiImplicitParam(name = "validendtime", value = "有效结束时间"),
            @ApiImplicitParam(name = "imgids", value = "删除图片id的list"),
            @ApiImplicitParam(name = "file", value = "上传的文件"),
            @ApiImplicitParam(name = "enterpriseid", value = "企业信息id", required = true),
    })
    @ApiOperation(value = "修改许可证书", httpMethod = "PUT")
    Object modEnterpriseLicense(EnterpriseLicenseVo enterpriseLicenseVo) {
        Msg msg = new Msg();
        msg.setCode("200");
        try {
            enterpriseLicenseService.checkEnterpriseLicense(enterpriseLicenseVo);
            enterpriseLicenseService.modEnterpriseLicense(enterpriseLicenseVo, getUser());
        } catch (BusinessException e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage(e.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage("发生错误,请联系管理员");
        }
        return msg;
    }
    @PostMapping(value = "/delLicense")
    @ApiOperation(value = "删除许可证书",httpMethod = "PUT")
    @ApiImplicitParam(name = "id", value = "许可证id", required = true)
    Object delEnterpriseLicense(@RequestParam Long id) {
        enterpriseLicenseService.delEnterpriseLicense(id,getUser());
        return success();
    }
    @GetMapping(value = "/licenseList")
    @ApiOperation(value = "获取企业信息的所有许可证",httpMethod = "GET")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "企业id", required = true),
            @ApiImplicitParam(name = "pageIndex",value = "当前页码",required = true),
            @ApiImplicitParam(name = "pageSize",value = "页面大小",required = true),
    })
    Object licenseList(@RequestParam Long id,
                       @RequestParam Integer pageIndex,
                       @RequestParam Integer pageSize) {
        IPage<EnterpriseLicense> iPage = enterpriseLicenseService.selectPage(id, new Page<>(pageIndex, pageSize));
        return success(iPage);
    }
    /**
    * @Description: 治安主管单位信息
    * @date 2021/3/24 11:02
    */
    @PostMapping(value = "/securitySupervisoryList")
    @ApiOperation(value = "治安主管单位信息获取",httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "name", value = "治安主管单位名称"),
            @ApiImplicitParam(name = "pageIndex",value = "当前页码",required = true),
            @ApiImplicitParam(name = "pageSize",value = "页面大小",required = true),
    })
    Object securitySupervisoryList(@RequestBody(required = false) JSONObject filter,
                                   @RequestParam Integer pageIndex,
                                   @RequestParam Integer pageSize) {
        String name = null;
        if (filter != null)
            name = filter.getString("name");
        IPage iPage = securitySupervisoryService.selectPage(new Page<>(pageIndex, pageSize),name);
        return success(iPage);
    }
    /**
     * @Description: 存储库房
     * @date 2021/3/25 9:04
     */
    @GetMapping(value = "/enterpriseWarehouseList")
    @ApiOperation(value = "存储库房列表",httpMethod = "GET")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "企业id", required = true),
            @ApiImplicitParam(name = "pageIndex",value = "当前页码",required = true),
            @ApiImplicitParam(name = "pageSize",value = "页面大小",required = true),
    })
    Object enterpriseWarehouseList(@RequestParam Long id,
                                   @RequestParam Integer pageIndex,
                                   @RequestParam Integer pageSize) {
        IPage iPage = enterpriseWarehouseService.selectPage(new Page<>(pageIndex, pageSize), id);
        return success(iPage);
    }
    @PostMapping(value = "/addEnterpriseWarehouse")
    @ApiOperation(value = "新增库房信息",httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "库房id(不传)"),
            @ApiImplicitParam(name = "bulidingnumber",value = "栋号"),
            @ApiImplicitParam(name = "dangerlevel",value = "危险等级"),
            @ApiImplicitParam(name = "area",value = "面积(m2)"),
            @ApiImplicitParam(name = "limits",value = "限制人数"),
            @ApiImplicitParam(name = "safetyperson",value = "安全责任人"),
            @ApiImplicitParam(name = "imgids", value = "删除图片id的list"),
            @ApiImplicitParam(name = "holdinventory", value = "可容纳库存(箱)"),
            @ApiImplicitParam(name = "file", value = "上传的文件"),
            @ApiImplicitParam(name = "enterpriseid", value = "企业信息id", required = true),
    })
    Object addEnterpriseWarehouse(EnterpriseWarehouseVo enterpriseLicenseVo){
        Msg msg = new Msg();
        msg.setCode("200");
        try {
            enterpriseWarehouseService.checkEnterpriseWarehouse(enterpriseLicenseVo);
            enterpriseWarehouseService.addEnterpriseWarehouse(enterpriseLicenseVo,getUser());
        } catch (BusinessException e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage(e.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage("发生错误,请联系管理员");
        }
        return msg;
    }
    @PostMapping(value = "/modEnterpriseWarehouse")
    @ApiOperation(value = "修改库房信息", httpMethod = "PUT")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "库房id(必传)", required = true),
            @ApiImplicitParam(name = "bulidingnumber", value = "栋号"),
            @ApiImplicitParam(name = "dangerlevel", value = "危险等级"),
            @ApiImplicitParam(name = "area", value = "面积(m2)"),
            @ApiImplicitParam(name = "limits", value = "限制人数"),
            @ApiImplicitParam(name = "safetyperson", value = "安全责任人"),
            @ApiImplicitParam(name = "imgids", value = "删除图片id的list"),
            @ApiImplicitParam(name = "holdinventory", value = "可容纳库存(箱)"),
            @ApiImplicitParam(name = "file", value = "上传的文件"),
            @ApiImplicitParam(name = "enterpriseid", value = "企业信息id", required = true),
    })
    Object modEnterpriseWarehouse(EnterpriseWarehouseVo enterpriseLicenseVo) {
        Msg msg = new Msg();
        msg.setCode("200");
        try {
            enterpriseWarehouseService.checkEnterpriseWarehouse(enterpriseLicenseVo);
            enterpriseWarehouseService.modEnterpriseWarehouse(enterpriseLicenseVo, getUser());
        } catch (BusinessException e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage(e.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage("发生错误,请联系管理员");
        }
        return msg;
    }
    @PostMapping(value = "/delEnterpriseWarehouse")
    @ApiOperation(value = "删除库房信息",httpMethod = "DELETE")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "库房id必传", required = true),
    })
    Object delEnterpriseWarehouse(@RequestParam Long id) {
        enterpriseWarehouseService.delEnterpriseWarehouse(id,getUser());
        return success();
    }
    /**
     * @Description: 安全生产标准化
     * @date 2021/3/25 9:58
     */
    @GetMapping(value = "/enterpriseStandardizationList")
    @ApiOperation(value = "安全生产标准化信息", httpMethod = "GET")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "企业id必传", required = true),
            @ApiImplicitParam(name = "pageIndex", value = "当前页码", required = true),
            @ApiImplicitParam(name = "pageSize", value = "页面大小", required = true),
    })
    Object enterpriseStandardizationList(@RequestParam Long id) {
        EnterpriseStandardization one = enterpriseStandardizationService.getOne(id);
        return success(one);
    }
    @PostMapping(value = "/addEnterpriseStandardization")
    @ApiOperation(value = "新增安全生产标准化信息", httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "安全生产标准化信息id(不传)"),
            @ApiImplicitParam(name = "level", value = "标准化级别"),
            @ApiImplicitParam(name = "licensenumber", value = "证书编号"),
            @ApiImplicitParam(name = "reviewunit", value = "评审单位"),
            @ApiImplicitParam(name = "licensingunit", value = "发牌单位"),
            @ApiImplicitParam(name = "score", value = "考核得分"),
            @ApiImplicitParam(name = "imgids", value = "删除图片id的list"),
            @ApiImplicitParam(name = "validstarttime", value = "有效开始时间"),
            @ApiImplicitParam(name = "validendtime", value = "validendtime"),
            @ApiImplicitParam(name = "imgids", value = "删除图片id的list"),
            @ApiImplicitParam(name = "file", value = "上传的文件"),
            @ApiImplicitParam(name = "enterpriseid", value = "企业id", required = true),
    })
    Object addEnterpriseStandardization(EnterpriseStandardizationVo enterpriseStandardizationVo) {
        Msg msg = new Msg();
        msg.setCode("200");
        try {
            enterpriseStandardizationService.checkEnterpriseStandardization(enterpriseStandardizationVo);
            enterpriseStandardizationService.addEnterpriseStandardization(enterpriseStandardizationVo, getUser());
        } catch (BusinessException e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage(e.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage("发生错误,请联系管理员");
        }
        return msg;
    }
    @PostMapping(value = "/modEnterpriseStandardization")
    @ApiOperation(value = "修改安全生产标准化信息",httpMethod = "PUT")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "安全生产标准化信息id(必传)",required = true),
            @ApiImplicitParam(name = "level", value = "标准化级别"),
            @ApiImplicitParam(name = "licensenumber", value = "证书编号"),
            @ApiImplicitParam(name = "reviewunit", value = "评审单位"),
            @ApiImplicitParam(name = "licensingunit", value = "发牌单位"),
            @ApiImplicitParam(name = "score", value = "考核得分"),
            @ApiImplicitParam(name = "imgids", value = "删除图片id的list"),
            @ApiImplicitParam(name = "validstarttime", value = "有效开始时间"),
            @ApiImplicitParam(name = "validendtime", value = "validendtime"),
            @ApiImplicitParam(name = "imgids", value = "删除图片id的list"),
            @ApiImplicitParam(name = "file", value = "上传的文件"),
            @ApiImplicitParam(name = "enterpriseid", value = "企业id", required = true),
    })
    Object modEnterpriseStandardization(EnterpriseStandardizationVo enterpriseStandardizationVo){
        Msg msg = new Msg();
        msg.setCode("200");
        try {
            enterpriseStandardizationService.checkEnterpriseStandardization(enterpriseStandardizationVo);
            enterpriseStandardizationService.modEnterpriseStandardization(enterpriseStandardizationVo,getUser());
        } catch (BusinessException e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage(e.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage("发生错误,请联系管理员");
        }
        return msg;
    }
    @PostMapping(value = "/delEnterpriseStandardization")
    @ApiOperation(value = "删除安全生产标准化信息",httpMethod = "DELETE")
    @ApiImplicitParam(name = "id", value = "安全生产标准化信息id(必传)", required = true)
    Object delEnterpriseStandardization(@RequestParam Long id){
        enterpriseStandardizationService.delEnterpriseStandardization(id,getUser());
        return success();
    }
    /**
     * @Description: 安全人员资格|特种人员资格
     * @date 2021/3/26 10:57
     */
    @GetMapping(value = "/enterprisePerson")
    @ApiOperation(value = "安全人员资格|特种人员资格信息查询", httpMethod = "GET")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "企业id(必传)", required = true),
            @ApiImplicitParam(name = "category", value = "人员种类(SECURITY,SPECIAL)", required = true),
            @ApiImplicitParam(name = "pageIndex", value = "当前页码", required = true),
            @ApiImplicitParam(name = "pageSize", value = "页面大小", required = true),
    })
    Object enterprisePersonList(@RequestParam Long id,
                                @RequestParam PersonnelCategory category,
                                @RequestParam Integer pageIndex,
                                @RequestParam Integer pageSize) {
        IPage page = enterprisePersonService.selectPage(new Page<>(pageIndex, pageSize), id, category);
        return success(page);
    }
    @PostMapping(value = "/addenterprisePerson")
    @ApiOperation(value = "新增人员", httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "人员id(不传)"),
            @ApiImplicitParam(name = "name", value = "姓名", required = true),
            @ApiImplicitParam(name = "post", value = "职务", required = true),
            @ApiImplicitParam(name = "number", value = "证书编号", required = true),
            @ApiImplicitParam(name = "validstarttime", value = "有效开始时间"),
            @ApiImplicitParam(name = "validendtime", value = "有效结束时间"),
            @ApiImplicitParam(name = "memo", value = "备注"),
            @ApiImplicitParam(name = "isreview", value = "是否复检"),
            @ApiImplicitParam(name = "imgids", value = "删除图片id的list"),
            @ApiImplicitParam(name = "file", value = "上传的文件"),
            @ApiImplicitParam(name = "enterpriseid", value = "企业id", required = true),
    })
    Object addEnterprisePerson(EnterprisePersonVo enterprisePersonVo) {
            Msg msg = new Msg();
            msg.setCode("200");
        try {
            enterprisePersonService.checkEnterprisePerson(enterprisePersonVo);
            enterprisePersonService.addEnterprisePerson(enterprisePersonVo, getUser());
        } catch (BusinessException e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage(e.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage("发生错误,请联系管理员");
        }
        return msg;
    }
    @PostMapping(value = "/putenterprisePerson")
    @ApiOperation(value = "修改人员", httpMethod = "PUT")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "人员id(必传)", required = true),
            @ApiImplicitParam(name = "name", value = "姓名", required = true),
            @ApiImplicitParam(name = "post", value = "职务", required = true),
            @ApiImplicitParam(name = "number", value = "证书编号", required = true),
            @ApiImplicitParam(name = "validstarttime", value = "有效开始时间"),
            @ApiImplicitParam(name = "validendtime", value = "有效结束时间"),
            @ApiImplicitParam(name = "memo", value = "备注"),
            @ApiImplicitParam(name = "isreview", value = "是否复检"),
            @ApiImplicitParam(name = "imgids", value = "删除图片id的list"),
            @ApiImplicitParam(name = "file", value = "上传的文件"),
            @ApiImplicitParam(name = "enterpriseid", value = "企业id", required = true),
    })
    Object modEnterprisePerson(EnterprisePersonVo enterprisePersonVo) {
        Msg msg = new Msg();
        msg.setCode("200");
        try {
            enterprisePersonService.checkEnterprisePerson(enterprisePersonVo);
            enterprisePersonService.modEnterprisePerson(enterprisePersonVo, getUser());
        } catch (BusinessException e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage(e.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage("发生错误,请联系管理员");
        }
        return msg;
    }
    @PostMapping(value = "/delenterprisePerson")
    @ApiOperation(value = "删除人员", httpMethod = "DELETE")
    @ApiImplicitParam(name = "id", value = "id必传", required = true)
    Object delEnterprisePerson(@RequestParam Long id) {
        enterprisePersonService.delEnterprisePerson(id, getUser());
        return success();
    }
    /**
    * @Description: 年度库存
    * @date 2021/3/26 15:05
    */
    @GetMapping(value = "/annual")
    @ApiOperation(value = "年度库存", httpMethod = "GET")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "企业id必传", required = true),
            @ApiImplicitParam(name = "pageIndex", value = "当前页码", required = true),
            @ApiImplicitParam(name = "pageSize", value = "页面大小", required = true),
    })
    Object enterprisePersonList(@RequestParam Long id,
                                @RequestParam Integer pageIndex,
                                @RequestParam Integer pageSize) {
        IPage page = enterpriseAnnualService.selectPage(new Page<>(pageIndex, pageSize), id);
        return success(page);
    }
    @PostMapping(value = "/addannual")
    @ApiOperation(value = "新增年度库存", httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "year", value = "年度", required = true),
            @ApiImplicitParam(name = "amount", value = "当前页码", required = true),
            @ApiImplicitParam(name = "type", value = "类别", required = true),
    })
    Object addEnterpriseAnnual(@RequestBody EnterpriseAnnual enterpriseAnnual) {
        enterpriseAnnualService.checkEnterpriseAnnual(enterpriseAnnual);
        enterpriseAnnualService.addEnterpriseAnnual(enterpriseAnnual,getUser());
        return success();
    }
    @PostMapping(value = "/putannual")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "年度库存id(必传)", required = true),
            @ApiImplicitParam(name = "year", value = "年度", required = true),
            @ApiImplicitParam(name = "amount", value = "当前页码", required = true),
            @ApiImplicitParam(name = "type", value = "类别", required = true),
    })
    @ApiOperation(value = "修改年度库存", httpMethod = "PUT")
    Object modEnterpriseAnnual(@RequestBody EnterpriseAnnual enterpriseAnnual) {
        enterpriseAnnualService.checkEnterpriseAnnual(enterpriseAnnual);
        enterpriseAnnualService.modEnterpriseAnnual(enterpriseAnnual,getUser());
        return success();
    }
    @PostMapping(value = "/delannual")
    @ApiOperation(value = "删除年度库存", httpMethod = "DELETE")
    @ApiImplicitParam(name = "id", value = "年度库存id(必传)", required = true)
    Object delEnterpriseAnnual(@RequestParam Long id) {
        enterpriseAnnualService.delEnterpriseAnnual(id,getUser());
        return success();
    }
    /**
    * @Description: 应急救援预案 | 流向信息管理承诺书
    * @author celin
    * @date 2021/3/26 19:08
    */
    @GetMapping(value = "/document")
    @ApiOperation(value = "预案|承诺书", httpMethod = "GET")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id",value = "企业id",required = true),
            @ApiImplicitParam(name = "type",value = "文件种类(RESCUE,FLOW)->救援和流向",required = true),
            @ApiImplicitParam(name = "pageIndex", value = "当前页码", required = true),
            @ApiImplicitParam(name = "pageSize", value = "页面大小", required = true),
    })
    Object documentList(@RequestParam Long id,
                        @RequestParam DocumentType type,
                                @RequestParam Integer pageIndex,
                                @RequestParam Integer pageSize) {
        IPage page = enterpriseDocumentService.selectPage(new Page<>(pageIndex, pageSize), id,type);
        return success(page);
    }
    @PostMapping(value = "/adddocument")
    @ApiOperation(value = "新增预案|承诺书", httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id",value = "预案|承诺书id(不传)"),
            @ApiImplicitParam(name = "name",value = "文件种类(0,1)->救援和流向",required = true),
            @ApiImplicitParam(name = "memo",value = "备注"),
            @ApiImplicitParam(name = "ids", value = "删除文档id的list"),
            @ApiImplicitParam(name = "file", value = "上传的文件"),
            @ApiImplicitParam(name = "enterpriseid", value = "企业id", required = true),
    })
    Object addDocument( EnterpriseDocumentVo enterpriseDocumentVo) {
        Msg msg = new Msg();
        msg.setCode("200");
        try {
            enterpriseDocumentService.checkDocument(enterpriseDocumentVo,true);
            enterpriseDocumentService.addDocument(enterpriseDocumentVo,getUser());
        } catch (BusinessException e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage(e.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage("发生错误,请联系管理员");
        }
        return msg;
    }
    @PostMapping(value = "/putdocument")
    @ApiOperation(value = "修改预案|承诺书", httpMethod = "PUT")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id",value = "预案|承诺书id(必传)"),
            @ApiImplicitParam(name = "name",value = "文件种类(0,1)->救援和流向",required = true),
            @ApiImplicitParam(name = "memo",value = "备注"),
            @ApiImplicitParam(name = "ids", value = "删除文档id的list"),
            @ApiImplicitParam(name = "file", value = "上传的文件"),
            @ApiImplicitParam(name = "enterpriseid", value = "企业id", required = true),
    })
    Object modDocument(EnterpriseDocumentVo enterpriseDocumentVo) {
        Msg msg = new Msg();
        msg.setCode("200");
        try {
            enterpriseDocumentService.checkDocument(enterpriseDocumentVo,false);
            enterpriseDocumentService.modDocument(enterpriseDocumentVo,getUser());
        } catch (BusinessException e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage(e.getMessage());
        } catch (Exception e) {
            e.printStackTrace();
            msg.setCode("400");
            msg.setMessage("发生错误,请联系管理员");
        }
        return msg;
    }
    @PostMapping(value = "/deldocument")
    @ApiOperation(value = "删除预案|承诺书", httpMethod = "DELETE")
    @ApiImplicitParam(name = "id",value = "预案|承诺书id(必传)")
    Object delDocument(@RequestParam Long id) {
        enterpriseDocumentService.delDocument(id,getUser());
        return success();
    }
    @GetMapping(value = "/manufacturerTree")
    public List<Tree> getManufacturerTree() {
        List<Tree> trees = new ArrayList<>();
        if (getUser().getCompanyid() != null) {
            Enterprise enterprise = enterpriseService.selectEnterpriseByCompanyId(getUser().getCompanyid());
            if (enterprise == null || enterprise.getSafetysupervision().equals(EnterpriseSafetySupervision.PRODUCE.getMsg())) {
                Tree tree = new Tree();
                tree.setText(enterprise != null ? enterprise.getEnterprisename() : null);
                tree.setAttributes(enterprise != null ? enterprise.getEnterprisenumber() : null);
                trees.add(tree);
                return trees;
            }
        }
        List<Enterprise>enterprises = enterpriseService.selectProduceEnterprise();
        for (Enterprise enterprise :enterprises){
            Tree tree = new Tree();
            tree.setText(enterprise != null ? enterprise.getEnterprisename() : null);
            tree.setAttributes(enterprise != null ? enterprise.getEnterprisenumber() : null);
            trees.add(tree);
        }
        return trees;
    }
    /**
     * @Description: 根据企业单位编号获取企业信息和实名登记和自查自改和销售数据
     * @date 2021/4/14 8:16
     */
    @GetMapping(value = "/enterprise-detail")
    @ApiOperation(value = "根据企业单位编号获取企业信息和实名登记、自查自改和销售数据", httpMethod = "GET")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "enterpriseNumber",value = "企业单位编号"),
            @ApiImplicitParam(name = "days",value = "时间范围(往前推days天)"),
            @ApiImplicitParam(name = "starttime",value = "开始时间"),
            @ApiImplicitParam(name = "endtime",value = "结束时间"),
    })
    Object getEnterpriseDetail(@RequestParam String enterpriseNumber,@RequestParam(defaultValue = "90") Integer days,
                               String starttime, String endtime) {
        Map result = enterpriseService.getEnterpriseDetail(enterpriseNumber, days, starttime, endtime);
        return success(result);
    }
    @GetMapping(value = "/enterprise-saledetail")
    @ApiOperation(value = "根据企业单位编号时间流向码获取销售明细", httpMethod = "GET")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "enterpriseNumber",value = "企业单位编号"),
            @ApiImplicitParam(name = "itemcode",value = "产品编码"),
            @ApiImplicitParam(name = "starttime",value = "开始时间"),
            @ApiImplicitParam(name = "endtime",value = "结束时间"),
    })
    Object getEnterpriseSaleDetail(@RequestParam String enterpriseNumber,String itemcode,
                               String starttime, String endtime) {
        List<SaleOrderDetailInfo> result = enterpriseService.getEnterpriseSaleDetail(enterpriseNumber, itemcode, starttime, endtime);
        return success(result);
    }
    /**
     * @Description: 他人信息反馈,或者企业自检
     * @date 2021/5/11 15:16
     */
    @PostMapping(value = "/feedList")
    @ApiOperation(value = "他人信息反馈,或者企业自检", httpMethod = "GET")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "id", value = "企业单位id"),
            @ApiImplicitParam(name = "pageIndex", value = "页码"),
            @ApiImplicitParam(name = "pageSize", value = "页大小")
    })
    Object feedList(@RequestParam Long id,
                    @RequestParam Integer pageIndex,
                    @RequestParam Integer pageSize) {
        IPage page = enterpriseFeedService.selectPages(new Page<>(pageIndex, pageSize), id, getUser());
        return success(page);
    }
    /**
     * @Description: 新增他人信息反馈,或者企业自检
     * @date 2021/5/11 15:16
     */
    @PostMapping(value = "/feed")
    @ApiOperation(value = "新增他人信息反馈,或者企业自检", httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "enterpriseNumber", value = "企业单位编号"),
            @ApiImplicitParam(name = "days", value = "时间范围(往前推days天)"),
            @ApiImplicitParam(name = "enterpriseid", value = "企业id必传")
    })
    Object addFeed(EnterpriseFeedVo enterpriseFeedVo) {
        enterpriseFeedService.addFeed(enterpriseFeedVo, getUser());
        return success();
    }
    /**
    * @Description: 导入
    * @date 2021/5/13 18:47
    */
    @PostMapping(value = "/import/feed/{id}")
    @ApiOperation(value = "导入他人信息反馈,或者企业自检", httpMethod = "POST")
    Object importFeed(MultipartFile file,@PathVariable Long id) {
        enterpriseFeedService.importFeed(file, getUser(),id);
        return success();
    }
    /**
     * @Description: 导出单个企业
     * @date 2021/5/13 18:47
     */
    @PostMapping(value = "/exportOne/feed")
    @ApiOperation(value = "导出他人信息反馈,或者企业自检", httpMethod = "POST")
    @ApiImplicitParam(name = "id", value = "企业id")
    Object exportFeedById(@RequestParam Long id) {
        List<Map> list = enterpriseFeedService.exportFeedById(id);
        return success(list);
    }
    /**
     * @Description: 导出
     * @date 2021/5/13 18:47
     */
    @PostMapping(value = "/export/feed")
    @ApiOperation(value = "导出他人信息反馈,或者企业自检", httpMethod = "POST")
    Object exportFeed(@RequestBody FilterObject filterObject) {
        List<Map> list = enterpriseFeedService.exportFeed(filterObject.getFilter(), getUser());
        return success(list);
    }
    /**
    * @Description: 信息导出
    * @date 2021/4/16 17:18
    */
    /**
    * @Description: 企业信息导出
    * @date 2021/4/16 17:35
    */
    @PostMapping(value = "/export/enterprise")
    @ApiOperation(value = "企业基本信息导出", httpMethod = "POST")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "filter.safetysupervision", value = "安全监管分类", required = true),
            @ApiImplicitParam(name = "filter.economicIndustry", value = "国民经济行业分类", required = true),
            @ApiImplicitParam(name = "filter.enterprisename", value = "企业名称", required = true),
            @ApiImplicitParam(name = "filter.valid", value = "有效期(0,1)", required = true),
            @ApiImplicitParam(name = "filter.province", value = "省", required = true),
            @ApiImplicitParam(name = "filter.city", value = "市", required = true),
            @ApiImplicitParam(name = "filter.district", value = "区", required = true),
            @ApiImplicitParam(name = "filter.street", value = "街道", required = true),
            @ApiImplicitParam(name = "filter.committee", value = "委员会", required = true),
    })
    Object exportList(@RequestBody FilterObject enterpriseFilter) {
        List<EnterpriseExportVo> list = enterpriseService.selectExportEnterprise(enterpriseFilter.getFilter(), getUser());
        return success(list);
    }
    /**
    * @Description: 企业信息导入
    * @date 2021/4/19 8:52
    */
    @PostMapping(value = "/import/enterprise")
    @ApiOperation(value = "企业基本信息导入", httpMethod = "POST")
    @ApiImplicitParam(name = "file", value = "文件类型", required = true)
    Object importEnterprise(MultipartFile file) {
        Msg msg = new Msg();
        msg.setCode("200");
        BooleanReason blret = enterpriseService.importEnterprise(file, getUser());
        if(blret.getValue().equals(false))
        {
            msg.setCode("500");
            msg.setMessage(blret.getResultmsg());
            return msg;
        }
        return msg;
    }
    /**
     * @Description: 发送一个请求触发任务
     * @date 2021/4/19 8:52
     */
    @PostMapping(value = "/task/checkEnterprise")
    void checkEnterprise() {
        UserInfo userInfo = getUser();
        UserInfo user = userService.getById(userInfo.getId());
        new Thread(new CheckEnterpriseTask(user)).start();
    }
    /**
     * @Description: 获取未完善企业分页
     * @date 2021/8/4 8:40
     */
    @PostMapping(value = "/undoneList")
    @ApiOperation(value = "获取未完善企业分页", httpMethod = "POST")
    public Object undoneList(@RequestBody FilterObject filter) {
        Integer pageIndex = filter.getPageIndex();
        Integer pageSize = filter.getPageSize();
        IPage page = enterpriseService.selectUndoneList(new Page<>(pageIndex, pageSize), filter.getFilter(), getUser());
        return success(page);
    }
    /**
    * @Description: 导出未完善企业
    * @date 2021/8/4 14:05
    */
    @PostMapping(value = "/export/undoneList")
    @ApiOperation(value = "导出未完善企业", httpMethod = "POST")
    public Object exportUndoneList(@RequestBody FilterObject filter) {
        List<Enterprise> exportData= enterpriseService.selectExportUndoneList(filter.getFilter(), getUser());
        return success(exportData);
    }
     /**
      * @Description: 获取已过期的企业
      * @date 2021/11/12 16:00
      */
    @PostMapping(value = "/expiredList")
    @ApiOperation(value = "获取已过期的企业", httpMethod = "POST")
    public Object ExpiredList(@RequestBody FilterObject filter) {
        Integer pageIndex = filter.getPageIndex();
        Integer pageSize = filter.getPageSize();
        IPage page = enterpriseService.selectExpiredList(new Page<>(pageIndex, pageSize), filter.getFilter(), getUser());
        return success(page);
    }
    /**
    * @Description: 导出已经过期的企业
    * @date 2021/11/12 16:00
    */
    @PostMapping(value = "/export/expiredList")
    @ApiOperation(value = "导出已经过期的企业", httpMethod = "POST")
    public Object exportExpiredList(@RequestBody FilterObject filter) {
        List<Enterprise> exportData= enterpriseService.selectExportExpiredList(filter.getFilter(), getUser());
        return success(exportData);
    }
    /**
     * @Description: 导入丹灵单位代码   根据单位名称匹配丹灵单位代码
     * @date 2022/1/26 13:58
     */
    @PostMapping(value = "/import/dlcompanycode")
    @ApiOperation(value = "导入丹灵单位代码", httpMethod = "POST")
    public Msg importDlCompanyCode(MultipartFile file) {
        BooleanReason booleanReason = enterpriseService.importDlCompanyCode(file, getUser());
        return success(booleanReason);
    }
    /**
    * @Description: 导出表格,导出所有丹灵单位代码不为空的企业信息
    * @date 2022/1/26 15:21
    */
    @PostMapping(value = "/export/dlcompanycode")
    @ApiOperation(value = "导入丹灵单位代码", httpMethod = "POST")
    public Msg exportDlCompanyCode() {
        List<Enterprise> result = enterpriseService.exportDlCompanyCode();
        return success(result);
    }
      /**
     * @Description: 注销
     * @date 2022/2/23 0:57
     */
    @PostMapping(value = "/logout")
    public Msg logout(@RequestBody List<Long> ids) {
        enterpriseService.logout(ids,getUser());
        return success();
    }
    /**
     * @Description: 注销恢复成有效
     * @date 2022/2/23 0:57
     */
    @PostMapping(value = "/recoverLogin")
    public Msg recoverLogin(@RequestParam Long id) {
        enterpriseService.recoverLogin(id,getUser());
        return success();
    }
    /**
     * @Description: 注销恢复成有效
     * @date 2022/2/23 0:57
     */
    @PostMapping(value = "/recoverLoginBatch")
    public Msg recoverLoginBatch(@RequestBody List<Long> ids) {
        enterpriseService.recoverLoginBatch(ids,getUser());
        return success();
    }
}