Browse Source

疾病处理

zhangbin 1 year ago
parent
commit
ab135f5834

+ 4 - 0
pom.xml

@@ -284,6 +284,10 @@
                 <enabled>true</enabled>
                 <enabled>true</enabled>
             </releases>
             </releases>
         </repository>
         </repository>
+        <repository>
+            <id>jitpack.io</id>
+            <url>https://jitpack.io</url>
+        </repository>
     </repositories>
     </repositories>
 
 
     <pluginRepositories>
     <pluginRepositories>

+ 1 - 1
xpgx-admin/src/main/java/com/miaxis/app/controller/gan/GanZhiController.java

@@ -86,7 +86,7 @@ public class GanZhiController extends BaseController{
         Map<String,Object> riYuanQrMap = ganZhiService.getRiYuanQr(ganZhiDto);
         Map<String,Object> riYuanQrMap = ganZhiService.getRiYuanQr(ganZhiDto);
         Map<String,Object> numberYunMap = ganZhiService.getNumberYun(riYuanQrMap);
         Map<String,Object> numberYunMap = ganZhiService.getNumberYun(riYuanQrMap);
         Map<String,Object> zaoShiCount = ganZhiService.getZaoShiCount(ganZhiDto);
         Map<String,Object> zaoShiCount = ganZhiService.getZaoShiCount(ganZhiDto);
-        List<DiseasePart> diseasePartList = ganZhiService.getJiBin(ganZhiDto);
+        List<DiseasePart> diseasePartList = ganZhiService.getJiBing(ganZhiDto);
 
 
         GanZhiVo ganZhiVo = new GanZhiVo();
         GanZhiVo ganZhiVo = new GanZhiVo();
         ganZhiVo.setNongDay(lunar.getYear()+"年(生肖"+lunar.getYearShengXiao()+")"+lunar.getMonth()+"月"+lunar.getDay()+"日"+lunar.getTime()+"时");
         ganZhiVo.setNongDay(lunar.getYear()+"年(生肖"+lunar.getYearShengXiao()+")"+lunar.getMonth()+"月"+lunar.getDay()+"日"+lunar.getTime()+"时");

+ 28 - 1
xpgx-admin/src/test/java/com/miaxis/test/TestYear.java

@@ -1,5 +1,6 @@
 package com.miaxis.test;
 package com.miaxis.test;
 
 
+import com.miaxis.common.config.ShiShenConfig;
 import com.miaxis.common.utils.DateUtils;
 import com.miaxis.common.utils.DateUtils;
 import com.nlf.calendar.Lunar;
 import com.nlf.calendar.Lunar;
 
 
@@ -14,9 +15,32 @@ public class TestYear {
             int day = 30;
             int day = 30;
 
 
         // 假设使用 cn.6tail 的 lunar 库来转换日期
         // 假设使用 cn.6tail 的 lunar 库来转换日期
-        Date d1 = DateUtils.parseDate("1988-11-23 17:51:00");
+        Date d1 = DateUtils.parseDate("1998-11-23 17:00:00");
 
 
         Lunar lunar = Lunar.fromDate(d1);
         Lunar lunar = Lunar.fromDate(d1);
+        System.out.println(lunar.toFullString());
+       // System.out.println(lunar.getSolar().toFullString());
+
+        String str = lunar.toFullString();
+        String[] s = str.split(" ");
+        for (int i = 0; i < s.length; i++) {
+            System.out.println(s[i]);
+        }
+
+        System.out.println(ShiShenConfig.fangWei(s[14]));
+        System.out.println(ShiShenConfig.fangWei(s[15]));
+        System.out.println(ShiShenConfig.fangWei(s[16]));
+        System.out.println(ShiShenConfig.fangWei(s[17]));
+        System.out.println(ShiShenConfig.fangWei(s[18]));
+        System.out.println(ShiShenConfig.fangWei(s[20]));
+
+
+
+        if("".equals(lunar.getJieQi())) {
+            System.out.println("节气:"+lunar.getJieQi());
+        }
+        System.out.println("节气:"+lunar.getJieQi());
+
 
 
 
 
         System.out.println("公历:"+lunar.getSolar().getYear()+","+lunar.getSolar().getMonth()+","+lunar.getSolar().getDay()+","+lunar.getSolar().getHour());
         System.out.println("公历:"+lunar.getSolar().getYear()+","+lunar.getSolar().getMonth()+","+lunar.getSolar().getDay()+","+lunar.getSolar().getHour());
@@ -39,5 +63,8 @@ public class TestYear {
 
 
         // 输出结果
         // 输出结果
         System.out.println(ganYear+","+zhiYear+","+ganMonth+","+zhiMonth+","+ganDay+","+zhiDay+","+timeGan+","+timeZhi);
         System.out.println(ganYear+","+zhiYear+","+ganMonth+","+zhiMonth+","+ganDay+","+zhiDay+","+timeGan+","+timeZhi);
+
+
+
     }
     }
 }
 }

