浏览代码

核酸预约逻辑修改

wangjun 4 年之前
父节点
当前提交
b8ef65cec8

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

@ -1,6 +1,7 @@
package com.yihu.jw.hospital.prescription.service;
package com.yihu.jw.hospital.prescription.service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONPObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.jw.dict.dao.DictDeptDescDao;
import com.yihu.jw.dict.dao.DictDeptDescDao;
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
@ -9328,6 +9329,32 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        return MixEnvelop.getSuccess(IotRequestMapping.Common.message_success_find, object);
        return MixEnvelop.getSuccess(IotRequestMapping.Common.message_success_find, object);
    }
    }
    public MixEnvelop selectByUrlHsjc(Integer id,String wxId) throws Exception {
        WxWechatDO wxWechatDO = wechatDao.findById(wxId);
        if (wxWechatDO == null) {
            throw new Exception("微信配置不存在!");
        }
        BaseNatAppointmentDO natAppointmentDO = baseNatAppointmentDao.findOne(id);
        List<BasePatientWechatDo> patientWechatDos = patientWechatDao.findByWechatIdAndPatientId(wxId, natAppointmentDO.getPatientId());
        if (patientWechatDos == null || patientWechatDos.size() == 0) {
            throw new Exception("openid不存在!");
        }
        BasePatientWechatDo patientWechatDo = patientWechatDos.get(0);
        String idcard = null;
        if (natAppointmentDO != null) {
            idcard = natAppointmentDO.getMedicare();
        }
        if (!StringUtils.isNoneBlank(idcard)) {
            throw new Exception("就诊卡不存在!");
        }
        String url = ylzPayService.createSicardPayUrl(wxWechatDO.getAppOriginId(), patientWechatDo.getOpenid(), idcard, "WX");
        com.alibaba.fastjson.JSONObject object = com.alibaba.fastjson.JSONObject.parseObject(url);
        return MixEnvelop.getSuccess(IotRequestMapping.Common.message_success_find, object);
    }
    /**
    /**
     * 获取居民openId
     * 获取居民openId
     *
     *
@ -10426,6 +10453,33 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    public Map saveNatAppointment(String mediaCard,String patientId,String name,String cardNo,String cardType,String mobile,
    public Map saveNatAppointment(String mediaCard,String patientId,String name,String cardNo,String cardType,String mobile,
                                   String firstJobCode,String firstJobName,String secondJobCode,String secondJobName,String natTime,String address,String provinceName,String cityName,String townName,String streetName) throws Exception {
                                   String firstJobCode,String firstJobName,String secondJobCode,String secondJobName,String natTime,String address,String provinceName,String cityName,String townName,String streetName) throws Exception {
        BaseNatAppointmentDO baseNatAppointmentDO= new BaseNatAppointmentDO();
        BaseNatAppointmentDO baseNatAppointmentDO= new BaseNatAppointmentDO();
        baseNatAppointmentDO.setMedicare(mediaCard);
        baseNatAppointmentDO.setName(name);
        baseNatAppointmentDO.setCardNo(cardNo);
        baseNatAppointmentDO.setCardType(cardType);
        baseNatAppointmentDO.setAddress(address);
        baseNatAppointmentDO.setAppointmentTime(DateUtil.strToDate(natTime,"yyyy-MM-dd hh:mm:ss"));
        baseNatAppointmentDO.setCityName(cityName);
        baseNatAppointmentDO.setFirstJobCode(firstJobCode);
        baseNatAppointmentDO.setFirstJobName(firstJobName);
        baseNatAppointmentDO.setSecondJobCode(secondJobCode);
        baseNatAppointmentDO.setSecondJobName(secondJobName);
        baseNatAppointmentDO.setProvinceName(provinceName);
        baseNatAppointmentDO.setTownName(townName);
        baseNatAppointmentDO.setStreetName(streetName);
        baseNatAppointmentDO.setPatientId(patientId);
        baseNatAppointmentDO.setIsSuccess("0");
        baseNatAppointmentDO.setPayStatus("0");
        baseNatAppointmentDO.setCreateTime(new Date());
        baseNatAppointmentDO.setMobile(mobile);
        baseNatAppointmentDO.setInspectionCode("鼻/咽拭子");
        baseNatAppointmentDO.setInspectionName("鼻/咽拭子");
        baseNatAppointmentDO.setIcdCode("Z00.000");
        baseNatAppointmentDO.setChargeCode("361322");
        baseNatAppointmentDO.setWinNo("6");
        baseNatAppointmentDO.setDept("3150000");
        baseNatAppointmentDO.setDeptName("感染疾病科");
        baseNatAppointmentDO= baseNatAppointmentDao.save(baseNatAppointmentDO);
        Map returnMap = new HashMap();
        Map returnMap = new HashMap();
        net.sf.json.JSONObject jsondate = new JSONObject();
        net.sf.json.JSONObject jsondate = new JSONObject();
        jsondate.put("checkPart","鼻/咽拭子");
        jsondate.put("checkPart","鼻/咽拭子");
@ -10441,12 +10495,14 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
        jsondate.put("address4",streetName);
        jsondate.put("address4",streetName);
        jsondate.put("address5",2);
        jsondate.put("address5",2);
        jsondate.put("area",address);
        jsondate.put("area",address);
        jsondate.put("winNo",6);
        jsondate.put("target",2);
        jsondate.put("target",2);
        jsondate.put("quantity",1);
        Map<String,Object> map = findRandomDoctor();
        Map<String,Object> map = findRandomDoctor();
        net.sf.json.JSONObject rs = new JSONObject();
        net.sf.json.JSONObject rs = new JSONObject();
        if (map!=null){
        if (map!=null){
            //先进行核算检测预约
            //先进行核算检测预约
            String result = entranceService.BS10144(map.get("deptCode").toString(),map.get("doctorMappingCode").toString(),natTime,mediaCard,name,patientId,mobile,demoFlag);
            String result = entranceService.BS10144("3150000","0001",natTime,mediaCard,name,cardNo,mobile,demoFlag);
            com.alibaba.fastjson.JSONObject object = com.alibaba.fastjson.JSONObject.parseObject(result);
            com.alibaba.fastjson.JSONObject object = com.alibaba.fastjson.JSONObject.parseObject(result);
            logger.info("核酸检测预约结束"+result);
            logger.info("核酸检测预约结束"+result);
            Boolean flag = false;
            Boolean flag = false;
@ -10478,10 +10534,11 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                        }else {
                        }else {
                            returnMap.put("msg","已经挂号的数据有误");
                            returnMap.put("msg","已经挂号的数据有误");
                            returnMap.put("status","-1");
                            returnMap.put("status","-1");
                            return map;
                            returnMap.put("id",baseNatAppointmentDO.getId());
                            return returnMap;
                        }
                        }
                    }else {
                    }else {
                        rs = entranceService.BS10111(cardNo, map.get("doctorMappingCode").toString(), map.get("deptCode").toString(), "31", "6", demoFlag);
                        rs = entranceService.BS10111(mediaCard, map.get("doctorMappingCode").toString(), map.get("deptCode").toString(), "31", "6", demoFlag);
                        net.sf.json.JSONObject res = rs.getJSONObject("resquest");
                        net.sf.json.JSONObject res = rs.getJSONObject("resquest");
                        logger.info("挂号结果 res: " + res.toString());
                        logger.info("挂号结果 res: " + res.toString());
                        String rsCode = res.getString("@RESULT");
                        String rsCode = res.getString("@RESULT");
@ -10563,7 +10620,8 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                        }else {
                        }else {
                            returnMap.put("msg","请求挂号失败");
                            returnMap.put("msg","请求挂号失败");
                            returnMap.put("status","-1");
                            returnMap.put("status","-1");
                            return map;
                            returnMap.put("id",baseNatAppointmentDO.getId());
                            return returnMap;
                        }
                        }
                        baseNatAppointmentDO.setDoctorId(map.get("doctorMappingCode").toString());
                        baseNatAppointmentDO.setDoctorId(map.get("doctorMappingCode").toString());
                    }
                    }
@ -10573,8 +10631,10 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                }
                }
                logger.info("开单开始");
                logger.info("开单开始");
                logger.info("saveNatAppointment params:"+jsondate.toString());
                logger.info("saveNatAppointment params:"+jsondate.toString());
                com.alibaba.fastjson.JSONArray array = new com.alibaba.fastjson.JSONArray();
                array.add(jsondate);
                try {
                try {
                    JSONObject jsonObject  = entranceService.BS10112(jsondate.toString(),flag);
                    JSONObject jsonObject  = entranceService.BS10112(array.toString(),demoFlag);
                    //判断返回结果
                    //判断返回结果
                    String prers = jsonObject.getString("@RESULT");
                    String prers = jsonObject.getString("@RESULT");
                    //保存日志
                    //保存日志
@ -10590,10 +10650,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                    if ("0".equals(prers)) {
                    if ("0".equals(prers)) {
                        String realOrder = jsonObject.getString("@real_order");
                        String realOrder = jsonObject.getString("@real_order");
                        baseNatAppointmentDO.setRealOrder(realOrder);
                        baseNatAppointmentDO.setRealOrder(realOrder);
                        baseNatAppointmentDO.setIsSuccess("1");
                        baseNatAppointmentDao.save(baseNatAppointmentDO);
                        String recipeTime = DateUtil.dateToStr(new Date(), "yyyyMMddHHmmss");
                        String recipeTime = DateUtil.dateToStr(new Date(), "yyyyMMddHHmmss");
                        String applyDepaName = map.get("deptCode").toString();
                        String applyDepaName = map.get("deptCode").toString();
                        String voucherNo = jsonObject.getString("@xtgzh0") ;
                        String voucherNo = jsonObject.getString("@xtgzh0");
                        String applyDoctorName = map.get("doctorName").toString();
                        String applyDoctorName = map.get("doctorName").toString();
                        BasePatientDO patientDO = basePatientDao.findById(patientId);
                        BasePatientDO patientDO = basePatientDao.findById(patientId);
                        String userName = null;
                        String userName = null;
@ -10609,51 +10671,35 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                        }
                        }
                        logger.info("cardNo:" + cardNo);
                        logger.info("cardNo:" + cardNo);
                        JSONObject jsonObject1 =entranceService.BS15054(patientMappingDO.getMappingCode(),realOrder,demoFlag);
                        /*JSONObject jsonObject1 =entranceService.BS15054(patientMappingDO.getMappingCode(),realOrder,demoFlag);
                        net.sf.json.JSONObject res = jsonObject1.getJSONObject("resquest");
                        net.sf.json.JSONObject res = jsonObject1.getJSONObject("resquest");
                        logger.info("获取待结算数据 res: " + res.toString());
                        logger.info("获取待结算数据 res: " + res.toString());
                        String rsCode = res.getString("@RESULT");
                        String free= 0+"";
                        if ("0".equals(rsCode)) {
                        String rsCode = res.getString("@RESULT");*/
                        String free= 80+"";
                        /*if ("0".equals(rsCode)) {
                            free = res.getString("@total_charge");
                            free = res.getString("@total_charge");
                        }
                        ylzPayService.msgPush("01", cardNo, "01", patientDO.getMobile(), "00", userNo, userName, idcard, voucherNo, applyDepaName, applyDoctorName, recipeTime, free, "1");
                        }*/
                        ylzPayService.msgPush("01", mediaCard, "01", patientDO.getMobile(), "00", userNo, userName, idcard, voucherNo, applyDepaName, applyDoctorName, recipeTime, free, "1");
                        /*//成功后发送模板消息
                        /*//成功后发送模板消息
                        sendNatWxTemplat(name,cardNo,mobile,natTime,realOrder,"natAppointmentRemind");*/
                        sendNatWxTemplat(name,cardNo,mobile,natTime,realOrder,"natAppointmentRemind");*/
                    }else{
                    }else{
                        returnMap.put("msg","核酸检测开方失败");
                        returnMap.put("msg","核酸检测开方失败");
                        returnMap.put("status","-1");
                        returnMap.put("status","-1");
                        return map;
                        returnMap.put("id",baseNatAppointmentDO.getId());
                        return returnMap;
                    }
                    }
                } catch (Exception e) {
                } catch (Exception e) {
                    e.printStackTrace();
                    e.printStackTrace();
                }
                }
            }
            }
            baseNatAppointmentDO.setMedicare(mediaCard);
            baseNatAppointmentDO.setName(name);
            baseNatAppointmentDO.setCardNo(cardNo);
            baseNatAppointmentDO.setCardType(cardType);
            baseNatAppointmentDO.setAddress(address);
            baseNatAppointmentDO.setAppointmentTime(DateUtil.strToDate(natTime,"yyyy-MM-dd hh:mm:ss"));
            baseNatAppointmentDO.setCityName(cityName);
            baseNatAppointmentDO.setFirstJobCode(firstJobCode);
            baseNatAppointmentDO.setFirstJobName(firstJobName);
            baseNatAppointmentDO.setSecondJobCode(secondJobCode);
            baseNatAppointmentDO.setSecondJobName(secondJobName);
            baseNatAppointmentDO.setProvinceName(provinceName);
            baseNatAppointmentDO.setTownName(townName);
            baseNatAppointmentDO.setStreetName(streetName);
            baseNatAppointmentDO.setPatientId(patientId);
            baseNatAppointmentDO.setIsSuccess("1");
            baseNatAppointmentDO.setPayStatus("0");
            baseNatAppointmentDO.setCreateTime(new Date());
            baseNatAppointmentDO.setMobile(mobile);
            baseNatAppointmentDao.save(baseNatAppointmentDO);
            returnMap.put("msg","预约成功");
            returnMap.put("msg","预约成功");
            returnMap.put("status","200");
            returnMap.put("status","200");
            }
            returnMap.put("id",baseNatAppointmentDO.getId());
        }
        return map;
        return returnMap;
    }
    }
    public MixEnvelop getNatRecords(String patientId,Integer page ,Integer pageSize){
    public MixEnvelop getNatRecords(String patientId,Integer page ,Integer pageSize){
        String sql = "select t.name as \"name\"," +
        String sql = "select t.name as \"name\"," +
@ -10701,24 +10747,39 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
    }
    }
    //患者取消预约
    //患者取消预约
    public String cancelNatAppointment (Integer id,String patientId ) throws Exception{
    public String cancelNatAppointment (Integer id,String patientId ){
        BasePatientDO patientDO = basePatientDao.findById(patientId);
        BasePatientDO patientDO = basePatientDao.findById(patientId);
        String res = "";
        String res = "";
        if (patientDO!=null){
        if (patientDO!=null){
            String patientCode = null;
            String patientCode = null;
            patientCode = patientMappingService.findHisPatNoByIdCard(patientDO.getIdcard());
            BaseNatAppointmentDO baseNatAppointmentDO = baseNatAppointmentDao.findOne(id);
            if (null!=baseNatAppointmentDO){
                res = entranceService.BS10145(baseNatAppointmentDO.getDept(),baseNatAppointmentDO.getDoctorId(),DateUtil.dateToStr(baseNatAppointmentDO.getAppointmentTime(),"yyyy-MM-dd hh:mm:ss"),baseNatAppointmentDO.getMedicare(),baseNatAppointmentDO.getName(),patientCode,baseNatAppointmentDO.getMobile(),demoFlag);
                if (res.contains("Error")){
                    throw new Exception(res);
                }
                baseNatAppointmentDO.setIsSuccess("-1");
                baseNatAppointmentDO.setCancelReson("患者本人取消");
                baseNatAppointmentDO.setCancelTime(new Date());
                baseNatAppointmentDO.setCancelBy(patientId);
                baseNatAppointmentDao.save(baseNatAppointmentDO);
            try {
                patientCode = patientMappingService.findHisPatNoByIdCard(patientDO.getIdcard());
                BaseNatAppointmentDO baseNatAppointmentDO = baseNatAppointmentDao.findOne(id);
                if (null!=baseNatAppointmentDO){
                    res = entranceService.BS10145("3150000","0001",DateUtil.dateToStr(baseNatAppointmentDO.getAppointmentTime(),"yyyy-MM-dd hh:mm:ss"),baseNatAppointmentDO.getMedicare(),baseNatAppointmentDO.getName(),baseNatAppointmentDO.getCardNo(),baseNatAppointmentDO.getMobile(),demoFlag);
                    logger.info("核酸检测预约取消"+res);
                    com.alibaba.fastjson.JSONObject jsonObject = com.alibaba.fastjson.JSONObject.parseObject(res);
                    Boolean flag = false;
                    if (jsonObject!=null){
                        com.alibaba.fastjson.JSONObject object = jsonObject.getJSONObject("MsgInfo");
                        String Msg = object.getString("Msg");
                        if (Msg.contains("Error")){
                            throw new Exception(Msg);
                        }else {
                            baseNatAppointmentDO.setIsSuccess("-1");
                            baseNatAppointmentDO.setCancelReson("患者本人取消");
                            baseNatAppointmentDO.setCancelTime(new Date());
                            baseNatAppointmentDO.setCancelBy(patientId);
                            baseNatAppointmentDao.save(baseNatAppointmentDO);
                        }
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            }
        }
        }
        return res;
        return res;
    }
    }

+ 8 - 8
business/base-service/src/main/java/com/yihu/jw/order/BusinessOrderService.java

@ -14,20 +14,14 @@ import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.dict.WlyyChargeDictDO;
import com.yihu.jw.entity.hospital.dict.WlyyChargeDictDO;
import com.yihu.jw.entity.hospital.httplog.WlyyHttpLogDO;
import com.yihu.jw.entity.hospital.httplog.WlyyHttpLogDO;
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionExpressageDO;
import com.yihu.jw.entity.hospital.prescription.WlyyPrescriptionInfoDO;
import com.yihu.jw.entity.hospital.prescription.*;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.entity.order.BusinessOrderDO;
import com.yihu.jw.entity.order.BusinessOrderRefundDO;
import com.yihu.jw.entity.order.BusinessOrderRefundDO;
import com.yihu.jw.hospital.dict.WlyyChargeDictDao;
import com.yihu.jw.hospital.dict.WlyyChargeDictDao;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.httplog.dao.WlyyHttpLogDao;
import com.yihu.jw.hospital.httplog.dao.WlyyHttpLogDao;
import com.yihu.jw.hospital.mapping.dao.DoctorMappingDao;
import com.yihu.jw.hospital.mapping.dao.DoctorMappingDao;
import com.yihu.jw.hospital.prescription.dao.OutpatientDao;
import com.yihu.jw.hospital.prescription.dao.PrescriptionDao;
import com.yihu.jw.hospital.prescription.dao.PrescriptionExpressageDao;
import com.yihu.jw.hospital.prescription.dao.PrescriptionInfoDao;
import com.yihu.jw.hospital.prescription.dao.*;
import com.yihu.jw.hospital.prescription.service.PrescriptionLogService;
import com.yihu.jw.hospital.prescription.service.PrescriptionLogService;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.hospital.prescription.service.entrance.EntranceService;
import com.yihu.jw.hospital.prescription.service.entrance.EntranceService;
@ -131,6 +125,8 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
    private WlyyChargeDictDao chargeDictDao;
    private WlyyChargeDictDao chargeDictDao;
    @Autowired
    @Autowired
    private WlyyHttpLogDao wlyyHttpLogDao;
    private WlyyHttpLogDao wlyyHttpLogDao;
    @Autowired
    private BaseNatAppointmentDao baseNatAppointmentDao;
@ -1116,6 +1112,10 @@ public class BusinessOrderService extends BaseJpaService<BusinessOrderDO,Busines
        return businessOrderDO;
        return businessOrderDO;
    }
    }
    public BaseNatAppointmentDO selectById(Integer relationCode){
        return  baseNatAppointmentDao.findOne(relationCode);
    }
    public List<BusinessOrderDO> selectListStatus(String relationCode){
    public List<BusinessOrderDO> selectListStatus(String relationCode){
        List<BusinessOrderDO> businessOrderDOList = businessOrderDao.selectListByRelationCode(relationCode);
        List<BusinessOrderDO> businessOrderDOList = businessOrderDao.selectListByRelationCode(relationCode);

+ 9 - 3
server/svr-authentication/src/main/java/com/yihu/jw/security/core/userdetails/jdbc/WlyyUserDetailsService.java

@ -57,8 +57,8 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
    private static final String DEFAULT_PATIENT_INSERT_STATEMENT =
    private static final String DEFAULT_PATIENT_INSERT_STATEMENT =
            "INSERT into base_patient (id,photo,idcard,password,salt,name,birthday,sex,mobile," +
            "INSERT into base_patient (id,photo,idcard,password,salt,name,birthday,sex,mobile," +
                    "province_code,province_name,city_code,city_name,town_code,town_name,street_code,street_name,address," +
                    "province_code,province_name,city_code,city_name,town_code,town_name,street_code,street_name,address," +
                    "del,locked,enabled,login_failure_count,login_date) " +
                    " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
                    "del,locked,enabled,login_failure_count,login_date,card_type) " +
                    " values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
    private static final String PATIENT_INSERT_WEHCAT = "insert into base_patient_wechat (id,wechat_id,patient_id,openid,create_time) values(?,?,?,?,?)";
    private static final String PATIENT_INSERT_WEHCAT = "insert into base_patient_wechat (id,wechat_id,patient_id,openid,create_time) values(?,?,?,?,?)";
@ -298,10 +298,12 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
                    }
                    }
                    JSONObject object1 = JSONObject.parseObject(res);
                    JSONObject object1 = JSONObject.parseObject(res);
                    logger.info("object1"+object1.toJSONString());
                    if (null != object1&&null!=object1.get("status") && "200".equals(object1.get("status").toString())) {
                    if (null != object1&&null!=object1.get("status") && "200".equals(object1.get("status").toString())) {
                        JSONObject patient = object1.getJSONObject("userinfo");
                        JSONObject patient = object1.getJSONObject("userinfo");
                        String salt = randomString(5);
                        String salt = randomString(5);
                        idcard = patient.getString("idcard");
                        idcard = patient.getString("idcard");
                        String idtype = patient.getString("idtype");
                        String mobile = patient.getString("mobile");
                        String mobile = patient.getString("mobile");
                        String pw = mobile.substring(mobile.length()-6);
                        String pw = mobile.substring(mobile.length()-6);
                        try {
                        try {
@ -328,7 +330,8 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
                                            0,
                                            0,
                                            1,
                                            1,
                                            0,
                                            0,
                                            new Date()
                                            new Date(),
                                            idtype
                                    }
                                    }
                            );
                            );
                        }catch (Exception e){
                        }catch (Exception e){
@ -350,6 +353,7 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
                        user.setEnabled(true);
                        user.setEnabled(true);
                        user.setLocked(false);
                        user.setLocked(false);
                        user.setLockedDate(null);
                        user.setLockedDate(null);
                        user.setCardType(idcard);
                        users.add(user);
                        users.add(user);
                    }else{
                    }else{
@ -672,6 +676,7 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
                JSONObject patient = object1.getJSONObject("userinfo");
                JSONObject patient = object1.getJSONObject("userinfo");
                logger.info("开始同步患者数据");
                logger.info("开始同步患者数据");
                String idcard = patient.getString("idcard");
                String idcard = patient.getString("idcard");
                String idtype = patient.getString("idtype");
                BasePatientDO patientDO2 = patientDao.findByIdcardAndDel(idcard,"1");
                BasePatientDO patientDO2 = patientDao.findByIdcardAndDel(idcard,"1");
                BasePatientDO patient1 = new BasePatientDO();
                BasePatientDO patient1 = new BasePatientDO();
                String salt = UUID.randomUUID().toString().substring(0,5);
                String salt = UUID.randomUUID().toString().substring(0,5);
@ -689,6 +694,7 @@ public class WlyyUserDetailsService extends JdbcDaoSupport implements UserDetail
                    patient1.setSalt(salt);
                    patient1.setSalt(salt);
                }
                }
                patient1.setIdcard(idcard);
                patient1.setIdcard(idcard);
                patient1.setCardType(idtype);
                patient1.setName(patient.getString("name"));
                patient1.setName(patient.getString("name"));
                patient1.setSex(StringUtils.isNotBlank(idcard)?Integer.parseInt(IdCardUtil.getSexForIdcard_new(idcard)):null);
                patient1.setSex(StringUtils.isNotBlank(idcard)?Integer.parseInt(IdCardUtil.getSexForIdcard_new(idcard)):null);
                patient1.setMobile(mobile);
                patient1.setMobile(mobile);

