|
@ -0,0 +1,682 @@
|
|
|
package com.yihu.jw.base.service.dict;
|
|
|
|
|
|
import com.yihu.jw.base.dao.saas.SaasDao;
|
|
|
import com.yihu.jw.dict.dao.*;
|
|
|
import com.yihu.jw.entity.base.dict.*;
|
|
|
import com.yihu.jw.entity.base.org.BaseOrgDO;
|
|
|
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
|
|
|
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
|
|
|
import com.yihu.jw.org.dao.BaseOrgDao;
|
|
|
import com.yihu.jw.restmodel.web.MixEnvelop;
|
|
|
import com.yihu.jw.utils.hibernate.HibenateUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.apache.xerces.dom.PSVIAttrNSImpl;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.data.domain.PageRequest;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
@Service
|
|
|
public class TemplateManageService {
|
|
|
@Autowired
|
|
|
private BaseDrugDictDao baseDrugDictDao;
|
|
|
@Autowired
|
|
|
private BaseTemplateDao baseTemplateDao;
|
|
|
@Autowired
|
|
|
private BaseTemplateDictDao baseTemplateDictDao;
|
|
|
@Autowired
|
|
|
private BaseTemplateOrgDao baseTemplateOrgDao;
|
|
|
@Autowired
|
|
|
private HibenateUtils hibenateUtils;
|
|
|
@Autowired
|
|
|
private BaseDrugUseDictDao baseDrugUseDictDao;
|
|
|
@Autowired
|
|
|
private BaseFrequencyDictDao baseFrequencyDictDao;
|
|
|
@Autowired
|
|
|
private BaseDictIcd10Dao baseDictIcd10Dao;
|
|
|
@Autowired
|
|
|
private WlyyHospitalSysDictDao wlyyHospitalSysDictDao;
|
|
|
@Autowired
|
|
|
private SaasDao saasDao;
|
|
|
@Autowired
|
|
|
private BaseOrgDao baseOrgDao;
|
|
|
|
|
|
|
|
|
public MixEnvelop findTempalte(String templateType,String code,String name,Integer page ,Integer pageSize){
|
|
|
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.template_type as \"templateType\"," +
|
|
|
" t.is_del as \"isDel\" " +
|
|
|
" from base_template t " +
|
|
|
" where t.is_del='1' ";
|
|
|
String sqlCount=" select count(1) as \"count\" from base_template t where t.is_del='1'";
|
|
|
if (StringUtils.isNotBlank(templateType)){
|
|
|
sql+= " and t.template_type='"+templateType+"'";
|
|
|
sqlCount+= " and t.template_type='"+templateType+"'";
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(code)){
|
|
|
sql+= " and t.code like '%"+code+"%'";
|
|
|
sqlCount+= " and t.code like '%"+code+"%'";
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(name)){
|
|
|
sql+= " and t.name like '%"+name+"%'";
|
|
|
sqlCount+= " and t.name like '%"+name+"%'";
|
|
|
}
|
|
|
sql+=" order by t.update_time desc";
|
|
|
Integer count=0;
|
|
|
List<Map<String,Object>> countList=hibenateUtils.createSQLQuery(sqlCount);
|
|
|
if (countList!=null&&countList.size()>0){
|
|
|
count = Integer.parseInt(countList.get(0).get("count").toString());
|
|
|
}
|
|
|
List<Map<String,Object>> list=hibenateUtils.createSQLQuery(sql,page,pageSize);
|
|
|
for (Map<String,Object> map:list){
|
|
|
List<BaseTemplateOrgDO> orgTemplate=baseTemplateOrgDao.findByTemplateId(map.get("id").toString());
|
|
|
List<String> orgNames= new ArrayList<>();
|
|
|
int i=0;
|
|
|
for (BaseTemplateOrgDO baseTemplateOrgDO :orgTemplate){
|
|
|
orgNames.add(baseTemplateOrgDO.getOrgName());
|
|
|
}
|
|
|
map.put("orgNames",orgNames.toString());
|
|
|
}
|
|
|
MixEnvelop mixEnvelop = new MixEnvelop();
|
|
|
mixEnvelop.setDetailModelList(list);
|
|
|
mixEnvelop.setPageSize(pageSize);
|
|
|
mixEnvelop.setCurrPage(page);
|
|
|
mixEnvelop.setTotalCount(count);
|
|
|
return mixEnvelop;
|
|
|
}
|
|
|
public void addOrRemoveChildrenDict(String templateId,String dictId,String isDel){
|
|
|
BaseTemplateDictDO baseTemplateDictDO = baseTemplateDictDao.findByDictIdAndTemplateId(dictId,templateId);
|
|
|
if ("1".equalsIgnoreCase(isDel)){
|
|
|
if (baseTemplateDictDO!=null){
|
|
|
baseTemplateDictDO.setIsDel("1");
|
|
|
}else {
|
|
|
baseTemplateDictDO = new BaseTemplateDictDO();
|
|
|
baseTemplateDictDO.setTemplateId(templateId);
|
|
|
baseTemplateDictDO.setDictId(dictId);
|
|
|
baseTemplateDictDO.setCreateTime(new Date());
|
|
|
baseTemplateDictDO.setIsDel("1");
|
|
|
}
|
|
|
|
|
|
}else {
|
|
|
if (baseTemplateDictDO!=null){
|
|
|
baseTemplateDictDO.setIsDel("0");
|
|
|
}else {
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
baseTemplateDictDao.save(baseTemplateDictDO);
|
|
|
BaseTemplateDO baseTemplateDO = baseTemplateDao.findOne(templateId);
|
|
|
Integer chuildrenCount = baseTemplateDictDao.getCountByTemplateId(templateId);
|
|
|
if (baseTemplateDO !=null ){
|
|
|
baseTemplateDO.setChildrenCount(chuildrenCount.toString());
|
|
|
}
|
|
|
baseTemplateDao.save(baseTemplateDO);
|
|
|
}
|
|
|
public void saveOrUpdateTemplate(String templateId,String code,String name,String user,String userName,String templateType){
|
|
|
BaseTemplateDO baseTemplateDO = baseTemplateDao.findOne(templateId);
|
|
|
String localCode="MD"+new Date().getTime();
|
|
|
System.out.println("templatType"+templateType);
|
|
|
if (baseTemplateDO!=null){
|
|
|
baseTemplateDO.setCode(localCode);
|
|
|
baseTemplateDO.setName(name);
|
|
|
baseTemplateDO.setUpdateTime(new Date());
|
|
|
baseTemplateDO.setUpdateUser(user);
|
|
|
baseTemplateDO.setUpdateUserName(userName);
|
|
|
baseTemplateDO.setTemplateType(templateType);
|
|
|
}else {
|
|
|
baseTemplateDO = new BaseTemplateDO();
|
|
|
baseTemplateDO.setCode(localCode);
|
|
|
baseTemplateDO.setName(name);
|
|
|
baseTemplateDO.setCreateTime(new Date());
|
|
|
baseTemplateDO.setCreateUser(user);
|
|
|
baseTemplateDO.setCreateUserName(userName);
|
|
|
baseTemplateDO.setTemplateType(templateType);
|
|
|
baseTemplateDO.setIsDel("1");
|
|
|
}
|
|
|
baseTemplateDao.save(baseTemplateDO);
|
|
|
}
|
|
|
|
|
|
public MixEnvelop findTemlateChildList(String templateId,String name,Integer page,Integer pageSize){
|
|
|
BaseTemplateDO baseTemplateDictDO = baseTemplateDao.findOne(templateId);
|
|
|
PageRequest pageRequest = new PageRequest(page-1, pageSize);
|
|
|
List<Map<String,Object>> returnList= new ArrayList<>();
|
|
|
MixEnvelop mixEnvelop = new MixEnvelop();
|
|
|
mixEnvelop.setPageSize(pageSize);
|
|
|
mixEnvelop.setCurrPage(page);
|
|
|
if (baseTemplateDictDO!=null){
|
|
|
if ("frequencyDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
List<BaseFrequencyDictDO> list= new ArrayList<>();
|
|
|
if (StringUtils.isNoneBlank(name)){
|
|
|
list= baseFrequencyDictDao.findByNameDel(name,pageRequest);
|
|
|
}else {
|
|
|
list= baseFrequencyDictDao.findByDel(pageRequest);
|
|
|
}
|
|
|
Integer count = baseFrequencyDictDao.getconuntByDel();
|
|
|
for (BaseFrequencyDictDO baseFrequencyDictDO:list){
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
map.put("templateDetail",baseTemplateDictDO);
|
|
|
map.put("id",baseFrequencyDictDO.getId());
|
|
|
map.put("code",baseFrequencyDictDO.getFreq_code());
|
|
|
map.put("name",baseFrequencyDictDO.getFreq_name());
|
|
|
map.put("py_code",baseFrequencyDictDO.getFreq_sp());
|
|
|
map.put("daily_times",baseFrequencyDictDO.getDaily_times());
|
|
|
map.put("weekly_times",baseFrequencyDictDO.getWeekly_times());
|
|
|
BaseTemplateDictDO baseTemplateDictDO1= baseTemplateDictDao.findByDictIdAndTemplateId(baseFrequencyDictDO.getId(),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 if ("drugUseDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
List<BaseDrugUseDictDO> list= new ArrayList<>();
|
|
|
if (StringUtils.isNoneBlank(name)){
|
|
|
list= baseDrugUseDictDao.findByNameDel(name,pageRequest);
|
|
|
}else {
|
|
|
list= baseDrugUseDictDao.findByDel(pageRequest);
|
|
|
}
|
|
|
Integer count = baseDrugUseDictDao.getconuntByDel();
|
|
|
for (BaseDrugUseDictDO baseDrugUseDictDO:list){
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
map.put("id",baseDrugUseDictDO.getId());
|
|
|
map.put("templateDetail",baseTemplateDictDO);
|
|
|
map.put("code",baseDrugUseDictDO.getSupply_code());
|
|
|
map.put("name",baseDrugUseDictDO.getSupply_name());
|
|
|
map.put("py_code",baseDrugUseDictDO.getPy_code());
|
|
|
BaseTemplateDictDO baseTemplateDictDO1= baseTemplateDictDao.findByDictIdAndTemplateId(baseDrugUseDictDO.getId(),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 if ("drugListDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
List<BaseDrugDictDO> list= new ArrayList<>();
|
|
|
if (StringUtils.isNoneBlank(name)){
|
|
|
list= baseDrugDictDao.findByNameDel(name,pageRequest);
|
|
|
}else {
|
|
|
list= baseDrugDictDao.findByDel(pageRequest);
|
|
|
}
|
|
|
Integer count = baseDrugDictDao.getconuntByDel();
|
|
|
for (BaseDrugDictDO baseDrugDictDO:list){
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
map.put("id",baseDrugDictDO.getId());
|
|
|
map.put("templateDetail",baseTemplateDictDO);
|
|
|
map.put("code",baseDrugDictDO.getCharge_code());
|
|
|
map.put("name",baseDrugDictDO.getDrugname());
|
|
|
map.put("dosage",baseDrugDictDO.getDosage());
|
|
|
map.put("specification",baseDrugDictDO.getSpecification());
|
|
|
map.put("stock_amount",baseDrugDictDO.getStock_amount());
|
|
|
map.put("manu_name",baseDrugDictDO.getManu_name());
|
|
|
BaseTemplateDictDO baseTemplateDictDO1= baseTemplateDictDao.findByDictIdAndTemplateId(baseDrugDictDO.getId(),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 if ("icd10ListDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
List<DictIcd10DO> list= new ArrayList<>();
|
|
|
if (StringUtils.isNoneBlank(name)){
|
|
|
list= baseDictIcd10Dao.findByNameDel(name,pageRequest);
|
|
|
}else {
|
|
|
list= baseDictIcd10Dao.findByDel(pageRequest);
|
|
|
}
|
|
|
Integer count = baseDrugDictDao.getconuntByDel();
|
|
|
for (DictIcd10DO dictIcd10DO:list){
|
|
|
Map<String,Object> map = new HashMap<>();
|
|
|
map.put("templateDetail",baseTemplateDictDO);
|
|
|
map.put("id",dictIcd10DO.getId());
|
|
|
map.put("code",dictIcd10DO.getCode());
|
|
|
map.put("name",dictIcd10DO.getName());
|
|
|
map.put("disea_reason",dictIcd10DO.getDisea_reason());
|
|
|
map.put("death_reason",dictIcd10DO.getDeath_reason());
|
|
|
map.put("py_code",dictIcd10DO.getPy_code());
|
|
|
map.put("d_code",dictIcd10DO.getD_code());
|
|
|
map.put("flag",dictIcd10DO.getFlag());
|
|
|
BaseTemplateDictDO baseTemplateDictDO1= baseTemplateDictDao.findByDictIdAndTemplateId(dictIcd10DO.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 {
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
public BaseTemplateDO findOneTemplateById(String id){
|
|
|
return baseTemplateDao.findOne(id);
|
|
|
}
|
|
|
public void saveUserTemplateRelation(String orgCode,String templateIds){
|
|
|
String[] templateArray = templateIds.split(",");
|
|
|
BaseOrgDO baseOrgDO= baseOrgDao.findByCode(orgCode);
|
|
|
String orgName="";
|
|
|
if (baseOrgDO!=null){
|
|
|
orgName=baseOrgDO.getName();
|
|
|
}
|
|
|
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);
|
|
|
}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 = new BaseTemplateOrgDO();
|
|
|
baseTemplateOrgDO.setOrgCode(orgCode);
|
|
|
baseTemplateOrgDO.setOrgName(orgName);
|
|
|
baseTemplateOrgDO.setIsDel("1");
|
|
|
baseTemplateOrgDO.setTemplateId(templateId);
|
|
|
baseTemplateOrgDO.setTemplateType(templateType);
|
|
|
}
|
|
|
baseTemplateOrgDao.save(baseTemplateOrgDO);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
public Map<String,Object> findUseTemplate(String orgCode){
|
|
|
List<BaseTemplateOrgDO> list = baseTemplateOrgDao.findByOrgCode(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);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public MixEnvelop findTemlateAddChildList(String templateId,Integer page,Integer pageSize){
|
|
|
BaseTemplateDO baseTemplateDictDO = baseTemplateDao.findOne(templateId);
|
|
|
MixEnvelop mixEnvelop = new MixEnvelop();
|
|
|
mixEnvelop.setPageSize(pageSize);
|
|
|
mixEnvelop.setCurrPage(page);
|
|
|
if (baseTemplateDictDO!=null){
|
|
|
if ("frequencyDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
String sql="select t.id as \"id\"," +
|
|
|
" t.freq_code as \"freq_code\"," +
|
|
|
" t.freq_name as \"freq_name\"," +
|
|
|
" t.freq_sp as \"freq_sp\"," +
|
|
|
" t.daily_times as \"daily_times\"," +
|
|
|
" t.weekly_times as \"weekly_times\"," +
|
|
|
" t.hosp_code as \"hosp_code\"," +
|
|
|
" t.is_del as \"is_del\"," +
|
|
|
" t.is_op_ip as \"is_op_ip\"," +
|
|
|
" t.status as \"status\"," +
|
|
|
" t.create_time as \"create_time\"" +
|
|
|
"from base_template_dict b left join base_frequency_dict t on b.dict_id=t.id" +
|
|
|
" where t.is_del='1' and b.is_del='1' ";
|
|
|
String sqlCount =" select count(1) as \"count\" from base_template_dict b left join base_frequency_dict t on b.dict_id=t.id" +
|
|
|
" where t.is_del='1 and b.is_del='1'";
|
|
|
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","已失效");
|
|
|
}
|
|
|
}
|
|
|
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 if ("drugUseDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
String sql="select t.id as \"id\"," +
|
|
|
" t.supply_code as \"supply_code\"," +
|
|
|
" t.supply_name as \"supply_name\"," +
|
|
|
" t.supply_occ as \"supply_occ\"," +
|
|
|
" t.del_flag as \"del_flag\"," +
|
|
|
" t.sort_code as \"sort_code\"," +
|
|
|
" t.print_name as \"print_name\"," +
|
|
|
" t.py_code as \"py_code\"," +
|
|
|
" t.d_code as \"d_code\"," +
|
|
|
" t.yb_name as \"yb_name\"," +
|
|
|
" t.yb_code as \"yb_code\"," +
|
|
|
" t.status as \"status\"," +
|
|
|
" t.create_time as \"create_time\" " +
|
|
|
"from base_template_dict b left join base_drug_use_dict t on b.dict_id=t.id" +
|
|
|
" where t.del_flag='1' and b.is_del='1'";
|
|
|
String sqlCount =" select count(1) as \"count\" from base_template_dict b left join base_drug_use_dict t on b.dict_id=t.id" +
|
|
|
" where t.del_flag='1 and b.is_del='1'";
|
|
|
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","已失效");
|
|
|
}
|
|
|
}
|
|
|
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 if ("drugListDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
String sql = "select t.id as \"id\"," +
|
|
|
" t.charge_code as \"charge_code\"," +
|
|
|
" t.drugname as \"drugname\"," +
|
|
|
" t.specification as \"specification\"," +
|
|
|
" t.py_code as \"py_code\"," +
|
|
|
" t.supply_code as \"supply_code\"," +
|
|
|
" t.supply_name as \"supply_name\"," +
|
|
|
" t.retprice as \"retprice\"," +
|
|
|
" t.manu_name as \"manu_name\"," +
|
|
|
" t.weigh_unit as \"weigh_unit\"," +
|
|
|
" t.mini_unit_name as \"mini_unit_name\"," +
|
|
|
" t.pack_unit_name as \"pack_unit_name\"," +
|
|
|
" t.weigh_unit_name as \"weigh_unit_name\"," +
|
|
|
" t.vol_unit_name as \"vol_unit_name\"," +
|
|
|
" t.win_no as \"win_no\"," +
|
|
|
" t.pack_retprice as \"pack_retprice\"," +
|
|
|
" t.mini_unit as \"mini_unit\"," +
|
|
|
" t.pack_size as \"pack_size\"," +
|
|
|
" t.action as \"action\"," +
|
|
|
" t.serial as \"serial\"," +
|
|
|
" t.group_no as \"group_no\"," +
|
|
|
" t.stock_amount as \"stock_amount\"," +
|
|
|
" t.visible_flag as \"visible_flag\"," +
|
|
|
" t.drug_flag as \"drug_flag\"," +
|
|
|
" t.create_time as \"create_time\"," +
|
|
|
" t.update_time as \"update_time\"," +
|
|
|
" t.status as \"status\"," +
|
|
|
" t.mini_stock_amount as \"mini_stock_amount\"," +
|
|
|
" t.dosage as \"dosage\"," +
|
|
|
" t.max_stock_amount as \"max_stock_amount\"," +
|
|
|
" t.pack_unit as \"pack_unit\"," +
|
|
|
" t.is_del as \"is_del\"" +
|
|
|
" from base_template_dict b left join base_drug_dict t on b.dict_id = t.id " +
|
|
|
" where t.is_del='1' and b.is_del='1'";
|
|
|
String sqlCount = "select count(1) as \"count\" from base_template_dict b left join base_drug_dict t on b.dict_id = t.id " +
|
|
|
" where t.is_del='1'and b.is_del='1' ";
|
|
|
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","已失效");
|
|
|
}
|
|
|
}
|
|
|
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 if ("icd10ListDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
String sql="select t.id as \"id\"," +
|
|
|
" t.code as \"code\"," +
|
|
|
" t.name as \"name\"," +
|
|
|
" t.description as \"description\"," +
|
|
|
" t.create_time as \"create_time\"," +
|
|
|
" t.disea_reason as \"disea_reason\"," +
|
|
|
" t.death_reason as \"death_reason\"," +
|
|
|
" t.py_code as \"py_code\"," +
|
|
|
" t.d_code as \"d_code\"," +
|
|
|
" t.flag as \"flag\"," +
|
|
|
" t.is_del as \"is_del\"," +
|
|
|
" t.status as \"status\" " +
|
|
|
" from base_template_dict b left join dict_icd10 t on b.dict_id=t.id" +
|
|
|
" where t.is_del='1' and b.is_del='1'";
|
|
|
String sqlCount =" select count(1) as \"count\" from base_template_dict b left join dict_icd10 t on b.dict_id=t.id" +
|
|
|
" where t.is_del='1' and b.is_del='1'";
|
|
|
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","已失效");
|
|
|
}
|
|
|
}
|
|
|
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;
|
|
|
}
|
|
|
}else {
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
public MixEnvelop findTemlateNotAddChildList(String templateId,Integer page,Integer pageSize){
|
|
|
BaseTemplateDO baseTemplateDictDO = baseTemplateDao.findOne(templateId);
|
|
|
MixEnvelop mixEnvelop = new MixEnvelop();
|
|
|
mixEnvelop.setPageSize(pageSize);
|
|
|
mixEnvelop.setCurrPage(page);
|
|
|
if (baseTemplateDictDO!=null){
|
|
|
if ("frequencyDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
String sql="select DISTINCT t.id as \"id\"," +
|
|
|
" t.freq_code as \"freq_code\"," +
|
|
|
" t.freq_name as \"freq_name\"," +
|
|
|
" t.freq_sp as \"freq_sp\"," +
|
|
|
" t.daily_times as \"daily_times\"," +
|
|
|
" t.weekly_times as \"weekly_times\"," +
|
|
|
" t.hosp_code as \"hosp_code\"," +
|
|
|
" t.is_del as \"is_del\"," +
|
|
|
" t.is_op_ip as \"is_op_ip\"," +
|
|
|
" t.status as \"status\"," +
|
|
|
" t.create_time as \"create_time\"" +
|
|
|
" from base_frequency_dict t where t.id not in ( SELECT DISTINCT g.id from base_frequency_dict g left join base_template_dict " +
|
|
|
"m on g.id = m.dict_id " +
|
|
|
"where m.template_id ='"+templateId+"')";
|
|
|
String sqlCount =" select count(1) as \"count\" from base_frequency_dict t where t.id not in ( SELECT DISTINCT g.id from base_frequency_dict g left join base_template_dict " +
|
|
|
"m on g.id = m.dict_id " +
|
|
|
"where m.template_id ='"+templateId+"')";
|
|
|
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","已失效");
|
|
|
}
|
|
|
}
|
|
|
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 if ("drugUseDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
String sql="select DISTINCT t.id as \"id\"," +
|
|
|
" t.supply_code as \"supply_code\"," +
|
|
|
" t.supply_name as \"supply_name\"," +
|
|
|
" t.supply_occ as \"supply_occ\"," +
|
|
|
" t.del_flag as \"del_flag\"," +
|
|
|
" t.sort_code as \"sort_code\"," +
|
|
|
" t.print_name as \"print_name\"," +
|
|
|
" t.py_code as \"py_code\"," +
|
|
|
" t.d_code as \"d_code\"," +
|
|
|
" t.yb_name as \"yb_name\"," +
|
|
|
" t.yb_code as \"yb_code\"," +
|
|
|
" t.status as \"status\"," +
|
|
|
" t.create_time as \"create_time\" " +
|
|
|
" from base_drug_use_dict t where t.id not in ( SELECT DISTINCT g.id from base_drug_use_dict g left join base_template_dict " +
|
|
|
"m on g.id = m.dict_id " +
|
|
|
"where m.template_id ='"+templateId+"')";
|
|
|
String sqlCount =" select count(1) as \"count\" from base_drug_use_dict t where t.id not in ( SELECT DISTINCT g.id from base_drug_use_dict g left join base_template_dict " +
|
|
|
"m on g.id = m.dict_id " +
|
|
|
"where m.template_id ='"+templateId+"')";
|
|
|
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","已失效");
|
|
|
}
|
|
|
}
|
|
|
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 if ("drugListDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
String sql = "select DISTINCT t.id as \"id\"," +
|
|
|
" t.charge_code as \"charge_code\"," +
|
|
|
" t.drugname as \"drugname\"," +
|
|
|
" t.specification as \"specification\"," +
|
|
|
" t.py_code as \"py_code\"," +
|
|
|
" t.supply_code as \"supply_code\"," +
|
|
|
" t.supply_name as \"supply_name\"," +
|
|
|
" t.retprice as \"retprice\"," +
|
|
|
" t.manu_name as \"manu_name\"," +
|
|
|
" t.weigh_unit as \"weigh_unit\"," +
|
|
|
" t.mini_unit_name as \"mini_unit_name\"," +
|
|
|
" t.pack_unit_name as \"pack_unit_name\"," +
|
|
|
" t.weigh_unit_name as \"weigh_unit_name\"," +
|
|
|
" t.vol_unit_name as \"vol_unit_name\"," +
|
|
|
" t.win_no as \"win_no\"," +
|
|
|
" t.pack_retprice as \"pack_retprice\"," +
|
|
|
" t.mini_unit as \"mini_unit\"," +
|
|
|
" t.pack_size as \"pack_size\"," +
|
|
|
" t.action as \"action\"," +
|
|
|
" t.serial as \"serial\"," +
|
|
|
" t.group_no as \"group_no\"," +
|
|
|
" t.stock_amount as \"stock_amount\"," +
|
|
|
" t.visible_flag as \"visible_flag\"," +
|
|
|
" t.drug_flag as \"drug_flag\"," +
|
|
|
" t.create_time as \"create_time\"," +
|
|
|
" t.update_time as \"update_time\"," +
|
|
|
" t.status as \"status\"," +
|
|
|
" t.mini_stock_amount as \"mini_stock_amount\"," +
|
|
|
" t.dosage as \"dosage\"," +
|
|
|
" t.max_stock_amount as \"max_stock_amount\"," +
|
|
|
" t.pack_unit as \"pack_unit\"," +
|
|
|
" t.is_del as \"is_del\"" +
|
|
|
" from base_drug_dict t where t.id not in ( SELECT DISTINCT g.id from base_drug_dict g left join base_template_dict " +
|
|
|
" m on g.id = m.dict_id " +
|
|
|
"where m.template_id ='"+templateId+"')";
|
|
|
String sqlCount = "select count(1) as \"count\" from base_drug_dict t where t.id not in ( SELECT DISTINCT g.id from base_drug_dict g left join base_template_dict " +
|
|
|
"m on g.id = m.dict_id " +
|
|
|
"where m.template_id ='"+templateId+"')";
|
|
|
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","已失效");
|
|
|
}
|
|
|
}
|
|
|
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 if ("icd10ListDict".equalsIgnoreCase(baseTemplateDictDO.getTemplateType())){
|
|
|
String sql="select DISTINCT t.id as \"id\"," +
|
|
|
" t.code as \"code\"," +
|
|
|
" t.name as \"name\"," +
|
|
|
" t.description as \"description\"," +
|
|
|
" t.create_time as \"create_time\"," +
|
|
|
" t.disea_reason as \"disea_reason\"," +
|
|
|
" t.death_reason as \"death_reason\"," +
|
|
|
" t.py_code as \"py_code\"," +
|
|
|
" t.d_code as \"d_code\"," +
|
|
|
" t.flag as \"flag\"," +
|
|
|
" t.is_del as \"is_del\"," +
|
|
|
" t.status as \"status\" " +
|
|
|
" from dict_icd10 t where t.id not in ( SELECT DISTINCT g.id from dict_icd10 g left join base_template_dict " +
|
|
|
"m on g.id = m.dict_id " +
|
|
|
"where m.template_id ='"+templateId+"')";
|
|
|
String sqlCount =" select count(1) as \"count\" from dict_icd10 t where t.id not in ( SELECT DISTINCT g.id from dict_icd10 g left join base_template_dict " +
|
|
|
"m on g.id = m.dict_id " +
|
|
|
"where m.template_id ='"+templateId+"')";
|
|
|
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","已失效");
|
|
|
}
|
|
|
}
|
|
|
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;
|
|
|
}
|
|
|
}else {
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
}
|