Selaa lähdekoodia

一键生成电子方案修改

wangfeng 3 vuotta sitten
vanhempi
commit
ecbd8f6e8b

+ 20 - 1
cdssman-service/src/main/java/com/diagbot/facade/PlanDefaultFacade.java

@@ -124,7 +124,7 @@ public class PlanDefaultFacade {
                             List<PlanDetailDTO> planDetails = dataDetail.getPlanDetails();
                             if (ListUtil.isNotEmpty(planDetails)) {
                                 for (PlanDetailDTO detail : planDetails) {
-                                    //再保存子类
+                                    //再保存2层子类
                                     PlanDetail planDetailSub = new PlanDetail();
                                     planDetailSub.setParentId(parentIdSub);
                                     planDetailSub.setPlanId(planIdDetail);
@@ -135,6 +135,25 @@ public class PlanDefaultFacade {
                                     planDetailSub.setOrderNo(detail.getOrderNo());
                                     planDetailSub.setNumber(detail.getNumber());
                                     res = planDetailFacade.save(planDetailSub);
+                                    if (res) {
+                                        Long parentIdSub3 = planDetailSub.getId();
+                                        List<PlanDetailDTO> planDetails3 = detail.getPlanDetails();
+                                        if (ListUtil.isNotEmpty(planDetails3)) {
+                                            for (PlanDetailDTO data3 : planDetails3) {
+                                                //再保存3层子类
+                                                PlanDetail planDetail3 = new PlanDetail();
+                                                planDetail3.setParentId(parentIdSub3);
+                                                planDetail3.setPlanId(planIdDetail);
+                                                planDetail3.setName(data3.getName());
+                                                planDetail3.setCode(data3.getCode());
+                                                planDetail3.setHospitalId(planDefaultVO.getHospitalId());
+                                                planDetail3.setStatus(data3.getStatus());
+                                                planDetail3.setOrderNo(data3.getOrderNo());
+                                                planDetail3.setNumber(data3.getNumber());
+                                                res = planDetailFacade.save(planDetail3);
+                                            }
+                                        }
+                                    }
                                 }
                             }
                         }

+ 7 - 18
cdssman-service/src/main/java/com/diagbot/facade/PlanFacade.java

@@ -166,29 +166,18 @@ public class PlanFacade extends PlanServiceImpl {
             // 获取明细信息
             List<PlanDetailDTO> PlanDetailDatas = planDetailFacade.getByPlanIds(ids);
             List<PlanDetailDTO> sysSetInfoData = BeanUtil.listCopyTo(PlanDetailDatas, PlanDetailDTO.class);
-            List<PlanDetailDTO> planDetailParent = new ArrayList<>();//父级数据
-            List<PlanDetailDTO> planDetailSub = new ArrayList<>();//子级数据
-            //分离数据,-1分父级菜单
-            for (PlanDetailDTO dataDeta : sysSetInfoData) {
-                if (dataDeta.getParentId() == (-1)) {
-                    planDetailParent.add(dataDeta);
-                } else {
-                    planDetailSub.add(dataDeta);
-                }
-            }
-            //把子级数据,放在父级下
-            Map<Long, List<PlanDetailDTO>> mapParentId = planDetailSub.stream().collect(Collectors.groupingBy(PlanDetailDTO::getParentId));
-            for (Long key : mapParentId.keySet()) {
-                for (PlanDetailDTO sysPlanInfos : planDetailParent) {
-                    if (sysPlanInfos.getId().equals(key)) {
-                        sysPlanInfos.setPlanDetails(mapParentId.get(key));
-                    }
+            //添加菜单信息
+            Map<Long, List<PlanDetailDTO>> menuMap = EntityUtil.makeEntityListMap(sysSetInfoData, "parentId");
+            List<PlanDetailDTO> menuRes = menuMap.get(-1L);
+            if (ListUtil.isNotEmpty(menuRes)) {
+                for (PlanDetailDTO bean : menuRes) {
+                    planDetailFacade.getSonMenu(bean, menuMap);
                 }
             }
 
             Map<Long, List<PlanDetailDTO>> map = new HashMap<>();
             // 获取所有用户开通的产品信息
-            map = EntityUtil.makeEntityListMap(planDetailParent, "planId");
+            map = EntityUtil.makeEntityListMap(menuRes, "planId");
             if (map.size() > 0) {
                 for (PlanInfoPagesDTO planInfo : planInfos) {
                     List<PlanDetailDTO> planDetails = map.get(planInfo.getId());