|
@@ -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, "删除健康教育字典失败!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|