Selaa lähdekoodia

复核模块代码调整

wangqiang 1 vuosi sitten
vanhempi
commit
747f6a4c12
28 muutettua tiedostoa jossa 1116 lisäystä ja 42 poistoa
  1. 26 32
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectDict/service/ProjectDictService.java
  2. 46 2
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportController.java
  3. 65 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportOnlineArchivingController.java
  4. 67 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportPaperArchivingController.java
  5. 11 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportReviewController.java
  6. 79 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportSignAndIssueController.java
  7. 67 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportData.java
  8. 30 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportOnlineArchiving.java
  9. 30 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportPaperArchiving.java
  10. 27 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportSignAndIssue.java
  11. 3 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReviewNewTeam.java
  12. 8 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportMapper.java
  13. 22 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportOnlineArchivingMapper.java
  14. 22 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportPaperArchivingMapper.java
  15. 6 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportReviewMapper.java
  16. 23 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportSignAndIssueMapper.java
  17. 77 2
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportMapper.xml
  18. 8 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportOnlineArchivingMapper.xml
  19. 8 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportPaperArchivingMapper.xml
  20. 24 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportReviewMapper.xml
  21. 8 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportSignAndIssueMapper.xml
  22. 5 2
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReviewNewTeamMapper.xml
  23. 117 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportOnlineArchivingService.java
  24. 116 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportPaperArchivingService.java
  25. 15 4
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportReviewService.java
  26. 60 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportService.java
  27. 124 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportSignAndIssueService.java
  28. 22 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/dto/ProjectContactInfo.java

+ 26 - 32
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectDict/service/ProjectDictService.java

@@ -3,6 +3,7 @@ package com.jeeplus.finance.projectDict.service;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.extra.spring.SpringUtil;
 import com.aliyun.oss.OSSClient;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.google.common.collect.Lists;
 import com.jeeplus.common.TokenProvider;
@@ -12,6 +13,9 @@ import com.jeeplus.finance.projectDict.domain.ProgramProjectDict;
 import com.jeeplus.finance.projectDict.domain.vo.FileDictVo;
 import com.jeeplus.finance.projectDict.mapper.ProjectDictMapper;
 import com.jeeplus.finance.projectDict.service.dto.ProjectDictDto;
+import com.jeeplus.finance.projectReport.domain.CwProjectReport;
+import com.jeeplus.finance.projectReport.domain.CwProjectReviewNew;
+import com.jeeplus.finance.projectReport.mapper.CwProjectReviewNewMapper;
 import com.jeeplus.flowable.feign.IFlowableApi;
 import com.jeeplus.sys.feign.IUserApi;
 import com.jeeplus.sys.service.dto.UserDTO;
@@ -38,6 +42,9 @@ public class ProjectDictService {
     @Resource
     private ProgramFileDictMapper programFileDictMapper;
 
+    @Resource
+    private CwProjectReviewNewMapper reviewNewMapper;
+
     @Value("${config.accessory.aliyun.aliyunUrl}")
     private String aliyunUrl;
 
@@ -62,7 +69,7 @@ public class ProjectDictService {
      * @param id
      * @return
      */
-    public List<FileDictVo> getFileDictList(ProjectDictDto projectDictDto, String projectId, String id) {
+    public List<FileDictVo> getFileDictList(ProjectDictDto projectDictDto, String projectId, String id,String type) {
         //获取当前登陆人信息
         UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getByToken(TokenProvider.getCurrentToken());
         List<FileDictVo> list = new ArrayList<>();
@@ -79,35 +86,26 @@ public class ProjectDictService {
         }
         List<WorkAttachmentInfoDTO> fileList = Lists.newArrayList();
         String stage="";
-        //获取当前项目处于哪个阶段
-//        JyProject jyProject = jyProjectMapper.getById(projectId);
-        //获取当前节点审核人
-//        List<String> users = SpringUtil.getBean(IFlowableApi.class).getTaskAuditUsers(jyProject.getTaskIdEia());
-//        JyProject jyProject = jyProjectMapper.getById(id);
+        //判断当前的报告复核处于哪一个节点
+        CwProjectReviewNew reviewNew = reviewNewMapper.selectOne(new QueryWrapper<CwProjectReviewNew>().eq("report_id", id));
         //获取当前节点名称
-//        String currentTaskName = SpringUtil.getBean(IFlowableApi.class).getCurrentTaskName(jyProject.getProcInsIdEia());
+        if (null != reviewNew) {
+            String currentTaskName = SpringUtil.getBean(IFlowableApi.class).getCurrentTaskName(reviewNew.getProcInsId());
+            if (StringUtils.isNotBlank(currentTaskName)) {
+                stage= "1";
+            } else {
+                stage= "1";
+            }
+        }
+        stage= "1";
+        if (StringUtils.isNotBlank(type)) {
+            if (type.equals("归档")) {
+                stage= "2";
+            }
+        }
+
+
 
-//        if (StringUtils.isNotBlank(jyProject.getOutInstanceId()) || StringUtils.isNotBlank(jyProject.getArchiveId()) || StringUtils.isNotBlank(jyProject.getEiaId())){
-//            //设置必填项
-//            //外审
-//            if (jyProject.getOutInstanceId().equals(id)){
-//                stage="2";
-//            }
-//            //如果是环评项目,则需要在设置审核阶段的必填项
-//            if (jyProject.getEiaId().equals(id)){
-//                stage="1";
-//                if (StringUtils.isNotBlank(currentTaskName)){
-//                    if (currentTaskName.equals("办公室审批")){
-//                        stage= "4";
-//                    }
-//                }
-//
-//            }
-//            //归档
-//            if (jyProject.getArchiveId().equals(id)){
-//                stage="3";
-//            }
-//        }
 
         for (FileDictVo dictVo : list) {
             if(StringUtils.isNotBlank(dictVo.getRequiredStage()) && dictVo.getRequiredStage().equals(stage)){
@@ -256,10 +254,6 @@ public class ProjectDictService {
         return projectDictMapper.findById(id);
     }
 
-    /**
-     * 阿里云获取临时文件查看url
-     * @param url
-     */
     public String getFileTemporaryLookUrl(String url){
         url = url.replace("amp;","");
         String cons = "";

+ 46 - 2
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportController.java

@@ -28,6 +28,7 @@ import com.jeeplus.finance.projectReport.mapper.ProjectReportWorkAttachmentMappe
 import com.jeeplus.finance.projectReport.service.CwProjectReportService;
 import com.jeeplus.finance.projectReport.service.dto.CwProjectReportDTO;
 import com.jeeplus.finance.projectReport.service.dto.CwProjectReportSignatureDTO;
+import com.jeeplus.finance.projectReport.service.dto.ProjectContactInfo;
 import com.jeeplus.finance.workClientInfo.service.dto.CwWorkClientBaseDTO;
 import com.jeeplus.flowable.feign.IFlowableApi;
 import com.jeeplus.logging.annotation.ApiLog;
@@ -239,6 +240,49 @@ public class CwProjectReportController {
     @GetMapping("queryByIdNew")
     public ResponseEntity queryByIdNew(@RequestParam("id") String id) {
         CwProjectReportData projectReportData = projectReportService.queryByIdNew ( id );
+        //查询委托方联系人信息
+        if (null != projectReportData) {
+            List<ProjectContactInfo> contactInfos = projectReportService.getContactInfos(projectReportData.getProjectId());
+            projectReportData.setContactInfos(contactInfos);
+        }
+
+        return ResponseEntity.ok (projectReportData);
+    }
+
+    /**
+     * 根据报告签发id查询信息
+     * @param id
+     * @return
+     */
+    @ApiLog("根据报告签发id查询信息")
+    // @PreAuthorize ("hasAnyAuthority('cwProjectReport:view','cwProjectReport:add','cwProjectReport:edit')")
+    @GetMapping("queryBySignAndIssueId")
+    public ResponseEntity queryBySignAndIssueId(@RequestParam("id") String id) {
+        CwProjectReportData projectReportData = projectReportService.queryBySignAndIssueId ( id );
+        return ResponseEntity.ok (projectReportData);
+    }
+
+    /**
+     * 根据在线归档id查询信息
+     * @param id
+     * @return
+     */
+    @ApiLog("根据在线归档id查询信息")
+    @GetMapping("queryByOnlineArchivingId")
+    public ResponseEntity queryByOnlineArchivingId(@RequestParam("id") String id) {
+        CwProjectReportData projectReportData = projectReportService.queryByOnlineArchivingId ( id );
+        return ResponseEntity.ok (projectReportData);
+    }
+
+    /**
+     * 根据纸质归档id查询信息
+     * @param id
+     * @return
+     */
+    @ApiLog("根据纸质归档id查询信息")
+    @GetMapping("queryByPaperArchivingId")
+    public ResponseEntity queryByPaperArchivingId(@RequestParam("id") String id) {
+        CwProjectReportData projectReportData = projectReportService.queryByPaperArchivingId ( id );
         return ResponseEntity.ok (projectReportData);
     }
 
@@ -250,7 +294,7 @@ public class CwProjectReportController {
      */
     @ApiOperation(value = "根据项目id查询外审附件信息")
     @GetMapping(value = "/getAttachmentList")
-    public ResponseEntity<List<FileDictVo>> getAttachmentList(@RequestParam String projectId, @RequestParam String id){
+    public ResponseEntity<List<FileDictVo>> getAttachmentList(@RequestParam String projectId, @RequestParam String id,@RequestParam String type){
         //根据项目id查询项目信息
         CwProjectRecords project = projectRecordsService.getById(projectId);
         ProjectDictDto projectDictDto = new ProjectDictDto();
@@ -266,7 +310,7 @@ public class CwProjectReportController {
         projectDictDto.setProjectLevel(project.getProjectLevel());
         projectDictDto.setAttachmentProjectSort(project.getReportType());
         projectDictDto.setSortList(sortList);
-        List<FileDictVo> list = projectDictService.getFileDictList(projectDictDto,projectId,id);
+        List<FileDictVo> list = projectDictService.getFileDictList(projectDictDto,projectId,id,type);
         return ResponseEntity.ok(list);
     }
     /**

+ 65 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportOnlineArchivingController.java

@@ -0,0 +1,65 @@
+package com.jeeplus.finance.projectReport.controller;
+
+import com.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportData;
+import com.jeeplus.finance.projectReport.service.CwProjectReportOnlineArchivingService;
+import com.jeeplus.logging.annotation.ApiLog;
+import com.jeeplus.logging.constant.enums.LogTypeEnum;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+/**
+ * @author 王强
+ * @version 1.0
+ * @date 2024-01-26 14:14
+ */
+@RestController
+@Api("线上归档信息")
+@RequestMapping(value = "/cwProjectReport/onlineArchiving")
+public class CwProjectReportOnlineArchivingController {
+
+    @Resource
+    private CwProjectReportOnlineArchivingService onlineArchivingService;
+
+    /**
+     * 保存财务报告线上归档信息-流程
+     * @param reportData
+     * @return
+     */
+    @ApiLog(value = "保存财务报告线上归档信息", type = LogTypeEnum.SAVE)
+    @PostMapping("saveForm")
+    public ResponseEntity saveForm(@Valid @RequestBody CwProjectReportData reportData) throws Exception {
+        String id = onlineArchivingService.saveForm(reportData);
+        return ResponseUtil.newInstance().add("businessTable", "cw_project_report_online_archiving").add("businessId", id).ok ("操作成功");
+    }
+
+    /**
+     * 根据报告id查询报告签发信息
+     * @param id
+     * @return
+     */
+    @ApiLog("根据报告id查询线上归档信息")
+    @GetMapping("queryByReportId")
+    public ResponseEntity queryByReportId(@RequestParam("id") String id) {
+        CwProjectReportData projectReportData = onlineArchivingService.queryByReportId(id);
+        return ResponseEntity.ok (projectReportData);
+    }
+
+    /**
+     * 根据id修改状态值status
+     * @param data
+     * @return
+     */
+    @ApiOperation(value = "根据报告id修改状态值status")
+    @PostMapping(value = "/updateStatusByReportId")
+    public ResponseEntity<String> updateStatusByReportId(@RequestBody CwProjectReportData data) {
+        String s = onlineArchivingService.updateStatusByReportId(data);
+        return ResponseEntity.ok(s);
+    }
+}

+ 67 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportPaperArchivingController.java

@@ -0,0 +1,67 @@
+package com.jeeplus.finance.projectReport.controller;
+
+import com.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportData;
+import com.jeeplus.finance.projectReport.service.CwProjectReportPaperArchivingService;
+import com.jeeplus.logging.annotation.ApiLog;
+import com.jeeplus.logging.constant.enums.LogTypeEnum;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+
+/**
+ * @author 王强
+ * @version 1.0
+ * @date 2024-01-31 15:55
+ */
+@RestController
+@Api("纸质归档信息")
+@RequestMapping(value = "/cwProjectReport/paperArchiving")
+public class CwProjectReportPaperArchivingController {
+
+    @Resource
+    private CwProjectReportPaperArchivingService paperArchivingService;
+
+    /**
+     * 保存财务报告纸质归档信息-流程
+     * @param reportData
+     * @return
+     */
+    @ApiLog(value = "保存财务报告纸质归档信息", type = LogTypeEnum.SAVE)
+    @PostMapping("saveForm")
+    public ResponseEntity saveForm(@Valid @RequestBody CwProjectReportData reportData) throws Exception {
+        String id = paperArchivingService.saveForm(reportData);
+        return ResponseUtil.newInstance().add("businessTable", "cw_project_report_paper_archiving").add("businessId", id).ok ("操作成功");
+    }
+
+    /**
+     * 根据报告id查询报告纸质归档信息
+     * @param id
+     * @return
+     */
+    @ApiLog("根据报告id查询纸质归档信息")
+    @GetMapping("queryByReportId")
+    public ResponseEntity queryByReportId(@RequestParam("id") String id) {
+        CwProjectReportData projectReportData = paperArchivingService.queryByReportId(id);
+        return ResponseEntity.ok (projectReportData);
+    }
+
+    /**
+     * 根据id修改状态值status
+     * @param data
+     * @return
+     */
+    @ApiOperation(value = "根据报告id修改状态值status")
+    @PostMapping(value = "/updateStatusByReportId")
+    public ResponseEntity<String> updateStatusByReportId(@RequestBody CwProjectReportData data) {
+        String s = paperArchivingService.updateStatusByReportId(data);
+        return ResponseEntity.ok(s);
+    }
+
+}
+
+

+ 11 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportReviewController.java

@@ -101,6 +101,17 @@ public class CwProjectReportReviewController {
         return ResponseEntity.ok (projectReportData);
     }
     /**
+     * 查询陈红星的注册/资格证号,专业信息
+     * @return
+     */
+    @ApiLog("查询陈红星的注册/资格证号,专业信息")
+    @GetMapping("getUserInfo")
+    public ResponseEntity getUserInfo(@RequestParam("id") String id) {
+        CwProjectReportData projectReportData = service.getUserInfo(id);
+        return ResponseEntity.ok (projectReportData);
+    }
+
+    /**
      * 查询客户信息数据
      * @param id
      * @return

+ 79 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/controller/CwProjectReportSignAndIssueController.java

@@ -0,0 +1,79 @@
+package com.jeeplus.finance.projectReport.controller;
+
+import com.jeeplus.common.utils.ResponseUtil;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportData;
+import com.jeeplus.finance.projectReport.service.CwProjectReportSignAndIssueService;
+import com.jeeplus.logging.annotation.ApiLog;
+import com.jeeplus.logging.constant.enums.LogTypeEnum;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.http.ResponseEntity;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.Valid;
+import java.lang.reflect.InvocationTargetException;
+
+/**
+ * @author 王强
+ * @version 1.0
+ * @date 2024-01-25 14:03
+ */
+@RestController
+@Api("报告签发信息")
+@RequestMapping(value = "/cwProjectReport/signAndIssue")
+public class CwProjectReportSignAndIssueController {
+
+    @Resource
+    private CwProjectReportSignAndIssueService andIssueService;
+
+    /**
+     * 保存财务报告信息-流程
+     * @param reportData
+     * @return
+     */
+    @ApiLog(value = "保存报告签发信息", type = LogTypeEnum.SAVE)
+    @PostMapping("saveForm")
+    public ResponseEntity saveForm(@Valid @RequestBody CwProjectReportData reportData) throws Exception {
+        String id = andIssueService.saveForm(reportData);
+        return ResponseUtil.newInstance().add("businessTable", "cw_project_report_sign_and_issue").add("businessId", id).ok ("操作成功");
+    }
+
+    /**
+     * 根据报告id查询报告签发信息
+     * @param id
+     * @return
+     */
+    @ApiLog("根据报告id查询报告签发信息")
+    @PreAuthorize("hasAnyAuthority('cwProjectReport:view','cwProjectReport:add','cwProjectReport:edit')")
+    @GetMapping("queryByReportId")
+    public ResponseEntity queryByReportId(@RequestParam("id") String id) {
+        CwProjectReportData projectReportData = andIssueService.queryByReportId(id);
+        return ResponseEntity.ok (projectReportData);
+    }
+
+    /**
+     * 根据id修改状态值status
+     * @param data
+     * @return
+     */
+    @ApiOperation(value = "根据报告id修改状态值status")
+    @PostMapping(value = "/updateStatusByReportId")
+    public ResponseEntity<String> updateStatusByReportId(@RequestBody CwProjectReportData data) {
+        String s = andIssueService.updateStatusByReportId(data);
+        return ResponseEntity.ok(s);
+    }
+
+    /**
+     * 删除报告签发信息
+     * @param id
+     * @return
+     */
+    @ApiLog(value = "删除报告签发信息", type = LogTypeEnum.SAVE)
+    @PreAuthorize ("hasAuthority('signAndIssue:del')")
+    @DeleteMapping("delete")
+    public ResponseEntity delete(String id) {
+        return andIssueService.deleteById(id);
+    }
+}

+ 67 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportData.java

@@ -6,6 +6,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import com.jeeplus.core.query.Query;
 import com.jeeplus.core.service.dto.BaseDTO;
 import com.jeeplus.finance.common.flowable.dto.CommitParamDTO;
+import com.jeeplus.finance.projectReport.service.dto.ProjectContactInfo;
 import com.jeeplus.finance.projectReport.service.dto.ProjectReportWorkAttachmentDTO;
 import com.jeeplus.sys.domain.WorkAttachmentInfo;
 import lombok.Data;
@@ -21,8 +22,74 @@ import java.util.List;
 @Data
 public class CwProjectReportData extends BaseDTO {
 
+    //案卷号
+    private String filedNo;
+    //确认案卷号
+    private String confirmFiledNo;
+    //合同金额
+    private String contractAmount;
+    //合同类型
+    private String contractType;
+    //纸质归档流程id
+    private String paperArchivingTaskId;
+    //纸质归档流程状态
+    private String paperArchivingStatus;
+    //纸质归档流程procinsid
+    private String paperArchivingProcInsId;
+    //纸质归档id
+    private String paperArchivingId;
+
+    private String remarks;
+
+    private List<ProjectContactInfo> contactInfos;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date planStartDate;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date createDate;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date planEndDate;
+
+    //委托方
+    private String clientName;
+    //项目金额
+    private String projectMoney;
+    //合同编号
+    private String contractNo;
+
+    //归档申请人名称
+    private String applyUserName;
+    //归档申请人id
+    private String applyUserId;
+
+    //线上归档流程id
+    private String onlineArchivingTaskId;
+    //线上归档流程状态
+    private String onlineArchivingStatus;
+    //线上归档流程procinsid
+    private String onlineArchivingProcInsId;
+    //线上归档id
+    private String onlineArchivingId;
+    private String onlineRemarks;
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date applyDates;
+
+    //报告签发流程id
+    private String signAndIssueTaskId;
+    //报告签发流程状态
+    private String signAndIssueStatus;
+    //报告签发
+    private String procInsId4;
+    //报告签发id
+    private String signAndIssueId;
+
     private List<CwProjectReviewNewTeam> detailInfos;
 
+    //下一节点审核人名称
+    private String reviewByName;
+
     private String reviewNewId;
 
     //项目等级

+ 30 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportOnlineArchiving.java

@@ -0,0 +1,30 @@
+package com.jeeplus.finance.projectReport.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * 报告-线上归档
+ * @author 王强
+ * @version 1.0
+ * @date 2024-01-26 10:57
+ */
+@Data
+@TableName(value = "cw_project_report_online_archiving")
+public class CwProjectReportOnlineArchiving extends BaseEntity {
+
+    private String reportId;  //报告id
+    /**
+     * 流程id
+     */
+    private String procInsId;
+
+    private String processDefinitionId;
+
+    private String status;
+
+    private String applyUserId;
+
+    private String onlineRemarks;
+}

+ 30 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportPaperArchiving.java

@@ -0,0 +1,30 @@
+package com.jeeplus.finance.projectReport.domain;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * 报告-纸质归档
+ * @author 王强
+ * @version 1.0
+ * @date 2024-01-26 10:57
+ */
+@Data
+@TableName(value = "cw_project_report_paper_archiving")
+public class CwProjectReportPaperArchiving extends BaseEntity {
+
+    private String reportId;  //报告id
+    /**
+     * 流程id
+     */
+    private String procInsId;
+
+    private String processDefinitionId;
+
+    private String status;
+    //案卷号
+    private String filedNo;
+    //确认案卷号
+    private String confirmFiledNo;
+}

+ 27 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReportSignAndIssue.java

@@ -0,0 +1,27 @@
+package com.jeeplus.finance.projectReport.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jeeplus.core.domain.BaseEntity;
+import lombok.Data;
+
+/**
+ * 报告签发
+ * @author 王强
+ * @version 1.0
+ * @date 2024-01-25 13:52
+ */
+@Data
+@TableName(value = "cw_project_report_sign_and_issue")
+public class CwProjectReportSignAndIssue extends BaseEntity {
+
+    private String reportId;  //报告id
+    /**
+     * 流程id
+     */
+    private String procInsId;
+
+    private String processDefinitionId;
+
+    private String status;
+}

+ 3 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/domain/CwProjectReviewNewTeam.java

@@ -19,6 +19,9 @@ public class CwProjectReviewNewTeam extends BaseEntity {
     private String content;  //本人负责内容
     private String opinion;  //审核意见
 
+    //编号
+    private String detailNumber;
+
     @TableField(exist = false)
     private String memberName;  //成员名称
     @TableField(exist = false)

+ 8 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportMapper.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.finance.projectReport.domain.*;
+import com.jeeplus.finance.projectReport.service.dto.ProjectContactInfo;
 import com.jeeplus.finance.workClientInfo.domain.CwWorkClientBase;
 import com.jeeplus.finance.workClientInfo.service.dto.CwWorkClientBaseDTO;
 import com.jeeplus.sys.domain.WorkAttachmentInfo;
@@ -231,4 +232,11 @@ public interface CwProjectReportMapper extends BaseMapper<CwProjectReport> {
     List<CwProjectReport> getReportInfoByNoList(@Param("reportNoList") List<String> reportNoList);
 
     void updatesigStatusById(CwProjectReport report);
+
+    /**
+     * 根据项目id获取委托方联系人信息
+     * @param projectId
+     * @return
+     */
+    List<ProjectContactInfo> getContactInfos(String projectId);
 }

+ 22 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportOnlineArchivingMapper.java

@@ -0,0 +1,22 @@
+package com.jeeplus.finance.projectReport.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportOnlineArchiving;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author 王强
+ * @version 1.0
+ * @date 2024-01-26 14:36
+ */
+@Mapper
+public interface CwProjectReportOnlineArchivingMapper extends BaseMapper<CwProjectReportOnlineArchiving> {
+
+    /**
+     * 根据id修改状态
+     * @param id
+     * @param status
+     */
+    void updateStatusById(@Param("id") String id, @Param("status") String status);
+}

+ 22 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportPaperArchivingMapper.java

@@ -0,0 +1,22 @@
+package com.jeeplus.finance.projectReport.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportPaperArchiving;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author 王强
+ * @version 1.0
+ * @date 2024-01-31 15:52
+ */
+@Mapper
+public interface CwProjectReportPaperArchivingMapper extends BaseMapper<CwProjectReportPaperArchiving> {
+
+    /**
+     * 根据id修改状态
+     * @param id
+     * @param status
+     */
+    void updateStatusById(@Param("id") String id, @Param("status") String status);
+}

+ 6 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportReviewMapper.java

@@ -62,4 +62,10 @@ public interface CwProjectReportReviewMapper extends BaseMapper<CwProjectReview>
      */
     CwProjectReportData selectProjectReportById(String id);
 
+    /**
+     * 查询陈红星的注册/资格证号,专业信息
+     * @return
+     */
+    @InterceptorIgnore(tenantLine = "true")
+    CwProjectReportData getUserInfo();
 }

+ 23 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/CwProjectReportSignAndIssueMapper.java

@@ -0,0 +1,23 @@
+package com.jeeplus.finance.projectReport.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportSignAndIssue;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * @author 王强
+ * @version 1.0
+ * @date 2024-01-25 13:54
+ */
+@Mapper
+public interface CwProjectReportSignAndIssueMapper extends BaseMapper<CwProjectReportSignAndIssue> {
+
+    /**
+     * 根据id修改状态
+     * @param id
+     * @param status
+     */
+    void updateStatusById(@Param("id") String id, @Param("status") String status);
+}

+ 77 - 2
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportMapper.xml

@@ -61,7 +61,7 @@
 
     <select id="queryByIdNew" resultType="com.jeeplus.finance.projectReport.domain.CwProjectReportData">
         SELECT
-         a.id,
+          a.id,
         a.create_by_id AS createById,
         a.create_time,
         a.update_by_id,
@@ -94,6 +94,12 @@
         b.project_name AS projectName,
         b.project_number AS projectNumber,
         b.project_level AS projectLevel,
+        b.office_id AS officeId,
+        b.report_type AS reportType,
+        b.project_money,
+        b.plan_start_date as planStartDate,
+        b.plan_end_date as planEndDate,
+        b.create_time as createDate,
         su3.NAME AS projectManager,
         su3.id AS projectManagerId,
         su3.NAME AS memberName,
@@ -105,7 +111,28 @@
         a.industry,
         a.business_objects,
         a.report_name,
-        <include refid="Cw_Re_Column_List"></include>
+        <include refid="Cw_Re_Column_List"></include>,
+        suser2.name as reviewByName,
+        cw_sai.id as signAndIssueId,
+        new_line.report_no as reportNo,
+        cw_re.update_time as reportDate,
+        cwinfo.contract_no,
+        cwinfo.contract_name,
+        cwinfo.contract_amount as contractAmount,
+        cwinfo.contract_type as contractType,
+        cwcp.customer_name as clientName,
+        roa.id as onlineArchivingId,
+        roa.online_remarks,
+        roa.create_time as applyDates,
+        roa.proc_ins_id as onlineArchivingProcInsId,
+        suser3.name as applyUserName,
+        suser3.id as applyUserId,
+        roaart.ID_ as onlineArchivingTaskId,
+        rpa.id as paperArchivingId,
+        rpa.filed_no,
+        rpa.confirm_filed_no,
+        rpa.status as paperArchivingStatus
+
     FROM
         cw_project_report a
         LEFT JOIN cw_project_records b ON a.project_id = b.id
@@ -126,6 +153,19 @@
         AND suser.del_flag = '0'
         LEFT JOIN cw_project_report_review_new cw_re ON a.id = cw_re.report_id
         AND cw_re.del_flag = '0'
+        LEFT JOIN cw_project_report_sign_and_issue cw_sai ON a.id = cw_sai.report_id
+        AND cw_sai.del_flag = '0'
+        LEFT JOIN sys_user suser2 ON cw_re.review_by = suser2.id
+        AND suser2.del_flag = '0'
+        left join cw_project_report_new_line new_line on a.id = new_line.report_id and new_line.del_flag = '0'
+        LEFT JOIN cw_work_contract_info cwinfo on b.contract_id = cwinfo.id and cwinfo.del_flag = '0'
+        LEFT JOIN cw_work_contract_participant cwcp on cwinfo.id = cwcp.contract_info_id and cwcp.del_flag = '0'
+        left join cw_project_report_online_archiving roa on a.id = roa.report_id and roa.del_flag = '0'
+        left join act_ru_task roaart ON roa.proc_ins_id = roaart.PROC_INST_ID_
+        left join cw_project_report_paper_archiving rpa on a.id = rpa.report_id and rpa.del_flag = '0'
+
+        LEFT JOIN sys_user suser3 ON roa.create_by_id = suser3.id
+        AND suser3.del_flag = '0'
     WHERE
         a.id = #{id}
 				AND a.del_flag = '0'
@@ -191,9 +231,22 @@
         ifnull(cw_rev.review_status,'0') as reviewStatus,
         cw_rev.proc_ins_id as procInsId3,
         cw_rev.id as reviewNewId,
+        ifnull(sai.status,'0') as signAndIssueStatus,
+        sai.proc_ins_id as procInsId4,
+        sai.id as signAndIssueId,
+        ifnull(roa.status,'0') as onlineArchivingStatus,
+        roa.proc_ins_id as onlineArchivingProcInsId,
+        roa.id as onlineArchivingId,
+        roaart.ID_ as onlineArchivingTaskId,
+        ifnull(rpa.status,'0') as paperArchivingStatus,
+        rpa.proc_ins_id as paperArchivingProcInsId,
+        rpa.id as paperArchivingId,
+        rpaart.ID_ as paperArchivingTaskId,
+
         new_line.report_no as reportNo,
         cwcb.name as servedUnitName,
         art.ID_ as rev_task_id,
+        artart.ID_ as signAndIssueTaskId,
         arta.ID_ as rev_task_id2,
         art1.ID_ as sign_task_id1,
         art2.ID_ as sign_task_id2,
@@ -229,6 +282,13 @@
 
         left join cw_project_report_new_line new_line on a.id = new_line.report_id and new_line.del_flag = '0'
         left join cw_project_report_review_new cw_rev on a.id = cw_rev.report_id and cw_rev.del_flag = '0'
+        left join cw_project_report_sign_and_issue sai on a.id = sai.report_id and sai.del_flag = '0'
+        left join act_ru_task artart ON sai.proc_ins_id = artart.PROC_INST_ID_
+        left join cw_project_report_online_archiving roa on a.id = roa.report_id and roa.del_flag = '0'
+        left join act_ru_task roaart ON roa.proc_ins_id = roaart.PROC_INST_ID_
+        left join cw_project_report_paper_archiving rpa on a.id = rpa.report_id and rpa.del_flag = '0'
+        left join act_ru_task rpaart ON rpa.proc_ins_id = rpaart.PROC_INST_ID_
+
         LEFT JOIN cw_project_report_archive cw_pa on  a.id = cw_pa.report_id and cw_pa.del_flag = '0'
         left join act_ru_task art ON cw_rev.proc_ins_id = art.PROC_INST_ID_
         left join cw_project_members cpm on b.id = cpm.project_id
@@ -1052,6 +1112,21 @@
         where
             cw_prnl.report_no=#{reportNo}
     </select>
+    <select id="getContactInfos" resultType="com.jeeplus.finance.projectReport.service.dto.ProjectContactInfo">
+        SELECT
+            cw_wcb.NAME AS clientContactsName,
+            cw_wco.NAME AS NAME,
+            cw_wco.contact_first,
+            cw_wco.contact_second
+        FROM
+            cw_project_client_info cw_pci
+            LEFT JOIN cw_work_client_base cw_wcb ON cw_wcb.id = cw_pci.client_id
+            AND cw_wcb.del_flag = '0'
+            LEFT JOIN cw_work_client_contact cw_wco ON cw_wcb.id = cw_wco.client_id
+            AND cw_wco.del_flag = '0'
+        WHERE
+            cw_pci.project_id = #{id}
+    </select>
 
     <update id="updatesigStatusById">
         update cw_project_report set signature_annotator1=#{signatureAnnotator1},signature_annotator2=#{signatureAnnotator2},signature_annotator_status=#{signatureAnnotatorStatus} where id=#{id}

+ 8 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportOnlineArchivingMapper.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.finance.projectReport.mapper.CwProjectReportOnlineArchivingMapper">
+    <update id="updateStatusById">
+         update cw_project_report_online_archiving set status = #{status}
+        where id = #{id}
+    </update>
+</mapper>

+ 8 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportPaperArchivingMapper.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.finance.projectReport.mapper.CwProjectReportPaperArchivingMapper">
+    <update id="updateStatusById">
+        update cw_project_report_paper_archiving set status = #{status}
+        where id = #{id}
+    </update>
+</mapper>

+ 24 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportReviewMapper.xml

@@ -140,5 +140,29 @@
         left join cw_project_report_review b on a.id = b.report_id
         where a.id = #{id}
     </select>
+    <select id="getUserInfo" resultType="com.jeeplus.finance.projectReport.domain.CwProjectReportData">
+         select
+            su.id as id,
+            su.name as memberName,
+            cert.type AS professionType,
+            cert.profession AS profession,
+            cert.enroll_cert_no AS enrollCertNo
+            from sys_user su
+            LEFT JOIN sys_cert cert ON su.id = cert.user_id AND cert.del_flag = '0'
+            where su.name= '陈红星' and su.del_flag = '0'
+            AND cert.type IN ('3', '4')
+            AND cert.type = (
+            CASE
+            WHEN EXISTS (
+            SELECT 1
+            FROM sys_cert sub_cert
+            WHERE sub_cert.user_id = su.id
+            AND sub_cert.type = '3'
+            AND sub_cert.del_flag = '0'
+            ) THEN '3'
+            ELSE '4'
+            END
+            );
+    </select>
 
 </mapper>

+ 8 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReportSignAndIssueMapper.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.finance.projectReport.mapper.CwProjectReportSignAndIssueMapper">
+    <update id="updateStatusById">
+        update cw_project_report_sign_and_issue set status = #{status}
+        where id = #{id}
+    </update>
+</mapper>

+ 5 - 2
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/mapper/xml/CwProjectReviewNewTeamMapper.xml

@@ -13,7 +13,8 @@
         a.user_id,
         a.user_role,
         a.content,
-        a.opinion
+        a.opinion,
+        a.detail_number
     </sql>
     <delete id="deleteByReportId">
         update cw_project_report_review_new_team set del_flag = '1' where report_id = #{reportId}
@@ -41,6 +42,8 @@
         ) THEN '3'
         ELSE '4'
         END
-        );
+        )
+        order by detail_number asc;
     </select>
+
 </mapper>

+ 117 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportOnlineArchivingService.java

@@ -0,0 +1,117 @@
+package com.jeeplus.finance.projectReport.service;
+
+import cn.hutool.extra.spring.SpringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.common.TokenProvider;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportData;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportOnlineArchiving;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportSignAndIssue;
+import com.jeeplus.finance.projectReport.mapper.CwProjectReportOnlineArchivingMapper;
+import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.service.dto.UserDTO;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.UUID;
+
+/**
+ * @author 王强
+ * @version 1.0
+ * @date 2024-01-26 14:37
+ */
+@Service
+@Transactional(rollbackFor = Exception.class)
+@Component
+public class CwProjectReportOnlineArchivingService extends ServiceImpl<CwProjectReportOnlineArchivingMapper, CwProjectReportOnlineArchiving> {
+
+    @Resource
+    private CwProjectReportOnlineArchivingMapper onlineArchivingMapper;
+
+    /**
+     * 修改状态
+     * @param data
+     * @return
+     */
+    public String updateStatusByReportId(CwProjectReportData data) {
+        onlineArchivingMapper.updateStatusById(data.getId(),data.getStatus());
+        return "操作成功";
+    }
+
+    public CwProjectReportData queryByReportId(String id) {
+        CwProjectReportOnlineArchiving signAndIssue = onlineArchivingMapper.selectOne(new QueryWrapper<CwProjectReportOnlineArchiving>().eq("report_id", id));
+        CwProjectReportData data = new CwProjectReportData();
+        if (null != signAndIssue) {
+
+            BeanUtils.copyProperties(signAndIssue, data);
+        }
+
+        return data;
+    }
+
+    /**
+     * 保存项目以及其他相关信息
+     * @param reportData
+     * @return
+     * @throws Exception
+     */
+    public String saveForm(CwProjectReportData reportData) throws Exception{
+        if (StringUtils.isNotEmpty(reportData.getId())){
+
+            CwProjectReportOnlineArchiving onlineArchiving = onlineArchivingMapper.selectById(reportData.getOnlineArchivingId());
+            if (onlineArchiving != null){
+                reportData.setCreateBy(reportData.getCreateBy());
+                return update(reportData,onlineArchiving);
+            }
+        }
+        return add(reportData);
+
+    }
+
+    public String add(CwProjectReportData dto) throws Exception{
+
+
+        //生成主键id值
+        String id = UUID.randomUUID().toString().replace("-", "");
+        //获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
+        //保存基本信息
+        CwProjectReportOnlineArchiving info = new CwProjectReportOnlineArchiving();
+        BeanUtils.copyProperties(dto, info);
+
+        info.setId(id);
+        info.setCreateById(userDTO.getId());
+        info.setCreateTime(new Date());
+        info.setUpdateById(userDTO.getId());
+        info.setUpdateTime(new Date());
+        info.setReportId(dto.getId());
+
+        onlineArchivingMapper.insert(info);
+
+        return info.getId();
+    }
+
+
+    /**
+     * 合同登记修改
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public String update(CwProjectReportData reportData, CwProjectReportOnlineArchiving onlineArchiving) throws Exception{
+        //获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
+        CwProjectReportOnlineArchiving review = new CwProjectReportOnlineArchiving();
+        BeanUtils.copyProperties(reportData, review);
+        review.setUpdateById(userDTO.getId());
+        review.setUpdateTime(new Date());
+        review.setId(reportData.getOnlineArchivingId());
+
+        onlineArchivingMapper.updateById(review);
+
+        return review.getId();
+    }
+}

+ 116 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportPaperArchivingService.java

@@ -0,0 +1,116 @@
+package com.jeeplus.finance.projectReport.service;
+
+import cn.hutool.extra.spring.SpringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.common.TokenProvider;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportData;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportPaperArchiving;
+import com.jeeplus.finance.projectReport.mapper.CwProjectReportPaperArchivingMapper;
+import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.service.dto.UserDTO;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.UUID;
+
+/**
+ * @author 王强
+ * @version 1.0
+ * @date 2024-01-31 15:54
+ */
+@Service
+@Transactional(rollbackFor = Exception.class)
+@Component
+public class CwProjectReportPaperArchivingService extends ServiceImpl<CwProjectReportPaperArchivingMapper, CwProjectReportPaperArchiving> {
+
+    @Resource
+    private CwProjectReportPaperArchivingMapper paperArchivingMapper;
+
+    /**
+     * 修改状态
+     * @param data
+     * @return
+     */
+    public String updateStatusByReportId(CwProjectReportData data) {
+        paperArchivingMapper.updateStatusById(data.getId(),data.getStatus());
+        return "操作成功";
+    }
+
+    public CwProjectReportData queryByReportId(String id) {
+        CwProjectReportPaperArchiving signAndIssue = paperArchivingMapper.selectOne(new QueryWrapper<CwProjectReportPaperArchiving>().eq("report_id", id));
+        CwProjectReportData data = new CwProjectReportData();
+        if (null != signAndIssue) {
+
+            BeanUtils.copyProperties(signAndIssue, data);
+        }
+
+        return data;
+    }
+
+    /**
+     * 保存项目以及其他相关信息
+     * @param reportData
+     * @return
+     * @throws Exception
+     */
+    public String saveForm(CwProjectReportData reportData) throws Exception{
+        if (StringUtils.isNotEmpty(reportData.getId())){
+
+            CwProjectReportPaperArchiving onlineArchiving = paperArchivingMapper.selectById(reportData.getPaperArchivingId());
+            if (onlineArchiving != null){
+                reportData.setCreateBy(reportData.getCreateBy());
+                return update(reportData,onlineArchiving);
+            }
+        }
+        return add(reportData);
+
+    }
+
+    public String add(CwProjectReportData dto) throws Exception{
+
+
+        //生成主键id值
+        String id = UUID.randomUUID().toString().replace("-", "");
+        //获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
+        //保存基本信息
+        CwProjectReportPaperArchiving info = new CwProjectReportPaperArchiving();
+        BeanUtils.copyProperties(dto, info);
+
+        info.setId(id);
+        info.setCreateById(userDTO.getId());
+        info.setCreateTime(new Date());
+        info.setUpdateById(userDTO.getId());
+        info.setUpdateTime(new Date());
+        info.setReportId(dto.getId());
+
+        paperArchivingMapper.insert(info);
+
+        return info.getId();
+    }
+
+
+    /**
+     * 合同登记修改
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public String update(CwProjectReportData reportData, CwProjectReportPaperArchiving onlineArchiving) throws Exception{
+        //获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
+        CwProjectReportPaperArchiving review = new CwProjectReportPaperArchiving();
+        BeanUtils.copyProperties(reportData, review);
+        review.setUpdateById(userDTO.getId());
+        review.setUpdateTime(new Date());
+        review.setId(reportData.getPaperArchivingId());
+
+        paperArchivingMapper.updateById(review);
+
+        return review.getId();
+    }
+}

+ 15 - 4
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportReviewService.java

@@ -27,6 +27,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import javax.annotation.Resource;
 import java.lang.reflect.InvocationTargetException;
@@ -76,17 +77,27 @@ public class CwProjectReportReviewService extends ServiceImpl<CwProjectReportRev
     @Resource
     private CwProjectReportReviewMapper cwProjectReportReviewMapper;
 
-    public CwProjectReportData queryByReportId(String id) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
+    public CwProjectReportData queryByReportId(String id) {
         CwProjectReportData data = mapper.selectByPortId(id);
         //查询复核相关信息
 
         return data;
     }
-    public CwProjectReportData queryByReportIdNew(String id) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
+
+    public CwProjectReportData getUserInfo(String id) {
+        CwProjectReportData data = mapper.getUserInfo();
+        UserDTO userDTO = SpringUtil.getBean(IUserApi.class).getById(id);
+        data.setReviewByName(userDTO.getName());
+
+        return data;
+    }
+    public CwProjectReportData queryByReportIdNew(String id) {
         CwProjectReviewNew reviewNew = reviewNewMapper.selectOne(new QueryWrapper<CwProjectReviewNew>().eq("report_id", id));
         CwProjectReportData data = new CwProjectReportData();
-        BeanUtils.copyProperties(reviewNew, data);
-        //查询复核相关信息
+        if (null != reviewNew) {
+
+            BeanUtils.copyProperties(reviewNew, data);
+        }
 
         return data;
     }

+ 60 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportService.java

@@ -22,6 +22,7 @@ import com.jeeplus.finance.projectReport.domain.*;
 import com.jeeplus.finance.projectReport.mapper.*;
 import com.jeeplus.finance.projectReport.service.dto.CwProjectReportDTO;
 import com.jeeplus.finance.projectReport.service.dto.CwProjectReportSignatureDTO;
+import com.jeeplus.finance.projectReport.service.dto.ProjectContactInfo;
 import com.jeeplus.finance.projectReport.service.dto.ProjectReportWorkAttachmentDTO;
 import com.jeeplus.finance.projectReport.service.mapstruct.CwProjectReportFileWrapper;
 import com.jeeplus.finance.projectReportArchive.domain.CwProjectReportArchive;
@@ -121,6 +122,15 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
     @Resource
     private CwProjectReportNumberApplyMapper applyMapper;
 
+    @Resource
+    private CwProjectReportSignAndIssueMapper signAndIssueMapper;
+
+    @Resource
+    private CwProjectReportOnlineArchivingMapper onlineArchivingMapper;
+
+    @Resource
+    private CwProjectReportPaperArchivingMapper paperArchivingMapper;
+
 
     /**
      * 保存项目以及其他相关信息
@@ -722,6 +732,52 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
         return reportData;
     }
 
+    /**
+     * 根据报告签发id查询信息
+     * @param id
+     * @return
+     */
+    public CwProjectReportData queryBySignAndIssueId(String id) {
+
+        CwProjectReportSignAndIssue signAndIssue = signAndIssueMapper.selectById(id);
+
+        CwProjectReportData reportData = reportMapper.queryByIdNew(signAndIssue.getReportId());
+
+        return reportData;
+    }
+
+    /**
+     * 根据报告在线归档id查询信息
+     * @param id
+     * @return
+     */
+    public CwProjectReportData queryByOnlineArchivingId(String id) {
+
+        CwProjectReportOnlineArchiving onlineArchiving = onlineArchivingMapper.selectById(id);
+
+        CwProjectReportData reportData = reportMapper.queryByIdNew(onlineArchiving.getReportId());
+
+        return reportData;
+    }
+    /**
+     * 根据报告纸质归档id查询信息
+     * @param id
+     * @return
+     */
+    public CwProjectReportData queryByPaperArchivingId(String id) {
+
+        CwProjectReportPaperArchiving paperArchiving = paperArchivingMapper.selectById(id);
+
+        CwProjectReportData reportData = reportMapper.queryByIdNew(paperArchiving.getReportId());
+        //查询委托方联系人信息
+        if (null != reportData) {
+            List<ProjectContactInfo> contactInfos = reportMapper.getContactInfos(reportData.getProjectId());
+            reportData.setContactInfos(contactInfos);
+        }
+
+        return reportData;
+    }
+
     public CwProjectReportData queryById(String id) {
 
         CwProjectReportData reportData = reportMapper.queryById(id);
@@ -3878,4 +3934,8 @@ public class CwProjectReportService extends ServiceImpl<CwProjectReportMapper, C
 
 
     }
+
+    public List<ProjectContactInfo> getContactInfos(String projectId) {
+        return reportMapper.getContactInfos(projectId);
+    }
 }

+ 124 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/CwProjectReportSignAndIssueService.java

@@ -0,0 +1,124 @@
+package com.jeeplus.finance.projectReport.service;
+
+import cn.hutool.extra.spring.SpringUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.jeeplus.common.TokenProvider;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportData;
+import com.jeeplus.finance.projectReport.domain.CwProjectReportSignAndIssue;
+import com.jeeplus.finance.projectReport.domain.CwProjectReviewNew;
+import com.jeeplus.finance.projectReport.domain.CwProjectReviewNewTeam;
+import com.jeeplus.finance.projectReport.mapper.CwProjectReportSignAndIssueMapper;
+import com.jeeplus.sys.feign.IUserApi;
+import com.jeeplus.sys.service.dto.UserDTO;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+/**
+ * @author 王强
+ * @version 1.0
+ * @date 2024-01-25 14:00
+ */
+@Service
+@Transactional(rollbackFor = Exception.class)
+@Component
+public class CwProjectReportSignAndIssueService extends ServiceImpl<CwProjectReportSignAndIssueMapper, CwProjectReportSignAndIssue> {
+
+    @Resource
+    private CwProjectReportSignAndIssueMapper signAndIssueMapper;
+
+    /**
+     * 修改状态
+     * @param data
+     * @return
+     */
+    public String updateStatusByReportId(CwProjectReportData data) {
+        signAndIssueMapper.updateStatusById(data.getId(),data.getStatus());
+        return "操作成功";
+    }
+
+    public CwProjectReportData queryByReportId(String id) {
+        CwProjectReportSignAndIssue signAndIssue = signAndIssueMapper.selectOne(new QueryWrapper<CwProjectReportSignAndIssue>().eq("report_id", id));
+        CwProjectReportData data = new CwProjectReportData();
+        if (null != signAndIssue) {
+
+            BeanUtils.copyProperties(signAndIssue, data);
+        }
+
+        return data;
+    }
+
+    /**
+     * 保存项目以及其他相关信息
+     * @param reportData
+     * @return
+     * @throws Exception
+     */
+    public String saveForm(CwProjectReportData reportData) throws Exception{
+        if (StringUtils.isNotEmpty(reportData.getId())){
+
+            CwProjectReportSignAndIssue signAndIssue = signAndIssueMapper.selectById(reportData.getSignAndIssueId());
+            if (signAndIssue != null){
+                reportData.setCreateBy(reportData.getCreateBy());
+                return update(reportData,signAndIssue);
+            }
+        }
+        return add(reportData);
+
+    }
+
+    /**
+     * 合同登记修改
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public String update(CwProjectReportData reportData,CwProjectReportSignAndIssue signAndIssue) throws Exception{
+        //获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
+        CwProjectReportSignAndIssue review = new CwProjectReportSignAndIssue();
+        BeanUtils.copyProperties(reportData, review);
+        review.setUpdateById(userDTO.getId());
+        review.setUpdateTime(new Date());
+        review.setId(reportData.getSignAndIssueId());
+
+        signAndIssueMapper.updateById(review);
+
+        return review.getId();
+    }
+
+    public String add(CwProjectReportData dto) throws Exception{
+
+
+        //生成主键id值
+        String id = UUID.randomUUID().toString().replace("-", "");
+        //获取当前登录人信息
+        UserDTO userDTO = SpringUtil.getBean ( IUserApi.class ).getByToken(TokenProvider.getCurrentToken ( ));
+        //保存基本信息
+        CwProjectReportSignAndIssue info = new CwProjectReportSignAndIssue();
+        BeanUtils.copyProperties(dto, info);
+
+        info.setId(id);
+        info.setCreateById(userDTO.getId());
+        info.setCreateTime(new Date());
+        info.setUpdateById(userDTO.getId());
+        info.setUpdateTime(new Date());
+        info.setReportId(dto.getId());
+
+        signAndIssueMapper.insert(info);
+
+        return info.getId();
+    }
+
+    public ResponseEntity deleteById(String id) {
+        signAndIssueMapper.deleteById(id);
+        return ResponseEntity.ok ("删除成功");
+    }
+}

+ 22 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/projectReport/service/dto/ProjectContactInfo.java

@@ -0,0 +1,22 @@
+package com.jeeplus.finance.projectReport.service.dto;
+
+import com.jeeplus.core.service.dto.BaseDTO;
+import lombok.Data;
+
+/**
+ * @author 王强
+ * @version 1.0
+ * @date 2024-01-31 15:08
+ */
+@Data
+public class ProjectContactInfo extends BaseDTO {
+
+    //委托方
+    private String clientContactsName;
+    //联系人姓名
+    private String name;
+    //联系方式1
+    private String contactFirst;
+    //联系方式2
+    private String contactSecond;
+}