|
@ -44,8 +44,6 @@ public class SynergyManageService extends BaseJpaService {
|
|
@Autowired
|
|
@Autowired
|
|
private UserDao userDao;
|
|
private UserDao userDao;
|
|
@Autowired
|
|
@Autowired
|
|
private ManageSynergyWorkorderCustomerLogDao manageSynergyWorkorderCustomerLogDao;
|
|
|
|
@Autowired
|
|
|
|
private PatientDao patientDao;
|
|
private PatientDao patientDao;
|
|
@Autowired
|
|
@Autowired
|
|
private SignFamilyDao signFamilyDao;
|
|
private SignFamilyDao signFamilyDao;
|
|
@ -57,6 +55,8 @@ public class SynergyManageService extends BaseJpaService {
|
|
private DoctorDao doctorDao;
|
|
private DoctorDao doctorDao;
|
|
@Autowired
|
|
@Autowired
|
|
private ManageSynergyWorkorderReminderDao manageSynergyWorkorderReminderDao;
|
|
private ManageSynergyWorkorderReminderDao manageSynergyWorkorderReminderDao;
|
|
|
|
@Autowired
|
|
|
|
private ManageSynergyWorkorderServicerLogDao manageSynergyWorkorderServicerLogDao;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 根据服务编码获取工单
|
|
* 根据服务编码获取工单
|
|
@ -607,14 +607,14 @@ public class SynergyManageService extends BaseJpaService {
|
|
* @param workorderCode
|
|
* @param workorderCode
|
|
* @param userCode
|
|
* @param userCode
|
|
*/
|
|
*/
|
|
public void workorderRate(String workorderCode,String userCode){
|
|
|
|
|
|
public Map<String,Object> workorderRate(String workorderCode,String userCode){
|
|
Map<String,Object> resultMap = new HashMap<>();
|
|
Map<String,Object> resultMap = new HashMap<>();
|
|
//完成情况
|
|
//完成情况
|
|
//1、有效
|
|
//1、有效
|
|
Integer validCount = workorderServicerDao.findByWorkorderCodeCount(workorderCode,3);
|
|
Integer validCount = workorderServicerDao.findByWorkorderCodeCount(workorderCode,3);
|
|
resultMap.put("validCount",validCount);
|
|
resultMap.put("validCount",validCount);
|
|
//2、无效
|
|
//2、无效
|
|
resultMap.put("invalidCount","");
|
|
|
|
|
|
resultMap.put("invalidCount",0);
|
|
//3、总数
|
|
//3、总数
|
|
ManageSynergyWorkorderDO manageSynergyWorkorder = workOrderDao.findByCode(workorderCode);
|
|
ManageSynergyWorkorderDO manageSynergyWorkorder = workOrderDao.findByCode(workorderCode);
|
|
resultMap.put("allCount",manageSynergyWorkorder.getServicerCount());
|
|
resultMap.put("allCount",manageSynergyWorkorder.getServicerCount());
|
|
@ -622,27 +622,28 @@ public class SynergyManageService extends BaseJpaService {
|
|
Integer myFinishedCount = workorderServicerDao.countByWorkorderCodeAndExecutorCodeAndStatus(workorderCode,userCode,3);
|
|
Integer myFinishedCount = workorderServicerDao.countByWorkorderCodeAndExecutorCodeAndStatus(workorderCode,userCode,3);
|
|
resultMap.put("myFinishedCount",myFinishedCount);
|
|
resultMap.put("myFinishedCount",myFinishedCount);
|
|
//待跟进
|
|
//待跟进
|
|
resultMap.put("followCount","");
|
|
|
|
|
|
Integer followCount = manageSynergyWorkorderServicerLogDao.findByWorkorderCode(workorderCode);
|
|
|
|
resultMap.put("followCount",followCount);
|
|
|
|
return resultMap;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 催单
|
|
* 催单
|
|
* @param workorderServicerCode
|
|
|
|
|
|
* @param workorderCode
|
|
* @param userCode
|
|
* @param userCode
|
|
* @param userType
|
|
* @param userType
|
|
* @throws Exception
|
|
* @throws Exception
|
|
*/
|
|
*/
|
|
@Transactional
|
|
@Transactional
|
|
public void reminder(String workorderServicerCode,String userCode,Integer userType) throws Exception{
|
|
|
|
|
|
public void reminder(String workorderCode,String userCode,Integer userType) throws Exception{
|
|
|
|
|
|
ManageSynergyWorkorderServicerDO manageSynergyWorkorderServicerDO = workorderServicerDao.findByCode(workorderServicerCode);
|
|
|
|
if(manageSynergyWorkorderServicerDO==null){
|
|
|
|
|
|
ManageSynergyWorkorderDO manageSynergyWorkorderDO = workOrderDao.findByCode(workorderCode);
|
|
|
|
if(manageSynergyWorkorderDO==null){
|
|
throw new Exception();
|
|
throw new Exception();
|
|
}
|
|
}
|
|
ManageSynergyWorkordeReminderDO workordeReminderDO = new ManageSynergyWorkordeReminderDO();
|
|
ManageSynergyWorkordeReminderDO workordeReminderDO = new ManageSynergyWorkordeReminderDO();
|
|
workordeReminderDO.setCode(getCode());
|
|
workordeReminderDO.setCode(getCode());
|
|
workordeReminderDO.setWorkorderCode(manageSynergyWorkorderServicerDO.getWorkorderCode());
|
|
|
|
workordeReminderDO.setServicePatientCode(workorderServicerCode);
|
|
|
|
|
|
workordeReminderDO.setWorkorderCode(workorderCode);
|
|
workordeReminderDO.setCreateUser(userCode);
|
|
workordeReminderDO.setCreateUser(userCode);
|
|
//创建人类型(1、医生,2、客服,3、客服负责人)
|
|
//创建人类型(1、医生,2、客服,3、客服负责人)
|
|
if(userType==1){
|
|
if(userType==1){
|
|
@ -653,23 +654,75 @@ public class SynergyManageService extends BaseJpaService {
|
|
workordeReminderDO.setCreateUserName(user.getName());
|
|
workordeReminderDO.setCreateUserName(user.getName());
|
|
}
|
|
}
|
|
workordeReminderDO.setCreateUserType(userType);
|
|
workordeReminderDO.setCreateUserType(userType);
|
|
workordeReminderDO.setHospital(manageSynergyWorkorderServicerDO.getHospital());
|
|
|
|
workordeReminderDO.setHospitalName(manageSynergyWorkorderServicerDO.getHospitalName());
|
|
|
|
|
|
workordeReminderDO.setHospital(manageSynergyWorkorderDO.getHospital());
|
|
|
|
workordeReminderDO.setHospitalName(manageSynergyWorkorderDO.getHospitalName());
|
|
workordeReminderDO.setCreateTime(new Date());
|
|
workordeReminderDO.setCreateTime(new Date());
|
|
List<ManageSynergyWorkorderExecutorDO> list = workorderExecutorDao.findByWorkorderCode(manageSynergyWorkorderServicerDO.getWorkorderCode(),1);
|
|
|
|
|
|
List<ManageSynergyWorkorderExecutorDO> list = workorderExecutorDao.findByWorkorderCode(workorderCode,1);
|
|
if(list!=null&&list.size()>0){
|
|
if(list!=null&&list.size()>0){
|
|
workordeReminderDO.setPrincipalCode(list.get(0).getExecutorCode());
|
|
workordeReminderDO.setPrincipalCode(list.get(0).getExecutorCode());
|
|
workordeReminderDO.setPrincipalName(list.get(0).getExecutorName());
|
|
workordeReminderDO.setPrincipalName(list.get(0).getExecutorName());
|
|
}
|
|
}
|
|
workordeReminderDO.setWorkorderType(manageSynergyWorkorderServicerDO.getWorkorderType());
|
|
|
|
workordeReminderDO.setRelationCode(manageSynergyWorkorderServicerDO.getRelationCode());
|
|
|
|
workordeReminderDO.setRelationCodeName(manageSynergyWorkorderServicerDO.getRelationCodeName());
|
|
|
|
ManageSynergyWorkorderDO manageSynergyWorkorderDO = workOrderDao.findByCode(manageSynergyWorkorderServicerDO.getWorkorderCode());
|
|
|
|
|
|
workordeReminderDO.setWorkorderType(manageSynergyWorkorderDO.getType());
|
|
|
|
workordeReminderDO.setRelationCode(manageSynergyWorkorderDO.getRelationCode());
|
|
|
|
workordeReminderDO.setRelationCodeName(manageSynergyWorkorderDO.getRelationCodeName());
|
|
|
|
|
|
workordeReminderDO.setServiceTime(manageSynergyWorkorderDO!=null?manageSynergyWorkorderDO.getServiceTime():null);
|
|
workordeReminderDO.setServiceTime(manageSynergyWorkorderDO!=null?manageSynergyWorkorderDO.getServiceTime():null);
|
|
workordeReminderDO.setServicerKey(manageSynergyWorkorderDO!=null?manageSynergyWorkorderDO.getServicerKey():null);
|
|
workordeReminderDO.setServicerKey(manageSynergyWorkorderDO!=null?manageSynergyWorkorderDO.getServicerKey():null);
|
|
workordeReminderDO.setWorkorderRemark(manageSynergyWorkorderDO!=null?manageSynergyWorkorderDO.getRemark():null);
|
|
workordeReminderDO.setWorkorderRemark(manageSynergyWorkorderDO!=null?manageSynergyWorkorderDO.getRemark():null);
|
|
workordeReminderDO.setDealWith(0);
|
|
workordeReminderDO.setDealWith(0);
|
|
|
|
workordeReminderDO.setPriority(manageSynergyWorkorderDO.getPriority());
|
|
manageSynergyWorkorderReminderDao.save(workordeReminderDO);
|
|
manageSynergyWorkorderReminderDao.save(workordeReminderDO);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 催单列表
|
|
|
|
* @param userCode
|
|
|
|
* @param receiveType 1、客服,2、客服负责人
|
|
|
|
* @param sortType 1、升序,2、降序
|
|
|
|
*/
|
|
|
|
public List<Map<String,Object>> reminderList(String userCode,Integer receiveType,Integer sortType){
|
|
|
|
String sql ="";
|
|
|
|
String sort ="";
|
|
|
|
if(sortType==1){
|
|
|
|
sort=" order by r.create_time asc ";
|
|
|
|
}else if(sortType==2){
|
|
|
|
sort=" order by r.create_time desc ";
|
|
|
|
}
|
|
|
|
if(receiveType==1){
|
|
|
|
sql =" select DISTINCT r.* from manage_synergy_workorder_reminder r " +
|
|
|
|
" LEFT JOIN manage_synergy_workorder_executor e on r.workorder_code=e.workorder_code " +
|
|
|
|
" where e.executor_code='' and e.del=1 and r.deal_with=0 " +sort;
|
|
|
|
}else if(receiveType==2){
|
|
|
|
sql =" select r.* from manage_synergy_workorder_reminder r where r.principal_code='"+userCode+"' and r.deal_with=0 "+sort;
|
|
|
|
}
|
|
|
|
List<Map<String,Object>> List = jdbcTemplate.queryForList(sql);
|
|
|
|
List<Map<String,Object>> resultList = new ArrayList<>();
|
|
|
|
for(Map<String,Object> one:List){
|
|
|
|
Map<String,Object> resultMap = new HashMap<>();
|
|
|
|
resultMap.put("workorderCode",one.get("workorder_code"));
|
|
|
|
resultMap.put("title","来自"+one.get("create_user_name")+"医生("+one.get("hospital_name")+")催单,请尽快处理(服务编号:)"+one.get("workorder_code"));//标题
|
|
|
|
String workorderTypeName ="";
|
|
|
|
Integer workorderType = (Integer) one.get("workorder_type");
|
|
|
|
switch (workorderType){
|
|
|
|
case 0: workorderTypeName="咨询";break;
|
|
|
|
case 1: workorderTypeName="健康教育";break;
|
|
|
|
case 2: workorderTypeName="预约";break;
|
|
|
|
case 3: workorderTypeName="随访";break;
|
|
|
|
case 4: workorderTypeName="问卷调查";break;
|
|
|
|
case 5: workorderTypeName="疾病筛查";break;
|
|
|
|
}
|
|
|
|
resultMap.put("workorderTypeName",workorderTypeName);
|
|
|
|
resultMap.put("workorderType",one.get("workorder_type"));
|
|
|
|
resultMap.put("priority",one.get("priority"));
|
|
|
|
resultMap.put("relationCodeName",one.get("relation_code_name"));
|
|
|
|
resultMap.put("serviceTime",DateUtil.dateToStr((Date)one.get("service_time"),"yyyy-MM-dd HH:mm:ss"));
|
|
|
|
resultMap.put("reminderTime",DateUtil.dateToStr((Date)one.get("create_time"),"yyyy-MM-dd HH:mm:ss"));
|
|
|
|
resultMap.put("servicerKey",one.get("servicer_key"));
|
|
|
|
resultMap.put("workorderRemark",one.get("workorder_remark"));
|
|
|
|
Integer overTimeFlag = isServiceOverTime((Date)one.get("service_time"));
|
|
|
|
resultMap.put("overTimeFlag",overTimeFlag);
|
|
|
|
resultList.add(resultMap);
|
|
|
|
}
|
|
|
|
return resultList;
|
|
|
|
}
|
|
}
|
|
}
|