Browse Source

管理员撤回项目管理调整

sangwenwei 2 months ago
parent
commit
ea77a47a5e
17 changed files with 346 additions and 59 deletions
  1. 6 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/dao/ProjectFilingBatchDao.java
  2. 6 0
      src/main/java/com/jeeplus/modules/projectFilingBatch/dao/ProjectFilingbatchRelationDao.java
  3. 9 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectAdminRevoke.java
  4. 61 8
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/ProjectPaperFilingService.java
  5. 56 7
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewTwoService.java
  6. 110 3
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java
  7. 2 1
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/ProjectPaperFilingController.java
  8. 25 10
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageController.java
  9. 25 5
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageController.java
  10. 18 9
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageNewTwoController.java
  11. 5 1
      src/main/resources/mappings/modules/projectGuidang/ProjectFilingBatchDao.xml
  12. 3 0
      src/main/resources/mappings/modules/projectGuidang/ProjectFilingbatchRelationDao.xml
  13. 4 2
      src/main/resources/mappings/modules/ruralprojectrecords/ProjectPaperFilingDao.xml
  14. 7 4
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageDao.xml
  15. 1 1
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml
  16. 4 4
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageList.jsp
  17. 4 4
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList.jsp

+ 6 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/dao/ProjectFilingBatchDao.java

@@ -54,4 +54,10 @@ public interface ProjectFilingBatchDao extends CrudDao<ProjectFilingBatch> {
      * @return
      */
     List<ProjectFilingbatchRelation> getRelationListByProjectId(@Param("projectId") String projectId);
+
+    /**
+     * 逻辑删除
+     * @param id
+     */
+    void updateById(@Param("id")String id);
 }

+ 6 - 0
src/main/java/com/jeeplus/modules/projectFilingBatch/dao/ProjectFilingbatchRelationDao.java

@@ -38,4 +38,10 @@ public interface ProjectFilingbatchRelationDao extends CrudDao<ProjectFilingbatc
     void updateUseStartByProjectIdAndFilingBatchId(@Param("projectId") String  projectId,@Param("filingBatchId") String filingBatchId);
 
     void updateProjectFilingStatusByProjectId(@Param("id") String  projectId,@Param("status") Integer status);
+
+    /**
+     * 根据项目id进行逻辑删除
+     * @param projectId
+     */
+    void updateByProjectId(@Param("projectId")String projectId);
 }

+ 9 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectAdminRevoke.java

