|
@ -7,7 +7,6 @@ import com.yihu.jw.doctor.dao.BaseDoctorDao;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
import com.yihu.jw.entity.base.org.BaseOrgDO;
|
|
import com.yihu.jw.entity.base.org.BaseOrgDO;
|
|
import com.yihu.jw.entity.base.patient.BasePatientDO;
|
|
import com.yihu.jw.entity.base.patient.BasePatientDO;
|
|
import com.yihu.jw.entity.base.patient.PatientMedicareCardDO;
|
|
|
|
import com.yihu.jw.entity.base.servicePackage.ServicePackageDO;
|
|
import com.yihu.jw.entity.base.servicePackage.ServicePackageDO;
|
|
import com.yihu.jw.entity.base.servicePackage.ServicePackageItemDO;
|
|
import com.yihu.jw.entity.base.servicePackage.ServicePackageItemDO;
|
|
import com.yihu.jw.entity.base.servicePackage.ServicePackageRecordDO;
|
|
import com.yihu.jw.entity.base.servicePackage.ServicePackageRecordDO;
|
|
@ -154,29 +153,13 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
|
|
JSONObject json = new JSONObject();
|
|
JSONObject json = new JSONObject();
|
|
ServicePackageSignRecordDO signRecordDO = servicePackageSignRecordDao.findOne(id);
|
|
ServicePackageSignRecordDO signRecordDO = servicePackageSignRecordDao.findOne(id);
|
|
BasePatientDO patientDO = patientDao.findById(signRecordDO.getPatient());
|
|
BasePatientDO patientDO = patientDao.findById(signRecordDO.getPatient());
|
|
PatientMedicareCardDO card = basePatientMedicardCardService.findByTypeAndPatientCodeAndDel("A_01",signRecordDO.getPatient(),"1");
|
|
|
|
if(card != null){
|
|
|
|
patientDO.setSsc(card.getCode());
|
|
|
|
}
|
|
|
|
json.put("patient",patientDO);
|
|
json.put("patient",patientDO);
|
|
List<Map<String,Object>> packageList = fingdBySignId(id);
|
|
List<Map<String,Object>> packageList = fingdBySignId(id);
|
|
List<Map<String,Object>> doctorList = fingdDoctorBySignId(id,"generalDoctor");
|
|
|
|
List<Map<String,Object>> helperList = fingdDoctorBySignId(id,"helper");
|
|
|
|
String doctorInfo = "";
|
|
|
|
String helperInfo = "";
|
|
|
|
String packageInfo = "";
|
|
|
|
if(doctorList.size()>0){
|
|
|
|
doctorInfo = doctorList.get(0).get("name").toString()+"等"+doctorList.size()+"名";
|
|
|
|
}
|
|
|
|
if(helperList.size()>0){
|
|
|
|
helperInfo = doctorList.get(0).get("name").toString()+"等"+helperList.size()+"名";
|
|
|
|
}
|
|
|
|
if(packageList.size()>0){
|
|
|
|
packageInfo = packageList.get(0).get("name").toString()+"等"+packageList.size()+"个";
|
|
|
|
}
|
|
|
|
signRecordDO.setDoctorInfo(doctorInfo);
|
|
|
|
signRecordDO.setHelperInfo(helperInfo);
|
|
|
|
signRecordDO.setPackageInfo(packageInfo);
|
|
|
|
|
|
List<Map<String,Object>> doctorList = fingdDoctorBySignId(id,1);
|
|
|
|
List<Map<String,Object>> helperList = fingdDoctorBySignId(id,2);
|
|
|
|
signRecordDO.setDoctorList(doctorList);
|
|
|
|
signRecordDO.setHelperList(helperList);
|
|
|
|
signRecordDO.setPackageList(packageList);
|
|
json.put("signRecordDO",signRecordDO);
|
|
json.put("signRecordDO",signRecordDO);
|
|
return json;
|
|
return json;
|
|
}
|
|
}
|
|
@ -185,13 +168,27 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
|
|
* 根据签约记录查找医生/助老员
|
|
* 根据签约记录查找医生/助老员
|
|
* @param signId
|
|
* @param signId
|
|
*/
|
|
*/
|
|
public List<Map<String,Object>> fingdDoctorBySignId(String signId,String role){
|
|
|
|
|
|
public List<Map<String,Object>> fingdDoctorBySignId(String signId,Integer level){
|
|
String sql = "SELECT DISTINCT d.id,d.name from base_service_package_sign_record sr,base_service_package_record r, " +
|
|
String sql = "SELECT DISTINCT d.id,d.name from base_service_package_sign_record sr,base_service_package_record r, " +
|
|
"base_service_package_item i,base_team_member m,base_doctor d,base_doctor_role dr " +
|
|
|
|
|
|
"base_service_package_item i,base_team_member m,base_doctor d " +
|
|
"WHERE sr.id = r.sign_id and r.service_package_id = i.service_package_id " +
|
|
"WHERE sr.id = r.sign_id and r.service_package_id = i.service_package_id " +
|
|
"and i.del = 1 and m.team_code = i.team_code " +
|
|
"and i.del = 1 and m.team_code = i.team_code " +
|
|
"and m.del = '1' and d.id = dr.doctor_code and dr.role_code = '"+role+"' " +
|
|
|
|
"and sr.id = '"+signId+"' ";
|
|
|
|
|
|
"and m.del = '1' and d.level = " + level+
|
|
|
|
" and sr.id = '"+signId+"' ";
|
|
|
|
return jdbcTemplate.queryForList(sql);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 根据服务包id查找医生/助老员
|
|
|
|
* @param packageId
|
|
|
|
*/
|
|
|
|
public List<Map<String,Object>> fingdDoctorByPackageId(String packageId,Integer level){
|
|
|
|
String sql = "SELECT DISTINCT d.id,d.name from base_service_package_record r, " +
|
|
|
|
"base_service_package_item i,base_team_member m,base_doctor d " +
|
|
|
|
"WHERE r.service_package_id = i.service_package_id " +
|
|
|
|
"and i.del = 1 and m.team_code = i.team_code " +
|
|
|
|
"and m.del = '1' and d.level = " + level+
|
|
|
|
" and r.id = '"+packageId+"' ";
|
|
return jdbcTemplate.queryForList(sql);
|
|
return jdbcTemplate.queryForList(sql);
|
|
}
|
|
}
|
|
|
|
|
|
@ -266,7 +263,7 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
|
|
* @param doctorId
|
|
* @param doctorId
|
|
*/
|
|
*/
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public ServicePackageSignRecordDO servicePackageSign(String jsonData,String doctorId) throws Exception{
|
|
|
|
|
|
public ServicePackageSignRecordDO servicePackageSign(String jsonData,String doctorId,String patientId) throws Exception{
|
|
ServicePackageSignRecordDO signRecordDO = objectMapper.readValue(jsonData, ServicePackageSignRecordDO.class);
|
|
ServicePackageSignRecordDO signRecordDO = objectMapper.readValue(jsonData, ServicePackageSignRecordDO.class);
|
|
List<ServicePackageRecordDO> recordDOList = signRecordDO.getRecordDOList();
|
|
List<ServicePackageRecordDO> recordDOList = signRecordDO.getRecordDOList();
|
|
String signId = signRecordDO.getId();
|
|
String signId = signRecordDO.getId();
|
|
@ -297,13 +294,15 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
|
|
}
|
|
}
|
|
|
|
|
|
for (ServicePackageRecordDO recordDO:recordDOList){
|
|
for (ServicePackageRecordDO recordDO:recordDOList){
|
|
recordDO.setPatient(signRecordDO.getPatient());
|
|
|
|
|
|
recordDO.setPatient(patientId);
|
|
recordDO.setSignId(signId);
|
|
recordDO.setSignId(signId);
|
|
}
|
|
}
|
|
servicePackageRecordDao.save(recordDOList);
|
|
servicePackageRecordDao.save(recordDOList);
|
|
return signRecordDO;
|
|
return signRecordDO;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public PageEnvelop<List<Map<String,Object>>> servicePackagePage(int page, int size){
|
|
public PageEnvelop<List<Map<String,Object>>> servicePackagePage(int page, int size){
|
|
String sql = "SELECT p.id,p.`name`,p.type,p.introduce,p.num ";
|
|
String sql = "SELECT p.id,p.`name`,p.type,p.introduce,p.num ";
|
|
String countSql = "SELECT count(*) ";
|
|
String countSql = "SELECT count(*) ";
|
|
@ -319,11 +318,11 @@ public class ServicePackageService extends BaseJpaService<ServicePackageDO, Serv
|
|
for (Map<String,Object> map :list){
|
|
for (Map<String,Object> map :list){
|
|
String id = map.get("id").toString();
|
|
String id = map.get("id").toString();
|
|
List<ServicePackageItemDO> itemDOList = servicePackageItemDao.findByServicePackageId(id);
|
|
List<ServicePackageItemDO> itemDOList = servicePackageItemDao.findByServicePackageId(id);
|
|
if(itemDOList.size()>0){
|
|
|
|
map.put("detail",itemDOList.get(0).getName()+"等"+itemDOList.size()+"项服务");
|
|
|
|
}else{
|
|
|
|
map.put("detail","");
|
|
|
|
}
|
|
|
|
|
|
map.put("detail",itemDOList);
|
|
|
|
List<Map<String,Object>> doctorList = fingdDoctorByPackageId(id,1);
|
|
|
|
List<Map<String,Object>> helperList = fingdDoctorByPackageId(id,2);
|
|
|
|
map.put("doctorList",doctorList);
|
|
|
|
map.put("helperList",helperList);
|
|
}
|
|
}
|
|
Long count = jdbcTemplate.queryForObject(countSql+filters,Long.class);
|
|
Long count = jdbcTemplate.queryForObject(countSql+filters,Long.class);
|
|
return PageEnvelop.getSuccessListWithPage("success",list,page,size,count);
|
|
return PageEnvelop.getSuccessListWithPage("success",list,page,size,count);
|