增加企业信息管理、企业信息审核、在线巡查等controller类

This commit is contained in:
hanqi 2025-03-07 17:24:32 +08:00
parent 1ef15e0829
commit bb2614d5cf
7 changed files with 616 additions and 0 deletions

View File

@ -0,0 +1,174 @@
package com.aisino.iles.lawenforcement.controller;
import com.aisino.iles.common.model.*;
import com.aisino.iles.common.util.Constants;
import com.aisino.iles.common.util.ExportExcelUtil;
import com.aisino.iles.core.annotation.CurrentUser;
import com.aisino.iles.lawenforcement.model.EnterpriseAudit;
import com.aisino.iles.lawenforcement.model.query.EnterpriseQuery;
import com.aisino.iles.lawenforcement.service.EnterpriseAuditService;
import com.smartlx.sso.client.model.RemoteUserInfo;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
* 综合执法/企业审核信息管理
*/
@RestController
@RequestMapping(Constants.API_PREFIX + "/lawenforcement/enterpriseAudits")
public class EnterpriseAuditController {
private final EnterpriseAuditService enterpriseAuditService;
public EnterpriseAuditController(EnterpriseAuditService enterpriseAuditService) {
this.enterpriseAuditService = enterpriseAuditService;
}
/**
* 创建企业审核信息
*
* @param enterpriseAudit 企业审核信息
* @return 创建结果
*/
@PostMapping
public Result<EnterpriseAudit> createEnterpriseAudit(@RequestBody EnterpriseAudit enterpriseAudit, @CurrentUser RemoteUserInfo user) {
return Ok.of(enterpriseAuditService.saveEnterpriseAudit(enterpriseAudit, user, "add"));
}
/**
* 根据ID查询企业审核信息
*
* @param enterpriseId 企业ID
* @return 企业审核信息
*/
@GetMapping("/{enterpriseId}")
public Result<EnterpriseAudit> getEnterpriseAuditById(@PathVariable String enterpriseId) {
return enterpriseAuditService.findEnterpriseAuditById(enterpriseId)
.map(e -> ((Result<EnterpriseAudit>) Ok.of(e)))
.orElse(Fail.of("企业审核信息不存在"));
}
/**
* 分页查询企业审核信息
*
* @param query 查询条件
* @return 分页企业审核信息
*/
@GetMapping
public PageResult<EnterpriseAudit> getEnterpriseAuditsPage(EnterpriseQuery query) {
Page<EnterpriseAudit> page = enterpriseAuditService.findEnterpriseAuditsPage(query);
return PageResult.of(page);
}
/**
* 更新企业审核信息
*
* @param enterpriseId 企业ID
* @param enterpriseAudit 企业审核信息
* @return 更新结果
*/
@PutMapping("/{enterpriseId}")
public Result<EnterpriseAudit> updateEnterpriseAudit(@PathVariable String enterpriseId,
@RequestBody EnterpriseAudit enterpriseAudit,
@CurrentUser RemoteUserInfo user) {
if (!enterpriseAuditService.existsEnterpriseAuditById(enterpriseId)) {
return Fail.of("企业审核信息不存在");
}
enterpriseAudit.setEnterpriseId(enterpriseId);
return Ok.of(enterpriseAuditService.saveEnterpriseAudit(enterpriseAudit, user, "update"));
}
/**
* 企业上报审核
*
* @param enterpriseId 企业ID
* @param enterpriseAudit 企业审核信息
* @return 更新结果
*/
@PutMapping("/audit/{enterpriseId}")
public Result<EnterpriseAudit> audit(@PathVariable String enterpriseId,
@RequestBody EnterpriseAudit enterpriseAudit,
@CurrentUser RemoteUserInfo user) {
if (!enterpriseAuditService.existsEnterpriseAuditById(enterpriseId)) {
return Fail.of("企业审核信息不存在");
}
enterpriseAudit.setEnterpriseId(enterpriseId);
return Ok.of(enterpriseAuditService.saveEnterpriseAudit(enterpriseAudit, user, "audit"));
}
/**
* 根据ID删除企业审核信息
*
* @param enterpriseId 企业ID
* @return 删除结果
*/
@DeleteMapping("/{enterpriseId}")
public Result<Void> deleteEnterpriseAuditById(@PathVariable String enterpriseId) {
if (!enterpriseAuditService.existsEnterpriseAuditById(enterpriseId)) {
return Fail.of("企业审核信息不存在");
}
enterpriseAuditService.deleteEnterpriseAuditById(enterpriseId);
return Ok.of();
}
/**
* 批量删除企业审核信息
*
* @param enterpriseIds 企业ID列表
* @return 删除结果
*/
@DeleteMapping
public Result<Void> deleteEnterpriseAuditsByIds(@RequestBody List<String> enterpriseIds) {
enterpriseAuditService.deleteEnterpriseAuditsByIds(enterpriseIds);
return Ok.of();
}
/**
* 导出Excel
*
* @param excelParam 查询参数
* @param response 响应
*/
@PostMapping(value = "/export")
public void taskExport(@RequestBody(required = false) ExportExcelParam<EnterpriseQuery> excelParam, HttpServletResponse response) {
EnterpriseQuery query = excelParam.getObj();
List<EnterpriseAudit> list = enterpriseAuditService.findAllEnterpriseAudits(query);
list.forEach(dto -> {
dto.setIndustryType(Constants.DictDisplay.hylbMap.get(dto.getIndustryType()));
dto.setBusinessStatus(Constants.DictDisplay.yyztMap.get(dto.getBusinessStatus()));
dto.setBusinessCategory(Constants.DictDisplay.qyflMap.get(dto.getBusinessCategory()));
dto.setAuditStatus("1".equals(dto.getAuditStatus()) ? "已通过" : ("2".equals(dto.getAuditStatus()) ? "未通过" : "未审核"));
});
if (list.isEmpty()) throw new RuntimeException("无查询结果不能导出");
List<String> labels = new ArrayList<>();
labels.add("监管行业");
labels.add("生产经营单位名称");
labels.add("社会统一信用代码");
labels.add("注册详址");
labels.add("负责人");
labels.add("联系方式");
labels.add("营业状态");
labels.add("企业分类");
labels.add("所属监管部门");
labels.add("审核结果");
List<String> props = new ArrayList<>();
props.add("industryType");
props.add("unitName");
props.add("unifiedSocialCode");
props.add("detailedAddress");
props.add("mainName");
props.add("mainPhone");
props.add("businessStatus");
props.add("businessCategory");
props.add("agency.agencyName");
props.add("auditStatus");
excelParam.setLabels(labels);
excelParam.setProps(props);
ExportExcelUtil.exportExcel(response, excelParam, list);
}
}

