Prechádzať zdrojové kódy

Merge branch 'dev' of wangzhinan/wlyy2.0 into dev

wangzhinan 3 rokov pred
rodič
commit
b1547b2972
25 zmenil súbory, kde vykonal 724 pridanie a 66 odobranie
  1. 207 4
      business/base-service/src/main/java/com/yihu/jw/healthCare/service/HealthCareService.java
  2. 9 0
      business/base-service/src/main/java/com/yihu/jw/hospital/dict/WlyyHospitalSysDictDao.java
  3. 93 1
      business/base-service/src/main/java/com/yihu/jw/hospital/dict/service/WlyyHospitalSysDictService.java
  4. 27 10
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/PrescriptionService.java
  5. 29 25
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/EntranceService.java
  6. 18 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/XzzxEntranceService.java
  7. 2 0
      business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/YkyyEntranceService.java
  8. 13 17
      business/base-service/src/main/java/com/yihu/jw/internet/service/InternetCommonService.java
  9. 3 3
      common/common-entity/src/main/java/com/yihu/jw/entity/IntegerIdentityEntity.java
  10. 24 0
      gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/BasicZuulFilter.java
  11. 18 0
      gateway/ag-basic/src/main/resources/application.yml
  12. 9 1
      gateway/ag-basic/src/main/resources/bootstrap.yml
  13. 38 1
      server/svr-authentication/src/main/resources/application.yml
  14. 8 0
      server/svr-authentication/src/main/resources/bootstrap.yml
  15. 17 1
      server/svr-configuration/src/main/resources/bootstrap.yml
  16. 11 1
      svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/WlyyHospitalSysDictEndpoint.java
  17. 48 0
      svr/svr-base/src/main/resources/application.yml
  18. 8 0
      svr/svr-base/src/main/resources/bootstrap.yml
  19. 21 0
      svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/healthCare/HealthCareEndPoint.java
  20. 34 0
      svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/job/SynDoctorInfoJob.java
  21. 10 0
      svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/web/quota/JobController.java
  22. 2 0
      svr/svr-internet-hospital-job/src/main/resources/system.properties
  23. 42 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/healthCare/HealthCareEndPoint.java
  24. 4 2
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/prescription/PrescriptionEndpoint.java
  25. 29 0
      svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/ykyy/BaseTopBannerController.java

+ 207 - 4
business/base-service/src/main/java/com/yihu/jw/healthCare/service/HealthCareService.java

@ -286,6 +286,38 @@ public class HealthCareService {
        return result;
    }
    /**
     * 2.3.4	医师人脸签到微信小程序二维码(N20.17.02.06)
     * @param doctorId
     * @throws Exception
     */
    public String doctorFaceCheckInAddressBase64(String doctorId)throws Exception{
        WlyyHospitalSysDictDO hospitalSysDictDO = hospitalSysDictDao.findOne("ylzConfigFaceReturnUrl");
        if(hospitalSysDictDO == null){
            throw new Exception("未配置回调地址");
        }
        BaseDoctorDO doctorDO = doctorDao.findOne(doctorId);
        if (doctorDO == null){
            throw new Exception("医生不存在");
        }
        JSONObject data = new JSONObject();
        data.put("name",doctorDO.getName());//医师姓名
        data.put("idcard",doctorDO.getIdcard());//医师证件号
        data.put("cert_type","01");//医师证件类型
        data.put("redirect_url",hospitalSysDictDO.getDictValue());//回调地址
        String result = requestYlz(data,"N20.17.02.06","2.3.3\t获取医师人脸签到数据");
        if(result == null){
            throw new Exception("医保请求失败");
        }
        logger.info("医师人脸签到表单地址:"+result);
        JSONObject object = JSONObject.parseObject(result);
        if (object.getString("flag").equalsIgnoreCase("1")){
            JSONObject encryptData = object.getJSONObject("encrypt_data");
            return encryptData.toJSONString();
        }
        return result;
    }
    /**
     * 2.4.1 事前提醒
     */
