Bladeren bron

Merge branch 'dev' of trick9191/wlyy2.0 into dev

trick9191 5 jaren geleden
bovenliggende
commit
d04d0a60c3

+ 11 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/prescription/dao/OauthDzqmConfigDao.java

@ -0,0 +1,11 @@
package com.yihu.jw.hospital.prescription.dao;
import com.yihu.jw.entity.hospital.dzqm.OauthDzqmConfigDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by Trick on 2019/10/14.
 */
public interface OauthDzqmConfigDao extends PagingAndSortingRepository<OauthDzqmConfigDO, String>, JpaSpecificationExecutor<OauthDzqmConfigDO> {
}

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

@ -0,0 +1,61 @@
package com.yihu.jw.hospital.prescription.service.entrance;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
import com.yihu.jw.entity.hospital.dzqm.OauthDzqmConfigDO;
import com.yihu.jw.hospital.prescription.dao.OauthDzqmConfigDao;
import com.yihu.utils.network.HttpResponse;
import com.yihu.utils.network.HttpUtils;
import org.apache.commons.collections.map.HashedMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Map;
/**
 * Created by Trick on 2019/10/14.
 */
@Service
@Transactional
public class DoctorPreSignService {
    private static final Logger logger = LoggerFactory.getLogger(DoctorPreSignService.class);
    @Autowired
    private OauthDzqmConfigDao oauthDzqmConfigDao;
    @Autowired
    private BaseDoctorDao doctorDao;
    /**
     * 获取医生签名
     * @param doctor
     * @return
     * @throws Exception
     */
    public JSONObject getDoctorSign(String doctor)throws Exception{
        logger.info("getDoctorSign doctor:"+doctor);
        BaseDoctorDO doc = doctorDao.findOne(doctor);
        OauthDzqmConfigDO dzqmConfigDO = oauthDzqmConfigDao.findOne("base_dzqm");
        Map<String,Object> params = new HashedMap();
        params.put("sys",dzqmConfigDO.getSys());
        params.put("idNumber",doc.getIdcard());
        params.put("idType",0);
        params.put("picType",0);
        HttpResponse httpResponse = HttpUtils.doGet(dzqmConfigDO.getUrl(),params);
        logger.info("getDoctorSign httpResponse:"+httpResponse.getContent());
        JSONObject jsonObject = (JSONObject)JSONObject.parse(httpResponse.getContent());
        return jsonObject;
    }
}

+ 42 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/dzqm/OauthDzqmConfigDO.java

@ -0,0 +1,42 @@
package com.yihu.jw.entity.hospital.dzqm;
import com.yihu.jw.entity.UuidIdentityEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
/**
 * Created by Trick on 2019/10/14.
 */
@Entity
@Table(name = "wlyy_http_log")
public class OauthDzqmConfigDO extends UuidIdentityEntity{
    private String sys;
    private String url;
    private String remark;
    public String getSys() {
        return sys;
    }
    public void setSys(String sys) {
        this.sys = sys;
    }
    public String getUrl() {
        return url;
    }
    public void setUrl(String url) {
        this.url = url;
    }
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
}

+ 2 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java

@ -303,6 +303,8 @@ public class BaseHospitalRequestMapping {
        public static final String getTcChild="/getTcChild";
        public static final String getTcChild="/getTcChild";
        public static final String getInsChild="/getInsChild";
        public static final String getInsChild="/getInsChild";
        public static final String getDoctorPreSign ="/getDoctorPreSign";
    }
    }

+ 10 - 0
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/event/ApplicationEvent.java

