wangfeng 4 år sedan
förälder
incheckning
03404d57f1

+ 34 - 39
src/main/java/com/diagbot/facade/KlDiagnoseFacade.java

@@ -10,12 +10,10 @@ import com.diagbot.dto.KlDiagnoseTypeDTO;
 import com.diagbot.entity.KlDiagnose;
 import com.diagbot.entity.KlDiagnoseBase;
 import com.diagbot.entity.KlDiagnoseCondition;
-import com.diagbot.entity.wrapper.KlDiagnoseBaseWrapper;
 import com.diagbot.enums.IsDeleteEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.KlDiagnoseServiceImpl;
-import com.diagbot.util.BeanUtil;
 import com.diagbot.util.DateUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.StringUtil;
@@ -105,19 +103,17 @@ public class KlDiagnoseFacade extends KlDiagnoseServiceImpl {
         List<Long> baseId = new ArrayList<>();
         if (ListUtil.isNotEmpty(diagnoseConditionList)) {
             for (KlDiagnoseCondition data : diagnoseConditionList) {
-                if (null != data.getId()) {
-                    baseId.add(data.getId());
+                if (null != data.getDiagnoseBaseId() & 0 != data.getDiagnoseBaseId()) {
+                    baseId.add(data.getDiagnoseBaseId());
                 }
             }
         }
         if (ListUtil.isNotEmpty(baseId)) {
-            QueryWrapper<KlDiagnoseBase> klDiagnoseBaseQuery = new QueryWrapper<>();
-            klDiagnoseBaseQuery.eq("is_deleted", IsDeleteEnum.N.getKey()).in("id", baseId);
-            //删除kl_rule_base表数据
-            res = klDiagnoseBaseFacade.remove(klDiagnoseBaseQuery);
+            //删除kl_diagnose_base表数据
+            res = klDiagnoseBaseFacade.removeByIds(baseId);
 
         }
-        //删除kl_rule_condition表的数据
+        //删除kl_diagnose_condition表的数据
         res = klDiagnoseConditionFacade.remove(klDiagnoseConditionQuery);
         return res;
     }
@@ -172,8 +168,24 @@ public class KlDiagnoseFacade extends KlDiagnoseServiceImpl {
                 res = saveCommon(klDiagnoseSaveVO);
             }
 
+        } else {
+            //先保存主表rule
+            KlDiagnose klDiagnose = new KlDiagnose();
+            klDiagnose.setConceptId(klDiagnoseSaveVO.getConceptId());
+            klDiagnose.setDescription(klDiagnoseSaveVO.getDescription());
+            klDiagnose.setStatus(1);
+            klDiagnose.setModifier(klDiagnoseSaveVO.getModifier());
+            klDiagnose.setCreator(klDiagnoseSaveVO.getModifier());
+            klDiagnose.setGmtCreate(now);
+            klDiagnose.setGmtModified(now);
+            res = this.save(klDiagnose);
+            if (res) {
+                //再保存附表
+                klDiagnoseSaveVO.setId(klDiagnose.getId());
+                res = saveCommon(klDiagnoseSaveVO);
+            }
         }
-        return null;
+        return res;
 
     }
 
