wangzhinan 7 месяцев назад
Родитель
Сommit
b54af3c0ae

+ 37 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/DsyyPrescriptionService.java

@ -1313,6 +1313,43 @@ public class DsyyPrescriptionService extends BaseJpaService<WlyyPrescriptionDO,
    }
    /**
     * 同步血压数据
     * @return
     */
    public String synDataToEnTrance(String idcard,String name,String age,String sex,String birthDate,String mobile,
                                    String address,String cardNo,String szy,String ssy,String date,String chargeType,
                                    String chargeTypeName,String height,String weight) throws Exception {
        String url = entranceUrl +"synXyData";
        String object = "";
        Map<String,Object> params = new HashedMap();
        params.put("idcard",idcard);
        params.put("name",name);
        params.put("age",age);
        params.put("sex",sex);
        params.put("birthDate",birthDate);
        params.put("mobile",mobile);
        params.put("address",address);
        params.put("cardNo",cardNo);
        params.put("szy",szy);
        params.put("ssy",ssy);
        params.put("date",date);
        params.put("chargeType",chargeType);
        params.put("chargeTypeName",chargeTypeName);
        params.put("height",height);
        params.put("weight",weight);
        HttpResponse response = HttpUtils.doPost(url,params);
        String content = response.getContent();
        logger.info("response:"+content);
        JSONObject rs = JSON.parseObject(content);
        Integer status = rs.getInteger("status");
        if (status==200){
            object = rs.getString("obj");
        }
        return object;
    }
    /**
     * 查询历次就诊门诊病历文书
     * @param patientId 病人id

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

@ -2998,6 +2998,48 @@ public class DsyyEntranceService {
        return json;
    }
    public String synXyData(String idcard,String name,String age,String sex,String birthDate,String mobile,
                            String address,String cardNo,String szy,String ssy,String date,String chargeType,
                            String chargeTypeName,String height,String weight)throws Exception{
        String sexName = sex.equalsIgnoreCase("1")?"男":sex.equalsIgnoreCase("2")?"女":"未知";
        String condition = "<REQUEST>\n" +
                "\t<SOURCE_SYSTEM>导诊系统</SOURCE_SYSTEM>\n" +
                "\t<PERSON_NAME>"+name+"</PERSON_NAME>\n" +
                "\t<ID_CARD_NO>"+idcard+"</ID_CARD_NO>\n" +
                "\t<AGE_VALUE>"+age+"</AGE_VALUE>\n" +
                "\t<AGE_UNIT>岁</AGE_UNIT>\n" +
                "\t<SEX_CODE>"+sex+"</SEX_CODE>\n" +
                "\t<SEX_NAME>"+sexName+"</SEX_NAME>\n" +
                "\t<DATE_OF_BIRTH>"+birthDate+"</DATE_OF_BIRTH>\n" +
                "\t<TELEPHONE>"+mobile+"</TELEPHONE>\n" +
                "\t<CURRENT_ADDRESS>"+address+"</CURRENT_ADDRESS>\n" +
                "\t<MEDICAL_INSURANCE_NO>"+cardNo+"</MEDICAL_INSURANCE_NO>\n" +
                "\t<FEE_TYPE_CODE>"+chargeType+"<FEE_TYPE_CODE/>\n" +
                "\t<FEE_TYPE>"+chargeTypeName+"</FEE_TYPE>\n" +
                "<DIASTOLIC_PRESSURE>"+szy+"</DIASTOLIC_PRESSURE>\n" +
                "   <SYSTOLIC_PRESSURE>"+ssy+"</SYSTOLIC_PRESSURE> " +
                "\t<HEIGHT_VALUE>"+height+"</HEIGHT_VALUE>\n" +
                "\t<HRIGHT_UNIT>CM</HRIGHT_UNIT>\n" +
                "\t<WEIGHT_VALUE>"+weight+"</WEIGHT_VALUE>\n" +
                "\t<WEIGHT_UNIT>KG</WEIGHT_UNIT>\n" +
                "\t<RECORD_TIME>"+date+"</RECORD_TIME>\n" +
                "</REQUEST>";
        String pInput=condition;
        logger.info("血压数据写入入参"+pInput);
        ServiceLocator locator = new ServiceLocator();
        java.net.URL endpoint = new java.net.URL("http://10.95.8.41/csp/jhip/JHIPLIB.SOAP.BS.Service.cls?CfgItem=JH0126%E5%AF%BC%E8%AF%8A%E4%BF%A1%E6%81%AF%E5%9B%9E%E4%BC%A0%E6%9C%8D%E5%8A%A1");
        String returnStr = locator.getServiceSoap(endpoint).send(pInput);
        logger.info("血压数据写入出参"+returnStr);
        String json = "";
        if (StringUtils.isNoneBlank(returnStr)){
            XMLSerializer xmlSerializer = new XMLSerializer();
            json = xmlSerializer.read(returnStr).toString();
        }
        return json;
    }
    public JSONArray selectEmrInfoIdAndVisitNo(String patientId,String visitNo) throws Exception {
        String url = "http://10.95.8.41:51225";
        JSONObject data = new JSONObject();

+ 14 - 0
business/base-service/src/main/java/com/yihu/jw/patient/service/PatientPreDiagnosisInfoService.java

@ -16,6 +16,7 @@ import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.patient.dao.BasePatientMedicareCardDao;
import com.yihu.jw.patient.dao.PatientPreDiagnosisInfoDao;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.encrypt.MD5;
import com.yihu.jw.util.entity.ServiceException;
import jxl.write.WritableSheet;
@ -202,9 +203,22 @@ public class PatientPreDiagnosisInfoService extends BaseJpaService<PatientPreDia
                patientDao.save(patient);
            }
        }
        infoDO.setUploadFlag("0");
        infoDO.setPatient(patient.getId());
        infoDO.setCreateTime(new Date());
        infoDO = patientPreDiagnosisInfoDao.save(infoDO);
        try{
            String res =dsyyPrescriptionService.synDataToEnTrance(infoDO.getIdcard(), infoDO.getName(), infoDO.getAge(), infoDO.getSex(),infoDO.getBirthday(), infoDO.getMobile(), infoDO.getAddress(), infoDO.getCardNo(), infoDO.getDiastolicPressure(),infoDO.getSystolicPressure(), DateUtil.dateToStrLong(infoDO.getCreateTime()),infoDO.getChargeType(),infoDO.getChargeTypeName(),infoDO.getHeight(),infoDO.getWeight());
            if (StringUtils.isNoneBlank(res)){
                JSONObject jsonObject = JSONObject.parseObject(res);
                if (jsonObject.getString("RESULT_CODE").equalsIgnoreCase("true")){
                    infoDO.setUploadFlag("1");
                    patientPreDiagnosisInfoDao.save(infoDO);
                }
            }
        }catch (Exception e){
        }
        DevicePatientHealthIndex patientHealthIndex = new DevicePatientHealthIndex();
        patientHealthIndex.setCzrq(new Date());
        patientHealthIndex.setUser(infoDO.getPatient());

+ 9 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/base/patient/PatientPreDiagnosisInfoDO.java

@ -46,7 +46,16 @@ public class PatientPreDiagnosisInfoDO extends IdEntityWithCreateTime {
    private String streetName;//
    private String address;//详情地址
    private String psnNo;//医疗保险号
    private String uploadFlag;//上传标识1上传0未上传
    @Column(name = "upload_flag")
    public String getUploadFlag() {
        return uploadFlag;
    }
    public void setUploadFlag(String uploadFlag) {
        this.uploadFlag = uploadFlag;
    }
    @Column(name = "psn_no")
    public String getPsnNo() {

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

@ -691,6 +691,42 @@ public class DsyyController extends EnvelopRestEndpoint {
    }
    @PostMapping(value = "/synXyData")
    @ApiOperation(value = "血压数据写入-webservice")
    public ObjEnvelop<String> synXyData(@ApiParam(name = "idcard", value = "身份证", required = false)
                                        @RequestParam(value = "idcard",required = false)String idcard,
                                        @ApiParam(name = "name", value = "姓名", required = false)
                                        @RequestParam(value = "name",required = false)String name,
                                        @ApiParam(name = "age", value = "年龄", required = false)
                                        @RequestParam(value = "age",required = false)String age,
                                        @ApiParam(name = "sex", value = "性别", required = false)
                                        @RequestParam(value = "sex",required = false)String sex,
                                        @ApiParam(name = "birthDate", value = "出生日期", required = false)
                                            @RequestParam(value = "birthDate",required = false)String birthDate,
                                        @ApiParam(name = "mobile", value = "联系电话", required = false)
                                            @RequestParam(value = "mobile",required = false)String mobile,
                                        @ApiParam(name = "address", value = "地址", required = false)
                                            @RequestParam(value = "address",required = false)String address,
                                        @ApiParam(name = "cardNo", value = "卡号", required = false)
                                            @RequestParam(value = "cardNo",required = false)String cardNo,
                                        @ApiParam(name = "szy", value = "舒张压", required = false)
                                            @RequestParam(value = "szy",required = false)String szy,
                                        @ApiParam(name = "ssy", value = "收缩压", required = false)
                                            @RequestParam(value = "ssy",required = false)String ssy,
                                        @ApiParam(name = "date", value = "记录时间", required = false)
                                            @RequestParam(value = "date",required = false)String date,
                                        @ApiParam(name = "chargeType", value = "费别code", required = false)
                                            @RequestParam(value = "chargeType",required = false)String chargeType,
                                        @ApiParam(name = "chargeTypeName", value = "费别名称", required = false)
                                            @RequestParam(value = "chargeTypeName",required = false)String chargeTypeName,
                                        @ApiParam(name = "height", value = "身高", required = false)
                                            @RequestParam(value = "height",required = false)String height,
                                        @ApiParam(name = "weight", value = "体重", required = false)
                                            @RequestParam(value = "weight",required = false)String weight) throws Exception {
        return success("请求成功",dsyyEntranceService.synXyData(idcard,name, age, sex, birthDate, mobile,
                 address, cardNo, szy, ssy, date,chargeType,chargeTypeName,height,weight));
    }
    @PostMapping(value = "/SOF_SignDataWithExtraInfo")
    @ApiOperation(value = "处方签名")
    public ObjEnvelop SOF_SignDataWithExtraInfo(@ApiParam(name = "prescriptionId", value = "处方id", required = false)