@ -365,10 +397,14 @@ public class HealthCareService {
        JSONObject data;
        //获取his处方信息
        String infoResponse = xzzxEntranceService.presUpload(icCardNo,his_serial,org_code);
        JSONObject infoObject = JSONObject.parseObject(infoResponse);
        if("0".equals(infoObject.getString("ret_code"))){
            data = infoObject;
        JSONObject infoObject= xzzxEntranceService.presUploadToEntrance(icCardNo,his_serial,org_code);
       /* if (infoObject!=null){
        }*/
       JSONObject info = infoObject.getJSONArray("data").getJSONObject(0);
        if("0".equals(info.getString("ret_code"))){
            data = info;
        }else {
            throw new Exception("获取his处方信息失败:"+infoObject.getString("ret_mess"));
        }
@ -406,6 +442,26 @@ public class HealthCareService {
        return result;
    }
    /**
     * 2.4.2	医师开方上传
     *
     * @param prescriptionId
     * @return
     * @throws Exception
     */
    public String doctorPrescriptionUploadEntrance(String prescriptionId) throws Exception{
        String result = "";
        String response="";
        String url = entranceHealthCareUrl+"doctorPrescriptionUpload?prescriptionId="+prescriptionId;
        response = httpClientUtil.get(url,"GBK");
        logger.info("response:"+response);
        JSONObject object = JSONObject.parseObject(response);
        if (object.getInteger("status")==200){
            result = object.getString("obj");
        }
        return result;
    }
    /**
     * 2.4.3	医师开方上传取消(N20.17.03.06)
     */
@ -439,6 +495,26 @@ public class HealthCareService {
        return result;
    }
    /**
     * 2.4.3	医师开方上传取消(N20.17.03.06)
     *
     * @param prescriptionId
     * @return
     * @throws Exception
     */
    public String doctorPrescriptionUploadCancleEntrance(String prescriptionId,String cancelReason) throws Exception{
        String result = "";
        String response="";
        String url = entranceHealthCareUrl+"doctorPrescriptionUploadCancle?prescriptionId="+prescriptionId+"&cancelReason"+cancelReason;
        response = httpClientUtil.get(url,"GBK");
        logger.info("response:"+response);
        JSONObject object = JSONObject.parseObject(response);
        if (object.getInteger("status")==200){
            result = object.getString("obj");
        }
        return result;
    }
    /**
     * 2.6.1	电子处方订单接收(N20.17.05.02)
     */
@ -896,6 +972,59 @@ public class HealthCareService {
        return result;
    }
    /**
     * 2.2.3医保在线服务授权表单(H5表单/小程序)(N20.17.01.03)
     *
     * @param patient
     * @return
     * @throws Exception
     */
    public String medicareOnlineBase64(String patient) throws Exception{
        String funid = "N20.17.01.03";
        WlyyHospitalSysDictDO hospitalSysDictDO = hospitalSysDictDao.findById("ylzConfigRedirectUrl");
        if (hospitalSysDictDO==null){
            throw new Exception("回调地址为空!");
        }
        BasePatientDO patientDO = patientDao.findById(patient);
        if (patientDO==null){
            throw new Exception("患者信息不存在");
        }
        PatientMappingDO patientMappingDO = patientMappingDao.findByPatient(patient);
        if (patientMappingDO==null){
            throw new Exception("患者his信息不存在");
        }
        JSONObject data = new JSONObject();
        data.put("service_id","100000");
        data.put("name",patientDO.getName());
        data.put("idcard",patientDO.getIdcard());
        data.put("cert_type","01");//TODO
        data.put("phone",patientDO.getMobile());
        data.put("user_id",patientMappingDO.getMappingCode());
        data.put("redirect_url",hospitalSysDictDO.getDictValue());
        String result = requestYlz(data,funid,"医保在线服务授权表单");
        return result;
    }
    /**
     * 2.2.3医保在线服务授权表单(H5表单/小程序)(N20.17.01.03)
     *
     * @param patient
     * @return
     * @throws Exception
     */
    public String medicareOnlineBase64ToEntrance(String patient) throws Exception{
        String result = "";
        String response="";
        String url = entranceHealthCareUrl+"medicareOnline?patient="+patient;
        response = httpClientUtil.get(url,"GBK");
        logger.info("response:"+response);
        JSONObject object = JSONObject.parseObject(response);
        if (object.getInteger("status")==200){
            result = object.getString("obj");
        }
        return result;
    }
    /**
     * 2.5.1医保挂号(N20.17.04.01)
     *
@ -1433,6 +1562,80 @@ public class HealthCareService {
        return result;
    }
    /**
     * 2.5.8获取医保结算页面地址(N20.17.04.08)
     *
     * 返回值
     *
     * @param registerNo 挂号号
     * @return
     * @throws Exception
     */
    public String getSettlementResultUrlBase64(String registerNo) throws Exception{
        String funid = "N20.17.04.08";
        JSONObject data = new JSONObject();
        YlzMedicalRelationDO ylzMedicalRelationDO = ylzMedicailRelationDao.findByOutpatient(registerNo);
        if (ylzMedicalRelationDO==null){
            throw new Exception("获取医保结算页面地址:结算信息为空!");
        }
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = hospitalSysDictDao.findById("ResultRedirectUrl");
        if (wlyyHospitalSysDictDO==null){
            throw new Exception("获取医保结算页面地址失败:回调地址为空");
        }
        data.put("region_code",ylzMedicalRelationDO.getRegionCode());//参保地区划代码
        data.put("name",ylzMedicalRelationDO.getName());//姓名
        data.put("idcard",ylzMedicalRelationDO.getIdcard());//证件号码
        data.put("cert_type",ylzMedicalRelationDO.getCertType());//证件类型
        data.put("medical_mode",ylzMedicalRelationDO.getMedicalMode());//医疗就诊方式
        data.put("medical_type",ylzMedicalRelationDO.getMedicalType());//医疗类别
        data.put("insurance_serial",ylzMedicalRelationDO.getInsuranceSerial());//
        data.put("his_bill_serial",ylzMedicalRelationDO.getHisBillSerial());//his收费单据流水号
        data.put("date",ylzMedicalRelationDO.getDate());//实际就诊日期
        data.put("leave_method","09");//离院方式
        data.put("pre_count",ylzMedicalRelationDO.getPreCount());//处方项目数
        data.put("total_amount",ylzMedicalRelationDO.getTotalAmount());//医疗费总金额
        data.put("person_cash",ylzMedicalRelationDO.getPersonCash());//个人现金支付金额(实付现金)
        data.put("person_account",ylzMedicalRelationDO.getPersonAccount());//个人账户支付金额
        data.put("fund_price",ylzMedicalRelationDO.getFundPrice());//基金支付总额
        data.put("data_source",ylzMedicalRelationDO.getDataSource());//数据来源
        data.put("his_serial",ylzMedicalRelationDO.getHisSerial());//his流水号
        data.put("doctor_level",ylzMedicalRelationDO.getDoctorLevel());//医师诊查费等级
        data.put("redirect_url",wlyyHospitalSysDictDO.getDictValue());//回调地址
        String result = requestYlz(data,funid,"获取医保结算结果");
        if (result==null){
            throw new Exception("获取医保结算结果失败!");
        }
        return result;
    }
    /**
     * 2.5.8获取医保结算页面地址(N20.17.04.08)
     *
     * 返回值
     *
     * @param registerNo 挂号号
     * @return
     * @throws Exception
     */
    public String getSettlementResultUrlBase64ToEntrance(String registerNo) throws Exception{
        String result = "";
        String response="";
        String url = entranceHealthCareUrl+"getSettlementResultUrlBase64?registerNo="+registerNo;
        response = httpClientUtil.get(url,"GBK");
        logger.info("response:"+response);
        JSONObject object = JSONObject.parseObject(response);
        if (object.getInteger("status")==200){
            result = object.getString("obj");
        }
        return result;
    }
    /**
     * 2.5.8获取医保结算结果(N20.17.04.08)
     *

+ 9 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/dict/WlyyHospitalSysDictDao.java

@ -45,4 +45,13 @@ public interface WlyyHospitalSysDictDao extends PagingAndSortingRepository<WlyyH
    @Query("from WlyyHospitalSysDictDO where dictName = ?1  and  dictCode=?2 ")
    WlyyHospitalSysDictDO findOneByDictNameAndDictCode(String dictName,String dictCode);
    @Query("from WlyyHospitalSysDictDO where dictName = ?1 and imgUrl is not null order by sort asc")
    List<WlyyHospitalSysDictDO> findByDictNameOrderBySort(String dictName);
    WlyyHospitalSysDictDO findByDictNameAndSort(String dictName, Integer sort);
    @Query("from WlyyHospitalSysDictDO where dictName = ?1 and sort>?2")
    List<WlyyHospitalSysDictDO> findByDictNameAndSortNear(String dictName,Integer sort);
}

+ 93 - 1
business/base-service/src/main/java/com/yihu/jw/hospital/dict/service/WlyyHospitalSysDictService.java

@ -24,6 +24,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -91,7 +92,7 @@ public class WlyyHospitalSysDictService extends BaseJpaService<WlyyHospitalSysDi
        }
    }
    //根据id修改或新增字典
    /*//根据id修改或新增字典
    public WlyyHospitalSysDictDO updateOrCreateDict(String json) throws  Exception{
        WlyyHospitalSysDictDO  wlyyHospitalSysDictDO = objectMapper.readValue(json, WlyyHospitalSysDictDO.class);
        String modelName = "";
@ -129,6 +130,93 @@ public class WlyyHospitalSysDictService extends BaseJpaService<WlyyHospitalSysDi
            return wlyyHospitalSysDictDao.save(wlyyHospitalSysDictDO1);
        }
        return wlyyHospitalSysDictDao.save(wlyyHospitalSysDictDO);
    }*/
    public WlyyHospitalSysDictDO updateOrCreateDict(String json) throws  Exception{
        WlyyHospitalSysDictDO  wlyyHospitalSysDictDO = objectMapper.readValue(json, WlyyHospitalSysDictDO.class);
        String modelName = "";
        if (StringUtils.isNoneBlank(wlyyHospitalSysDictDO.getDictName())){
            List<WlyyHospitalSysDictDO> modelNameList=wlyyHospitalSysDictDao.findByDictName(wlyyHospitalSysDictDO.getDictName());
            if (modelNameList!=null&&modelNameList.size()>0){
                modelName= modelNameList.get(0).getModelName();
            }
        }
        wlyyHospitalSysDictDO.setModelName(modelName);
        if(StringUtils.isNoneBlank(wlyyHospitalSysDictDO.getId())){
            WlyyHospitalSysDictDO wlyyHospitalSysDictDO1 = wlyyHospitalSysDictDao.findById(wlyyHospitalSysDictDO.getId());
            List<WlyyHospitalSysDictDO> wlyyHospitalSysDictDOList=new ArrayList<>();
            if (wlyyHospitalSysDictDO1!=null){
                wlyyHospitalSysDictDO1.setDictValue(wlyyHospitalSysDictDO.getDictValue());
                wlyyHospitalSysDictDO1.setDictCode(wlyyHospitalSysDictDO.getDictCode());
                wlyyHospitalSysDictDO1.setDictName(wlyyHospitalSysDictDO.getDictName());
                wlyyHospitalSysDictDO1.setHospital(wlyyHospitalSysDictDO.getHospital());
                wlyyHospitalSysDictDO1.setPyCode(wlyyHospitalSysDictDO.getPyCode());
                wlyyHospitalSysDictDO1.setImgUrl(wlyyHospitalSysDictDO.getImgUrl());
                if (wlyyHospitalSysDictDO.getDictName().equalsIgnoreCase("ONLINE_HOSPITAL_BANNER")){
                    if (wlyyHospitalSysDictDO.getSort()==null||wlyyHospitalSysDictDO.getSort()<=0){
                        return null;
                    }
                    WlyyHospitalSysDictDO wlyyHospitalSysDictDOs = wlyyHospitalSysDictDao.findByDictNameAndSort(wlyyHospitalSysDictDO.getDictName(),wlyyHospitalSysDictDO.getSort());
                    wlyyHospitalSysDictDOList= wlyyHospitalSysDictDao.findByDictNameAndSortNear("ONLINE_HOSPITAL_BANNER",wlyyHospitalSysDictDO.getSort());
                    if (wlyyHospitalSysDictDOs==null&&wlyyHospitalSysDictDOList.size()==0){
                        wlyyHospitalSysDictDO1.setSort(wlyyHospitalSysDictDO.getSort());
                    }else if (wlyyHospitalSysDictDOs==null&&wlyyHospitalSysDictDOList.size()>0){
                        wlyyHospitalSysDictDO1.setSort(wlyyHospitalSysDictDO.getSort());
                    }else if (wlyyHospitalSysDictDOs!=null&&wlyyHospitalSysDictDOList.size()==0){
                        wlyyHospitalSysDictDOs.setSort(wlyyHospitalSysDictDOs.getSort()+1);
                        wlyyHospitalSysDictDO1.setSort(wlyyHospitalSysDictDO.getSort());
                    }else {
                        for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO2 : wlyyHospitalSysDictDOList) {
                            wlyyHospitalSysDictDO1.setSort(wlyyHospitalSysDictDO.getSort());
                            Integer sort = wlyyHospitalSysDictDO2.getSort();
                            sort++;
                            wlyyHospitalSysDictDO2.setSort(sort);
                        }
                        wlyyHospitalSysDictDao.save(wlyyHospitalSysDictDOList);
                    }
                }else {
                    wlyyHospitalSysDictDO1.setSort(wlyyHospitalSysDictDO.getSort());
                }
                wlyyHospitalSysDictDO1.setModelName(modelName);
            }else {
                wlyyHospitalSysDictDO1 = new WlyyHospitalSysDictDO();
                wlyyHospitalSysDictDO1.setDictValue(wlyyHospitalSysDictDO.getDictValue());
                wlyyHospitalSysDictDO1.setDictCode(wlyyHospitalSysDictDO.getDictCode());
                wlyyHospitalSysDictDO1.setDictName(wlyyHospitalSysDictDO.getDictName());
                wlyyHospitalSysDictDO1.setHospital(wlyyHospitalSysDictDO.getHospital());
                wlyyHospitalSysDictDO1.setPyCode(wlyyHospitalSysDictDO.getPyCode());
                wlyyHospitalSysDictDO1.setImgUrl(wlyyHospitalSysDictDO.getImgUrl());
                if (wlyyHospitalSysDictDO.getDictName().equalsIgnoreCase("ONLINE_HOSPITAL_BANNER")){
                    if (wlyyHospitalSysDictDO.getSort()==null||wlyyHospitalSysDictDO.getSort()<=0){
                        return null;
                    }
                    WlyyHospitalSysDictDO wlyyHospitalSysDictDOs = wlyyHospitalSysDictDao.findByDictNameAndSort(wlyyHospitalSysDictDO.getDictName(),wlyyHospitalSysDictDO.getSort());
                    wlyyHospitalSysDictDOList= wlyyHospitalSysDictDao.findByDictNameAndSortNear("ONLINE_HOSPITAL_BANNER",wlyyHospitalSysDictDO.getSort());
                    if (wlyyHospitalSysDictDOs==null&&wlyyHospitalSysDictDOList.size()==0){
                        wlyyHospitalSysDictDO1.setSort(wlyyHospitalSysDictDO.getSort());
                    }else if (wlyyHospitalSysDictDOs==null&&wlyyHospitalSysDictDOList.size()>0){
                        wlyyHospitalSysDictDO1.setSort(wlyyHospitalSysDictDO.getSort());
                    }else if (wlyyHospitalSysDictDOs!=null&&wlyyHospitalSysDictDOList.size()==0){
                        wlyyHospitalSysDictDOs.setSort(wlyyHospitalSysDictDOs.getSort()+1);
                        wlyyHospitalSysDictDO1.setSort(wlyyHospitalSysDictDO.getSort());
                    }else {
                        for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO2 : wlyyHospitalSysDictDOList) {
                            wlyyHospitalSysDictDO1.setSort(wlyyHospitalSysDictDO.getSort());
                            Integer sort = wlyyHospitalSysDictDO2.getSort();
                            sort++;
                            wlyyHospitalSysDictDO2.setSort(sort);
                        }
                        wlyyHospitalSysDictDao.save(wlyyHospitalSysDictDOList);
                    }
                }else {
                    wlyyHospitalSysDictDO1.setSort(wlyyHospitalSysDictDO.getSort());
                }
                wlyyHospitalSysDictDO1.setModelName(modelName);
            }
            return wlyyHospitalSysDictDao.save(wlyyHospitalSysDictDO1);
        }
        return wlyyHospitalSysDictDao.save(wlyyHospitalSysDictDO);
    }
    //根据id删除字典
    public String  deleteDictById(String id){
@ -456,4 +544,8 @@ public class WlyyHospitalSysDictService extends BaseJpaService<WlyyHospitalSysDi
        return re;
    }
    public List<WlyyHospitalSysDictDO> findByDictName(String dictName) {
        return wlyyHospitalSysDictDao.findByDictNameOrderBySort(dictName);
    }
}

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

