diff --git a/detection/src/main/java/com/njcn/gather/plan/controller/AdPlanController.java b/detection/src/main/java/com/njcn/gather/plan/controller/AdPlanController.java index b007e49d..4b44f45e 100644 --- a/detection/src/main/java/com/njcn/gather/plan/controller/AdPlanController.java +++ b/detection/src/main/java/com/njcn/gather/plan/controller/AdPlanController.java @@ -291,11 +291,14 @@ public class AdPlanController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @GetMapping("/getBoundStandardDev") @ApiOperation("根据计划ID获取已绑定的标准设备") - @ApiImplicitParam(name = "planId", value = "计划ID", required = true) - public HttpResult> getBoundStandardDev(@RequestParam("planId") String planId) { + @ApiImplicitParams({ + @ApiImplicitParam(name = "planId", value = "计划ID", required = true), + @ApiImplicitParam(name = "all", value = "是否获取所有") + }) + public HttpResult> getBoundStandardDev(@RequestParam("planId") String planId, @RequestParam(name = "all", required = false) Integer all) { String methodDescribe = getMethodDescribe("getUnBoundStandardDev"); - LogUtil.njcnDebug(log, "{},计划ID为:{}", methodDescribe, planId); - List result = adPlanService.getBoundStandardDev(planId); + LogUtil.njcnDebug(log, "{},计划ID为:{},获取所有:{}", methodDescribe, planId, all); + List result = adPlanService.getBoundStandardDev(planId, all); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } diff --git a/detection/src/main/java/com/njcn/gather/plan/service/IAdPlanService.java b/detection/src/main/java/com/njcn/gather/plan/service/IAdPlanService.java index e6a13de0..37d1f78d 100644 --- a/detection/src/main/java/com/njcn/gather/plan/service/IAdPlanService.java +++ b/detection/src/main/java/com/njcn/gather/plan/service/IAdPlanService.java @@ -1,12 +1,10 @@ package com.njcn.gather.plan.service; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.gather.device.pojo.param.PqDevParam; import com.njcn.gather.device.pojo.po.PqStandardDev; import com.njcn.gather.plan.pojo.param.AdPlanParam; import com.njcn.gather.plan.pojo.po.AdPlan; -import com.njcn.gather.plan.pojo.vo.AdPlanExcel; import com.njcn.gather.plan.pojo.vo.AdPlanVO; import org.springframework.web.multipart.MultipartFile; @@ -142,9 +140,10 @@ public interface IAdPlanService extends IService { * 根据计划Id获取已绑定标准设备 * * @param planId + * @param all * @return */ - List getBoundStandardDev(String planId); + List getBoundStandardDev(String planId, Integer all); /** * 修改子计划名称 diff --git a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java index 6944b66e..d22e5c2a 100644 --- a/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java +++ b/detection/src/main/java/com/njcn/gather/plan/service/impl/AdPlanServiceImpl.java @@ -271,8 +271,18 @@ public class AdPlanServiceImpl extends ServiceImpl impleme @Transactional public boolean updateAdPlan(AdPlanParam.UpdateParam param) { param.setName(param.getName().trim()); - this.checkRepeat(param, true, CommonEnum.FATHER_ID.getValue()); AdPlan plan1 = this.getById(param.getId()); + // 更新子计划 + if (StrUtil.isNotEmpty(plan1.getFatherPlanId())) { + this.updateBindStandardDev(param.getId(), param.getStandardDevIds()); + PqDevParam.BindPlanParam bindPlanParam = new PqDevParam.BindPlanParam(); + bindPlanParam.setPlanId(param.getId()); + bindPlanParam.setDevIds(param.getDevIds()); + bindPlanParam.setBindFlag(1); + this.updateBindDev(bindPlanParam); + return true; + } + this.checkRepeat(param, true, CommonEnum.FATHER_ID.getValue()); AdPlan plan2 = new AdPlan(); if (param.getAssociateReport() != null) { @@ -723,8 +733,22 @@ public class AdPlanServiceImpl extends ServiceImpl impleme } @Override - public List getBoundStandardDev(String planId) { - return adPlanStandardDevMapper.listByPlanId(Collections.singletonList(planId)); + public List getBoundStandardDev(String planId, Integer all) { + List planIds = new ArrayList<>(); + if (ObjectUtil.isNotNull(all) && all == 1) { + AdPlan plan = this.getById(planId); + String fatherPlanId = plan.getFatherPlanId(); + if (StrUtil.isNotBlank(fatherPlanId)) { + planIds.add(fatherPlanId); + List childPlanIds = this.lambdaQuery().eq(AdPlan::getFatherPlanId, fatherPlanId).list() + .stream().map(AdPlan::getId).collect(Collectors.toList()); + planIds.addAll(childPlanIds); + } + } else { + planIds.add(planId); + } + + return adPlanStandardDevMapper.listByPlanId(planIds); } @Override