|
@ -6,16 +6,23 @@ import com.yihu.jw.entity.base.patient.BasePatientBusinessDO;
|
|
|
import com.yihu.jw.entity.base.patient.BasePatientDO;
|
|
|
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDO;
|
|
|
import com.yihu.jw.entity.hospital.article.KnowledgeArticleUserDO;
|
|
|
import com.yihu.jw.entity.hospital.survey.WlyySurveyTemplateDO;
|
|
|
import com.yihu.jw.hospital.dao.consult.KnowledgeArticleDao;
|
|
|
import com.yihu.jw.hospital.dao.consult.KnowledgeArticleUserDao;
|
|
|
import com.yihu.jw.hospital.survey.dao.SurveyTemplateDao;
|
|
|
import com.yihu.jw.patient.dao.BasePatientBusinessDao;
|
|
|
import com.yihu.jw.patient.dao.BasePatientDao;
|
|
|
import com.yihu.jw.util.date.DateUtil;
|
|
|
import com.yihu.jw.utils.hibernate.HibenateUtils;
|
|
|
import com.yihu.mysql.query.BaseJpaService;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.jpa.provider.HibernateUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* 患者文章业务层代码
|
|
@ -33,6 +40,10 @@ public class BasePatientBusinessService extends BaseJpaService<BasePatientBusine
|
|
|
private BasePatientDao patientDao;
|
|
|
@Autowired
|
|
|
private BaseDoctorDao doctorDao;
|
|
|
@Autowired
|
|
|
private SurveyTemplateDao surveyTemplateDao;
|
|
|
@Autowired
|
|
|
private HibenateUtils hibenateUtils;
|
|
|
/**
|
|
|
*
|
|
|
* @param id
|
|
@ -152,5 +163,123 @@ public class BasePatientBusinessService extends BaseJpaService<BasePatientBusine
|
|
|
}
|
|
|
return knowledgeArticleUserDO;
|
|
|
}
|
|
|
public void setUsed(String id,Integer used,String doctor){
|
|
|
WlyySurveyTemplateDO wlyySurveyTemplateDO = surveyTemplateDao.findOne(id);
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(doctor);
|
|
|
KnowledgeArticleUserDO knowledgeArticleUserDO =knowledgeArticleUserDao.findByrelationCodeAndUserAndDel(id,doctor);
|
|
|
if (null==knowledgeArticleUserDO){
|
|
|
knowledgeArticleUserDO = new KnowledgeArticleUserDO();
|
|
|
knowledgeArticleUserDO.setUsed(used);
|
|
|
knowledgeArticleUserDO.setRelationCode(id);
|
|
|
knowledgeArticleUserDO.setRelationName(wlyySurveyTemplateDO.getTitle());
|
|
|
knowledgeArticleUserDO.setRelationType(1);
|
|
|
knowledgeArticleUserDO.setDel(1);
|
|
|
knowledgeArticleUserDO.setUser(doctor);
|
|
|
if (doctorDO!=null){
|
|
|
knowledgeArticleUserDO.setUserName(doctorDO.getName());
|
|
|
knowledgeArticleUserDO.setCreateUserName(doctorDO.getName());
|
|
|
}
|
|
|
knowledgeArticleUserDO.setCreateTime(new Date());
|
|
|
knowledgeArticleUserDO.setUpdateTime(new Date());
|
|
|
knowledgeArticleUserDO.setCreateUser(doctor);
|
|
|
knowledgeArticleUserDO.setUpdateUser(doctor);
|
|
|
knowledgeArticleUserDO = knowledgeArticleUserDao.save(knowledgeArticleUserDO);
|
|
|
}
|
|
|
if (wlyySurveyTemplateDO!=null){
|
|
|
if (wlyySurveyTemplateDO.getUsed()!=null){
|
|
|
if (used==1){
|
|
|
knowledgeArticleUserDO.setUsed(1);
|
|
|
wlyySurveyTemplateDO.setUsed(wlyySurveyTemplateDO.getUsed()+1);
|
|
|
}else if (used==0){
|
|
|
knowledgeArticleUserDO.setUsed(0);
|
|
|
wlyySurveyTemplateDO.setUsed(wlyySurveyTemplateDO.getUsed()==0?0:wlyySurveyTemplateDO.getUsed()-1);
|
|
|
}
|
|
|
}else {
|
|
|
if (used==1){
|
|
|
wlyySurveyTemplateDO.setUsed(1);
|
|
|
}else if (used==0){
|
|
|
wlyySurveyTemplateDO.setUsed(0);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
knowledgeArticleUserDao.save(knowledgeArticleUserDO);
|
|
|
surveyTemplateDao.save(wlyySurveyTemplateDO);
|
|
|
}
|
|
|
public List<Map<String,Object>> getUsedList(String title,String doctor,Integer used,Integer page,Integer pageSize) {
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
sql.append("select a.id AS \"id\" ,a.title AS \"title\",a.template_comment AS \"template_comment\" ," +
|
|
|
" a.organization AS \"organization\",a.create_time AS \"create_time\" ," +
|
|
|
"a.creater AS \"creater\"FROM wlyy_survey_template a ");
|
|
|
//1为查询常用
|
|
|
if (null != used) {
|
|
|
if (1 == used) {
|
|
|
sql.append("JOIN wlyy_knowledge_article_user b on a.id = b.relation_code " +
|
|
|
"where 1=1");
|
|
|
sql.append(" and b.used = 1");
|
|
|
if (StringUtils.isNotEmpty(doctor)) {
|
|
|
sql.append(" and a.title like '%" + title + "%'");
|
|
|
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(doctor)) {
|
|
|
sql.append(" and a.creater = '" + doctor + "'");
|
|
|
|
|
|
}
|
|
|
List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sql.toString(), page, pageSize);
|
|
|
if (list.size() > 0) {
|
|
|
for (Map<String, Object> map : list) {
|
|
|
String createTime = null == map.get("create_time") ? "" : map.get("create_time").toString();
|
|
|
String creater = null == map.get("creater") ? "" : map.get("creater").toString();
|
|
|
map.put("create_time", DateUtil.dateToStrLong(DateUtil.strToDateLong(createTime)));
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(creater);
|
|
|
if (null!=doctor){
|
|
|
map.put("doctrName", doctorDO.getName());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return list;
|
|
|
//0为查询模板
|
|
|
} else {
|
|
|
sql.append("where a.del = 1");
|
|
|
if (StringUtils.isNotEmpty(doctor)) {
|
|
|
sql.append(" and a.title like '%" + title + "%'");
|
|
|
}
|
|
|
List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sql.toString(), page, pageSize);
|
|
|
if (list.size() > 0) {
|
|
|
for (Map<String, Object> map : list) {
|
|
|
String createTime = null == map.get("create_time") ? "" : map.get("create_time").toString();
|
|
|
String creater = null == map.get("creater") ? "" : map.get("creater").toString();
|
|
|
map.put("create_time", DateUtil.dateToStrLong(DateUtil.strToDateLong(createTime)));
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(creater);
|
|
|
if (null!=doctor){
|
|
|
map.put("doctrName", doctorDO.getName());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
//空位查我的问卷
|
|
|
} else {
|
|
|
sql.append("where a.del = 1");
|
|
|
if (StringUtils.isNotEmpty(doctor)) {
|
|
|
sql.append(" and a.creater = '" + doctor + "'");
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(doctor)) {
|
|
|
sql.append(" and a.title like '%" + title + "%'");
|
|
|
}
|
|
|
List<Map<String, Object>> list = hibenateUtils.createSQLQuery(sql.toString(), page, pageSize);
|
|
|
if (list.size() > 0) {
|
|
|
for (Map<String, Object> map : list) {
|
|
|
String createTime = null == map.get("create_time") ? "" : map.get("create_time").toString();
|
|
|
String creater = null == map.get("creater") ? "" : map.get("creater").toString();
|
|
|
map.put("create_time", DateUtil.dateToStrLong(DateUtil.strToDateLong(createTime)));
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(creater);
|
|
|
if (null!=doctor){
|
|
|
map.put("doctrName", doctorDO.getName());
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
}
|
|
|
}
|