+ 13 - 3
server/svr-authentication/src/main/java/com/yihu/jw/security/model/WlyyUserDetails.java

@ -1,8 +1,5 @@
package com.yihu.jw.security.model;
package com.yihu.jw.security.model;
import com.fasterxml.jackson.annotation.JsonFormat;
import javax.persistence.Column;
import java.io.Serializable;
import java.io.Serializable;
import java.util.Date;
import java.util.Date;
@ -114,6 +111,11 @@ public class WlyyUserDetails implements Serializable {
     */
     */
    private String address;
    private String address;
    /**
     *
     */
    private String cardType;
    public Date getBirthday() {
    public Date getBirthday() {
@ -371,4 +373,12 @@ public class WlyyUserDetails implements Serializable {
    public void setSex(Integer sex) {
    public void setSex(Integer sex) {
        this.sex = sex;
        this.sex = sex;
    }
    }
    public String getCardType() {
        return cardType;
    }
    public void setCardType(String cardType) {
        this.cardType = cardType;
    }
}
}

+ 4 - 0
server/svr-authentication/src/main/java/com/yihu/jw/security/service/OauthYlzConfigService.java

@ -211,6 +211,7 @@ public class OauthYlzConfigService {
                String  auth_status = biz.getString("auth_status");
                String  auth_status = biz.getString("auth_status");
                if("succ".equals(auth_status)){
                if("succ".equals(auth_status)){
                    String idcard = biz.getString("id_no");
                    String idcard = biz.getString("id_no");
                    String cardType = biz.getString("id_type");
                    BasePatientDO patientDO =  basePatientDao.findByIdcardAndDel(idcard,"1");
                    BasePatientDO patientDO =  basePatientDao.findByIdcardAndDel(idcard,"1");
                    if(StringUtils.isNotBlank(idcard)&&patientDO == null){
                    if(StringUtils.isNotBlank(idcard)&&patientDO == null){
                        BasePatientDO patient = new BasePatientDO();
                        BasePatientDO patient = new BasePatientDO();
@ -236,6 +237,7 @@ public class OauthYlzConfigService {
                        patient.setSex(Integer.parseInt(IdCardUtil.getSexForIdcard_new(idcard)));
                        patient.setSex(Integer.parseInt(IdCardUtil.getSexForIdcard_new(idcard)));
                        patient.setCreateTime(new Date());
                        patient.setCreateTime(new Date());
                        patient.setUpdateTime(new Date());
                        patient.setUpdateTime(new Date());
                        patient.setCardType(cardType);
                        patient.setBirthday(DateUtil.strToDate(biz.getString("birthday"),"yyyyMMdd"));
                        patient.setBirthday(DateUtil.strToDate(biz.getString("birthday"),"yyyyMMdd"));
                        patientDO = basePatientDao.save(patient);
                        patientDO = basePatientDao.save(patient);
                        WlyyPatientFamilyMemberDO basePatientFamilyMemberDO = familyMemberDao.findFamilyMemberByPatientAndRelationCode(patientDO.getId(),"7");
                        WlyyPatientFamilyMemberDO basePatientFamilyMemberDO = familyMemberDao.findFamilyMemberByPatientAndRelationCode(patientDO.getId(),"7");
@ -258,6 +260,8 @@ public class OauthYlzConfigService {
                        rsMap.put("patient",patient);
                        rsMap.put("patient",patient);
                        return rsMap;
                        return rsMap;
                    }else{
                    }else{
                        patientDO.setCardType(cardType);
                        basePatientDao.save(patientDO);
                        WlyyPatientFamilyMemberDO basePatientFamilyMemberDO = familyMemberDao.findFamilyMemberByPatientAndRelationCode(patientDO.getId(),"7");
                        WlyyPatientFamilyMemberDO basePatientFamilyMemberDO = familyMemberDao.findFamilyMemberByPatientAndRelationCode(patientDO.getId(),"7");
                        if (basePatientFamilyMemberDO==null){
                        if (basePatientFamilyMemberDO==null){
                            basePatientFamilyMemberDO = new WlyyPatientFamilyMemberDO();
                            basePatientFamilyMemberDO = new WlyyPatientFamilyMemberDO();

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

@ -1577,8 +1577,14 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
    @ApiOperation("查询支付状态")
    @ApiOperation("查询支付状态")
    public ObjEnvelop selectOrderStatus(
    public ObjEnvelop selectOrderStatus(
            @ApiParam(name = "relationCode", value = "relationCode", required = true)
            @ApiParam(name = "relationCode", value = "relationCode", required = true)
            @RequestParam(required = true)String relationCode) throws Exception {
            @RequestParam(required = true)String relationCode,
            @ApiParam(name = "flag", value = "flag", required = false)
            @RequestParam(required = false)String flag) throws Exception {
        try {
        try {
            if (StringUtils.isNoneBlank(flag)){
                Integer id = Integer.parseInt(relationCode);
                return ObjEnvelop.getSuccess("ok",businessOrderService.selectById(id));
            }
            return ObjEnvelop.getSuccess("ok",businessOrderService.selectStatus(relationCode));
            return ObjEnvelop.getSuccess("ok",businessOrderService.selectStatus(relationCode));
        } catch (Exception e) {
        } catch (Exception e) {
            return ObjEnvelop.getError(e.getMessage());
            return ObjEnvelop.getError(e.getMessage());
@ -2160,12 +2166,19 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
    @GetMapping(value= BaseHospitalRequestMapping.Prescription.selectByUrl)
    @GetMapping(value= BaseHospitalRequestMapping.Prescription.selectByUrl)
    @ApiOperation("获取诊间支付url")
    @ApiOperation("获取诊间支付url")
    public ObjEnvelop selectByUrl(
    public ObjEnvelop selectByUrl(
            @ApiParam(name = "prescriptionId", value = "prescriptionId", required = true)
            @RequestParam(required = true)String prescriptionId,
            @ApiParam(name = "oupatientId", value = "oupatientId", required = true)
            @RequestParam(required = true)String oupatientId) throws Exception {
            @ApiParam(name = "prescriptionId", value = "prescriptionId", required = false)
            @RequestParam(required = false)String prescriptionId,
            @ApiParam(name = "oupatientId", value = "oupatientId", required = false)
            @RequestParam(required = false)String oupatientId,
            @ApiParam(name = "flag", value = "flag", required = false)
            @RequestParam(required = false)String flag) throws Exception {
        try {
        try {
            return ObjEnvelop.getSuccess("ok",prescriptionService.selectByUrl(oupatientId,prescriptionId,wxId));
            if (StringUtils.isNoneBlank(flag)){
                Integer id = Integer.parseInt(oupatientId);
                return ObjEnvelop.getSuccess("ok",prescriptionService.selectByUrlHsjc(id,wxId));
            }else {
                return ObjEnvelop.getSuccess("ok",prescriptionService.selectByUrl(oupatientId,prescriptionId,wxId));
            }
        } catch (Exception e) {
        } catch (Exception e) {
            return ObjEnvelop.getError(e.getMessage());
            return ObjEnvelop.getError(e.getMessage());
        }
        }