|
@ -6,6 +6,7 @@ import org.apache.commons.collections.map.HashedMap;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.jdbc.core.JdbcTemplate;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
@ -25,7 +26,8 @@ public class ServerPackageService {
|
|
|
|
|
|
@Autowired
|
|
|
private JdbcTemplate jdbcTemplate;
|
|
|
|
|
|
@Value("${wechat.id}")
|
|
|
private String wxId;
|
|
|
|
|
|
|
|
|
/**
|
|
@ -85,30 +87,45 @@ public class ServerPackageService {
|
|
|
// HospitalMapping hospitalMapping = hospitalMappingDao.findByCode(hospital);
|
|
|
// buffer.append(" and ziocad.org_code = '"+hospitalMapping.getMappingCode()+"'");
|
|
|
}
|
|
|
String sql ="SELECT " +
|
|
|
"ziocad.org_code AS hospital," +
|
|
|
"zicd.clinic_code AS diagnosis_code," +
|
|
|
"zicd.clinic_code AS code," +
|
|
|
"zicd.clinic_name AS title," +
|
|
|
"zicd.clinic_spec AS spec," +
|
|
|
"zicd.clinic_unit AS unit," +
|
|
|
"ziccad.allot_quantity AS quantity," +
|
|
|
"zicd.subject_class AS subjectClass," +
|
|
|
"ziccad.item_code AS itemCode," +
|
|
|
" SUBSTR(zicd.subject_class, 1, 4) AS subjectCatagory," +
|
|
|
" (CASE WHEN ISNULL(ziocd.price) THEN 0 ELSE ziocd.price END) as expense " +
|
|
|
" FROM zy_iv_org_clinic_allot_dict ziocad " +
|
|
|
" LEFT JOIN zy_iv_clinic_charge_allot_dict ziccad ON ziccad.clinic_code = ziocad.clinic_code AND ziccad.org_code = ziocad.org_code" +
|
|
|
" LEFT JOIN zy_iv_clinic_dict zicd ON zicd.clinic_code = ziocad.clinic_code" +
|
|
|
" LEFT JOIN zy_iv_org_charge_allot_dict ziocd ON ziocd.charge_code = ziccad.item_code and ziocd.org_code = ziccad.org_code " ;
|
|
|
|
|
|
if("used".equals(type)){
|
|
|
sql += " LEFT JOIN wlyy_door_order_item i on i.code = zicd.clinic_code and (i.patient = '"+patient+"' or i.doctor='"+doctor+"') ";
|
|
|
sql += " WHERE SUBSTR(zicd.subject_class, 1, 4) = '"+type+"' ";
|
|
|
}else{
|
|
|
sql += " WHERE SUBSTR(zicd.subject_class, 1, 4) = '"+type+"' ";
|
|
|
String sql = "";
|
|
|
|
|
|
if("sd_tnzyy_wx".equals(wxId)){
|
|
|
sql = "SELECT a.FYXH code,a.FYMC title,a.FYDW unit,a.FYDJ expense from gy_ylsf a ";
|
|
|
if("used".equals(type)){
|
|
|
sql += " JOIN wlyy_door_order_item i on i.code = a.FYXH and (i.patient = '"+patient+"' or i.doctor='"+doctor+"') ";
|
|
|
}else if("other".equals(type)){
|
|
|
sql = " where a.FYGB not in (SELECT code from base_system_dict_entry WHERE dict_code = 'door_service_subject_class_dict')";
|
|
|
}else{
|
|
|
sql += " WHERE a.FYGB ="+type;
|
|
|
}
|
|
|
}else {
|
|
|
sql ="SELECT " +
|
|
|
"ziocad.org_code AS hospital," +
|
|
|
"zicd.clinic_code AS diagnosis_code," +
|
|
|
"zicd.clinic_code AS code," +
|
|
|
"zicd.clinic_name AS title," +
|
|
|
"zicd.clinic_spec AS spec," +
|
|
|
"zicd.clinic_unit AS unit," +
|
|
|
"ziccad.allot_quantity AS quantity," +
|
|
|
"zicd.subject_class AS subjectClass," +
|
|
|
"ziccad.item_code AS itemCode," +
|
|
|
" SUBSTR(zicd.subject_class, 1, 4) AS subjectCatagory," +
|
|
|
" (CASE WHEN ISNULL(ziocd.price) THEN 0 ELSE ziocd.price END) as expense " +
|
|
|
" FROM zy_iv_org_clinic_allot_dict ziocad " +
|
|
|
" LEFT JOIN zy_iv_clinic_charge_allot_dict ziccad ON ziccad.clinic_code = ziocad.clinic_code AND ziccad.org_code = ziocad.org_code" +
|
|
|
" LEFT JOIN zy_iv_clinic_dict zicd ON zicd.clinic_code = ziocad.clinic_code" +
|
|
|
" LEFT JOIN zy_iv_org_charge_allot_dict ziocd ON ziocd.charge_code = ziccad.item_code and ziocd.org_code = ziccad.org_code " ;
|
|
|
|
|
|
if("used".equals(type)){
|
|
|
sql += " LEFT JOIN wlyy_door_order_item i on i.code = zicd.clinic_code and (i.patient = '"+patient+"' or i.doctor='"+doctor+"') ";
|
|
|
sql += " WHERE SUBSTR(zicd.subject_class, 1, 4) = '"+type+"' ";
|
|
|
}else{
|
|
|
sql += " WHERE SUBSTR(zicd.subject_class, 1, 4) = '"+type+"' ";
|
|
|
}
|
|
|
sql += buffer;
|
|
|
}
|
|
|
sql += buffer;
|
|
|
|
|
|
|
|
|
List<Map<String,Object>> mapList = jdbcTemplate.queryForList(sql);
|
|
|
|
|
|
return mapList;
|
|
@ -116,7 +133,7 @@ public class ServerPackageService {
|
|
|
|
|
|
|
|
|
public List<Map<String,Object>> selectTypes(){
|
|
|
String sql = "SELECT code,value type from base_system_dict_entry WHERE dict_code = 'PROFESSIONAL_STATE' ORDER BY sort";
|
|
|
String sql = "SELECT code,value type from base_system_dict_entry WHERE dict_code = 'door_service_subject_class_dict' ORDER BY sort";
|
|
|
List<Map<String,Object>> mapList1 = jdbcTemplate.queryForList(sql);
|
|
|
Map<String,Object> map1 = new HashedMap();
|
|
|
map1.put("code","used");
|