|
@ -39,9 +39,11 @@ public class TemplateManageService {
|
|
|
private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
|
|
|
@Autowired
|
|
|
private BaseOrgDao baseOrgDao;
|
|
|
@Autowired
|
|
|
private BaseFollowUpDictDao baseFollowUpDictDao;
|
|
|
|
|
|
|
|
|
public MixEnvelop findTempalte(String templateType,String code,String name,Integer page ,Integer pageSize){
|
|
|
public MixEnvelop findTempalte(String templateType,String code,String name,String diseaseName,String diseaseId, Integer page ,Integer pageSize){
|
|
|
String sql =" select t.id as \"id\" ," +
|
|
|
" t.name as \"name\"," +
|
|
|
" t.code as \"code\"," +
|
|
@ -49,6 +51,8 @@ public class TemplateManageService {
|
|
|
" t.update_user as \"updateUser\"," +
|
|
|
" t.update_user_name as \"updateUserName\"," +
|
|
|
" t.update_time as \"updateTime\"," +
|
|
|
" t.disease_name as \"diseaseName\"," +
|
|
|
" t.disease_id as \"diseaseId\"," +
|
|
|
" t.template_type as \"templateType\"," +
|
|
|
" t.is_del as \"isDel\" " +
|
|
|
" from base_template t " +
|
|
@ -62,6 +66,14 @@ public class TemplateManageService {
|
|
|
sql+= " and t.code like '%"+code+"%'";
|
|
|
sqlCount+= " and t.code like '%"+code+"%'";
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(diseaseName)){
|
|
|
sql+= " and t.disease_name like '%"+diseaseName+"%'";
|
|
|
sqlCount+= " and t.disease_name like '%"+diseaseName+"%'";
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(diseaseId)){
|
|
|
sql+= " and t.disease_id like '%"+diseaseId+"%'";
|
|
|
sqlCount+= " and t.disease_id like '%"+diseaseId+"%'";
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(name)){
|
|
|
sql+= " and t.name like '%"+name+"%'";
|
|
|
sqlCount+= " and t.name like '%"+name+"%'";
|
|
@ -122,7 +134,7 @@ public class TemplateManageService {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
public void saveOrUpdateTemplate(String templateId,String code,String name,String user,String userName,String templateType){
|
|
|
public void saveOrUpdateTemplate(String templateId,String code,String name,String user,String userName,String templateType,String diseaseId,String diseaseName){
|
|
|
BaseTemplateDO baseTemplateDO = baseTemplateDao.findOne(templateId);
|
|
|
String localCode="MD"+new Date().getTime();
|
|
|
System.out.println("templatType"+templateType);
|
|
@ -132,6 +144,8 @@ public class TemplateManageService {
|
|
|
baseTemplateDO.setUpdateTime(new Date());
|
|
|
baseTemplateDO.setUpdateUser(user);
|
|
|
baseTemplateDO.setUpdateUserName(userName);
|
|
|
baseTemplateDO.setDiseaseId(diseaseId);
|
|
|
baseTemplateDO.setDiseaseName(diseaseName);
|
|
|
baseTemplateDO.setTemplateType(templateType);
|
|
|
}else {
|
|
|
baseTemplateDO = new BaseTemplateDO();
|
|
@ -141,6 +155,8 @@ public class TemplateManageService {
|
|
|
baseTemplateDO.setCreateUser(user);
|
|
|
baseTemplateDO.setCreateUserName(userName);
|
|
|
baseTemplateDO.setTemplateType(templateType);
|
|
|
baseTemplateDO.setDiseaseId(diseaseId);
|
|
|
baseTemplateDO.setDiseaseName(diseaseName);
|
|
|
baseTemplateDO.setIsDel("1");
|
|
|
}
|
|
|
baseTemplateDao.save(baseTemplateDO);
|
|
@ -267,13 +283,43 @@ public class TemplateManageService {
|
|
|
mixEnvelop.setDetailModelList(returnList);
|
|
|
mixEnvelop.setTotalCount(count);
|
|
|
return mixEnvelop;
|
|
|
}else {
|
|
|
}else if ("followUpDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
List<BaseFollowUpDictDO> list= new ArrayList<>();
|
|
|
if (StringUtils.isNoneBlank(name)){
|
|
|
list= baseFollowUpDictDao.findByNameDel(name,code,pageRequest);
|
|
|
}else {
|
|
|
list= baseFollowUpDictDao.findByDel(pageRequest);
|
|
|
}
|
|
|
Integer count = baseDrugDictDao.getconuntByDel();
|
|
|
for (BaseFollowUpDictDO followUpDictDO:list){
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
map.put("templateDetail",baseTemplateDictDO);
|
|
|
map.put("id",followUpDictDO.getId());
|
|
|
map.put("code",followUpDictDO.getCode());
|
|
|
map.put("name",followUpDictDO.getName());
|
|
|
map.put("project_content",followUpDictDO.getProjectContent());
|
|
|
map.put("status",followUpDictDO.getStatus());
|
|
|
map.put("is_del",followUpDictDO.getIsDel());
|
|
|
BaseTemplateDictDO baseTemplateDictDO1= baseTemplateDictDao.findByDictIdAndTemplateId(followUpDictDO.getId().toString(),templateId);
|
|
|
if (baseTemplateDictDO1!=null){
|
|
|
map.put("isAdd",1);
|
|
|
}else {
|
|
|
map.put("isAdd",0);
|
|
|
}
|
|
|
returnList.add(map);
|
|
|
}
|
|
|
mixEnvelop.setDetailModelList(returnList);
|
|
|
mixEnvelop.setTotalCount(count);
|
|
|
return mixEnvelop;
|
|
|
|
|
|
} else {
|
|
|
return null;
|
|
|
}
|
|
|
}else {
|
|
|
} else {
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public BaseTemplateDO findOneTemplateById(String id){
|
|
|
return baseTemplateDao.findOne(id);
|
|
|
}
|
|
@ -284,50 +330,76 @@ public class TemplateManageService {
|
|
|
if (baseOrgDO!=null){
|
|
|
orgName=baseOrgDO.getName();
|
|
|
}
|
|
|
List<BaseTemplateOrgDO> list= baseTemplateOrgDao.findByTemplateType("followUpDict",orgCode);
|
|
|
baseTemplateOrgDao.delete(list);
|
|
|
for (int i=0;i<templateArray.length;i++){
|
|
|
String templateId=templateArray[i];
|
|
|
BaseTemplateDO baseTemplateDO = baseTemplateDao.findOne(templateId);
|
|
|
if (baseTemplateDO!=null){
|
|
|
String templateType = baseTemplateDO.getTemplateType();
|
|
|
BaseTemplateOrgDO baseTemplateOrgDO=baseTemplateOrgDao.findByOrgCodeAndtemplateType(orgCode,templateType);
|
|
|
if (baseTemplateOrgDO!=null){
|
|
|
if (baseTemplateOrgDO.getTemplateId().equalsIgnoreCase(templateId)){
|
|
|
baseTemplateOrgDO.setIsDel("1");
|
|
|
baseTemplateOrgDao.save(baseTemplateOrgDO);
|
|
|
if (!"followUpDict".equalsIgnoreCase(templateType)){
|
|
|
BaseTemplateOrgDO baseTemplateOrgDO=baseTemplateOrgDao.findByOrgCodeAndtemplateType(orgCode,templateType);
|
|
|
if (baseTemplateOrgDO!=null){
|
|
|
if (baseTemplateOrgDO.getTemplateId().equalsIgnoreCase(templateId)){
|
|
|
baseTemplateOrgDO.setIsDel("1");
|
|
|
baseTemplateOrgDao.save(baseTemplateOrgDO);
|
|
|
}else {
|
|
|
baseTemplateOrgDO.setIsDel("0");
|
|
|
BaseTemplateOrgDO baseTemplateOrgNew=new BaseTemplateOrgDO();
|
|
|
baseTemplateOrgNew.setOrgCode(orgCode);
|
|
|
baseTemplateOrgNew.setOrgName(orgName);
|
|
|
baseTemplateOrgNew.setIsDel("1");
|
|
|
baseTemplateOrgNew.setTemplateId(templateId);
|
|
|
baseTemplateOrgNew.setTemplateType(templateType);
|
|
|
baseTemplateOrgDao.save(baseTemplateOrgDO);
|
|
|
baseTemplateOrgDao.save(baseTemplateOrgNew);
|
|
|
}
|
|
|
}else {
|
|
|
baseTemplateOrgDO.setIsDel("0");
|
|
|
BaseTemplateOrgDO baseTemplateOrgNew=new BaseTemplateOrgDO();
|
|
|
baseTemplateOrgNew.setOrgCode(orgCode);
|
|
|
baseTemplateOrgNew.setOrgName(orgName);
|
|
|
baseTemplateOrgNew.setIsDel("1");
|
|
|
baseTemplateOrgNew.setTemplateId(templateId);
|
|
|
baseTemplateOrgNew.setTemplateType(templateType);
|
|
|
baseTemplateOrgDao.save(baseTemplateOrgDO);
|
|
|
baseTemplateOrgDao.save(baseTemplateOrgNew);
|
|
|
baseTemplateOrgDO = new BaseTemplateOrgDO();
|
|
|
baseTemplateOrgDO.setOrgCode(orgCode);
|
|
|
baseTemplateOrgDO.setOrgName(orgName);
|
|
|
baseTemplateOrgDO.setIsDel("1");
|
|
|
baseTemplateOrgDO.setTemplateId(templateId);
|
|
|
baseTemplateOrgDO.setTemplateType(templateType);
|
|
|
}
|
|
|
baseTemplateOrgDao.save(baseTemplateOrgDO);
|
|
|
}else {
|
|
|
baseTemplateOrgDO = new BaseTemplateOrgDO();
|
|
|
BaseTemplateOrgDO baseTemplateOrgDO = new BaseTemplateOrgDO();
|
|
|
baseTemplateOrgDO.setOrgCode(orgCode);
|
|
|
baseTemplateOrgDO.setOrgName(orgName);
|
|
|
baseTemplateOrgDO.setIsDel("1");
|
|
|
baseTemplateOrgDO.setTemplateId(templateId);
|
|
|
baseTemplateOrgDO.setTemplateType(templateType);
|
|
|
baseTemplateOrgDao.save(baseTemplateOrgDO);
|
|
|
}
|
|
|
baseTemplateOrgDao.save(baseTemplateOrgDO);
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
public Map<String,Object> findUseTemplate(String orgCode){
|
|
|
List<BaseTemplateOrgDO> list = baseTemplateOrgDao.findByOrgCode(orgCode);
|
|
|
List<BaseTemplateOrgDO> followUpDictList= baseTemplateOrgDao.findByTemplateType("followUpDict",orgCode);
|
|
|
List<WlyyHospitalSysDictDO> wlyyHospitalSysDictDOS = wlyyHospitalSysDictDao.findByDictName("dictManageList");
|
|
|
Map map = new HashMap();
|
|
|
for (WlyyHospitalSysDictDO wlyyHospitalSysDictDO:wlyyHospitalSysDictDOS){
|
|
|
for (BaseTemplateOrgDO baseTemplateOrgDO:list){
|
|
|
if (wlyyHospitalSysDictDO.getDictCode().equalsIgnoreCase(baseTemplateOrgDO.getTemplateType())){
|
|
|
map.put(wlyyHospitalSysDictDO.getDictCode(),baseTemplateOrgDO);
|
|
|
if ("followUpDict".equalsIgnoreCase(wlyyHospitalSysDictDO.getDictCode())){
|
|
|
List<Map<String,Object>> followUp= new ArrayList<>();
|
|
|
for (BaseTemplateOrgDO baseTemplateOrgDO:followUpDictList){
|
|
|
Map baseTemplateOrgDOMap=new HashMap();
|
|
|
baseTemplateOrgDOMap.put("followupDict",baseTemplateOrgDO.getTemplateId());
|
|
|
followUp.add(baseTemplateOrgDOMap);
|
|
|
}
|
|
|
map.put(wlyyHospitalSysDictDO.getDictCode(),followUp);
|
|
|
}else {
|
|
|
for (BaseTemplateOrgDO baseTemplateOrgDO:list){
|
|
|
if (wlyyHospitalSysDictDO.getDictCode().equalsIgnoreCase(baseTemplateOrgDO.getTemplateType())){
|
|
|
map.put(wlyyHospitalSysDictDO.getDictCode(),baseTemplateOrgDO);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
return map;
|
|
|
}
|
|
@ -532,6 +604,50 @@ public class TemplateManageService {
|
|
|
mixEnvelop.setDetailModelList(list);
|
|
|
mixEnvelop.setTotalCount(count);
|
|
|
return mixEnvelop;
|
|
|
}else if ("followUpDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
String sql="select t.id as \"id\"," +
|
|
|
" t.code as \"code\"," +
|
|
|
" t.name as \"name\"," +
|
|
|
" t.is_required as \"isRequired\"," +
|
|
|
" t.project_content as \"projectContent\"," +
|
|
|
" t.status as \"status\"," +
|
|
|
" t.is_del as \"isDel\"," +
|
|
|
" t.create_time as \"createTime\"" +
|
|
|
" from base_template_dict b left join base_follow_up_dict t on b.dict_id=t.id" +
|
|
|
" where t.is_del='1' and b.is_del='1' and t.status ='1' ";
|
|
|
String sqlCount =" select count(1) as \"count\" from base_template_dict b left join base_follow_up_dict t on b.dict_id=t.id" +
|
|
|
" where t.is_del='1' and b.is_del='1' and t.status ='1' ";
|
|
|
if (StringUtils.isNoneBlank(code)){
|
|
|
sql+=" and t.code like '%"+code+"%'";
|
|
|
sqlCount+=" and t.code like '%"+code+"%'";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(name)){
|
|
|
sql+=" and t.name like '%"+name+"%'";
|
|
|
sqlCount+=" and t.name like '%"+name+"%'";
|
|
|
}
|
|
|
sql+=" and b.template_id = '"+baseTemplateDictDO.getId()+"'";
|
|
|
sqlCount+=" and b.template_id = '"+baseTemplateDictDO.getId()+"'";
|
|
|
List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
|
|
|
for (Map<String,Object> map:list){
|
|
|
if (map.get("status")!=null&&"1".equalsIgnoreCase(map.get("status").toString())){
|
|
|
map.put("statusName","生效中");
|
|
|
}else {
|
|
|
map.put("statusName","已失效");
|
|
|
}
|
|
|
if (map.get("isRequired")!=null&&"1".equalsIgnoreCase(map.get("isRequired").toString())){
|
|
|
map.put("requiredName","必填");
|
|
|
}else {
|
|
|
map.put("requiredName","非必填");
|
|
|
}
|
|
|
}
|
|
|
List<Map<String,Object>> countList=hibenateUtils.createSQLQuery(sqlCount);
|
|
|
Integer count=0;
|
|
|
if (countList!=null&&countList.size()>0) {
|
|
|
count = Integer.valueOf(countList.get(0).get("count").toString());
|
|
|
}
|
|
|
mixEnvelop.setDetailModelList(list);
|
|
|
mixEnvelop.setTotalCount(count);
|
|
|
return mixEnvelop;
|
|
|
}else {
|
|
|
return null;
|
|
|
}
|
|
@ -739,6 +855,50 @@ public class TemplateManageService {
|
|
|
mixEnvelop.setDetailModelList(list);
|
|
|
mixEnvelop.setTotalCount(count);
|
|
|
return mixEnvelop;
|
|
|
}else if ("followUpDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
String sql="select DISTINCT t.id as \"id\"," +
|
|
|
" t.code as \"code\"," +
|
|
|
" t.name as \"name\"," +
|
|
|
" t.is_required as \"isRequired\"," +
|
|
|
" t.project_content as \"projectContent\"," +
|
|
|
" t.status as \"status\"," +
|
|
|
" t.is_del as \"isDel\"," +
|
|
|
" t.create_time as \"createTime\"" +
|
|
|
" from base_follow_up_dict t where t.id not in ( SELECT DISTINCT g.id from base_follow_up_dict g left join base_template_dict " +
|
|
|
"m on g.id = m.dict_id " +
|
|
|
"where m.template_id ='"+templateId+"' and m.is_del ='1') and t.is_del='1' and t.status='1'";
|
|
|
String sqlCount =" select count(1) as \"count\" from base_follow_up_dict t where t.id not in ( SELECT DISTINCT g.id from base_follow_up_dict g left join base_template_dict " +
|
|
|
"m on g.id = m.dict_id " +
|
|
|
"where m.template_id ='"+templateId+"' and m.is_del ='1') and t.is_del='1' and t.status='1'";
|
|
|
if (StringUtils.isNoneBlank(code)){
|
|
|
sql+=" and t.code like '%"+code+"%'";
|
|
|
sqlCount+=" and t.code like '%"+code+"%'";
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(name)){
|
|
|
sql+=" and t.name like '%"+name+"%'";
|
|
|
sqlCount+=" and t.name like '%"+name+"%'";
|
|
|
}
|
|
|
List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
|
|
|
for (Map<String,Object> map:list){
|
|
|
if (map.get("status")!=null&&"1".equalsIgnoreCase(map.get("status").toString())){
|
|
|
map.put("statusName","生效中");
|
|
|
}else {
|
|
|
map.put("statusName","已失效");
|
|
|
}
|
|
|
if (map.get("isRequired")!=null&&"1".equalsIgnoreCase(map.get("isRequired").toString())){
|
|
|
map.put("requiredName","必填");
|
|
|
}else {
|
|
|
map.put("requiredName","非必填");
|
|
|
}
|
|
|
}
|
|
|
List<Map<String,Object>> countList=hibenateUtils.createSQLQuery(sqlCount);
|
|
|
Integer count=0;
|
|
|
if (countList!=null&&countList.size()>0) {
|
|
|
count = Integer.valueOf(countList.get(0).get("count").toString());
|
|
|
}
|
|
|
mixEnvelop.setDetailModelList(list);
|
|
|
mixEnvelop.setTotalCount(count);
|
|
|
return mixEnvelop;
|
|
|
}else {
|
|
|
return null;
|
|
|
}
|
|
@ -746,4 +906,38 @@ public class TemplateManageService {
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
public List<Map<String,Object>> findTemplateByDisease(String diseaseId){
|
|
|
String sql =" select t.id as \"id\" ," +
|
|
|
" t.name as \"name\"," +
|
|
|
" t.code as \"code\"," +
|
|
|
" t.children_count as \"childrenCount\"," +
|
|
|
" t.update_user as \"updateUser\"," +
|
|
|
" t.update_user_name as \"updateUserName\"," +
|
|
|
" t.update_time as \"updateTime\"," +
|
|
|
" t.disease_name as \"diseaseName\"," +
|
|
|
" t.disease_id as \"diseaseId\"," +
|
|
|
" t.template_type as \"templateType\"," +
|
|
|
" t.is_del as \"isDel\" " +
|
|
|
" from base_template t " +
|
|
|
" where t.is_del='1' and t.template_type='followUpDict' ";
|
|
|
|
|
|
List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql);
|
|
|
List<Map<String,Object>> resultList = new ArrayList<>();
|
|
|
for (Map<String,Object> map:list){
|
|
|
if (map.get("status")!=null&&"1".equalsIgnoreCase(map.get("status").toString())){
|
|
|
map.put("statusName","生效中");
|
|
|
}else {
|
|
|
map.put("statusName","已失效");
|
|
|
}
|
|
|
if (map.get("disease_id")!=null){
|
|
|
String[] diseaseIds=map.get("disease_id").toString().split(",");
|
|
|
for (int i=0;i<diseaseIds.length;i++){
|
|
|
if (diseaseIds[i].equalsIgnoreCase(diseaseId)){
|
|
|
resultList.add(map);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return resultList;
|
|
|
}
|
|
|
}
|