@ -1198,8 +1198,15 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        }
        if (wechatId.equalsIgnoreCase("xm_xzzx_wx")){
            logger.info("心脏中心同步患者开始");
            xzzxEntranceService.updatePatientMapping(outpatient.getConsumer(),outpatient.getCardNo());
            xzzxEntranceService.updatePatientMapping(outpatient.getPatient(),outpatient.getCardNo());
            logger.info("同步患者id成功");
        }else if (wechatId.equalsIgnoreCase("xm_ykyy_wx")){
            logger.info("眼科中心患者档案查询");
            PatientMappingDO patientMappingDO = patientMappingDao.findByPatient(outpatient.getPatient());
            if (patientMappingDO==null){
                throw new Exception("您的信息在院内无档案,请确认就诊人信息,并重新保存就诊人信息!");
            }
            logger.info("眼科中心患者档案查询");
        }
@ -6821,14 +6828,14 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        }
        if("xm_ykyy_wx".equalsIgnoreCase(wechatId)){
            if (flag){
                sql += " and d.del='1' order by d.consult_status DESC ,evaluate.score desc,a.total " + consutlSort;
                sql += " and d.del='1' order by d.consult_status DESC ,evaluate.score desc,a.total " + consutlSort+",dw.workTotal DESC";
            }else{
                sql += " and d.del='1' order by d.consult_status desc nulls last ,evaluate.score desc nulls last ,a.total " + consutlSort;
                sql+=" NULLS LAST,\n" +
                        "\tD.id DESC";
                        "\tD.id DESC,dw.workTotal DESC NULLS LAST";
            }
        }else {
            sql += " and d.del='1' order by d.consult_status DESC ,evaluate.score desc,a.total " + consutlSort;
            sql += " and d.del='1' order by d.consult_status DESC ,evaluate.score desc,a.total " + consutlSort+"";
        }
        String sqlCount = "select count(1) as \"total\" from ( "+sql+" ) t";
        List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sql, params, page, pagesize);
