diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPersonDao.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPersonDao.java index bce728a..df58902 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPersonDao.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/IPersonDao.java @@ -17,4 +17,6 @@ public interface IPersonDao { public void updatePerson(PersonModel obj, String id); List queryPersons(MongoQuery mongoQuery); + + int queryCount(MongoQuery query); } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PersonDaoImpl.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PersonDaoImpl.java index 84e1dc6..64c4205 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PersonDaoImpl.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/dal/impl/PersonDaoImpl.java @@ -1,13 +1,11 @@ package com.lyms.platform.biz.dal.impl; import com.lyms.platform.biz.dal.IPersonDao; -import com.lyms.platform.biz.dal.ISmsTemplateDao; import com.lyms.platform.common.dao.BaseMongoDAOImpl; import com.lyms.platform.common.dao.operator.MongoCondition; import com.lyms.platform.common.dao.operator.MongoOper; import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.pojo.PersonModel; -import com.lyms.platform.pojo.SmsTemplateModel; import org.springframework.stereotype.Repository; import java.util.List; @@ -29,4 +27,9 @@ public class PersonDaoImpl extends BaseMongoDAOImpl implements IPer public List queryPersons(MongoQuery mongoQuery) { return find(mongoQuery.convertToMongoQuery()); } + + @Override + public int queryCount(MongoQuery query) { + return (int)count(query.convertToMongoQuery()); + } } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MatDeliverService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MatDeliverService.java index 4ea2772..b79cf95 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MatDeliverService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/MatDeliverService.java @@ -40,6 +40,11 @@ public class MatDeliverService { public List query(MatDeliverQuery deliverQuery){ return iMatDeliverDao.queryWithList(deliverQuery.convertToQuery().addOrder(Sort.Direction.DESC, "created")); } + + public List query(MatDeliverQuery deliverQuery,Sort.Direction sort,String field){ + return iMatDeliverDao.queryWithList(deliverQuery.convertToQuery().addOrder(sort, field)); + } + public void deleteOne(String id){ iMatDeliverDao.deleteOne(id); } diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PersonService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PersonService.java index 42b587f..9e2b97f 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PersonService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PersonService.java @@ -2,8 +2,10 @@ package com.lyms.platform.biz.service; import com.lyms.platform.biz.dal.IPersonDao; +import com.lyms.platform.common.dao.operator.MongoQuery; import com.lyms.platform.pojo.PersonModel; import com.lyms.platform.query.PersonModelQuery; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -26,6 +28,13 @@ public class PersonService { public List queryPersons(PersonModelQuery personModelQuery) { + + MongoQuery query = personModelQuery.convertToQuery(); + if (StringUtils.isNotEmpty(personModelQuery.getNeed())) { + personModelQuery.mysqlBuild(personDao.queryCount(query)); + query.start(personModelQuery.getOffset()).end(personModelQuery.getLimit()); + } + return personDao.queryPersons(personModelQuery.convertToQuery()); } } diff --git a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java index 806d59a..5286926 100644 --- a/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java +++ b/platform-dal/src/main/java/com/lyms/platform/pojo/MaternalDeliverModel.java @@ -161,6 +161,26 @@ public class MaternalDeliverModel extends BaseModel { */ private Integer isClose; + private Integer fmAge; + + private List fmChildTimes; + + public Integer getFmAge() { + return fmAge; + } + + public void setFmAge(Integer fmAge) { + this.fmAge = fmAge; + } + + public List getFmChildTimes() { + return fmChildTimes; + } + + public void setFmChildTimes(List fmChildTimes) { + this.fmChildTimes = fmChildTimes; + } + public String getFsHospital() { return fsHospital; } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java index 627e14e..1ee78d2 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/RemoteController.java @@ -7,6 +7,7 @@ import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.common.constants.ErrorCodeConstants; 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.result.RespBuilder; @@ -141,7 +142,7 @@ public class RemoteController extends BaseController { @RequestMapping(value = "/queryTodayArchiveList", method = RequestMethod.GET) @ResponseBody @TokenRequired - public BaseObjectResponse queryTodayArchiveList(HttpServletRequest request, + public BaseListResponse queryTodayArchiveList(HttpServletRequest request, @RequestParam(required = false) Integer assistUserId, @RequestParam(required = false) String created, @RequestParam(required = false) Integer page, @@ -192,7 +193,7 @@ public class RemoteController extends BaseController { dataList.add(map); } } - return new BaseObjectResponse().setData(dataList).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + return new BaseListResponse().setData(dataList).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setPageInfo(query.getPageInfo()); } @RequestMapping(value = "/bookArchive",method = RequestMethod.POST) 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 1e1dac2..b3c8f38 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 @@ -1899,6 +1899,91 @@ public class TestController extends BaseController { } return "handleSieveTime ....."; } + @RequestMapping(value="/handleChildbearAgeData") + @ResponseBody + public String handleChildbearAgeData(@RequestParam(required = false)final String id) { + + new Thread(new Runnable() { + @Override + public void run() { + int limt = 1000; + int page = 0; + PersonModelQuery personModelQuery = new PersonModelQuery(); + personModelQuery.setYn(YnEnums.YES.getId()); + personModelQuery.setTypes(new Integer[]{1, 3}); //孕妇或者产妇基本信息 + personModelQuery.setNeed("true"); + if (StringUtils.isNotEmpty(id)) + { + personModelQuery.setId(id); + } + while (true) + { + personModelQuery.setPage(page); + personModelQuery.setLimit(limt); + List personModels = personService.queryPersons(personModelQuery); + if (CollectionUtils.isNotEmpty(personModels)) + { + int batchSize = 200; + int end = 0; + for (int i = 0; i < personModels.size(); i += batchSize) { + end = (end + batchSize); + if (end > personModels.size()) { + end = personModels.size(); + } + System.out.println("start:" + i + ",end:" + end); + final List tempList = personModels.subList(i, end); + commonThreadPool.execute(new Runnable() { + @Override + public void run() { + if (CollectionUtils.isNotEmpty(tempList)) { + for (PersonModel person : tempList) { + MatDeliverQuery matDeliverQuery = new MatDeliverQuery(); + matDeliverQuery.setYn(YnEnums.YES.getId()); + matDeliverQuery.setPid(person.getId()); + List maternalDeliverModels = matDeliverService.query(matDeliverQuery,Sort.Direction.ASC,"created"); + if (CollectionUtils.isNotEmpty(maternalDeliverModels)) + { + int upCount = 0; + for(int i = 0 ; i < maternalDeliverModels.size() ; i++) + { + MaternalDeliverModel model = maternalDeliverModels.get(i); + List babyList = model.getBaby(); + + List fmChildTimes = new ArrayList(); + if (CollectionUtils.isNotEmpty(babyList)) + { + for (int j = 0;j < babyList.size();j++) + { + upCount+=1; + fmChildTimes.add(upCount); + model.setFmChildTimes(fmChildTimes); + } + Patients patients = patientsService.findOnePatientById(model.getParentId()); + if (patients != null) + { + model.setFmAge(DateUtil.getAge(patients.getBirth(),model.getDueDate1())); + } + } + matDeliverService.updateOne(model,model.getId()); + } + } + } + } + } + }); + } + } + else + { + break; + } + page++; + } + } + }).start(); + + return "handleChildbearAgeData........"; + } // @RequestMapping(value="/his/getLcdcfyByZyhHis") // @ResponseBody