|
@ -1032,10 +1032,12 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
String rsCode = res.getString("@RESULT");
|
|
|
if("0".equals(rsCode)){
|
|
|
//存储挂号号
|
|
|
String serialNo = (String)rs.get("serial_no");
|
|
|
// {"resquest":{"@RESULT":"0","@MSG":"完成","@serial_no":"47770476","@times":"28"}}
|
|
|
String serialNo = (String)res.get("@serial_no");
|
|
|
outpatientDO.setRegisterNo(serialNo);
|
|
|
String conNo = (String)rs.get("@times");
|
|
|
String conNo = (String)res.get("@times");
|
|
|
outpatientDO.setConNo(conNo);
|
|
|
logger.info("挂号流水 @serial_no: " +serialNo+" @times: "+conNo);
|
|
|
outpatientDao.save(outpatientDO);
|
|
|
}
|
|
|
//保存日志
|
|
@ -2321,7 +2323,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public Boolean saveDoctorWorkTimeJson(String type,String codes,String workTimeJson)throws Exception{
|
|
|
public Boolean saveDoctorWorkTimeJson(String type,String codes,String workTimeJson,String date)throws Exception{
|
|
|
|
|
|
com.alibaba.fastjson.JSONArray works = JSON.parseArray(workTimeJson);
|
|
|
List<WlyyDoctorWorkTimeDO> wlyyDoctorWorkTimeDOs = new ArrayList<>();
|
|
@ -2348,7 +2350,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
" h.org_code ='"+codes+"'";
|
|
|
List<Map<String,Object>> doctors = jdbcTemplate.queryForList(sql);
|
|
|
List<WlyyDoctorWorkTimeDO> workTimeDOs =makeDoctorWorkTimeDOList(doctors,wlyyDoctorWorkTimeDOs);
|
|
|
saveDoctorWorkTime(workTimeDOs);
|
|
|
saveDoctorWorkTime(workTimeDOs,date,doctors);
|
|
|
//科室
|
|
|
}else if("2".equals(type)){
|
|
|
|
|
@ -2367,7 +2369,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
" h.dept_code in ("+sqlCode(codes)+")";
|
|
|
List<Map<String,Object>> doctors = jdbcTemplate.queryForList(sql);
|
|
|
List<WlyyDoctorWorkTimeDO> workTimeDOs =makeDoctorWorkTimeDOList(doctors,wlyyDoctorWorkTimeDOs);
|
|
|
saveDoctorWorkTime(workTimeDOs);
|
|
|
saveDoctorWorkTime(workTimeDOs,date,doctors);
|
|
|
//医生批量
|
|
|
}else if("3".equals(type)){
|
|
|
String sql ="SELECT " +
|
|
@ -2385,7 +2387,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
" d.id in ("+sqlCode(codes)+")";
|
|
|
List<Map<String,Object>> doctors = jdbcTemplate.queryForList(sql);
|
|
|
List<WlyyDoctorWorkTimeDO> workTimeDOs =makeDoctorWorkTimeDOList(doctors,wlyyDoctorWorkTimeDOs);
|
|
|
saveDoctorWorkTime(workTimeDOs);
|
|
|
saveDoctorWorkTime(workTimeDOs,date,doctors);
|
|
|
}
|
|
|
|
|
|
return true;
|
|
@ -2407,15 +2409,24 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
//构建医生排班
|
|
|
for(Map<String,Object> doctor:doctors){
|
|
|
for(WlyyDoctorWorkTimeDO time:wlyyDoctorWorkTimeDOs){
|
|
|
time.setDoctor((String)doctor.get("id"));
|
|
|
time.setDoctorName((String)doctor.get("name"));
|
|
|
time.setDept((String)doctor.get("dept_code"));
|
|
|
time.setDeptName((String)doctor.get("dept_name"));
|
|
|
time.setHospital((String)doctor.get("org_code"));
|
|
|
time.setHospitalName((String)doctor.get("org_name"));
|
|
|
time.setCreateTime(new Date());
|
|
|
rs.add(time);
|
|
|
WlyyDoctorWorkTimeDO t = new WlyyDoctorWorkTimeDO();
|
|
|
t.setDoctor((String)doctor.get("id"));
|
|
|
t.setDoctorName((String)doctor.get("name"));
|
|
|
t.setDept((String)doctor.get("dept_code"));
|
|
|
t.setDeptName((String)doctor.get("dept_name"));
|
|
|
t.setHospital((String)doctor.get("org_code"));
|
|
|
t.setHospitalName((String)doctor.get("org_name"));
|
|
|
t.setCreateTime(new Date());
|
|
|
|
|
|
t.setType(time.getType());
|
|
|
t.setTimeType(time.getTimeType());
|
|
|
t.setStartTime(time.getStartTime());
|
|
|
t.setEndTime(time.getEndTime());
|
|
|
t.setDate(time.getDate());
|
|
|
t.setTimeInterval(time.getTimeInterval());
|
|
|
rs.add(t);
|
|
|
}
|
|
|
logger.info(rs.size()+"");
|
|
|
}
|
|
|
}
|
|
|
return rs;
|
|
@ -2426,7 +2437,7 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
* @param workTimeDOs
|
|
|
* @return
|
|
|
*/
|
|
|
public Boolean saveDoctorWorkTime(List<WlyyDoctorWorkTimeDO> workTimeDOs){
|
|
|
public Boolean saveDoctorWorkTime(List<WlyyDoctorWorkTimeDO> workTimeDOs,String date,List<Map<String,Object>> doctors){
|
|
|
|
|
|
if(workTimeDOs!=null&&workTimeDOs.size()>0){
|
|
|
//按月按医生分组标记排班数据
|
|
@ -2434,15 +2445,26 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
|
|
|
for(WlyyDoctorWorkTimeDO time : workTimeDOs){
|
|
|
//医生工作月份
|
|
|
String workMonth = time.getDoctor()+","+time.getDate().substring(0,6);
|
|
|
String workMonth = time.getDoctor()+","+time.getDate().substring(0,7);
|
|
|
//判断是否是首次插入医生月份数据,如果是首次,则删除该医生当前月份排班数据数据
|
|
|
if(!workMonths.contains(workMonth)){
|
|
|
workMonths.add(workMonth);
|
|
|
List<WlyyDoctorWorkTimeDO> oldTimes = doctorWorkTimeDao.findDoctorWorkTimeByMonth(time.getDoctor(),"%"+time.getDate().substring(0,6)+"%");
|
|
|
List<WlyyDoctorWorkTimeDO> oldTimes = doctorWorkTimeDao.findDoctorWorkTimeByMonth(time.getDoctor(),"%"+time.getDate().substring(0,7)+"%");
|
|
|
doctorWorkTimeDao.delete(oldTimes);
|
|
|
}
|
|
|
}
|
|
|
doctorWorkTimeDao.save(workTimeDOs);
|
|
|
}else{
|
|
|
//如果排班数据为空,删除医生月份下排班数据
|
|
|
if(StringUtils.isNotBlank(date)){
|
|
|
String d[] = date.split(",");
|
|
|
for(String dt:d){
|
|
|
for(Map<String,Object> doc:doctors){
|
|
|
List<WlyyDoctorWorkTimeDO> oldTimes = doctorWorkTimeDao.findDoctorWorkTimeByMonth((String)doc.get("id"),"%"+dt+"%");
|
|
|
doctorWorkTimeDao.delete(oldTimes);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
@ -2693,15 +2715,20 @@ public class PrescriptionService extends BaseJpaService<WlyyPrescriptionDO, Pres
|
|
|
* @param doctor
|
|
|
*/
|
|
|
public void pickVideoPrescripitonWaitingPeople(String outpatientCode, String doctor) throws Exception{
|
|
|
BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(doctor);
|
|
|
List<WlyyHospitalWaitingRoomDO> roomDOs =hospitalWaitingRoomDao.findByOutpatientId(outpatientCode);
|
|
|
if(roomDOs!=null&&roomDOs.size()>0){
|
|
|
for(WlyyHospitalWaitingRoomDO roomDO:roomDOs){
|
|
|
BaseDoctorDO baseDoctorDO = baseDoctorDao.findById(doctor);
|
|
|
roomDO.setDoctor(doctor);
|
|
|
roomDO.setDoctorName(baseDoctorDO.getName());
|
|
|
hospitalWaitingRoomDao.save(roomDO);
|
|
|
}
|
|
|
}
|
|
|
WlyyOutpatientDO wlyyOutpatientDO = outpatientDao.findOne(outpatientCode);
|
|
|
wlyyOutpatientDO.setDoctor(doctor);
|
|
|
wlyyOutpatientDO.setDoctorName(baseDoctorDO.getName());
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|