@@ -12,6 +12,15 @@ public class RuralProjectAdminRevoke {
 
     private String projectType; //项目类型(1:工程 2:造价)
 
+    private String fillingBatchProcId;  //批量归档流程id
+
+    public String getFillingBatchProcId() {
+        return fillingBatchProcId;
+    }
+
+    public void setFillingBatchProcId(String fillingBatchProcId) {
+        this.fillingBatchProcId = fillingBatchProcId;
+    }
 
     public String getId() {
         return id;

+ 61 - 8
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/ProjectPaperFilingService.java

@@ -9,10 +9,16 @@ import com.jeeplus.modules.act.entity.Act;
 import com.jeeplus.modules.act.service.ActTaskService;
 import com.jeeplus.modules.projectAccessory.dao.ProjectTemplateDao;
 import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
+import com.jeeplus.modules.projectFilingBatch.dao.ProjectFilingBatchDao;
+import com.jeeplus.modules.projectFilingBatch.dao.ProjectFilingbatchRelationDao;
+import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatch;
+import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingbatchRelation;
+import com.jeeplus.modules.projectFilingBatch.service.ProjectFilingBatchService;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportRecord;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
 import com.jeeplus.modules.ruralprojectrecords.dao.ProjectPaperFilingDao;
+import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectRecordsDao;
 import com.jeeplus.modules.ruralprojectrecords.entity.ProjectPaperFiling;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectAdminRevoke;
 import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
@@ -84,6 +90,14 @@ public class ProjectPaperFilingService extends CrudService<ProjectPaperFilingDao
     private ProjectTemplateDao projectTemplateDao;
     @Autowired
     private WorkattachmentService workattachmentService;
+    @Autowired
+    private ProjectFilingBatchDao projectFilingBatchDao;
+    @Autowired
+    private ProjectFilingBatchService projectFilingBatchService;
+    @Autowired
+    private ProjectFilingbatchRelationDao filingbatchRelationDao;
+    @Autowired
+    private RuralProjectRecordsDao ruralProjectRecordsDao;
 
     @Override
     public ProjectPaperFiling get(String id) {
@@ -282,14 +296,56 @@ public class ProjectPaperFilingService extends CrudService<ProjectPaperFilingDao
     管理员撤回
      */
     @Transactional(readOnly = false)
-    public void adminRevokePaperFiling(ProjectPaperFiling paperFiling,String view){
+    public void adminRevokePaperFiling(ProjectPaperFiling paperFiling,String view,String projectId) throws Exception {
 
-        //将撤回前的流程进行保存
         RuralProjectAdminRevoke ruralProjectAdminRevoke = new RuralProjectAdminRevoke();
+
+        if (paperFiling != null){
+            //保存流程
+            ruralProjectAdminRevoke.setProcessInstanceId(paperFiling.getProcessInstanceId());
+            //修改A类纸质归档状态
+            paperFiling.setStatus(1);
+            paperFiling.preUpdate();
+            paperFiling.setProcessInstanceId("");
+            save(paperFiling);
+        }else {
+            ProjectFilingBatch projectFilingBatch = projectFilingBatchDao.getProjectFilingBatchRelationByProjectId(projectId);
+            //根据项目id查询批量归档信息
+            if (projectFilingBatch != null){
+                //将批量归档流程id进行保存
+                ruralProjectAdminRevoke.setFillingBatchProcId(projectFilingBatch.getProcessinstanceId());
+                //查询批量归档下的信息
+                ProjectFilingBatch batch = new ProjectFilingBatch();
+                batch.setId(projectFilingBatch.getId());
+                List<ProjectFilingbatchRelation> relationList = projectFilingBatchDao.getRelationList(batch, "", "");
+                if (CollectionUtils.isNotEmpty(relationList)){
+                    if (relationList.size() == 1){
+                        if (projectFilingBatch.getFilingStatus().equals("2") || projectFilingBatch.getFilingStatus().equals("4")){
+                            //强制撤销
+                            projectFilingBatchService.cancelProcess(projectFilingBatch);
+                        }
+
+                        //逻辑删除批次及关联信息
+                        projectFilingBatchDao.updateById(projectFilingBatch.getId());
+                        ProjectFilingbatchRelation projectFilingbatchRelation = new ProjectFilingbatchRelation();
+                        projectFilingbatchRelation.setId(relationList.get(0).getId());
+                        filingbatchRelationDao.updateDelFlag(projectFilingbatchRelation);
+
+
+                    }else {
+                        //关联多条报告时,仅将该条报告进行删除
+                        filingbatchRelationDao.updateByProjectId(projectId);
+
+                    }
+                }
+            }
+        }
+
+
+        //将撤回前的流程进行保存
         ruralProjectAdminRevoke.setId(IdGen.uuid());
-        ruralProjectAdminRevoke.setProcessInstanceId(paperFiling.getProcessInstanceId());
-        ruralProjectAdminRevoke.setProjectId(paperFiling.getProjectId());
         ruralProjectAdminRevoke.setType("4");
+        ruralProjectAdminRevoke.setProjectId(projectId);
         if (StringUtils.isNotBlank(view) && view.equals("filing")){
             ruralProjectAdminRevoke.setProjectType("1");
         }else {
@@ -298,10 +354,7 @@ public class ProjectPaperFilingService extends CrudService<ProjectPaperFilingDao
         }
         dao.insertAdminRevoke(ruralProjectAdminRevoke);
 
-        paperFiling.setStatus(1);
-        paperFiling.preUpdate();
-        paperFiling.setProcessInstanceId("");
-        save(paperFiling);
+
     }
 
     /**

+ 56 - 7
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewTwoService.java

@@ -19,6 +19,7 @@ import com.jeeplus.modules.projectcontentinfo.dao.ProjectReportDataTwoDao;
 import com.jeeplus.modules.projectcontentinfo.dao.ProjectcontentinfoDao;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportDataTwo;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportRecord;
 import com.jeeplus.modules.projectcontentinfo.entity.Projectcontentinfo;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectContentDataService;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
@@ -30,10 +31,7 @@ import com.jeeplus.modules.projectreportnum.service.ProjectReportNumService;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectMessageDao;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectRecordsReportedDao;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralWorkProjectUserDao;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectAdminRevoke;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectcontentinfo;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralReportConsultant;
+import com.jeeplus.modules.ruralprojectrecords.entity.*;
 import com.jeeplus.modules.sys.dao.WorkattachmentDao;
 import com.jeeplus.modules.sys.entity.MainDictDetail;
 import com.jeeplus.modules.sys.entity.Office;
@@ -153,6 +151,10 @@ public class RuralProjectMessageNewTwoService extends CrudService<RuralProjectMe
     private ProjectContentDataService projectContentDataService;
     @Autowired
     private ProjectReportDataService projectReportDataInfoService;
+    @Autowired
+    private RuralProjectMessageService ruralProjectMessageService;
+    @Autowired
+    private ProjectPaperFilingService paperFilingService;
 
     private static byte[] SYN_BYTE = new byte[0];
 
@@ -1063,11 +1065,13 @@ public class RuralProjectMessageNewTwoService extends CrudService<RuralProjectMe
     /**
      * 管理员撤回报告签发
      * @param projectReportData
-     * @param projectType
+     * @param projectRecords
+     * @param reportRecord
+     * @param paperFiling
      * @param type
      */
     @Transactional(readOnly = false)
-    public void adminRevokeProjectReportTwo(ProjectReportDataTwo projectReportData,String projectType,String type) {
+    public void adminRevokeProjectReportTwo(ProjectReportDataTwo projectReportData, RuralProjectRecords projectRecords, ProjectReportRecord reportRecord, ProjectPaperFiling paperFiling, String type) {
         try {
 
             //将撤回前的流程进行保存
@@ -1076,12 +1080,57 @@ public class RuralProjectMessageNewTwoService extends CrudService<RuralProjectMe
             ruralProjectAdminRevoke.setProcessInstanceId(projectReportData.getProcessInstanceId());
             ruralProjectAdminRevoke.setProjectId(projectReportData.getProject().getId());
             ruralProjectAdminRevoke.setType(type);
-            ruralProjectAdminRevoke.setProjectType(projectType);
+            ruralProjectAdminRevoke.setProjectType(projectRecords.getProjectType());
             dao.insertAdminRevoke(ruralProjectAdminRevoke);
 
+            //修改报告签发状态
             projectReportData.setStatus("1");
             projectReportData.setProcessInstanceId("");
             dao.updateRuralProjectReportDataTwo(projectReportData);
+            //修改电子归档状态
+            if (reportRecord != null){
+                RuralProjectAdminRevoke ruralProjectAdminRevoke3 = new RuralProjectAdminRevoke();
+                ruralProjectAdminRevoke3.setProcessInstanceId(reportRecord.getProcessInstanceId());
+
+
+                if (StringUtils.isNotBlank(reportRecord.getStatus()) && (reportRecord.getStatus().equals("2") || reportRecord.getStatus().equals("4"))){
+                    ruralProjectMessageService.cancelInvalidate(reportRecord);
+                }
+                reportRecord.setStatus("1");
+                reportRecord.preUpdate();
+                reportRecord.setProcessInstanceId("");
+                ruralProjectMessageService.saveAdmin(reportRecord);
+
+                //将撤回前的流程进行保存
+                ruralProjectAdminRevoke3.setId(IdGen.uuid());
+                ruralProjectAdminRevoke3.setProjectId(projectReportData.getProject().getId());
+                ruralProjectAdminRevoke3.setType("3");
+                ruralProjectAdminRevoke3.setProjectType(projectRecords.getProjectType());
+                dao.insertAdminRevoke(ruralProjectAdminRevoke3);
+            }
+            //修改纸质归档状态
+            RuralProjectAdminRevoke ruralProjectAdminRevoke4 = new RuralProjectAdminRevoke();
+            //将撤回前的流程进行保存
+            ruralProjectAdminRevoke4.setId(IdGen.uuid());
+            ruralProjectAdminRevoke4.setProjectId(projectReportData.getProject().getId());
+            ruralProjectAdminRevoke4.setType("4");
+            ruralProjectAdminRevoke4.setProjectType(projectRecords.getProjectType());
+
+            if (paperFiling != null){
+                //将流程id进行保存
+                ruralProjectAdminRevoke4.setProcessInstanceId(paperFiling.getProcessInstanceId());
+                //先终止流程
+                if (paperFiling.getStatus() == 2 || paperFiling.getStatus() == 4){
+                    paperFilingService.cancelInvalidate(paperFiling);
+                }
+                //修改纸质归档状态
+                paperFiling.setStatus(1);
+                paperFiling.preUpdate();
+                paperFiling.setProcessInstanceId("");
+                paperFilingService.save(paperFiling);
+            }
+            dao.insertAdminRevoke(ruralProjectAdminRevoke4);
+
 
         }catch (ActivitiObjectNotFoundException e){
             System.err.println("报告撤销异常,因为这个流程已不存在!");

+ 110 - 3
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java

@@ -23,10 +23,12 @@ import com.jeeplus.modules.projectFilingBatch.dao.ProjectFilingBatchDao;
 import com.jeeplus.modules.projectFilingBatch.dao.ProjectFilingbatchRelationDao;
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatch;
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingbatchRelation;
+import com.jeeplus.modules.projectFilingBatch.service.ProjectFilingBatchService;
 import com.jeeplus.modules.projectcontentinfo.dao.ProjectReportDataDao;
 import com.jeeplus.modules.projectcontentinfo.dao.ProjectcontentinfoDao;
 import com.jeeplus.modules.projectcontentinfo.entity.*;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
+import com.jeeplus.modules.projectcontentinfo.service.ProjectReportRecordService;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectcontentinfoService;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecordTreeData;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
@@ -36,6 +38,7 @@ import com.jeeplus.modules.projectreportnum.service.ProjectReportNumService;
 import com.jeeplus.modules.reported.entity.ProjectReportedType;
 import com.jeeplus.modules.reported.service.ProjectReportedTypeService;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectMessageDao;
+import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectRecordsDao;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectRecordsReportedDao;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralWorkProjectUserDao;
 import com.jeeplus.modules.ruralprojectrecords.entity.*;
@@ -83,6 +86,7 @@ import org.activiti.engine.IdentityService;
 import org.activiti.engine.RuntimeService;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -205,6 +209,14 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
     private ProjectEngineeringService engineeringService;
     @Autowired
     private RuralProjectMessageElectronicSealService ruralProjectMessageElectronicSealService;
+    @Autowired
+    private RuralProjectMessageNewTwoService projectMessageNewTwoService;
+    @Autowired
+    private ProjectPaperFilingService paperFilingService;
+    @Autowired
+    private ProjectFilingBatchService projectFilingBatchService;
+    @Autowired
+    private RuralProjectRecordsDao ruralProjectRecordsDao;
 
     private static byte[] SYN_BYTE = new byte[0];
 
@@ -1882,23 +1894,118 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
      * type (类型: 1:质量复核 2:报告签发 3:电子归档 4:纸质归档)
      */
     @Transactional(readOnly = false)
-    public void adminRevokeProjectReport(ProjectReportData projectReportData,String projectType,String type) {
+    public void adminRevokeProjectReport(ProjectReportData projectReportData,RuralProjectRecords projectRecords,ProjectReportRecord reportRecord,ProjectPaperFiling paperFiling,ProjectReportDataTwo reportDataTwo,String type) {
         try {
-            //将撤回前的流程进行保存
             RuralProjectAdminRevoke ruralProjectAdminRevoke = new RuralProjectAdminRevoke();
+            //将撤回前的流程进行保存
             ruralProjectAdminRevoke.setId(IdGen.uuid());
             ruralProjectAdminRevoke.setProcessInstanceId(projectReportData.getProcessInstanceId());
             ruralProjectAdminRevoke.setProjectId(projectReportData.getProject().getId());
             ruralProjectAdminRevoke.setType(type);
-            ruralProjectAdminRevoke.setProjectType(projectType);
+            ruralProjectAdminRevoke.setProjectType(projectRecords.getProjectType());
             dao.insertAdminRevoke(ruralProjectAdminRevoke);
 
+
+            //修改质量复核状态
             projectReportData.setStatus("1");
             projectReportData.setProcessInstanceId("");
             projectReportData.setAuditPassDate(null);
             dao.updateRuralProjectReportData(projectReportData);
             dao.updateFileStatus(projectReportData);
+            //修改报告签发状态
+            if (reportDataTwo != null){
+                RuralProjectAdminRevoke ruralProjectAdminRevoke2 = new RuralProjectAdminRevoke();
+                ruralProjectAdminRevoke2.setProcessInstanceId(reportDataTwo.getProcessInstanceId());
+
+                if (StringUtils.isNotBlank(reportDataTwo.getStatus()) && (reportDataTwo.getStatus().equals("2") || reportDataTwo.getStatus().equals("4"))){
+                    projectMessageNewTwoService.cancelInvalidate(reportDataTwo);
+                }
+                //修改报告签发
+                reportDataTwo.setStatus("1");
+                reportDataTwo.setProcessInstanceId("");
+                dao.updateRuralProjectReportDataTwo(reportDataTwo);
+
+                //将撤回前的流程进行保存
+                ruralProjectAdminRevoke2.setId(IdGen.uuid());
+                ruralProjectAdminRevoke2.setProjectId(projectReportData.getProject().getId());
+                ruralProjectAdminRevoke2.setType("2");
+                ruralProjectAdminRevoke2.setProjectType(projectRecords.getProjectType());
+                dao.insertAdminRevoke(ruralProjectAdminRevoke2);
+            }
+            //修改电子归档
+            if (reportRecord != null){
+                RuralProjectAdminRevoke ruralProjectAdminRevoke3 = new RuralProjectAdminRevoke();
+                ruralProjectAdminRevoke3.setProcessInstanceId(reportRecord.getProcessInstanceId());
+
+
+                if (StringUtils.isNotBlank(reportRecord.getStatus()) && (reportRecord.getStatus().equals("2") || reportRecord.getStatus().equals("4"))){
+                    cancelInvalidate(reportRecord);
+                }
+                reportRecord.setStatus("1");
+                reportRecord.preUpdate();
+                reportRecord.setProcessInstanceId("");
+                saveAdmin(reportRecord);
+
+                //将撤回前的流程进行保存
+                ruralProjectAdminRevoke3.setId(IdGen.uuid());
+                ruralProjectAdminRevoke3.setProjectId(projectReportData.getProject().getId());
+                ruralProjectAdminRevoke3.setType("3");
+                ruralProjectAdminRevoke3.setProjectType(projectRecords.getProjectType());
+                dao.insertAdminRevoke(ruralProjectAdminRevoke3);
+
+            }
+            //修改纸质归档
+            //判断项目等级
+            RuralProjectAdminRevoke ruralProjectAdminRevoke4 = new RuralProjectAdminRevoke();
+            //将撤回前的流程进行保存
+            ruralProjectAdminRevoke4.setId(IdGen.uuid());
+            ruralProjectAdminRevoke4.setProjectId(projectReportData.getProject().getId());
+            ruralProjectAdminRevoke4.setType("4");
+            ruralProjectAdminRevoke4.setProjectType(projectRecords.getProjectType());
+
+            if (paperFiling == null){
+                ProjectFilingBatch projectFilingBatch = projectFilingBatchDao.getProjectFilingBatchRelationByProjectId(projectRecords.getId());
+                //根据项目id查询批量归档信息
+                if (projectFilingBatch != null){
+                    //将批量归档流程id进行保存
+                    ruralProjectAdminRevoke4.setFillingBatchProcId(projectFilingBatch.getProcessinstanceId());
+                    //查询批量归档下的信息
+                    ProjectFilingBatch batch = new ProjectFilingBatch();
+                    batch.setId(projectFilingBatch.getId());
+                    List<ProjectFilingbatchRelation> relationList = projectFilingBatchDao.getRelationList(batch, "", "");
+                    if (CollectionUtils.isNotEmpty(relationList)){
+                        if (relationList.size() == 1){
+                            if (projectFilingBatch.getFilingStatus().equals("2") || projectFilingBatch.getFilingStatus().equals("4")){
+                                //强制撤销
+                                projectFilingBatchService.cancelProcess(projectFilingBatch);
+                            }
+                            //逻辑删除批次及关联信息
+                            projectFilingBatchDao.updateById(projectFilingBatch.getId());
+                            ProjectFilingbatchRelation projectFilingbatchRelation = new ProjectFilingbatchRelation();
+                            projectFilingbatchRelation.setId(relationList.get(0).getId());
+                            filingbatchRelationDao.updateDelFlag(projectFilingbatchRelation);
 
+                        }else {
+                            //关联多条报告时,仅将该条报告进行删除
+                            filingbatchRelationDao.updateByProjectId(projectRecords.getId());
+                        }
+                    }
+                }
+
+            }else {
+                //将流程id进行保存
+                ruralProjectAdminRevoke4.setProcessInstanceId(paperFiling.getProcessInstanceId());
+                //先终止流程
+                if (paperFiling.getStatus() == 2 || paperFiling.getStatus() == 4){
+                    paperFilingService.cancelInvalidate(paperFiling);
+                }
+                //修改纸质归档状态
+                paperFiling.setStatus(1);
+                paperFiling.preUpdate();
+                paperFiling.setProcessInstanceId("");
+                paperFilingService.save(paperFiling);
+            }
+            dao.insertAdminRevoke(ruralProjectAdminRevoke4);
 
 
         }catch (ActivitiObjectNotFoundException e){

+ 2 - 1
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/ProjectPaperFilingController.java

@@ -248,9 +248,10 @@ public class ProjectPaperFilingController extends BaseController {
     @RequestMapping("adminRevokePaperFiling")
     public String adminRevokePaperFiling(ProjectPaperFiling paperFiling,RedirectAttributes redirectAttributes){
         String view=paperFiling.getView();
+        String projectId = paperFiling.getProjectId();
         paperFiling = service.get(paperFiling.getId());
         try {
-            service.adminRevokePaperFiling(paperFiling,view);
+            service.adminRevokePaperFiling(paperFiling,view,projectId);
         }catch (Exception e){
             addMessage(redirectAttributes, "强制撤回纸质归档失败");
             logger.error("强制撤回归档信息失败",e);

+ 25 - 10
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageController.java

@@ -18,10 +18,7 @@ import com.jeeplus.modules.projectAccessory.service.ProjectTemplateService;
 import com.jeeplus.modules.projectEngineering.entity.EngineeringTree;
 import com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo;
 import com.jeeplus.modules.projectEngineering.service.ProjectEngineeringService;
-import com.jeeplus.modules.projectcontentinfo.entity.ProjectMaterialDefectRecord;
-import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
-import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportRecord;
-import com.jeeplus.modules.projectcontentinfo.entity.Projectcontentinfo;
+import com.jeeplus.modules.projectcontentinfo.entity.*;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportChangeService;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportDataService;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportRecordService;
@@ -30,10 +27,8 @@ import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.projectrecord.enums.ProjectStatusEnum;
 import com.jeeplus.modules.projectrecord.service.ProjectPlanService;
 import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecordsReported;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectcontentinfo;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralReportConsultant;
+import com.jeeplus.modules.ruralprojectrecords.entity.*;
+import com.jeeplus.modules.ruralprojectrecords.service.ProjectPaperFilingService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
 import com.jeeplus.modules.sys.entity.Area;
@@ -108,6 +103,8 @@ public class RuralCostProjectMessageController extends BaseController {
     private WorkStaffBasicInfoService workStaffBasicInfoService;
     @Autowired
     private ProjectEngineeringService engineeringService;
+    @Autowired
+    private ProjectPaperFilingService projectPaperFilingService;
 
     private static byte[] SYN_BYTE = new byte[0];
 
@@ -1257,10 +1254,28 @@ public class RuralCostProjectMessageController extends BaseController {
         HashMap<String, String> requestMap = findRequestMap(request);
         String processInstanceId = requestMap.get("processInstanceId");
         String id = requestMap.get("id");
+        String ppfId = requestMap.get("ppfId");//纸质归档id
+        String prrId = requestMap.get("prrId");//线上归档id
         try {
-            RuralProjectRecords projectRecords = ruralProjectMessageService.get(id);
+            RuralProjectRecords projectRecords = projectRecordsService.get(id);
             ProjectReportData projectReportDateByProjectId = ruralProjectMessageService.getProjectReportDateByProjectId(projectRecords.getId());
-            ruralProjectMessageService.adminRevokeProjectReport(projectReportDateByProjectId,projectRecords.getProjectType(),"1");
+            ProjectReportRecord reportRecord = null;
+            ProjectPaperFiling paperFiling = null;
+            //线上归档信息
+            if (StringUtils.isNotBlank(prrId)){
+                reportRecord = projectReportRecordService.get(prrId);
+            }
+            //报告签发
+            ProjectReportDataTwo reportDataTwo = null;
+            //判断该项目等级是A类还是B类
+            if (projectRecords.getSubmitMoney().equals("2")){//A类
+                reportDataTwo = ruralProjectMessageService.getProjectReportDateTwoByProjectId(projectRecords.getId());
+                //纸质归档信息
+                if (StringUtils.isNotBlank(ppfId)){
+                    paperFiling = projectPaperFilingService.get(ppfId);
+                }
+            }
+            ruralProjectMessageService.adminRevokeProjectReport(projectReportDateByProjectId,projectRecords,reportRecord,paperFiling,reportDataTwo,"1");
             addMessage(redirectAttributes, "撤回该项目报告成功");
         }catch (Exception e){
             logger.info("报告撤回错误",e.getMessage());

+ 25 - 5
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageController.java

@@ -25,6 +25,7 @@ import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingBatch;
 import com.jeeplus.modules.projectFilingBatch.entity.ProjectFilingbatchRelation;
 import com.jeeplus.modules.projectFilingBatch.service.ProjectFilingBatchService;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportDataTwo;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportRecord;
 import com.jeeplus.modules.projectcontentinfo.entity.Projectcontentinfo;
 import com.jeeplus.modules.projectcontentinfo.service.ProjectReportChangeService;
@@ -36,10 +37,8 @@ import com.jeeplus.modules.projectrecord.enums.ProjectStatusEnum;
 import com.jeeplus.modules.projectrecord.service.ProjectPlanService;
 import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
 import com.jeeplus.modules.ruralprojectrecords.dao.RuralProjectRecordsReportedDao;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecordsReported;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectcontentinfo;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralReportConsultant;
+import com.jeeplus.modules.ruralprojectrecords.entity.*;
+import com.jeeplus.modules.ruralprojectrecords.service.ProjectPaperFilingService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageElectronicSealService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageService;
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
@@ -123,6 +122,8 @@ public class RuralProjectMessageController extends BaseController {
     private ProjectEngineeringService engineeringService;
     @Autowired
     private RuralProjectMessageElectronicSealService ruralProjectMessageElectronicSealService;
+    @Autowired
+    private ProjectPaperFilingService projectPaperFilingService;
 
     private static byte[] SYN_BYTE = new byte[0];
 
@@ -1271,10 +1272,29 @@ public class RuralProjectMessageController extends BaseController {
         HashMap<String, String> requestMap = findRequestMap(request);
         String processInstanceId = requestMap.get("processInstanceId");
         String id = requestMap.get("id");
+        String ppfId = requestMap.get("ppfId");//纸质归档id
+        String prrId = requestMap.get("prrId");//线上归档id
         try {
             RuralProjectRecords projectRecords = ruralProjectMessageService.get(id);
             ProjectReportData projectReportDateByProjectId = ruralProjectMessageService.getProjectReportDateByProjectId(projectRecords.getId());
-            ruralProjectMessageService.adminRevokeProjectReport(projectReportDateByProjectId,projectRecords.getProjectType(),"1");
+            ProjectReportRecord reportRecord = null;
+            ProjectPaperFiling paperFiling = null;
+            //线上归档信息
+            if (StringUtils.isNotBlank(prrId)){
+                reportRecord = projectReportRecordService.get(prrId);
+            }
+            //报告签发
+            ProjectReportDataTwo reportDataTwo = null;
+            //判断该项目等级是A类还是B类
+            if (projectRecords.getSubmitMoney().equals("2")){//A类
+                reportDataTwo = ruralProjectMessageService.getProjectReportDateTwoByProjectId(projectRecords.getId());
+                //纸质归档信息
+                if (StringUtils.isNotBlank(ppfId)){
+                    paperFiling = projectPaperFilingService.get(ppfId);
+                }
+            }
+
+            ruralProjectMessageService.adminRevokeProjectReport(projectReportDateByProjectId,projectRecords,reportRecord,paperFiling,reportDataTwo,"1");
             addMessage(redirectAttributes, "撤回该项目报告成功");
         }catch (Exception e){
             logger.info("报告撤回错误",e.getMessage());

+ 18 - 9
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageNewTwoController.java

@@ -14,18 +14,13 @@ import com.jeeplus.modules.projectEngineering.service.ProjectEngineeringService;
 import com.jeeplus.modules.projectcontentinfo.dao.ProjectcontentinfoDao;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportDataTwo;
+import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportRecord;
 import com.jeeplus.modules.projectcontentinfo.entity.Projectcontentinfo;
 import com.jeeplus.modules.projectcontentinfo.service.*;
 import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 import com.jeeplus.modules.projectrecord.service.ProjectRecordsService;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecords;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectRecordsReported;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralProjectcontentinfo;
-import com.jeeplus.modules.ruralprojectrecords.entity.RuralReportConsultant;
-import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageNewService;
-import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageNewTwoService;
-import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageService;
-import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
+import com.jeeplus.modules.ruralprojectrecords.entity.*;
+import com.jeeplus.modules.ruralprojectrecords.service.*;
 import com.jeeplus.modules.sys.dao.OfficeDao;
 import com.jeeplus.modules.sys.entity.MainDictDetail;
 import com.jeeplus.modules.sys.entity.Office;
@@ -106,6 +101,8 @@ public class RuralProjectMessageNewTwoController  extends BaseController {
     private RestTemplate restTemplate;
     @Autowired
     private OfficeDao officeDao;
+    @Autowired
+    private ProjectPaperFilingService projectPaperFilingService;
 
     private static byte[] SYN_BYTE = new byte[0];
 
@@ -873,10 +870,22 @@ public class RuralProjectMessageNewTwoController  extends BaseController {
         String processInstanceId = requestMap.get("processInstanceId");
         String view = requestMap.get("view");
         String id = requestMap.get("id");
+        String ppfId = requestMap.get("ppfId");//纸质归档id
+        String prrId = requestMap.get("prrId");//线上归档id
         try {
             RuralProjectRecords projectRecords = ruralProjectMessageService.get(id);
             ProjectReportDataTwo projectReportDateByProjectId = projectMessageService.getProjectReportDateTwoByProjectId(projectRecords.getId());
-            ruralProjectMessageService.adminRevokeProjectReportTwo(projectReportDateByProjectId,projectRecords.getProjectType(),"2");
+            ProjectReportRecord reportRecord = null;
+            ProjectPaperFiling paperFiling = null;
+            //线上归档信息
+            if (StringUtils.isNotBlank(prrId)){
+                reportRecord = projectReportRecordService.get(prrId);
+            }
+            //纸质归档信息
+            if (StringUtils.isNotBlank(ppfId)){
+                paperFiling = projectPaperFilingService.get(ppfId);
+            }
+            ruralProjectMessageService.adminRevokeProjectReportTwo(projectReportDateByProjectId,projectRecords,reportRecord,paperFiling,"2");
             addMessage(redirectAttributes, "撤回该项目报告成功");
         }catch (Exception e){
             logger.info(e.getMessage());

+ 5 - 1
src/main/resources/mappings/modules/projectGuidang/ProjectFilingBatchDao.xml

@@ -245,7 +245,7 @@
 		LEFT JOIN project_flingbatch_relation g on(a.id=g.filing_batch)
 		LEFT JOIN rural_project_records r on(g.project_id=r.id)
 		LEFT JOIN project_report_data d on(d.project_id=r.id)
-		WHERE g.project_id = #{projectId}
+		WHERE g.project_id = #{projectId} and g.del_flag = '0'
 		order by g.sort asc,d.number asc,a.create_date desc
 	</select>
 
@@ -380,4 +380,8 @@
 		WHERE a.project_id = #{projectId}
 		order by a.sort asc,prd.number asc,a.create_date desc
 	</select>
+
+	<delete id="updateById">
+		update project_filingbatch set del_flag = '1' where id = #{id}
+	</delete>
 </mapper>

+ 3 - 0
src/main/resources/mappings/modules/projectGuidang/ProjectFilingbatchRelationDao.xml

@@ -111,4 +111,7 @@
 		set paper_filing_status = #{status}
 		where id = #{id}
 	</update>
+	<update id="updateByProjectId">
+		update project_flingbatch_relation set del_flag = '1' where project_id = #{projectId}
+	</update>
 </mapper>

+ 4 - 2
src/main/resources/mappings/modules/ruralprojectrecords/ProjectPaperFilingDao.xml

@@ -117,13 +117,15 @@
 			project_id,
 			process_instance_id,
 			`type`,
-			project_type
+			project_type,
+			filling_batch_proc_id
 		) values (
 			#{id},
 			#{projectId},
 			#{processInstanceId},
 			#{type},
-			#{projectType}
+			#{projectType},
+			#{fillingBatchProcId}
 		)
 	</insert>
 </mapper>

+ 7 - 4
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageDao.xml

@@ -230,6 +230,7 @@
 		,ifnull(prdt.status,0) as "projectReportStatusTwo"
 		,prdt.id as prdtId
 		,prdt.process_instance_id as prdtProcessinstanceId
+		,a.submit_money as "submitMoney"
         FROM rural_project_records a
 		LEFT JOIN sys_area area ON area.id = a.area_id
 		LEFT JOIN work_project_user w on a.id = w.project_id
@@ -477,7 +478,7 @@
 		(select id,status,project_id,filing_batch,audit_pass_date from
 		(
 		select id,create_date,status,project_id,filing_batch,audit_pass_date
-		from project_flingbatch_relation where use_start = 0 order by create_date desc
+		from project_flingbatch_relation where use_start = 0 and del_flag = '0' order by create_date desc
 		)z
 		group by z.project_id
 		) pfp ON pfp.project_id = a.id
@@ -827,7 +828,7 @@
 		(select id,status,project_id,filing_batch from
 		(
 		select id,create_date,status,project_id,filing_batch
-		from project_flingbatch_relation order by create_date desc
+		from project_flingbatch_relation where del_flag = '0' order by create_date desc
 		)z
 		group by z.project_id
 		) pfp ON pfp.project_id = a.id
@@ -1862,13 +1863,15 @@
 			project_id,
 			process_instance_id,
 			`type`,
-			project_type
+			project_type,
+			filling_batch_proc_id
 		) values (
 			#{id},
 			#{projectId},
 			#{processInstanceId},
 			#{type},
-			#{projectType}
+			#{projectType},
+			#{fillingBatchProcId}
 		)
 	</insert>
 

+ 1 - 1
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml

@@ -2658,7 +2658,7 @@
 			and a.submit_money = 1
 			and a.del_flag = 0 and a.project_type in (1,2)
 			/*不捞取已经发起审批并审批状态为2、3、5的项目信息*/
-			and a.id not in (select project_id	FROM project_flingbatch_relation where status in(2,5) )
+			and a.id not in (select project_id	FROM project_flingbatch_relation where status in(2,5) and del_flag = '0' )
 			<if test="sqlMap.dsf !=null and sqlMap.dsf!=''">
 				AND ((w1.user_id = #{currentUser.id} AND w1.del_flag='0' AND a.company_id = #{currentUser.company.id})${sqlMap.dsf} )
 			</if>

+ 4 - 4
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageList.jsp

@@ -1080,18 +1080,18 @@
 			}
 			//质量复核
 			if(d.projectReportStatus == 5){
-				xml+="<a href=\"${ctx}/ruralProject/ruralCostProjectMessage/adminRevokeProjectReport?id=" + d.id + "&processInstanceId=" + d.procId + "\" onclick=\"return confirmx('确认要撤回该项目报告质量复核审批吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回质量复核</a>";
+				xml+="<a href=\"${ctx}/ruralProject/ruralCostProjectMessage/adminRevokeProjectReport?id=" + d.id +"&ppfId=" + d.ppfId +"&prrId=" + d.prrId + "&processInstanceId=" + d.procId + "\" onclick=\"return confirmx('确认要撤回该项目报告质量复核审批吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回质量复核</a>";
 			}
 			//报告签发
 			if(d.projectReportStatusTwo == 5){
-				xml+="<a href=\"${ctx}/ruralProject/ruralProjectMessageNewTwo/adminRevokeProjectReportTwo?id=" + d.id + "&processInstanceId=" + d.prdtProcessinstanceId + "&view=costLiu\" onclick=\"return confirmx('确认要撤回该报告签发吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回签发</a>";
+				xml+="<a href=\"${ctx}/ruralProject/ruralProjectMessageNewTwo/adminRevokeProjectReportTwo?id=" + d.id + "&ppfId=" + d.ppfId +"&prrId=" + d.prrId + "&processInstanceId=" + d.prdtProcessinstanceId + "&view=costLiu\" onclick=\"return confirmx('确认要撤回该报告签发吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回签发</a>";
 			}
 			//线上归档
 			if(d.projectReportRecordStatus == 5 || d.projectReportRecordStatus == 7){
 				xml+="<a href=\"${ctx}/ruralProject/ruralCostProjectMessage/adminRevokeProjectReportRecord?id=" + d.prrId + "&processInstanceId=" + d.prrProcessInstanceId + "\" onclick=\"return confirmx('确认要撤回该报告线上归档审批吗?', this.href)\" class=\"layui-btn layui-btn-xs  layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回线上归档</a>";
 			}
-			if((d.paperFilingStatus == 5 || d.paperFilingStatus == 7) && d.submitMoney == '2'){
-				xml+="<a href=\"${ctx}/paperFiling/paperFiling/adminRevokePaperFiling?id=" + d.ppfId + "&processInstanceId=" + d.ppfProcessInstanceId + "\" onclick=\"return confirmx('确认要撤回该纸质归档审批吗?', this.href)\" class=\"layui-btn layui-btn-xs  layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回纸质归档</a>";
+			if(d.paperFilingStatus == 5 || d.paperFilingStatus == 7 || d.downProjectReportRecordStatus == 5 || d.downProjectReportRecordStatus == 7){
+				xml+="<a href=\"${ctx}/paperFiling/paperFiling/adminRevokePaperFiling?id=" + d.ppfId +"&projectId="+d.id+ "&processInstanceId=" + d.ppfProcessInstanceId + "\" onclick=\"return confirmx('确认要撤回该纸质归档审批吗?', this.href)\" class=\"layui-btn layui-btn-xs  layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回纸质归档</a>";
 			}
 			/*if(d.paperFilingStatus == 5 || d.paperFilingStatus == 7){
 				xml+="<a href=\"#\" onclick=\"openDialogre('修改纸质归档案卷号', '${ctx}/paperFiling/paperFiling/adminPaperFiling?id=" + d.ppfId + "&projectId=" + d.id +" ','95%', '95%','','提交,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 修改纸质归档</a>";

+ 4 - 4
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageList.jsp

@@ -1012,19 +1012,19 @@
 			}
 			//质量复核
 			if(d.projectReportStatus == 5){
-				xml+="<a href=\"${ctx}/ruralProject/ruralProjectMessage/adminRevokeProjectReport?id=" + d.id + "&processInstanceId=" + d.procId + "\" onclick=\"return confirmx('确认要撤回该项目报告质量复核审批吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回质量复核</a>";
+				xml+="<a href=\"${ctx}/ruralProject/ruralProjectMessage/adminRevokeProjectReport?id=" + d.id +"&ppfId=" + d.ppfId +"&prrId=" + d.prrId + "&processInstanceId=" + d.procId + "\" onclick=\"return confirmx('确认要撤回该项目报告质量复核审批吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回质量复核</a>";
 			}
 			//报告签发
 			if(d.projectReportStatusTwo == 5){
-				xml+="<a href=\"${ctx}/ruralProject/ruralProjectMessageNewTwo/adminRevokeProjectReportTwo?id=" + d.id + "&processInstanceId=" + d.prdtProcessinstanceId + "\" onclick=\"return confirmx('确认要撤回该报告签发吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回签发</a>";
+				xml+="<a href=\"${ctx}/ruralProject/ruralProjectMessageNewTwo/adminRevokeProjectReportTwo?id=" + d.id + "&ppfId=" + d.ppfId +"&prrId=" + d.prrId + "&processInstanceId=" + d.prdtProcessinstanceId + "\" onclick=\"return confirmx('确认要撤回该报告签发吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回签发</a>";
 			}
 			//线上归档
 			if(d.projectReportRecordStatus == 5 || d.projectReportRecordStatus == 7){
 				xml+="<a href=\"${ctx}/ruralProject/ruralProjectMessage/adminRevokeProjectReportRecord?id=" + d.prrId + "&processInstanceId=" + d.prrProcessInstanceId + "\" onclick=\"return confirmx('确认要撤回该报告线上归档审批吗?', this.href)\" class=\"layui-btn layui-btn-xs  layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回线上归档</a>";
 			}
 			//纸质归档A类
-			if((d.paperFilingStatus == 5 || d.paperFilingStatus == 7) && d.submitMoney == '2'){
-				xml+="<a href=\"${ctx}/paperFiling/paperFiling/adminRevokePaperFiling?id=" + d.ppfId + "&view=filing&processInstanceId=" + d.ppfProcessInstanceId + "\" onclick=\"return confirmx('确认要撤回该纸质归档审批吗?', this.href)\" class=\"layui-btn layui-btn-xs  layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回纸质归档</a>";
+			if(d.paperFilingStatus == 5 || d.paperFilingStatus == 7 || d.downProjectReportRecordStatus == 5 || d.downProjectReportRecordStatus == 7){
+				xml+="<a href=\"${ctx}/paperFiling/paperFiling/adminRevokePaperFiling?id=" + d.ppfId + "&projectId="+d.id+ "&view=filing&processInstanceId=" + d.ppfProcessInstanceId + "\" onclick=\"return confirmx('确认要撤回该纸质归档审批吗?', this.href)\" class=\"layui-btn layui-btn-xs  layui-bg-red\" style='height: 32px;margin-top: 5px;margin-bottom: 5px;' > 撤回纸质归档</a>";
 			}
 			/*if(d.paperFilingStatus == 5 || d.paperFilingStatus == 7){
 				xml+="<a href=\"#\" onclick=\"openDialogre('修改纸质归档案卷号', '${ctx}/paperFiling/paperFiling/adminPaperFiling?id=" + d.ppfId + "&projectId=" + d.id +"&view=filing ','95%', '95%','','提交,关闭')\" class=\"layui-btn layui-btn-xs  layui-bg-green\"  style='height: 32px;margin-top: 5px;margin-bottom: 5px;'> 修改纸质归档</a>";