浏览代码

Merge branch 'dev' of chenweida/patient-co-management into dev

chenweida 7 年之前
父节点
当前提交
853bc6a70f
共有 16 个文件被更改,包括 740 次插入2 次删除
  1. 3 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/SwaggerConfig.java
  2. 106 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/dict/HealthProblemDict.java
  3. 60 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/dict/HpIcd10Relation.java
  4. 114 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/dict/Icd10Dict.java
  5. 2 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/service/SignFamilyService.java
  6. 16 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/dict/HealthProblemDictdAO.java
  7. 13 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/dict/HpIcd10RelationDao.java
  8. 19 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/dict/Icd10DictDao.java
  9. 5 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/service/SignFamilyServiceDao.java
  10. 5 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/service/SignFamilyServiceItemDao.java
  11. 55 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/SignFamilyServiceService.java
  12. 161 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/system/Icd10DictServcie.java
  13. 30 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/system/KeyValueModel.java
  14. 77 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/icd/Icd10Controller.java
  15. 1 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/data/DataHandlingController.java
  16. 73 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/sign/PatientSignFamilyServiceNoFilterController.java

+ 3 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/config/SwaggerConfig.java

@ -16,7 +16,6 @@ import static springfox.documentation.builders.PathSelectors.regex;
@EnableSwagger2
@Configuration
public class SwaggerConfig {
    private static final String PUBLIC_API = "Default";
    private static final String Doctor_API = "doctor";
    private static final String Patient_API = "patient";
    private static final String Other_API = "other";
@ -104,7 +103,10 @@ public class SwaggerConfig {
                        regex("/wlyy_service/.*"),
                        regex("/wlyy_service/.*"),
                        regex("/wechat/.*"),
                        regex("/nofilter/.*"),
                        regex("/idc10/.*"),
                        regex("/express/.*")
                ))
                .build()
                .apiInfo(otherApiInfo());

+ 106 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/dict/HealthProblemDict.java

@ -0,0 +1,106 @@
package com.yihu.wlyy.entity.dict;
import javax.persistence.*;
import java.util.Date;
/**
 * Created by chenweida on 2017/8/9.
 */
@Entity
@Table(name = "health_problem_dict")
public class HealthProblemDict {
    private Long id;
    private String hpcode;
    private String hpname;
    private String code;//'字典编码'
    private String name;//'字典名称'
    private String description;//'描述'
    private String createUser;
    private Date createDate;
    private String updateUser;
    private Date updateDate;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getCreateUser() {
        return createUser;
    }
    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }
    public Date getCreateDate() {
        return createDate;
    }
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }
    public String getUpdateUser() {
        return updateUser;
    }
    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }
    public Date getUpdateDate() {
        return updateDate;
    }
    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }
    @Transient
    public String getHpcode() {
        return hpcode;
    }
    public void setHpcode(String hpcode) {
        this.hpcode = hpcode;
    }
    @Transient
    public String getHpname() {
        return hpname;
    }
    public void setHpname(String hpname) {
        this.hpname = hpname;
    }
}

+ 60 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/dict/HpIcd10Relation.java

@ -0,0 +1,60 @@
package com.yihu.wlyy.entity.dict;
import javax.persistence.*;
import java.util.Date;
/**
 * Created by chenweida on 2017/8/9.
 */
@Entity
@Table(name = "hp_icd10_relation")
public class HpIcd10Relation {
    private Long id;
    private Long hpId;//健康问题字典id
    private Long icd10Id;//icd10字典id
    private String createUser;
    private Date createDate;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Long getHpId() {
        return hpId;
    }
    public void setHpId(Long hpId) {
        this.hpId = hpId;
    }
    public Long getIcd10Id() {
        return icd10Id;
    }
    public void setIcd10Id(Long icd10Id) {
        this.icd10Id = icd10Id;
    }
    public String getCreateUser() {
        return createUser;
    }
    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }
    public Date getCreateDate() {
        return createDate;
    }
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }
}

+ 114 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/dict/Icd10Dict.java

@ -0,0 +1,114 @@
package com.yihu.wlyy.entity.dict;
import javax.persistence.*;
import java.util.Date;
/**
 * Created by chenweida on 2017/8/9.
 */
@Entity
@Table(name = "icd10_dict")
public class Icd10Dict {
    private Long id;
    private String code;//'icd10字典编码'
    private String name;//'icd10字典名称'
    private String phoneticCode;//字典名称拼音首字母
    private String chronicFlag;//是否慢病
    private String infectiousFlag;//是否传染病
    private String description;//'描述'
    private String createUser;
    private Date createDate;
    private String updateUser;
    private Date updateDate;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPhoneticCode() {
        return phoneticCode;
    }
    public void setPhoneticCode(String phoneticCode) {
        this.phoneticCode = phoneticCode;
    }
    public String getChronicFlag() {
        return chronicFlag;
    }
    public void setChronicFlag(String chronicFlag) {
        this.chronicFlag = chronicFlag;
    }
    public String getInfectiousFlag() {
        return infectiousFlag;
    }
    public void setInfectiousFlag(String infectiousFlag) {
        this.infectiousFlag = infectiousFlag;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public String getCreateUser() {
        return createUser;
    }
    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }
    public Date getCreateDate() {
        return createDate;
    }
    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }
    public String getUpdateUser() {
        return updateUser;
    }
    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }
    public Date getUpdateDate() {
        return updateDate;
    }
    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }
}

+ 2 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/entity/service/SignFamilyService.java

@ -139,4 +139,6 @@ public class SignFamilyService extends IdEntity {
    public void setRemark(String remark) {
        this.remark = remark;
    }
}

+ 16 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/dict/HealthProblemDictdAO.java

@ -0,0 +1,16 @@
package com.yihu.wlyy.repository.dict;
import com.yihu.wlyy.entity.dict.HealthProblemDict;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by chenweida on 2017/8/9.
 */
public interface HealthProblemDictDao  extends
        PagingAndSortingRepository<HealthProblemDict, Long>,
        JpaSpecificationExecutor<HealthProblemDict> {
}

+ 13 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/dict/HpIcd10RelationDao.java

@ -0,0 +1,13 @@
package com.yihu.wlyy.repository.dict;
import com.yihu.wlyy.entity.dict.HpIcd10Relation;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by chenweida on 2017/8/9.
 */
public interface HpIcd10RelationDao extends
        PagingAndSortingRepository<HpIcd10Relation, Long>,
        JpaSpecificationExecutor<HpIcd10Relation> {
}

+ 19 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/dict/Icd10DictDao.java

@ -0,0 +1,19 @@
package com.yihu.wlyy.repository.dict;
import com.yihu.wlyy.entity.dict.Icd10Dict;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by chenweida on 2017/8/9.
 */
public interface Icd10DictDao extends
        PagingAndSortingRepository<Icd10Dict, Long>,
        JpaSpecificationExecutor<Icd10Dict> {
    @Query("from Icd10Dict")
    List<Icd10Dict> findAlld10Dict();
}

+ 5 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/service/SignFamilyServiceDao.java

@ -3,6 +3,7 @@ package com.yihu.wlyy.repository.service;
import com.yihu.wlyy.entity.service.ServiceItem;
import com.yihu.wlyy.entity.service.SignFamilyService;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
@ -14,4 +15,8 @@ import java.util.List;
public interface SignFamilyServiceDao extends PagingAndSortingRepository<SignFamilyService, Long>, JpaSpecificationExecutor<SignFamilyService> {
    @Query("select s from ServiceItem s,SignFamilyServiceItem si where s.code=si.serviceItemCode and si.patient=?1")
    List<ServiceItem> getPatientServiceItems(String patient);
    @Modifying
    @Query(" update SignFamilyService s set s.del=0 where s.signCode=?3 and s.serviceCode=?2 and s.patient=?1")
    void deletePatientService(String patientCode, String serviceCode, String signCode);
}

+ 5 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/service/SignFamilyServiceItemDao.java

@ -3,10 +3,15 @@ package com.yihu.wlyy.repository.service;
import com.yihu.wlyy.entity.service.SignFamilyService;
import com.yihu.wlyy.entity.service.SignFamilyServiceItem;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by chenweida on 2017/8/8.
 */
public interface SignFamilyServiceItemDao extends PagingAndSortingRepository<SignFamilyServiceItem, Long>, JpaSpecificationExecutor<SignFamilyServiceItem> {
    @Modifying
    @Query(" update SignFamilyServiceItem s set s.del=0 where s.signCode=?3 and s.serviceCode=?2 and s.patient=?1")
    void deletePatiengServiceItem(String patientCode, String serviceCode, String signCode);
}

+ 55 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/SignFamilyServiceService.java

@ -72,6 +72,8 @@ public class SignFamilyServiceService {
            String signServiceCode = UUID.randomUUID().toString();
            signFamilyService.setCode(signServiceCode);
            signFamilyService.setCreateTime(new Date());
            signFamilyService.setPatient(patientCode);
            signFamilyService.setPatientName(sgnFamily.getName());
            signFamilyService.setSignCode(sgnFamily.getCode());
            signFamilyService.setSignTime(new Date());
            signFamilyService.setDel(1);
@ -82,6 +84,7 @@ public class SignFamilyServiceService {
                signFamilyServiceItem.setCode(UUID.randomUUID().toString());
                signFamilyServiceItem.setCreateTime(new Date());
                signFamilyServiceItem.setDel(1);
                signFamilyServiceItem.setPatient(patientCode);
                signFamilyServiceItem.setServiceCode(service.getCode());
                signFamilyServiceItem.setServiceItemCode(oneServiceItem.getCode());
                signFamilyServiceItem.setSignCode(sgnFamily.getCode());
@ -120,6 +123,8 @@ public class SignFamilyServiceService {
        String signServiceCode = UUID.randomUUID().toString();
        signFamilyService.setCode(signServiceCode);
        signFamilyService.setCreateTime(new Date());
        signFamilyService.setPatientName(sgnFamily.getName());
        signFamilyService.setPatient(patient);
        signFamilyService.setSignCode(sgnFamily.getCode());
        signFamilyService.setSignTime(new Date());
        signFamilyService.setDel(1);
@ -132,6 +137,7 @@ public class SignFamilyServiceService {
            signFamilyServiceItem.setDel(1);
            signFamilyServiceItem.setServiceCode(service.getCode());
            signFamilyServiceItem.setServiceItemCode(oneServiceItem.getCode());
            signFamilyServiceItem.setPatient(patient);
            signFamilyServiceItem.setSignCode(sgnFamily.getCode());
            signFamilyServiceItem.setSignServiceCode(signServiceCode);
            saveSignFamilyServiceItemeList.add(signFamilyServiceItem);
@ -157,7 +163,7 @@ public class SignFamilyServiceService {
                "   wlyy_service_item s, " +
                "   wlyy_sign_family_service_item si " +
                " WHERE " +
                "   s.`code` = si.service_item_code ");
                "   s.`code` = si.service_item_code and si.del=1 ");
        if (!StringUtils.isEmpty(patient)) {
            sql.append(" and si.patient = '" + patient + "'");
        }
@ -173,4 +179,52 @@ public class SignFamilyServiceService {
        List<SignFamily> signFamilies = jdbcTemplate.query(sql, new BeanPropertyRowMapper(SignFamily.class));
        return signFamilies.get(0);
    }
    /**
     * 给患者批量删除服务
     *
     * @param patients    患者code
     * @param serviceCode 服务code
     * @throws Exception
     */
    @Transactional
    public JSONObject patientsDeleteService(List<String> patients, String serviceCode) {
        JSONObject jo = new JSONObject();
        List<String> errorPatient = new ArrayList<>();
        for (String patientCode : patients) {
            if (!patientsDeleteService(patientCode, serviceCode)) {
                errorPatient.add(patientCode);
            }
        }
        jo.put("status", 1);//执行成功
        jo.put("errorPatients", errorPatient);//未成功的患者
        return jo;
    }
    /**
     * 给患者批量删除服务
     *
     * @param patientCode 患者code
     * @param serviceCode 服务code
     * @throws Exception
     */
    @Transactional
    public boolean patientsDeleteService(String patientCode, String serviceCode) {
        try {
            //判断患者是否有签约
            SignFamily signFamily=signFamilyDao.findByPatient(patientCode);
            if(signFamily==null){
                return false;
            }
            //修改患者的服务状态为删除
            signFamilyServiceDao.deletePatientService(patientCode,serviceCode,signFamily.getCode());
            //修改患者的服务项状态为删除
            signFamilyServiceItemDao.deletePatiengServiceItem(patientCode,serviceCode,signFamily.getCode());
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
}

+ 161 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/system/Icd10DictServcie.java

@ -0,0 +1,161 @@
package com.yihu.wlyy.service.system;
import com.yihu.wlyy.entity.dict.HealthProblemDict;
import com.yihu.wlyy.entity.dict.Icd10Dict;
import com.yihu.wlyy.repository.dict.HealthProblemDictDao;
import com.yihu.wlyy.repository.dict.HpIcd10RelationDao;
import com.yihu.wlyy.repository.dict.Icd10DictDao;
import com.yihu.wlyy.util.DateUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.thymeleaf.util.DartUtils;
import javax.annotation.PostConstruct;
import java.util.*;
/**
 * Created by chenweida on 2017/8/9.
 */
@Service
public class Icd10DictServcie {
    private final String keyIcd10 = "dict:idc:Icd10:";
    private final String keyHealthProblem = "dict:idc:HealthProblem:";
    private final String keyDict2healthProblem = "dict:idc:Icd10ToHealthProblem:";
    private final String keyHealthProblem2Dict = "dict:idc:HealthProblemToIcd10:";
    private final String ok = "dict:idc:Icd10:init";
    @Autowired
    private StringRedisTemplate redisTemplate;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * 根据icd10的 code 获取name
     *
     * @param Icd10Code
     * @return
     */
    public String getIcd10Name(String Icd10Code) {
        return redisTemplate.opsForValue().get(keyIcd10 + Icd10Code);
    }
    /**
     * 根据健康问题code获取name
     *
     * @param HealthProblemCode
     * @return
     */
    public String getHealthProblemName(String HealthProblemCode) {
        return redisTemplate.opsForValue().get(keyHealthProblem + HealthProblemCode);
    }
    /**
     * 根据icd10的 code 获取全部的健康问题
     *
     * @param Icd10Code
     * @return
     */
    public String getHealthProblemsByIcd10Code(String Icd10Code) {
        return redisTemplate.opsForValue().get(keyDict2healthProblem + Icd10Code);
    }
    /**
     * 根据健康问题的 code 获取全部的icd10
     *
     * @param HealthProblemCode
     * @return
     */
    public String getIcd10ByHealthProblemCode(String HealthProblemCode) {
        return redisTemplate.opsForValue().get(keyHealthProblem2Dict + HealthProblemCode);
    }
    //==============================初始化数据到redis=============================
    /**
     * 把icd10缓存到redis
     *
     * @return
     */
    @PostConstruct
    public boolean cacheDict() {
        if (redisTemplate.hasKey(ok)) {
            return true;
        }
        List<HealthProblemDict> healthProblemDicts = getHealthProblemDicts();
        //缓存keyIcd10
        cacheIcd10(healthProblemDicts);
        //缓存keyHealthProblem
        cacheHealthProblem(healthProblemDicts);
        //缓存keyHealthProblem2Dict
        cacheHealthProblem2Dict(healthProblemDicts);
        //缓存keyDict2healthProblem
        cacheDict2healthProblem(healthProblemDicts);
        redisTemplate.opsForValue().set(ok, DateUtil.dateToStrLong(new Date()) + "初始化完成");
        return true;
    }
    @Async
    private void cacheIcd10(List<HealthProblemDict> healthProblemDicts) {
        healthProblemDicts.stream().forEach(one -> {
            String key = keyIcd10 + one.getCode();
            redisTemplate.opsForValue().set(key, one.getName());
        });
    }
    @Async
    private void cacheHealthProblem(List<HealthProblemDict> healthProblemDicts) {
        healthProblemDicts.stream().forEach(one -> {
            String key = keyHealthProblem + one.getHpcode();
            redisTemplate.opsForValue().set(key, one.getHpname());
        });
    }
    /**
     * key是 code   value是 hpcode  1对1
     */
    @Async
    private void cacheDict2healthProblem(List<HealthProblemDict> healthProblemDicts) {
        healthProblemDicts.stream().forEach(one -> {
            String key = keyDict2healthProblem + one.getCode();
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("key", one.getHpcode());
            jsonObject.put("value", one.getHpname());
            redisTemplate.opsForValue().set(key, jsonObject.toString());
        });
    }
    /**
     * key是 hpcode    value是 code  1对多
     */
    @Async
    private void cacheHealthProblem2Dict(List<HealthProblemDict> healthProblemDicts) {
        Map<String, List<KeyValueModel>> saveMap = new HashMap<>();
        healthProblemDicts.stream().forEach(one -> {
            List<KeyValueModel> valueList = saveMap.get(one.getHpcode());
            if (valueList == null) {
                valueList = new ArrayList<KeyValueModel>();
            }
            valueList.add(new KeyValueModel(one.getCode(), one.getName()));
            saveMap.put(one.getHpcode(), valueList);
        });
        for (Map.Entry<String, List<KeyValueModel>> one : saveMap.entrySet()) {
            String key = keyHealthProblem2Dict + one.getKey();
            redisTemplate.opsForValue().set(key, JSONArray.fromObject(one.getValue()).toString());
        }
    }
    private List<HealthProblemDict> getHealthProblemDicts() {
        String sql = "select i.*,p.code hpcode,p.`name` hpname from icd10_dict i,hp_icd10_relation hp,health_problem_dict p where i.id=hp.icd10_id and hp.hp_id=p.id";
        return jdbcTemplate.query(sql, new BeanPropertyRowMapper(HealthProblemDict.class));
    }
}

+ 30 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/system/KeyValueModel.java

@ -0,0 +1,30 @@
package com.yihu.wlyy.service.system;
/**
 * Created by chenweida on 2017/8/9.
 */
public class KeyValueModel {
    private String key;
    private String value;
    public KeyValueModel(String key, String value) {
        this.key = key;
        this.value = value;
    }
    public String getKey() {
        return key;
    }
    public void setKey(String key) {
        this.key = key;
    }
    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
}

+ 77 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/common/icd/Icd10Controller.java

@ -0,0 +1,77 @@
package com.yihu.wlyy.web.common.icd;
import com.yihu.wlyy.service.system.Icd10DictServcie;
import com.yihu.wlyy.web.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
 * Created by chenweida on 2017/8/9.
 */
@RestController
@RequestMapping("/idc10/")
@Api(description = "icd10和健康问题接口管理")
public class Icd10Controller extends BaseController {
    @Autowired
    private Icd10DictServcie icd10DictServcie;
    @ApiOperation("根据icd10字典的code找到name")
    @RequestMapping(value = "/getIdc10NameByCode", method = RequestMethod.GET)
    public String getTopic(
            @ApiParam(required = true, name = "code", value = "icd10字典code") @RequestParam(required = true, value = "code") String code) {
        try {
            return write(200, "查询成功", "data", icd10DictServcie.getIcd10Name(code));
        } catch (Exception e) {
            return error(-1, e.getMessage());
        }
    }
    @ApiOperation("根据icd10的code找到健康问题字典")
    @RequestMapping(value = "/getIcd10ByHealthProCode", method = RequestMethod.GET)
    public String getIcd10ByHealthProCode(
            @ApiParam(required = true, name = "code", value = "icd10字典code") @RequestParam(required = true, value = "code") String code) {
        try {
            return write(200, "查询成功", "data", icd10DictServcie.getIcd10ByHealthProblemCode(code));
        } catch (Exception e) {
            return error(-1, e.getMessage());
        }
    }
    @ApiOperation("根据健康问题字典的code找到name")
    @RequestMapping(value = "/getHealthProNameByCode", method = RequestMethod.GET)
    public String getHealthProNameByCode(
            @ApiParam(required = true, name = "code", value = "健康问题字典code") @RequestParam(required = true, value = "code") String code) {
        try {
            return write(200, "查询成功", "data", icd10DictServcie.getHealthProblemName(code));
        } catch (Exception e) {
            return error(-1, e.getMessage());
        }
    }
    @ApiOperation("根据健康问题字典的code找到icd10字典")
    @RequestMapping(value = "/getHealthProByIcd10Code", method = RequestMethod.GET)
    public String getHealthProByIcd10Code(
            @ApiParam(required = true, name = "code", value = "健康问题字典code") @RequestParam(required = true, value = "code") String code) {
        try {
            return write(200, "查询成功", "data", icd10DictServcie.getHealthProblemsByIcd10Code(code));
        } catch (Exception e) {
            return error(-1, e.getMessage());
        }
    }
    @ApiOperation("初始化全部数据到redis")
    @RequestMapping(value = "/init2Redis", method = RequestMethod.POST)
    public String init2Redis() {
        try {
            icd10DictServcie.cacheDict();
            return write(200, "查询成功");
        } catch (Exception e) {
            return error(-1, e.getMessage());
        }
    }
}

+ 1 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/data/DataHandlingController.java

@ -72,4 +72,5 @@ public class DataHandlingController extends BaseController {
            return error(-1, e.getMessage());
        }
    }
}

+ 73 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/sign/PatientSignFamilyServiceNoFilterController.java

@ -0,0 +1,73 @@
package com.yihu.wlyy.web.patient.sign;
import com.alibaba.fastjson.JSONObject;
import com.yihu.wlyy.entity.service.ServiceItem;
import com.yihu.wlyy.service.app.sign.SignFamilyServiceService;
import com.yihu.wlyy.web.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
 * Created by chenweida on 2017/8/8.
 */
@RestController
@Api(description = "患者签约服务(没有走拦截器)")
@RequestMapping("/nofilter/sign/service")
public class PatientSignFamilyServiceNoFilterController extends BaseController {
    @Autowired
    private SignFamilyServiceService signFamilyServiceService;
    @RequestMapping(value = "/getPatientService", method = RequestMethod.GET)
    @ApiOperation("根据患者code获取患者的服务")
    public String getPatientService(
            @RequestParam(required = false, value = "patientCode") @ApiParam(required = false, value = "患者code", name = "patientCode") String patientCode
    ) {
        try {
            List<ServiceItem> serviceItems = signFamilyServiceService.getPatientServiceItem(patientCode, null);
            return write(200, "请求成功", "data", serviceItems);
        } catch (Exception e) {
            return error(-1, e.getMessage());
        }
    }
    @RequestMapping(value = "/patientAddService", method = RequestMethod.POST)
    @ApiOperation("给患者添加服务")
    public String patientAddService(
            @RequestParam(required = true, value = "patientCodes") @ApiParam(required = true, value = "患者code,多个逗号分割", name = "patientCodes") String patientCodes,
            @RequestParam(required = true, value = "serviceCode") @ApiParam(required = true, value = "服务code", name = "serviceCode") String serviceCode
    ) {
        try {
            String[] patientCode = patientCodes.split(",");
            JSONObject jsonObject = signFamilyServiceService.patientsAddService(Arrays.asList(patientCode), serviceCode);
            return write(200, "请求成功", "data", jsonObject);
        } catch (Exception e) {
            return error(-1, e.getMessage());
        }
    }
    @RequestMapping(value = "/patientDeleteService", method = RequestMethod.POST)
    @ApiOperation("给患者删除服务")
    public String patientDeleteService(
            @RequestParam(required = true, value = "patientCodes") @ApiParam(required = true, value = "患者code,多个逗号分割", name = "patientCodes") String patientCodes,
            @RequestParam(required = true, value = "serviceCode") @ApiParam(required = true, value = "服务code", name = "serviceCode") String serviceCode
    ) {
        try {
            String[] patientCode = patientCodes.split(",");
            JSONObject jsonObject = signFamilyServiceService.patientsDeleteService(Arrays.asList(patientCode), serviceCode);
            return write(200, "请求成功", "data", jsonObject);
        } catch (Exception e) {
            return error(-1, e.getMessage());
        }
    }
}