Browse Source

审计项目的导入功能--添加审计类型名称字段

master
buaixuexideshitongxue 3 weeks ago
parent
commit
a6bc9e6c82
  1. 14
      src/main/java/com/biutag/supervision/controller/data/DataAuditController.java
  2. 7
      src/main/java/com/biutag/supervision/pojo/dto/dataAudit/DataAuditImportDto.java
  3. 3
      src/main/java/com/biutag/supervision/pojo/dto/dataAudit/DataAuditPageDTO.java
  4. 4
      src/main/java/com/biutag/supervision/pojo/entity/DataAudit.java
  5. 7
      src/main/java/com/biutag/supervision/pojo/request/dataAudit/DataAuditAddRequest.java
  6. 8
      src/main/java/com/biutag/supervision/pojo/request/dataAudit/DataAuditUpdateRequest.java
  7. 26
      src/main/java/com/biutag/supervision/service/dataAudit/DataAuditServiceImpl.java
  8. 2
      src/main/resources/mapper/DataAuditMapper.xml

14
src/main/java/com/biutag/supervision/controller/data/DataAuditController.java

@ -1,9 +1,7 @@
package com.biutag.supervision.controller.data;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.listener.ReadListener;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.dto.dataAudit.DataAuditImportDto;
@ -16,19 +14,18 @@ import com.biutag.supervision.service.dataAudit.DataAuditService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.ConstraintViolation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@Tag(name = "审计记录控制层", description = "审计记录管理")
@Slf4j
@ -74,12 +71,13 @@ public class DataAuditController {
List<DataAuditImportDto> dataList = new ArrayList<>();
DataAuditImportDto example = new DataAuditImportDto();
example.setAuditType("执法活动财物审计");
example.setAuditTypeName("执法活动财物审计");
example.setProjectName("示例项目名称");
example.setSecondLevelDeptName("示例二级单位");
example.setThirdLevelDeptName("示例三级单位");
example.setAuditAmount(null);
example.setIssueAmount(null);
example.setAuditTime(LocalDateTime.now());
example.setAuditAmount(new BigDecimal("22"));
example.setIssueAmount(new BigDecimal("11"));
dataList.add(example);
EasyExcel.write(response.getOutputStream(), DataAuditImportDto.class)

7
src/main/java/com/biutag/supervision/pojo/dto/dataAudit/DataAuditImportDto.java

@ -17,10 +17,13 @@ import java.time.LocalDateTime;
@Getter
public class DataAuditImportDto {
@ExcelProperty("审计类型")
@NotBlank(message = "审计类型不能为空")
@ExcelIgnore
private String auditType;
@ExcelProperty("审计类型名称")
@NotBlank(message = "审计类型名称不能为空")
private String auditTypeName;
@ExcelProperty("项目名称")
@NotBlank(message = "项目名称不能为空")
private String projectName;

3
src/main/java/com/biutag/supervision/pojo/dto/dataAudit/DataAuditPageDTO.java

@ -18,6 +18,9 @@ public class DataAuditPageDTO {
@Schema(description = "审计类型")
private String auditType;
@Schema(description = "审计类型名称")
private String auditTypeName;
@Schema(description = "项目名称")
private String projectName;

4
src/main/java/com/biutag/supervision/pojo/entity/DataAudit.java

@ -22,6 +22,10 @@ public class DataAudit {
@TableField("audit_type")
private String auditType;
@Schema(description = "审计类型名称")
@TableField("audit_type_name")
private String auditTypeName;
@Schema(description = "被审计的项目名称")
@TableField("project_name")
private String projectName;

7
src/main/java/com/biutag/supervision/pojo/request/dataAudit/DataAuditAddRequest.java

@ -22,6 +22,10 @@ public class DataAuditAddRequest implements ParamChecked {
@Schema(description = "审计类型")
private String auditType;
@Schema(description = "审计类型名称")
private String auditTypeName;
@Schema(description = "被审计的项目名称")
private String projectName;
@ -61,6 +65,9 @@ public class DataAuditAddRequest implements ParamChecked {
if (auditAmount == null) {
throw new IllegalArgumentException("审计涉及金额不能为空");
}
if (secondLevelDeptId == null) {
throw new IllegalArgumentException("二级机构不能为空");
}
if (issueAmount == null) {
issueAmount = BigDecimal.ZERO;
}

8
src/main/java/com/biutag/supervision/pojo/request/dataAudit/DataAuditUpdateRequest.java

@ -17,9 +17,12 @@ public class DataAuditUpdateRequest implements ParamChecked {
@Schema(description = "主键ID")
private Long id;
@Schema(description = "审计类型(如财务审计、合规审计等)")
@Schema(description = "审计类型")
private String auditType;
@Schema(description = "审计类型名称")
private String auditTypeName;
@Schema(description = "被审计的项目名称")
private String projectName;
@ -61,5 +64,8 @@ public class DataAuditUpdateRequest implements ParamChecked {
if (auditAmount == null) {
throw new IllegalArgumentException("审计涉及金额不能为空");
}
if (secondLevelDeptId==null){
throw new IllegalArgumentException("二级机构不能为空");
}
}
}

26
src/main/java/com/biutag/supervision/service/dataAudit/DataAuditServiceImpl.java

@ -28,9 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.io.InputStream;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.*;
@Slf4j
@Service
@ -40,7 +38,12 @@ public class DataAuditServiceImpl implements DataAuditService {
private final DataAuditResourceService dataAuditResourceService;
private final SupDepartService supDepartService;
private final SupDepartResourceService supDepartResourceService;
Map<String, String> auditMap = new HashMap<>(Map.of(
"政府投资审计", "27",
"执法活动财物审计", "28",
"经济责任审计", "29",
"专项审计", "30"
));
@Override
public Result<Page<DataAuditPageDTO>> getDataAuditPage(DataAuditPageRequest request) {
DataAuditQueryParam param = new DataAuditQueryParam();
@ -79,9 +82,12 @@ public class DataAuditServiceImpl implements DataAuditService {
}
if (ObjectUtil.isNotNull(request.getThirdLevelDeptId())){
SupDepart byId = supDepartService.getById(request.getThirdLevelDeptId());
if (byId.getLevel()!=3){
if (byId==null || byId.getLevel()!=3 ){
throw new IllegalArgumentException("请选择正确的三级单位");
}
if (!String.valueOf(request.getSecondLevelDeptId()).equals(byId.getPid())){
throw new IllegalArgumentException("该三级单位非所属二级单位");
}
}
DataAudit dataAudit = BeanUtil.copyProperties(request, DataAudit.class);
dataAudit.setCreateBy(UserContextHolder.getCurrentUser().getUserName());
@ -101,9 +107,12 @@ public class DataAuditServiceImpl implements DataAuditService {
}
if (ObjectUtil.isNotNull(request.getThirdLevelDeptId())){
SupDepart byId = supDepartService.getById(request.getThirdLevelDeptId());
if (byId.getLevel()!=3){
if (byId==null || byId.getLevel()!=3 ){
throw new IllegalArgumentException("请选择正确的三级单位");
}
if (!String.valueOf(request.getSecondLevelDeptId()).equals(byId.getPid())){
throw new IllegalArgumentException("该三级单位非所属二级单位");
}
}
DataAudit dataAudit = BeanUtil.copyProperties(request, DataAudit.class);
dataAudit.setUpdateBy(UserContextHolder.getCurrentUser().getUserName());
@ -134,6 +143,10 @@ public class DataAuditServiceImpl implements DataAuditService {
EasyExcel.read(inputStream, DataAuditImportDto.class, new ReadListener<DataAuditImportDto>() {
@Override
public void invoke(DataAuditImportDto data, com.alibaba.excel.context.AnalysisContext analysisContext) {
if (auditMap.get(data.getAuditTypeName().trim())==null){
throw new IllegalArgumentException("不存在审计类型["+data.getAuditTypeName()+"]");
}
data.setAuditType(auditMap.get(data.getAuditTypeName().trim()));
if (StrUtil.isNotBlank(data.getSecondLevelDeptName())) {
SupDepartQueryParam supDepartQueryParam = new SupDepartQueryParam();
supDepartQueryParam.setShortName(data.getSecondLevelDeptName());
@ -179,6 +192,7 @@ public class DataAuditServiceImpl implements DataAuditService {
.map(dto -> {
DataAudit audit = new DataAudit();
audit.setAuditType(dto.getAuditType());
audit.setAuditTypeName(dto.getAuditTypeName());
audit.setProjectName(dto.getProjectName());
audit.setSecondLevelDeptId(dto.getSecondLevelDeptId());
audit.setSecondLevelDeptName(dto.getSecondLevelDeptName());

2
src/main/resources/mapper/DataAuditMapper.xml

@ -7,6 +7,7 @@
<insert id="insertBatch" parameterType="java.util.List">
INSERT INTO data_audit (
audit_type,
audit_type_name,
project_name,
second_level_dept_id,
second_level_dept_name,
@ -25,6 +26,7 @@
<foreach collection="list" item="item" separator=",">
(
#{item.auditType},
#{item.auditTypeName},
#{item.projectName},
#{item.secondLevelDeptId},
#{item.secondLevelDeptName},

Loading…
Cancel
Save