提交 0cd8f686 authored 作者: zhoushaopan's avatar zhoushaopan

feat(决算模块): 新增删除功能

新增删除功能
上级 6c8d20bc
...@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.transaction.Transactional;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -61,6 +62,14 @@ public class FinalCheckController { ...@@ -61,6 +62,14 @@ public class FinalCheckController {
return ResultUtil.success(fcService.findReportById(id)); return ResultUtil.success(fcService.findReportById(id));
} }
@DeleteMapping("/{id}")
@ApiOperation(value = "根据id删除决算报告")
@Transactional(rollbackOn = Exception.class)
public ResponseEntity<String> removeById(@PathVariable Integer id) {
fcService.removeById(id);
return ResponseEntity.ok("删除成功");
}
@PostMapping("/reports") @PostMapping("/reports")
@ApiOperation(value = "生成决算报告") @ApiOperation(value = "生成决算报告")
public ResponseEntity<ResultObj<FinalReportVo>> generateReport(@RequestBody TimeParam time) { public ResponseEntity<ResultObj<FinalReportVo>> generateReport(@RequestBody TimeParam time) {
......
...@@ -10,6 +10,8 @@ import lombok.AllArgsConstructor; ...@@ -10,6 +10,8 @@ import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
...@@ -28,6 +30,8 @@ import java.util.List; ...@@ -28,6 +30,8 @@ import java.util.List;
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Entity @Entity
@SQLDelete(sql = "update final_report set delete_tag = 1 where id = ?")
@Where(clause = "delete_tag = 0")
public class FinalReport extends BaseEntity { public class FinalReport extends BaseEntity {
private String name; private String name;
......
package com.tykj.dev.device.finalcheck.entity.domain;
import com.tykj.dev.misc.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.SQLDelete;
import org.hibernate.annotations.Where;
import javax.persistence.Entity;
/**
* 决算日志类
*
* @author Matrix <xhyrzldf@gmail.com>
* @since 2020/9/24 at 6:07 下午
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@SQLDelete(sql = "update final_report set delete_tag = 1 where id = ?")
@Where(clause = "delete_tag = 0")
@ApiModel("决算日志类")
public class FinalReportLog extends BaseEntity {
@ApiModelProperty("日志内容")
private String content;
@ApiModelProperty("/")
private Integer type;
@ApiModelProperty("报告的id")
private Integer reportId;
@ApiModelProperty("报告详情的id")
private Integer reportDetailId;
}
...@@ -53,4 +53,10 @@ public interface FinalCheckService { ...@@ -53,4 +53,10 @@ public interface FinalCheckService {
*/ */
FinalReport uploadFile(FileVo fileVo); FinalReport uploadFile(FileVo fileVo);
/**
* 根据id删除
* @param id 报告的id
*/
void removeById(Integer id);
} }
...@@ -17,24 +17,26 @@ import com.tykj.dev.device.finalcheck.service.FinalCheckService; ...@@ -17,24 +17,26 @@ import com.tykj.dev.device.finalcheck.service.FinalCheckService;
import com.tykj.dev.device.library.repository.DeviceLibraryDao; import com.tykj.dev.device.library.repository.DeviceLibraryDao;
import com.tykj.dev.device.library.service.DeviceLibraryCacheService; import com.tykj.dev.device.library.service.DeviceLibraryCacheService;
import com.tykj.dev.device.library.subject.domin.DeviceLibrary; import com.tykj.dev.device.library.subject.domin.DeviceLibrary;
import com.tykj.dev.device.task.subject.bto.TaskBto; import com.tykj.dev.device.task.service.TaskLogService;
import com.tykj.dev.device.task.subject.bto.TaskLogBto;
import com.tykj.dev.device.user.util.UserUtils; import com.tykj.dev.device.user.util.UserUtils;
import com.tykj.dev.device.usereport.service.DeviceUseReportService; import com.tykj.dev.device.usereport.service.DeviceUseReportService;
import com.tykj.dev.device.usereport.subject.vo.DeviceStatistics; import com.tykj.dev.device.usereport.subject.vo.DeviceStatistics;
import com.tykj.dev.misc.exception.ApiException; import com.tykj.dev.misc.exception.ApiException;
import com.tykj.dev.misc.utils.JacksonUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.jpa.domain.Specification; import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StopWatch;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -71,6 +73,16 @@ public class FinalCheckServiceImpl implements FinalCheckService { ...@@ -71,6 +73,16 @@ public class FinalCheckServiceImpl implements FinalCheckService {
@Autowired @Autowired
private UserUtils userService; private UserUtils userService;
@Autowired
@Qualifier("taskExecutor")
private Executor executor;
@Autowired
private TaskLogService taskLogService;
@Autowired
private UserUtils userUtils;
// @Autowired // @Autowired
// private ScrapBillDao scrapBillDao; // private ScrapBillDao scrapBillDao;
// //
...@@ -306,4 +318,26 @@ public class FinalCheckServiceImpl implements FinalCheckService { ...@@ -306,4 +318,26 @@ public class FinalCheckServiceImpl implements FinalCheckService {
BeanUtils.copyProperties(finalReport1,FinalReportVo.class); BeanUtils.copyProperties(finalReport1,FinalReportVo.class);
return finalReport1; return finalReport1;
} }
@Override
public void removeById(Integer id) {
//将详情也删除掉
Optional<List<FinalDetail>> byReportId = detailDao.findByReportId(id);
byReportId.ifPresent(finalDetails -> detailDao.deleteAll(finalDetails));
reportDao.deleteById(id);
//异步存储日志
CompletableFuture.runAsync(()->{
//同时保存日志
// FinalReportLog finalReportLog = new FinalReportLog();
// finalReportLog.setReportId(id);
// finalReportLog.setContent("删除了该决算报告");
// finalReportLogService.saveLog(finalReportLog);
TaskLogBto taskLogBto = new TaskLogBto();
taskLogBto.setTaskId(0);
taskLogBto.setCreateUserId(userUtils.getCurrentUserId());
taskLogBto.setRemark("删除了决算报告");
taskLogService.addLog(taskLogBto);
},executor);
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论