|  | @@ -5,13 +5,16 @@ import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  |  import org.springframework.util.ObjectUtils;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.config.exception.ExceptionEnum;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.dao.his.ybkf.YbStatDao;
 | 
	
		
			
				|  |  | -import thyyxxk.webserver.entity.ResultVo;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.entity.HeadInfo;
 | 
	
		
			
				|  |  | +import thyyxxk.webserver.entity.ResultVo;
 | 
	
		
			
				|  |  | +import thyyxxk.webserver.entity.medicalinsurance.setlinfo.SiSetlinfo;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.entity.ybkf.YbStatDto;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.entity.ybkf.YbStatResult;
 | 
	
		
			
				|  |  | +import thyyxxk.webserver.service.redislike.RedisLikeService;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.utils.DateUtil;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.utils.DecimalUtil;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.utils.ExcelUtil;
 | 
	
		
			
				|  |  | +import thyyxxk.webserver.utils.FilterUtil;
 | 
	
		
			
				|  |  |  import thyyxxk.webserver.utils.ResultVoUtil;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import javax.servlet.http.HttpServletResponse;
 | 
	
	
		
			
				|  | @@ -31,9 +34,12 @@ public class YbStatService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private final YbStatDao dao;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    private final RedisLikeService redis;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  | -    public YbStatService(YbStatDao dao ) {
 | 
	
		
			
				|  |  | +    public YbStatService(YbStatDao dao, RedisLikeService redis) {
 | 
	
		
			
				|  |  |          this.dao = dao;
 | 
	
		
			
				|  |  | +        this.redis = redis;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      public ResultVo<List<YbStatResult>> selectYbStatInfo(YbStatDto dto){
 | 
	
	
		
			
				|  | @@ -69,7 +75,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("长沙市城职普通住院");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43010031001" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -93,7 +99,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("长沙市城居普通住院");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43010039001" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -117,7 +123,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("长沙市离休");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43010034001" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -141,7 +147,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("长沙市生育");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43010051052" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -158,7 +164,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("长沙县城职普通住院");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43012131001" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -175,7 +181,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("长沙县城居普通住院");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43012139001" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -192,7 +198,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("长沙县离休");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43012134001" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -209,7 +215,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("长沙县生育");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43012151052" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -226,7 +232,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("浏阳县城职普通住院");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43018131001" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -243,7 +249,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("浏阳县城居普通住院");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43018139001" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -260,7 +266,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("浏阳县离休");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43018134001" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -277,7 +283,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("浏阳县生育");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43018151052" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -294,7 +300,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("湖南省城职普通住院");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43990031001" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -311,7 +317,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("湖南省离休");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43990034001" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -328,7 +334,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("湖南省生育");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43990051052" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -341,7 +347,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfoInProvinceOtherCities(beginTime, endTime, setlType);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("省内异地");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43990001" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -354,7 +360,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfoInOutProvinceCities(beginTime, endTime, setlType);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("省外异地");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "43990002" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -378,7 +384,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("市单病种");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "4301002102" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -393,7 +399,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("省单病种");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "4399002102" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -406,7 +412,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfoInProvinceOtherCitiesSingleDisease(beginTime, endTime, setlType);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("省内异地单病种");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "4399012102" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -420,7 +426,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("普通门诊");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "11" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -434,7 +440,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("特殊门诊");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "14" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -448,7 +454,7 @@ public class YbStatService {
 | 
	
		
			
				|  |  |                  YbStatResult result = dao.selectYbStatInfo(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  |                  if(!ObjectUtils.isEmpty(result) && result.getPsnCount() > 0){
 | 
	
		
			
				|  |  |                      result.setInsurName("生育门诊");
 | 
	
		
			
				|  |  | -                    result.setInsurType(insurType);
 | 
	
		
			
				|  |  | +                    result.setInsurType("99".equals(insurType) ? "51" : insurType);
 | 
	
		
			
				|  |  |                      ybStatResult.add(result);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -686,34 +692,34 @@ public class YbStatService {
 | 
	
		
			
				|  |  |          String yf;
 | 
	
		
			
				|  |  |          switch (i){
 | 
	
		
			
				|  |  |              case 1:
 | 
	
		
			
				|  |  | -                yf = "一    月";
 | 
	
		
			
				|  |  | +                yf = "一月";
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case 2:
 | 
	
		
			
				|  |  | -                yf = "二    月";
 | 
	
		
			
				|  |  | +                yf = "二月";
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case 3:
 | 
	
		
			
				|  |  | -                yf = "三    月";
 | 
	
		
			
				|  |  | +                yf = "三月";
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case 4:
 | 
	
		
			
				|  |  | -                yf = "四    月";
 | 
	
		
			
				|  |  | +                yf = "四月";
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case 5:
 | 
	
		
			
				|  |  | -                yf = "五    月";
 | 
	
		
			
				|  |  | +                yf = "五月";
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case 6:
 | 
	
		
			
				|  |  | -                yf = "六    月";
 | 
	
		
			
				|  |  | +                yf = "六月";
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case 7:
 | 
	
		
			
				|  |  | -                yf = "七    月";
 | 
	
		
			
				|  |  | +                yf = "七月";
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case 8:
 | 
	
		
			
				|  |  | -                yf = "八    月";
 | 
	
		
			
				|  |  | +                yf = "八月";
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case 9:
 | 
	
		
			
				|  |  | -                yf = "九    月";
 | 
	
		
			
				|  |  | +                yf = "九月";
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case 10:
 | 
	
		
			
				|  |  | -                yf = "十    月";
 | 
	
		
			
				|  |  | +                yf = "十月";
 | 
	
		
			
				|  |  |                  break;
 | 
	
		
			
				|  |  |              case 11:
 | 
	
		
			
				|  |  |                  yf = "十一月";
 | 
	
	
		
			
				|  | @@ -1036,4 +1042,243 @@ public class YbStatService {
 | 
	
		
			
				|  |  |          return result;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     *@Author hsh
 | 
	
		
			
				|  |  | +     *@Description // 查询柱状图医保统计数据
 | 
	
		
			
				|  |  | +     *@Date 2022/7/5 11:26
 | 
	
		
			
				|  |  | +     *@Param [dto]
 | 
	
		
			
				|  |  | +     *@Return thyyxxk.webserver.entity.ResultVo<java.util.List<java.util.Map<java.lang.String,java.lang.Object>>>
 | 
	
		
			
				|  |  | +     **/
 | 
	
		
			
				|  |  | +    public ResultVo<List<Map<String, Object>>> selectYbChart(YbStatDto dto){
 | 
	
		
			
				|  |  | +        // 按照同比的数据返回去渲染图形数据
 | 
	
		
			
				|  |  | +        dto.setSelectType("second");
 | 
	
		
			
				|  |  | +        ResultVo<List<Map<String, Object>>> rs =  selectYbStatRatio(dto);
 | 
	
		
			
				|  |  | +        List<Map<String, Object>> list = rs.getData();
 | 
	
		
			
				|  |  | +        if(null == list){
 | 
	
		
			
				|  |  | +            String log = "查询没有数据";
 | 
	
		
			
				|  |  | +            return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST, log);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        return ResultVoUtil.success(list);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    /**
 | 
	
		
			
				|  |  | +     *@Author hsh
 | 
	
		
			
				|  |  | +     *@Description // 查询医保明细数据
 | 
	
		
			
				|  |  | +     *@Date 2022/7/5 11:27
 | 
	
		
			
				|  |  | +     *@Param [dto]
 | 
	
		
			
				|  |  | +     *@Return thyyxxk.webserver.entity.ResultVo<java.util.List<thyyxxk.webserver.entity.medicalinsurance.setlinfo.SiSetlinfo>>
 | 
	
		
			
				|  |  | +     **/
 | 
	
		
			
				|  |  | +    public ResultVo<List<SiSetlinfo>> selectYbStatDetail(YbStatDto dto){
 | 
	
		
			
				|  |  | +        String beginTime = dto.getStartTime();
 | 
	
		
			
				|  |  | +        String endTime = DateUtil.getMonthEndtime(dto.getEndTime());
 | 
	
		
			
				|  |  | +        String insurType = dto.getInsurType();
 | 
	
		
			
				|  |  | +        String setlType = dto.getSetlType();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 统筹区域
 | 
	
		
			
				|  |  | +        List<String> insuplcAdmdvs = new ArrayList<>();
 | 
	
		
			
				|  |  | +        // 险种类型
 | 
	
		
			
				|  |  | +        List<String> insurtype = new ArrayList<>();
 | 
	
		
			
				|  |  | +        // 医疗类别
 | 
	
		
			
				|  |  | +        List<String> med_type = new ArrayList<>();
 | 
	
		
			
				|  |  | +        // 返回结果
 | 
	
		
			
				|  |  | +        List<SiSetlinfo> siSetlInfoList = new ArrayList<>();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if("21".equals(setlType)){
 | 
	
		
			
				|  |  | +            // 住院
 | 
	
		
			
				|  |  | +            if("43010031001".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 长沙市城职普通住院(包含外伤住院)
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430102");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430103");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430104");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430105");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430111");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430112");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430140");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430199");
 | 
	
		
			
				|  |  | +                insurtype.add("310");
 | 
	
		
			
				|  |  | +                med_type.add("2101");
 | 
	
		
			
				|  |  | +                med_type.add("22");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43010039001".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 长沙市城居普通住院(包含外伤住院)
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430102");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430103");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430104");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430105");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430111");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430112");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430140");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430199");
 | 
	
		
			
				|  |  | +                insurtype.add("390");
 | 
	
		
			
				|  |  | +                med_type.add("2101");
 | 
	
		
			
				|  |  | +                med_type.add("22");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43010034001".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 长沙市离休
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430102");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430103");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430104");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430105");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430111");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430112");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430140");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430199");
 | 
	
		
			
				|  |  | +                insurtype.add("340");
 | 
	
		
			
				|  |  | +                med_type.add("2101");
 | 
	
		
			
				|  |  | +                med_type.add("22");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43010051052".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 长沙市生育
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430102");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430103");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430104");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430105");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430111");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430112");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430140");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430199");
 | 
	
		
			
				|  |  | +                med_type.add("52");
 | 
	
		
			
				|  |  | +                med_type.add("2106");
 | 
	
		
			
				|  |  | +                med_type.add("2107");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43012131001".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 长沙县城职普通住院(包含外伤住院)
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430121");
 | 
	
		
			
				|  |  | +                insurtype.add("310");
 | 
	
		
			
				|  |  | +                med_type.add("2101");
 | 
	
		
			
				|  |  | +                med_type.add("22");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43012139001".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 长沙县城居普通住院(包含外伤住院)
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430121");
 | 
	
		
			
				|  |  | +                insurtype.add("390");
 | 
	
		
			
				|  |  | +                med_type.add("2101");
 | 
	
		
			
				|  |  | +                med_type.add("22");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43012134001".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 长沙县离休
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430121");
 | 
	
		
			
				|  |  | +                insurtype.add("340");
 | 
	
		
			
				|  |  | +                med_type.add("2101");
 | 
	
		
			
				|  |  | +                med_type.add("22");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43012151052".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 长沙县生育
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430121");
 | 
	
		
			
				|  |  | +                med_type.add("52");
 | 
	
		
			
				|  |  | +                med_type.add("2106");
 | 
	
		
			
				|  |  | +                med_type.add("2107");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43018131001".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 浏阳县城职普通住院(包含外伤住院)
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430181");
 | 
	
		
			
				|  |  | +                insurtype.add("310");
 | 
	
		
			
				|  |  | +                med_type.add("2101");
 | 
	
		
			
				|  |  | +                med_type.add("22");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43018139001".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 浏阳县城居普通住院(包含外伤住院)
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430181");
 | 
	
		
			
				|  |  | +                insurtype.add("390");
 | 
	
		
			
				|  |  | +                med_type.add("2101");
 | 
	
		
			
				|  |  | +                med_type.add("22");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43018134001".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 浏阳县离休
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430181");
 | 
	
		
			
				|  |  | +                insurtype.add("340");
 | 
	
		
			
				|  |  | +                med_type.add("2101");
 | 
	
		
			
				|  |  | +                med_type.add("22");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43018151052".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 浏阳县生育
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430181");
 | 
	
		
			
				|  |  | +                med_type.add("52");
 | 
	
		
			
				|  |  | +                med_type.add("2106");
 | 
	
		
			
				|  |  | +                med_type.add("2107");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43990031001".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 湖南省城职普通住院(包含外伤住院)
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("439900");
 | 
	
		
			
				|  |  | +                insurtype.add("310");
 | 
	
		
			
				|  |  | +                med_type.add("2101");
 | 
	
		
			
				|  |  | +                med_type.add("22");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43990034001".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 湖南省离休
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("439900");
 | 
	
		
			
				|  |  | +                insurtype.add("340");
 | 
	
		
			
				|  |  | +                med_type.add("2101");
 | 
	
		
			
				|  |  | +                med_type.add("22");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43990051052".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 湖南省生育
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("439900");
 | 
	
		
			
				|  |  | +                med_type.add("52");
 | 
	
		
			
				|  |  | +                med_type.add("2106");
 | 
	
		
			
				|  |  | +                med_type.add("2107");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("43990001".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 省内异地(包含外伤住院)
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoListInProvinceOtherCities(beginTime, endTime, setlType);
 | 
	
		
			
				|  |  | +            } else if("43990002".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 省外异地(包含外伤住院)
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoListInOutProvinceCities(beginTime, endTime, setlType);
 | 
	
		
			
				|  |  | +            } else if("4301002102".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 市单病种
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430102");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430103");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430104");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430105");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430111");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430112");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430140");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430199");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430121");
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("430181");
 | 
	
		
			
				|  |  | +                med_type.add("2102");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("4399002102".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 省城职单病种
 | 
	
		
			
				|  |  | +                insuplcAdmdvs.add("439900");
 | 
	
		
			
				|  |  | +                med_type.add("2102");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("4399012102".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 省内异地单病种
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoListInProvinceOtherCitiesSingleDisease(beginTime, endTime, setlType);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        } else {
 | 
	
		
			
				|  |  | +            // 门诊
 | 
	
		
			
				|  |  | +            if("11".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 普通门诊
 | 
	
		
			
				|  |  | +                med_type.add("11");
 | 
	
		
			
				|  |  | +                med_type.add("9903");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("14".equals(insurType) ){
 | 
	
		
			
				|  |  | +                // 门诊慢特病
 | 
	
		
			
				|  |  | +                med_type.add("14");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            } else if("51".equals(insurType)){
 | 
	
		
			
				|  |  | +                // 生育门诊
 | 
	
		
			
				|  |  | +                med_type.add("51");
 | 
	
		
			
				|  |  | +                siSetlInfoList = dao.selectSiSetlInfoList(beginTime, endTime, setlType, insuplcAdmdvs, insurtype, med_type);
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        if (null == siSetlInfoList || siSetlInfoList.isEmpty()) {
 | 
	
		
			
				|  |  | +            return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        siSetlInfoList.forEach(item -> {
 | 
	
		
			
				|  |  | +            String othpay = DecimalUtil.minusLink(String.valueOf(item.getFundPaySumamt()), String.valueOf(item.getHifpPay()), String.valueOf(item.getHifmiPay()), String.valueOf(item.getCvlservPay()));
 | 
	
		
			
				|  |  | +            item.setOthPay("".equals(othpay) ? 0d : Double.parseDouble(othpay));
 | 
	
		
			
				|  |  | +            item.setInsuplcAdmdvsName(redis.getRegionName(item.getInsuplcAdmdvs()));
 | 
	
		
			
				|  |  | +            FilterUtil.filterCodeToName(item);
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        return ResultVoUtil.success(siSetlInfoList);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  }
 |