法规意见收集、法规技术评估,增加批量手动完成接口。

法规意见收集、法规技术评估,删除时同步删除流程实例相关数据
This commit is contained in:
wangzhijiang
2022-09-29 14:16:00 +08:00
parent 368a59a4b3
commit 2aeccf6a0d
9 changed files with 166 additions and 25 deletions
@@ -127,8 +127,8 @@ public class LawsOpinionGatherEOController extends JeroController<LawsOpinionGat
@AutoLog(value = "法规意见收集表-批量删除")
@ApiOperation(value="法规意见收集表-批量删除", notes="法规意见收集表-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> 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<LawsOpinionGat
return this.lawsOpinionGatherEOService.processCall(jsonObject);
}
@AutoLog(value = "法规意见收集表-批量完成任务")
@ApiOperation(value="法规意见收集表-批量完成任务", notes="法规意见收集表-批量完成任务")
@PostMapping(value = "/batchCompleteTask")
public Result<?> batchCompleteTask(@RequestBody JSONObject jsonObject){
return this.lawsOpinionGatherEOService.batchCompleteTask(jsonObject);
}
}
@@ -34,7 +34,8 @@ public class LawsOpinionGatherJob implements Job {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
log.info("法规意见收集流程,定时任务开启 =====================================================");
QueryWrapper<LawsOpinionGatherEO> lawsOpinionGatherEOQueryWrapper = new QueryWrapper<>();
//TODO 2022-09-29 该功能被手动按钮替代 对应禅道bug编号 59979
/*QueryWrapper<LawsOpinionGatherEO> lawsOpinionGatherEOQueryWrapper = new QueryWrapper<>();
lawsOpinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getGatherResult, GatherResultEnum.UNDERWAY.getValue());
List<LawsOpinionGatherEO> lawsOpinionGatherEOList = this.lawsOpinionGatherEOService.list(lawsOpinionGatherEOQueryWrapper);
if (CollectionUtils.isNotEmpty(lawsOpinionGatherEOList)) {
@@ -58,7 +59,7 @@ public class LawsOpinionGatherJob implements Job {
this.lawsOpinionGatherEOService.updateBatchById(updateLawsOpinionGatherEOList);
}
}
}
}*/
log.info("法规意见收集流程,定时任务结束 =====================================================");
}
}
@@ -44,7 +44,7 @@ public interface ILawsOpinionGatherEOService extends IService<LawsOpinionGatherE
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
void deleteByIds(List<String> ids,String cut);
/**
* 通过id查询
@@ -75,4 +75,6 @@ public interface ILawsOpinionGatherEOService extends IService<LawsOpinionGatherE
void disposeData(List<LawsOpinionGatherEO> lawsOpinionGatherEOList,String cut);
void workFlowSendMsg(JSONObject jsonObject);
Result<?> batchCompleteTask(JSONObject jsonObject);
}
@@ -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<LawsOpinionGathe
@Autowired
private ILawsOpinionAssessmentResultEOService lawsOpinionAssessmentResultEOService;
@Autowired
private WorkFlowFeignClient workFlowFeignClient;
/**
* 保存
*
@@ -109,12 +114,27 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl<LawsOpinionGathe
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
public void deleteByIds(List<String> ids,String cut) {
QueryWrapper<LawsOpinionGatherEO> lawsOpinionGatherEOQueryWrapper = new QueryWrapper<>();
lawsOpinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getGatherResult, GatherResultEnum.UNDERWAY.getValue());
lawsOpinionGatherEOQueryWrapper.lambda().in(LawsOpinionGatherEO::getId, ids);
List<LawsOpinionGatherEO> lawsOpinionGatherEOList = this.list(lawsOpinionGatherEOQueryWrapper);
QueryWrapper deleteWrapper = new QueryWrapper();
deleteWrapper.in("laws_opinion_gather_id",ids);
this.lawsOpinionAssessmentResultEOService.remove(deleteWrapper);
List<String> actiProcInstIdList = lawsOpinionGatherEOList.stream().map(LawsOpinionGatherEO::getActiProcInstId).distinct().collect(Collectors.toList());
String prcIds = org.apache.commons.lang.StringUtils.join(actiProcInstIdList,",");
Result<String> 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<LawsOpinionGathe
SendMessageUtils.sendMessage(msgTitle,msgContentEN,userIdList,lawsOpinionGatherId,sendMessageMap,null,MessageTypeEnum.COLLECTION_OF_LEGISLATIVE_COMMENTS,initiator);
}
@Override
public Result<?> 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<String> lawsOpinionGatherIdList = Arrays.asList(ids.split(","));
QueryWrapper<LawsOpinionGatherEO> lawsOpinionGatherEOQueryWrapper = new QueryWrapper<>();
lawsOpinionGatherEOQueryWrapper.lambda().eq(LawsOpinionGatherEO::getGatherResult, GatherResultEnum.UNDERWAY.getValue());
lawsOpinionGatherEOQueryWrapper.lambda().in(LawsOpinionGatherEO::getId, lawsOpinionGatherIdList);
List<LawsOpinionGatherEO> lawsOpinionGatherEOList = this.list(lawsOpinionGatherEOQueryWrapper);
if (CollectionUtils.isNotEmpty(lawsOpinionGatherEOList)) {
List<String> actiProcInstIdList = lawsOpinionGatherEOList.stream().map(LawsOpinionGatherEO::getActiProcInstId).distinct().collect(Collectors.toList());
String actiProcInstIds = org.apache.commons.lang.StringUtils.join(actiProcInstIdList,",");
//将这些流程实例下的待办任务提交
Result<String> 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("手动结束成功!");
}
}
@@ -130,8 +130,8 @@ public class LawsTechnologyEvaluationEOController extends JeroController<LawsTec
@AutoLog(value = "法规技术评估-批量删除")
@ApiOperation(value="法规技术评估-批量删除", notes="法规技术评估-批量删除")
@DeleteMapping(value = "/deleteBatch")
public Result<?> 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<LawsTec
* @param jsonObject
* @return
*/
@AutoLog(value = "法规意见收集表-流程调用")
@ApiOperation(value="法规意见收集表-流程调用", notes="法规意见收集细表-流程调用")
@AutoLog(value = "法规技术评估-流程调用")
@ApiOperation(value="法规技术评估-流程调用", notes="法规技术评估-流程调用")
@PostMapping(value = "/processCall")
public Result<?> processCall(@RequestBody JSONObject jsonObject){
return this.lawsTechnologyEvaluationEOService.processCall(jsonObject);
@@ -218,4 +218,11 @@ public class LawsTechnologyEvaluationEOController extends JeroController<LawsTec
List<Map<String, Object>> 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);
}
}
@@ -38,7 +38,8 @@ public class LawsTechnologyEvaluationJob implements Job {
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
log.info("法规技术评估流程,定时任务开启 =====================================================");
QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper = new QueryWrapper<>();
//TODO 2022-09-29 该功能被手动按钮替代 对应禅道bug编号 59979
/*QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getFlowStatus, GatherResultEnum.UNDERWAY.getValue());
List<LawsTechnologyEvaluationEO> lawsTechnologyEvaluationEOList = this.lawsTechnologyEvaluationEOService.list(queryWrapper);
@@ -73,7 +74,7 @@ public class LawsTechnologyEvaluationJob implements Job {
}
}
}
}*/
log.info("法规技术评估流程,定时任务结束 =====================================================");
}
@@ -50,7 +50,7 @@ public interface ILawsTechnologyEvaluationEOService extends IService<LawsTechnol
* @param ids
* @return
*/
void deleteByIds(List<String> ids);
void deleteByIds(List<String> ids,String cut);
/**
* 通过id查询
@@ -90,4 +90,6 @@ public interface ILawsTechnologyEvaluationEOService extends IService<LawsTechnol
List<Map<String, Object>> queryPageDummyById(Map<String, Object> parameter);
void workFlowSendMsg(JSONObject jsonObject);
Result<?> batchCompleteTask(JSONObject jsonObject);
}
@@ -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<LawsTechn
private ILawsTechnologyEvaluationItemResultEOService lawsTechnologyEvaluationItemResultEOService;
@Autowired
private ILawsTechnologyEvaluationComplianceResultEOService lawsTechnologyEvaluationComplianceResultEOService;
@Autowired
private WorkFlowFeignClient workFlowFeignClient;
/**
* 保存
@@ -136,18 +141,41 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
* @return
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
public void deleteByIds(List<String> ids,String cut) {
QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().in(LawsTechnologyEvaluationEO::getId, ids);
List<LawsTechnologyEvaluationEO> lawsTechnologyEvaluationEOList = this.list(queryWrapper);
QueryWrapper deleteWrapper = new QueryWrapper();
deleteWrapper.in("laws_technology_evaluation_id",ids);
this.lawsTechnologyEvaluationFlowDetailEOService.remove(deleteWrapper);
List<String> lawsTechnologyEvaluationIdList = lawsTechnologyEvaluationEOList.stream().map(LawsTechnologyEvaluationEO::getId).distinct().collect(Collectors.toList());
this.lawsTechnologyEvaluationItemResultEOService.remove(deleteWrapper);
//获取这些法规技术评估数据的下级流程明细数据。
QueryWrapper<LawsTechnologyEvaluationFlowDetailEO> flowDetailEOQueryWrapper = new QueryWrapper<>();
flowDetailEOQueryWrapper.lambda().in(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId,lawsTechnologyEvaluationIdList);
List<LawsTechnologyEvaluationFlowDetailEO> lawsTechnologyEvaluationFlowDetailEOList = lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailEOQueryWrapper);
this.lawsTechnologyEvaluationResultEOService.remove(deleteWrapper);
if(CollectionUtils.isNotEmpty(lawsTechnologyEvaluationFlowDetailEOList)){
String prcIds = lawsTechnologyEvaluationFlowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(","));
Result<String> 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<LawsTechn
SendMessageUtils.sendMessage(msgTitle,msgContentEN,userIdList,lawsTechnologyEvaluationId,sendMessageMap,null, MessageTypeEnum.REGULATORY_AND_TECHNICAL_ASSESSMENT,initiator);
}
@Override
public Result<?> 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<LawsTechnologyEvaluationEO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(LawsTechnologyEvaluationEO::getFlowStatus, GatherResultEnum.UNDERWAY.getValue());
queryWrapper.lambda().in(LawsTechnologyEvaluationEO::getId, Arrays.asList(ids.split(",")));
List<LawsTechnologyEvaluationEO> lawsTechnologyEvaluationEOList = this.list(queryWrapper);
if (CollectionUtils.isNotEmpty(lawsTechnologyEvaluationEOList)) {
List<String> lawsTechnologyEvaluationIdList = lawsTechnologyEvaluationEOList.stream().map(LawsTechnologyEvaluationEO::getId).distinct().collect(Collectors.toList());
//获取这些法规技术评估数据的下级流程明细数据。
QueryWrapper<LawsTechnologyEvaluationFlowDetailEO> flowDetailEOQueryWrapper = new QueryWrapper<>();
flowDetailEOQueryWrapper.lambda().in(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId,lawsTechnologyEvaluationIdList);
List<LawsTechnologyEvaluationFlowDetailEO> lawsTechnologyEvaluationFlowDetailEOList = lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailEOQueryWrapper);
if(CollectionUtils.isNotEmpty(lawsTechnologyEvaluationFlowDetailEOList)){
String actiProcInstIds = lawsTechnologyEvaluationFlowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getActiProcInstId).distinct().collect(Collectors.joining(","));
Result<String> 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<SysCategory> categoryList, List<String> technologyTerritoryList) {
StringBuilder sb = new StringBuilder();
for (String technologyTerritory : technologyTerritoryList) {
@@ -178,4 +178,7 @@ public interface WorkFlowFeignClient {
@RequestMapping(value = "/bat-wkflow/task/getTaskAssigneeListByPrcIds",method = RequestMethod.GET)
List<String> getTaskAssigneeListByPrcIds(@RequestParam("actiProcInstIds") String actiProcInstIds);
@RequestMapping(value = "/bat-wkflow/deleteProcessInstanceByPrcIds",method = RequestMethod.GET)
Result<String> deleteProcessInstanceByPrcIds(@RequestParam("prcIds") String prcIds);
}