Browse Source

海沧医院排班接口对接

wangzhinan 1 year ago
parent
commit
c8f01332e1

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

@ -8390,6 +8390,29 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
            } else {
                System.out.println("获取顺丰物流面单信息:1");
                sfexpress_obj = expressageDOList.get(0);
                String sql = "SELECT\n" +
                        "\tpe.outpatient_id as outpatientId,\n" +
                        "\tpe.mailno as mailno,\n" +
                        "\tpe.address as address,\n" +
                        "\tpe.mobile as mobile\n" +
                        "FROM\n" +
                        "\twlyy_prescription_expressage pe\n" +
                        "WHERE\n" +
                        " pe.create_time >= '"+DateUtil.getStringDateShort()+" 00:00:00'\n" +
                        "AND pe.create_time <= '"+DateUtil.getStringDateShort()+" 23:59:59'\n" +
                        "AND pe.mailno IS NOT NULL\n" +
                        "and pe.address ='"+sfexpress_obj.getAddress()+"'\n" +
                        "and pe.mobile = '"+sfexpress_obj.getMobile()+"' ";
                List<Map<String,Object>> maps = jdbcTemplate.queryForList(sql);
                if (maps!=null&&maps.size()!=0){
                    Map<String,Object> map = maps.get(0);
                    if (!map.get("outpatientId").toString().equalsIgnoreCase(wlyyPrescriptionDOS.getOutpatientId())){
                        String mailNo= map.get("mailno").toString();
                        sfexpress_obj.setMailno(mailNo);
                        sfexpressService.updatePrescriptionExpressage(sfexpress_obj);
                        throw new Exception("已存在地址"+map.get("address")+"、电话"+map.get("mobile")+"的快递单(单号"+mailNo+"),请将此处方与其打包一起。");
                    }
                }
                System.out.println("获取顺丰物流面单信息:2");
                //如果该处方的快递单号已生成,则说明已经下单成功,不需要重复下单,直接返回面单信息
                System.out.println("获取顺丰物流面单信息:3");

+ 28 - 8
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/service/WorkTimeService.java

@ -67,13 +67,23 @@ public class WorkTimeService {
     * @return
     * @throws Exception
     */
    public WlyyHospitalWorkRuleDO saveWorkTimeRule(String workTimeRuleJson,String isDoctorWork) throws Exception{
        WlyyHospitalWorkRuleDO ruleDO = objectMapper.readValue(workTimeRuleJson,WlyyHospitalWorkRuleDO.class);
        List<WlyyHospitalWorkRuleDO> orgRules = wlyyHospitalWorkRuleDao.findByHospital(ruleDO.getHospital());
        if(orgRules!=null&&orgRules.size()>0){
            wlyyHospitalWorkRuleDao.delete(orgRules);
    public List<WlyyHospitalWorkRuleDO> saveWorkTimeRule(String workTimeRuleJson,String isDoctorWork) throws Exception{
        List<WlyyHospitalWorkRuleDO> ruleDOS = new ArrayList<>();
        if (StringUtils.isNoneBlank(workTimeRuleJson)){
            JSONArray array = JSONArray.parseArray(workTimeRuleJson);
            if (array!=null&&array.size()!=0){
                WlyyHospitalWorkRuleDO ruleDO = objectMapper.readValue(array.getJSONObject(0).toJSONString(),WlyyHospitalWorkRuleDO.class);
                List<WlyyHospitalWorkRuleDO> orgRules = wlyyHospitalWorkRuleDao.findByHospital(ruleDO.getHospital());
                if(orgRules!=null&&orgRules.size()>0){
                    wlyyHospitalWorkRuleDao.delete(orgRules);
                }
            }
            for (int i=0;i<array.size();i++){
                WlyyHospitalWorkRuleDO ruleDO = objectMapper.readValue(array.getJSONObject(i).toJSONString(),WlyyHospitalWorkRuleDO.class);
                ruleDO = wlyyHospitalWorkRuleDao.save(ruleDO);
                ruleDOS.add(ruleDO);
            }
        }
        wlyyHospitalWorkRuleDao.save(ruleDO);
        if (StringUtils.isNoneBlank(isDoctorWork)){
            JSONArray jsonArray = JSONArray.parseArray(isDoctorWork);
            if (jsonArray!=null&&jsonArray.size()>0){
@ -87,7 +97,7 @@ public class WorkTimeService {
                }
            }
        }
        return ruleDO;
        return ruleDOS;
    }
    /**
@ -97,12 +107,22 @@ public class WorkTimeService {
     */
    public WlyyHospitalWorkRuleDO findWorkTimeRule(String hospital){
        List<WlyyHospitalWorkRuleDO> orgRules = wlyyHospitalWorkRuleDao.findByHospital(hospital);
        if(orgRules!=null&&orgRules.size()>0){
        if (orgRules!=null&&orgRules.size()!=0){
            return orgRules.get(0);
        }
        return null;
    }
    /**
     * 获取医院排班规则
     * @param hospital
     * @return
     */
    public List<WlyyHospitalWorkRuleDO> findWorkTimeRuleList(String hospital){
        List<WlyyHospitalWorkRuleDO> orgRules = wlyyHospitalWorkRuleDao.findByHospital(hospital);
        return orgRules;
    }
    /**
     * 判断医生是否在班
     * @param doctor

+ 9 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/prescription/WlyyHospitalWorkRuleDO.java

@ -13,6 +13,7 @@ import javax.persistence.Table;
public class WlyyHospitalWorkRuleDO extends UuidIdentityEntity {
    private String hospital;//医院编码',
    private String type;//isDoctorWorkSPFZ 视频复诊,isDoctorWorkSPZX 视频咨询,isDoctorWorkTWFZ图文复诊,isDoctorWorkTWZX 图文咨询
    private String openVideo;//1.开放视频预约 ; 0,不开放视频预约',
    private String onlyDuty;//1.仅在班时接受问诊 ; 0 随时可以接受问诊',
    private Integer maxDay;//开放几天号源天数',
@ -138,4 +139,12 @@ public class WlyyHospitalWorkRuleDO extends UuidIdentityEntity {
    public void setWsSourceNum(Integer wsSourceNum) {
        this.wsSourceNum = wsSourceNum;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
}

+ 3 - 3
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/patient/PatientNoLoginEndPoint.java

@ -892,13 +892,13 @@ public class PatientNoLoginEndPoint extends EnvelopRestEndpoint {
    @PostMapping(value= BaseHospitalRequestMapping.Prescription.findWorkTimeRule)
    @ApiOperation(value = "查询排班规则")
    public ObjEnvelop findWorkTimeRule(@ApiParam(name = "hospital", value = "医院code")
    public ListEnvelop findWorkTimeRule(@ApiParam(name = "hospital", value = "医院code")
                                       @RequestParam(value = "hospital",required = true)String hospital) {
        try {
            return success(workTimeService.findWorkTimeRule(hospital));
            return success(workTimeService.findWorkTimeRuleList(hospital));
        } catch (Exception e){
            return  failedObjEnvelopException(e);
            return  failedListEnvelopException(e);
        }
    }

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

@ -2011,19 +2011,19 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.findWorkTimeRule)
    @ApiOperation(value = "查询排班规则")
    public ObjEnvelop findWorkTimeRule(@ApiParam(name = "hospital", value = "医院code")
    public ListEnvelop findWorkTimeRule(@ApiParam(name = "hospital", value = "医院code")
                                       @RequestParam(value = "hospital", required = true) String hospital) {
        try {
            return success(workTimeService.findWorkTimeRule(hospital));
            return success(workTimeService.findWorkTimeRuleList(hospital));
        } catch (Exception e) {
            return failedObjEnvelopException(e);
            return failedListEnvelopException(e);
        }
    }
    @PostMapping(value = BaseHospitalRequestMapping.Prescription.saveWorkTimeRule)
    @ApiOperation(value = "保存排班规则")
    public ObjEnvelop saveWorkTimeRule(@ApiParam(name = "workTimeRuleJson", value = "保存排班规则")
    public ListEnvelop saveWorkTimeRule(@ApiParam(name = "workTimeRuleJson", value = "保存排班规则")
                                       @RequestParam(value = "workTimeRuleJson", required = true) String workTimeRuleJson,
                                       @ApiParam(name = "isDoctorWorkJson", value = "判断是否排班json数据")
                                       @RequestParam(value = "isDoctorWorkJson", required = false) String isDoctorWorkJson) throws Exception {
@ -2031,7 +2031,7 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
            return success(workTimeService.saveWorkTimeRule(workTimeRuleJson, isDoctorWorkJson));
        } catch (Exception e) {
            return failedObjEnvelopException(e);
            return failedListEnvelopException(e);
        }
    }