View File

@ -0,0 +1,35 @@
package com.aisino.iles.lawenforcement.controller;
import com.aisino.iles.common.model.Ok;
import com.aisino.iles.common.model.Result;
import com.aisino.iles.common.util.Constants;
import com.aisino.iles.lawenforcement.service.EnterpriseCameraService;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 综合执法/企业监控点信息
*/
@RestController
@RequestMapping(Constants.API_PREFIX + "/lawenforcement/enterprises/camera")
public class EnterpriseCameraController {
private final EnterpriseCameraService enterpriseCameraService;
public EnterpriseCameraController(EnterpriseCameraService enterpriseCameraService) {
this.enterpriseCameraService = enterpriseCameraService;
}
/**
* 分页查询企业预警信息
*
* @param uscc 查询条件
* @return 执法信息
*/
@GetMapping
public Result<List> getEnterpriseCamera(String uscc) {
return Ok.of(enterpriseCameraService.findEnterpriseCamera(uscc));
}
}

View File

@ -0,0 +1,257 @@
package com.aisino.iles.lawenforcement.controller;
import com.aisino.iles.common.model.*;
import com.aisino.iles.common.util.Constants;
import com.aisino.iles.common.util.ExportExcelUtil;
import com.aisino.iles.core.annotation.CurrentUser;
import com.aisino.iles.lawenforcement.model.Enterprise;
import com.aisino.iles.lawenforcement.model.dto.EnterpriseDto;
import com.aisino.iles.lawenforcement.model.query.EnterpriseQuery;
import com.aisino.iles.lawenforcement.service.EnterpriseService;
import com.smartlx.sso.client.model.RemoteUserInfo;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.data.domain.Page;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* 综合执法/企业管理
*/
@RestController
@RequestMapping(Constants.API_PREFIX + "/lawenforcement/enterprises")
public class EnterpriseController {
private final EnterpriseService enterpriseService;
public EnterpriseController(EnterpriseService enterpriseService) {
this.enterpriseService = enterpriseService;
}
/**
* 创建企业信息
*
* @param enterprise 企业信息
* @return 创建结果
*/
@PostMapping
public Result<Enterprise> createEnterprise(@RequestBody Enterprise enterprise, @CurrentUser RemoteUserInfo userInfo) {
return Ok.of(enterpriseService.saveEnterprise(enterprise, userInfo));
}
/**
* 根据ID查询企业信息
*
* @param enterpriseId 企业ID
* @return 企业信息
*/
@GetMapping("/{enterpriseId}")
public Result<Enterprise> getEnterpriseById(@PathVariable String enterpriseId) {
return enterpriseService.findEnterpriseById(enterpriseId).map(e -> ((Result<Enterprise>) Ok.of(e))).orElse(Fail.of("企业信息不存在"));
}
/**
* 分页查询企业信息
*
* @param query 查询条件
* @return 分页企业信息
*/
@GetMapping
public PageResult<EnterpriseDto> getEnterprisesPage(EnterpriseQuery query, @CurrentUser RemoteUserInfo user) {
Page<EnterpriseDto> page = enterpriseService.findEnterprisesPage(query, user);
return PageResult.of(page);
}
/**
* 更新企业信息
*
* @param enterpriseId 企业ID
* @param enterprise 企业信息
* @return 更新结果
*/
@PutMapping("/{enterpriseId}")
public Result<Enterprise> updateEnterprise(@PathVariable String enterpriseId, @RequestBody Enterprise enterprise, @CurrentUser RemoteUserInfo user) {
if (!enterpriseService.existsEnterpriseById(enterpriseId)) return Fail.of("企业信息不存在");
enterprise.setEnterpriseId(enterpriseId);
if (!StringUtils.hasText(enterprise.getOperate())) {
enterprise.setOperate("update");
return Ok.of(enterpriseService.saveEnterprise(enterprise, user));
} else return Ok.of(enterpriseService.operateEnterprise(enterprise, user));
}
/**
* 根据ID删除企业信息
*
* @param enterpriseId 企业ID
* @return 删除结果
*/
@DeleteMapping("/{enterpriseId}")
public Result<Void> deleteEnterpriseById(@PathVariable String enterpriseId, @CurrentUser RemoteUserInfo user) {
if (!enterpriseService.existsEnterpriseById(enterpriseId)) {
return Fail.of("企业信息不存在");
}
enterpriseService.deleteEnterpriseById(enterpriseId, user);
return Ok.of();
}
/**
* 批量删除企业信息
*
* @param enterpriseIds 企业ID列表
* @return 删除结果
*/
@DeleteMapping
public Result<Void> deleteEnterprisesByIds(@RequestBody List<String> enterpriseIds, @CurrentUser RemoteUserInfo user) {
enterpriseService.deleteEnterprisesByIds(enterpriseIds, user);
return Ok.of();
}
/**
* 企业信息统计
*
* @param query 查询参数
* @param user 用户
* @return 统计结果
*/
@GetMapping("/ledgerStatistics")
public Result<List<Map<String, Object>>> ledgerStatistics(EnterpriseQuery query, @CurrentUser RemoteUserInfo user) {
return Ok.of(enterpriseService.ledgerStatistics(query, user));
}
/**
* 导出Excel
*
* @param excelParam 查询参数
* @param response 响应
*/
@PostMapping(value = "/export")
public void enterpriseExport(@RequestBody(required = false) ExportExcelParam<EnterpriseQuery> excelParam, HttpServletResponse response, @CurrentUser RemoteUserInfo user) {
EnterpriseQuery query = excelParam.getObj();
List<EnterpriseDto> list = enterpriseService.findAllEnterprises(query, user);
if (list.isEmpty()) throw new RuntimeException("无查询结果不能导出");
List<String> labels = new ArrayList<>();
String tag = query.getTag();
if ("cx".equals(tag)) {
labels.add("监管行业");
labels.add("生产经营单位名称");
labels.add("社会统一信用代码");
labels.add("注册详址");
labels.add("负责人");
labels.add("联系方式");
labels.add("营业状态");
labels.add("企业分类");
labels.add("所属监管部门");
} else if ("fjfl".equals(tag)) {
labels.add("生产经营单位名称");
labels.add("社会统一信用代码");
labels.add("企业分级");
labels.add("所属监管部门");
labels.add("企业分类");
}
List<String> props = new ArrayList<>();
if ("cx".equals(tag)) {
props.add("industryType");
props.add("unitName");
props.add("unifiedSocialCode");
props.add("detailedAddress");
props.add("mainName");
props.add("mainPhone");
props.add("businessStatus");
props.add("businessCategory");
props.add("agency.agencyName");
} else if ("fjfl".equals(tag)) {
props.add("unitName");
props.add("unifiedSocialCode");
props.add("businessRating");
props.add("agency.agencyName");
props.add("businessCategory");
}
excelParam.setLabels(labels);
excelParam.setProps(props);
ExportExcelUtil.exportExcel(response, excelParam, list);
}
@PostMapping(value = "/importFile")
public Result<Void> importFile(HttpServletRequest request, @CurrentUser RemoteUserInfo user) throws Exception {
enterpriseService.enterpriseByImport((MultipartHttpServletRequest) request, user);
return Ok.of();
}
/**
* 根据机构查询企业列表
*
* @param query 查询条件
* @return 企业列表
*/
@GetMapping("/agencyid")
public PageResult<Enterprise> getEnterprisesByAgencyId(EnterpriseQuery query, @CurrentUser RemoteUserInfo user) {
return PageResult.of(enterpriseService.findEnterprisesByAgencyId(query, user));
}
/**
* 分页查询接入企业信息
*
* @param query 查询条件
* @return 分页企业信息
*/
@GetMapping("/join")
public PageResult<EnterpriseDto> getJoinEnterprisesPage(EnterpriseQuery query) {
Page<EnterpriseDto> page = enterpriseService.findJoinEnterprisesPage(query);
return PageResult.of(page);
}
/**
* 分页查询启动巡查企业信息
*
* @param query 查询条件
* @return 分页企业信息
*/
@GetMapping("/ins/start")
public PageResult<EnterpriseDto> getInsStartEnterprisesPage(EnterpriseQuery query, @CurrentUser RemoteUserInfo user) {
query.setTag("ins_start");
Page<EnterpriseDto> page = enterpriseService.findEnterprisesPage(query, user);
return PageResult.of(page);
}
/**
* 分页查询待巡查企业信息
*
* @param query 查询条件
* @return 分页企业信息
*/
@GetMapping("/ins")
public PageResult<EnterpriseDto> getInsEnterprisesPage(EnterpriseQuery query, @CurrentUser RemoteUserInfo user) {
query.setTag("ins");
Page<EnterpriseDto> page = enterpriseService.findEnterprisesPage(query, user);
return PageResult.of(page);
}
/**
* 企业管理可视化统计
*
* @param query 查询参数
* @param user 用户
* @return 统计结果
*/
@GetMapping("/visualizeStatistics")
public Result<Map<String, Long>> visualizeStatistics(EnterpriseQuery query, @CurrentUser RemoteUserInfo user) {
return Ok.of(enterpriseService.visualizeStatistics(query, user));
}
/**
* 分页查询企业信息自查自报
*
* @param query 查询条件
* @return 分页企业信息
*/
@GetMapping("/zczb")
public Result<String> getEnterpriseSelfInsAndSelfReportPage(EnterpriseQuery query, @CurrentUser RemoteUserInfo user) {
return Ok.of(enterpriseService.getEnterpriseSelfInsAndSelfReportPage(query, user));
}
}