@ -9765,6 +9772,9 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    try {
                        if (object!=null){
                            if (object.getString("code").equalsIgnoreCase("0")){
                                if (healthCareService.isHospitalFlag()){
                                   healthCareService.doctorPrescriptionUploadEntrance(prescriptionId);
                                }
                                //  * @param applyDepaName @param applyDoctorName
                                WlyyPrescriptionDO prescriptionDO = prescriptionDao.findOne(prescriptionId);
                                String patientCode = outpatientDO.getConsumer();
@ -13792,7 +13802,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
     * @return
     * @throws Exception
     */
    public JSONObject getSettlementInfo(String outpatientId) throws Exception {
    public JSONObject getSettlementInfo(String outpatientId,Integer flag) throws Exception {
        logger.info("获取患者待结算信息开始!");
        WlyyOutpatientDO outpatientDO = outpatientDao.findById(outpatientId);
        if(outpatientDO==null){
@ -13814,15 +13824,22 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        logger.info("医保预结算信息开始!");
        YlzMedicalRelationDO ylzMedicalRelationDO =  healthCareService.preSettlementToEntrance(registerNo);
        logger.info("医保预结算信息结束!");
        logger.info("获取医保结算页面地址开始!");
        String getSettlementResultUrl = healthCareService.getSettlementResultUrlToEntrance(registerNo);
        logger.info("获取医保结算页面地址结束!");
        JSONObject object = new JSONObject();
        if (flag==1){
            logger.info("获取医保结算页面地址开始!");
            String getSettlementResultUrl = healthCareService.getSettlementResultUrlToEntrance(registerNo);
            logger.info("获取医保结算页面地址结束!");
            object.put("getSettlementResultUrl",getSettlementResultUrl);
        }else if (flag==2){
            logger.info("获取医保结算页面地址开始!");
            String getSettlementResultUrlBase64 = healthCareService.getSettlementResultUrlBase64ToEntrance(registerNo);
            logger.info("获取医保结算页面地址结束!");
            object.put("getSettlementResultUrlBase64",getSettlementResultUrlBase64);
        }
        object.put("register",register);
        object.put("feeDetailUpload",feeDetailUpload);
        object.put("preSettlement",ylzMedicalRelationDO);
        object.put("getSettlementResultUrl",getSettlementResultUrl);
        object.put("cardNo",outpatientDO.getCardNo());
        object.put("deptName",outpatientDO.getPatientName());
        return object;

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

@ -2099,6 +2099,9 @@ public class EntranceService {
                                List<BaseDoctorDO> baseDoctorDOS = baseDoctorDao.findByIdcard(idCard);
                                if (baseDoctorDOS!=null&&baseDoctorDOS.size()!=0){
                                    baseDoctorDO=baseDoctorDOS.get(0);
                                    String disableFlag = null == jsonObjectBody.get("Disable_Flag") ? "" : jsonObjectBody.get("Disable_Flag").toString();
                                    //互联网医院:1停用,0使用  转 i健康:1正常,0作废
                                    baseDoctorDO.setDel("1".equals(disableFlag) ? "0" : "1");
                                }else {
                                    baseDoctorDO.setIdcard(idCard);
@ -2124,13 +2127,33 @@ public class EntranceService {
                                    } else {
                                        baseDoctorDO.setPassword(com.yihu.utils.security.MD5.md5Hex("123456" + "{" + baseDoctorDO.getSalt() + "}"));
                                    }
                                    //拼音码
                                    baseDoctorDO.setSpell(null == jsonObjectBody.get("PinYin_Code") ? "" : jsonObjectBody.get("PinYin_Code").toString());
                                    //姓名
                                    doctorName = null == jsonObjectBody.get("Emp_Name") ? "" : jsonObjectBody.get("Emp_Name").toString();
                                    //号别
                                    baseDoctorDO.setChargeType(chareType);
                                    // 用医生和机构id、部门判断数据是否存在,若不存在则保存医生机构关联关系
                                    String deptCode = null == jsonObjectBody.get("Dept_Code") ? "" : jsonObjectBody.get("Dept_Code").toString();
                                    List<BaseDoctorHospitalDO> baseDoctorHospitalDOS = baseDoctorHospitalDao.findByOrgCodeAndDeptCodeAndDoctorCode("350211A1002", deptCode, baseDoctorDO.getId());
                                    if (!(null != baseDoctorHospitalDOS && baseDoctorHospitalDOS.size() > 0)) {
                                        baseDoctorHospitalDao.delete(baseDoctorHospitalDOS);
                                        BaseDoctorHospitalDO baseDoctorHospitalDO = new BaseDoctorHospitalDO();
                                        baseDoctorHospitalDO.setOrgCode("350211A1002");
                                        baseDoctorHospitalDO.setOrgName("厦门大学附属中山医院");
                                        baseDoctorHospitalDO.setDoctorCode(baseDoctorDO.getId());
                                        baseDoctorHospitalDO.setDeptCode(deptCode);
                                        //根据机构编码获取机构名称
                                        List<DictHospitalDeptDO> dictHospitalDeptDOS = dictHospitalDeptDao.findByOrgCodeAndCode("350211A1002", deptCode);
                                        if (null != dictHospitalDeptDOS && dictHospitalDeptDOS.size() > 0) {
                                            DictHospitalDeptDO dictHospitalDeptDO = dictHospitalDeptDOS.get(0);
                                            baseDoctorHospitalDO.setDeptName(dictHospitalDeptDO.getName());
                                        }
                                        baseDoctorHospitalDO.setDel("1");
                                        baseDoctorHospitalDao.save(baseDoctorHospitalDO);
                                    }
                                }
                                //拼音码
                                baseDoctorDO.setSpell(null == jsonObjectBody.get("PinYin_Code") ? "" : jsonObjectBody.get("PinYin_Code").toString());
                                //姓名
                                doctorName = null == jsonObjectBody.get("Emp_Name") ? "" : jsonObjectBody.get("Emp_Name").toString();
                                //号别
                                baseDoctorDO.setChargeType(chareType);
                                baseDoctorDO = baseDoctorDao.save(baseDoctorDO);
                                //根据医生和机构判断数据是否存在,若不存在则在mapping中追加记录
@ -2146,25 +2169,6 @@ public class EntranceService {
                                    doctorMappingDO.setOrgName("厦门大学附属中山医院");
                                    doctorMappingDao.save(doctorMappingDO);
                                }
                                // 用医生和机构id、部门判断数据是否存在,若不存在则保存医生机构关联关系
                                String deptCode = null == jsonObjectBody.get("Dept_Code") ? "" : jsonObjectBody.get("Dept_Code").toString();
                                List<BaseDoctorHospitalDO> baseDoctorHospitalDOS = baseDoctorHospitalDao.findByOrgCodeAndDeptCodeAndDoctorCode("350211A1002", deptCode, baseDoctorDO.getId());
                                if (!(null != baseDoctorHospitalDOS && baseDoctorHospitalDOS.size() > 0)) {
                                    baseDoctorHospitalDao.delete(baseDoctorHospitalDOS);
                                    BaseDoctorHospitalDO baseDoctorHospitalDO = new BaseDoctorHospitalDO();
                                    baseDoctorHospitalDO.setOrgCode("350211A1002");
                                    baseDoctorHospitalDO.setOrgName("厦门大学附属中山医院");
                                    baseDoctorHospitalDO.setDoctorCode(baseDoctorDO.getId());
                                    baseDoctorHospitalDO.setDeptCode(deptCode);
                                    //根据机构编码获取机构名称
                                    List<DictHospitalDeptDO> dictHospitalDeptDOS = dictHospitalDeptDao.findByOrgCodeAndCode("350211A1002", deptCode);
                                    if (null != dictHospitalDeptDOS && dictHospitalDeptDOS.size() > 0) {
                                        DictHospitalDeptDO dictHospitalDeptDO = dictHospitalDeptDOS.get(0);
                                        baseDoctorHospitalDO.setDeptName(dictHospitalDeptDO.getName());
                                    }
                                    baseDoctorHospitalDO.setDel("1");
                                    baseDoctorHospitalDao.save(baseDoctorHospitalDO);
                                }
                                i++;
                            }

+ 18 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/XzzxEntranceService.java

@ -2724,6 +2724,24 @@ public class XzzxEntranceService{
//=====================hospital应用调用entrance应用============start=================
    /**
     * 2.1.3	调用entrance获取处方信息
     * @return
     */
    public JSONObject presUploadToEntrance(String icCardNo,String his_serial,String org_code) throws Exception {
        JSONObject jsonObject = new JSONObject();
        String response = "";
        String url = entranceUrl+"presUpload?icCardNo="+icCardNo+"&his_serial="+his_serial+"&org_code="+org_code+"";
        response = httpClientUtil.get(url,"GBK");
        logger.info("调用entrance获取处方信息"+response);
        JSONObject object = JSONObject.parseObject(response);
        if(object.getInteger("status")==200){
            jsonObject = object.getJSONObject("obj");
        }
        return jsonObject;
    }
    /**
     * 2.1.1获取患者结算信息
     * @param icCardNo 社会保障卡号

+ 2 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/entrance/YkyyEntranceService.java

@ -2559,6 +2559,8 @@ public class YkyyEntranceService {
            //获取居民信息
            JSONObject json = jsonArray.getJSONObject(0);
            hlwGhmxDO.setBRXZ(json.getInteger("brxz"));
        }else {
            throw new Exception("患者信息有误!");
        }
        //操作工号
        JSONArray jsonArray1 = findHisDoctor(doctorMappingDO.getIdcard());

+ 13 - 17
business/base-service/src/main/java/com/yihu/jw/internet/service/InternetCommonService.java

@ -135,15 +135,7 @@ public class InternetCommonService extends BaseJpaService<InternetUpErrorLogDO,
        getBaseSurperviseDict();
        WsapiProxy proxy = new WsapiProxy();
        proxy.setEndpoint(url);
        JSONObject jsonObject= new JSONObject();
        if (params!=null&&params.size()>0){
            jsonObject= params.getJSONObject(0);
            jsonObject.put("docimg","");
            jsonObject.put("doc_cert","");
            jsonObject.put("cert_doc_prac","");
        }
        logger.info("入参:"+jsonObject.toString());
        logger.info("入参:"+params.toString());
        Wsapi wsapi = proxy.getWsapi();
//        logger.info("postToInter:"+JSONUtils.toString(new String[] {token, params.toString()}));
@ -465,7 +457,8 @@ public class InternetCommonService extends BaseJpaService<InternetUpErrorLogDO,
                "   p.patient_name AS \"paName\"," +
                "   p.doctor_name AS \"docName\"," +
                "   p.idcard AS \"idcard\"," +
                "   p.register_date AS \"date\"" +
                "   p.register_date AS \"date\"," +
                  " p.mobile as \"mobile\""+
                "   FROM wlyy_outpatient p " +
                " WHERE 1=1" ;
        Map<String,Object> params = new HashedMap();
@ -507,7 +500,7 @@ public class InternetCommonService extends BaseJpaService<InternetUpErrorLogDO,
                jb.put("pt_age", IdCardUtil.getAgeForIdcard(info.get("idcard").toString()));
                jb.put("card_type", "1");
                jb.put("id_no",  info.get("idcard") == null?"0":info.get("idcard"));
                jb.put("pt_tel",  "00000000000");
                jb.put("pt_tel",  info.get("mobile") == null?"00000000000":info.get("mobile"));
                jb.put("crt_date",DateUtil.dateToStrLong(DateUtil.getNow()));
            }catch (Exception e){
                errorFlag = true;
@ -558,7 +551,8 @@ public class InternetCommonService extends BaseJpaService<InternetUpErrorLogDO,
                " i.create_time AS \"create_time\", " +
                " p.name AS \"name\", " +
                " p.idcard AS \"idcard\", " +
                " d.idcard AS \"doctorIdCard\"" +
                " d.idcard AS \"doctorIdCard\"," +
                " o.mobile AS \"mobile\"" +
                "FROM " +
                " wlyy_inspection i " +
                " JOIN wlyy_outpatient o ON o.id = i.outpatient_id  " +
@ -601,7 +595,7 @@ public class InternetCommonService extends BaseJpaService<InternetUpErrorLogDO,
                    jb.put("ge_code", sex=="3"?"9":sex);
                    jb.put("card_type", "1");
                    jb.put("id_no", ins.get("idcard").toString());
                    jb.put("pt_tel", "00000000000");
                    jb.put("pt_tel", ins.get("mobile") == null?"00000000000":ins.get("mobile"));
                    jb.put("crt_date",DateUtil.dateToStrLong(DateUtil.getNow()));
                }catch (Exception e){
                    errorFlag = true;
@ -1058,7 +1052,7 @@ public class InternetCommonService extends BaseJpaService<InternetUpErrorLogDO,
                String sex = IdCardUtil.getSexForIdcard_new(info.get("paId").toString());
                jb.put("ge_code", sex=="3"?"9":sex);
                jb.put("pt_tel", info.get("moble")==null?"00000000000":info.get("moble").toString());
                jb.put("pt_tel", info.get("mobile")==null?"00000000000":info.get("mobile").toString());
                jb.put("card_type", "1");
                jb.put("id_no", info.get("paId"));
                jb.put("pt_district", "");
@ -1141,6 +1135,8 @@ public class InternetCommonService extends BaseJpaService<InternetUpErrorLogDO,
                "  a.patient_name AS \"patient_name\"," +
                "  b.idcard AS \"idcard\"," +
                "  b.city_code AS \"city_code\"," +
                "  b.sex AS \"sex\"," +
                "  c.mobile AS \"mobile\"," +
                "  a.hospital AS \"hospital\"," +
                "  a.hospital_name AS \"hospital_name\"," +
                "  p.icd10 AS \"icd10\"," +
@ -1188,7 +1184,7 @@ public class InternetCommonService extends BaseJpaService<InternetUpErrorLogDO,
                // 获取监管平台唯一标识
                String visitDocCode = achNsDoctorRecord(info.get("docIdcard").toString());
                String trialDocCode =  achNsDoctorRecord("350104197904305425");
                String trialDocCode =  achNsDoctorRecord("362531198407290348");
                jb.put("id_prescription", orgCode +"_"+ (String)info.get("id"));
                jb.put("pres_no",info.get("real_order")== null?"0":info.get("real_order"));
@ -1224,8 +1220,8 @@ public class InternetCommonService extends BaseJpaService<InternetUpErrorLogDO,
                jb.put("pres_doc_name", info.get("doctor_name")== null?"0":info.get("doctor_name"));
                jb.put("pres_doc_id_no", info.get("docIdcard")== null?"0":info.get("docIdcard"));
                jb.put("trial_doc_code", trialDocCode);
                jb.put("trial_doc_name", "陈燕莺");
                jb.put("trial_doc_id_no","350104197904305425");
                jb.put("trial_doc_name", "乐女金");
                jb.put("trial_doc_id_no","362531198407290348");
                jb.put("diag_code", info.get("icd10"));
                jb.put("diag_name", info.get("icd10_name"));
                jb.put("diseases_type", "0");

+ 3 - 3
common/common-entity/src/main/java/com/yihu/jw/entity/IntegerIdentityEntity.java

@ -19,13 +19,13 @@ public abstract class IntegerIdentityEntity implements Serializable {
    @Id
//==========mysql 环境 id策略======================================================
    @GeneratedValue(generator = "generator")
/*    @GeneratedValue(generator = "generator")
    @GenericGenerator(name = "generator", strategy = "identity")
    @Column(name = "id", unique = true, nullable = false)
    @Column(name = "id", unique = true, nullable = false)*/
//==========mysql 环境 id策略 end======================================================
//==========Oracle 环境id策略 =========================================================
/*   @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="id_generated")*/
   @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="id_generated")
//==========Oracle 环境id策略 =========================================================
    public Integer getId() {
        return id;

+ 24 - 0
gateway/ag-basic/src/main/java/com/yihu/jw/gateway/filter/BasicZuulFilter.java

@ -157,6 +157,9 @@ public class BasicZuulFilter extends ZuulFilter {
            for(String str:object.keySet()){
                List<String> arrayList = new ArrayList<>();
                String value = object.getString(str);
                if (sqlValidate(value)){
                    throw new Exception("Illegal parameter");
                }
                arrayList.add(value);
                map.put(str,arrayList);
            }
@ -181,6 +184,9 @@ public class BasicZuulFilter extends ZuulFilter {
                JSONObject jsonObject = JSONObject.parseObject(jsonobject);
                for(String str:jsonObject.keySet()){
                    String value = jsonObject.getString(str);
                    if (sqlValidate(value)){
                        throw new Exception("Illegal parameter");
                    }
                    if (!StringUtils.isEmpty(value)){
                        value = URLEncoder.encode(value);
                    }
@ -206,6 +212,7 @@ public class BasicZuulFilter extends ZuulFilter {
                        return reqBodyBytes.length;
                    }
                });
            }
        }
@ -344,6 +351,23 @@ public class BasicZuulFilter extends ZuulFilter {
        }
        return false;
    }
    public boolean doSqlFilterParams(HttpServletRequest request){
        Enumeration params = request.getParameterNames();
        String sql = "";
        while (params.hasMoreElements()) {
            // 得到参数名
            String name = params.nextElement().toString();
            // 得到参数对应值
            String[] value = request.getParameterValues(name);
            for (int i = 0; i < value.length; i++) {
                sql = sql + value[i];
            }
            if (sqlValidate(sql)) {
                return true;
            }
        }
        return false;
    }
    public boolean doFileFilter(HttpServletRequest req){
        MultipartResolver resolver = new CommonsMultipartResolver(req.getSession().getServletContext());

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

@ -4,6 +4,7 @@ server:
    basedir: /data/apps/temp
    max-http-form-post-size: -1
  max-http-header-size: 102400
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
@ -98,6 +99,11 @@ zuul:
    svr-rehabilitation:
      path: /rehabilitation/**
      serviceId: svr-rehabilitation
endpoints:
  env:
    enabled: false
  trace:
    enabled: false
#---
#spring:
@ -291,3 +297,15 @@ spring:
    host: 192.168.120.103 # Redis server host.
    port: 6007 # Redis server port.
    password: Kb6wKDQP1W4
---
spring:
  profiles: jwZnyg
  datasource:
     url: jdbc:mysql://172.26.0.222:3306/base?useUnicode:true&amp;characterEncoding=utf-8&amp;autoReconnect=true&useSSL=false
     username: root
     password: jkzlehr
  redis:
    host: 172.26.0.222 # Redis server host.
    port: 6379 # Redis server port.
    password: Kb6wKDQP1W4

+ 9 - 1
gateway/ag-basic/src/main/resources/bootstrap.yml

@ -161,4 +161,12 @@ spring:
  cloud:
    config:
      uri: ${wlyy.pring.config.uri:http://127.0.0.1:1221}
      label: ${wlyy.spring.config.label:master}
      label: ${wlyy.spring.config.label:master}
---
spring:
  profiles: jwZnyg
  cloud:
    config:
      uri: ${wlyy-spring.config.uri:http://127.0.0.1:1221}
      label: ${wlyy-spring.config.label:jwdev}

+ 38 - 1
server/svr-authentication/src/main/resources/application.yml

@ -588,4 +588,41 @@ wechat:
im:
  im_list_get: http://127.0.0.1:3000/
kick:
    eachOther: 1 #互踢 1开通 0关闭
    eachOther: 1 #互踢 1开通 0关闭
---
spring:
  profiles: jwZnyg
  datasource:
    url: jdbc:mysql://172.26.0.222:3306/base?useUnicode:true&amp;characterEncoding=utf-8&amp;autoReconnect=true&useSSL=false
    username: root
    password: jkzlehr
  redis:
    host: 172.26.0.222 # Redis server host.
    port: 6379 # Redis server port.
    password: Kb6wKDQP1W4
  ##发现服务
## i健康用户信息接口,开放出来给互联网医院登录同步用户信息用
iHealth:
  user-info-uri: http://ehr.yihu.com/wlyy/iHealth/userInfo
zhongshanHospital:
  user-info-uri: http://laptop-u738dn2p:10023/mqsdk/getUserInfoByOpenid
fastDFS:
  fastdfs_file_url: http://172.26.0.222:8888/
wlyy:
  url: http://www.xmtyw.cn/wlyy/
#文件服务器上传配置 0本地,1.I健康,2.内网调用
testPattern:
  sign: 0
  remote_inner_url: 172.16.100.240:10023/open/fileUpload/upload_stream
wechat:
  id: xm_zsyy_wx  # base库中,wx_wechat 的id字段
im:
  im_list_get: http://172.26.0.105:3000/
kick:
    ##互踢 1开通 0关闭
    eachOther: 0

+ 8 - 0
server/svr-authentication/src/main/resources/bootstrap.yml

@ -162,4 +162,12 @@ spring:
  cloud:
    config:
      uri: ${wlyy.pring.config.uri:http://127.0.0.1:1221}
      label: ${wlyy.spring.config.label:master}
---
spring:
  profiles: jwZnyg
  cloud:
    config:
      uri: ${wlyy.spring.config.uri:http://127.0.0.1:1221}
      label: ${wlyy.spring.config.label:master}

+ 17 - 1
server/svr-configuration/src/main/resources/bootstrap.yml

@ -252,4 +252,20 @@ spring:
          basedir: /data/wlyy2.0/wlyy2.0.config
          username: jkzl
          password: jkzl
        default-label: ${wlyy.spring.config.git.label:master}
        default-label: ${wlyy.spring.config.git.label:master}
---
spring:
  profiles: jwZnyg
##git配置
  cloud:
    config:
      failFast: true #启动快速失败 即链接不到配置服务就启动失败
      server:
        git:
          uri: ${wlyy.spring.config.git.uri:http://192.168.1.220:10080/Amoy2/wlyy2.0.config.git}
          basedir: /usr/local/wlyy2.0.config
          username: wangzhinan
          password: wzn0523*
        default-label: ${wlyy.spring.config.git.label:jwdev}

+ 11 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/dict/WlyyHospitalSysDictEndpoint.java

@ -1,5 +1,6 @@
package com.yihu.jw.base.endpoint.dict;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.dict.service.WlyyHospitalSysDictService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
@ -51,9 +52,15 @@ public class WlyyHospitalSysDictEndpoint extends EnvelopRestEndpoint {
    public Envelop createOrUpdateDict(@ApiParam(name = "json", value = "id", required = true)
                                      @RequestParam(value = "json", required = true)String json) throws Exception{
        return success(wlyyHospitalSysDictService.updateOrCreateDict(json));
        WlyyHospitalSysDictDO wlyyHospitalSysDictDO = wlyyHospitalSysDictService.updateOrCreateDict(json);
        if (wlyyHospitalSysDictDO==null){
            return failed("请设置轮播图排序");
        }
        return success(wlyyHospitalSysDictDO);
    }
    @ApiOperation("查单条")
    @GetMapping(value= BaseHospitalRequestMapping.PatientNoLogin.findOneDict)
    public Envelop findOneDict(@ApiParam(name = "id", value = "id", required = true)
@ -160,4 +167,7 @@ public class WlyyHospitalSysDictEndpoint extends EnvelopRestEndpoint {
    }
}

+ 48 - 0
svr/svr-base/src/main/resources/application.yml

@ -733,5 +733,53 @@ wechat:
testPattern: #文件服务器上传配置 0本地,1.I健康,2.内网调用
  sign: 0
  remote_inner_url: 172.16.100.240:10023/open/fileUpload/upload_stream
im:
  im_list_get: http://127.0.0.1:3000/
---
spring:
  profiles: jwZnyg
  datasource:
    url: jdbc:mysql://172.26.0.222:3306/base?useUnicode:true&characterEncoding=utf-8&autoReconnect=true
    username: root
    password: jkzlehr
  elasticsearch:
    cluster-name: jkzl #集群名 默认elasticsearch
    cluster-nodes: 192.168.120.103:6005 #配置es节点信息,逗号分隔,如果没有指定,则启动ClientNode
    client-transport-sniff: false
    jest:
      uris: http://192.168.120.103:6006
      connection-timeout: 60000 # Connection timeout in milliseconds.
      multi-threaded: true # Enable connection requests from multiple execution threads.
  activemq:
    broker-url: tcp://59.61.92.90:9103
    user: jkzl
    password: jkzlehr
  redis:
    host: 172.26.0.222 # Redis server host.
    port: 6379 # Redis server port.
    password: Kb6wKDQP1W4
fastDFS:
  fastdfs_file_url: http://172.26.0.222:8888/
demo:
  flag: true
hospital:
  url: https://wx.xmzsh.com
  mqUser: JKZL
  mqPwd: 123456
  SourceSysCode: S60
  TargetSysCode: S01
pay:
  flag: false
wlyy:
  url: http://ehr.yihu.com/wlyy/
wechat:
  id: xm_hcyy_wx
  url: https://zhyzh.gongshu.gov.cn/
  flag: false
testPattern: #文件服务器上传配置 0本地,1.I健康,2.内网调用
  sign: 0
  remote_inner_url: 172.16.100.240:10023/open/fileUpload/upload_stream
im:
  im_list_get: http://127.0.0.1:3000/

+ 8 - 0
svr/svr-base/src/main/resources/bootstrap.yml

@ -125,4 +125,12 @@ spring:
  cloud:
    config:
      uri: ${wlyy.pring.config.uri:http://192.168.250.39:1221}
      label: ${wlyy.spring.config.label:master}
---
spring:
  profiles: jwZnyg
  cloud:
    config:
      uri: ${wlyy.spring.config.uri:http://127.0.0.1:1221}
      label: ${wlyy.spring.config.label:master}

+ 21 - 0
svr/svr-internet-hospital-entrance/src/main/java/com/yihu/jw/entrance/controller/healthCare/HealthCareEndPoint.java

@ -42,6 +42,13 @@ public class HealthCareEndPoint extends EnvelopRestEndpoint {
        return ObjEnvelop.getSuccess("ok",healthCareService.doctorFaceCheckInAddress(doctorId));
    }
    @GetMapping(value = "doctorFaceCheckInAddressBase64")
    @ApiOperation(value = "医师人脸签到微信小程序二维码", notes = "医师人脸签到微信小程序二维码")
    public ObjEnvelop doctorFaceCheckInAddressBase64(@ApiParam(name = "doctorId", value = "医生id", required = true)
                                               @RequestParam(value = "doctorId",required = true) String doctorId)throws Exception{
        return ObjEnvelop.getSuccess("ok",healthCareService.doctorFaceCheckInAddressBase64(doctorId));
    }
    @GetMapping(value = "doctorFaceCheckInData")
    @ApiOperation(value = "获取医师人脸签到数据", notes = "获取医师人脸签到数据")
    public ObjEnvelop doctorFaceCheckInData(@ApiParam(name = "doctorId", value = "医生id", required = true)
@ -133,6 +140,13 @@ public class HealthCareEndPoint extends EnvelopRestEndpoint {
        return ObjEnvelop.getSuccess("ok",healthCareService.medicareOnline(patient));
    }
    @GetMapping(value = "/medicareOnlineBase64")
    @ApiOperation(value = "医保在线服务授权表单(H5表单/小程序)(N20.17.01.03)", notes = "医保在线服务授权表单(H5表单/小程序)(N20.17.01.02)")
    public ObjEnvelop medicareOnlineBase64(@ApiParam(name = "patient", value = "患者id", required = true)
                                     @RequestParam(value = "patient", required = true)String patient)throws Exception{
        return ObjEnvelop.getSuccess("ok",healthCareService.medicareOnlineBase64(patient));
    }
    @GetMapping(value = "/register")
    @ApiOperation(value = "2.5.1医保挂号(N20.17.04.01)", notes = "2.5.1医保挂号(N20.17.04.01)")
    public ObjEnvelop register(@ApiParam(name = "registerNo", value = "挂号号", required = true)
@ -184,6 +198,13 @@ public class HealthCareEndPoint extends EnvelopRestEndpoint {
        return ObjEnvelop.getSuccess("ok",healthCareService.getSettlementResultUrl(registerNo));
    }
    @GetMapping(value = "/getSettlementResultUrlBase64")
    @ApiOperation(value = " 2.5.7获取医保结算页面地址(N20.17.04.08)", notes = " 2.5.7获取医保结算页面地址(N20.17.04.08)")
    public ObjEnvelop getSettlementResultUrlBase64(@ApiParam(name = "registerNo", value = "门诊id", required = true)
                                             @RequestParam(value = "registerNo", required = false)String registerNo)throws Exception{
        return ObjEnvelop.getSuccess("ok",healthCareService.getSettlementResultUrlBase64(registerNo));
    }
    @GetMapping(value = "/getSettlementResult")
    @ApiOperation(value = " 2.5.8获取医保结算结果(N20.17.04.08)", notes = " 2.5.8获取医保结算结果(N20.17.04.08)")
    public ObjEnvelop getSettlementResult(@ApiParam(name = "code", value = "结果回参", required = true)

+ 34 - 0
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/job/SynDoctorInfoJob.java

@ -0,0 +1,34 @@
package com.yihu.jw.job;
import com.yihu.jw.hospital.prescription.service.entrance.EntranceService;
import com.yihu.jw.service.channel.PrescriptionStatusUpdateService;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.quartz.Trigger;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
 * Created by Trick on 2019/10/15.
 */
public class SynDoctorInfoJob implements Job {
    private static final Logger logger = LoggerFactory.getLogger(SynDoctorInfoJob.class);
    @Autowired
    private EntranceService entranceService;
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        logger.info("START========SynDoctorInfoJob========");
        try {
            Trigger trigger =jobExecutionContext.getTrigger();
            System.out.println("执行时间为"+trigger.getNextFireTime());
            entranceService.MS02003(false);
            logger.info("END========SynDoctorInfoJob========");
        } catch (Exception e) {
            e.printStackTrace();
            logger.error("END===ERROE===SynDoctorInfoJob,message:"+e.getMessage());
        }
    }
}

+ 10 - 0
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/web/quota/JobController.java

@ -219,6 +219,16 @@ public class JobController extends BaseController {
                        logger.info("pay_status_notice_job  job exist");
                    }
                    break;
                case "syn_doctor_info_job" :
                    //互联网医院 医生信息同步
                    if (!quartzHelper.isExistJob("syn_doctor_info_job")) {
                        String trigger = SystemConf.getInstance().getSystemProperties().getProperty("syn_doctor_info_job");
                        quartzHelper.addJob(SynDoctorInfoJob.class, trigger, "syn_doctor_info_job", new HashMap<String, Object>());
                        logger.info("SynDoctorInfoJob  job success");
                    } else {
                        logger.info("SynDoctorInfoJob  job exist");
                    }
                    break;
                case "CSTXJOB" :
                    if (!quartzHelper.isExistJob("CSTXJOB")) {
                        System.out.println("id"+taskId);

+ 2 - 0
svr/svr-internet-hospital-job/src/main/resources/system.properties

@ -27,3 +27,5 @@ data_ykupload_job_2=0 0 0 * * ?
uncheck_prescription_notice_job=0 */1 * * * ?
syn_doctor_info_job=0 0 1 * * ?

+ 42 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/healthCare/HealthCareEndPoint.java

@ -82,6 +82,29 @@ public class HealthCareEndPoint extends EnvelopRestEndpoint {
        }
    }
    @GetMapping(value = "doctorFaceCheckInAddressBase64")
    @ApiOperation(value = "医师人脸签到微信小程序二维码", notes = "医师人脸签到微信小程序二维码")
    public ObjEnvelop doctorFaceCheckInAddressBase64(@ApiParam(name = "doctorId", value = "医生id", required = true)
                                               @RequestParam(value = "doctorId",required = true) String doctorId){
        try {
            if (wechatId.equalsIgnoreCase("xm_xzzx_wx")){
                String url = entranceHealthCareUrl + "doctorFaceCheckInAddressBase64?doctorId="+doctorId;
                String infoResponse = httpClientUtil.get(url,"GBK");
                JSONObject jsonObject = JSONObject.parseObject(infoResponse);
                if(jsonObject.getInteger("status")==200){
                    return ObjEnvelop.getSuccess("ok",jsonObject.get("obj"));
                }else {
                    return ObjEnvelop.getError("调用内网接口失败:"+jsonObject.getString("message"));
                }
            }else {
                return ObjEnvelop.getSuccess("ok",healthCareService.doctorFaceCheckInAddressBase64(doctorId));
            }
        }catch (Exception e){
            e.printStackTrace();
            return failedObjEnvelopException(e);
        }
    }
    @GetMapping(value = "doctorFaceCheckInData")
    @ApiOperation(value = "获取医师人脸签到数据", notes = "获取医师人脸签到数据")
    public ObjEnvelop doctorFaceCheckInData(@ApiParam(name = "doctorId", value = "医生id", required = true)
@ -317,6 +340,25 @@ public class HealthCareEndPoint extends EnvelopRestEndpoint {
        }
    }
    @PostMapping(value = "/medicareOnlineBase64")
    @ApiOperation(value = "医保在线服务授权表单(H5表单/小程序)(N20.17.01.03)", notes = "医保在线服务授权表单(H5表单/小程序)(N20.17.01.03)")
    public ObjEnvelop medicareOnlineBase64(@ApiParam(name = "patient", value = "患者id", required = true)
                                     @RequestParam(value = "patient", required = true)String patient)throws Exception{
        try {
            String url = entranceHealthCareUrl + "medicareOnlineBase64?patient="+patient;
            String infoResponse = httpClientUtil.get(url,"GBK");
            JSONObject jsonObject = JSONObject.parseObject(infoResponse);
            if(jsonObject.getInteger("status")==200){
                return ObjEnvelop.getSuccess("ok",jsonObject.get("obj"));
            }else {
                return ObjEnvelop.getError("调用内网接口失败:"+jsonObject.getString("message"));
            }
        }catch (Exception e){
            e.printStackTrace();
            return failedObjEnvelopException(e);
        }
    }
    @PostMapping(value = "/register")
    @ApiOperation(value = "2.5.1医保挂号(N20.17.04.01)", notes = "2.5.1医保挂号(N20.17.04.01)")
    public ObjEnvelop register(@ApiParam(name = "outpatientId", value = "门诊id", required = true)

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

@ -3522,10 +3522,12 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "获取患者待结算信息页面", notes = "获取患者待结算信息页面")
    public Envelop getSettlementInfo(
            @ApiParam(name = "outpatientId", value = "outpatientId")
            @RequestParam(value = "outpatientId", required = false) String outpatientId) throws Exception {
            @RequestParam(value = "outpatientId", required = false) String outpatientId,
            @ApiParam(name = "flag", value = "flag")
            @RequestParam(value = "flag", required = false) Integer flag) throws Exception {
        try {
            return success("操作成功", prescriptionService.getSettlementInfo(outpatientId));
            return success("操作成功", prescriptionService.getSettlementInfo(outpatientId,flag));
        } catch (Exception e) {
            return Envelop.getError(e.getMessage());
        }

+ 29 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/ykyy/BaseTopBannerController.java

@ -0,0 +1,29 @@
package com.yihu.jw.hospital.endpoint.ykyy;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.hospital.dict.service.WlyyHospitalSysDictService;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
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.RestController;
import java.util.List;
@RestController
@RequestMapping(value = "/banner")
@Api(description = "眼科医院首页轮播图",tags = "眼科医院首页轮播图")
public class BaseTopBannerController extends EnvelopRestEndpoint {
    @Autowired
    private WlyyHospitalSysDictService wlyyHospitalSysDictService;
    @GetMapping(value = "/open/show")
    @ApiOperation("眼科医院首页顶部轮播图展示")
    public ListEnvelop<WlyyHospitalSysDictDO> bannerShow(){
        List<WlyyHospitalSysDictDO> list=wlyyHospitalSysDictService.findByDictName("ONLINE_HOSPITAL_BANNER");
        return success(list);
    }
}