|
@ -60,6 +60,7 @@ import org.springside.modules.persistence.DynamicSpecifications;
|
|
|
import org.springside.modules.persistence.SearchFilter;
|
|
|
import org.springside.modules.persistence.SearchFilter.Operator;
|
|
|
|
|
|
import javax.persistence.criteria.CriteriaBuilder;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
|
|
@ -170,7 +171,7 @@ public class FamilyContractService extends BaseService {
|
|
|
|
|
|
|
|
|
public SignFamily findSignFamilyByCode(String code) {
|
|
|
return signFamilyDao.findByCodeAndType(code, 2);
|
|
|
return signFamilyDao.findByCode(code);
|
|
|
}
|
|
|
|
|
|
public SignFamily findByPatientByType(String patient, int type) {
|
|
@ -812,6 +813,7 @@ public class FamilyContractService extends BaseService {
|
|
|
}
|
|
|
if (sf != null) {
|
|
|
sf.setStatus(-1);
|
|
|
sf.setPatientApplyUnsignDate(new Date());
|
|
|
} else {
|
|
|
return -2;
|
|
|
}
|
|
@ -823,9 +825,32 @@ public class FamilyContractService extends BaseService {
|
|
|
if (message != null) {
|
|
|
message.setRead(0);
|
|
|
message.setOver("0");
|
|
|
messageDao.save(message);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
Patient p = patientDao.findByCode(patient);
|
|
|
|
|
|
// 添加取消签约消息
|
|
|
Message message = new Message();
|
|
|
message.setCzrq(new Date());
|
|
|
message.setCreateTime(new Date());
|
|
|
message.setContent("您有一条新的家庭签约取消通知!");
|
|
|
message.setRead(1);//设置未读
|
|
|
message.setReceiver(doctor);//设置接受医生的code
|
|
|
message.setSender(patient);//设置发送的用户
|
|
|
message.setSenderName(p.getName());
|
|
|
message.setCode(getCode());
|
|
|
message.setSenderPhoto(p.getPhoto());
|
|
|
message.setTitle("家庭签约取消通知");
|
|
|
message.setType(101);//家庭签约取消信息
|
|
|
message.setReadonly(1);//是否只读消息
|
|
|
message.setSex(p.getSex());
|
|
|
message.setOver("1");//未处理
|
|
|
message.setData(sf.getCode());
|
|
|
messageDao.save(message);
|
|
|
|
|
|
return 200;
|
|
|
}
|
|
|
|
|
@ -839,19 +864,12 @@ public class FamilyContractService extends BaseService {
|
|
|
*/
|
|
|
public int unsignRenew(String patient, String doctor) throws Exception {
|
|
|
|
|
|
if (4 < DateUtil.getNowMonth() && DateUtil.getNowMonth() < 7) {
|
|
|
SignFamilyRenew sf = signFamilyRenewDao.findByDoctorPatient(doctor, patient);
|
|
|
if (sf != null && sf.getStatus() != 0 && sf.getStatus() != 2) {
|
|
|
return -2;
|
|
|
}
|
|
|
sf.setStatus(-1);
|
|
|
} else {
|
|
|
SignFamily sf = signFamilyDao.findByDoctorPatient(doctor, patient);
|
|
|
if (sf != null && sf.getStatus() != 0 && sf.getStatus() != 2) {
|
|
|
return -2;
|
|
|
}
|
|
|
sf.setStatus(-1);
|
|
|
SignFamily sf = signFamilyDao.findByDoctorPatient(doctor, patient);
|
|
|
if (sf != null && sf.getStatus() != 0 && sf.getStatus() != 2) {
|
|
|
return -2;
|
|
|
}
|
|
|
sf.setStatus(-1);
|
|
|
sf.setPatientApplyUnsignDate(new Date());
|
|
|
|
|
|
//结束与医生所有消息
|
|
|
List<Message> messages = messageDao.findByPatientRenew(patient, doctor);
|
|
@ -867,6 +885,27 @@ public class FamilyContractService extends BaseService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
Patient p = patientDao.findByCode(patient);
|
|
|
|
|
|
// 添加取消签约消息
|
|
|
Message message = new Message();
|
|
|
message.setCzrq(new Date());
|
|
|
message.setCreateTime(new Date());
|
|
|
message.setContent("您有一条新的家庭签约取消通知!");
|
|
|
message.setRead(1);//设置未读
|
|
|
message.setReceiver(doctor);//设置接受医生的code
|
|
|
message.setSender(patient);//设置发送的用户
|
|
|
message.setSenderName(p.getName());
|
|
|
message.setCode(getCode());
|
|
|
message.setSenderPhoto(p.getPhoto());
|
|
|
message.setTitle("家庭签约取消通知");
|
|
|
message.setType(101);//家庭签约取消信息
|
|
|
message.setReadonly(1);//是否只读消息
|
|
|
message.setSex(p.getSex());
|
|
|
message.setOver("1");//未处理
|
|
|
message.setData(sf.getCode());
|
|
|
messageDao.save(message);
|
|
|
|
|
|
return 200;
|
|
|
}
|
|
|
|
|
@ -1862,6 +1901,48 @@ public class FamilyContractService extends BaseService {
|
|
|
return messageDao.findAll(spec, pageRequest);
|
|
|
}
|
|
|
|
|
|
public List<Map<String,Object>> findSignMesByDoctor(String doctor,Long id,int pagesize){
|
|
|
if (pagesize <= 0) {
|
|
|
pagesize = 10;
|
|
|
}
|
|
|
String sql = "SELECT m.id," +
|
|
|
" m.code, " +
|
|
|
" m.receiver," +
|
|
|
" m.sender," +
|
|
|
" m.data AS signCode," +
|
|
|
" m.title," +
|
|
|
" m.content AS message," +
|
|
|
" m.type," +
|
|
|
" m.platform," +
|
|
|
" m.state," +
|
|
|
" m.has_read AS 'read'," +
|
|
|
" m.readonly," +
|
|
|
" m.czrq," +
|
|
|
" m.del," +
|
|
|
" m.over AS status," +
|
|
|
" m.value1," +
|
|
|
" m.value2," +
|
|
|
" m.sign_status AS signStatus," +
|
|
|
" m.receiver_name AS receiverName," +
|
|
|
" m.sender_photo AS senderPhoto," +
|
|
|
" m.sender_name AS senderName," +
|
|
|
" m.reason," +
|
|
|
" m.sex," +
|
|
|
" m.relation_code AS relationCode," +
|
|
|
" m.create_time AS createTime " +
|
|
|
" FROM wlyy_message m " +
|
|
|
" WHERE m.receiver ='"+doctor+"' " +
|
|
|
" AND m.over = '1' " +
|
|
|
" AND m.has_read =1 " +
|
|
|
" AND m.type IN (1,101) ";
|
|
|
if (id > 0) {
|
|
|
sql +=" AND id >"+id;
|
|
|
}
|
|
|
sql += " ORDER BY m.id DESC LIMIT 0,"+pagesize;
|
|
|
List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 查询已签约总数
|
|
|
*
|
|
@ -3261,7 +3342,8 @@ public class FamilyContractService extends BaseService {
|
|
|
" sp.id labelid, " +
|
|
|
" CASE WHEN sp.label_name is null THEN '未标注' WHEN sp.label_name='' THEN '未标注' else sp.label_name END labelname, " +
|
|
|
" sp.label_type labeltype, " +
|
|
|
" p.idcard idcard " +
|
|
|
" p.idcard idcard ," +
|
|
|
" p.openid" +
|
|
|
" FROM " +
|
|
|
" wlyy_sign_family sf " +
|
|
|
" JOIN wlyy_patient p ON sf.patient = p.CODE " +
|
|
@ -3964,8 +4046,13 @@ public class FamilyContractService extends BaseService {
|
|
|
" f.patient, " +
|
|
|
" f.sign_year, " +
|
|
|
" t.server_type AS serverType, " +
|
|
|
" t.server_type_name AS specialPopulation " +
|
|
|
"FROM " +
|
|
|
" t.server_type_name AS specialPopulation," +
|
|
|
" p.name," +
|
|
|
" p.sex," +
|
|
|
" IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age," +
|
|
|
" p.photo," +
|
|
|
" CASE WHEN p.openid is null THEN '0' WHEN p.openid='' THEN '0' else 1 END hasopenid" +
|
|
|
" FROM " +
|
|
|
" wlyy_sign_family_server t, " +
|
|
|
" ( " +
|
|
|
" SELECT " +
|
|
@ -3978,9 +4065,11 @@ public class FamilyContractService extends BaseService {
|
|
|
" s.`status` >= 0 " +
|
|
|
" AND s.admin_team_code = " + teamCode +
|
|
|
" AND s.doctor_health IS NULL " +
|
|
|
" ) f " +
|
|
|
"WHERE " +
|
|
|
" t.sign_code = f. CODE ";
|
|
|
" ) f," +
|
|
|
" wlyy_patient p " +
|
|
|
" WHERE " +
|
|
|
" t.sign_code = f. CODE AND " +
|
|
|
" p.code = f.patient ";
|
|
|
List<Map<String, Object>> patientList = jdbcTemplate.queryForList(patientSql);
|
|
|
String totalSql = " SELECT " +
|
|
|
" s.patient" +
|
|
@ -4000,19 +4089,17 @@ public class FamilyContractService extends BaseService {
|
|
|
if (patientList != null) {
|
|
|
for (Map<String, Object> map : serlist) {
|
|
|
String labelCode = (String) map.get("labelCode");
|
|
|
List<Map<String, String>> codes = new ArrayList<>();
|
|
|
List<Map<String, Object>> codes = new ArrayList<>();
|
|
|
Iterator iterator = patientList.iterator();
|
|
|
while (iterator.hasNext()) {
|
|
|
Map<String, Object> p = (Map<String, Object>) iterator.next();
|
|
|
String serverType = p.get("serverType") == null ? "" : ((String) p.get("serverType"));
|
|
|
if (labelCode.equals(serverType)) {
|
|
|
Map<String, String> code = new HashMap<>();
|
|
|
code.put("code", (String) p.get("patient"));
|
|
|
codes.add(code);
|
|
|
codes.add(p);
|
|
|
iterator.remove();
|
|
|
}
|
|
|
}
|
|
|
map.put("codes", codes);
|
|
|
map.put("ps", codes);
|
|
|
map.put("number", (codes != null && codes.size() > 0) ? codes.size() : 0);
|
|
|
}
|
|
|
}
|
|
@ -4024,9 +4111,14 @@ public class FamilyContractService extends BaseService {
|
|
|
|
|
|
public JSONObject getCountryPatientList(Long teamCode) {
|
|
|
String totalSql = " SELECT " +
|
|
|
" s.patient,ifnull(s.sick_village,0) as labelCode" +
|
|
|
" s.patient,ifnull(s.sick_village,0) as labelCode," +
|
|
|
" p.name," +
|
|
|
" p.sex," +
|
|
|
" IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age," +
|
|
|
" p.photo," +
|
|
|
" CASE WHEN p.openid is null THEN '0' WHEN p.openid='' THEN '0' else 1 END hasopenid " +
|
|
|
" FROM " +
|
|
|
" wlyy_sign_family s " +
|
|
|
" wlyy_sign_family s JOIN wlyy_patient p ON p.code = s.patient" +
|
|
|
" WHERE " +
|
|
|
" s.`status` >= 0 " +
|
|
|
" AND s.admin_team_code = ? " +
|
|
@ -4054,19 +4146,17 @@ public class FamilyContractService extends BaseService {
|
|
|
for (Map<String, Object> map : patientList) {
|
|
|
String labelCode = (String) map.get("labelCode");
|
|
|
if (StringUtils.isNotBlank(labelCode)) {
|
|
|
List<Map<String, String>> codes = new ArrayList<>();
|
|
|
List<Map<String, Object>> codes = new ArrayList<>();
|
|
|
Iterator iterator = totalList.iterator();
|
|
|
while (iterator.hasNext()) {
|
|
|
Map<String, Object> p = (Map<String, Object>) iterator.next();
|
|
|
String lbCode = p.get("labelCode") == null ? "" : ((String) p.get("labelCode"));
|
|
|
if (labelCode.equals(lbCode)) {
|
|
|
Map<String, String> code = new HashMap<>();
|
|
|
code.put("code", (String) p.get("patient"));
|
|
|
codes.add(code);
|
|
|
codes.add(p);
|
|
|
iterator.remove();
|
|
|
}
|
|
|
}
|
|
|
map.put("codes", codes);
|
|
|
map.put("ps", codes);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@ -4076,9 +4166,14 @@ public class FamilyContractService extends BaseService {
|
|
|
|
|
|
public JSONObject getTeamCountryPatientChangeDoctorList(Long teamCode, String level, String oldDoctorCode) {
|
|
|
String totalSql = " SELECT " +
|
|
|
" s.patient,ifnull(s.sick_village,0) as labelCode" +
|
|
|
" s.patient,ifnull(s.sick_village,0) as labelCode," +
|
|
|
" p.name," +
|
|
|
" p.sex," +
|
|
|
" IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age," +
|
|
|
" p.photo," +
|
|
|
" CASE WHEN p.openid is null THEN '0' WHEN p.openid='' THEN '0' else 1 END hasopenid" +
|
|
|
" FROM " +
|
|
|
" wlyy_sign_family s " +
|
|
|
" wlyy_sign_family s JOIN wlyy_patient p ON p.code = s.patient" +
|
|
|
" WHERE " +
|
|
|
" s.`status` >= 0 " +
|
|
|
" AND s.admin_team_code = ? ";
|
|
@ -4095,7 +4190,7 @@ public class FamilyContractService extends BaseService {
|
|
|
" f.sick_village_name AS label, " +
|
|
|
" COUNT(1) AS number " +
|
|
|
" FROM " +
|
|
|
" wlyy_sign_family f " +
|
|
|
" wlyy_sign_family f JOIN wlyy" +
|
|
|
" WHERE " +
|
|
|
" f.`status` >= 0 " +
|
|
|
" AND f.sick_village IS NOT NULL " +
|
|
@ -4114,19 +4209,17 @@ public class FamilyContractService extends BaseService {
|
|
|
for (Map<String, Object> map : patientList) {
|
|
|
String labelCode = (String) map.get("labelCode");
|
|
|
if (StringUtils.isNotBlank(labelCode)) {
|
|
|
List<Map<String, String>> codes = new ArrayList<>();
|
|
|
List<Map<String, Object>> codes = new ArrayList<>();
|
|
|
Iterator iterator = totalList.iterator();
|
|
|
while (iterator.hasNext()) {
|
|
|
Map<String, Object> p = (Map<String, Object>) iterator.next();
|
|
|
String lbCode = p.get("labelCode") == null ? "" : ((String) p.get("labelCode"));
|
|
|
if (labelCode.equals(lbCode)) {
|
|
|
Map<String, String> code = new HashMap<>();
|
|
|
code.put("code", (String) p.get("patient"));
|
|
|
codes.add(code);
|
|
|
codes.add(p);
|
|
|
iterator.remove();
|
|
|
}
|
|
|
}
|
|
|
map.put("codes", codes);
|
|
|
map.put("ps", codes);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@ -4148,7 +4241,12 @@ public class FamilyContractService extends BaseService {
|
|
|
String patientSql = "SELECT " +
|
|
|
" f.patient, " +
|
|
|
" s.server_type AS serverType, " +
|
|
|
" s.server_type_name AS serverTypeName " +
|
|
|
" s.server_type_name AS serverTypeName, " +
|
|
|
" p.name," +
|
|
|
" p.sex," +
|
|
|
" IFNULL(year( from_days( datediff( now(), p.birthday))),'未知') age," +
|
|
|
" p.photo," +
|
|
|
" CASE WHEN p.openid is null THEN '0' WHEN p.openid='' THEN '0' else 1 END hasopenid " +
|
|
|
" FROM " +
|
|
|
" wlyy_sign_family_server s, " +
|
|
|
"( " +
|
|
@ -4166,7 +4264,7 @@ public class FamilyContractService extends BaseService {
|
|
|
} else {
|
|
|
patientSql = patientSql + " AND s.doctor_health ='" + oldDoctorCode + "'";
|
|
|
}
|
|
|
patientSql = patientSql + " ) f WHERE f.`code` =s.sign_code";
|
|
|
patientSql = patientSql + " ) f,wlyy_patient p WHERE f.`code` =s.sign_code AND p.code = f.patient";
|
|
|
|
|
|
List<Map<String, Object>> patientList = jdbcTemplate.queryForList(patientSql);
|
|
|
String totalSql = " SELECT " +
|
|
@ -4192,19 +4290,17 @@ public class FamilyContractService extends BaseService {
|
|
|
if (patientList != null) {
|
|
|
for (Map<String, Object> map : serlist) {
|
|
|
String labelCode = (String) map.get("labelCode");
|
|
|
List<Map<String, String>> codes = new ArrayList<>();
|
|
|
List<Map<String, Object>> codes = new ArrayList<>();
|
|
|
Iterator iterator = patientList.iterator();
|
|
|
while (iterator.hasNext()) {
|
|
|
Map<String, Object> p = (Map<String, Object>) iterator.next();
|
|
|
String serverType = p.get("serverType") == null ? "" : ((String) p.get("serverType"));
|
|
|
if (labelCode.equals(serverType)) {
|
|
|
Map<String, String> code = new HashMap<>();
|
|
|
code.put("code", (String) p.get("patient"));
|
|
|
codes.add(code);
|
|
|
codes.add(p);
|
|
|
iterator.remove();
|
|
|
}
|
|
|
}
|
|
|
map.put("codes", codes);
|
|
|
map.put("ps", codes);
|
|
|
map.put("number", (codes != null && codes.size() > 0) ? codes.size() : 0);
|
|
|
}
|
|
|
}
|