diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java index dca8d92..8cb0e65 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/AntExRecordService.java @@ -227,8 +227,10 @@ public class AntExRecordService { if (null != patients) { if (patients.getType() == 1) { antExRecordModel.setStatus(2); + antExRecordModel.setDueStatus(2); } else { antExRecordModel.setStatus(1); + antExRecordModel.setDueStatus(1); } antExRecordModel.setcDay(DateUtil.daysBetween(patients.getLastMenses(),antEx.getCheckDate())); antExRecordModel.setCardNo(patients.getCardNo()); diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java index 535ed8e..2297c73 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/AntExRecordModel.java @@ -50,8 +50,12 @@ public class AntExRecordModel extends BaseModel { private String hospitalId; //手机号 private String phone; - //状态 1 已分娩 2未分娩 + //在添加产检时候的状态 1 已分娩 2未分娩 private int status; + + //当前孕妇状态 1 已分娩 2未分娩 + private int dueStatus; + //类型 1 复诊 2 初诊 private Integer type; //产检医生 @@ -112,6 +116,14 @@ public class AntExRecordModel extends BaseModel { //处理意见 private String treatOpinion; + public int getDueStatus() { + return dueStatus; + } + + public void setDueStatus(int dueStatus) { + this.dueStatus = dueStatus; + } + public String getZyzlState() { return zyzlState; } diff --git a/platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java index 23995b3..a57fcf3 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/AntExRecordQuery.java @@ -343,6 +343,7 @@ public class AntExRecordQuery extends BaseQuery implements IConvertToNativeQuery private List hospitalList; //孕妇状态 private Integer status; + private Integer dueStatus; private String levelId; //无标记高危因素查询 private List noLeveId; @@ -356,6 +357,14 @@ public class AntExRecordQuery extends BaseQuery implements IConvertToNativeQuery private List rFactorList; + public Integer getDueStatus() { + return dueStatus; + } + + public void setDueStatus(Integer dueStatus) { + this.dueStatus = dueStatus; + } + public List getNoLeveId() { return noLeveId; } @@ -643,6 +652,9 @@ public class AntExRecordQuery extends BaseQuery implements IConvertToNativeQuery if (null != status) { condition = condition.and("status", status, MongoOper.IS); } + if (null != dueStatus) { + condition = condition.and("dueStatus", dueStatus, MongoOper.IS); + } if (StringUtils.isNotEmpty(cId)) { condition = condition.and("checkDoctor", cId, MongoOper.IS); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java index 3484ebb..eca1643 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/TestController.java @@ -16,6 +16,7 @@ import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.SieveStatusEnums; import com.lyms.platform.common.enums.YnEnums; +import com.lyms.platform.common.result.BaseListResponse; import com.lyms.platform.common.result.BaseObjectResponse; import com.lyms.platform.common.result.BaseResponse; import com.lyms.platform.common.utils.*; @@ -864,6 +865,9 @@ public class TestController extends BaseController { } + + + @RequestMapping(value = "/rebuildDefaultRoles", method = RequestMethod.GET) @ResponseBody public String rebuildDefaultRoles() { @@ -4309,4 +4313,63 @@ public class TestController extends BaseController { return checkup.getNumCode()+""; } + + + @RequestMapping(value = "/updateAntExRecordModelDueStatus", method = RequestMethod.GET) + @ResponseBody + public String updateAntExRecordModelDueStatus(@RequestParam(required = false) String hospitalId) { + + OrganizationQuery organizationQuery = new OrganizationQuery(); + organizationQuery.setYn(YnEnums.YES.getId()); + if (StringUtils.isNotEmpty(hospitalId)) { + organizationQuery.setId(Integer.parseInt(hospitalId)); + } + List organizationList = organizationService.queryOrganization(organizationQuery); + + for (Organization org : organizationList) + { + System.out.println(org.getId()+org.getName()); + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); + antExRecordQuery.setHospitalId(org.getId()+""); + List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery); + if (CollectionUtils.isNotEmpty(antExRecordModelList)) { + int batchSize = 5000; + int end = 0; + for (int i = 0; i < antExRecordModelList.size(); i += batchSize) { + end = (end + batchSize); + if (end > antExRecordModelList.size()) { + end = antExRecordModelList.size(); + } + System.out.println("start:" + i + ",end:" + end); + final List tempList = antExRecordModelList.subList(i, end); + + new Thread(new Runnable() { + @Override + public void run() { + if (CollectionUtils.isNotEmpty(tempList)) { + for (AntExRecordModel antExRecordModel : tempList) { + if (StringUtils.isNotEmpty(antExRecordModel.getParentId())) { + Patients pats = patientsService.findOnePatientById(antExRecordModel.getParentId()); + if (pats != null) + { + if (pats.getType() != null && pats.getType() == 3) + { + AntExRecordModel dbmodel = new AntExRecordModel(); + dbmodel.setDueStatus(1); + dbmodel.setId(antExRecordModel.getId()); + recordService.updateOne(dbmodel, antExRecordModel.getId()); + System.out.println(antExRecordModel.getId()); + } + } + } + } + } + + } + }).start(); + } + } + } + return "updateAntExRecordModelDueStatus finish"; + } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java index 4c02eef..af18eec 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntExRecordFacade.java @@ -122,7 +122,7 @@ public class AntExRecordFacade { AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); - antExRecordQuery.setStatus(antExManagerQueryRequest.getDeuStatus()); + antExRecordQuery.setDueStatus(antExManagerQueryRequest.getDeuStatus()); antExRecordQuery.setZyzlState(antExManagerQueryRequest.getZyzlState()); antExRecordQuery.setZywzzlState(antExManagerQueryRequest.getZywzzlState()); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java index 046019b..4ad642c 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/MatDeliverFacade.java @@ -697,45 +697,69 @@ public class MatDeliverFacade { }).start(); } - + @Autowired + private AntExRecordService recordService; /** * 分娩添加或更新追访信息 * * @param userId */ - public void addTrackDownInfo(Integer userId, Patients patients) { - //添加产后追访信息 - int day = DateUtil.daysBetween(patients.getFmDate(), new Date()); - if (day <= 60) {//产后60天内,可做产后访视或产后复查环节 - if (null != patients) { - TrackDownRecord trackDownRecord = patients.build(); - trackDownRecord.setTrackType(TrackDownDateEnums.F.getId()); - if (patients.getDueStatus() == 1) {//终止妊娠 - //当前孕妇是孕28周后,进入产后复查追访,否则结束流程 - int dueWeek = DateUtil.getWeek2(patients.getLastMenses(), patients.getFmDate()); - - if (dueWeek >= 28) {//进入产后复查 - trackDownRecord.setTrackType(TrackDownDateEnums.J.getId()); - } else {//结束流程 - trackDownRecord.setStatus(0); + public void addTrackDownInfo(Integer userId,final Patients patients) { + commonThreadPool.execute(new Runnable() { + @Override + public void run() { + + AntExRecordQuery antExRecordQuery = new AntExRecordQuery(); + antExRecordQuery.setPid(patients.getPid()); + antExRecordQuery.setDueStatus(2); + List antExRecordModelList = recordService.queryAntExRecords(antExRecordQuery); + + if (antExRecordModelList != null) + { + for (AntExRecordModel model : antExRecordModelList) + { + AntExRecordModel dbmodel = new AntExRecordModel(); + dbmodel.setDueStatus(1); + dbmodel.setId(model.getId()); + recordService.updateOne(dbmodel, model.getId()); } + } - //查询是否存在追访记录,如果有则修改,没有则新增 - TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); - downRecordQuery.setParentId(patients.getId()); - downRecordQuery.setStatus(3); - List records = trackDownRecordService.queryTrackDown(downRecordQuery); - logger.info("CHTrackDownDataLoader addTrackDown by id :" + patients.getId()); - if (CollectionUtils.isNotEmpty(records)) { - TrackDownRecord track = records.get(0); - trackDownRecord.setId(track.getId()); - } - if (day > 42) {//不需要做产后访视追访记录,只做产后复查追访 - trackDownRecord.setTrackType(TrackDownDateEnums.J.getId()); + //添加产后追访信息 + int day = DateUtil.daysBetween(patients.getFmDate(), new Date()); + if (day <= 60) {//产后60天内,可做产后访视或产后复查环节 + if (null != patients) { + TrackDownRecord trackDownRecord = patients.build(); + trackDownRecord.setTrackType(TrackDownDateEnums.F.getId()); + if (patients.getDueStatus() == 1) {//终止妊娠 + //当前孕妇是孕28周后,进入产后复查追访,否则结束流程 + int dueWeek = DateUtil.getWeek2(patients.getLastMenses(), patients.getFmDate()); + + if (dueWeek >= 28) {//进入产后复查 + trackDownRecord.setTrackType(TrackDownDateEnums.J.getId()); + } else {//结束流程 + trackDownRecord.setStatus(0); + } + } + //查询是否存在追访记录,如果有则修改,没有则新增 + TrackDownRecordQuery downRecordQuery = new TrackDownRecordQuery(); + downRecordQuery.setParentId(patients.getId()); + downRecordQuery.setStatus(3); + List records = trackDownRecordService.queryTrackDown(downRecordQuery); + logger.info("CHTrackDownDataLoader addTrackDown by id :" + patients.getId()); + if (CollectionUtils.isNotEmpty(records)) { + TrackDownRecord track = records.get(0); + trackDownRecord.setId(track.getId()); + } + if (day > 42) {//不需要做产后访视追访记录,只做产后复查追访 + trackDownRecord.setTrackType(TrackDownDateEnums.J.getId()); + } + trackDownService.addOrupdateTrackDownRecord(patients.getOperator(), trackDownRecord); + } } - trackDownService.addOrupdateTrackDownRecord(patients.getOperator(), trackDownRecord); } - } + }); + } /**