|
@@ -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){
|