View File

@ -0,0 +1,40 @@
package com.aisino.iles.lawenforcement.controller;
import com.aisino.iles.common.model.PageResult;
import com.aisino.iles.common.util.Constants;
import com.aisino.iles.lawenforcement.model.AccidentHazard;
import com.aisino.iles.lawenforcement.model.DangerInfo;
import com.aisino.iles.lawenforcement.model.query.EnterpriseQuery;
import com.aisino.iles.lawenforcement.service.EnterpriseSubtableService;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(Constants.API_PREFIX + "/lawenforcement/enterprises/subtable")
public class EnterpriseSubtableController {
private final EnterpriseSubtableService enterpriseSubtableService;
public EnterpriseSubtableController(EnterpriseSubtableService enterpriseSubtableService) {
this.enterpriseSubtableService = enterpriseSubtableService;
}
@GetMapping("/case")
public PageResult<EnterpriseSubtableService.DocumentDto> findCasePage(EnterpriseQuery query) {
Page<EnterpriseSubtableService.DocumentDto> page = enterpriseSubtableService.findCasePage(query);
return PageResult.of(page);
}
@GetMapping("/accidentHazard")
public PageResult<AccidentHazard> findAccidentHazardPage(EnterpriseQuery query) {
Page<AccidentHazard> page = enterpriseSubtableService.findAccidentHazardPage(query);
return PageResult.of(page);
}
@GetMapping("/danger")
public PageResult<DangerInfo> findDangerPage(EnterpriseQuery query) {
Page<DangerInfo> page = enterpriseSubtableService.findDangerPage(query);
return PageResult.of(page);
}
}