+ 1 - 0
xpgx-common/pom.xml

@@ -287,6 +287,7 @@
         </dependency>
         </dependency>
 
 
 
 
+
     </dependencies>
     </dependencies>
 
 
 </project>
 </project>

+ 169 - 1
xpgx-common/src/main/java/com/miaxis/common/config/ShiShenConfig.java

@@ -53,7 +53,6 @@ public class ShiShenConfig {
     //纳音
     //纳音
     private Map<String, String> naYin = new TreeMap<String, String>();
     private Map<String, String> naYin = new TreeMap<String, String>();
 
 
-
     //喜用
     //喜用
     private Map<String, List> xiYong = new TreeMap<String, List>();
     private Map<String, List> xiYong = new TreeMap<String, List>();
 
 
@@ -63,9 +62,19 @@ public class ShiShenConfig {
     //数字文案
     //数字文案
     private Map<String, String> numberWenAn = new TreeMap<String, String>();
     private Map<String, String> numberWenAn = new TreeMap<String, String>();
 
 
+    //五行与身体部位
+    private Map<String, List> fiveBuWei = new TreeMap<String, List>();
+
     //燥湿平衡
     //燥湿平衡
     private Map<String, String> zaoShi = new TreeMap<String, String>();
     private Map<String, String> zaoShi = new TreeMap<String, String>();
 
 
+    //大运六十甲子
+    private List<String> liushijiazi = new ArrayList<String>();
+
+    //天干阴阳关系
+    private Map<String, String> tianGanYY = new TreeMap<String, String>();
+
+
     @PostConstruct
     @PostConstruct
     public void init() {
     public void init() {
 
 
@@ -420,6 +429,92 @@ public class ShiShenConfig {
         naYin.put("壬戌", "大海水");
         naYin.put("壬戌", "大海水");
         naYin.put("癸亥", "大海水");
         naYin.put("癸亥", "大海水");
 
 
+        //1旬
+        liushijiazi.add("甲子");
+        liushijiazi.add("乙丑");
+        liushijiazi.add("丙寅");
+        liushijiazi.add("丁卯");
+        liushijiazi.add("戊辰");
+        liushijiazi.add("己巳");
+        liushijiazi.add("庚午");
+        liushijiazi.add("辛未");
+        liushijiazi.add("壬申");
+        liushijiazi.add("癸酉");
+
+        //2旬
+        liushijiazi.add("甲戌");
+        liushijiazi.add("乙亥");
+        liushijiazi.add("丙子");
+        liushijiazi.add("丁丑");
+        liushijiazi.add("戊寅");
+        liushijiazi.add("己卯");
+        liushijiazi.add("庚辰");
+        liushijiazi.add("辛巳");
+        liushijiazi.add("壬午");
+        liushijiazi.add("癸未");
+
+        //3旬
+        liushijiazi.add("甲申");
+        liushijiazi.add("乙酉");
+        liushijiazi.add("丙戌");
+        liushijiazi.add("丁亥");
+        liushijiazi.add("戊子");
+        liushijiazi.add("己丑");
+        liushijiazi.add("庚寅");
+        liushijiazi.add("辛卯");
+        liushijiazi.add("壬辰");
+        liushijiazi.add("癸巳");
+
+        //4旬
+        liushijiazi.add("甲午");
+        liushijiazi.add("乙未");
+        liushijiazi.add("丙申");
+        liushijiazi.add("丁酉");
+        liushijiazi.add("戊戌");
+        liushijiazi.add("己亥");
+        liushijiazi.add("庚子");
+        liushijiazi.add("辛丑");
+        liushijiazi.add("壬寅");
+        liushijiazi.add("癸卯");
+
+        //5旬
+        liushijiazi.add("甲辰");
+        liushijiazi.add("乙巳");
+        liushijiazi.add("丙午");
+        liushijiazi.add("丁未");
+        liushijiazi.add("戊申");
+        liushijiazi.add("己酉");
+        liushijiazi.add("庚戌");
+        liushijiazi.add("辛亥");
+        liushijiazi.add("壬子");
+        liushijiazi.add("癸丑");
+
+        //6旬
+        liushijiazi.add("甲寅");
+        liushijiazi.add("乙卯");
+        liushijiazi.add("丙辰");
+        liushijiazi.add("丁巳");
+        liushijiazi.add("戊午");
+        liushijiazi.add("己未");
+        liushijiazi.add("庚申");
+        liushijiazi.add("辛酉");
+        liushijiazi.add("壬戌");
+        liushijiazi.add("癸亥");
+
+        //天干阴阳
+        tianGanYY.put("甲","阳");
+        tianGanYY.put("乙","阴");
+        tianGanYY.put("丙","阳");
+        tianGanYY.put("丁","阴");
+        tianGanYY.put("戊","阳");
+        tianGanYY.put("己","阴");
+        tianGanYY.put("庚","阳");
+        tianGanYY.put("辛","阴");
+        tianGanYY.put("壬","阳");
+        tianGanYY.put("癸","阴");
+
+
+
 
 
         //喜用
         //喜用
         List<String> muQ = new ArrayList<String>();
         List<String> muQ = new ArrayList<String>();
@@ -499,6 +594,33 @@ public class ShiShenConfig {
         xiNumber.put("土",numberTu);
         xiNumber.put("土",numberTu);
 
 
 
 
+        //五行对应身体部位
+        List<String> shuiBuWei = new ArrayList<String>();
+        shuiBuWei.add("肾");
+        shuiBuWei.add("膀胱");
+        fiveBuWei.put("水",shuiBuWei);
+
+        List<String> huoBuWei = new ArrayList<String>();
+        huoBuWei.add("小肠");
+        huoBuWei.add("心脏");
+        fiveBuWei.put("火",huoBuWei);
+
+        List<String> muBuWei = new ArrayList<String>();
+        muBuWei.add("肝");
+        muBuWei.add("胆");
+        fiveBuWei.put("木",muBuWei);
+
+        List<String> jinBuWei = new ArrayList<String>();
+        jinBuWei.add("大肠");
+        jinBuWei.add("肺");
+        fiveBuWei.put("金",jinBuWei);
+
+        List<String> tuBuWei = new ArrayList<String>();
+        tuBuWei.add("脾");
+        tuBuWei.add("胃");
+        fiveBuWei.put("土",tuBuWei);
+
+
         //燥湿平衡
         //燥湿平衡
         zaoShi.put("辰","水");
         zaoShi.put("辰","水");
         zaoShi.put("丑","水");
         zaoShi.put("丑","水");
@@ -560,6 +682,52 @@ public class ShiShenConfig {
         return -99;
         return -99;
     }
     }
 
 
+    public static String fangWei(String line) {
+        String result = "";
+
+        if (line.contains("喜神方位")) {
+            result += "喜神代表着喜庆和好运,方位位于";
+        } else if (line.contains("阳贵神方位")) {
+            result += "阳贵神有助于事业和权力,方位位于";
+        } else if (line.contains("阴贵神方位")) {
+            result += "阴贵神有助于家庭和人际关系,方位位于";
+        } else if (line.contains("福神方位")) {
+            result += "福神有助于吸引福气,方位位于";
+        } else if (line.contains("财神方位")) {
+            result += "财神有助于财富积累,方位位于";
+        } else if (line.contains("煞")) {
+            result += "而煞方位为";
+        } else {
+            result += line; // 如果不是以上情况,原样输出
+        }
+
+        if(line.contains("正东")) {
+            result += "正东";
+        } else if (line.contains("正西")){
+            result += "正西";
+        } else if (line.contains("正南")) {
+            result += "正南";
+        } else if (line.contains("正北")) {
+            result += "正北";
+        } else if (line.contains("东北")) {
+            result += "东北";
+        } else if (line.contains("东南")) {
+            result += "东南";
+        } else if (line.contains("西南")) {
+            result += "西南";
+        } else if (line.contains("西北")) {
+            result += "西北";
+        } else if (line.contains("东")) {
+            result += "东";
+        } else if (line.contains("西")) {
+            result += "西";
+        } else if (line.contains("南")) {
+            result += "南";
+        } else if (line.contains("北")) {
+            result += "北";
+        }
 
 
+        return result;
+    }
 
 
 }
 }

+ 3 - 2
xpgx-service/src/main/java/com/miaxis/disease/service/IDiseasePartService.java

@@ -3,6 +3,7 @@ package com.miaxis.disease.service;
 import java.util.List;
 import java.util.List;
 import com.miaxis.disease.domain.DiseasePart;
 import com.miaxis.disease.domain.DiseasePart;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.miaxis.disease.dto.DiseasePartDto;
 
 
 /**
 /**
  * 疾病部位Service接口
  * 疾病部位Service接口
@@ -14,8 +15,8 @@ public interface IDiseasePartService extends IService<DiseasePart>{
     /**
     /**
      * 查询疾病部位列表
      * 查询疾病部位列表
      *
      *
-     * @param diseasePart 疾病部位
+     * @param diseasePartDto 疾病部位
      * @return 疾病部位集合
      * @return 疾病部位集合
      */
      */
-    public List<DiseasePart> selectDiseasePartList(DiseasePart diseasePart);
+    public List<DiseasePart> selectDiseasePartList(DiseasePartDto diseasePartDto);
 }
 }

+ 4 - 3
xpgx-service/src/main/java/com/miaxis/disease/service/impl/DiseasePartServiceImpl.java

@@ -4,6 +4,7 @@ import java.util.List;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.miaxis.disease.dto.DiseasePartDto;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -25,11 +26,11 @@ public class DiseasePartServiceImpl extends ServiceImpl<DiseasePartMapper, Disea
     /**
     /**
      * 查询疾病部位列表
      * 查询疾病部位列表
      *
      *
-     * @param diseasePart 疾病部位
+     * @param diseasePartDto 疾病部位
      * @return 疾病部位
      * @return 疾病部位
      */
      */
     @Override
     @Override
-    public List<DiseasePart> selectDiseasePartList(DiseasePart diseasePart){
-        return diseasePartMapper.selectDiseasePartList(diseasePart);
+    public List<DiseasePart> selectDiseasePartList(DiseasePartDto diseasePartDto){
+        return diseasePartMapper.selectDiseasePartList(diseasePartDto);
     }
     }
 }
 }