@ -1,6 +1,7 @@
package com.yihu.jw.event;
package com.yihu.jw.event;
import com.yihu.jw.job.InternetUpdateJob;
import com.yihu.jw.job.InternetUpdateJob;
import com.yihu.jw.job.PrescriptionOverdueJob;
import com.yihu.jw.job.PrescriptionStatusUpdateJob;
import com.yihu.jw.job.PrescriptionStatusUpdateJob;
import com.yihu.jw.job.QuartzHelper;
import com.yihu.jw.job.QuartzHelper;
import com.yihu.jw.util.SystemConf;
import com.yihu.jw.util.SystemConf;
@ -36,6 +37,15 @@ public class ApplicationEvent implements ApplicationListener<ContextRefreshedEve
                logger.info("prescriptionStatus_update_job  job exist");
                logger.info("prescriptionStatus_update_job  job exist");
            }
            }
            //门诊过期
            if (!quartzHelper.isExistJob("prescription_overdue_job")) {
                String trigger = SystemConf.getInstance().getSystemProperties().getProperty("prescription_overdue_job");
                quartzHelper.addJob(PrescriptionOverdueJob.class, trigger, "prescription_overdue_job", new HashMap<String, Object>());
                logger.info("prescription_overdue_job  job success");
            } else {
                logger.info("prescription_overdue_job  job exist");
            }
            //互联网医院 监管平台上报 job
            //互联网医院 监管平台上报 job
            if (!quartzHelper.isExistJob("internet_update_job")) {
            if (!quartzHelper.isExistJob("internet_update_job")) {
                String trigger = SystemConf.getInstance().getSystemProperties().getProperty("internet_update_job");
                String trigger = SystemConf.getInstance().getSystemProperties().getProperty("internet_update_job");

+ 30 - 0
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/job/PrescriptionOverdueJob.java

@ -0,0 +1,30 @@
package com.yihu.jw.job;
import com.yihu.jw.service.channel.PrescriptionStatusUpdateService;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
 * Created by Trick on 2019/10/15.
 */
public class PrescriptionOverdueJob implements Job {
    private static final Logger logger = LoggerFactory.getLogger(InternetUpdateJob.class);
    @Autowired
    private PrescriptionStatusUpdateService prescriptionStatusUpdateService;
    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        logger.info("START========PrescriptionOverdueJob========");
        try {
            prescriptionStatusUpdateService.setOutPatientOver();
            logger.info("END========PrescriptionOverdueJob========");
        } catch (Exception e) {
            e.printStackTrace();
            logger.error("END===ERROE===PrescriptionOverdueJob,message:"+e.getMessage());
        }
    }
}

+ 28 - 3
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/service/channel/PrescriptionStatusUpdateService.java

@ -261,7 +261,32 @@ public class PrescriptionStatusUpdateService {
    }
    }
//    public void setOutPatientOver(){
//        outpatientDao.
//    }
    /**
     * 设置门诊为已完成
     */
    public void setOutPatientOver(){
        logger.info("setOutPatientOver start ");
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        int i = calendar.get(Calendar.HOUR_OF_DAY);
        //复诊记录状态状态安全锁,每天0~2点才允许触发
        //将所有的已接诊的处方记录
        if(i==0||i==1){
            List<WlyyOutpatientDO> outpatientDOs = outpatientDao.findByStatus("1");
            if(outpatientDOs!=null&&outpatientDOs.size()>0){
                for(WlyyOutpatientDO outpatientDO:outpatientDOs){
                    outpatientDO.setStatus("2");
                }
                outpatientDao.save(outpatientDOs);
                logger.info("setOutPatientOver count :"+outpatientDOs.size());
            }else {
                logger.info("setOutPatientOver count :"+0);
            }
        }else{
            logger.info("setOutPatientOver Time is not up ");
        }
        logger.info("setOutPatientOver end ");
    }
}
}

+ 13 - 0
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/web/quota/JobController.java