View File

@ -0,0 +1,47 @@
package com.aisino.iles.lawenforcement.controller;
import com.aisino.iles.common.model.*;
import com.aisino.iles.common.util.Constants;
import com.aisino.iles.lawenforcement.model.EnterpriseWarn;
import com.aisino.iles.lawenforcement.model.dto.EnterpriseWarnDto;
import com.aisino.iles.lawenforcement.model.query.EnterpriseWarnQuery;
import com.aisino.iles.lawenforcement.service.EnterpriseWarnService;
import org.springframework.web.bind.annotation.*;
/**
* 综合执法/企业预警信息
*/
@RestController
@RequestMapping(Constants.API_PREFIX + "/lawenforcement/enterprises/warn")
public class EnterpriseWarnController {
private final EnterpriseWarnService enterpriseWarnService;
public EnterpriseWarnController(EnterpriseWarnService enterpriseWarnService) {
this.enterpriseWarnService = enterpriseWarnService;
}
/**
* 创建企业预警信息
*
* @param enterpriseWarnDto 企业预警信息
* @return 创建结果
*/
@PostMapping
public Result createEnterpriseWarn(@RequestBody EnterpriseWarnDto enterpriseWarnDto) {
enterpriseWarnService.saveEnterpriseWarn(enterpriseWarnDto);
return Ok.of("success", 200);
}
/**
* 分页查询企业预警信息
*
* @param query 查询条件
* @return 执法信息
*/
@GetMapping
public PageResult<EnterpriseWarn> getEnterpriseWarnPage(EnterpriseWarnQuery query) {
return PageResult.of(enterpriseWarnService.findEnterpriseWarnPage(query));
}
}