@@ -207,24 +219,20 @@ public class KlDiagnoseFacade extends KlDiagnoseServiceImpl {
         Date now = DateUtil.now();
         boolean res = false;
         List<KlDiagnoseTypeVO> klDiagnoseTypeVO = klDiagnoseSaveVO.getKlDiagnoseTypeVO();
-        List<KlDiagnoseCondition> klDiagnoseConditionList = new ArrayList<>();
-        List<KlDiagnoseBaseWrapper> klDiagnoseBaseListWrapper = new ArrayList<>();
-        List<KlDiagnoseBase> klDiagnoseBaseList = new ArrayList<>();
         for (KlDiagnoseTypeVO data : klDiagnoseTypeVO) {
             KlDiagnoseCondition klDiagnoseCondition = new KlDiagnoseCondition();
             klDiagnoseCondition.setConditionType(data.getConditionType());//取出诊断的类型,2拟诊,3 确诊
             List<KlDiagnoseGroupVO> groupVO = data.getGroupVO();
             for (KlDiagnoseGroupVO data2 : groupVO) {
+                klDiagnoseCondition.setDiagnoseId(klDiagnoseSaveVO.getId());
                 klDiagnoseCondition.setBaseGroup(data2.getBaseGroup());//
                 klDiagnoseCondition.setConditionGroup(data2.getConditionGroup());
                 klDiagnoseCondition.setFitNo(data2.getFitNo());
-                klDiagnoseConditionList.add(klDiagnoseCondition);
+                klDiagnoseConditionFacade.save(klDiagnoseCondition);
                 //明细
                 List<KlDiagnoseDetailVO> klDiagnoseDetail = data2.getKlDiagnoseDetail();
                 for (KlDiagnoseDetailVO detailVO : klDiagnoseDetail) {
-                    KlDiagnoseBaseWrapper klDiagnoseBaseWrapper = new KlDiagnoseBaseWrapper();
                     KlDiagnoseBase klDiagnoseBase = new KlDiagnoseBase();
-                    klDiagnoseBaseWrapper.setBaseGroup(data2.getBaseGroup());
                     klDiagnoseBase.setGmtModified(now);
                     klDiagnoseBase.setConceptId(detailVO.getConceptId());
                     klDiagnoseBase.setType(detailVO.getBasType());
@@ -239,34 +247,21 @@ public class KlDiagnoseFacade extends KlDiagnoseServiceImpl {
                     klDiagnoseBase.setEqValue(detailVO.getEqValue());
                     klDiagnoseBase.setEqOperator(detailVO.getEqOperator());
                     klDiagnoseBase.setEqUnit(detailVO.getEqUnit());
-                    BeanUtil.copyProperties(klDiagnoseBase, klDiagnoseBaseWrapper);
-                    klDiagnoseBaseList.add(klDiagnoseBase);
-                    klDiagnoseBaseListWrapper.add(klDiagnoseBaseWrapper);
-                }
-
-            }
-
-        }
-
-        res = klDiagnoseBaseFacade.saveBatch(klDiagnoseBaseList);
-        if (res) {
-            for (KlDiagnoseBase base : klDiagnoseBaseList) {
-                for (KlDiagnoseBaseWrapper baseWrapper : klDiagnoseBaseListWrapper) {
-                    if (baseWrapper.getDescription().equals(base.getDescription())) {
-                        KlDiagnoseCondition klDiagnoseCondition = new KlDiagnoseCondition();
-                        //TODO
-                        klDiagnoseCondition.setDiagnoseBaseId(base.getId());
-                        klDiagnoseCondition.setBaseGroup(baseWrapper.getBaseGroup());
-                        klDiagnoseCondition.setConditionType(1);
-                        klDiagnoseCondition.setDiagnoseId(klDiagnoseSaveVO.getId());
-                        klDiagnoseConditionList.add(klDiagnoseCondition);
+                    res = klDiagnoseBaseFacade.save(klDiagnoseBase);
+                    if (res) {
+                        KlDiagnoseCondition klDiagnoseConditionBase = new KlDiagnoseCondition();
+                        klDiagnoseConditionBase.setDiagnoseBaseId(klDiagnoseBase.getId());
+                        klDiagnoseConditionBase.setBaseGroup(data2.getBaseGroup());
+                        klDiagnoseConditionBase.setConditionType(1);
+                        klDiagnoseConditionBase.setDiagnoseId(klDiagnoseSaveVO.getId());
+                        res = klDiagnoseConditionFacade.save(klDiagnoseConditionBase);
                     }
+
                 }
 
             }
-        }
-        res = klDiagnoseConditionFacade.saveBatch(klDiagnoseConditionList);
 
+        }
         return res;
     }
 }

+ 2 - 0
src/main/java/com/diagbot/vo/KlDiagnoseSaveVO.java

@@ -23,6 +23,8 @@ public class KlDiagnoseSaveVO {
      */
     private String description;
 
+    private String modifier;
+
     List<KlDiagnoseTypeVO> klDiagnoseTypeVO;