Selaa lähdekoodia

添加工具类判断节假日

wangzhinan 2 vuotta sitten
vanhempi
commit
548cf33a8e

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

@ -2348,6 +2348,150 @@ public class EntranceService {
    }
    public net.sf.json.JSONObject MS02004(boolean demoFlag,String idcard) throws Exception {
        int i = 0;
        String fid = "MS02003";
        String resp = "";
        if (demoFlag) {
            resp = getJosnFileResullt(fid);
            resp = MqSdkUtil.xml2jsonArrayRootRowMS02003(resp);
        } else {
            StringBuffer sbs = new StringBuffer();
            //AccessControl :用户、密码、服务id
            sbs.append("<ESBEntry><AccessControl><Fid>" + fid + "</Fid><UserName>" + mqUser + "</UserName><Password>" + mqPwd + "</Password></AccessControl>");
            //MessageHeader :固定值 消费方系统编号 S60,提供方系统编号 S01
            sbs.append("<MessageHeader><Fid>" + fid + "</Fid><MsgDate>" + DateUtil.dateToStr(new Date(), DateUtil.YYYY_MM_DD_HH_MM_SS) + "</MsgDate><SourceSysCode>" + sourceSysCode + "</SourceSysCode><TargetSysCode>" + targetSysCode + "</TargetSysCode></MessageHeader>");
            //查询信息拼接
            sbs.append("<MsgInfo><endNum>10000</endNum><Msg></Msg><startNum>1</startNum></MsgInfo></ESBEntry>");
            resp = MqSdkUtil.putReqAndGetRespByQueryStr(sbs.toString(), fid);
            resp = MqSdkUtil.xml2jsonArrayRootRowMS02003(resp);
        }
        net.sf.json.JSONObject jsonObject = net.sf.json.JSONObject.fromObject(resp);
        logger.info("获取医生数据"+jsonObject.toString());
        net.sf.json.JSONObject jsonObject1 = new  net.sf.json.JSONObject();
        if (null != jsonObject && "1".equals(jsonObject.get("code").toString())) {
            JSONArray jsonObjectMgsInfo = (JSONArray) jsonObject.get("MsgInfo");
            if (null != jsonObjectMgsInfo) {
                for (Object object : jsonObjectMgsInfo) {
                    JSONArray jsonArray = JSONArray.fromObject(object);
                    net.sf.json.JSONObject jsonArraySub = jsonArray.getJSONObject(0);
//                    net.sf.json.JSONObject jsonArraySub = (net.sf.json.JSONObject) object;
                    jsonObjectMgsInfo = (JSONArray) jsonArraySub.get("body");
                    if (jsonObjectMgsInfo instanceof JSONArray) {
                        for (Object objectSub : jsonObjectMgsInfo) {
                            net.sf.json.JSONObject jsonObjectBody = (net.sf.json.JSONObject) objectSub;
                            String doctorCode = "";
                            String doctorName = "";
                            if (null != jsonObjectBody) {
                                //获取中山医院的医生
                                String winNo = "6";
                                doctorCode = null == jsonObjectBody.get("Emp_Code") ? "" : jsonObjectBody.get("Emp_Code").toString();
                                //根据医生及分部,获取医生号别
                                net.sf.json.JSONArray jsonArrayCharge = BS55010(winNo, doctorCode, null, false);
                                String chareType = null;
                                if (null != jsonArrayCharge) {
                                    for (Object objectCharge : jsonArrayCharge) {
                                        net.sf.json.JSONObject jsonObjectBodyCharge = (net.sf.json.JSONObject) objectCharge;
                                        if (null != jsonObjectBodyCharge) {
                                            chareType = null == jsonObjectBodyCharge.get("charge_type") ? null : jsonObjectBodyCharge.get("charge_type").toString();
                                        }
                                    }
                                }
                                //保存医生信息
                                BaseDoctorDO baseDoctorDO = new BaseDoctorDO();
                                String idCard = null == jsonObjectBody.get("Card_Id") ? "" : jsonObjectBody.get("Card_Id").toString();
                                if (idCard.equalsIgnoreCase(idcard)){
                                    jsonObject1 = jsonObjectBody;
                                    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);
                                        baseDoctorDO.setBirthday(IdCardUtil.getBirthdayForIdcard(idCard));
                                        baseDoctorDO.setSex(Integer.valueOf(IdCardUtil.getSexForIdcard(idCard)));
                                        baseDoctorDO.setLocked(0);
                                        baseDoctorDO.setEnabled(1);
                                        String disableFlag = null == jsonObjectBody.get("Disable_Flag") ? "" : jsonObjectBody.get("Disable_Flag").toString();
                                        //互联网医院:1停用,0使用  转 i健康:1正常,0作废
                                        baseDoctorDO.setDel("1".equals(disableFlag) ? "0" : "1");
                                        baseDoctorDO.setMobile("0");
                                        baseDoctorDO.setName(doctorName);
                                        baseDoctorDO.setIsFamous(0);
                                        baseDoctorDO.setCreateTime(new Date());
                                        baseDoctorDO.setUpdateTime(new Date());
                                        if (StringUtils.isNotBlank(idCard)) {
                                            baseDoctorDO.setSalt(PwdUtil.randomString(5));
                                            try {
                                                baseDoctorDO.setPassword(com.yihu.utils.security.MD5.md5Hex(baseDoctorDO.getIdcard().substring(baseDoctorDO.getIdcard().length() - 6) + "{" + baseDoctorDO.getSalt() + "}"));
                                            } catch (Exception e) {
                                                logger.error(e.getMessage() + "docotr=" + doctorCode + ";idcard=" + baseDoctorDO.getIdcard());
                                            }
                                        } 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 = baseDoctorDao.save(baseDoctorDO);
                                    //根据医生和机构判断数据是否存在,若不存在则在mapping中追加记录
                                    List<DoctorMappingDO> doctorMappingDOS = doctorMappingDao.findByDoctorAndOrgCode(baseDoctorDO.getId(), "350211A1002");
                                    if (!(null != doctorMappingDOS && doctorMappingDOS.size() > 0)) {
                                        DoctorMappingDO doctorMappingDO = new DoctorMappingDO();
                                        doctorMappingDao.delete(doctorMappingDOS);
                                        doctorMappingDO.setDoctor(baseDoctorDO.getId());
                                        doctorMappingDO.setDoctorName(doctorName);
                                        doctorMappingDO.setMappingCode(doctorCode);
                                        doctorMappingDO.setMappingName(doctorName);
                                        doctorMappingDO.setOrgCode("350211A1002");
                                        doctorMappingDO.setOrgName("厦门大学附属中山医院");
                                        doctorMappingDao.save(doctorMappingDO);
                                    }
                                    break;
                                }
                            }
                        }
                    }
                }
            }
        }
//            net.sf.json.JSONArray jsonArray = ConvertUtil.convertListEnvelopInBodyRowMS02003(resp);
//            for (Object object : jsonArray) { }
//        }
        return jsonObject1;
    }

+ 1 - 1
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/constant/CommonConstant.java

@ -19,5 +19,5 @@ public class CommonConstant {
    /**
     * 腾讯语音合成文件路径
     */
    public static final String TXVOICEPATH = "/usr/local/nginx/hz/voice/";
    public static final String TXVOICEPATH = "C:\\Users\\Administrator\\Desktop\\语音文件";
}

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

@ -374,6 +374,13 @@ public class MqSdkController extends EnvelopRestEndpoint {
        return success(obj);
    }
    @GetMapping(value = "/MS02004")
    @ApiOperation(value = "获取医生信息")
    public Envelop MS02004(@ApiParam(name = "idcard", value = "身份证")
                               @RequestParam(value = "idcard", required = true) String idcard) throws Exception {
        return success(entranceService.MS02004(demoFlag,idcard));
    }
    @GetMapping(value = "/MS02014")
    @ApiOperation(value = "医生详细信息同步")
    public ObjEnvelop MS02014() throws Exception {