From 06a482f820e31bc20479b776a1b362191cbbe3ae Mon Sep 17 00:00:00 2001 From: wxj334 <2241669945@qq.com> Date: Wed, 16 Feb 2022 18:17:00 +0800 Subject: [PATCH] 111 --- .../api/IProjectPlanController.java | 9 ++ .../dto/cmd/ControlListCmd.java | 7 + .../dto/cmd/SapTemplateCmd.java | 1 - .../dbprojectplanmanage/dto/out/SapOut.java | 6 + .../command/projectPlan/IProjectPlanSvr.java | 10 +- .../projectPlan/ProjectPlanSvrImpl.java | 121 ++++++++++++------ .../IProjectPlanRepository.java | 2 +- .../IProjectPlanRepositoryImpl.java | 14 +- .../controller/ProjectPlanController.java | 6 + 9 files changed, 132 insertions(+), 44 deletions(-) diff --git a/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/api/IProjectPlanController.java b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/api/IProjectPlanController.java index ddf9771..42f7476 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/api/IProjectPlanController.java +++ b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/api/IProjectPlanController.java @@ -155,4 +155,13 @@ public interface IProjectPlanController { @PostMapping(path = "getSAPTemplate") Result<SapOut> getSAPTemplate(SapTemplateCmd sapTemplateCmd); + /** + * 閫氳繃id鑾峰彇saptemplate + * + * @param id id + * @return {@link SapOut} + */ + @PostMapping(path = "getSAPTemplateById") + Result<SapOut> getSAPTemplateById(Long id); + } diff --git a/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/cmd/ControlListCmd.java b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/cmd/ControlListCmd.java index e560571..d4b25a0 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/cmd/ControlListCmd.java +++ b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/cmd/ControlListCmd.java @@ -54,5 +54,12 @@ public class ControlListCmd extends BaseDTO { @NotNull(message = "棰濆害id涓嶈兘涓虹┖") private String controlId; + /** + * 妯″瀷浠g爜 + */ + @ApiModelProperty(name = "妯℃澘缂栫爜", example = "22") + @NotNull(message = "妯℃澘缂栫爜涓嶈兘涓虹┖") + private String modelCode; + } diff --git a/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/cmd/SapTemplateCmd.java b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/cmd/SapTemplateCmd.java index f20b198..fe8464d 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/cmd/SapTemplateCmd.java +++ b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/cmd/SapTemplateCmd.java @@ -29,7 +29,6 @@ public class SapTemplateCmd extends BaseDTO { * 缂栧彿 */ @ApiModelProperty(name = "缂栧彿", example = "") - @NotNull(message = "缂栧彿涓嶈兘涓虹┖") private String code; } diff --git a/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/out/SapOut.java b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/out/SapOut.java index 641f14f..3c4b8ab 100644 --- a/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/out/SapOut.java +++ b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/out/SapOut.java @@ -29,4 +29,10 @@ public class SapOut extends BaseDTO { @ApiModelProperty(name = "sap妯℃澘", example = "") private List<SapQuotaOut> sapQuotaOuts; + /** + * 妯″瀷浠g爜 + */ + @ApiModelProperty(name = "妯℃澘缂栫爜", example = "") + private String ModelCode; + } diff --git a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/application/command/projectPlan/IProjectPlanSvr.java b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/application/command/projectPlan/IProjectPlanSvr.java index 15940ae..2b8ee1a 100644 --- a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/application/command/projectPlan/IProjectPlanSvr.java +++ b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/application/command/projectPlan/IProjectPlanSvr.java @@ -97,6 +97,14 @@ public interface IProjectPlanSvr { * @param sapTemplateCmd sap妯℃澘cmd * @return {@link List}<{@link SapOut}> */ - List<SapOut> getSAPTemplate(SapTemplateCmd sapTemplateCmd); + SapOut getSAPTemplate(SapTemplateCmd sapTemplateCmd); + + /** + * 閫氳繃id鑾峰彇saptemplate + * + * @param id id + * @return {@link SapOut} + */ + SapOut getSAPTemplateById(Long id); } diff --git a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/application/command/projectPlan/ProjectPlanSvrImpl.java b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/application/command/projectPlan/ProjectPlanSvrImpl.java index 989fb12..b561fc0 100644 --- a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/application/command/projectPlan/ProjectPlanSvrImpl.java +++ b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/application/command/projectPlan/ProjectPlanSvrImpl.java @@ -326,7 +326,7 @@ public class ProjectPlanSvrImpl implements IProjectPlanSvr { } //淇敼缂栧埗涔︿腑鐨勬帶鍒堕」 - iProjectPlanRepository.saveControl(controlVos1, id); + iProjectPlanRepository.saveControl(controlVos1, id, controlListCmd.get(0).getModelCode()); } @@ -433,7 +433,7 @@ public class ProjectPlanSvrImpl implements IProjectPlanSvr { * @return {@link List}<{@link SapOut}> */ @Override - public List<SapOut> getSAPTemplate(SapTemplateCmd sapTemplateCmd) { + public SapOut getSAPTemplate(SapTemplateCmd sapTemplateCmd) { List<PlanSubjectPo> planSubjectPos = iProjectPlanRepository.getPlanSubject(sapTemplateCmd.getId()); @@ -441,7 +441,7 @@ public class ProjectPlanSvrImpl implements IProjectPlanSvr { throw new DataAccessException( Error.builder() .responseCode(ResponseCode.DATA_VERIFY_NULL_POINTER) - .message("闈炴硶鐨勭敵鎶ヤ功") + .message("娌℃湁閰嶇疆瀹炴柦鍐呭") .build() ); } @@ -456,6 +456,7 @@ public class ProjectPlanSvrImpl implements IProjectPlanSvr { } List<SapQuotaOut> sapQuotaOuts = new ArrayList<>(); + List<QuotaDo> quota = iProjectPlanRepository.getQuota(sapTemplateCmd.getCode()); if (ObjectUtil.isEmpty(quota)) { @@ -467,55 +468,97 @@ public class ProjectPlanSvrImpl implements IProjectPlanSvr { ); } - List<ControlPo> control = iProjectPlanRepository.getControl(sapTemplateCmd.getId()); - if (ObjectUtils.isEmpty(control)) { - for (SapPlanSubjectOut sapPlanSubjectOut : sapPlanSubjectOuts) { - - Optional<QuotaDo> first = quota.stream().filter(s -> s.getName().contains(sapPlanSubjectOut.getName())).findFirst(); - - if (ObjectUtils.isEmpty(first)) { - SapQuotaOut sapQuotaOut = new SapQuotaOut( - "", - "", - sapPlanSubjectOut.getSubtotal() - ); - sapQuotaOut.setId(sapPlanSubjectOut.getId()); - sapQuotaOuts.add(sapQuotaOut); - }else { - SapQuotaOut sapQuotaOut = new SapQuotaOut( - first.get().getName(), - first.get().getCode(), - sapPlanSubjectOut.getSubtotal() - ); - sapQuotaOut.setId(sapPlanSubjectOut.getId()); - sapQuotaOuts.add(sapQuotaOut); - } + for (SapPlanSubjectOut sapPlanSubjectOut : sapPlanSubjectOuts) { - } - } else { - for (ControlPo controlPo : control) { + Optional<QuotaDo> first = quota.stream().filter(s -> s.getName().contains(sapPlanSubjectOut.getName())).findFirst(); + + if (ObjectUtils.isEmpty(first)) { SapQuotaOut sapQuotaOut = new SapQuotaOut( - controlPo.getControlName(), - controlPo.getControlCode(), - controlPo.getTotalMoney() + "", + "", + sapPlanSubjectOut.getSubtotal() ); - sapQuotaOut.setId(Long.valueOf(controlPo.getControlId())); + sapQuotaOut.setId(sapPlanSubjectOut.getId()); + sapQuotaOuts.add(sapQuotaOut); + }else { + SapQuotaOut sapQuotaOut = new SapQuotaOut( + first.get().getName(), + first.get().getCode(), + sapPlanSubjectOut.getSubtotal() + ); + sapQuotaOut.setId(sapPlanSubjectOut.getId()); sapQuotaOuts.add(sapQuotaOut); - } - } - ArrayList<SapOut> sapOuts = new ArrayList<>(); + String modelCode = sapTemplateCmd.getCode(); + SapOut sapOut = new SapOut( sapPlanSubjectOuts, - sapQuotaOuts + sapQuotaOuts, + modelCode ); - sapOuts.add(sapOut); - return sapOuts; + return sapOut; } + /** + * 閫氳繃id鑾峰彇saptemplate + * + * @param id id + * @return {@link SapOut} + */ + @Override + public SapOut getSAPTemplateById(Long id) { + + List<PlanSubjectPo> planSubjectPos = iProjectPlanRepository.getPlanSubject(id); + + if (ObjectUtil.isEmpty(planSubjectPos)) { + throw new DataAccessException( + Error.builder() + .responseCode(ResponseCode.DATA_VERIFY_NULL_POINTER) + .message("娌℃湁閰嶇疆瀹炴柦鍐呭") + .build() + ); + } + List<SapPlanSubjectOut> sapPlanSubjectOuts = new ArrayList<>(); + for (PlanSubjectPo planSubjectPo : planSubjectPos) { + SapPlanSubjectOut sapPlanSubjectOut = new SapPlanSubjectOut( + planSubjectPo.getName(), + planSubjectPo.getSubtotal() + ); + sapPlanSubjectOut.setId(planSubjectPo.getId()); + sapPlanSubjectOuts.add(sapPlanSubjectOut); + } + + ArrayList<SapQuotaOut> sapQuotaOuts = new ArrayList<>(); + List<ControlPo> control = iProjectPlanRepository.getControl(id); + + for (ControlPo controlPo : control) { + SapQuotaOut sapQuotaOut = new SapQuotaOut( + controlPo.getControlName(), + controlPo.getControlCode(), + controlPo.getTotalMoney() + ); + sapQuotaOut.setId(Long.valueOf(controlPo.getControlId())); + sapQuotaOuts.add(sapQuotaOut); + + } + String modelCode = ""; + ProjectPlanAgg projectPlanAgg = iProjectPlanRepository.queryProjectPlan(id); + if (!ObjectUtils.isEmpty(projectPlanAgg)) { + modelCode = projectPlanAgg.getModelCode(); + } + + SapOut sapOut = new SapOut( + sapPlanSubjectOuts, + sapQuotaOuts, + modelCode + ); + + return sapOut; + + } } diff --git a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/domain/aggregate/projectPlanAggregate/IProjectPlanRepository.java b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/domain/aggregate/projectPlanAggregate/IProjectPlanRepository.java index 87be0a7..bc95bd7 100644 --- a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/domain/aggregate/projectPlanAggregate/IProjectPlanRepository.java +++ b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/domain/aggregate/projectPlanAggregate/IProjectPlanRepository.java @@ -52,7 +52,7 @@ public interface IProjectPlanRepository { * @param id 椤圭洰璁″垝gg * @return {@link ControlVo} */ - void saveControl(List<ControlVo> controlVo, Long id); + void saveControl(List<ControlVo> controlVo, Long id, String modelCode); /** diff --git a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/repository/test/projectPlan/IProjectPlanRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/repository/test/projectPlan/IProjectPlanRepositoryImpl.java index 2bfb2f4..8819474 100644 --- a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/repository/test/projectPlan/IProjectPlanRepositoryImpl.java +++ b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/repository/test/projectPlan/IProjectPlanRepositoryImpl.java @@ -137,7 +137,7 @@ public class IProjectPlanRepositoryImpl extends AbstractService<ProjectPlanPo, I HashMap<String, Object> control = new HashMap<>(1); control.put("parentId", id); IControlMapper.deleteByMap(control); - + IProjectPlanMapper.deleteById(id); } @@ -180,7 +180,7 @@ public class IProjectPlanRepositoryImpl extends AbstractService<ProjectPlanPo, I */ @Override @Transactional(rollbackFor = Exception.class) - public void saveControl(List<ControlVo> controlVo, Long id) { + public void saveControl(List<ControlVo> controlVo, Long id, String modelCode) { Map<String, Object> control = new HashMap<>(1); control.put("parentId", id); @@ -191,6 +191,10 @@ public class IProjectPlanRepositoryImpl extends AbstractService<ProjectPlanPo, I for (ControlPo controlPo : controlPos) { IControlMapper.insert(controlPo); } + ProjectPlanPo projectPlanPo = new ProjectPlanPo(); + projectPlanPo.setId(id); + projectPlanPo.setModelCode(modelCode); + IProjectPlanMapper.updateById(projectPlanPo); } @@ -240,6 +244,12 @@ public class IProjectPlanRepositoryImpl extends AbstractService<ProjectPlanPo, I return planSubjectPos; } + /** + * 寰楀埌鎺у埗 + * + * @param id id + * @return {@link List}<{@link ControlPo}> + */ @Override public List<ControlPo> getControl(Long id) { diff --git a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/interfaces/controller/ProjectPlanController.java b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/interfaces/controller/ProjectPlanController.java index 562b4b4..6fd3d9e 100644 --- a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/interfaces/controller/ProjectPlanController.java +++ b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/interfaces/controller/ProjectPlanController.java @@ -214,5 +214,11 @@ public class ProjectPlanController extends BaseController implements IProjectPla return ok(ResponseCode.SUCCESS, IProjectPlanSvr.getSAPTemplate(sapTemplateCmd)); } + @Override + @ApiOperation("鑾峰彇SAP鍘嗗彶璁板綍") + public Result<SapOut> getSAPTemplateById(Long id) { + return ok(ResponseCode.SUCCESS, IProjectPlanSvr.getSAPTemplateById(id)); + } + } -- GitLab