|
@ -3,12 +3,14 @@ package com.yihu.jw.service.channel;
|
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import com.yihu.jw.entity.hospital.prescription.*;
|
|
import com.yihu.jw.entity.hospital.prescription.*;
|
|
|
|
import com.yihu.jw.entity.job.QuartzJobLog;
|
|
import com.yihu.jw.entity.order.BusinessOrderDO;
|
|
import com.yihu.jw.entity.order.BusinessOrderDO;
|
|
import com.yihu.jw.hospital.prescription.dao.*;
|
|
import com.yihu.jw.hospital.prescription.dao.*;
|
|
import com.yihu.jw.hospital.prescription.service.PrescriptionLogService;
|
|
import com.yihu.jw.hospital.prescription.service.PrescriptionLogService;
|
|
import com.yihu.jw.im.service.ImService;
|
|
import com.yihu.jw.im.service.ImService;
|
|
import com.yihu.jw.order.BusinessOrderService;
|
|
import com.yihu.jw.order.BusinessOrderService;
|
|
import com.yihu.jw.order.dao.BusinessOrderDao;
|
|
import com.yihu.jw.order.dao.BusinessOrderDao;
|
|
|
|
import com.yihu.jw.repository.job.QuartzJobLogDao;
|
|
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionDiagnosisVO;
|
|
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionDiagnosisVO;
|
|
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionInfoVO;
|
|
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionInfoVO;
|
|
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionVO;
|
|
import com.yihu.jw.restmodel.hospital.prescription.WlyyPrescriptionVO;
|
|
@ -61,6 +63,8 @@ public class PrescriptionStatusUpdateService {
|
|
private BusinessOrderService businessOrderService;
|
|
private BusinessOrderService businessOrderService;
|
|
@Autowired
|
|
@Autowired
|
|
private PrescriptionLogService prescriptionLogService;
|
|
private PrescriptionLogService prescriptionLogService;
|
|
|
|
@Autowired
|
|
|
|
private QuartzJobLogDao quartzJobLogDao;
|
|
|
|
|
|
public void autoPush() throws Exception {
|
|
public void autoPush() throws Exception {
|
|
|
|
|
|
@ -279,6 +283,7 @@ public class PrescriptionStatusUpdateService {
|
|
Calendar calendar = Calendar.getInstance();
|
|
Calendar calendar = Calendar.getInstance();
|
|
calendar.setTime(new Date());
|
|
calendar.setTime(new Date());
|
|
int i = calendar.get(Calendar.HOUR_OF_DAY);
|
|
int i = calendar.get(Calendar.HOUR_OF_DAY);
|
|
|
|
QuartzJobLog quartzJobLog = new QuartzJobLog();
|
|
//复诊记录状态状态安全锁,每天0~2点才允许触发,避免误调用
|
|
//复诊记录状态状态安全锁,每天0~2点才允许触发,避免误调用
|
|
//将所有的已接诊的处方记录
|
|
//将所有的已接诊的处方记录
|
|
if(i==0||i==1){
|
|
if(i==0||i==1){
|
|
@ -288,7 +293,7 @@ public class PrescriptionStatusUpdateService {
|
|
for(WlyyOutpatientDO outpatientDO:outpatientDOs){
|
|
for(WlyyOutpatientDO outpatientDO:outpatientDOs){
|
|
//结束门诊
|
|
//结束门诊
|
|
outpatientDO.setStatus("3");
|
|
outpatientDO.setStatus("3");
|
|
|
|
|
|
|
|
logger.info(outpatientDO.getId()+"的处方记录设置为结束");
|
|
String consultCode = imService.getConsultCodeByOutpatientId(outpatientDO.getId());
|
|
String consultCode = imService.getConsultCodeByOutpatientId(outpatientDO.getId());
|
|
if(StringUtils.isNoneBlank(consultCode)){
|
|
if(StringUtils.isNoneBlank(consultCode)){
|
|
try {
|
|
try {
|
|
@ -299,27 +304,32 @@ public class PrescriptionStatusUpdateService {
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
//保存操作日志
|
|
|
|
quartzJobLog.setId(UUID.randomUUID().toString());
|
|
|
|
quartzJobLog.setJobName("setOutPatientOver");
|
|
|
|
quartzJobLog.setJobId("setOutPatientOver");
|
|
|
|
quartzJobLog.setJobContent(outpatientDO.getId()+"问诊执行自动结束"+outpatientDO.getStatus());
|
|
|
|
quartzJobLog.setJobStartTime(new Date());
|
|
|
|
quartzJobLogDao.save(quartzJobLog);
|
|
}
|
|
}
|
|
outpatientDao.save(outpatientDOs);
|
|
outpatientDao.save(outpatientDOs);
|
|
//退费
|
|
//退费
|
|
for (WlyyOutpatientDO outpatientDO:outpatientDOs){
|
|
for (WlyyOutpatientDO outpatientDO:outpatientDOs){
|
|
|
|
try {
|
|
BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(outpatientDO.getId());
|
|
BusinessOrderDO businessOrderDO = businessOrderDao.selectByRelationCode(outpatientDO.getId());
|
|
if (businessOrderDO!=null){
|
|
if (businessOrderDO!=null){
|
|
try {
|
|
|
|
if (businessOrderDO.getPayType()==1){
|
|
|
|
businessOrderService.orderRefund(wechatId,businessOrderDO.getPatient(),businessOrderDO.getOrderNo(),businessOrderDO.getPayPrice(),businessOrderDO.getDescription());
|
|
|
|
}else if (businessOrderDO.getPayType()==3){
|
|
|
|
/*
|
|
|
|
businessOrderService.ylzOrderRefund(wechatId,businessOrderDO.getPatient(),businessOrderDO.getOrderNo(),businessOrderDO.getPayPrice(),businessOrderDO.getDescription());
|
|
|
|
*/
|
|
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
if (businessOrderDO.getPayType()==1){
|
|
|
|
businessOrderService.orderRefund(wechatId,businessOrderDO.getPatient(),businessOrderDO.getOrderNo(),businessOrderDO.getPayPrice(),businessOrderDO.getDescription());
|
|
|
|
}else if (businessOrderDO.getPayType()==3){
|
|
|
|
/*
|
|
|
|
businessOrderService.ylzOrderRefund(wechatId,businessOrderDO.getPatient(),businessOrderDO.getOrderNo(),businessOrderDO.getPayPrice(),businessOrderDO.getDescription());
|
|
|
|
*/
|
|
}
|
|
}
|
|
|
|
} } catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
logger.info("setOutPatientOver count :"+outpatientDOs.size());
|
|
logger.info("setOutPatientOver count :"+outpatientDOs.size());
|
|
}else {
|
|
}else {
|
|
logger.info("setOutPatientOver count :"+0);
|
|
logger.info("setOutPatientOver count :"+0);
|