View File

@ -0,0 +1,23 @@
package com.aisino.iles.lawenforcement.controller;
import com.aisino.iles.common.model.Ok;
import com.aisino.iles.common.model.Result;
import com.aisino.iles.lawenforcement.model.Example;
import com.aisino.iles.lawenforcement.service.ExampleService;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ExampleController {
private final ExampleService exampleService;
public ExampleController(ExampleService exampleService) {
this.exampleService = exampleService;
}
// 创建一个查询接口
public Result<Example> exampleResult() {
return Ok.of(exampleService.getExample());
}
}

View File

@ -0,0 +1,40 @@
package com.aisino.iles.lawenforcement.controller;
import com.aisino.iles.common.model.Ok;
import com.aisino.iles.common.model.Result;
import com.aisino.iles.common.util.Constants;
import com.aisino.iles.lawenforcement.model.dto.InsEnterprseDto;
import com.aisino.iles.lawenforcement.service.InsEnterprseService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 综合执法/在线巡查企业管理
*/
@RestController
@RequestMapping(Constants.API_PREFIX + "/lawenforcement/enterprises/ins")
public class InsEnterprseController {
private final InsEnterprseService insEnterprseService;
public InsEnterprseController(InsEnterprseService insEnterprseService) {
this.insEnterprseService = insEnterprseService;
}
/**
* 创建在线巡查企业信息
*
* @param insEnterprseDto 企业信息
* @return 创建结果
*/
@PostMapping
public Result createEnterprise(@RequestBody InsEnterprseDto insEnterprseDto) {
insEnterprseService.saveEnterprise(insEnterprseDto);
return Ok.of();
}
}