diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java index 4bf953c7..3c9114c8 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/service/TaskTodoService.java @@ -94,7 +94,7 @@ public class TaskTodoService { */ public boolean whetherExistTaskByTaskDefinitionKey(String prcId, String taskDefinitionKey,String taskId) { boolean result = false; - List taskList = taskService.createTaskQuery().processDefinitionId(prcId).active().list().stream().filter(task-> { + List taskList = taskService.createTaskQuery().processInstanceId(prcId).active().list().stream().filter(task-> { boolean flag = false; if (StringUtils.isNotEmpty(taskId)) { if (!StringUtils.equals(task.getId(),taskId)) { diff --git a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java index e918fe41..d117a878 100644 --- a/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java +++ b/src/main/java/com/ydw/bat/wkflow/business_activiti/task/TodoTaskController.java @@ -106,6 +106,9 @@ public class TodoTaskController extends BaseAction { @Autowired private IPolicySolicitOpinionEOService policySolicitOpinionEOService; + @Autowired + private IZchgxxmscSybDataEOService zchgxxmscSybDataEOService; + @ApiOperation(value = "我的待办任务列表") @ApiImplicitParams({@ApiImplicitParam(name = "name", value = "名称"), @ApiImplicitParam(name = "current", value = "当前页"), @@ -411,8 +414,11 @@ public class TodoTaskController extends BaseAction { busProcessEntrust.setTaskId(str); iBusProcessEntrustService.save(busProcessEntrust); - if (StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCZQYJLC.getValue()) || StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCHGXXMSCLC.getValue())) { - this.changePolicySolicitOpinionProcessAssignee(assignee, userId, pId, str, one.getPrcType()); + if (StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCZQYJLC.getValue())) { + this.changeZczqyjFlowAssignee(assignee, userId, pId, str); + + } else if (StringUtils.equals(one.getPrcType(), FlowTypeEnum.ZCHGXXMSCLC.getValue())) { + this.changeZchgxxmscFlowAssignee(assignee, userId, pId, str); } } } @@ -501,19 +507,18 @@ public class TodoTaskController extends BaseAction { return WrapMapper.ok("改派成功"); } /** - * @Description: 变更政策征求意见流程任务办理人(责任部门子流程相关) + * @Description: 变更流程人员关系 * @author: wangzhijiang * @date: 2023-10-18 * @Param: * @return: */ - private void changePolicySolicitOpinionProcessAssignee(String assignee, String userId, String pId, String str,String flowType) { - Task task = this.taskService.createTaskQuery().taskId(str).singleResult(); + private void changeFlowUserRelInfoAssignee(String assignee, String userId, String pId, String str,String flowType,Task task) { QueryWrapper furQueryWrap = new QueryWrapper<>(); furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, pId); furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType,flowType); // 责任人任务处理。 - if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey8")) { + if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey8") || StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey8")) { furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType,"zrdjrfpzrr"); furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, userId); List furInfoList = this.flowUserRelInfoService.list(furQueryWrap); @@ -523,7 +528,7 @@ public class TodoTaskController extends BaseAction { } } // 责任对接人汇总 - if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey9")) { + if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey9") || StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey9")) { furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType,"zrdjrfpzrr"); furQueryWrap.lambda().eq(FlowUserRelInfo::getParentUserId, userId); List furInfoList = this.flowUserRelInfoService.list(furQueryWrap); @@ -533,7 +538,7 @@ public class TodoTaskController extends BaseAction { } } // 责任单位审批 - if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey10")) { + if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey10") || StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey10")) { furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType,"zrdjrfpzrdw"); furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, userId); List furInfoList = this.flowUserRelInfoService.list(furQueryWrap); @@ -544,6 +549,50 @@ public class TodoTaskController extends BaseAction { } } + public void changeZczqyjFlowAssignee(String assignee, String userId, String pId, String str){ + Task task = this.taskService.createTaskQuery().taskId(str).singleResult(); + if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey8")) { + Map params = new HashMap<>(); + params.put("taskDefinitionKey",task.getTaskDefinitionKey()); + params.put("currentUserId",userId); + params.put("prcId",task.getProcessInstanceId()); + List policySolicitOpinionEOList = this.policySolicitOpinionEOService.queryPolicitOpinionEOList(params); + if (CollectionUtils.isNotEmpty(policySolicitOpinionEOList)) { + policySolicitOpinionEOList.forEach(policySolicitOpinionEO -> {policySolicitOpinionEO.setCreateUserId(assignee);}); + this.policySolicitOpinionEOService.updateBatchById(policySolicitOpinionEOList); + } + } else if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicySolicitOpinionProcessKey9")) { + Map params = new HashMap<>(); + params.put("taskDefinitionKey","PolicySolicitOpinionProcessKey8"); + params.put("currentUserId",userId); + params.put("prcId",task.getProcessInstanceId()); + List policySolicitOpinionEOList = this.policySolicitOpinionEOService.queryPolicitOpinionEOList(params); + if (CollectionUtils.isNotEmpty(policySolicitOpinionEOList)) { + policySolicitOpinionEOList.forEach(policySolicitOpinionEO -> {policySolicitOpinionEO.setCreateUserId(assignee);}); + this.policySolicitOpinionEOService.updateBatchById(policySolicitOpinionEOList); + } + } + this.changeFlowUserRelInfoAssignee(assignee, userId, pId, str, FlowTypeEnum.ZCZQYJLC.getValue(),task); + } + + public void changeZchgxxmscFlowAssignee(String assignee, String userId, String pId, String str){ + Task task = this.taskService.createTaskQuery().taskId(str).singleResult(); + + if (StringUtils.equals(task.getTaskDefinitionKey(),"PolicyComplianceProgramReviewProcessKey8")) { + // 如果是责任人任务处理,修改当前责任人被分配的事业部数据 + Map params = new HashMap<>(); + params.put("taskDefinitionKey",task.getTaskDefinitionKey()); + params.put("currentUserId",userId); + params.put("pId",task.getProcessInstanceId()); + List zchgxxmscSybDataEOList = this.zchgxxmscSybDataEOService.queryZchgxxmscSybDataEOList(params); + if (CollectionUtils.isNotEmpty(zchgxxmscSybDataEOList)) { + zchgxxmscSybDataEOList.forEach(sybDataEO -> {sybDataEO.setZrrUserId(assignee);}); + this.zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList); + } + } + + this.changeFlowUserRelInfoAssignee(assignee, userId, pId, str, FlowTypeEnum.ZCHGXXMSCLC.getValue(),task); + } @ApiOperation(value = "完成任务", notes = "流程单个节点任务,直接完成任务") @ApiImplicitParams({@ApiImplicitParam(name = "taskId", value = "任务id"), @ApiImplicitParam(name = "userId", value = "完成任务用户Id")}) @@ -1930,6 +1979,21 @@ public class TodoTaskController extends BaseAction { if (StringUtils.equals(busProcessName.getPrcType(),FlowTypeEnum.ZCZQYJLC.getValue())) { object.put("prcId",busProcessName.getPrcId()); this.policySolicitOpinionEOService.batchInsert(object); + } else if (StringUtils.equals(busProcessName.getPrcType(),FlowTypeEnum.ZCHGXXMSCLC.getValue())) { + JSONObject jsonForm = object.getJSONObject("form"); + // departmentType字段: value: undertaking 事业部 productPlanning 产品规划部 + String departmentType = jsonForm.getString("departmentType"); + if (StringUtils.equals(departmentType,"undertaking") && jsonForm.containsKey("sybDataList")) { + JSONArray sybDataListArr = jsonForm.getJSONArray("sybDataList"); + List zchgxxmscSybDataEOList = new ArrayList<>(); + ZchgxxmscSybDataEO zchgxxmscSybDataEO = null; + for (Object sybData : sybDataListArr) { + zchgxxmscSybDataEO = JSONObject.parseObject(JSONObject.toJSONString(sybData),ZchgxxmscSybDataEO.class); + zchgxxmscSybDataEO.setModifyTime(new Date()); + zchgxxmscSybDataEOList.add(zchgxxmscSybDataEO); + } + this.zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList); + } } return WrapMapper.ok("保存成功"); } @@ -3170,4 +3234,52 @@ public class TodoTaskController extends BaseAction { return "1"; } + /** + * 本接口仅提供法规系统调用 + */ + @ApiOperation(value = "查询重点认证标准/政策合规性项目审查任务明细") + @GetMapping("/queryZchgxxmscTaskDetail") + public BusProcessNew queryZchgxxmscTaskDetail(@RequestParam Map params) { + String taskIds = (String) params.get("taskIds"); + String prcId = (String) params.get("pId"); + List taskIdList = new ArrayList<>(Arrays.asList(taskIds.split(","))); + + List list = iBusProcessNewService.findNoExecuteBusProcessNewForEnd(taskIdList); + if (list.isEmpty()) { + return null; + } + BusProcessNew processNew = new BusProcessNew(); + BeanUtils.copyProperties(list.get(0), processNew); + + if(StringUtils.isNotBlank(prcId)){ + List list2 = taskService.createTaskQuery().processInstanceId(prcId).active().list(); + if(!list2.isEmpty()){ + processNew.setNowTaskInfo(list2.get(0).getName()); + } + } + + JSONObject object3 = JSONObject.parseObject(list.get(0).getMesg()); + + List zchgxxmscSybDataEOList = this.zchgxxmscSybDataEOService.queryZchgxxmscSybDataEOList(params); + if (CollectionUtils.isNotEmpty(zchgxxmscSybDataEOList)) { + JSONObject jsonForm = object3.getJSONObject("form"); + jsonForm.put("sybDataList",zchgxxmscSybDataEOList); + } + +// object3.put("cpghbDataList",""); + processNew.setMesg(object3.toJSONString()); + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("TODO_ID",processNew.getId()); + wrapper.eq("EXEC_TYPE",2); + wrapper.eq("EXEC_STATUS",0); + long count = oaTaskExecService.count(wrapper); + processNew.setCommitStatus(count); + // 设置processNew表流程状态为已接收 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.in(BusProcessNew::getTaskId,taskIdList); + updateWrapper.set(BusProcessNew::getReceiveStatus,"已接收"); + iBusProcessNewService.update(updateWrapper); + return processNew; + + } } diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscSybDataEO.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscSybDataEO.java new file mode 100644 index 00000000..16e8cfaa --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/entity/ZchgxxmscSybDataEO.java @@ -0,0 +1,101 @@ +package com.ydw.bat.wkflow.business_main.datas.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.util.Date; + +/** + * @Description: 重点认证标准/政策合规性项目审查-事业部数据表 + * @author: wangzhijiang + * @date: 2023-10-25 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("ZCHGXXMSC_SYB_DATA") +@ApiModel(value="ZchgxxmscSybData对象", description="") +public class ZchgxxmscSybDataEO { + private static final long serialVersionUID=1L; + + @TableId(value = "ID", type = IdType.UUID) + private String id; + + // 标准/政策id + @TableField("LAW_ID") + private String lawId; + + // 流程实例id + @TableField("PRC_ID") + private String prcId; + + // 责任人用户id + @TableField("ZRR_USER_ID") + private String zrrUserId; + + // 数据来源 + @TableField("DATA_SOURCE") + private String dataSource; + + // 标准/政策编号 + @TableField("LAW_CODE") + private String lawCode; + + // 标准/政策名称 + @TableField("LAW_NAME") + private String lawName; + + // 产品类型 + @TableField("PRODUCT_TYPE") + private String productType; + + // 实施日期 + @TableField("IMPL_TIME") + private String implTime; + + // 实施要求 + @TableField("IMPL_REQUIRE") + private String implRequire; + + // 资源符合情况 + @TableField("RESOURCE_ACCORDWITH_CIRCUMSTANCE") + private String resourceAccordwithCircumstance; + + // 开发计划 + @TableField("DEV_PLAN") + private String devPlan; + + // sop时间 + @TableField("SOP_DATE") + private String sopDate; + + // 完成情况 + @TableField("FINISH_CIRCUMSTANCE") + private String finishCircumstance; + + // sop时间超过法规时限的空挡期的业务应对方案 + @TableField("SOP_DATE_SOLUTIONS") + private String sopDateSolutions; + + // 提出人/创建人 + @TableField("CREATE_USER_ID") + private String createUserId; + + // 创建时间 + @TableField("CREATE_TIME") + private Date createTime; + + // 更新人 + @TableField("MODIFY_USER_ID") + private String modifyUserId; + + // 更新时间 + @TableField("MODIFY_TIME") + private Date modifyTime; +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscSybDataEOMapper.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscSybDataEOMapper.java new file mode 100644 index 00000000..8ae27163 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/mapper/ZchgxxmscSybDataEOMapper.java @@ -0,0 +1,7 @@ +package com.ydw.bat.wkflow.business_main.datas.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO; + +public interface ZchgxxmscSybDataEOMapper extends BaseMapper { +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscSybDataEOService.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscSybDataEOService.java new file mode 100644 index 00000000..8bca45a3 --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/IZchgxxmscSybDataEOService.java @@ -0,0 +1,14 @@ +package com.ydw.bat.wkflow.business_main.datas.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO; + +import java.util.List; +import java.util.Map; + +public interface IZchgxxmscSybDataEOService extends IService { + + void batchInsert(List zchgxxmscSybDataEOList); + + List queryZchgxxmscSybDataEOList(Map params); +} diff --git a/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscSybDataEOServiceImpl.java b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscSybDataEOServiceImpl.java new file mode 100644 index 00000000..9c54f49b --- /dev/null +++ b/src/main/java/com/ydw/bat/wkflow/business_main/datas/service/impl/ZchgxxmscSybDataEOServiceImpl.java @@ -0,0 +1,95 @@ +package com.ydw.bat.wkflow.business_main.datas.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO; +import com.ydw.bat.wkflow.business_main.datas.mapper.ZchgxxmscSybDataEOMapper; +import com.ydw.bat.wkflow.business_main.datas.service.IFlowUserRelInfoService; +import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscSybDataEOService; +import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +@Service +public class ZchgxxmscSybDataEOServiceImpl extends ServiceImpl implements IZchgxxmscSybDataEOService { + + @Autowired + private IFlowUserRelInfoService flowUserRelInfoService; + + @Override + public void batchInsert(List zchgxxmscSybDataEOList) { + if (CollectionUtils.isNotEmpty(zchgxxmscSybDataEOList)) { + this.saveBatch(zchgxxmscSybDataEOList); + } + } + + @Override + public List queryZchgxxmscSybDataEOList(Map params) { + + List result = new ArrayList<>(); + String taskDefinitionKey = (String) params.get("taskDefinitionKey"); + String currentUserId = (String) params.get("currentUserId"); + String prcId = (String) params.get("pId"); + + QueryWrapper sybEoQueryWrap = new QueryWrapper<>(); + sybEoQueryWrap.lambda().eq(ZchgxxmscSybDataEO::getPrcId, prcId); + + if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey8")) { + // 责任人处理 + sybEoQueryWrap.lambda().eq(ZchgxxmscSybDataEO::getZrrUserId, currentUserId); + } else if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey9")) { + // 责任对接人汇总 + // 查询当前责任对接人分配出去的责任人,获取这些责任人填写的征求意见列表 + List userIdList = new ArrayList<>(); + userIdList.add(currentUserId); + + QueryWrapper furQueryWrap = new QueryWrapper<>(); + furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId); + furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue()); + furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人 + furQueryWrap.lambda().eq(FlowUserRelInfo::getParentUserId, currentUserId); + List zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap); + if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) { + userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList())); + } + sybEoQueryWrap.lambda().in(ZchgxxmscSybDataEO::getZrrUserId, userIdList); + } else if (StringUtils.equals(taskDefinitionKey, "PolicyComplianceProgramReviewProcessKey10")) { + // 责任单位审批 + // 查询当前责任单位被分配出去的责任人对接人,根据责任对接人获取分配出去的责任人,获取这些责任人填写的征求意见列表 + List userIdList = new ArrayList<>(); + + QueryWrapper furQueryWrap = new QueryWrapper<>(); + furQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId); + furQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue()); + furQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrdw"); // 责任对接人分配责任单位审批 + furQueryWrap.lambda().eq(FlowUserRelInfo::getUserId, currentUserId); + List zrdwflowUserRelInfoList = this.flowUserRelInfoService.list(furQueryWrap); + if (CollectionUtils.isNotEmpty(zrdwflowUserRelInfoList)) { + List zrdjrUserIdList = zrdwflowUserRelInfoList.stream().map(FlowUserRelInfo::getParentUserId).distinct().collect(Collectors.toList()); + userIdList.addAll(zrdjrUserIdList); + + QueryWrapper zrdjrQueryWrap = new QueryWrapper<>(); + zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getActiProcInstId, prcId); + zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getFlowType, FlowTypeEnum.ZCHGXXMSCLC.getValue()); + zrdjrQueryWrap.lambda().eq(FlowUserRelInfo::getDataType, "zrdjrfpzrr"); // 责任对接人分配责任人 + zrdjrQueryWrap.lambda().in(FlowUserRelInfo::getParentUserId, zrdjrUserIdList); + List zrdjrFlowUserRelInfoList = this.flowUserRelInfoService.list(zrdjrQueryWrap); + if (CollectionUtils.isNotEmpty(zrdjrFlowUserRelInfoList)) { + userIdList.addAll(zrdjrFlowUserRelInfoList.stream().map(FlowUserRelInfo::getUserId).distinct().collect(Collectors.toList())); + } + } else { + userIdList.add("设置一个无法满足的条件"); + } + sybEoQueryWrap.lambda().in(ZchgxxmscSybDataEO::getZrrUserId, userIdList); + } + sybEoQueryWrap.orderByAsc("create_time"); + result = this.list(sybEoQueryWrap); + return result; + } +} diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12After.java index 543e85a8..2ef78d28 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess12After.java @@ -44,7 +44,7 @@ public class PolicyComplianceProgramReviewProcess12After implements TaskListener delegateTask.setVariable("sdr2UserIdList", nextUserList); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13After.java index e94c2736..03a129a7 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess13After.java @@ -36,7 +36,7 @@ public class PolicyComplianceProgramReviewProcess13After implements TaskListener int sdr2UserPassCount = (int) delegateTask.getVariable("sdr2UserPassCount"); delegateTask.setVariable("sdr2UserPassCount", sdr2UserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java index 10d5bf66..5ed589bc 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess15After.java @@ -35,7 +35,7 @@ public class PolicyComplianceProgramReviewProcess15After implements TaskListener boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2After.java index 0d714976..82f28ad0 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess2After.java @@ -38,7 +38,7 @@ public class PolicyComplianceProgramReviewProcess2After implements TaskListener delegateTask.setVariable("shr1UserPassCount", shr1UserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4After.java index d1087675..410664a1 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess4After.java @@ -33,7 +33,7 @@ public class PolicyComplianceProgramReviewProcess4After implements TaskListener delegateTask.setVariable("sdr1UserPassCount", sdr1UserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7After.java index a0452644..3b445680 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess7After.java @@ -1,13 +1,16 @@ package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.Datas; import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; import com.ydw.bat.wkflow.business_main.datas.service.IFlowUserRelInfoService; +import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscSybDataEOService; import com.ydw.bat.wkflow.util.SpringContextUtil; import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; import org.activiti.engine.delegate.DelegateTask; @@ -15,9 +18,7 @@ import org.activiti.engine.delegate.TaskListener; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import java.util.*; public class PolicyComplianceProgramReviewProcess7After implements TaskListener { @Override @@ -25,6 +26,7 @@ public class PolicyComplianceProgramReviewProcess7After implements TaskListener IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); IFlowUserRelInfoService flowUserRelInfoService = SpringContextUtil.getBean(IFlowUserRelInfoService.class); + IZchgxxmscSybDataEOService zchgxxmscSybDataEOService = SpringContextUtil.getBean(IZchgxxmscSybDataEOService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -39,6 +41,27 @@ public class PolicyComplianceProgramReviewProcess7After implements TaskListener if (StringUtils.isNotEmpty(zrrUserIds)) { List nextUserList = Arrays.asList(zrrUserIds.split(",")); if (CollectionUtils.isNotEmpty(nextUserList)) { + // departmentType字段: value: undertaking 事业部 productPlanning 产品规划部 + String departmentType = jsonForm.getString("departmentType"); + if (StringUtils.equals(departmentType,"undertaking")) { + JSONArray sybDataList = jsonForm.getJSONArray("infoTableDatas"); + + List zchgxxmscSybDataEOList = new ArrayList<>(); + for (String nextUser : nextUserList) { + ZchgxxmscSybDataEO zchgxxmscSybDataEO = null; + for (Object sybData : sybDataList) { + zchgxxmscSybDataEO = JSONObject.parseObject(JSONObject.toJSONString(sybData),ZchgxxmscSybDataEO.class); + zchgxxmscSybDataEO.setId(UUID.randomUUID().toString()); + zchgxxmscSybDataEO.setZrrUserId(nextUser); + zchgxxmscSybDataEO.setPrcId(delegateTask.getProcessInstanceId()); + zchgxxmscSybDataEO.setCreateTime(new Date()); + zchgxxmscSybDataEOList.add(zchgxxmscSybDataEO); + } + } + + zchgxxmscSybDataEOService.batchInsert(zchgxxmscSybDataEOList); + } + List flowUserRelInfoList = new ArrayList<>(); List addBusProcessNewList = new ArrayList<>(); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java index d620e33a..f77262db 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess8After.java @@ -1,18 +1,25 @@ package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_activiti.service.TaskTodoService; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.Datas; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO; import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; import com.ydw.bat.wkflow.business_main.datas.service.IPolicySolicitOpinionEOService; +import com.ydw.bat.wkflow.business_main.datas.service.IZchgxxmscSybDataEOService; import com.ydw.bat.wkflow.util.SpringContextUtil; import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.TaskListener; import org.apache.commons.lang3.StringUtils; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + public class PolicyComplianceProgramReviewProcess8After implements TaskListener { @Override public void notify(DelegateTask delegateTask) { @@ -20,6 +27,7 @@ public class PolicyComplianceProgramReviewProcess8After implements TaskListener IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); TaskTodoService taskTodoService = SpringContextUtil.getBean(TaskTodoService.class); IPolicySolicitOpinionEOService policySolicitOpinionEOService = SpringContextUtil.getBean(IPolicySolicitOpinionEOService.class); + IZchgxxmscSybDataEOService zchgxxmscSybDataEOService = SpringContextUtil.getBean(IZchgxxmscSybDataEOService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -41,10 +49,22 @@ public class PolicyComplianceProgramReviewProcess8After implements TaskListener busProcessNewNext.setUserId((String) delegateTask.getVariable("djrUserId")); busBean.save(busProcessNewNext); - // 保存责任人填写的征求意见信息 - object.put("currentUserId",delegateTask.getAssignee()); - object.put("prcId",delegateTask.getProcessInstanceId()); - policySolicitOpinionEOService.batchInsert(object); + // 保存责任人填写的数据信息 + // departmentType字段: value: undertaking 事业部 productPlanning 产品规划部 + String departmentType = jsonForm.getString("departmentType"); + if (StringUtils.equals(departmentType,"undertaking") && jsonForm.containsKey("sybDataList")) { + JSONArray sybDataListArr = jsonForm.getJSONArray("sybDataList"); + List zchgxxmscSybDataEOList = new ArrayList<>(); + ZchgxxmscSybDataEO zchgxxmscSybDataEO = null; + for (Object sybData : sybDataListArr) { + zchgxxmscSybDataEO = JSONObject.parseObject(JSONObject.toJSONString(sybData),ZchgxxmscSybDataEO.class); + zchgxxmscSybDataEO.setModifyTime(new Date()); + zchgxxmscSybDataEOList.add(zchgxxmscSybDataEO); + } + zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList); + } else if (StringUtils.equals(departmentType,"productPlanning")) { + + } submitMethod = "pageSubmit"; } else { diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9After.java b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9After.java index 98ccd83f..8a07a344 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policyComplianceProgramReviewProcess/PolicyComplianceProgramReviewProcess9After.java @@ -1,14 +1,13 @@ package com.ydw.bat.wkflow.listener.policyComplianceProgramReviewProcess; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ydw.bat.wkflow.business_main.datas.entity.BusProcessNew; import com.ydw.bat.wkflow.business_main.datas.entity.Datas; import com.ydw.bat.wkflow.business_main.datas.entity.FlowUserRelInfo; -import com.ydw.bat.wkflow.business_main.datas.service.IBusProcessNewService; -import com.ydw.bat.wkflow.business_main.datas.service.IDatasService; -import com.ydw.bat.wkflow.business_main.datas.service.IFlowUserRelInfoService; -import com.ydw.bat.wkflow.business_main.datas.service.IPolicySolicitOpinionEOService; +import com.ydw.bat.wkflow.business_main.datas.entity.ZchgxxmscSybDataEO; +import com.ydw.bat.wkflow.business_main.datas.service.*; import com.ydw.bat.wkflow.util.SpringContextUtil; import com.ydw.bat.wkflow.util.enums.ApprovalFlagEnum; import com.ydw.bat.wkflow.util.enums.FlowTypeEnum; @@ -17,6 +16,7 @@ import org.activiti.engine.delegate.TaskListener; import org.apache.commons.lang.StringUtils; import java.util.ArrayList; +import java.util.Date; import java.util.List; public class PolicyComplianceProgramReviewProcess9After implements TaskListener { @@ -25,7 +25,7 @@ public class PolicyComplianceProgramReviewProcess9After implements TaskListener IDatasService datasService = SpringContextUtil.getBean(IDatasService.class); IBusProcessNewService busBean = SpringContextUtil.getBean(IBusProcessNewService.class); IFlowUserRelInfoService flowUserRelInfoService = SpringContextUtil.getBean(IFlowUserRelInfoService.class); -// IPolicySolicitOpinionEOService policySolicitOpinionEOService = SpringContextUtil.getBean(IPolicySolicitOpinionEOService.class); + IZchgxxmscSybDataEOService zchgxxmscSybDataEOService = SpringContextUtil.getBean(IZchgxxmscSybDataEOService.class); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("ACTI_TASK_ID", delegateTask.getId()); @@ -105,10 +105,22 @@ public class PolicyComplianceProgramReviewProcess9After implements TaskListener submitMethod = "timerAutoSubmit"; } -// // 保存责任人填写的征求意见信息 -// object.put("currentUserId",delegateTask.getAssignee()); -// object.put("prcId",delegateTask.getProcessInstanceId()); -// policySolicitOpinionEOService.batchInsert(object); + // 保存责任人对接人修改的数据信息 + // departmentType字段: value: undertaking 事业部 productPlanning 产品规划部 + String departmentType = jsonForm.getString("departmentType"); + if (StringUtils.equals(departmentType,"undertaking") && jsonForm.containsKey("sybDataList")) { + JSONArray sybDataListArr = jsonForm.getJSONArray("sybDataList"); + List zchgxxmscSybDataEOList = new ArrayList<>(); + ZchgxxmscSybDataEO zchgxxmscSybDataEO = null; + for (Object sybData : sybDataListArr) { + zchgxxmscSybDataEO = JSONObject.parseObject(JSONObject.toJSONString(sybData),ZchgxxmscSybDataEO.class); + zchgxxmscSybDataEO.setModifyTime(new Date()); + zchgxxmscSybDataEOList.add(zchgxxmscSybDataEO); + } + zchgxxmscSybDataEOService.updateBatchById(zchgxxmscSybDataEOList); + } else if (StringUtils.equals(departmentType,"productPlanning")) { + + } // 存储当前节点意见 BusProcessNew busProcessNew = new BusProcessNew(); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java index 47c21d04..9faa0407 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess12After.java @@ -54,7 +54,7 @@ public class PolicySolicitOpinionProcess12After implements TaskListener { delegateTask.setVariable("hqrUserIdList", nextUserList); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java index 9113ced4..ae6be652 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess13After.java @@ -37,7 +37,7 @@ public class PolicySolicitOpinionProcess13After implements TaskListener { int hqrUserPassCount = (int) delegateTask.getVariable("hqrUserPassCount"); delegateTask.setVariable("hqrUserPassCount", hqrUserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java index 04483745..789af733 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess14After.java @@ -32,7 +32,7 @@ public class PolicySolicitOpinionProcess14After implements TaskListener { int sdr2UserPassCount = (int) delegateTask.getVariable("sdr2UserPassCount"); delegateTask.setVariable("sdr2UserPassCount", sdr2UserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java index 263a29ef..e17484c9 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess16After.java @@ -35,7 +35,7 @@ public class PolicySolicitOpinionProcess16After implements TaskListener { boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java index 4747dc24..2b859f16 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess2After.java @@ -38,7 +38,7 @@ public class PolicySolicitOpinionProcess2After implements TaskListener { delegateTask.setVariable("shr1UserPassCount", shr1UserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java index 50d8c691..7d0e63a8 100644 --- a/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java +++ b/src/main/java/com/ydw/bat/wkflow/listener/policySolicitOpinionProcess/PolicySolicitOpinionProcess4After.java @@ -34,7 +34,7 @@ public class PolicySolicitOpinionProcess4After implements TaskListener { delegateTask.setVariable("sdr1UserPassCount", sdr1UserPassCount + 1); boolean existTaskFlag = taskTodoService.whetherExistTaskByTaskDefinitionKey( - delegateTask.getProcessDefinitionId(), + delegateTask.getProcessInstanceId(), delegateTask.getTaskDefinitionKey(), delegateTask.getId() ); diff --git a/src/main/resources/mapper/datas/ZchgxxmscSybDataEOMapper.xml b/src/main/resources/mapper/datas/ZchgxxmscSybDataEOMapper.xml new file mode 100644 index 00000000..e0a899f9 --- /dev/null +++ b/src/main/resources/mapper/datas/ZchgxxmscSybDataEOMapper.xml @@ -0,0 +1,5 @@ + + + + +