@ -1,6 +1,7 @@
package com.yihu.jw.web.quota;
package com.yihu.jw.web.quota;
import com.yihu.jw.internet.service.InternetService;
import com.yihu.jw.internet.service.InternetService;
import com.yihu.jw.job.PrescriptionOverdueJob;
import com.yihu.jw.job.PrescriptionStatusUpdateJob;
import com.yihu.jw.job.PrescriptionStatusUpdateJob;
import com.yihu.jw.job.QuartzHelper;
import com.yihu.jw.job.QuartzHelper;
import com.yihu.jw.service.quota.JobService;
import com.yihu.jw.service.quota.JobService;
@ -207,6 +208,18 @@ public class JobController extends BaseController {
        }
        }
    }
    }
    @RequestMapping(value = "/PrescriptionOverdueJob", method = RequestMethod.POST)
    @ApiOperation("门诊过期")
    public String PrescriptionOverdueJob() {
        try {
            quartzHelper.startNow(PrescriptionOverdueJob.class, UUID.randomUUID().toString(), null);
            return write(200, "启动成功");
        } catch (Exception e) {
            error(e);
            return error(-1, "启动失败");
        }
    }
    @RequestMapping(value = "/internetUpload", method = RequestMethod.GET)
    @RequestMapping(value = "/internetUpload", method = RequestMethod.GET)
    @ApiOperation("监管平台测试")
    @ApiOperation("监管平台测试")
    public String internetUpload(String taskId) {
    public String internetUpload(String taskId) {

+ 3 - 0
svr/svr-internet-hospital-job/src/main/resources/system.properties

@ -2,5 +2,8 @@
# 健康频道状态
# 健康频道状态
prescriptionStatus_update_job=0 */2 * * * ?
prescriptionStatus_update_job=0 */2 * * * ?
# 门诊记录过期job
prescription_overdue_job=0 0 1 * * ?
#每天1 点触发
#每天1 点触发
internet_update_job=0 0 1 * * ?
internet_update_job=0 0 1 * * ?

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

@ -4,6 +4,7 @@ import com.yihu.jw.entity.hospital.prescription.WlyyOutpatientDO;
import com.yihu.jw.hospital.prescription.service.InspectionService;
import com.yihu.jw.hospital.prescription.service.InspectionService;
import com.yihu.jw.hospital.prescription.service.PrescriptionLogService;
import com.yihu.jw.hospital.prescription.service.PrescriptionLogService;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.hospital.prescription.service.PrescriptionService;
import com.yihu.jw.hospital.prescription.service.entrance.DoctorPreSignService;
import com.yihu.jw.restmodel.base.dict.DictHospitalDeptVO;
import com.yihu.jw.restmodel.base.dict.DictHospitalDeptVO;
import com.yihu.jw.restmodel.base.org.BaseOrgVO;
import com.yihu.jw.restmodel.base.org.BaseOrgVO;
import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalSysDictVO;
import com.yihu.jw.restmodel.hospital.consult.WlyyHospitalSysDictVO;
@ -51,6 +52,9 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
    @Autowired
    @Autowired
    private InspectionService inspectionService;
    private InspectionService inspectionService;
    @Autowired
    private DoctorPreSignService doctorPreSignService;
    @Value("${demo.flag}")
    @Value("${demo.flag}")
    private boolean demoFlag;
    private boolean demoFlag;
@ -722,4 +726,11 @@ public class PrescriptionEndpoint extends EnvelopRestEndpoint {
            @RequestParam(value = "flag",defaultValue = "1") String flag) throws Exception {
            @RequestParam(value = "flag",defaultValue = "1") String flag) throws Exception {
        return success(prescriptionService.getTcxz(charge_code,tc_no,flag));
        return success(prescriptionService.getTcxz(charge_code,tc_no,flag));
    }
    }
    @GetMapping(value = BaseHospitalRequestMapping.Prescription.getDoctorPreSign)
    @ApiOperation(value = "获取医生签名")
    public ObjEnvelop getDoctorPreSign(@ApiParam(name = "doctor", value = "医生编码")
                                         @RequestParam(value = "doctor",required = false) String doctor)throws Exception{
        return success(doctorPreSignService.getDoctorSign(doctor));
    }
}
}