diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java index 4b67a1d10..6eec32d23 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/controller/LawsOpinionGatherEOController.java @@ -127,8 +127,8 @@ public class LawsOpinionGatherEOController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.lawsOpinionGatherEOService.deleteByIds(Arrays.asList(ids.split(","))); + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids,@RequestParam(name="cut",required=true) String cut) { + this.lawsOpinionGatherEOService.deleteByIds(Arrays.asList(ids.split(",")),cut); return Result.OK("批量删除成功!"); } @@ -184,4 +184,10 @@ public class LawsOpinionGatherEOController extends JeroController batchCompleteTask(@RequestBody JSONObject jsonObject){ + return this.lawsOpinionGatherEOService.batchCompleteTask(jsonObject); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherJob.java index bf1e5ac43..c5d17ad6c 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/job/LawsOpinionGatherJob.java @@ -34,7 +34,8 @@ public class LawsOpinionGatherJob implements Job { @Override public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { log.info("法规意见收集流程,定时任务开启 ====================================================="); - QueryWrapper lawsOpinionGatherEOQueryWrapper = new QueryWrapper<>(); + //TODO 2022-09-29 该功能被手动按钮替代 对应禅道bug编号 59979 + /*QueryWrapper lawsOpinionGatherEOQueryWrapper = new QueryWrapper<>(); lawsOpinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getGatherResult, GatherResultEnum.UNDERWAY.getValue()); List lawsOpinionGatherEOList = this.lawsOpinionGatherEOService.list(lawsOpinionGatherEOQueryWrapper); if (CollectionUtils.isNotEmpty(lawsOpinionGatherEOList)) { @@ -58,7 +59,7 @@ public class LawsOpinionGatherJob implements Job { this.lawsOpinionGatherEOService.updateBatchById(updateLawsOpinionGatherEOList); } } - } + }*/ log.info("法规意见收集流程,定时任务结束 ====================================================="); } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/ILawsOpinionGatherEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/ILawsOpinionGatherEOService.java index 710e61bf2..b4a878930 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/ILawsOpinionGatherEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/ILawsOpinionGatherEOService.java @@ -44,7 +44,7 @@ public interface ILawsOpinionGatherEOService extends IService ids); + void deleteByIds(List ids,String cut); /** * 通过id查询 @@ -75,4 +75,6 @@ public interface ILawsOpinionGatherEOService extends IService lawsOpinionGatherEOList,String cut); void workFlowSendMsg(JSONObject jsonObject); + + Result batchCompleteTask(JSONObject jsonObject); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java index 6e51bcfff..491631ca8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsOpinionGather/service/impl/LawsOpinionGatherEOServiceImpl.java @@ -28,8 +28,10 @@ import com.jero.modules.system.entity.SysCategory; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.impl.SysCategoryServiceImpl; +import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.jeecg.modules.jmreport.common.constant.CommonConstant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -64,6 +66,9 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl ids) { - removeByIds(ids); + public void deleteByIds(List ids,String cut) { + QueryWrapper lawsOpinionGatherEOQueryWrapper = new QueryWrapper<>(); + lawsOpinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getGatherResult, GatherResultEnum.UNDERWAY.getValue()); + lawsOpinionGatherEOQueryWrapper.lambda().in(LawsOpinionGatherEO::getId, ids); + List lawsOpinionGatherEOList = this.list(lawsOpinionGatherEOQueryWrapper); - QueryWrapper deleteWrapper = new QueryWrapper(); - deleteWrapper.in("laws_opinion_gather_id",ids); - this.lawsOpinionAssessmentResultEOService.remove(deleteWrapper); + List actiProcInstIdList = lawsOpinionGatherEOList.stream().map(LawsOpinionGatherEO::getActiProcInstId).distinct().collect(Collectors.toList()); + String prcIds = org.apache.commons.lang.StringUtils.join(actiProcInstIdList,","); + Result result = this.workFlowFeignClient.deleteProcessInstanceByPrcIds(prcIds); + if(result.getCode().equals(CommonConstant.SC_OK_200)){ + removeByIds(ids); + QueryWrapper deleteWrapper = new QueryWrapper(); + deleteWrapper.in("laws_opinion_gather_id",ids); + this.lawsOpinionAssessmentResultEOService.remove(deleteWrapper); + }else { + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + throw new JeroBootException("删除失败,请联系管理员!"); + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + throw new JeroBootException("Delete failed, please contact the administrator!"); + } + } } /** @@ -283,4 +303,36 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl batchCompleteTask(JSONObject jsonObject) { + String ids = jsonObject.getString("ids"); + String cut = jsonObject.getString("cut"); + if(StringUtils.isEmpty(ids)){ + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + throw new JeroBootException("至少选择一条数据进行手动结束!"); + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + throw new JeroBootException("Select at least one piece of data for manual termination!"); + } + } + + List lawsOpinionGatherIdList = Arrays.asList(ids.split(",")); + QueryWrapper lawsOpinionGatherEOQueryWrapper = new QueryWrapper<>(); + lawsOpinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getGatherResult, GatherResultEnum.UNDERWAY.getValue()); + lawsOpinionGatherEOQueryWrapper.lambda().in(LawsOpinionGatherEO::getId, lawsOpinionGatherIdList); + List lawsOpinionGatherEOList = this.list(lawsOpinionGatherEOQueryWrapper); + if (CollectionUtils.isNotEmpty(lawsOpinionGatherEOList)) { + List actiProcInstIdList = lawsOpinionGatherEOList.stream().map(LawsOpinionGatherEO::getActiProcInstId).distinct().collect(Collectors.toList()); + String actiProcInstIds = org.apache.commons.lang.StringUtils.join(actiProcInstIdList,","); + //将这些流程实例下的待办任务提交 + Result result = this.workFlowFeignClient.completeTaskByPids(actiProcInstIds); + if(result.getCode().equals(CommonConstant.SC_OK_200)){ + lawsOpinionGatherEOList.forEach(lawsOpinionGatherEO -> { + lawsOpinionGatherEO.setGatherResult(GatherResultEnum.COMPLETED.getValue()); + }); + this.updateBatchById(lawsOpinionGatherEOList); + } + } + return new Result<>().success("手动结束成功!"); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java index 9ca5ddf32..ca025a19e 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/controller/LawsTechnologyEvaluationEOController.java @@ -130,8 +130,8 @@ public class LawsTechnologyEvaluationEOController extends JeroController deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.lawsTechnologyEvaluationEOService.deleteByIds(Arrays.asList(ids.split(","))); + public Result deleteBatch(@RequestParam(name="ids",required=true) String ids,@RequestParam(name="cut",required=true) String cut) { + this.lawsTechnologyEvaluationEOService.deleteByIds(Arrays.asList(ids.split(",")),cut); return Result.OK("批量删除成功!"); } @@ -180,8 +180,8 @@ public class LawsTechnologyEvaluationEOController extends JeroController processCall(@RequestBody JSONObject jsonObject){ return this.lawsTechnologyEvaluationEOService.processCall(jsonObject); @@ -218,4 +218,11 @@ public class LawsTechnologyEvaluationEOController extends JeroController> result = this.lawsTechnologyEvaluationEOService.queryPageDummyById(parameter); return Result.OK(result); } + + @AutoLog(value = "法规技术评估-批量完成任务") + @ApiOperation(value="法规技术评估-批量完成任务", notes="法规技术评估-批量完成任务") + @PostMapping(value = "/batchCompleteTask") + public Result batchCompleteTask(@RequestBody JSONObject jsonObject){ + return this.lawsTechnologyEvaluationEOService.batchCompleteTask(jsonObject); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationJob.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationJob.java index 63f308573..c3877f9e8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationJob.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/job/LawsTechnologyEvaluationJob.java @@ -38,7 +38,8 @@ public class LawsTechnologyEvaluationJob implements Job { public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { log.info("法规技术评估流程,定时任务开启 ====================================================="); - QueryWrapper queryWrapper = new QueryWrapper<>(); + //TODO 2022-09-29 该功能被手动按钮替代 对应禅道bug编号 59979 + /*QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getFlowStatus, GatherResultEnum.UNDERWAY.getValue()); List lawsTechnologyEvaluationEOList = this.lawsTechnologyEvaluationEOService.list(queryWrapper); @@ -73,7 +74,7 @@ public class LawsTechnologyEvaluationJob implements Job { } } - } + }*/ log.info("法规技术评估流程,定时任务结束 ====================================================="); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationEOService.java index f13cde5ca..b2bad56ff 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/ILawsTechnologyEvaluationEOService.java @@ -50,7 +50,7 @@ public interface ILawsTechnologyEvaluationEOService extends IService ids); + void deleteByIds(List ids,String cut); /** * 通过id查询 @@ -90,4 +90,6 @@ public interface ILawsTechnologyEvaluationEOService extends IService> queryPageDummyById(Map parameter); void workFlowSendMsg(JSONObject jsonObject); + + Result batchCompleteTask(JSONObject jsonObject); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java index 4ef994acd..567660c55 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/lawsTechnologyEvaluation/service/impl/LawsTechnologyEvaluationEOServiceImpl.java @@ -16,6 +16,7 @@ import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper; import com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl; import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum; import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO; +import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO; import com.jero.modules.lawsTechnologyEvaluation.mapper.LawsTechnologyEvaluationEOMapper; import com.jero.modules.lawsTechnologyEvaluation.service.*; import com.jero.modules.project.enums.JumpLinkEnum; @@ -31,12 +32,14 @@ import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl; +import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; +import org.jeecg.modules.jmreport.common.constant.CommonConstant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -90,6 +93,8 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl ids) { - removeByIds(ids); + public void deleteByIds(List ids,String cut) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().in(LawsTechnologyEvaluationEO::getId, ids); + List lawsTechnologyEvaluationEOList = this.list(queryWrapper); - QueryWrapper deleteWrapper = new QueryWrapper(); - deleteWrapper.in("laws_technology_evaluation_id",ids); - this.lawsTechnologyEvaluationFlowDetailEOService.remove(deleteWrapper); + List lawsTechnologyEvaluationIdList = lawsTechnologyEvaluationEOList.stream().map(LawsTechnologyEvaluationEO::getId).distinct().collect(Collectors.toList()); - this.lawsTechnologyEvaluationItemResultEOService.remove(deleteWrapper); + //获取这些法规技术评估数据的下级流程明细数据。 + QueryWrapper flowDetailEOQueryWrapper = new QueryWrapper<>(); + flowDetailEOQueryWrapper.lambda().in(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId,lawsTechnologyEvaluationIdList); + List lawsTechnologyEvaluationFlowDetailEOList = lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailEOQueryWrapper); - this.lawsTechnologyEvaluationResultEOService.remove(deleteWrapper); + if(CollectionUtils.isNotEmpty(lawsTechnologyEvaluationFlowDetailEOList)){ + String prcIds = lawsTechnologyEvaluationFlowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(",")); + Result result = this.workFlowFeignClient.deleteProcessInstanceByPrcIds(prcIds); + if(result.getCode().equals(CommonConstant.SC_OK_200)){ + removeByIds(ids); - this.lawsTechnologyEvaluationComplianceResultEOService.remove(deleteWrapper); + QueryWrapper deleteWrapper = new QueryWrapper(); + deleteWrapper.in("laws_technology_evaluation_id",ids); + this.lawsTechnologyEvaluationFlowDetailEOService.remove(deleteWrapper); + + this.lawsTechnologyEvaluationItemResultEOService.remove(deleteWrapper); + + this.lawsTechnologyEvaluationResultEOService.remove(deleteWrapper); + + this.lawsTechnologyEvaluationComplianceResultEOService.remove(deleteWrapper); + }else { + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + throw new JeroBootException("删除失败,请联系管理员!"); + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + throw new JeroBootException("Delete failed, please contact the administrator!"); + } + } + } } /** @@ -629,6 +657,45 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl batchCompleteTask(JSONObject jsonObject) { + String ids = jsonObject.getString("ids"); + String cut = jsonObject.getString("cut"); + if(StringUtils.isEmpty(ids)){ + if(StringUtils.equals(cut,CutEnum.CN.getValue())){ + throw new JeroBootException("至少选择一条数据进行手动结束!"); + }else if(StringUtils.equals(cut,CutEnum.EN.getValue())){ + throw new JeroBootException("Select at least one piece of data for manual termination!"); + } + } + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getFlowStatus, GatherResultEnum.UNDERWAY.getValue()); + queryWrapper.lambda().in(LawsTechnologyEvaluationEO::getId, Arrays.asList(ids.split(","))); + List lawsTechnologyEvaluationEOList = this.list(queryWrapper); + + if (CollectionUtils.isNotEmpty(lawsTechnologyEvaluationEOList)) { + List lawsTechnologyEvaluationIdList = lawsTechnologyEvaluationEOList.stream().map(LawsTechnologyEvaluationEO::getId).distinct().collect(Collectors.toList()); + + //获取这些法规技术评估数据的下级流程明细数据。 + QueryWrapper flowDetailEOQueryWrapper = new QueryWrapper<>(); + flowDetailEOQueryWrapper.lambda().in(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId,lawsTechnologyEvaluationIdList); + List lawsTechnologyEvaluationFlowDetailEOList = lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailEOQueryWrapper); + + if(CollectionUtils.isNotEmpty(lawsTechnologyEvaluationFlowDetailEOList)){ + String actiProcInstIds = lawsTechnologyEvaluationFlowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(",")); + Result result = this.workFlowFeignClient.completeLawsTechnologyEvaluationTaskByPids(actiProcInstIds); + if(result.getCode().equals(CommonConstant.SC_OK_200)){ + lawsTechnologyEvaluationEOList.forEach(lawsTechnologyEvaluationEO -> { + lawsTechnologyEvaluationEO.setFlowStatus(GatherResultEnum.COMPLETED.getValue()); + }); + this.updateBatchById(lawsTechnologyEvaluationEOList); + } + } + } + return new Result<>().success("手动结束成功!"); + } + private String getTreeName(String cut, List categoryList, List technologyTerritoryList) { StringBuilder sb = new StringBuilder(); for (String technologyTerritory : technologyTerritoryList) { diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java index 0490604f4..51070cea7 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/wkflow/feginClient/WorkFlowFeignClient.java @@ -178,4 +178,7 @@ public interface WorkFlowFeignClient { @RequestMapping(value = "/bat-wkflow/task/getTaskAssigneeListByPrcIds",method = RequestMethod.GET) List getTaskAssigneeListByPrcIds(@RequestParam("actiProcInstIds") String actiProcInstIds); + + @RequestMapping(value = "/bat-wkflow/deleteProcessInstanceByPrcIds",method = RequestMethod.GET) + Result deleteProcessInstanceByPrcIds(@RequestParam("prcIds") String prcIds); }