|
@ -106,6 +106,75 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
}
|
|
|
Patient patient = patientDao.findByCode(patientCode);
|
|
|
try{
|
|
|
//请求预建卡接口
|
|
|
String resp = jwMaternalChildService.getEhrMaternalPreFirstExamRecord(patient.getIdcard(),hospital);
|
|
|
JSONObject preJson = JSONObject.parseObject(resp);
|
|
|
JSONArray preData = null;
|
|
|
if(preJson.getInteger("status")==200){
|
|
|
preData = preJson.getJSONObject("data").getJSONArray("DATA");
|
|
|
if(preData!=null&&preData.size()>0){
|
|
|
for (int i=0;i<preData.size();i++){
|
|
|
JSONObject planJson = new JSONObject();
|
|
|
JSONObject pregnancy = preData.getJSONObject(i);
|
|
|
String PREGNANCY_NO = pregnancy.getString("PREGNANCY_NO");//智业产检号
|
|
|
String END_MANNER = pregnancy.getString("END_MANNER");//妊娠终止方式
|
|
|
String END_TIME = pregnancy.getString("END_TIME");//结束妊娠
|
|
|
String MENSES_LAST = pregnancy.getString("MENSES_LAST");//末次月经
|
|
|
Date dueday = DateUtil.getDueDate(DateUtil.strToDateLong(MENSES_LAST));//预产期
|
|
|
planJson.put("pregnancyNo",PREGNANCY_NO);
|
|
|
planJson.put("endManner",END_MANNER);
|
|
|
planJson.put("endTime",END_TIME);
|
|
|
planJson.put("mensesLast",MENSES_LAST);
|
|
|
planJson.put("expectedTime",DateUtil.dateToStrLong(dueday));
|
|
|
Date date = new Date();
|
|
|
|
|
|
List<PrenatalInspectorPlan> plans = prenatalInspectorPlanDao.findByPatient(patientCode);
|
|
|
if(plans==null||plans.size()==0){//判断是否已经生成产检记录
|
|
|
//预建卡还没产检,有产检就会生成产检记录,建卡接口就会有数据
|
|
|
Long days = DateUtil.getDays(dueday,date);
|
|
|
// days = days>365?0:days;//老早前的测试数据处理
|
|
|
List<PrenatalInspectorPlanLibrary> libraries = prenatalInspectorPlanLibraryDao.findByDays(days);
|
|
|
plans = new ArrayList<>();
|
|
|
PrenatalInspectorPlan plan = null;
|
|
|
for (PrenatalInspectorPlanLibrary library:libraries){
|
|
|
plan = new PrenatalInspectorPlan();
|
|
|
plan.setInspectionPhase(library.getInspectionPhase());
|
|
|
plan.setStatus("0");
|
|
|
plan.setPatient(patientCode);
|
|
|
plan.setCzrq(date);
|
|
|
plan.setDel("1");
|
|
|
plan.setCheckItem(library.getCheckItem());
|
|
|
// plan.setInspectionCode(PREGNANCY_NO);//产检号
|
|
|
plan.setInspectionTime(DateUtil.getPrenatalInspectorDate(dueday,-library.getEndDay().intValue()));
|
|
|
// plan.setInspectionEndTime(DateUtil.getPrenatalInspectorDate(lastMenstrualDate,library.getEndDay().intValue()));
|
|
|
// plan.setInspectionStartTime(DateUtil.getPrenatalInspectorDate(dueday,-library.getEndDay().intValue()));
|
|
|
plan.setName(library.getName());
|
|
|
plan.setThisFocus(library.getThisFocus());
|
|
|
plan.setThisNote(library.getThisNote());
|
|
|
|
|
|
plans.add(plan);
|
|
|
}
|
|
|
if (plans.size()>0){
|
|
|
prenatalInspectorPlanDao.save(plans);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//计算距离下次产检时间
|
|
|
Long nextExamDay = 0l;
|
|
|
for (PrenatalInspectorPlan plan:plans) {
|
|
|
Long temp = DateUtil.getDays(plan.getInspectionTime(),date);
|
|
|
if(nextExamDay==0||nextExamDay>temp){
|
|
|
nextExamDay = temp;
|
|
|
}
|
|
|
}
|
|
|
planJson.put("plans",plans);//待产检列表
|
|
|
planJson.put("nextExamDay",nextExamDay);//距离下次产检天数
|
|
|
planJson.put("precontractOrgName",null);//产床医院
|
|
|
re.add(planJson);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
String response = jwMaternalChildService.getEhrMaternalFirstExamRecord(patient.getIdcard(),hospital);
|
|
|
JSONObject json = JSONObject.parseObject(response);
|
|
|
JSONArray data = null;
|
|
@ -203,76 +272,8 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
}
|
|
|
re.add(planJson);
|
|
|
}
|
|
|
}else{
|
|
|
//没有建卡信息,请求预建卡接口
|
|
|
response = jwMaternalChildService.getEhrMaternalPreFirstExamRecord(patient.getIdcard(),hospital);
|
|
|
JSONObject preJson = JSONObject.parseObject(response);
|
|
|
JSONArray preData = null;
|
|
|
if(preJson.getInteger("status")==200){
|
|
|
preData = preJson.getJSONObject("data").getJSONArray("DATA");
|
|
|
if(preData!=null&&preData.size()>0){
|
|
|
for (int i=0;i<preData.size();i++){
|
|
|
JSONObject planJson = new JSONObject();
|
|
|
JSONObject pregnancy = preData.getJSONObject(i);
|
|
|
String PREGNANCY_NO = pregnancy.getString("PREGNANCY_NO");//智业产检号
|
|
|
String END_MANNER = pregnancy.getString("END_MANNER");//妊娠终止方式
|
|
|
String END_TIME = pregnancy.getString("END_TIME");//结束妊娠
|
|
|
String MENSES_LAST = pregnancy.getString("MENSES_LAST");//末次月经
|
|
|
Date dueday = DateUtil.getDueDate(DateUtil.strToDateLong(MENSES_LAST));//预产期
|
|
|
planJson.put("pregnancyNo",PREGNANCY_NO);
|
|
|
planJson.put("endManner",END_MANNER);
|
|
|
planJson.put("endTime",END_TIME);
|
|
|
planJson.put("mensesLast",MENSES_LAST);
|
|
|
planJson.put("expectedTime",DateUtil.dateToStrLong(dueday));
|
|
|
Date date = new Date();
|
|
|
|
|
|
List<PrenatalInspectorPlan> plans = prenatalInspectorPlanDao.findByPatient(patientCode);
|
|
|
if(plans==null||plans.size()==0){//判断是否已经生成产检记录
|
|
|
//预建卡还没产检,有产检就会生成产检记录,建卡接口就会有数据
|
|
|
Long days = DateUtil.getDays(dueday,date);
|
|
|
// days = days>365?0:days;//老早前的测试数据处理
|
|
|
List<PrenatalInspectorPlanLibrary> libraries = prenatalInspectorPlanLibraryDao.findByDays(days);
|
|
|
plans = new ArrayList<>();
|
|
|
PrenatalInspectorPlan plan = null;
|
|
|
for (PrenatalInspectorPlanLibrary library:libraries){
|
|
|
plan = new PrenatalInspectorPlan();
|
|
|
plan.setInspectionPhase(library.getInspectionPhase());
|
|
|
plan.setStatus("0");
|
|
|
plan.setPatient(patientCode);
|
|
|
plan.setCzrq(date);
|
|
|
plan.setDel("1");
|
|
|
plan.setCheckItem(library.getCheckItem());
|
|
|
// plan.setInspectionCode(PREGNANCY_NO);//产检号
|
|
|
plan.setInspectionTime(DateUtil.getPrenatalInspectorDate(dueday,-library.getEndDay().intValue()));
|
|
|
// plan.setInspectionEndTime(DateUtil.getPrenatalInspectorDate(lastMenstrualDate,library.getEndDay().intValue()));
|
|
|
// plan.setInspectionStartTime(DateUtil.getPrenatalInspectorDate(dueday,-library.getEndDay().intValue()));
|
|
|
plan.setName(library.getName());
|
|
|
plan.setThisFocus(library.getThisFocus());
|
|
|
plan.setThisNote(library.getThisNote());
|
|
|
|
|
|
plans.add(plan);
|
|
|
}
|
|
|
if (plans.size()>0){
|
|
|
prenatalInspectorPlanDao.save(plans);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//计算距离下次产检时间
|
|
|
Long nextExamDay = 0l;
|
|
|
for (PrenatalInspectorPlan plan:plans) {
|
|
|
Long temp = DateUtil.getDays(plan.getInspectionTime(),date);
|
|
|
if(nextExamDay==0||nextExamDay>temp){
|
|
|
nextExamDay = temp;
|
|
|
}
|
|
|
}
|
|
|
planJson.put("plans",plans);//待产检列表
|
|
|
planJson.put("nextExamDay",nextExamDay);//距离下次产检天数
|
|
|
planJson.put("precontractOrgName",null);//产床医院
|
|
|
re.add(planJson);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
}
|
|
@ -538,6 +539,24 @@ public class PrenatalInspectorPreCardService extends BaseService {
|
|
|
if(signFamily==null){
|
|
|
return "-1";
|
|
|
}
|
|
|
|
|
|
//判断是否有预建卡
|
|
|
try {
|
|
|
String resp = jwMaternalChildService.getEhrMaternalPreFirstExamRecord(preCard.getIdcard(),signFamily.getHospital());
|
|
|
JSONObject preJson = JSONObject.parseObject(resp);
|
|
|
JSONArray preData = null;
|
|
|
if(preJson.getInteger("status")==200){
|
|
|
preData = preJson.getJSONObject("data").getJSONArray("DATA");
|
|
|
if(preData!=null&&preData.size()>0){
|
|
|
return "-2";
|
|
|
}
|
|
|
}
|
|
|
}catch (Exception e){
|
|
|
e.printStackTrace();
|
|
|
return "-3";
|
|
|
}
|
|
|
|
|
|
|
|
|
//获取团队长
|
|
|
Doctor doctor = doctorDao.findByAdminTeamId(signFamily.getAdminTeamId());
|
|
|
preCard.setDoctor(doctor.getCode());
|