Showing
1 changed file
with
15 additions
and
41 deletions
xingyun-sc/src/main/java/com/lframework/xingyun/sc/impl/customer/CustomerDevelopPlanServiceImpl.java
| @@ -10,10 +10,10 @@ import com.lframework.starter.bpm.enums.FlowDefinitionExtBizType; | @@ -10,10 +10,10 @@ import com.lframework.starter.bpm.enums.FlowDefinitionExtBizType; | ||
| 10 | import com.lframework.starter.bpm.enums.FlowDefinitionIsPublish; | 10 | import com.lframework.starter.bpm.enums.FlowDefinitionIsPublish; |
| 11 | import com.lframework.starter.bpm.mappers.FlowTaskWrapperMapper; | 11 | import com.lframework.starter.bpm.mappers.FlowTaskWrapperMapper; |
| 12 | import com.lframework.starter.bpm.service.FlowDefinitionWrapperService; | 12 | import com.lframework.starter.bpm.service.FlowDefinitionWrapperService; |
| 13 | +import com.lframework.starter.bpm.service.FlowInstanceWrapperService; | ||
| 13 | import com.lframework.starter.bpm.vo.flow.task.QueryTodoTaskListVo; | 14 | import com.lframework.starter.bpm.vo.flow.task.QueryTodoTaskListVo; |
| 14 | import com.lframework.starter.web.core.components.security.SecurityUtil; | 15 | import com.lframework.starter.web.core.components.security.SecurityUtil; |
| 15 | import com.lframework.starter.web.core.utils.*; | 16 | import com.lframework.starter.web.core.utils.*; |
| 16 | -import com.lframework.xingyun.sc.bo.customer.develop.GetCustomerDevelopPlanBo; | ||
| 17 | import com.lframework.xingyun.sc.entity.CustomerDevelopPlan; | 17 | import com.lframework.xingyun.sc.entity.CustomerDevelopPlan; |
| 18 | import com.lframework.starter.web.core.impl.BaseMpServiceImpl; | 18 | import com.lframework.starter.web.core.impl.BaseMpServiceImpl; |
| 19 | import com.lframework.starter.web.core.components.resp.PageResult; | 19 | import com.lframework.starter.web.core.components.resp.PageResult; |
| @@ -46,7 +46,7 @@ import java.util.stream.Collectors; | @@ -46,7 +46,7 @@ import java.util.stream.Collectors; | ||
| 46 | public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDevelopPlanMapper, CustomerDevelopPlan> implements CustomerDevelopPlanService { | 46 | public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDevelopPlanMapper, CustomerDevelopPlan> implements CustomerDevelopPlanService { |
| 47 | 47 | ||
| 48 | 48 | ||
| 49 | - private static final String BPM_FLAG = "CustomerDevelop"; | 49 | + private static final String BPM_FLAG = "CUSTOMER_DEVELOP"; |
| 50 | 50 | ||
| 51 | 51 | ||
| 52 | @Resource | 52 | @Resource |
| @@ -55,6 +55,8 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe | @@ -55,6 +55,8 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe | ||
| 55 | private InsService insService; | 55 | private InsService insService; |
| 56 | @Resource | 56 | @Resource |
| 57 | private FlowTaskWrapperMapper flowTaskWrapperMapper; | 57 | private FlowTaskWrapperMapper flowTaskWrapperMapper; |
| 58 | + @Resource | ||
| 59 | + private FlowInstanceWrapperService flowInstanceWrapperService; | ||
| 58 | 60 | ||
| 59 | 61 | ||
| 60 | 62 | ||
| @@ -82,18 +84,17 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe | @@ -82,18 +84,17 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe | ||
| 82 | workshopNameList.add("紫铜分厂"); | 84 | workshopNameList.add("紫铜分厂"); |
| 83 | vo.setWorkshopNames(workshopNameList); | 85 | vo.setWorkshopNames(workshopNameList); |
| 84 | } | 86 | } |
| 85 | - List<String> ids = new ArrayList<>(); | ||
| 86 | // 待办类型 | 87 | // 待办类型 |
| 87 | String todoType = vo.getTodoType(); | 88 | String todoType = vo.getTodoType(); |
| 88 | if ("COMPLETED".equals(todoType)) { | 89 | if ("COMPLETED".equals(todoType)) { |
| 89 | - | 90 | + vo.setStatus(CustomerDevelopStatus.PASS.getCode()); |
| 90 | } else if ("WAIT".equals(todoType)) { | 91 | } else if ("WAIT".equals(todoType)) { |
| 91 | // 获取当前人员的待办任务数据 | 92 | // 获取当前人员的待办任务数据 |
| 92 | List<FlowTaskDto> flowTaskList = flowTaskWrapperMapper.queryTodoList(new QueryTodoTaskListVo(), SecurityUtil.getCurrentUser().getId()); | 93 | List<FlowTaskDto> flowTaskList = flowTaskWrapperMapper.queryTodoList(new QueryTodoTaskListVo(), SecurityUtil.getCurrentUser().getId()); |
| 93 | if (CollectionUtils.isEmpty(flowTaskList)) { | 94 | if (CollectionUtils.isEmpty(flowTaskList)) { |
| 94 | return PageResultUtil.convert(new PageInfo<>()); | 95 | return PageResultUtil.convert(new PageInfo<>()); |
| 95 | } | 96 | } |
| 96 | - ids = flowTaskList.stream().map(FlowTaskDto::getBusinessId).collect(Collectors.toList()); | 97 | + List<String> ids = flowTaskList.stream().map(FlowTaskDto::getBusinessId).collect(Collectors.toList()); |
| 97 | vo.setIds(ids); | 98 | vo.setIds(ids); |
| 98 | } | 99 | } |
| 99 | PageHelperUtil.startPage(pageIndex, pageSize); | 100 | PageHelperUtil.startPage(pageIndex, pageSize); |
| @@ -178,16 +179,7 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe | @@ -178,16 +179,7 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe | ||
| 178 | } | 179 | } |
| 179 | data.setChargeUserId(vo.getChargeUserId()); | 180 | data.setChargeUserId(vo.getChargeUserId()); |
| 180 | // 流程处理 | 181 | // 流程处理 |
| 181 | - FlowDefinitionWrapper flowDefinitionWrapper = flowDefinitionWrapperService.getBaseMapper().selectOne( | ||
| 182 | - Wrappers.<FlowDefinitionWrapper>query() | ||
| 183 | - .eq("mode", "CUSTOMER_DEVELOP") | ||
| 184 | - .eq("is_publish", FlowDefinitionIsPublish.Y.getCode()) | ||
| 185 | - .select("id", "flow_code") | ||
| 186 | - ); | ||
| 187 | - if (flowDefinitionWrapper == null) { | ||
| 188 | - throw new DefaultClientException("客户开发未设计审核流程或流程未发布!"); | ||
| 189 | - } | ||
| 190 | - Instance instance = this.startCustomerDevelopInstance(flowDefinitionWrapper.getFlowCode(), id); | 182 | + Instance instance = flowInstanceWrapperService.startInstance("CUSTOMER_DEVELOP", id, BPM_FLAG, data); |
| 191 | data.setFlowInstanceId(instance.getId()); | 183 | data.setFlowInstanceId(instance.getId()); |
| 192 | 184 | ||
| 193 | getBaseMapper().insert(data); | 185 | getBaseMapper().insert(data); |
| @@ -205,6 +197,13 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe | @@ -205,6 +197,13 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe | ||
| 205 | if (ObjectUtil.isNull(data)) { | 197 | if (ObjectUtil.isNull(data)) { |
| 206 | throw new DefaultClientException("客户开发计划不存在!"); | 198 | throw new DefaultClientException("客户开发计划不存在!"); |
| 207 | } | 199 | } |
| 200 | + CustomerDevelopStatus status = data.getStatus(); | ||
| 201 | + if (!CustomerDevelopStatus.REFUSE.equals(status)) { | ||
| 202 | + throw new DefaultClientException("仅驳回状态下可编辑!"); | ||
| 203 | + } | ||
| 204 | + // 重新发起流程 | ||
| 205 | + Instance instance = flowInstanceWrapperService.startInstance("CUSTOMER_DEVELOP", vo.getId(), BPM_FLAG, vo); | ||
| 206 | + | ||
| 208 | LambdaUpdateWrapper<CustomerDevelopPlan> updateWrapper = Wrappers.lambdaUpdate(CustomerDevelopPlan.class) | 207 | LambdaUpdateWrapper<CustomerDevelopPlan> updateWrapper = Wrappers.lambdaUpdate(CustomerDevelopPlan.class) |
| 209 | .set(CustomerDevelopPlan::getCustomerId, vo.getCustomerId()) | 208 | .set(CustomerDevelopPlan::getCustomerId, vo.getCustomerId()) |
| 210 | .set(CustomerDevelopPlan::getWorkshopId, StringUtil.isBlank(vo.getWorkshopId()) ? null : vo.getWorkshopId()) | 209 | .set(CustomerDevelopPlan::getWorkshopId, StringUtil.isBlank(vo.getWorkshopId()) ? null : vo.getWorkshopId()) |
| @@ -224,6 +223,7 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe | @@ -224,6 +223,7 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe | ||
| 224 | .set(CustomerDevelopPlan::getSettleDays, vo.getSettleDays() == null ? null : vo.getSettleDays()) | 223 | .set(CustomerDevelopPlan::getSettleDays, vo.getSettleDays() == null ? null : vo.getSettleDays()) |
| 225 | .set(CustomerDevelopPlan::getChargeUserId, vo.getChargeUserId()) | 224 | .set(CustomerDevelopPlan::getChargeUserId, vo.getChargeUserId()) |
| 226 | .set(CustomerDevelopPlan::getStatus, CustomerDevelopStatus.AUDIT) | 225 | .set(CustomerDevelopPlan::getStatus, CustomerDevelopStatus.AUDIT) |
| 226 | + .set(CustomerDevelopPlan::getFlowInstanceId, instance.getId()) | ||
| 227 | .eq(CustomerDevelopPlan::getId, vo.getId()); | 227 | .eq(CustomerDevelopPlan::getId, vo.getId()); |
| 228 | getBaseMapper().update(updateWrapper); | 228 | getBaseMapper().update(updateWrapper); |
| 229 | 229 | ||
| @@ -250,30 +250,4 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe | @@ -250,30 +250,4 @@ public class CustomerDevelopPlanServiceImpl extends BaseMpServiceImpl<CustomerDe | ||
| 250 | .eq(CustomerDevelopPlan::getId, id); | 250 | .eq(CustomerDevelopPlan::getId, id); |
| 251 | getBaseMapper().update(updateWrapper); | 251 | getBaseMapper().update(updateWrapper); |
| 252 | } | 252 | } |
| 253 | - | ||
| 254 | - | ||
| 255 | - /** | ||
| 256 | - * 发起流程实例 | ||
| 257 | - * | ||
| 258 | - * @param processCode 流程code | ||
| 259 | - * @param businessId 业务ID | ||
| 260 | - * @return Instance | ||
| 261 | - */ | ||
| 262 | - public Instance startCustomerDevelopInstance(String processCode, String businessId) { | ||
| 263 | - if (this.getById(businessId) != null) { | ||
| 264 | - throw new DefaultClientException("客户开发已办理完成,无法重新发起!"); | ||
| 265 | - } | ||
| 266 | - FlowParams flowParams = new FlowParams(); | ||
| 267 | - flowParams.flowCode(processCode); | ||
| 268 | - | ||
| 269 | - FlowInstanceExtDto ext = new FlowInstanceExtDto(); | ||
| 270 | - ext.setBizType(FlowDefinitionExtBizType.SYSTEM.getCode()); | ||
| 271 | - ext.setBizFlag(BPM_FLAG); | ||
| 272 | - flowParams.ext(JsonUtil.toJsonString(ext)); | ||
| 273 | - // 需要传入表单变量 | ||
| 274 | - GetCustomerDevelopPlanBo detail = new GetCustomerDevelopPlanBo(this.findById(businessId)); | ||
| 275 | - flowParams.variable(JsonUtil.parseMap(JsonUtil.toJsonString(detail), String.class, Object.class)); | ||
| 276 | - | ||
| 277 | - return insService.start(businessId, flowParams); | ||
| 278 | - } | ||
| 279 | } | 253 | } |