浏览代码

区域互联网医院

Trick 5 年之前
父节点
当前提交
a28fdf00a2

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

@ -1113,7 +1113,15 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                " h.org_code = '"+orgCode+"'" +
                " AND r.role_code ='specialist'";
        if(StringUtils.isNotBlank(chargeType)){
            totalSql+=" AND d.charge_type ='"+chargeType+"'";
            if("all".equals(chargeType)){
                //不过滤号别
            }else{
                totalSql+=" AND d.charge_type ='"+chargeType+"'";
            }
        }else{
            //不传号别过滤不为为空
            totalSql+=" AND d.charge_type is not null ";
        }
        if(StringUtils.isNotBlank(dept)){
            totalSql+= " AND h.dept_code = '"+dept+"' " ;
@ -1147,7 +1155,14 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
                " h.org_code = '"+orgCode+"'"+
                " AND r.role_code ='specialist'";
        if(StringUtils.isNotBlank(chargeType)){
            sql+=" AND d.charge_type ='"+chargeType+"'";
            if("all".equals(chargeType)){
                //不过滤号别
            }else{
                sql+=" AND d.charge_type ='"+chargeType+"'";
            }
        }else{
            //不传号别过滤不为为空
            sql+=" AND d.charge_type is not null ";
        }
        if(StringUtils.isNotBlank(dept)){
            sql+= " AND h.dept_code = '"+dept+"' " ;

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

@ -4,10 +4,20 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.doctor.dao.BaseDoctorRoleDao;
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorRoleDO;
import com.yihu.jw.entity.hospital.mapping.DoctorMappingDO;
import com.yihu.jw.hospital.mapping.dao.DoctorMappingDao;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.utils.network.HttpResponse;
import com.yihu.utils.network.HttpUtils;
import com.yihu.utils.security.MD5;
import javafx.scene.DepthTest;
import org.apache.commons.collections.map.HashedMap;
import org.slf4j.Logger;
@ -19,6 +29,7 @@ import javax.transaction.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Random;
/**
 * 眼科医院专用service
@ -35,9 +46,23 @@ public class YkyyEntranceService {
    private final static String orgCode ="350211A5004";
    private final static String orgName ="厦门大学附属厦门眼科中心";
    @Autowired
    private DictHospitalDeptDao hospitalDeptDao;
    @Autowired
    private BaseDoctorHospitalDao baseDoctorHospitalDao;
    @Autowired
    private BaseDoctorRoleDao baseDoctorRoleDao;
    @Autowired
    private DoctorMappingDao doctorMappingDao;
    @Autowired
    private BaseDoctorDao baseDoctorDao;
    @Autowired
    private HibenateUtils hibenateUtils;
@ -54,10 +79,10 @@ public class YkyyEntranceService {
        String sql ="select code AS \"code\",name as \"name\",consultdeptflag as \"consultDeptFlag\" from V_HLW_KSXX";
        Map<String,Object> params = new HashedMap();
        params.put("sql",sql);
        logger.info("updateYkyyDept:"+sql);
        HttpResponse response = HttpUtils.doGet(url,params);
        String content = response.getContent();
        logger.info(content);
        logger.info("response:"+content);
        JSONObject rs = JSON.parseObject(content);
        Integer status = rs.getInteger("status");
        if(status!=null&&status == 200){
@ -91,4 +116,127 @@ public class YkyyEntranceService {
        }
        return "success";
    }
    public String updateYkyyDoctor()throws Exception{
        String sql ="select y.code AS \"code\",y.name AS \"name\",y.idCard AS \"idcard\",y.jobtitlecode AS \"jobTitleCode\",y.jobTitleName AS \"jobTitleName\",y.dept AS \"dept\",y.deptName AS \"deptName\" from v_Hlw_Ysxx y where y.idcard is not null";
        Map<String,Object> params = new HashedMap();
        params.put("sql",sql);
        HttpResponse response = HttpUtils.doGet(url,params);
        String content = response.getContent();
        logger.info("response:"+content);
        JSONObject rs = JSON.parseObject(content);
        Integer status = rs.getInteger("status");
        if(status!=null&&status == 200){
            JSONArray array = rs.getJSONArray("detailModelList");
            logger.info("doctor size:"+array.size());
            if(array!=null&&array.size()>0) {
                for (int i = 0; i < array.size(); i++) {
                    JSONObject doctorJson = array.getJSONObject(i);
                    String idCard = doctorJson.getString("idCard");
                    //过滤身份证脏数据
                    if(idCard.length()>=15){
                        List<BaseDoctorDO> doctorDOs = baseDoctorDao.findByIdcard(idCard);
                        if(doctorDOs!=null&&doctorDOs.size()>0){
                            BaseDoctorDO doctor = doctorDOs.get(0);
                            doctor.setJobTitleCode(doctorJson.getString("jobtitlecode"));
                            doctor.setJobTitleName(doctorJson.getString("jobTitleName"));
                            BaseDoctorDO temp = baseDoctorDao.save(doctor);
                            List<BaseDoctorHospitalDO> hospitalDOs = baseDoctorHospitalDao.findByOrgCodeAndDeptCodeAndDoctorCode(orgCode,doctorJson.getString("dept"),doctor.getId());
                            if(hospitalDOs!=null&&hospitalDOs.size()>0){
                                //机构信息部门信息
                                BaseDoctorHospitalDO hospitalDO = hospitalDOs.get(0);
                                hospitalDO.setDeptCode(doctorJson.getString("dept"));
                                hospitalDO.setDeptName(doctorJson.getString("deptName"));
                                hospitalDO.setDel("1");
                                baseDoctorHospitalDao.save(hospitalDO);
                            }
                        }else{
                            //新增医生
                            BaseDoctorDO doctor = new BaseDoctorDO();
                            doctor.setName(doctorJson.getString("name"));
                            doctor.setIdcard(idCard);
                            doctor.setSex(Integer.parseInt(IdCardUtil.getSexForIdcard_new(idCard)));
                            doctor.setBirthday(IdCardUtil.getBirthdayForIdcard(idCard));
                            doctor.setProvinceCode("350000");
                            doctor.setProvinceName("福建省");
                            doctor.setTownCode("350203");
                            doctor.setTownName("思明区");
                            doctor.setCityCode("350200");
                            doctor.setCityName("厦门市");
                            //认证信息设置
                            String salt = randomString(5);
                            String pw = idCard.substring(idCard.length() - 6);
                            doctor.setPassword(MD5.md5Hex(pw + "{" + salt + "}"));
                            doctor.setDel("1");
                            doctor.setEnabled(1);
                            doctor.setLocked(0);
                            doctor.setCreateTime(new Date());
                            doctor.setJobTitleCode(doctorJson.getString("jobtitlecode"));
                            doctor.setJobTitleName(doctorJson.getString("jobTitleName"));
                            BaseDoctorDO temp = baseDoctorDao.save(doctor);
                            //机构信息部门信息
                            BaseDoctorHospitalDO hospitalDO = new BaseDoctorHospitalDO();
                            hospitalDO.setDoctorCode(temp.getId());
                            hospitalDO.setOrgCode(orgCode);
                            hospitalDO.setOrgName(orgName);
                            hospitalDO.setDeptCode(doctorJson.getString("dept"));
                            hospitalDO.setDeptName(doctorJson.getString("deptName"));
                            hospitalDO.setDel("1");
                            baseDoctorHospitalDao.save(hospitalDO);
                            //保存角色
                            BaseDoctorRoleDO role = new BaseDoctorRoleDO();
                            role.setDoctorCode(temp.getId());
                            role.setRoleCode("specialist");
                            baseDoctorRoleDao.save(role);
                            //保存mapping
                            DoctorMappingDO mappingDO = new DoctorMappingDO();
                            mappingDO.setIdcard(idCard);
                            mappingDO.setDoctor(temp.getId());
                            mappingDO.setDoctorName(temp.getName());
                            mappingDO.setOrgCode(orgCode);
                            mappingDO.setOrgName(orgName);
                            mappingDO.setMappingCode(doctorJson.getString("code"));
                            mappingDO.setMappingName(temp.getName());
                            mappingDO.setCreateTime(new Date());
                            doctorMappingDao.save(mappingDO);
                        }
                    }
                }
            }
        }
        return "success";
    }
    public String randomString(int length) {
        String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        StringBuffer buffer = new StringBuffer();
        Random random = new Random();
        for(int i = 0; i < length; ++i) {
            int pos = random.nextInt(str.length());
            buffer.append(str.charAt(pos));
        }
        return buffer.toString();
    }
}

+ 4 - 3
business/base-service/src/main/java/com/yihu/jw/internet/service/ykyy/YkyyInternetService.java

@ -141,11 +141,14 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
        jb.put("hospital_phone", "0592-2112111");
        jb.put("hospital_img","");
        jb.put("bus_lic", "C:\\Users\\Administrator\\Desktop\\眼科医院\\监管平台\\附件\\资质证明-营业执照\\营业执照.jpg");
        jb.put("bus_lic", ImgUtils.getImageStr("C:\\Users\\Administrator\\Desktop\\眼科医院\\监管平台\\附件\\资质证明-营业执照\\营业执照.jpg"));
        jb.put("corp_idcord_head", ImgUtils.getImageStr("C:\\Users\\Administrator\\Desktop\\眼科医院\\监管平台\\附件\\法人身份证正反面\\a.jpg"));
        jb.put("corp_idcord_tail", ImgUtils.getImageStr("C:\\Users\\Administrator\\Desktop\\眼科医院\\监管平台\\附件\\法人身份证正反面\\b.jpg"));
        jb.put("pra_lic", ImgUtils.getImageStr("C:\\Users\\Administrator\\Desktop\\眼科医院\\监管平台\\附件\\执业许可证\\zyxkz.jpg"));
        jb.put("secu_level","3");
        jb.put("secu_level_cert",ImgUtils.getImageStr("C:\\Users\\Administrator\\Desktop\\眼科医院\\监管平台\\附件\\等保图片\\等保图片.jpg"));
        jb.put("net_service", "1,3,4,5,7");
        jb.put("net_service_ot", "");
        jb.put("service_dept", "10");
@ -243,9 +246,7 @@ public class YkyyInternetService extends BaseJpaService<InternetUpErrorLogDO, In
        jb.put("tech_manual", "");
        jb.put("server_manual", "");
        jb.put("secu_level", "");
        jb.put("secu_level_cert", "");
        jb.put("emr_level", "");
        jb.put("emr_level_cert", "");

+ 25 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/base/BaseInfoEndpoint.java

@ -10,6 +10,7 @@ import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
import com.yihu.jw.entity.base.dict.DictJobTitleDO;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.org.BaseOrgDO;
import com.yihu.jw.hospital.prescription.service.entrance.YkyyEntranceService;
import com.yihu.jw.org.service.BaseOrgInfoService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
@ -53,6 +54,9 @@ public class BaseInfoEndpoint extends EnvelopRestEndpoint {
    @Autowired
    private WlyyBusinessService wlyyBusinessService;
    @Autowired
    private YkyyEntranceService ykyyEntranceService;
    /**
     * 获取市列表信息
     * @return
@ -144,6 +148,8 @@ public class BaseInfoEndpoint extends EnvelopRestEndpoint {
        }
    }
    //==================区域互联网======================================
    @GetMapping(value = "/findByTown")
    @ApiOperation(value = "获取街道信息", notes = "获取街道信息")
    public Envelop findByTown(@ApiParam(name = "town", value = "区级code")
@ -168,5 +174,24 @@ public class BaseInfoEndpoint extends EnvelopRestEndpoint {
    public Envelop findWlyyDoctor() throws Exception{
        return success(wlyyBusinessService.findWlyyDoctor());
    }
    //===============区域互联网===========================================
    //===============眼科中心信息同步======================================
    @GetMapping(value = "/updateYkyyDept")
    @ApiOperation(value = "同步科室数据", notes = "同步医生数据")
    public Envelop updateYkyyDept() throws Exception{
        return success(ykyyEntranceService.updateYkyyDept());
    }
    @GetMapping(value = "/updateYkyyDoctor")
    @ApiOperation(value = "同步医生信息", notes = "同步医生信息")
    public Envelop updateYkyyDoctor() throws Exception {
        return success(ykyyEntranceService.updateYkyyDoctor());
    }
    //===============眼科中心信息同步======================================
}