chenweida 7 vuotta sitten
vanhempi
commit
2995380513

+ 64 - 1
common/common-entity/src/main/java/com/yihu/wlyy/entity/patient/prescription/PrescriptionExpressageLog.java

@ -18,11 +18,20 @@ public class PrescriptionExpressageLog extends IdEntity{
    private String code;                    //业务code
    private String prescriptionCode;      //处方code  关联表wlyy_prescription code
    private String expressageCode;//配送code 关联wlyy_prescription_expressage code
    private String expressageCode; //配送code 关联wlyy_prescription_expressage code
    private Date createTime;                //创建的时间
    private String remark;//备注
    //健管师配送时候填写字段
    //配送人
    private String expressageHospitalName;            // 如果配送方式是健管师那么这个字段存服务站名称,如果是快递配送那么是快递公司名称
    private String expressageHospitalAddress;         // 配送机构地址
    private String expressageHospitalCode;            //配送机构code
    private String expressageUserName;          //配送人名称
    private String expressageUserCode;          //配送人code
    private String expressageUserMobile;        //配送人电话
    private Date   expressageTime;                //开始配送的时间
    //接收人
    private String acceptHospital;// /健管师配送 接收机构
    private String acceptHospitalName;///健管师配送 接收机构名称
    private String acceptUser;///健管师配送 接收人
@ -152,5 +161,59 @@ public class PrescriptionExpressageLog extends IdEntity{
        this.acceptUserMobile = acceptUserMobile;
    }
    public String getExpressageHospitalName() {
        return expressageHospitalName;
    }
    public void setExpressageHospitalName(String expressageHospitalName) {
        this.expressageHospitalName = expressageHospitalName;
    }
    public String getExpressageHospitalAddress() {
        return expressageHospitalAddress;
    }
    public void setExpressageHospitalAddress(String expressageHospitalAddress) {
        this.expressageHospitalAddress = expressageHospitalAddress;
    }
    public String getExpressageHospitalCode() {
        return expressageHospitalCode;
    }
    public void setExpressageHospitalCode(String expressageHospitalCode) {
        this.expressageHospitalCode = expressageHospitalCode;
    }
    public String getExpressageUserName() {
        return expressageUserName;
    }
    public void setExpressageUserName(String expressageUserName) {
        this.expressageUserName = expressageUserName;
    }
    public String getExpressageUserCode() {
        return expressageUserCode;
    }
    public void setExpressageUserCode(String expressageUserCode) {
        this.expressageUserCode = expressageUserCode;
    }
    public String getExpressageUserMobile() {
        return expressageUserMobile;
    }
    public void setExpressageUserMobile(String expressageUserMobile) {
        this.expressageUserMobile = expressageUserMobile;
    }
    public Date getExpressageTime() {
        return expressageTime;
    }
    public void setExpressageTime(Date expressageTime) {
        this.expressageTime = expressageTime;
    }
}

+ 8 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/prescription/PrescriptionDispensaryCodeDao.java

@ -30,5 +30,13 @@ public interface PrescriptionDispensaryCodeDao extends PagingAndSortingRepositor
//    @Query("select p1 from PrescriptionInfo p1 left join Prescription p2 on p1.prescriptionCode=p2.code where p1.prescriptionCode = ?1")
//    List<PrescriptionInfo> getPrescriptionInfo(String prescriptionCode);
    /**
     * 更新处方某一类型的编码为使用
     * @param prescriptionCode
     * @param type
     */
    @Query(" update PrescriptionDispensaryCode a set a.isUse=1 where a.prescriptionCode= ?1 and a.type =?2 and a.isUse=0")
    void updateToUse(String prescriptionCode, Integer type);
    PrescriptionDispensaryCode findByCodeAndIsUse(String code, Integer isUse);
}

+ 42 - 15
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/prescription/PrescriptionExpressageService.java