+ 1 - 1
xpgx-service/src/main/java/com/miaxis/gan/dto/GanZhiDto.java

@@ -21,7 +21,7 @@ public class GanZhiDto {
     @ApiModelProperty(value = "姓名")
     @ApiModelProperty(value = "姓名")
     private String username;
     private String username;
 
 
-    @ApiModelProperty(value = "性别 1:男  2:女")
+    @ApiModelProperty(value = "性别 1:男  2:女", required = true)
     private Integer sex;
     private Integer sex;
 
 
     @ApiModelProperty(value = "出生日期 yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "出生日期 yyyy-MM-dd HH:mm:ss")

+ 7 - 1
xpgx-service/src/main/java/com/miaxis/gan/service/IGanZhiService.java

@@ -45,7 +45,7 @@ public interface IGanZhiService extends IService<GanZhi>{
      * @param ganZhiDto
      * @param ganZhiDto
      * @return
      * @return
      */
      */
-    List<DiseasePart> getJiBin(GanZhiDto ganZhiDto);
+    List<DiseasePart> getJiBing(GanZhiDto ganZhiDto);
 
 
     /**
     /**
      * 返回喜用数字
      * 返回喜用数字
@@ -54,6 +54,12 @@ public interface IGanZhiService extends IService<GanZhi>{
      */
      */
     Map<String, Object> getNumberYun(Map<String, Object> qr);
     Map<String, Object> getNumberYun(Map<String, Object> qr);
 
 
+
+    /**
+     * 获取种五行数量
+     * @param ganZhiDto
+     * @return
+     */
     Map<String,Integer> getGanZhiRowVoCount(GanZhiDto ganZhiDto);
     Map<String,Integer> getGanZhiRowVoCount(GanZhiDto ganZhiDto);
 
 
 
 

+ 102 - 78
xpgx-service/src/main/java/com/miaxis/gan/service/impl/GanZhiServiceImpl.java

@@ -420,7 +420,7 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
 
 
 
 
     @Override
     @Override
-    public List<DiseasePart> getJiBin(GanZhiDto ganZhiDto) {
+    public List<DiseasePart> getJiBing(GanZhiDto ganZhiDto) {
         List<GanZhiRowVo> ganZhiRowVoList = this.selectGanZhiRowVoList(ganZhiDto);
         List<GanZhiRowVo> ganZhiRowVoList = this.selectGanZhiRowVoList(ganZhiDto);
         String sex = ganZhiRowVoList.get(4).getShiShen1();
         String sex = ganZhiRowVoList.get(4).getShiShen1();
 
 
@@ -440,32 +440,32 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
         /*--------------------------年柱---------------------------*/
         /*--------------------------年柱---------------------------*/
         //天干 头
         //天干 头
         String yearGanShiShen = ganZhiRowVoList.get(0).getShiShen1();
         String yearGanShiShen = ganZhiRowVoList.get(0).getShiShen1();
-        if("七杀".indexOf(yearGanShiShen)>0) { //存在七杀
+        if ("七杀".contains(yearGanShiShen)) { //存在七杀
             partZ.add("头");
             partZ.add("头");
         }
         }
-        if("偏印".indexOf(yearGanShiShen)>0) { //存在七杀
+        if ("偏印".contains(yearGanShiShen)) { //存在七杀
             partQ.add("头");
             partQ.add("头");
         }
         }
         //地支 脖子
         //地支 脖子
         String yearZhiShiShen1 = ganZhiRowVoList.get(1).getShiShen1(); //脖子
         String yearZhiShiShen1 = ganZhiRowVoList.get(1).getShiShen1(); //脖子
         String yearZhiShiShen2 = ganZhiRowVoList.get(1).getShiShen2(); //脖子
         String yearZhiShiShen2 = ganZhiRowVoList.get(1).getShiShen2(); //脖子
         String yearZhiShiShen3 = ganZhiRowVoList.get(1).getShiShen3(); //脖子
         String yearZhiShiShen3 = ganZhiRowVoList.get(1).getShiShen3(); //脖子
-        if("七杀".indexOf(yearZhiShiShen1)>0) { //存在七杀
+        if (yearZhiShiShen1 != null && yearZhiShiShen1.contains("七杀")) { //存在七杀
             partZ.add("脖子");
             partZ.add("脖子");
         }
         }
-        if("七杀".indexOf(yearZhiShiShen2)>0) { //存在七杀
+        if (yearZhiShiShen2 != null && yearZhiShiShen2.contains("七杀")) { //存在七杀
             partZ.add("脖子");
             partZ.add("脖子");
         }
         }
-        if("七杀".indexOf(yearZhiShiShen3)>0) { //存在七杀
+        if (yearZhiShiShen3 != null && yearZhiShiShen3.contains("七杀")) { //存在七杀
             partZ.add("脖子");
             partZ.add("脖子");
         }
         }
-        if("偏印".indexOf(yearZhiShiShen1)>0) { //存在偏印
+        if (yearZhiShiShen1.contains("偏印")) { //存在偏印
             partQ.add("脖子");
             partQ.add("脖子");
         }
         }
-        if("偏印".indexOf(yearZhiShiShen2)>0) { //存在偏印
+        if (yearZhiShiShen2.contains("偏印")) { //存在偏印
             partQ.add("脖子");
             partQ.add("脖子");
         }
         }
-        if("偏印".indexOf(yearZhiShiShen3)>0) { //存在偏印
+        if (yearZhiShiShen3.contains("偏印")) { //存在偏印
             partQ.add("脖子");
             partQ.add("脖子");
         }
         }
 
 
@@ -473,114 +473,138 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
 
 
         //天干 胸部
         //天干 胸部
         String monthGanShiShen = ganZhiRowVoList.get(2).getShiShen1();
         String monthGanShiShen = ganZhiRowVoList.get(2).getShiShen1();
-        if("七杀".indexOf(monthGanShiShen)>0) { //存在七杀
+        if (monthGanShiShen != null && monthGanShiShen.contains("七杀")) { //存在七杀
             partZ.add("胸部");
             partZ.add("胸部");
         }
         }
-        if("偏印".indexOf(monthGanShiShen)>0) { //存在七杀
+        if (monthGanShiShen != null && monthGanShiShen.contains("偏印")) { //存在偏印
             partQ.add("胸部");
             partQ.add("胸部");
         }
         }
         //地支 脖子
         //地支 脖子
         String monthZhiShiShen1 = ganZhiRowVoList.get(3).getShiShen1();
         String monthZhiShiShen1 = ganZhiRowVoList.get(3).getShiShen1();
         String monthZhiShiShen2 = ganZhiRowVoList.get(3).getShiShen2();
         String monthZhiShiShen2 = ganZhiRowVoList.get(3).getShiShen2();
         String monthZhiShiShen3 = ganZhiRowVoList.get(3).getShiShen3();
         String monthZhiShiShen3 = ganZhiRowVoList.get(3).getShiShen3();
-        if("七杀".indexOf(monthZhiShiShen1)>0) { //存在七杀
+        if (monthZhiShiShen1 != null && monthZhiShiShen1.contains("七杀")) { //存在七杀
             partZ.add("腹部");
             partZ.add("腹部");
         }
         }
-        if("七杀".indexOf(monthZhiShiShen2)>0) { //存在七杀
+        if (monthZhiShiShen2 != null && monthZhiShiShen2.contains("七杀")) { //存在七杀
             partZ.add("腹部");
             partZ.add("腹部");
         }
         }
-        if("七杀".indexOf(monthZhiShiShen3)>0) { //存在七杀
+        if (monthZhiShiShen3 != null && monthZhiShiShen3.contains("七杀")) { //存在七杀
             partZ.add("腹部");
             partZ.add("腹部");
         }
         }
-        if("偏印".indexOf(monthZhiShiShen1)>0) { //存在偏印
+        if (monthZhiShiShen1 != null && monthZhiShiShen1.contains("偏印")) { //存在偏印
             partQ.add("腹部");
             partQ.add("腹部");
         }
         }
-        if("偏印".indexOf(monthZhiShiShen2)>0) { //存在偏印
+        if (monthZhiShiShen2 != null && monthZhiShiShen2.contains("偏印")) { //存在偏印
             partQ.add("腹部");
             partQ.add("腹部");
         }
         }
-        if("偏印".indexOf(monthZhiShiShen3)>0) { //存在偏印
+        if (monthZhiShiShen3 != null && monthZhiShiShen3.contains("偏印")) { //存在偏印
             partQ.add("腹部");
             partQ.add("腹部");
         }
         }
 
 
         /*--------------------------日柱---------------------------*/
         /*--------------------------日柱---------------------------*/
         //天干
         //天干
         String dayGanShiShen = ganZhiRowVoList.get(4).getShiShen1();
         String dayGanShiShen = ganZhiRowVoList.get(4).getShiShen1();
-        if("七杀".indexOf(dayGanShiShen)>0) { //存在七杀
+        if ("七杀".indexOf(dayGanShiShen) > 0) { //存在七杀
             partZ.add("小腹");
             partZ.add("小腹");
         }
         }
-        if("偏印".indexOf(dayGanShiShen)>0) { //存在七杀
+        if ("偏印".indexOf(dayGanShiShen) > 0) { //存在七杀
             partQ.add("小腹");
             partQ.add("小腹");
         }
         }
         //地支 脖子
         //地支 脖子
         String dayZhiShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
         String dayZhiShiShen1 = ganZhiRowVoList.get(5).getShiShen1();
         String dayZhiShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
         String dayZhiShiShen2 = ganZhiRowVoList.get(5).getShiShen2();
         String dayZhiShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
         String dayZhiShiShen3 = ganZhiRowVoList.get(5).getShiShen3();
-        if("七杀".indexOf(dayZhiShiShen1)>0) { //存在七杀
+        if (dayZhiShiShen1 != null && dayZhiShiShen1.contains("七杀")) { //存在七杀
             partZ.add("屁股");
             partZ.add("屁股");
         }
         }
-        if("七杀".indexOf(dayZhiShiShen2)>0) { //存在七杀
+        if (dayZhiShiShen2 != null && dayZhiShiShen2.contains("七杀")) { //存在七杀
             partZ.add("屁股");
             partZ.add("屁股");
         }
         }
-        if("七杀".indexOf(dayZhiShiShen3)>0) { //存在七杀
+        if (dayZhiShiShen3 != null && dayZhiShiShen3.contains("七杀")) { //存在七杀
             partZ.add("屁股");
             partZ.add("屁股");
         }
         }
-        if("偏印".indexOf(dayZhiShiShen1)>0) { //存在偏印
+        if (dayZhiShiShen1 != null && dayZhiShiShen1.contains("偏印")) { //存在偏印
             partQ.add("屁股");
             partQ.add("屁股");
         }
         }
-        if("偏印".indexOf(dayZhiShiShen2)>0) { //存在偏印
+        if (dayZhiShiShen2 != null && dayZhiShiShen2.contains("偏印")) { //存在偏印
             partQ.add("屁股");
             partQ.add("屁股");
         }
         }
-        if("偏印".indexOf(dayZhiShiShen3)>0) { //存在偏印
+        if (dayZhiShiShen3 != null && dayZhiShiShen3.contains("偏印")) { //存在偏印
             partQ.add("屁股");
             partQ.add("屁股");
         }
         }
 
 
         /*--------------------------时柱---------------------------*/
         /*--------------------------时柱---------------------------*/
         //天干
         //天干
-//        String timeGanShiShen = ganZhiRowVoList.get(6).getShiShen1();
-//        if("七杀".indexOf(timeGanShiShen)>0) { //存在七杀
-//            partZ.add("小腹");
-//        }
-//        if("偏印".indexOf(timeGanShiShen)>0) { //存在七杀
-//            partQ.add("小腹");
-//        }
-//        //地支 脖子
-//        String timeZhiShiShen1 = ganZhiRowVoList.get(7).getShiShen1();
-//        String timeZhiShiShen2 = ganZhiRowVoList.get(7).getShiShen2();
-//        String timeZhiShiShen3 = ganZhiRowVoList.get(7).getShiShen3();
-//        if("七杀".indexOf(timeZhiShiShen1)>0) { //存在七杀
-//            partZ.add("小腿");
-//        }
-//        if("七杀".indexOf(timeZhiShiShen2)>0) { //存在七杀
-//            partZ.add("小腿");
-//        }
-//        if("七杀".indexOf(timeZhiShiShen3)>0) { //存在七杀
-//            partZ.add("小腿");
-//        }
-//        if("偏印".indexOf(timeZhiShiShen1)>0) { //存在偏印
-//            partQ.add("小腿");
-//        }
-//        if("偏印".indexOf(timeZhiShiShen2)>0) { //存在偏印
-//            partQ.add("小腿");
-//        }
-//        if("偏印".indexOf(timeZhiShiShen3)>0) { //存在偏印
-//            partQ.add("小腿");
-//        }
-//
-//        DiseasePartDto diseasePartQDto = new DiseasePartDto();
-//        diseasePartQDto.setSex(sex);
-//        diseasePartQDto.setDegree("轻症");
-//        diseasePartQDto.setParts(partQ);
-//
+        String timeGanShiShen = ganZhiRowVoList.get(6).getShiShen1();
+        if (timeGanShiShen != null && timeGanShiShen.contains("七杀")) { //存在七杀
+            partZ.add("小腹");
+        }
+        if (timeGanShiShen != null && timeGanShiShen.contains("偏印")) { //存在七杀
+            partQ.add("小腹");
+        }
+        //地支 脖子
+        String timeZhiShiShen1 = ganZhiRowVoList.get(7).getShiShen1();
+        String timeZhiShiShen2 = ganZhiRowVoList.get(7).getShiShen2();
+        String timeZhiShiShen3 = ganZhiRowVoList.get(7).getShiShen3();
+        if (timeZhiShiShen1 != null && timeZhiShiShen1.contains("七杀")) { //存在七杀
+            partZ.add("小腿");
+        }
+        if (timeZhiShiShen2 != null && timeZhiShiShen2.contains("七杀")) { //存在七杀
+            partZ.add("小腿");
+        }
+        if (timeZhiShiShen3 != null && timeZhiShiShen3.contains("七杀")) { //存在七杀
+            partZ.add("小腿");
+        }
+        if (timeZhiShiShen1 != null && timeZhiShiShen1.contains("偏印")) { //存在偏印
+            partQ.add("小腿");
+        }
+        if (timeZhiShiShen2 != null && timeZhiShiShen2.contains("偏印")) { //存在偏印
+            partQ.add("小腿");
+        }
+        if (timeZhiShiShen3 != null && timeZhiShiShen3.contains("偏印")) { //存在偏印
+            partQ.add("小腿");
+        }
+
+        DiseasePartDto diseasePartQDto = new DiseasePartDto();
+        diseasePartQDto.setSex(sex);
+        diseasePartQDto.setDegree("轻症");
+        diseasePartQDto.setParts(partQ);
+
         DiseasePartDto diseasePartZDto = new DiseasePartDto();
         DiseasePartDto diseasePartZDto = new DiseasePartDto();
         diseasePartZDto.setSex(sex);
         diseasePartZDto.setSex(sex);
         diseasePartZDto.setDegree("严重");
         diseasePartZDto.setDegree("严重");
         diseasePartZDto.setParts(partZ);
         diseasePartZDto.setParts(partZ);
-//
-//        List<DiseasePart> diseasePartQList = diseasePartMapper.selectDiseasePartList(diseasePartZDto);
-//        List<DiseasePart> diseasePartZList = diseasePartMapper.selectDiseasePartList(diseasePartZDto);
-//        diseasePartQList.addAll(diseasePartZList);
 
 
-        return null;
+        List<DiseasePart> diseasePartQList = new ArrayList<DiseasePart>();
+        List<DiseasePart> diseasePartZList = new ArrayList<DiseasePart>();
+        List<DiseasePart> diseasePartAllList = new ArrayList<DiseasePart>();
+        if (partQ.size() > 0) {
+            diseasePartQList = diseasePartMapper.selectDiseasePartList(diseasePartQDto);
+            diseasePartAllList.addAll(diseasePartQList);
+        }
+
+        if (partZ.size() > 0) {
+            diseasePartZList = diseasePartMapper.selectDiseasePartList(diseasePartZDto);
+            diseasePartAllList.addAll(diseasePartZList);
+        }
+
+        //五行得出疾病
+        List<DiseasePart> fivePartList = new ArrayList<DiseasePart>();
+        Map<String,Integer> fiveCount = this.getGanZhiRowVoCount(ganZhiDto);
+        for (String key : fiveCount.keySet()) {
+           int count = fiveCount.get(key);
+           if(count>=3) {
+               List<String> partList = shiShenConfig.getFiveBuWei().get(key);
+               DiseasePartDto fivePartDto = new DiseasePartDto();
+               fivePartDto.setSex(sex);
+               fivePartDto.setParts(partList);
+               fivePartList = diseasePartMapper.selectDiseasePartList(fivePartDto);
+               diseasePartAllList.addAll(fivePartList);
+           }
+        }
+
+        return diseasePartAllList;
     }
     }
 
 
 
 
@@ -749,13 +773,13 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
             if ("土".equals(five)) {
             if ("土".equals(five)) {
                 if (huoCount > shuiCount) {
                 if (huoCount > shuiCount) {
                     String name = list.get(i).getName();
                     String name = list.get(i).getName();
-                    if("戌".equals(name) || "未".equals(name)) {
+                    if ("戌".equals(name) || "未".equals(name)) {
                         Integer fiveC = fiveCount.get("火") + 1;
                         Integer fiveC = fiveCount.get("火") + 1;
                         fiveCount.put("火", fiveC);
                         fiveCount.put("火", fiveC);
                     }
                     }
                 } else if (huoCount < shuiCount) {
                 } else if (huoCount < shuiCount) {
                     String name = list.get(i).getName();
                     String name = list.get(i).getName();
-                    if("辰".equals(name) || "丑".equals(name)) {
+                    if ("辰".equals(name) || "丑".equals(name)) {
                         Integer fiveC = fiveCount.get("水") + 1;
                         Integer fiveC = fiveCount.get("水") + 1;
                         fiveCount.put("水", fiveC);
                         fiveCount.put("水", fiveC);
                     }
                     }
@@ -770,20 +794,20 @@ public class GanZhiServiceImpl extends ServiceImpl<GanZhiMapper, GanZhi> impleme
         int huoCount2 = fiveCount.get("火");
         int huoCount2 = fiveCount.get("火");
         int shuiCoun2 = fiveCount.get("水");
         int shuiCoun2 = fiveCount.get("水");
 
 
-        Map<String,Object> zaoShiMap = new TreeMap<String,Object>();
+        Map<String, Object> zaoShiMap = new TreeMap<String, Object>();
         zaoShiMap.putAll(fiveCount);
         zaoShiMap.putAll(fiveCount);
 
 
 
 
-        if(huoCount2-shuiCoun2>=2) {  //火过旺
-            zaoShiMap.put("jieshi","过于干燥,火特别多,性情比较暴躁,容易上火,内心上火容易产生无名火,容易被“点燃”生气,身体也容易上火。");
-        }  else if (huoCount2-shuiCoun2==1) { //火轻微过旺
-            zaoShiMap.put("jieshi","偏干燥,火特别多,性情相对比较急躁。");
-        }  else if (huoCount2-shuiCoun2<=-2) {
-            zaoShiMap.put("jieshi","过于湿润,大便不成形,湿气太重了,比较会容易肚子,手脚冰凉,气血不活。");
-        } else if (huoCount2-shuiCoun2==-1) {
-            zaoShiMap.put("jieshi","偏湿润,大便不成形,湿气较重,气血不活。");
-        } else if (huoCount2-shuiCoun2==0){
-            zaoShiMap.put("jieshi","各个宫位,燥湿达到平衡。不会过湿,过燥。");
+        if (huoCount2 - shuiCoun2 >= 2) {  //火过旺
+            zaoShiMap.put("jieshi", "过于干燥,火特别多,性情比较暴躁,容易上火,内心上火容易产生无名火,容易被“点燃”生气,身体也容易上火。");
+        } else if (huoCount2 - shuiCoun2 == 1) { //火轻微过旺
+            zaoShiMap.put("jieshi", "偏干燥,火特别多,性情相对比较急躁。");
+        } else if (huoCount2 - shuiCoun2 <= -2) {
+            zaoShiMap.put("jieshi", "过于湿润,大便不成形,湿气太重了,比较会容易肚子,手脚冰凉,气血不活。");
+        } else if (huoCount2 - shuiCoun2 == -1) {
+            zaoShiMap.put("jieshi", "偏湿润,大便不成形,湿气较重,气血不活。");
+        } else if (huoCount2 - shuiCoun2 == 0) {
+            zaoShiMap.put("jieshi", "各个宫位,燥湿达到平衡。不会过湿,过燥。");
         }
         }
 
 
         return zaoShiMap;
         return zaoShiMap;