diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/PatientWeight.java b/platform-dal/src/main/java/com/lyms/platform/pojo/PatientWeight.java index 49f2985..e0164e0 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/PatientWeight.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/PatientWeight.java @@ -10,7 +10,7 @@ import java.util.*; /** * 孕产妇体重管理 */ -@Document(collection="lyms_patient_weight") +@Document(collection = "lyms_patient_weight") public class PatientWeight extends BaseModel { @Transient @@ -130,6 +130,18 @@ public class PatientWeight extends BaseModel { //0 未推送 1已经推送 private Integer sevenSend; + //打印时间 + private Date printingTime; + + + public Date getPrintingTime() { + return printingTime; + } + + public void setPrintingTime(Date printingTime) { + this.printingTime = printingTime; + } + public Integer getExceptionSend() { return exceptionSend; } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryWeightModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryWeightModel.java index 963c401..39482ea 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryWeightModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/TemporaryWeightModel.java @@ -33,6 +33,16 @@ public class TemporaryWeightModel extends BaseModel { private String temporaryUserId; + private Date printingTime; + + public Date getPrintingTime() { + return printingTime; + } + + public void setPrintingTime(Date printingTime) { + this.printingTime = printingTime; + } + // 存储 key=年月日 value=时间+医院+体重 private List> dayWeights2 = new ArrayList<>(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java index 06aed45..c641db7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TrackDownController.java @@ -84,8 +84,8 @@ public class TrackDownController extends BaseController { @ResponseBody @TokenRequired @RequestMapping(value = "/all", method = RequestMethod.GET) - public BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer type, @RequestParam Integer page, @RequestParam Integer limit, HttpServletRequest request) { - return trackDownService.all(buildStart, buildEnd, checkStart, checkEnd, fmStart, fmEnd, key, page, limit, getUserId(request), type); + public BaseResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer type, @RequestParam Integer page, @RequestParam Integer limit, HttpServletRequest request, Integer check) { + return trackDownService.all(buildStart, buildEnd, checkStart, checkEnd, fmStart, fmEnd, key, page, limit, getUserId(request), type, check); } @ResponseBody @@ -111,6 +111,7 @@ public class TrackDownController extends BaseController { /** * 手动执行自动任务 + * * @return */ @ResponseBody diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java index 08467d2..772c84a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyNutritionFacade.java @@ -1308,6 +1308,12 @@ public class BabyNutritionFacade { Organization org = organizationService.getOrganization(Integer.parseInt(hospitalId)); map.put("hospitalName", org.getName()); map.put("reportMonthAge", StringUtils.emptyDeal(DateUtil.getBabyMonthAge(baby.getBirth(), model.getNutritiTime()))); + //体重评价 + String weightEvaluate = babyCheckFacade.getGrowthValue(DateUtil.getyyyy_MM_dd(baby.getBirth()), model.getWeight(), baby.getSex(), null, null, DateUtil.getyyyy_MM_dd(baby.getCreated())); + map.put("weightEvaluate", weightEvaluate); + //身高评价 + String heightEvaluate = babyCheckFacade.getGrowthValue1(DateUtil.getyyyy_MM_dd(baby.getBirth()), model.getHeight(), baby.getSex(), 1, null, DateUtil.getyyyy_MM_dd(baby.getCreated())); + map.put("heightEvaluate", heightEvaluate); int month = DateUtil.getMonth(baby.getBirth(), model.getNutritiTime()); if (month > 36) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java index a4981eb..91bb49f 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java @@ -14,7 +14,7 @@ import java.util.Date; * @version BME V100R001 2018-01-17 17:05 * @since BME V100R001C40B104 */ -public class TrackDownQueryRequest extends BasePageQueryRequest{ +public class TrackDownQueryRequest extends BasePageQueryRequest { private String provinceId; private String cityId; private String areaId; @@ -46,6 +46,70 @@ public class TrackDownQueryRequest extends BasePageQueryRequest{ //开始预产期 private Date endDueDate; + /** + * 新加查询条件 + */ + //追访日期 + private Date startChaseVisit; + private Date endChaseVisit; + + //逾期天数 + private Integer startBeOverdue; + private Integer endBeOverdue; + //流程状态 + private Integer processState; + //追访方式 + private Integer ChaseVisitMode; + + + public Date getStartChaseVisit() { + return startChaseVisit; + } + + public void setStartChaseVisit(Date startChaseVisit) { + this.startChaseVisit = startChaseVisit; + } + + public Date getEndChaseVisit() { + return endChaseVisit; + } + + public void setEndChaseVisit(Date endChaseVisit) { + this.endChaseVisit = endChaseVisit; + } + + public Integer getStartBeOverdue() { + return startBeOverdue; + } + + public void setStartBeOverdue(Integer startBeOverdue) { + this.startBeOverdue = startBeOverdue; + } + + public Integer getEndBeOverdue() { + return endBeOverdue; + } + + public void setEndBeOverdue(Integer endBeOverdue) { + this.endBeOverdue = endBeOverdue; + } + + public Integer getProcessState() { + return processState; + } + + public void setProcessState(Integer processState) { + this.processState = processState; + } + + public Integer getChaseVisitMode() { + return ChaseVisitMode; + } + + public void setChaseVisitMode(Integer chaseVisitMode) { + ChaseVisitMode = chaseVisitMode; + } + public String getCheckDoctor() { return checkDoctor; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java index 13675f3..295fbc0 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/ITrackDownService.java @@ -8,17 +8,17 @@ import com.lyms.platform.pojo.TrackDownRecord; import javax.servlet.http.HttpServletResponse; import java.util.Date; -public interface ITrackDownService extends IBaseService { +public interface ITrackDownService extends IBaseService { //新增或更新追访状态 - boolean addOrupdateTrackDownRecord(Integer userId,TrackDownRecord trackDownRecord); + boolean addOrupdateTrackDownRecord(Integer userId, TrackDownRecord trackDownRecord); BaseResponse add(Integer userId, TrackDown trackDown); BaseObjectResponse list(String provinceId, String cityId, String areaId, String streetId, String key, Integer trackType, Integer page, Integer limit, Integer userId); - BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId,Integer type); + BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type, Integer check); - BaseObjectResponse info(String patientId, Integer trackType,Integer buildType); + BaseObjectResponse info(String patientId, Integer trackType, Integer buildType); BaseObjectResponse init(); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java index bd327dd..fbffd97 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PatientWeightServiceImpl.java @@ -362,6 +362,16 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient } else { map.put("isShow", false); } + if (null != patientWeight.getPrintingTime()) { + int hasPrint = DateUtil.getDays(patientWeight.getPrintingTime(), new Date()); + if (hasPrint > 7) { + map.put("hasPrintInWeek", false); + } else { + map.put("hasPrintInWeek", true); + } + } else { + map.put("hasPrintInWeek", false); + } setReport(map, weights, patientWeight.getBeforeWeight(), patientWeight.getBmi(), patientWeight.getDayWeights(), patientWeight.getBregmatic()); @@ -653,7 +663,7 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient setYYZN(map, ComputeKulServiceManager.getPatientGuideMap().get(rid + nsArea)); } - map.put("state",kmap.get("status")); + map.put("state", kmap.get("status")); } } @@ -673,6 +683,10 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient String doctorId = getDoctorId(dayWeights2); healthChargeFacade.addHealthCharge(hospitalId, 1, patientWeight.getPatientId(), 1, 1, userId, doctorId, false); + PatientWeight patientWeight1 = new PatientWeight(); + patientWeight1.setPrintingTime(new Date()); + patientWeightService2.update(Query.query(Criteria.where("_id").is(id)), patientWeight1); + return RespBuilder.buildSuccess(map); } return RespBuilder.buildSuccess(); @@ -2161,6 +2175,10 @@ public class PatientWeightServiceImpl extends BaseServiceImpl implements Patient } } healthChargeFacade.addHealthCharge(patientWeight.getHospitalId(), 1, patientWeight.getPatientId(), 2, 1, userId, doctorId, false); + + PatientWeight patientWeight1 = new PatientWeight(); + patientWeight1.setPrintingTime(new Date()); + patientWeightService2.update(Query.query(Criteria.where("_id").is(pid)), patientWeight1); return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(this.getFirstOrNull(datas)); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryWeightServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryWeightServiceImpl.java index c0f3cc4..6babcb8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryWeightServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TemporaryWeightServiceImpl.java @@ -369,6 +369,18 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo } else { map.put("isShow", false); } + //限制一周能打印 + if (null != template.getPrintingTime()) { + int hasPrint = DateUtil.getDays(template.getPrintingTime(), new Date()); + if (hasPrint > 7) { + map.put("hasPrintInWeek", false); + } else { + map.put("hasPrintInWeek", true); + } + } else { + map.put("hasPrintInWeek", false); + } + patientWeightService.setReport(map, weights, temporaryUser.getBeforeWeight(), template.getBmi(), template.getDayWeights(), temporaryUser.getBregmatic()); //高危报告权限判断 @@ -490,8 +502,12 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo CollectionUtils.removeNullValue(map); List> dayWeights2 = temporaryWeight.getDayWeights2(); String doctorId = patientWeightService.getDoctorId(dayWeights2); - healthChargeFacade.addHealthCharge(hospitalId, 1, temporaryWeight.getTemporaryUserId(), 1, 2, userId, doctorId, false); + + TemporaryWeightModel patientWeight1 = new TemporaryWeightModel(); + patientWeight1.setPrintingTime(new Date()); + temporaryWeightDao.updateTemporaryWeight(Query.query(Criteria.where("_id").is(id)), patientWeight1); + return RespBuilder.buildSuccess(map); } return RespBuilder.buildSuccess(); @@ -838,6 +854,9 @@ public class TemporaryWeightServiceImpl extends BaseServiceImpl implements Tempo String doctorId = patientWeightService.getDoctorId(dayWeights2); healthChargeFacade.addHealthCharge(hospitalId, 1, temporary.getTemporaryUserId(), 2, 2, userId, doctorId, false); + TemporaryWeightModel patientWeight1 = new TemporaryWeightModel(); + patientWeight1.setPrintingTime(new Date()); + temporaryWeightDao.updateTemporaryWeight(Query.query(Criteria.where("_id").is(id)), patientWeight1); return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(this.getFirstOrNull(datas)); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java index bec4492..c7db24d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/TrackDownServiceImpl.java @@ -67,7 +67,7 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS * @return */ @Override - public BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type) { + public BaseObjectResponse all(Date buildStart, Date buildEnd, Date checkStart, Date checkEnd, Date fmStart, Date fmEnd, String key, Integer page, Integer limit, Integer userId, Integer type, Integer check) { String hospitalId = autoMatchFacade.getHospitalId(userId); List> restList = new ArrayList<>(); Integer archiveModelCount = 0; @@ -89,15 +89,39 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS // StopWatch stopWatch = new StopWatch("妇女建档主数据"); //优化前 // stopWatch.start("妇女建档优化前"); - restList = getResidentMainData(modelList); + if (null != check) { + List> checkList = getResidentMainData(modelList); + //婚检过 + if (check == 1) { + for (Map checkMap : checkList) { + if ((int) checkMap.get("check") == 1) { + restList.add(checkMap); + } + } + + } else if (check == 2) { + for (Map checkMap : checkList) { + if ((int) checkMap.get("check") == 2) { + restList.add(checkMap); + } + } + } + + } else { + restList = getResidentMainData(modelList); + } + + // stopWatch.stop(); //优化后 // stopWatch.start("妇女建档优化后"); // restList = dispResidentMainData(modelList,hospitalId); // stopWatch.stop(); - // archiveModelCount = query.getCount(); + archiveModelCount = query.getCount(); // // System.out.println(stopWatch.toString()); + + } else {//孕妇建档主数据 PatientsQuery patientsQuery = new PatientsQuery(); patientsQuery.setBookbuildingDateStart(checkStart); @@ -121,7 +145,7 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS // System.out.println(stopWatch.toString()); //优化后 stopWatch.start("孕妇建档优化后"); - restList = dispPatient(patientsList,hospitalId); + restList = dispPatient(patientsList, hospitalId); stopWatch.stop(); System.out.println(stopWatch.toString()); @@ -191,10 +215,10 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS trackDownRecord = records.get(0); } } - if(checkNum>0){ + if (checkNum > 0) { temp.put("check", 1); // 婚检 1=勾勾 2=叉叉 - }else{ - if (trackDownRecord!=null && trackDownRecord.getTrackType() > TrackDownDateEnums.A.getId()) { + } else { + if (trackDownRecord != null && trackDownRecord.getTrackType() > TrackDownDateEnums.A.getId()) { temp.put("check", checkNum > 0 ? 1 : 2); // 婚检 1=勾勾 2=叉叉 } } @@ -315,10 +339,10 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS } } - if(checkNum>0){ + if (checkNum > 0) { temp.put("check", 1); // 婚检 1=勾勾 2=叉叉 - }else{ - if (trackDownRecord!=null && trackDownRecord.getTrackType() > TrackDownDateEnums.A.getId()) { + } else { + if (trackDownRecord != null && trackDownRecord.getTrackType() > TrackDownDateEnums.A.getId()) { temp.put("check", checkNum > 0 ? 1 : 2); // 婚检 1=勾勾 2=叉叉 } } @@ -366,7 +390,7 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS /** 生产方式 */ temp.put("fmType", "自动分娩"); temp.put("fm", 2); // 分娩 1=勾勾 2=叉叉 - }else if(patient.getType() == 3){//可能本院分娩或外院分娩 + } else if (patient.getType() == 3) {//可能本院分娩或外院分娩 temp.put("fm", 2); // 默认外院分娩 } } @@ -385,13 +409,13 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS if (patient.getType() == 3) {//已经分娩,就是X temp.put("cqsc", 2);//产前筛查){ } else {//未分娩 - if(patient.getLastMenses()!=null){ + if (patient.getLastMenses() != null) { int week = DateUtil.getWeek2(patient.getLastMenses(), new Date()); if (week > 20) {//不能做产前筛查追访,产前检查追访 temp.put("cqsc", 2);//未做产筛 } - }else{ - System.out.println("没有末次月经的建档:"+patient.getId()); + } else { + System.out.println("没有末次月经的建档:" + patient.getId()); } } @@ -690,7 +714,7 @@ public class TrackDownServiceImpl extends BaseServiceImpl implements ITrackDownS TrackDownRecord trackDownRecord1 = trackDownRecordService.getTrackDown(trackDownRecord.getId()); if (trackDownRecord1 != null) { //流程只能往下流转,不能往上回退,,因为9,10,11,12,是后面加入的产筛转出流程所以不做判断 - if (trackDownRecord.getTrackType() != null && trackDownRecord1.getTrackType()!=8 && trackDownRecord1.getTrackType()!=9 && trackDownRecord1.getTrackType()!=10&&trackDownRecord1.getTrackType()!=11 && trackDownRecord.getTrackType() < trackDownRecord1.getTrackType().intValue()) { + if (trackDownRecord.getTrackType() != null && trackDownRecord1.getTrackType() != 8 && trackDownRecord1.getTrackType() != 9 && trackDownRecord1.getTrackType() != 10 && trackDownRecord1.getTrackType() != 11 && trackDownRecord.getTrackType() < trackDownRecord1.getTrackType().intValue()) { //用以前追访的类型和来源id trackDownRecord.setTrackType(trackDownRecord1.getTrackType()); trackDownRecord.setSource(trackDownRecord1.getSource());