|
@ -2,15 +2,18 @@ package com.yihu.wlyy.service.app.prenatalInspector;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.yihu.wlyy.entity.doctor.profile.Doctor;
|
|
|
import com.yihu.wlyy.entity.patient.Patient;
|
|
|
import com.yihu.wlyy.entity.patient.SignFamily;
|
|
|
import com.yihu.wlyy.entity.patient.prenatal.PrenatalInspectorPlan;
|
|
|
import com.yihu.wlyy.entity.patient.prenatal.PrenatalInspectorPlanLibrary;
|
|
|
import com.yihu.wlyy.entity.patient.prenatal.PrenatalInspectorPreCard;
|
|
|
import com.yihu.wlyy.repository.doctor.DoctorDao;
|
|
|
import com.yihu.wlyy.repository.patient.*;
|
|
|
import com.yihu.wlyy.service.BaseService;
|
|
|
import com.yihu.wlyy.service.app.sign.FamilyContractService;
|
|
|
import com.yihu.wlyy.service.third.jw.JwMaternalChildService;
|
|
|
import com.yihu.wlyy.service.third.jw.ZyDictService;
|
|
|
import com.yihu.wlyy.task.PushMsgTask;
|
|
|
import com.yihu.wlyy.util.DateUtil;
|
|
|
import com.yihu.wlyy.wechat.util.WeiXinAccessTokenUtils;
|
|
@ -22,6 +25,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* Created by yeshijie on 2017/6/6.
|
|
@ -48,6 +52,10 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
private JwMaternalChildService jwMaternalChildService;
|
|
|
@Autowired
|
|
|
private SignFamilyDao signFamilyDao;
|
|
|
@Autowired
|
|
|
private DoctorDao doctorDao;
|
|
|
@Autowired
|
|
|
private ZyDictService zyDictService;
|
|
|
|
|
|
// public
|
|
|
|
|
@ -95,8 +103,11 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
try{
|
|
|
String response = jwMaternalChildService.getEhrMaternalFirstExamRecord(patient.getIdcard(),hospital);
|
|
|
JSONObject json = JSONObject.parseObject(response);
|
|
|
JSONArray data = json.getJSONArray("DATA");
|
|
|
if(data.size()>0){
|
|
|
JSONArray data = null;
|
|
|
if(json.getInteger("status")==200){
|
|
|
data = json.getJSONObject("data").getJSONArray("DATA");
|
|
|
}
|
|
|
if(data!=null&&data.size()>0){
|
|
|
for (int i=0;i<data.size();i++) {
|
|
|
JSONObject planJson = new JSONObject();
|
|
|
JSONObject pregnancy = data.getJSONObject(i);
|
|
@ -126,6 +137,7 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
|
|
|
Date lastMenstrualDate = DateUtil.strToDate(MENSES_LAST);
|
|
|
Long days = DateUtil.getDays(date,lastMenstrualDate);
|
|
|
days = days>365?0:days;//老早前的测试数据处理
|
|
|
List<PrenatalInspectorPlanLibrary> libraries = prenatalInspectorPlanLibraryDao.findByDays(days);
|
|
|
plans = new ArrayList<>();
|
|
|
PrenatalInspectorPlan plan = null;
|
|
@ -175,8 +187,11 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
try {
|
|
|
String bedRecode = jwMaternalChildService.getEhrMaternalBedPrecontractRecord(patient.getIdcard(),hospital);
|
|
|
JSONObject bedJson = JSONObject.parseObject(bedRecode);
|
|
|
JSONArray bedData = bedJson.getJSONArray("DATA");
|
|
|
if(bedData.size()>0){
|
|
|
JSONArray bedData = null;
|
|
|
if(bedJson.getInteger("status")==200){
|
|
|
bedData = json.getJSONObject("data").getJSONArray("DATA");
|
|
|
}
|
|
|
if(bedData!=null&&bedData.size()>0){
|
|
|
JSONObject exam = data.getJSONObject(data.size()-1);
|
|
|
precontract_org_name = exam.getString("PRECONTRACT_ORG_NAME");
|
|
|
}
|
|
@ -185,6 +200,7 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
}
|
|
|
planJson.put("precontractOrgName",precontract_org_name);//产床医院
|
|
|
}
|
|
|
re.add(planJson);
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -200,7 +216,7 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
* @param patientCode
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONObject firstExam(String patientCode){
|
|
|
public JSONObject firstExam(String patientCode,String pregnancyNo){
|
|
|
JSONObject re = new JSONObject();
|
|
|
try {
|
|
|
SignFamily signFamily = signFamilyDao.findByPatient(patientCode);
|
|
@ -212,8 +228,17 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
|
|
|
String response = jwMaternalChildService.getEhrMaternalFirstExamRecord(patient.getIdcard(),hospital);
|
|
|
JSONObject json = JSONObject.parseObject(response);
|
|
|
if(json.getJSONArray("DATA").size()>0){
|
|
|
re = json.getJSONArray("DATA").getJSONObject(0);
|
|
|
JSONArray data = null;
|
|
|
if(json.getInteger("status")==200){
|
|
|
data = json.getJSONObject("data").getJSONArray("DATA");
|
|
|
}
|
|
|
if(data!=null&&data.size()>0){
|
|
|
for (int i=0;i<data.size();i++){
|
|
|
if(pregnancyNo.equals(data.getJSONObject(i).getString("PREGNANCY_NO"))){//判断是否同一个产检
|
|
|
re = data.getJSONObject(i);
|
|
|
return re;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
@ -226,8 +251,8 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
* @param patientCode
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONArray reExamRecode(String patientCode,String pregnancyNo){
|
|
|
JSONArray re = new JSONArray();
|
|
|
public String reExamRecode(String patientCode,String pregnancyNo){
|
|
|
String re = "";
|
|
|
try {
|
|
|
SignFamily signFamily = signFamilyDao.findByPatient(patientCode);
|
|
|
String hospital = null;
|
|
@ -237,8 +262,7 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
Patient patient = patientDao.findByCode(patientCode);
|
|
|
|
|
|
String response = jwMaternalChildService.getEhrMaternalReExamRecord(patient.getIdcard(),hospital,pregnancyNo);
|
|
|
JSONObject json = JSONObject.parseObject(response);
|
|
|
re = json.getJSONArray("DATA");
|
|
|
return response;
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@ -256,8 +280,11 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
try {
|
|
|
String response = jwMaternalChildService.getEhrMaternalReExamRecord(idcard,hospital,pregnancyNo);
|
|
|
JSONObject json = JSONObject.parseObject(response);
|
|
|
JSONArray data = json.getJSONArray("DATA");
|
|
|
if(data.size()>0){
|
|
|
JSONArray data = null;
|
|
|
if(json.getInteger("status")==200){
|
|
|
data = json.getJSONObject("data").getJSONArray("DATA");
|
|
|
}
|
|
|
if(data!=null&&data.size()>0){
|
|
|
JSONObject exam = data.getJSONObject(data.size()-1);
|
|
|
String PREGNANCY_WEEK = exam.getString("PREGNANCY_WEEK");//检查孕周
|
|
|
String examTime = exam.getString("EXAM_TIME");//产检日期
|
|
@ -280,8 +307,11 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
try {
|
|
|
String response = jwMaternalChildService.getEhrMaternalBedPrecontractRecord(idcard,hospital);
|
|
|
JSONObject json = JSONObject.parseObject(response);
|
|
|
JSONArray data = json.getJSONArray("DATA");
|
|
|
if(data.size()>0){
|
|
|
JSONArray data = null;
|
|
|
if(json.getInteger("status")==200){
|
|
|
data = json.getJSONObject("data").getJSONArray("DATA");
|
|
|
}
|
|
|
if(data!=null&&data.size()>0){
|
|
|
JSONObject exam = data.getJSONObject(data.size()-1);
|
|
|
String PREGNANCY_WEEK = exam.getString("PREGNANCY_WEEK");//检查孕周
|
|
|
String examTime = exam.getString("EXAM_TIME");//产检日期
|
|
@ -348,13 +378,44 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
return day%7;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 上传预建卡
|
|
|
* @param code
|
|
|
*/
|
|
|
public void uploadPreExam(String code){
|
|
|
try {
|
|
|
//上传预建卡
|
|
|
jwMaternalChildService.SaveEhrMaternalPreFirstExamRecord(code);
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 新建产检预建卡
|
|
|
*/
|
|
|
public void addPrenatalInspectorPreCard(PrenatalInspectorPreCard preCard){
|
|
|
@Transactional
|
|
|
public String addPrenatalInspectorPreCard(PrenatalInspectorPreCard preCard,String patientcCode){
|
|
|
|
|
|
SignFamily signFamily = signFamilyDao.findByPatient(patientcCode);
|
|
|
if(signFamily==null){
|
|
|
return "-1";
|
|
|
}
|
|
|
//获取团队长
|
|
|
Doctor doctor = doctorDao.findByAdminTeamId(signFamily.getAdminTeamId());
|
|
|
preCard.setDoctor(doctor.getCode());
|
|
|
preCard.setDoctorName(doctor.getName());
|
|
|
|
|
|
//保存智业的医生信息
|
|
|
Map<String,Object> map = zyDictService.findJwDoctorByDoctor(doctor.getCode());
|
|
|
if(map!=null){
|
|
|
preCard.setJwDoctor(map.get("jw_doctor").toString());
|
|
|
}
|
|
|
|
|
|
String re = "";
|
|
|
//1、保存预建卡
|
|
|
Date date = new Date();
|
|
|
Date lastMenstrualDate = preCard.getLastMenstrualDate();
|
|
|
// Date lastMenstrualDate = preCard.getLastMenstrualDate();
|
|
|
preCard.setDel("1");
|
|
|
preCard.setCode(getCode());
|
|
|
preCard.setCzrq(date);
|
|
@ -362,16 +423,18 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
preCard.setStatus("0");
|
|
|
preCard.setEffective("");
|
|
|
preCard.setInspectionPhase("1");//检查阶段
|
|
|
preCard.setUploadStatus("0");//未上传
|
|
|
prenatalInspectorPreCardDao.save(preCard);
|
|
|
// String patient = preCard.getPatient();
|
|
|
|
|
|
try {
|
|
|
//上传预建卡
|
|
|
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
//2.更新居民信息
|
|
|
// Patient p = patientDao.findByCode(patient);
|
|
|
// p.setName(preCard.getName());
|
|
|
// p.setSsc(preCard.getSsc());
|
|
|
// p.setBirthday(preCard.getBirthday());
|
|
|
// p.setMobile(preCard.getMobile());
|
|
|
|
|
|
String patient = preCard.getPatient();
|
|
|
return preCard.getCode();
|
|
|
|
|
|
//2、生成待产检计划(待产检计划由获取健康信息接口生成,关联产检计划)
|
|
|
// Long days = DateUtil.getDays(date,lastMenstrualDate);
|
|
@ -405,12 +468,7 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
// prenatalInspectorPlanDao.save(plans);
|
|
|
// }
|
|
|
|
|
|
//3.更新居民信息
|
|
|
// Patient p = patientDao.findByCode(patient);
|
|
|
// p.setName(preCard.getName());
|
|
|
// p.setSsc(preCard.getSsc());
|
|
|
// p.setBirthday(preCard.getBirthday());
|
|
|
// p.setMobile(preCard.getMobile());
|
|
|
|
|
|
|
|
|
}
|
|
|
|