@ -118,7 +118,7 @@ public class PrescriptionExpressageService {
            }
            case 3: {
                //判断是3 配送员(健管师)配送码
                returnStatus = dispensaryCode_3(userCode, prescriptionDispensaryCode);
                // returnStatus = dispensaryCode_3(userCode, prescriptionDispensaryCode);
                break;
            }
            default: {
@ -226,6 +226,7 @@ public class PrescriptionExpressageService {
        //获取配送的医生信息
        Doctor doctor = doctorDao.findByCode(userCode);
        //判断是不是最终的服务站
        //修改处方状态为配送到服务站
        Prescription prescription = prescriptionDao.findByCode(prescriptionDispensaryCode.getPrescriptionCode());
        Date expressage2hospitalDate = new Date();
@ -325,14 +326,19 @@ public class PrescriptionExpressageService {
        prescriptionLogDao.save(prescriptionLog);
        //提醒健管师待取药
        prescriptionService.waitExpressageMessage(prescriptionCode,code);
        prescriptionService.waitExpressageMessage(prescriptionCode, code);
    }
    @Transactional
    public void expressage2Hospital(String hospital, String hospitalName, String hospitalAddress, String userCode, String userName, String mobile, String prescriptionCode) {
        PrescriptionExpressage prescriptionExpressage = prescriptionExpressageDao.findByPrescriptionCode(prescriptionCode);
        //添加配送日志
        PrescriptionExpressageLog prescriptionExpressageLog = new PrescriptionExpressageLog();
        prescriptionExpressageLog.setCreateTime(new Date());
        prescriptionExpressageLog.setCode(UUID.randomUUID().toString());
        prescriptionExpressageLog.setPrescriptionCode(prescriptionCode);
        //设置接收人
        prescriptionExpressageLog.setAcceptAddress(hospitalAddress);
        prescriptionExpressageLog.setAcceptHospital(hospital);
        prescriptionExpressageLog.setAcceptHospitalName(hospitalName);
@ -340,28 +346,49 @@ public class PrescriptionExpressageService {
        prescriptionExpressageLog.setAcceptUser(userCode);
        prescriptionExpressageLog.setAcceptUserName(userName);
        prescriptionExpressageLog.setAcceptUserMobile(mobile);
        prescriptionExpressageLog.setCreateTime(new Date());
        prescriptionExpressageLog.setCode(UUID.randomUUID().toString());
        prescriptionExpressageLog.setPrescriptionCode(prescriptionCode);
        //设置配送人
        prescriptionExpressageLog.setExpressageCode(prescriptionExpressage.getCode());
        prescriptionExpressageLog.setExpressageHospitalAddress(prescriptionExpressage.getExpressageHospitalAddress());
        prescriptionExpressageLog.setExpressageHospitalCode(prescriptionExpressage.getExpressageHospitalCode());
        prescriptionExpressageLog.setExpressageHospitalName(prescriptionExpressage.getExpressageHospitalName());
        prescriptionExpressageLog.setExpressageTime(prescriptionExpressage.getExpressageTime());
        prescriptionExpressageLog.setExpressageUserCode(prescriptionExpressage.getExpressageCode());
        prescriptionExpressageLog.setExpressageUserMobile(prescriptionExpressage.getExpressageMobile());
        prescriptionExpressageLog.setExpressageUserName(prescriptionExpressage.getExpressageName());
        prescriptionExpressageLogDao.save(prescriptionExpressageLog);
        //更新配送表,接收药品信息
        prescriptionExpressage.setAcceptCode(userCode);
        prescriptionExpressage.setAcceptName(userName);
        prescriptionExpressage.setAcceptMobile(mobile);
        prescriptionExpressage.setAcceptHospital(hospital);
        prescriptionExpressage.setAcceptHospitalName(hospitalName);
        prescriptionExpressage.setAcceptHospitalAddress(hospitalAddress);
        prescriptionExpressage.setAcceptTime(new Date());
        /**
         * 判断如果服务站和患者填写的服务站一致  那么就修改处方状态为送达服务站
         * 判断如果服务站和患者填写的服务站一致
         */
        if (hospital.equals(prescriptionExpressage.getPatientHospitalCode())) {
            // 如果是最后服务站
            //设置配送码失效
            prescriptionDispensaryCodeDao.updateToUse(prescriptionCode,3);
            //修改处方是配送完成
            Prescription prescription = prescriptionDao.findByCode(prescriptionCode);
            prescription.setStatus(PrescriptionLog.PrescriptionLogStatus.expressage2hospital.getValue());
            prescription.setExpressageTime(new Date());
            prescriptionExpressage.setAcceptCode(userCode);
            prescriptionExpressage.setAcceptName(userName);
            prescriptionExpressage.setAcceptMobile(mobile);
            prescriptionExpressage.setAcceptHospital(hospital);
            prescriptionExpressage.setAcceptHospitalName(hospitalName);
            prescriptionExpressage.setAcceptHospitalAddress(hospitalAddress);
            prescriptionExpressage.setAcceptTime(new Date());
        }else{
            //如果不是重点服务站,更新配送表,更新配送信息是当前登陆人
            prescriptionExpressage.setExpressageCode(userCode);
            prescriptionExpressage.setExpressageName(userName);
            prescriptionExpressage.setExpressageMobile(mobile);
            prescriptionExpressage.setExpressageHospitalCode(hospital);
            prescriptionExpressage.setExpressageHospitalName(hospitalName);
            prescriptionExpressage.setExpressageHospitalAddress(hospitalAddress);
        }
    }
}