xiexiang 2 年之前
父節點
當前提交
57134be632

+ 1 - 1
RMS/src/main/java/cn/cslg/report/common/model/dto/invalidReReport/InvalidProcessDTO.java

@@ -21,7 +21,7 @@ public class InvalidProcessDTO {
     private Date occuredTime;
 
     /**
-     * 流程类型
+     * 流程类型(0为口审记录,1为无效请求书,2为陈述意见书,3为无效决定书,4为行政诉讼书)
      */
     private Integer processType;
 

+ 15 - 6
RMS/src/main/java/cn/cslg/report/controller/InvalidReReport/InvalidProcessController.java

@@ -31,8 +31,8 @@ public class InvalidProcessController {
 
     @Operation(summary = "添加无效事务")
     @PostMapping("/add")
-    public String add(String invalidProcessStr, List<MultipartFile> files) {
-        Integer flag = invalidProcessService.addInvalidProcess(invalidProcessStr,files);
+    public String add(@RequestBody String invalidProcessStr, MultipartFile file) {
+        Integer flag = invalidProcessService.addInvalidProcess(invalidProcessStr,file);
         return Response.success(flag);
     }
 
@@ -45,13 +45,22 @@ public class InvalidProcessController {
 
     @Operation(summary = "修改无效事务")
     @PostMapping("/update")
-    public String update(String invalidProcessStr,List<MultipartFile> files) throws IOException {
-        return Response.success(invalidProcessService.addInvalidProcess(invalidProcessStr,files));
+    public String update(String invalidProcessStr,MultipartFile file) throws IOException {
+        if(invalidProcessStr != null && invalidProcessStr != "") {
+            invalidProcessService.updateInvalidProcess(invalidProcessStr, file);
+            return Response.success("修改无效事务成功");
+        } else {
+            return Response.error("传入数据不能为空");
+        }
     }
 
     @Operation(summary = "查询无效事务")
     @GetMapping("/query")
-    public String query(int reportId) throws IOException {
-        return Response.success(invalidProcessService.queryInvalidProcess(reportId));
+    public String query(Integer reportId, Integer orderBy) throws IOException {
+        if(reportId != null && reportId != 0){
+            return Response.success(invalidProcessService.queryInvalidProcess(reportId, orderBy));
+        } else {
+            return Response.error("传入报告id不可为空");
+        }
     }
 }

+ 1 - 1
RMS/src/main/java/cn/cslg/report/entity/invalidReReport/OralExam.java

@@ -14,7 +14,7 @@ import java.util.Date;
  * @Date 2023/6/28
  */
 @Data
-@TableName
+@TableName(value = "ORAL_EXAM")
 public class OralExam extends BaseEntity<OralExam> {
 
     /**

+ 16 - 0
RMS/src/main/java/cn/cslg/report/mapper/InvalidReReport/OralExamMapper.java

@@ -0,0 +1,16 @@
+package cn.cslg.report.mapper.InvalidReReport;
+
+import cn.cslg.report.entity.invalidReReport.InvalidProcess;
+import cn.cslg.report.entity.invalidReReport.OralExam;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ *
+ *无效事务Mapper层
+ * @Author 李仁杰
+ * @Date 2023/6/28
+ */
+@Repository
+public interface OralExamMapper extends BaseMapper<OralExam> {
+}

+ 183 - 27
RMS/src/main/java/cn/cslg/report/service/business/InvalidReReport/InvalidProcessService.java

@@ -1,12 +1,22 @@
 package cn.cslg.report.service.business.InvalidReReport;
 
+import cn.cslg.report.common.model.dto.UploadFileDTO;
 import cn.cslg.report.common.model.dto.invalidReReport.InvalidProcessDTO;
+import cn.cslg.report.common.model.vo.PersonnelVO;
+import cn.cslg.report.common.utils.CacheUtils;
+import cn.cslg.report.common.utils.FileUtils;
 import cn.cslg.report.common.utils.Response;
+import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
 import cn.cslg.report.entity.Template;
 import cn.cslg.report.entity.invalidReReport.InvalidProcess;
+import cn.cslg.report.entity.invalidReReport.OralExam;
+import cn.cslg.report.exception.XiaoShiException;
 import cn.cslg.report.mapper.InvalidReReport.InvalidProcessMapper;
 import cn.cslg.report.mapper.TemplateMapper;
+import cn.cslg.report.service.business.OralExamService;
+import cn.cslg.report.service.business.ReportFileService;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -14,6 +24,7 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.ArrayList;
 import java.util.List;
 
 
@@ -21,41 +32,186 @@ import java.util.List;
 @Slf4j
 @RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class InvalidProcessService extends ServiceImpl<InvalidProcessMapper, InvalidProcess> {
-    //无效事务添加
-    public Integer addInvalidProcess(String invalidProcessStr, List<MultipartFile> files) {
+    private final CacheUtils cacheUtils;
+    private final LoginUtils loginUtils;
+    private final FileUtils fileUtils;
+    private final ReportFileService reportFileService;
+    private final OralExamService oralExamService;
+    /**
+     * 无效事务添加
+     * @param invalidProcessStr
+     * @param file
+     * @return
+     */
+    public Integer addInvalidProcess(String invalidProcessStr, MultipartFile file) {
         InvalidProcessDTO invalidProcessDTO = JSONObject.parseObject(invalidProcessStr, InvalidProcessDTO.class);
-        // 判断无效事务的类型
-          // 判断无效事务的时间是否为空
-          //若是口审记录则添加口审记录接着添加无效事务
-              //口审记录要判断 参与人,地点是否为空
-          //若是文件则上传文件并添加无效事务
-
-        return 0;
-
+        //判断无效事务时间是否为空,无论是文件类型或者口审类型都要时间
+        if(invalidProcessDTO.getOccuredTime() != null) {
+            //判断无效事务的类型
+            //获取当前登陆人信息
+//            PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+            //添加无效事务
+            InvalidProcess invalidProcess = new InvalidProcess();
+            //报告id
+            invalidProcess.setReportId(invalidProcessDTO.getReportId());
+            //发生时间
+            invalidProcess.setOccuredTime(invalidProcessDTO.getOccuredTime());
+            //创建人
+//            invalidProcess.setCreateId(personnelVO.getId());
+            invalidProcess.setCreateId(1);
+            List<Integer> typeIds = new ArrayList<>();
+            //1为无效请求书,2为陈述意见书,3为无效决定书,4为行政诉讼书
+            typeIds.add(1);
+            typeIds.add(2);
+            typeIds.add(3);
+            typeIds.add(4);
+            //如果类型为0,则为口审记录
+            if(invalidProcessDTO.getProcessType().equals(0)){
+                //口审记录要判断 参与人,地点是否为空
+                if(invalidProcessDTO.getAddress() != null && invalidProcessDTO.getAddress() != "" && invalidProcessDTO.getParticipants() != null && invalidProcessDTO.getParticipants() != ""){
+                    //若是口审记录则添加口审记录接着添加无效事务
+                    //添加口审记录
+                    OralExam oralExam = new OralExam();
+                    //地点
+                    oralExam.setAddress(invalidProcessDTO.getAddress());
+                    //参与人
+                    oralExam.setParticipants(invalidProcessDTO.getParticipants());
+                    //创建人
+//                    oralExam.setCreateId(personnelVO.getId());
+                    oralExam.setCreateId(1);
+                    oralExam.insert();
+                    //流程类型
+                    invalidProcess.setProcessType(invalidProcessDTO.getProcessType());
+                    //口审记录id
+                    invalidProcess.setOralExamId(oralExam.getId());
+                    invalidProcess.insert();
+                    return 1;
+                } else {
+                    throw new XiaoShiException("参与人,地点不能为空");
+                }
+            } else if(typeIds.contains(invalidProcessDTO.getProcessType())) {
+                //流程类型不为0
+                //若是文件则上传文件并添加无效事务
+                List<MultipartFile> files = new ArrayList<>();
+                files.add(file);
+                List<Integer> ids = reportFileService.uploadFiles(files);
+                int fileId = ids.get(0);
+                invalidProcess.setFileId(fileId);
+                invalidProcess.setProcessType(invalidProcessDTO.getProcessType());
+                invalidProcess.insert();
+                return 1;
+            } else {
+                throw new XiaoShiException("流程类型错误,不存在该类型!");
+            }
+        } else {
+            throw new XiaoShiException("无效事务时间不能为空!");
+        }
     }
 
-    //删除无效事务
-    public String removeInvalidProcess(int id) {
+    /**
+     * 删除无效事务
+     * @param id
+     */
+    public void removeInvalidProcess(Integer id) {
         //根据无效事务id删除无效事务
-          return  "";
-
+        LambdaQueryWrapper<InvalidProcess> lw = new LambdaQueryWrapper<>();
+        lw.eq(InvalidProcess::getId, id);
+        InvalidProcess invalidProcess = this.getOne(lw);
+        if(invalidProcess != null){
+            invalidProcess.deleteById();
+            //如果流程类型为0,则为口审记录
+            if(invalidProcess.getProcessType() == 0) {
+                oralExamService.removeById(id);
+            }
+        } else {
+            throw new XiaoShiException("没有此条数据");
+        }
     }
 
-    //修改无效事务
-    public String updateInvalidProcess(String invalidProcessStr, List<MultipartFile> files) {
-        InvalidProcessDTO invalidProcessDTO = JSONObject.parseObject(invalidProcessStr, InvalidProcessDTO.class);
-        // 判断无效事务的类型
-          // 判断无效事务的时间是否为空
-        //若是口审记录则修改口审记录接着修改无效事务
-        //口审记录要判断 参与人,地点是否为空
-        //若是文件则上传文件并添加无效事务
-        return "";
+
+
+    /**
+     * 修改无效事务
+     * @param invalidProcessStr
+     * @param file
+     */
+    public void updateInvalidProcess(String invalidProcessStr, MultipartFile file) {
+        InvalidProcessDTO iPDTO = JSONObject.parseObject(invalidProcessStr, InvalidProcessDTO.class);
+        //判断无效事务时间是否为空,无论是文件类型或者口审类型都要时间
+        if(iPDTO.getOccuredTime() != null) {
+            //判断无效事务的类型
+            //获取当前登陆人信息
+            PersonnelVO pVO = cacheUtils.getLoginUser(loginUtils.getId());
+            //添加无效事务
+            InvalidProcess invalidProcess = new InvalidProcess();
+            invalidProcess.setReportId(iPDTO.getReportId());
+            invalidProcess.setOccuredTime(iPDTO.getOccuredTime());
+            invalidProcess.setCreateId(pVO.getId());
+            //创建类型集合
+            //1为无效请求书,2为陈述意见书,3为无效决定书,4为行政诉讼书
+            List<Integer> typeIds = new ArrayList<>();
+            typeIds.add(1);
+            typeIds.add(2);
+            typeIds.add(3);
+            typeIds.add(4);
+            //如果类型为0,则为口审记录
+            if(iPDTO.getProcessType().equals(0)){
+                //口审记录要判断 参与人,地点是否为空
+                if(iPDTO.getAddress() != null && iPDTO.getAddress() != "" && iPDTO.getParticipants() != null && iPDTO.getParticipants() != ""){
+                    //若是口审记录则添加口审记录接着添加无效事务
+                    //添加口审记录
+                    OralExam oralExam = new OralExam();
+                    //地点
+                    oralExam.setAddress(iPDTO.getAddress());
+                    //参与人
+                    oralExam.setParticipants(iPDTO.getParticipants());
+                    //创建人
+                    oralExam.setCreateId(pVO.getId());
+                    oralExam.updateById();
+                    //流程类型
+                    invalidProcess.setProcessType(iPDTO.getProcessType());
+                    //口审记录id
+                    invalidProcess.setOralExamId(oralExam.getId());
+                    invalidProcess.updateById();
+                } else {
+                    throw new XiaoShiException("参与人,地点不能为空");
+                }
+            } else if(typeIds.contains(iPDTO.getProcessType())) {
+                //流程类型不为0
+                //若是文件则上传文件并添加无效事务
+                List<MultipartFile> files = new ArrayList<>();
+                files.add(file);
+                List<Integer> ids = reportFileService.uploadFiles(files);
+                int fileId = ids.get(0);
+                invalidProcess.setFileId(fileId);
+                invalidProcess.setProcessType(iPDTO.getProcessType());
+                invalidProcess.updateById();
+            } else {
+                throw new XiaoShiException("流程类型错误,不存在该类型!");
+            }
+        } else {
+            throw new XiaoShiException("无效事务时间不能为空!");
+        }
     }
 
-    //查找无效事务
-    public String queryInvalidProcess(int ReportId) {
+    /**
+     * 查找无效事务
+     *
+     * @param reportId
+     * @param orderBy
+     * @return
+     */
+    public List<InvalidProcess> queryInvalidProcess(Integer reportId, Integer orderBy) {
         //根据报告id,根据时间排序返回所有的无效事务。
-        return Response.success();
-
+        LambdaQueryWrapper<InvalidProcess> LW = new LambdaQueryWrapper<>();
+        LW.eq(InvalidProcess::getReportId, reportId);
+        //根据时间排序
+        if(orderBy==1) {
+            LW.orderByAsc(InvalidProcess::getOccuredTime);
+        } else {
+            LW.orderByDesc(InvalidProcess::getOccuredTime);
+        }
+        List<InvalidProcess> invalidProcessList = this.list(LW);
+        return invalidProcessList;
     }
 }

+ 22 - 0
RMS/src/main/java/cn/cslg/report/service/business/OralExamService.java

@@ -0,0 +1,22 @@
+package cn.cslg.report.service.business;
+
+
+import cn.cslg.report.entity.invalidReReport.OralExam;
+import cn.cslg.report.mapper.InvalidReReport.OralExamMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * @Author xiexiang
+ * @Date 2023/6/29
+ */
+@Service
+@Slf4j
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
+public class OralExamService extends ServiceImpl<OralExamMapper, OralExam> {
+}