| 
					
				 | 
			
			
				@@ -0,0 +1,112 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package thyyxxk.webserver.service.dictionary; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.extern.slf4j.Slf4j; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.config.exception.ExceptionEnum; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.dao.his.dictionary.ServiceNumberDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.dao.his.dictionary.ZdHealthEducationDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.entity.ResultVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.entity.dictionary.CodeName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.entity.dictionary.ZdHealthEducation; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.utils.ResultVoUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import thyyxxk.webserver.utils.StringUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Optional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @ClassName ServiceNumberService 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Author hsh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Date 2024/3/22 8:54 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Version 1.0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @Description 服务号相关字典 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ **/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Slf4j 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class ServiceNumberService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final ServiceNumberDao dao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final ZdHealthEducationDao healthEducationDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ServiceNumberService(ServiceNumberDao dao, ZdHealthEducationDao healthEducationDao) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.dao = dao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.healthEducationDao = healthEducationDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResultVo<Map<String, List<CodeName>>> selectServiceNumberDict(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, List<CodeName>> map = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CodeName> list = dao.selectHealthEducationType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        map.put("HEType", list); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return ResultVoUtil.success(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResultVo<List<ZdHealthEducation>> selectHealthEducation(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return ResultVoUtil.success(healthEducationDao.selectHealthEducation()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResultVo<Map<String, Object>> saveHealthEducation(ZdHealthEducation zdHealthEducation){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(null == zdHealthEducation){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "健康教育字典信息不存在,请检查!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, Object> resultMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String code = zdHealthEducation.getCode(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ZdHealthEducation healthEducation = healthEducationDao.selectHealthEducationByCode(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 设置健康教育类型名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CodeName> he = dao.selectHealthEducationType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Optional<CodeName> s = he.stream().filter(codeName -> codeName.getCode().equals(zdHealthEducation.getType())).findFirst(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        s.ifPresent(codeName -> zdHealthEducation.setTypeName(codeName.getName())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(null != healthEducation){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                num = healthEducationDao.updateHealthEducationByCode(zdHealthEducation); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String maxCode = healthEducationDao.selectMaxCodeOfHealthEducation(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String newCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(maxCode.startsWith("0")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    int number = Integer.parseInt(maxCode.replace("0", "")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(number == 9){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        newCode = (number + 1) + ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        newCode = "0" + (number + 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    int number = Integer.parseInt(maxCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    newCode = (number + 1) + ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                zdHealthEducation.setCode(newCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                num = healthEducationDao.insert(zdHealthEducation); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(num == 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "保存健康教育字典信息失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("cg", "保存健康教育字典信息成功!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResultVoUtil.success(resultMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch(Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "保存健康教育字典信息失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public ResultVo<Map<String, Object>> delHealthEducationByCode(String code) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtil.isBlank(code)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "没有健康教育字典编码,请检查!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, Object> resultMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int num = healthEducationDao.deleteHealthEducationByCode(code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(num == 0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "删除健康教育字典失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            resultMap.put("cg", "删除健康教育字典成功!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResultVoUtil.success(resultMap); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } catch(Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "删除健康教育字典失败!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |