Browse Source

Merge remote-tracking branch 'origin/dev' into dev

hill9868 5 years ago
parent
commit
3cee9c6b40
16 changed files with 1044 additions and 194 deletions
  1. 12 0
      business/base-service/src/main/java/com/yihu/jw/hospital/doctor/dao/DoctorWorkTimeDao.java
  2. 27 2
      business/base-service/src/main/java/com/yihu/jw/hospital/mapping/service/PatientMappingService.java
  3. 111 18
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java
  4. 53 23
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java
  5. 2 0
      business/base-service/src/main/java/com/yihu/jw/patient/dao/BasePatientDao.java
  6. 1 1
      business/base-service/src/mqConfig/mqdata/BS10112.json
  7. 157 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/doctor/WlyyDoctorWorkTimeDO.java
  8. 248 0
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyOutpatientDO.java
  9. 44 142
      common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyPrescriptionDO.java
  10. 4 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java
  11. 251 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/prescription/WlyyOutpatientVO.java
  12. 22 0
      common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/prescription/WlyyPrescriptionVO.java
  13. 3 0
      gateway/ag-basic/src/main/resources/application.yml
  14. 14 8
      svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/MqSdkController.java
  15. 46 0
      svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/third/PrescriptionUpdateController.java
  16. 49 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

+ 12 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/doctor/dao/DoctorWorkTimeDao.java

@ -0,0 +1,12 @@
package com.yihu.jw.hospital.doctor.dao;
import com.yihu.jw.entity.hospital.doctor.WlyyDoctorWorkTimeDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by Trick on 2019/5/31.
 */
public interface DoctorWorkTimeDao extends PagingAndSortingRepository<WlyyDoctorWorkTimeDO, String>, JpaSpecificationExecutor<WlyyDoctorWorkTimeDO> {
    
}

+ 27 - 2
business/base-service/src/main/java/com/yihu/jw/hospital/mapping/service/PatientMappingService.java

@ -1,13 +1,18 @@
package com.yihu.jw.hospital.mapping.service;
import com.alibaba.fastjson.JSONArray;
import com.yihu.jw.entity.base.patient.BasePatientDO;
import com.yihu.jw.patient.dao.BasePatientDao;
import net.sf.json.JSONArray;
import com.yihu.jw.entity.hospital.mapping.PatientMappingDO;
import com.yihu.jw.hospital.mapping.dao.PatientMappingDao;
import com.yihu.jw.hospital.prescription.service.entrance.EntranceService;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.Date;
/**
 * Created by Trick on 2019/5/27.
 * 互联网医院居民信息映射
@ -17,6 +22,8 @@ public class PatientMappingService {
    @Autowired
    private PatientMappingDao patientMappingDao;
    @Autowired
    private BasePatientDao basePatientDao;
    @Autowired
    private EntranceService entranceService;
@ -29,8 +36,26 @@ public class PatientMappingService {
        if(patientMappingDO!=null){
            return patientMappingDO.getMappingCode();
        }
        entranceService.BS15018(null,idCard,demoFlag);
        JSONArray rs = entranceService.BS15018(null,idCard,demoFlag);
        if(rs!=null&&rs.size()>0){
            //获取居民信息
            JSONObject json = rs.getJSONObject(0);
            String mappingCode = json.getString("PAT_NO");
            BasePatientDO patientDO =  basePatientDao.findByIdcardAndDel(idCard,"1");
            //存储对应映射关系
            PatientMappingDO mappingDO = new PatientMappingDO();
            mappingDO.setSource("1");
            mappingDO.setPatientName(patientDO.getName());
            mappingDO.setPatient(patientDO.getId());
            mappingDO.setMappingCode(mappingCode);
            mappingDO.setCreateTime(new Date());
            mappingDO.setIdcard(patientDO.getIdcard());
            patientMappingDao.save(mappingDO);
            return mappingCode;
        }
        return null;
    }
}

+ 111 - 18
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java

@ -1,6 +1,5 @@
package com.yihu.jw.hospital.prescription.service;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
@ -13,36 +12,42 @@ import com.yihu.jw.entity.hospital.consult.WlyyHospitalWaitingRoomDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionDiagnosisDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionExpressageDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionInfoDO;
import com.yihu.jw.hospital.consult.dao.DoctorClinicRoomConsultDao;
import com.yihu.jw.hospital.consult.dao.HospitalWaitingRoomDao;
import com.yihu.jw.hospital.mapping.dao.PatientMappingDao;
import com.yihu.jw.hospital.prescription.dao.PrescriptionDao;
import com.yihu.jw.hospital.prescription.dao.PrescriptionDiagnosisDao;
import com.yihu.jw.hospital.prescription.dao.PrescriptionExpressageDao;
import com.yihu.jw.hospital.prescription.dao.PrescriptionInfoDao;
import com.yihu.jw.hospital.prescription.service.entrance.EntranceService;
import com.yihu.jw.org.dao.BaseOrgDao;
import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.patient.dao.BasePatientMedicareCardDao;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionDiagnosisVO;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionExpressageVO;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionInfoVO;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionVO;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.rm.base.BaseRequestMapping;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.mysql.query.BaseJpaService;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * Created by Trick on 2019/5/17.
@ -75,8 +80,69 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    private DictHospitalDeptDao dictHospitalDeptDao;
    @Autowired
    private BaseOrgDao baseOrgDao;
    @Autowired
    private EntranceService entranceService;
    @Autowired
    private PatientMappingDao patientMappingDao;
    @Value("${demo.flag}")
    private boolean demoFlag;
    /**
     * 获取居民就诊记录接口
     * @param patNo
     * @param startTime
     * @param endTime
     * @param demoFlag
     * @return
     * @throws Exception
     */
    public JSONArray findOutpatientList(String patNo, String startTime, String endTime, boolean demoFlag)throws Exception{
        return entranceService.BS30025(patNo,startTime,endTime,demoFlag);
    }
    /**
     * 原处方记录列表
     * @param registerSn
     * @param patNo
     * @param admNo
     * @param demoFlag
     * @return
     * @throws Exception
     */
    public List<WlyyPrescriptionVO> findOriginPrescriptionList(String registerSn,String patNo,String admNo,boolean demoFlag)throws Exception{
        return entranceService.BS16017(registerSn,patNo,admNo,null,demoFlag);
    }
    /**
     * 获取单条处方记录
     * @param registerSn
     * @param patNo
     * @param admNo
     * @param realOrder
     * @param demoFlag
     * @return
     * @throws Exception
     */
    public WlyyPrescriptionVO findOriginPrescription(String registerSn, String patNo, String admNo, String realOrder, boolean demoFlag)throws Exception{
        List<WlyyPrescriptionVO> rs = entranceService.BS16017(registerSn,patNo,admNo,realOrder,demoFlag);
        if(rs!=null&&rs.size()>0){
            return rs.get(0);
        }
        return null;
    }
    /**
     * 查询历史
     * @param patient
     * @param status
     * @param startTime
     * @param endTime
     * @param page
     * @param size
     * @return
     */
    public MixEnvelop findPrescriptionList(String patient, String status,String startTime, String endTime, Integer page, Integer size){
        String totalSql ="SELECT " +
@ -85,7 +151,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                " wlyy_prescription p ";
        totalSql += " WHERE 1=1 ";
        if(StringUtils.isNotBlank(patient)){
            totalSql+=" AND p.patient ='"+patient+"'";
            totalSql+=" AND p.patient_code ='"+patient+"'";
        }
        if(StringUtils.isNotBlank(status)){
            totalSql+=" AND p.status IN ("+status+")";
@ -150,7 +216,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                " wlyy_prescription p " +
                " WHERE 1=1 ";
        if(StringUtils.isNotBlank(patient)){
            sql+=" AND p.patient ='"+patient+"'";
            sql+=" AND p.patient_code ='"+patient+"'";
        }
        if(StringUtils.isNotBlank(status)){
            sql+=" AND p.status IN ("+status+")";
@ -164,10 +230,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        sql += " LIMIT " + (page - 1) * size + "," + size + "";
        List<WlyyPrescriptionVO> list = jdbcTemplate.query(sql, new BeanPropertyRowMapper(WlyyPrescriptionVO.class));
        //设置病种
        //设置病种,药品
        if(list!=null&&list.size()>0){
            for(WlyyPrescriptionVO vo:list){
                vo.setDiagnosisVOs(findDiagnosisById(vo.getId()));
                List<WlyyPrescriptionInfoVO> infoVOs = new ArrayList<>();
                vo.setInfoVOs(convertToModels(prescriptionInfoDao.findByPrescriptionId(vo.getId()),infoVOs,WlyyPrescriptionInfoVO.class));
            }
        }
@ -229,7 +297,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
     * @param json
     * @return
     */
    public Boolean appointmentRevisit(JSONObject json){
    public Boolean appointmentRevisit(JSONObject json)throws Exception{
        //1.创建支付
@ -243,22 +311,19 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
     * @param json
     * @return
     */
    public String paymentCallback(JSONObject json){
    public String paymentCallback(JSONObject json)throws Exception{
        //创建续方
        createPrescription(json);
        //创建诊室
        createRoom(json);
        return null;
    }
    public Boolean createPrescription(JSONObject json){
    public Boolean createPrescription(JSONObject json) throws Exception{
        String patient = json.getString("patient");
        String doctor = json.getString("doctor");
        String dept = json.getString("dept");
        String hospital = json.getString("hospital");
        String reservationTime = json.getString("reservationTime");
        Integer consultType = json.getInteger("consultType");
        String originRealOrder = json.getString("originRealOrder");
        String originAdmNo = json.getString("originAdmNo");
@ -268,8 +333,14 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        BasePatientDO basePatientDO = basePatientDao.findById(patient);
        PatientMedicareCardDO cardDO = basePatientMedicareCardDao.findByTypeAndPatientCodeAndDel(PatientMedicareCardDO.Type.MedicareCard.getType(),patient,"1");
        BaseDoctorDO baseDoctorDO = baseDoctorDao.findOne(doctor);
        String patNo  = patientMappingDao.findByIdcardAndSource(basePatientDO.getIdcard(),"1").getMappingCode();
        WlyyPrescriptionVO originPrescriptionVO = findOriginPrescription(serialNo,patNo,originAdmNo,originRealOrder,demoFlag);
        WlyyPrescriptionDO prescription = new WlyyPrescriptionDO();
        prescription.setOriginAdmNo(originAdmNo);
        prescription.setOriginRealOrder(originRealOrder);
        prescription.setOriginSerialNo(serialNo);
        prescription.setStatus(0);
        prescription.setPatientCode(patient);
        prescription.setPatientName(basePatientDO.getName());
@ -277,9 +348,18 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        prescription.setDoctor(doctor);
        prescription.setDoctorName(baseDoctorDO.getName());
        List<WlyyPrescriptionInfoVO> originInfoVOs = originPrescriptionVO.getInfoVOs();
        List<WlyyPrescriptionInfoDO> infoDOs = new ArrayList<>();
        List<WlyyPrescriptionDiagnosisVO> diagnosisVOs = originPrescriptionVO.getDiagnosisVOs();
        List<WlyyPrescriptionDiagnosisDO> diagnosisDOs = new ArrayList<>();
        prescriptionInfoDao.save(convertToModels(originInfoVOs,infoDOs,WlyyPrescriptionInfoDO.class));
        prescriptionDiagnosisDao.save(convertToModels(diagnosisVOs,diagnosisDOs,WlyyPrescriptionDiagnosisDO.class));
        prescriptionDao.save(prescription);
        return true;
    }
    public Boolean createRoom(JSONObject json){
        String patient = json.getString("patient");
@ -287,7 +367,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        String dept = json.getString("dept");
        String hospital = json.getString("hospital");
        String reservationTime = json.getString("reservationTime");
        Integer consultType = json.getInteger("consultType");
        Integer consultType = json.getInt("consultType");
        BasePatientDO basePatientDO = basePatientDao.findById(patient);
        BaseDoctorDO baseDoctorDO = baseDoctorDao.findOne(doctor);
@ -338,4 +418,17 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    }
    /**
     *
     * @return
     */
    public boolean updatePrescriptionByHisStatu(String admNo,String realOrder,String status)throws Exception{
        //TODO 状态需要再判断
        String sql="UPDATE base.wlyy_prescription p SET p.`status`='',p.pay_status='' WHERE p.adm_no='"+admNo+"' AND p.real_order='"+realOrder+"' ";
        jdbcTemplate.execute(sql);
        return true;
    }
}

+ 53 - 23
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java

@ -67,6 +67,12 @@ public class EntranceService {
    @Autowired
    private HospitalDeptMappingDao hospitalDeptMappingDao;
    /**
     * 获取本地示例返参
     * @param fid 服务id
     * @return
     * @throws Exception
     */
    public String getJosnFileResullt(String fid) throws Exception {
        String contentStr = null;
        Resource resource = new ClassPathResource("mqConfig/mqdata/" + fid + ".json");
@ -97,7 +103,7 @@ public class EntranceService {
    /**
     * 查询门诊余额
     * @param cardNo 身份证号码
     * @param cardNo 身份证号码,必传参数
     * @param demoFlag 是否使用demo.不请求接口。true代表获取本地数据,false代表获取his数据
     * @return
     * @throws Exception
@ -130,8 +136,8 @@ public class EntranceService {
    /**
     * 门诊就诊卡列表
     * @param SOCIAL_NO 身份证号
     * @param CARD_NO 就诊卡号
     * @param SOCIAL_NO 身份证号,二者不能都为空
     * @param CARD_NO 就诊卡号,二者不能都为空
     * @return
     * @throws Exception
     */
@ -165,10 +171,10 @@ public class EntranceService {
    /**
     * 门诊处方信息(所有处方)根据处方信息封装到实体中
     * @param REGISTER_SN 流水号
     * @param realOrder 处方号
     * @param PAT_NO 病人id
     * @param ADM_NO 就诊唯一号
     * @param REGISTER_SN 流水号,选择输入参数,该参数输入时获取该病人的此次就诊的所有处方
     * @param realOrder 处方号 ,选择输入参数,该参数输入时获取到处方号为realOrder的处方
     * @param PAT_NO 病人id ,必传参数,只传病人id时,获取该病人的所有处方
     * @param ADM_NO 就诊唯一号 ,选择输入参数,该参数输入时获取该病人的此次就诊的所有处方
     * @param demoFlag 是否获取demo数据
     * @return
     * @throws Exception
@ -206,8 +212,8 @@ public class EntranceService {
        return convertWlyyPrescriptionVOInBodyRow(resp);
    }
    /**
     * 返回对象数组数据解析
     * @param obj
     * 处方(处方主体+诊断+药品)适配
     * @param obj 接口返回参数
     * @return
     * @throws Exception
     */
@ -287,7 +293,7 @@ public class EntranceService {
                                    wlyyPrescriptionVO = wlyyPrescriptionVOMap.get(realOrder);
                                }
                                //药品
                                //封装药品
                                wlyyPrescriptionInfoVO = new WlyyPrescriptionInfoVO();
                                wlyyPrescriptionInfoVO.setPrescriptionId(realOrder);
                                wlyyPrescriptionInfoVO.setDrugNo(null != jsonObjectBody.get("DRUG_CODE") ? jsonObjectBody.get("DRUG_CODE").toString() : "");
@ -342,7 +348,7 @@ public class EntranceService {
    }
    /**
     * 初始化诊断信息
     * 初始化处方诊断信息
     * @param icdCode
     * @param icdName
     * @param type
@ -362,10 +368,15 @@ public class EntranceService {
    /**
     *  患者门诊就诊记录
     *  使用时间查询的话,很可能会超时。时间没有索引,所以超时时间需要加长
     *  @param PAT_NO 居民唯一号 一个居民在该医院只有一个号,该接口必须输入的参数
     *  @param admNo 就诊唯一号 每一次就诊都有一个唯一号:居民号+就诊次数,查询确定的一条就诊记录时需要传,否则传null
     *  @param registerSn 挂号流水号,查询确定的一条就诊记录时需要传,否则传null
     *  @param startTime 开始时间 (查询一段时间内就诊记录开始时间,查询就诊记录列表时需要传,否则传null)
     *  @param endTime  结束时间 (查询一段时间内就诊记录结束时间,查询就诊记录列表时需要传,否则传null)
     * @return
     * @throws Exception
     */
    public JSONArray BS30025(String PAT_NO,String startTime,String endTime,boolean demoFlag) throws Exception {
    public JSONArray BS30025(String PAT_NO,String admNo,String registerSn,String startTime,String endTime,boolean demoFlag) throws Exception {
        String fid=BS30025;
        String resp = "";
        if (demoFlag) {
@ -381,6 +392,12 @@ public class EntranceService {
            if (StringUtils.isNotBlank(PAT_NO)) {
                sbs.append("<query compy=\"=\" item=\"PAT_NO\" splice=\"and\" value=\"'" + PAT_NO + "'\"/>");
            }
            if (StringUtils.isNotBlank(admNo)) {
                sbs.append("<query compy=\"=\" item=\"ADM_NO\" splice=\"and\" value=\"'" + admNo + "'\"/>");
            }
            if (StringUtils.isNotBlank(registerSn)) {
                sbs.append("<query compy=\"=\" item=\"REGISTER_SN\" splice=\"and\" value=\"'" + registerSn + "'\"/>");
            }
            if (StringUtils.isNotBlank(startTime)) {
                sbs.append("<query compy=\"&gt;=\" item=\"CON_DATE\" splice=\"and\" value=\"'" + startTime + "'\"/>");
            }
@ -416,6 +433,11 @@ public class EntranceService {
    /**
     *  医院药品字典(所有字典一次返回)
     *  @param charge_code 药品收费码 非必传
     *  @param py_code 药品拼音码 非必传
     *  @param stock_amount 库存 非必传
     *  @param win_no 分部 必传 6总部7金榜8夏禾
     *  @param visible_flag 是否可用 必传 可用标志(0可用1不可用)
     * @return
     * @throws Exception
     */
@ -457,10 +479,12 @@ public class EntranceService {
    /**
     *  门诊给药方式
     *  @param supply_code 药品编码,非必传参数
     *  @param py_code 药品拼音码,非必传参数
     * @return
     * @throws Exception
     */
    public JSONArray BS10110(String supply_code,boolean demoFlag) throws Exception {
    public JSONArray BS10110(String supply_code,String py_code,boolean demoFlag) throws Exception {
        String fid=BS10110;
        String resp="";
        if (demoFlag) {
@ -476,6 +500,9 @@ public class EntranceService {
            if (StringUtils.isNotBlank(supply_code)) {
                sbs.append("<query compy=\"=\" item=\"supply_code\" splice=\"and\" value=\"'" + supply_code + "'\"/>");
            }
            if(StringUtils.isNotBlank(py_code)){
                sbs.append("<query compy=\"=\" item=\"py_code\" splice=\"and\" value=\"'"+py_code+"'\"/>");
            }
            sbs.append("<startNum>1</startNum></MsgInfo></ESBEntry>");
            resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
            resp = MqSdkUtil.xml2jsonArrayRootRow(resp);
@ -486,11 +513,11 @@ public class EntranceService {
    /**
     *  线上挂号
     *  @param card_no 卡号
     *  @param doctor 医生工号
     *  @param dept 科室编码
     *  @param charge_type 号别
     *  @param win_no 分部号
     *  @param card_no 卡号 必传
     *  @param doctor 医生工号 必传
     *  @param dept 科室编码 必传
     *  @param charge_type 号别,现已和医生绑定,一个医生一个号别可随意传
     *  @param win_no 分部号 必传
     * @return
     * @throws Exception
     */
@ -519,6 +546,7 @@ public class EntranceService {
    /**
     *  线上处方
     *  @param jsonData 处方实体数组,实体注释见WlyyHisPrescriptionVO
     * @return
     * @throws Exception
     */
@ -580,10 +608,10 @@ public class EntranceService {
    /**
     *  医生挂号权限查询接口
     *  @param doctor_code 医生工号
     *  @param dept 科室编码
     *  @param charge_type 号别
     *  @param win_no 分部号
     *  @param doctor_code 医生工号 必传
     *  @param dept 科室编码 必传
     *  @param charge_type 号别 必传
     *  @param win_no 分部号 必传
     * @return
     * @throws Exception
     */
@ -620,7 +648,7 @@ public class EntranceService {
    }
    /**
     *  科室字典
     *  科室字典同步
     * @return
     * @throws Exception
     */
@ -734,6 +762,7 @@ public class EntranceService {
    /**
     * 诊断编码
     * @param py_code 拼音码 非必传
     * @return
     * @throws Exception
     */
@ -762,6 +791,7 @@ public class EntranceService {
    /**
     * 检查检验
     * @param py_code 拼音码 非必传
     * @return
     * @throws Exception
     */

+ 2 - 0
business/base-service/src/main/java/com/yihu/jw/patient/dao/BasePatientDao.java

@ -17,6 +17,8 @@ public interface BasePatientDao extends PagingAndSortingRepository<BasePatientDO
    BasePatientDO findById(String id);
    BasePatientDO findByIdcardAndDel(String Idcard,String del);
    @Query("select id as id,idcard as idcard,name as name,case sex when 1 then '男' when 2 then '女' else '未知' end as sex,mobile as phone,committeeName as committeeName,concat(provinceName,cityName,townName,streetName) as address from BasePatientDO where idcard like ?1")
    List<Map<String,Object>> findByIdcard(String idcard, Pageable pageable);

+ 1 - 1
business/base-service/src/mqConfig/mqdata/BS10112.json

@ -1 +1 @@
{"code":"1","MsgInfo":[{"resquest":{"@RESULT":"0","@MSG":"完成"}}]}
{"code":"1","MsgInfo":[{"resquest":{"@RESULT":"0","@MSG":"完成","@ADM_NO":"P10517099-0 (66)","@real_order":"484310182"}}]}

+ 157 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/doctor/WlyyDoctorWorkTimeDO.java

@ -0,0 +1,157 @@
package com.yihu.jw.entity.hospital.doctor;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
 * Created by Trick on 2019/5/31.
 */
@Entity
@Table(name = "wlyy_doctor_work_time")
public class WlyyDoctorWorkTimeDO extends UuidIdentityEntity {
    private String doctor;//医生code',
    private String doctorName;//医生名称',
    private String hospital;//医院code
    private String hospitalName;//医院名称
    private String dept;//部门
    private String deptName;//部门名称
    private String registerCode;//挂号code',
    private String registerName;//挂号类别名称
    private Double registerFee;//费用
    private String type;//1.线上;2.线下',
    private String timeType;//1.上午 7:00~12:00;2.下午12:00~18:00;4.晚上 其他时间段',
    private Date startTime;//开始时间',
    private Date endTime;//结束时间',
    private Date date;//排班日期',
    private Date createTime;//创建时间',
    public String getDoctor() {
        return doctor;
    }
    public void setDoctor(String doctor) {
        this.doctor = doctor;
    }
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    public String getHospital() {
        return hospital;
    }
    public void setHospital(String hospital) {
        this.hospital = hospital;
    }
    public String getHospitalName() {
        return hospitalName;
    }
    public void setHospitalName(String hospitalName) {
        this.hospitalName = hospitalName;
    }
    public String getDept() {
        return dept;
    }
    public void setDept(String dept) {
        this.dept = dept;
    }
    public String getDeptName() {
        return deptName;
    }
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
    public String getRegisterCode() {
        return registerCode;
    }
    public void setRegisterCode(String registerCode) {
        this.registerCode = registerCode;
    }
    public String getRegisterName() {
        return registerName;
    }
    public void setRegisterName(String registerName) {
        this.registerName = registerName;
    }
    public Double getRegisterFee() {
        return registerFee;
    }
    public void setRegisterFee(Double registerFee) {
        this.registerFee = registerFee;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public String getTimeType() {
        return timeType;
    }
    public void setTimeType(String timeType) {
        this.timeType = timeType;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getStartTime() {
        return startTime;
    }
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getEndTime() {
        return endTime;
    }
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getDate() {
        return date;
    }
    public void setDate(Date date) {
        this.date = date;
    }
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}

+ 248 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyOutpatientDO.java

@ -0,0 +1,248 @@
package com.yihu.jw.entity.hospital.prescription;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.entity.UuidIdentityEntity;
import com.yihu.jw.entity.UuidIdentityEntityWithOperator;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.util.Date;
/**
* 门诊信息表实体
*
* @author Administrator on  2019年05月31日
*
*/
@Entity
@Table(name = "wlyy_outpatient")
public class WlyyOutpatientDO extends UuidIdentityEntity {
    /**
	 * 每次就诊唯一号
	 */
	private String admNo;
    /**
	 * 原始每次就诊唯一号
	 */
	private String originAdmNo;
    /**
	 * 挂号流水号
	 */
	private String registerNo;
    /**
	 * 原始挂号流水号
	 */
	private String originRegisterNo;
    /**
	 * 部门
	 */
	private String dept;
    /**
	 * 部门名称
	 */
	private String deptName;
    /**
	 * 居民code
	 */
	private String patient;
    /**
	 * 居民名称
	 */
	private String patientName;
    /**
	 * 医生code
	 */
	private String doctor;
    /**
	 * 医生名称
	 */
	private String doctorName;
    /**
	 * 身份证号
	 */
	private String idcard;
    /**
	 * 门急诊标记(MZ门诊,JZ急诊)
	 */
	private String mjz;
    /**
	 * 诊断编码
	 */
	private String icd10;
    /**
	 * icd10_name
	 */
	private String icd10Name;
    /**
	 * 挂号时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	private Date admDate;
    /**
	 * 就诊时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	private Date conDate;
    /**
	 * -1 取消;0 候诊中 ;1 就诊中 ;2 已诊
	 */
	private String status;
	@Column(name = "adm_no")
    public String getAdmNo() {
        return admNo;
    }
    public void setAdmNo(String admNo) {
        this.admNo = admNo;
    }
	@Column(name = "origin_adm_no")
    public String getOriginAdmNo() {
        return originAdmNo;
    }
    public void setOriginAdmNo(String originAdmNo) {
        this.originAdmNo = originAdmNo;
    }
	@Column(name = "register_no")
    public String getRegisterNo() {
        return registerNo;
    }
    public void setRegisterNo(String registerNo) {
        this.registerNo = registerNo;
    }
	@Column(name = "origin_register_no")
    public String getOriginRegisterNo() {
        return originRegisterNo;
    }
    public void setOriginRegisterNo(String originRegisterNo) {
        this.originRegisterNo = originRegisterNo;
    }
	@Column(name = "dept")
    public String getDept() {
        return dept;
    }
    public void setDept(String dept) {
        this.dept = dept;
    }
	@Column(name = "dept_name")
    public String getDeptName() {
        return deptName;
    }
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
	@Column(name = "patient")
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
	@Column(name = "patient_name")
    public String getPatientName() {
        return patientName;
    }
    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }
	@Column(name = "doctor")
    public String getDoctor() {
        return doctor;
    }
    public void setDoctor(String doctor) {
        this.doctor = doctor;
    }
	@Column(name = "doctor_name")
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
	@Column(name = "idcard")
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }
	@Column(name = "mjz")
    public String getMjz() {
        return mjz;
    }
    public void setMjz(String mjz) {
        this.mjz = mjz;
    }
	@Column(name = "icd10")
    public String getIcd10() {
        return icd10;
    }
    public void setIcd10(String icd10) {
        this.icd10 = icd10;
    }
	@Column(name = "icd10_name")
    public String getIcd10Name() {
        return icd10Name;
    }
    public void setIcd10Name(String icd10Name) {
        this.icd10Name = icd10Name;
    }
	@Column(name = "adm_date")
    public Date getAdmDate() {
        return admDate;
    }
    public void setAdmDate(Date admDate) {
        this.admDate = admDate;
    }
	@Column(name = "con_date")
    public Date getConDate() {
        return conDate;
    }
    public void setConDate(Date conDate) {
        this.conDate = conDate;
    }
	@Column(name = "status")
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
}

+ 44 - 142
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyPrescriptionDO.java

@ -19,6 +19,14 @@ import java.util.Date;
@Table(name = "wlyy_prescription")
public class WlyyPrescriptionDO extends UuidIdentityEntity {
    /**
     * 门诊记录说
     */
    private String outpatientId;
    /**
     *
     */
    private String realOrder;
    /**
@ -41,6 +49,11 @@ public class WlyyPrescriptionDO extends UuidIdentityEntity {
     */
    private String serialNo;
    /**
     * 序列号
     */
    private String originSerialNo;
    /**
     * 1 处方 2 续方
     */
@ -167,6 +180,11 @@ public class WlyyPrescriptionDO extends UuidIdentityEntity {
     */
    private String reason;
    /**
     * 病症图片
     */
    private String diseaseImg;
    /**
     * 处方备注
     */
@ -177,66 +195,19 @@ public class WlyyPrescriptionDO extends UuidIdentityEntity {
     */
    private String cancelReason;
    /**
     * ca加密信息
     */
    private String caCertData;
    /**
     * ca指纹信息
     */
    private String caMessage;
    /**
     * CA数字签名唯一流水号
     */
    private String digitalSignNo;
    /**
     * 原文的MD5摘要
     */
    private String originalDataAbstract;
    /**
     * CA原文数据
     */
    private String strOriginalData;
    /**
     * his-开处方的科室编码
     */
    private String hisDeptCode;
    /**
     * his-开方医生的编码
     */
    private String hisDoctorCode;
    /**
     * his-挂号类型编码
     */
    private String hisGisterTypeCode;
    /**
     * his-费别类型编码
     */
    private String hisRateTypeCode;
    /**
     * his-医院编码
     */
    private String hisHospital;
    /**
     * his-挂号费用
     */
    private Integer hisRegisterFee;
    /**
     * 处方结算状态,0为未结算,1为结算成功,默认为0
     */
    private Integer payStatus;
    @Column(name = "outpatient_id")
    public String getOutpatientId() {
        return outpatientId;
    }
    public void setOutpatientId(String outpatientId) {
        this.outpatientId = outpatientId;
    }
    @Column(name = "real_order")
    public String getRealOrder() {
@ -278,6 +249,15 @@ public class WlyyPrescriptionDO extends UuidIdentityEntity {
        this.serialNo = serialNo;
    }
    @Column(name = "origin_serial_no")
    public String getOriginSerialNo() {
        return originSerialNo;
    }
    public void setOriginSerialNo(String originSerialNo) {
        this.originSerialNo = originSerialNo;
    }
    @Column(name = "type")
    public Integer getType() {
        return type;
@ -478,93 +458,6 @@ public class WlyyPrescriptionDO extends UuidIdentityEntity {
        this.cancelReason = cancelReason;
    }
    @Column(name = "ca_cert_data")
    public String getCaCertData() {
        return caCertData;
    }
    public void setCaCertData(String caCertData) {
        this.caCertData = caCertData;
    }
    @Column(name = "ca_message")
    public String getCaMessage() {
        return caMessage;
    }
    public void setCaMessage(String caMessage) {
        this.caMessage = caMessage;
    }
    @Column(name = "digital_sign_no")
    public String getDigitalSignNo() {
        return digitalSignNo;
    }
    public void setDigitalSignNo(String digitalSignNo) {
        this.digitalSignNo = digitalSignNo;
    }
    @Column(name = "original_data_abstract")
    public String getOriginalDataAbstract() {
        return originalDataAbstract;
    }
    public void setOriginalDataAbstract(String originalDataAbstract) {
        this.originalDataAbstract = originalDataAbstract;
    }
    @Column(name = "str_original_data")
    public String getStrOriginalData() {
        return strOriginalData;
    }
    public void setStrOriginalData(String strOriginalData) {
        this.strOriginalData = strOriginalData;
    }
    @Column(name = "his_dept_code")
    public String getHisDeptCode() {
        return hisDeptCode;
    }
    public void setHisDeptCode(String hisDeptCode) {
        this.hisDeptCode = hisDeptCode;
    }
    @Column(name = "his_doctor_code")
    public String getHisDoctorCode() {
        return hisDoctorCode;
    }
    public void setHisDoctorCode(String hisDoctorCode) {
        this.hisDoctorCode = hisDoctorCode;
    }
    @Column(name = "his_gister_type_code")
    public String getHisGisterTypeCode() {
        return hisGisterTypeCode;
    }
    public void setHisGisterTypeCode(String hisGisterTypeCode) {
        this.hisGisterTypeCode = hisGisterTypeCode;
    }
    @Column(name = "his_rate_type_code")
    public String getHisRateTypeCode() {
        return hisRateTypeCode;
    }
    public void setHisRateTypeCode(String hisRateTypeCode) {
        this.hisRateTypeCode = hisRateTypeCode;
    }
    @Column(name = "his_hospital")
    public String getHisHospital() {
        return hisHospital;
    }
    public void setHisHospital(String hisHospital) {
        this.hisHospital = hisHospital;
    }
    @Column(name = "his_register_fee")
    public Integer getHisRegisterFee() {
        return hisRegisterFee;
    }
    public void setHisRegisterFee(Integer hisRegisterFee) {
        this.hisRegisterFee = hisRegisterFee;
    }
    @Column(name = "pay_status")
    public Integer getPayStatus() {
@ -573,4 +466,13 @@ public class WlyyPrescriptionDO extends UuidIdentityEntity {
    public void setPayStatus(Integer payStatus) {
        this.payStatus = payStatus;
    }
    @Column(name = "disease_img")
    public String getDiseaseImg() {
        return diseaseImg;
    }
    public void setDiseaseImg(String diseaseImg) {
        this.diseaseImg = diseaseImg;
    }
}

+ 4 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java

@ -26,6 +26,10 @@ public class BaseHospitalRequestMapping {
        public static final String PREFIX  = "/prescription";
        /**
         * 获取门诊记录
         */
        public static final String findOutpatientList = "/findOutpatientList";
        /**
         * 原处方记录
         */

+ 251 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/prescription/WlyyOutpatientVO.java

@ -0,0 +1,251 @@
package com.yihu.jw.restmodel.hospital.prescription;
import com.yihu.jw.restmodel.UuidIdentityVO;
import com.yihu.jw.restmodel.UuidIdentityVOWithOperator;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;
/**
 * 
 * 门诊信息表vo
 * 
 * @version 
 * <pre>
 * Author	Version		Date		Changes
 * Administrator 	1.0  2019年05月31日 Created
 *
 * </pre>
 * @since 1.
 */
@ApiModel(value = "WlyyOutpatientVO", description = "门诊信息表")
public class WlyyOutpatientVO extends UuidIdentityVO {
    /**
	 * 每次就诊唯一号
	 */
	@ApiModelProperty(value = "每次就诊唯一号", example = "模块1")
    private String admNo;
    /**
	 * 原始每次就诊唯一号
	 */
	@ApiModelProperty(value = "原始每次就诊唯一号", example = "模块1")
    private String originAdmNo;
    /**
	 * 挂号流水号
	 */
	@ApiModelProperty(value = "挂号流水号", example = "模块1")
    private String registerNo;
    /**
	 * 原始挂号流水号
	 */
	@ApiModelProperty(value = "原始挂号流水号", example = "模块1")
    private String originRegisterNo;
    /**
	 * 部门
	 */
	@ApiModelProperty(value = "部门", example = "模块1")
    private String dept;
    /**
	 * 部门名称
	 */
	@ApiModelProperty(value = "部门名称", example = "模块1")
    private String deptName;
    /**
	 * 居民code
	 */
	@ApiModelProperty(value = "居民code", example = "模块1")
    private String patient;
    /**
	 * 居民名称
	 */
	@ApiModelProperty(value = "居民名称", example = "模块1")
    private String patientName;
    /**
	 * 医生code
	 */
	@ApiModelProperty(value = "医生code", example = "模块1")
    private String doctor;
    /**
	 * 医生名称
	 */
	@ApiModelProperty(value = "医生名称", example = "模块1")
    private String doctorName;
    /**
	 * 身份证号
	 */
	@ApiModelProperty(value = "身份证号", example = "模块1")
    private String idcard;
    /**
	 * 门急诊标记(MZ门诊,JZ急诊)
	 */
	@ApiModelProperty(value = "门急诊标记(MZ门诊,JZ急诊)", example = "模块1")
    private String mjz;
    /**
	 * 诊断编码
	 */
	@ApiModelProperty(value = "诊断编码", example = "模块1")
    private String icd10;
    /**
	 * icd10_name
	 */
	@ApiModelProperty(value = "icd10_name", example = "模块1")
    private String icd10Name;
    /**
	 * 挂号时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	@ApiModelProperty(value = "挂号时间", example = "模块1")
    private Date admDate;
    /**
	 * 就诊时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
	@ApiModelProperty(value = "就诊时间", example = "模块1")
    private Date conDate;
    /**
	 * -1 取消;0 候诊中 ;1 就诊中 ;2 已诊
	 */
	@ApiModelProperty(value = "-1 取消;0 候诊中 ;1 就诊中 ;2 已诊", example = "模块1")
    private String status;
    public String getAdmNo() {
        return admNo;
    }
    public void setAdmNo(String admNo) {
        this.admNo = admNo;
    }
    public String getOriginAdmNo() {
        return originAdmNo;
    }
    public void setOriginAdmNo(String originAdmNo) {
        this.originAdmNo = originAdmNo;
    }
    public String getRegisterNo() {
        return registerNo;
    }
    public void setRegisterNo(String registerNo) {
        this.registerNo = registerNo;
    }
    public String getOriginRegisterNo() {
        return originRegisterNo;
    }
    public void setOriginRegisterNo(String originRegisterNo) {
        this.originRegisterNo = originRegisterNo;
    }
    public String getDept() {
        return dept;
    }
    public void setDept(String dept) {
        this.dept = dept;
    }
    public String getDeptName() {
        return deptName;
    }
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
    public String getPatient() {
        return patient;
    }
    public void setPatient(String patient) {
        this.patient = patient;
    }
    public String getPatientName() {
        return patientName;
    }
    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }
    public String getDoctor() {
        return doctor;
    }
    public void setDoctor(String doctor) {
        this.doctor = doctor;
    }
    public String getDoctorName() {
        return doctorName;
    }
    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }
    public String getIdcard() {
        return idcard;
    }
    public void setIdcard(String idcard) {
        this.idcard = idcard;
    }
    public String getMjz() {
        return mjz;
    }
    public void setMjz(String mjz) {
        this.mjz = mjz;
    }
    public String getIcd10() {
        return icd10;
    }
    public void setIcd10(String icd10) {
        this.icd10 = icd10;
    }
    public String getIcd10Name() {
        return icd10Name;
    }
    public void setIcd10Name(String icd10Name) {
        this.icd10Name = icd10Name;
    }
    public Date getAdmDate() {
        return admDate;
    }
    public void setAdmDate(Date admDate) {
        this.admDate = admDate;
    }
    public Date getConDate() {
        return conDate;
    }
    public void setConDate(Date conDate) {
        this.conDate = conDate;
    }
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
}

+ 22 - 0
common/common-rest-model/src/main/java/com/yihu/jw/restmodel/hospital/prescription/WlyyPrescriptionVO.java

@ -53,6 +53,9 @@ public class WlyyPrescriptionVO extends UuidIdentityVOWithOperator {
    @ApiModelProperty(value = "挂号流水号", example = "模块1")
    private String serialNo;
    @ApiModelProperty(value = "原始挂号流水号", example = "模块1")
    private String originSerialNo;
    /**
     * 1 处方 2 续方
     */
@ -197,6 +200,9 @@ public class WlyyPrescriptionVO extends UuidIdentityVOWithOperator {
    @ApiModelProperty(value = "续方原因", example = "模块1")
    private String reason;
    @ApiModelProperty(value = "疾病图片", example = "模块1")
    private String diseaseImg;
    /**
     * 处方备注
     */
@ -323,6 +329,14 @@ public class WlyyPrescriptionVO extends UuidIdentityVOWithOperator {
        this.serialNo = serialNo;
    }
    public String getOriginSerialNo() {
        return originSerialNo;
    }
    public void setOriginSerialNo(String originSerialNo) {
        this.originSerialNo = originSerialNo;
    }
    public Integer getType() {
        return type;
    }
@ -597,4 +611,12 @@ public class WlyyPrescriptionVO extends UuidIdentityVOWithOperator {
    public void setInfoVOs(List<WlyyPrescriptionInfoVO> infoVOs) {
        this.infoVOs = infoVOs;
    }
    public String getDiseaseImg() {
        return diseaseImg;
    }
    public void setDiseaseImg(String diseaseImg) {
        this.diseaseImg = diseaseImg;
    }
}

+ 3 - 0
gateway/ag-basic/src/main/resources/application.yml

@ -52,6 +52,9 @@ zuul:
    svr-patient:
      path: /cityihealth/patient/**
      serviceId: svr-patient
    svr-internet-hospital:
      path: /hospital/**
      serviceId: svr-internet-hospital
---
spring:

+ 14 - 8
svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/MqSdkController.java

@ -78,12 +78,16 @@ public class MqSdkController extends EnvelopRestEndpoint {
    @GetMapping(value = "/BS30025")
    @ApiOperation(value = " 查询某个时间段的患者门诊就诊记录 V1.00")
    public ListEnvelop BS30025(@ApiParam(name = "patNo", value = "居民id")
                          @RequestParam(value = "patNo",required = false) String patNo,
                          @ApiParam(name = "startTime", value = "开始时间")
                          @RequestParam(value = "startTime",required = false) String startTime,
                          @ApiParam(name = "endTime", value = "结束时间")
                          @RequestParam(value = "endTime",required = false) String endTime) throws Exception {
        JSONArray obj = entranceService.BS30025(patNo, startTime, endTime, demoFlag);
                               @RequestParam(value = "patNo", required = false) String patNo,
                               @ApiParam(name = "admNo", value = "就诊唯一号")
                               @RequestParam(value = "admNo", required = false) String admNo,
                               @ApiParam(name = "registerSn", value = "流水号(处方号)")
                               @RequestParam(value = "registerSn", required = false) String registerSn,
                               @ApiParam(name = "startTime", value = "开始时间")
                               @RequestParam(value = "startTime", required = false) String startTime,
                               @ApiParam(name = "endTime", value = "结束时间")
                               @RequestParam(value = "endTime", required = false) String endTime) throws Exception {
        JSONArray obj = entranceService.BS30025(patNo,admNo,registerSn, startTime, endTime, demoFlag);
        return success(obj);
    }
@ -118,8 +122,10 @@ public class MqSdkController extends EnvelopRestEndpoint {
    @ApiOperation(value = "门诊给药方式")
    public ListEnvelop BS10110(
            @ApiParam(name = "supplyCode", value = "编码")
            @RequestParam(value = "supplyCode", required = false) String supplyCode) throws Exception{
        JSONArray obj=  entranceService.BS10110(supplyCode,demoFlag);
            @RequestParam(value = "supplyCode", required = false) String supplyCode,
            @ApiParam(name = "py_code", value = "编码")
            @RequestParam(value = "py_code", required = false) String py_code) throws Exception{
        JSONArray obj=  entranceService.BS10110(supplyCode,py_code,demoFlag);
            return success(obj);
    }

+ 46 - 0
svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/third/PrescriptionUpdateController.java

@ -0,0 +1,46 @@
package com.yihu.jw.entrance.controller.third;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.hospital.prescription.service.entrance.EntranceService;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * Created by zdm on 2019/5/30.
 */
@RestController
@RequestMapping(value ="/prescriptionUpdate")
@Api(value = "处方状态变更", description = "处方状态变更", tags = {"hospital-entrance处方状态变更"})
public class PrescriptionUpdateController extends EnvelopRestEndpoint {
    @Autowired
    private PrescriptionService prescriptionService;
    @GetMapping(value = "/preUpdate")
    @ApiOperation(value = "药房配药his提示处方变更")
    public ObjEnvelop prescriptionUpdate(
            @ApiParam(name = "admNo", value = "卡号", required = true)
            @RequestParam(value = "admNo") String admNo,
            @ApiParam(name = "realOrder", value = "处方号", required = true)
            @RequestParam(value = "realOrder") String realOrder,
            @ApiParam(name = "status", value = "处方状态", required = true)
            @RequestParam(value = "status") String status) {
        try {
            boolean obj= prescriptionService.updatePrescriptionByHisStatu(admNo,realOrder,status);
            return ObjEnvelop.getSuccess("更新成功",obj);
        } catch (Exception e) {
            e.printStackTrace();
            return ObjEnvelop.getError("更新失败"+e.getMessage());
        }
    }
}

+ 49 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java

@ -2,6 +2,7 @@ package com.yihu.jw.hospital.endpoint.prescription;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionVO;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
@ -9,12 +10,15 @@ import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.sf.json.JSONArray;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
@ -28,6 +32,51 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private PrescriptionService prescriptionService;
    @Value("${demo.flag}")
    private boolean demoFlag;
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findOutpatientList)
    @ApiOperation(value = " 查询某个时间段的患者门诊就诊记录 V1.00")
    public ListEnvelop findOutpatientList(@ApiParam(name = "patNo", value = "居民id")
                               @RequestParam(value = "patNo",required = false) String patNo,
                               @ApiParam(name = "startTime", value = "开始时间")
                               @RequestParam(value = "startTime",required = false) String startTime,
                               @ApiParam(name = "endTime", value = "结束时间")
                               @RequestParam(value = "endTime",required = false) String endTime) throws Exception {
        JSONArray obj = prescriptionService.findOutpatientList(patNo, startTime, endTime, demoFlag);
        return success(obj);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findOriginPrescriptionList)
    @ApiOperation(value = "门诊下所有处方信息")
    public ListEnvelop findOriginPrescriptionList(
            @ApiParam(name = "registerSn", value = "流水号", required = false)
            @RequestParam(value = "registerSn",required = false) String registerSn,
            @ApiParam(name = "patNo", value = "病人id", required = false)
            @RequestParam(value = "patNo",required = false) String patNo,
            @ApiParam(name = "admNo", value = "住院唯一号", required = false)
            @RequestParam(value = "admNo",required = false) String admNo,
            @ApiParam(name = "realOrder", value = "处方号", required = false)
            @RequestParam(value = "realOrder",required = false) String realOrder) throws Exception {
        List<WlyyPrescriptionVO> obj = prescriptionService.findOriginPrescriptionList(registerSn, patNo, admNo, demoFlag);
        return success(obj);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findOriginPrescription)
    @ApiOperation(value = "历史处方信息(单条)")
    public ObjEnvelop findOriginPrescription(
            @ApiParam(name = "registerSn", value = "流水号", required = false)
            @RequestParam(value = "registerSn",required = false) String registerSn,
            @ApiParam(name = "patNo", value = "病人id", required = false)
            @RequestParam(value = "patNo",required = false) String patNo,
            @ApiParam(name = "admNo", value = "住院唯一号", required = false)
            @RequestParam(value = "admNo",required = false) String admNo,
            @ApiParam(name = "realOrder", value = "处方号", required = false)
            @RequestParam(value = "realOrder",required = false) String realOrder) throws Exception {
        WlyyPrescriptionVO obj = prescriptionService.findOriginPrescription(registerSn, patNo, admNo,realOrder, demoFlag);
        return success(obj);
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.findPrescriptionList)
    @ApiOperation(value = "获取续方记录列表", notes = "获取续方记录列表")
    public MixEnvelop<WlyyPrescriptionVO,WlyyPrescriptionVO> findPrescriptionList(@ApiParam(name = "patient", value = "居民code")