|
@ -2,12 +2,15 @@ package com.yihu.jw.service;/**
|
|
|
* Created by nature of king on 2018/8/28.
|
|
|
*/
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.yihu.jw.dao.SpecialistHospitalServiceItemDao;
|
|
|
import com.yihu.jw.dao.SpecialistServiceItemDao;
|
|
|
import com.yihu.jw.entity.specialist.HospitalServiceItemDO;
|
|
|
import com.yihu.jw.entity.specialist.SpecialistServiceItemDO;
|
|
|
import com.yihu.jw.restmodel.web.MixEnvelop;
|
|
|
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.jdbc.core.BeanPropertyRowMapper;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
@ -37,14 +40,16 @@ public class SpecialistHospitalServiceItemService extends EnvelopRestEndpoint {
|
|
|
/**
|
|
|
* 添加机构服务项目
|
|
|
*
|
|
|
* @param hospitalServiceItemDO
|
|
|
* @param hospitalServiceItemDOS
|
|
|
* @return
|
|
|
*/
|
|
|
public MixEnvelop<HospitalServiceItemDO,HospitalServiceItemDO> insert(HospitalServiceItemDO hospitalServiceItemDO){
|
|
|
public MixEnvelop<HospitalServiceItemDO,HospitalServiceItemDO> insert(List<HospitalServiceItemDO> hospitalServiceItemDOS){
|
|
|
MixEnvelop<HospitalServiceItemDO,HospitalServiceItemDO> envelop = new MixEnvelop<>();
|
|
|
hospitalServiceItemDO = specialistHospitalServiceItemDao.save(hospitalServiceItemDO);
|
|
|
List<HospitalServiceItemDO> hospitalServiceItemDOS = new ArrayList<>();
|
|
|
hospitalServiceItemDOS.add(hospitalServiceItemDO);
|
|
|
if (hospitalServiceItemDOS !=null && hospitalServiceItemDOS.size()!=0){
|
|
|
for (HospitalServiceItemDO hospitalServiceItemDO:hospitalServiceItemDOS){
|
|
|
specialistHospitalServiceItemDao.save(hospitalServiceItemDO);
|
|
|
}
|
|
|
}
|
|
|
envelop.setDetailModelList(hospitalServiceItemDOS);
|
|
|
return envelop;
|
|
|
}
|
|
@ -59,13 +64,15 @@ public class SpecialistHospitalServiceItemService extends EnvelopRestEndpoint {
|
|
|
public MixEnvelop<HospitalServiceItemDO,HospitalServiceItemDO> selectByHospital(List<String> hospitals){
|
|
|
MixEnvelop<HospitalServiceItemDO,HospitalServiceItemDO> envelop = new MixEnvelop<>();
|
|
|
StringBuffer buffer = new StringBuffer();
|
|
|
buffer.append("hospital in (");
|
|
|
for (int i =0 ;i<hospitals.size();i++){
|
|
|
buffer.append("'"+hospitals.get(i)+"',");
|
|
|
if (hospitals!=null && hospitals.size()!=0){
|
|
|
buffer.append(" and hospital in (");
|
|
|
for (int i =0 ;i<hospitals.size();i++){
|
|
|
buffer.append("'"+hospitals.get(i)+"',");
|
|
|
}
|
|
|
buffer.deleteCharAt(buffer.length()-1);
|
|
|
buffer.append(")");
|
|
|
}
|
|
|
buffer.deleteCharAt(buffer.length()-1);
|
|
|
buffer.append(")");
|
|
|
String sql = "select * from wlyy_hospital_service_item where "+buffer;
|
|
|
String sql = "select * from wlyy_hospital_service_item where 1=1 "+buffer;
|
|
|
List<HospitalServiceItemDO> hospitalServiceItemDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(HospitalServiceItemDO.class));
|
|
|
for (HospitalServiceItemDO hospitalServiceItemDO:hospitalServiceItemDOS){
|
|
|
SpecialistServiceItemDO specialistServiceItemDO = specialistServiceItemDao.findOne(hospitalServiceItemDO.getServiceItemId());
|
|
@ -75,6 +82,99 @@ public class SpecialistHospitalServiceItemService extends EnvelopRestEndpoint {
|
|
|
return envelop;
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
*
|
|
|
* @param hospital
|
|
|
* @param docHospital
|
|
|
* @param serviceItemName
|
|
|
* @return
|
|
|
*/
|
|
|
public MixEnvelop<JSONArray,JSONArray> selectByHospital1(String hospital,String docHospital,String serviceItemName){
|
|
|
MixEnvelop<JSONArray,JSONArray> envelop = new MixEnvelop<>();
|
|
|
String sqlUtil = "";
|
|
|
if (StringUtils.isNoneBlank(serviceItemName)){
|
|
|
sqlUtil="and service_item_name = '"+serviceItemName+"'";
|
|
|
}
|
|
|
String sql = "select * from wlyy_hospital_service_item where 1=1 AND hospital = '"+hospital+"' "+sqlUtil;
|
|
|
List<HospitalServiceItemDO> hospitalServiceItemDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(HospitalServiceItemDO.class));
|
|
|
String sql1 = "select * from wlyy_hospital_service_item where 1=1 AND hospital = '"+docHospital+"' "+sqlUtil;
|
|
|
List<HospitalServiceItemDO> hospitalServiceItemDOList = jdbcTemplate.query(sql1,new BeanPropertyRowMapper(HospitalServiceItemDO.class));
|
|
|
List<HospitalServiceItemDO> hospitalServiceItemDOS1 = new ArrayList<>();
|
|
|
for (HospitalServiceItemDO hospitalServiceItemDO:hospitalServiceItemDOS){
|
|
|
boolean flag = false;
|
|
|
for (HospitalServiceItemDO hospitalServiceItemDO1 :hospitalServiceItemDOList){
|
|
|
if (hospitalServiceItemDO.getHospital().equals(hospitalServiceItemDO1.getHospital())){
|
|
|
hospitalServiceItemDO1.setFlag(3);
|
|
|
hospitalServiceItemDOS1.add(hospitalServiceItemDO1);
|
|
|
flag = true;
|
|
|
hospitalServiceItemDOList.remove(hospitalServiceItemDO1);
|
|
|
break;
|
|
|
}else{
|
|
|
hospitalServiceItemDO1.setFlag(2);
|
|
|
hospitalServiceItemDOS1.add(hospitalServiceItemDO1);
|
|
|
flag = false;
|
|
|
}
|
|
|
}
|
|
|
if (flag==false){
|
|
|
hospitalServiceItemDO.setFlag(1);
|
|
|
hospitalServiceItemDOS1.add(hospitalServiceItemDO);
|
|
|
}
|
|
|
}
|
|
|
for (HospitalServiceItemDO hospitalServiceItemDO:hospitalServiceItemDOS1){
|
|
|
SpecialistServiceItemDO specialistServiceItemDO = specialistServiceItemDao.findOne(hospitalServiceItemDO.getServiceItemId());
|
|
|
hospitalServiceItemDO.setSpecialistServiceItemDO(specialistServiceItemDO);
|
|
|
}
|
|
|
JSONArray array = new JSONArray();
|
|
|
List<Integer> itemType = new ArrayList<>();
|
|
|
for (HospitalServiceItemDO hospitalServiceItemDO:hospitalServiceItemDOS1){
|
|
|
SpecialistServiceItemDO specialistServiceItemDO = hospitalServiceItemDO.getSpecialistServiceItemDO();
|
|
|
if (itemType != null && itemType.size() != 0){
|
|
|
for (int i=0;i<itemType.size();i++){
|
|
|
if (!itemType.get(i).equals(specialistServiceItemDO.getItemType())){
|
|
|
itemType.add(specialistServiceItemDO.getItemType());
|
|
|
}
|
|
|
}
|
|
|
}else {
|
|
|
itemType.add(specialistServiceItemDO.getItemType());
|
|
|
}
|
|
|
}
|
|
|
for (int i =0;i<itemType.size();i++){
|
|
|
JSONObject object = new JSONObject();
|
|
|
List<String> type = new ArrayList<>();
|
|
|
for (int j = 0;j<hospitalServiceItemDOS1.size();j++){
|
|
|
SpecialistServiceItemDO specialistServiceItemDO = hospitalServiceItemDOS1.get(j).getSpecialistServiceItemDO();
|
|
|
if (itemType.get(i).equals(specialistServiceItemDO.getItemType())){
|
|
|
type.add(specialistServiceItemDO.getDiseaseItem());
|
|
|
}
|
|
|
}
|
|
|
JSONArray itemArray = new JSONArray();
|
|
|
if (type != null && type.size() != 0){
|
|
|
for (int z =0 ;z<type.size();z++){
|
|
|
List<HospitalServiceItemDO> hospitalServiceItemDOS2 = new ArrayList<>();
|
|
|
JSONObject object1 =new JSONObject();
|
|
|
object1.put("itemName",type.get(z));
|
|
|
for (int j = 0;j<hospitalServiceItemDOS1.size();j++){
|
|
|
SpecialistServiceItemDO specialistServiceItemDO = hospitalServiceItemDOS1.get(j).getSpecialistServiceItemDO();
|
|
|
if (type.get(z).equals(specialistServiceItemDO.getDiseaseItem())){
|
|
|
hospitalServiceItemDOS2.add(hospitalServiceItemDOS1.get(j));
|
|
|
}
|
|
|
}
|
|
|
object1.put("hospitalServiceItems",hospitalServiceItemDOS2);
|
|
|
itemArray.add(object1);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
object.put("itemType",itemType.get(i));
|
|
|
object.put("item",itemArray);
|
|
|
array.add(object);
|
|
|
}
|
|
|
List<JSONArray> list = new ArrayList<>();
|
|
|
list.add(array);
|
|
|
envelop.setDetailModelList(list);
|
|
|
return envelop;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 根据id获取服务项目
|
|
|
*
|
|
@ -84,13 +184,15 @@ public class SpecialistHospitalServiceItemService extends EnvelopRestEndpoint {
|
|
|
public MixEnvelop<HospitalServiceItemDO,HospitalServiceItemDO> selectById(List<String> hospitalServiceItems){
|
|
|
MixEnvelop<HospitalServiceItemDO,HospitalServiceItemDO> envelop = new MixEnvelop<>();
|
|
|
StringBuffer buffer = new StringBuffer();
|
|
|
buffer.append("id in (");
|
|
|
for (int i =0 ;i<hospitalServiceItems.size();i++){
|
|
|
buffer.append("'"+hospitalServiceItems.get(i)+"',");
|
|
|
if(hospitalServiceItems != null && hospitalServiceItems.size()!=0){
|
|
|
buffer.append(" and id in (");
|
|
|
for (int i =0 ;i<hospitalServiceItems.size();i++){
|
|
|
buffer.append("'"+hospitalServiceItems.get(i)+"',");
|
|
|
}
|
|
|
buffer.deleteCharAt(buffer.length()-1);
|
|
|
buffer.append(")");
|
|
|
}
|
|
|
buffer.deleteCharAt(buffer.length()-1);
|
|
|
buffer.append(")");
|
|
|
String sql = "select * from wlyy_hospital_service_item where "+buffer;
|
|
|
String sql = "select * from wlyy_hospital_service_item where 1=1 "+buffer;
|
|
|
List<HospitalServiceItemDO> hospitalServiceItemDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(HospitalServiceItemDO.class));
|
|
|
for (HospitalServiceItemDO hospitalServiceItemDO:hospitalServiceItemDOS){
|
|
|
SpecialistServiceItemDO specialistServiceItemDO = specialistServiceItemDao.findOne(hospitalServiceItemDO.getServiceItemId());
|
|
@ -100,4 +202,65 @@ public class SpecialistHospitalServiceItemService extends EnvelopRestEndpoint {
|
|
|
return envelop;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 按条件查询机构服务项目
|
|
|
*
|
|
|
* @param serviceItemName 服务项目名称
|
|
|
*
|
|
|
* @param hospitals 医院code集合
|
|
|
* @return
|
|
|
*/
|
|
|
public MixEnvelop<HospitalServiceItemDO,HospitalServiceItemDO> selectByCondition(String serviceItemName,List<String> hospitals){
|
|
|
MixEnvelop<HospitalServiceItemDO,HospitalServiceItemDO> envelop = new MixEnvelop<>();
|
|
|
if (StringUtils.isNoneBlank(serviceItemName)){
|
|
|
String sql = "select * from wlyy_hospital_service_item where service_item_name = '"+serviceItemName+"' and status=1";
|
|
|
List<HospitalServiceItemDO> hospitalServiceItemDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(HospitalServiceItemDO.class));
|
|
|
for (HospitalServiceItemDO hospitalServiceItemDO:hospitalServiceItemDOS){
|
|
|
SpecialistServiceItemDO specialistServiceItemDO = specialistServiceItemDao.findOne(hospitalServiceItemDO.getServiceItemId());
|
|
|
hospitalServiceItemDO.setSpecialistServiceItemDO(specialistServiceItemDO);
|
|
|
}
|
|
|
envelop.setDetailModelList(hospitalServiceItemDOS);
|
|
|
}else {
|
|
|
StringBuffer buffer = new StringBuffer();
|
|
|
if(hospitals != null && hospitals.size()!=0){
|
|
|
buffer.append(" and hospital in (");
|
|
|
for (int i =0 ;i<hospitals.size();i++){
|
|
|
buffer.append("'"+hospitals.get(i)+"',");
|
|
|
}
|
|
|
buffer.deleteCharAt(buffer.length()-1);
|
|
|
buffer.append(")");
|
|
|
}
|
|
|
String sql = "select * from wlyy_hospital_service_item where 1=1 "+buffer;
|
|
|
List<HospitalServiceItemDO> hospitalServiceItemDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(HospitalServiceItemDO.class));
|
|
|
for (HospitalServiceItemDO hospitalServiceItemDO:hospitalServiceItemDOS){
|
|
|
SpecialistServiceItemDO specialistServiceItemDO = specialistServiceItemDao.findOne(hospitalServiceItemDO.getServiceItemId());
|
|
|
hospitalServiceItemDO.setSpecialistServiceItemDO(specialistServiceItemDO);
|
|
|
}
|
|
|
envelop.setDetailModelList(hospitalServiceItemDOS);
|
|
|
}
|
|
|
return envelop;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 删除机构服务项目
|
|
|
*
|
|
|
* @param hospital 医院code
|
|
|
*
|
|
|
* @param serviceItemId 服务项目id
|
|
|
* @return
|
|
|
*/
|
|
|
public MixEnvelop<Boolean,Boolean> delete(String hospital, String serviceItemId){
|
|
|
MixEnvelop<Boolean,Boolean> envelop = new MixEnvelop<>();
|
|
|
if (StringUtils.isNoneBlank(hospital)){
|
|
|
String sql = "update wlyy_hospital_service_item set status = 0 where hospital = '"+hospital+"'";
|
|
|
jdbcTemplate.update(sql);
|
|
|
}else if (StringUtils.isNoneBlank(serviceItemId)){
|
|
|
String sql = "update wlyy_hospital_service_item set status = 0 where service_item_id = '"+serviceItemId+"'";
|
|
|
jdbcTemplate.update(sql);
|
|
|
}
|
|
|
|
|
|
return envelop;
|
|
|
}
|
|
|
|
|
|
|
|
|
}
|