Commit bc0b0873fbac7c5d28e01f9da3b4ce748b5e8d7e
1 parent
c4cbc1ad9d
Exists in
master
and in
6 other branches
1河北省0-6岁儿童保健系统管理登记表 2 0-6岁儿童视觉健康档案
Showing 3 changed files with 782 additions and 0 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/BabyHealthController.java
View file @
bc0b087
| 1 | +package com.lyms.platform.operate.web.controller; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.lyms.platform.common.annotation.TokenRequired; | |
| 5 | +import com.lyms.platform.common.base.BaseController; | |
| 6 | +import com.lyms.platform.common.base.LoginContext; | |
| 7 | +import com.lyms.platform.common.constants.ErrorCodeConstants; | |
| 8 | +import com.lyms.platform.common.dao.BaseQuery; | |
| 9 | +import com.lyms.platform.common.enums.QhdBabyPsychologyEnums; | |
| 10 | +import com.lyms.platform.common.result.BaseObjectResponse; | |
| 11 | +import com.lyms.platform.common.result.BaseResponse; | |
| 12 | +import com.lyms.platform.common.result.RespBuilder; | |
| 13 | +import com.lyms.platform.common.utils.StringUtils; | |
| 14 | +import com.lyms.platform.operate.web.facade.AutoMatchFacade; | |
| 15 | +import com.lyms.platform.operate.web.facade.BabyCheckFacade; | |
| 16 | +import com.lyms.platform.operate.web.facade.BabyHealthFacade; | |
| 17 | +import com.lyms.platform.operate.web.request.*; | |
| 18 | +import com.lyms.platform.operate.web.service.INewbornVisitService; | |
| 19 | +import com.lyms.platform.operate.web.service.PatientWeightService; | |
| 20 | +import com.lyms.platform.permission.service.CouponService; | |
| 21 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 22 | +import org.springframework.stereotype.Controller; | |
| 23 | +import org.springframework.web.bind.annotation.*; | |
| 24 | + | |
| 25 | +import javax.servlet.http.HttpServletRequest; | |
| 26 | +import javax.servlet.http.HttpServletResponse; | |
| 27 | +import javax.validation.Valid; | |
| 28 | + | |
| 29 | + | |
| 30 | +/** | |
| 31 | + * 儿保检查 | |
| 32 | + */ | |
| 33 | +@Controller | |
| 34 | +public class BabyHealthController extends BaseController { | |
| 35 | + | |
| 36 | + | |
| 37 | + @Autowired | |
| 38 | + private BabyHealthFacade babyHealthFacade; | |
| 39 | + @Autowired | |
| 40 | + private PatientWeightService patientWeightService; | |
| 41 | + @Autowired | |
| 42 | + private AutoMatchFacade autoMatchFacade; | |
| 43 | + | |
| 44 | + @Autowired | |
| 45 | + private CouponService couponService; | |
| 46 | + | |
| 47 | + /** | |
| 48 | + * 河北省0-6岁儿童保健系统管理登记表 | |
| 49 | + * @param checkTime | |
| 50 | + * @param queryNo | |
| 51 | + * @param startCheckMonthAge | |
| 52 | + * @param endCheckMonthAge | |
| 53 | + * @param nextDate | |
| 54 | + * @param highRisk | |
| 55 | + * @param waskSon | |
| 56 | + * @param checkDoctorId | |
| 57 | + * @param level | |
| 58 | + * @param page | |
| 59 | + * @param limit | |
| 60 | + * @param request | |
| 61 | + * @return | |
| 62 | + */ | |
| 63 | + @RequestMapping(value = "/queryBabyHealthStat", method = RequestMethod.GET) | |
| 64 | + @ResponseBody | |
| 65 | + @TokenRequired | |
| 66 | + public BaseResponse queryBabyHealthStat( | |
| 67 | + @RequestParam(value = "checkTime", required = false) String checkTime, | |
| 68 | + @RequestParam(value = "queryNo", required = false) String queryNo, | |
| 69 | + @RequestParam(value = "startMonthAge", required = false) Integer startCheckMonthAge, | |
| 70 | + @RequestParam(value = "endMonthAge", required = false) Integer endCheckMonthAge, | |
| 71 | + @RequestParam(value = "nextDate", required = false) String nextDate, | |
| 72 | + @RequestParam(value = "highRisk", required = false) Integer highRisk, | |
| 73 | + @RequestParam(value = "waskSon", required = false) Integer waskSon, | |
| 74 | + @RequestParam(value = "checkDoctorId", required = false) String checkDoctorId, | |
| 75 | + @RequestParam(value = "level", required = false) String level, | |
| 76 | + Integer page, Integer limit, HttpServletRequest request) { | |
| 77 | + return babyHealthFacade.babystatList(checkTime, queryNo, startCheckMonthAge, endCheckMonthAge, | |
| 78 | + nextDate, highRisk, waskSon, checkDoctorId, page, limit, getUserId(request), level); | |
| 79 | + } | |
| 80 | + | |
| 81 | + @RequestMapping(value = "/queryBabyHealthStatReport", method = RequestMethod.GET) | |
| 82 | + @ResponseBody | |
| 83 | + @TokenRequired | |
| 84 | + public void queryBabyHealthStatReport( | |
| 85 | + @RequestParam(value = "checkTime", required = false) String checkTime, | |
| 86 | + @RequestParam(value = "queryNo", required = false) String queryNo, | |
| 87 | + @RequestParam(value = "startMonthAge", required = false) Integer startCheckMonthAge, | |
| 88 | + @RequestParam(value = "endMonthAge", required = false) Integer endCheckMonthAge, | |
| 89 | + @RequestParam(value = "nextDate", required = false) String nextDate, | |
| 90 | + @RequestParam(value = "highRisk", required = false) Integer highRisk, | |
| 91 | + @RequestParam(value = "waskSon", required = false) Integer waskSon, | |
| 92 | + @RequestParam(value = "checkDoctorId", required = false) String checkDoctorId, | |
| 93 | + @RequestParam(value = "level", required = false) String level, | |
| 94 | + Integer page, Integer limit, HttpServletRequest request, HttpServletResponse response) { | |
| 95 | + BaseResponse baseResponse=babyHealthFacade.babystatListReport(checkTime, queryNo, startCheckMonthAge, endCheckMonthAge, | |
| 96 | + nextDate, highRisk, waskSon, checkDoctorId, page, limit, getUserId(request), level,response); | |
| 97 | + System.out.println(baseResponse); | |
| 98 | + } | |
| 99 | + | |
| 100 | + /** | |
| 101 | + * 0-6岁儿童视觉健康档案 统计 | |
| 102 | + * @param id | |
| 103 | + * @param request | |
| 104 | + * @return | |
| 105 | + */ | |
| 106 | + @ResponseBody | |
| 107 | + @TokenRequired | |
| 108 | + @RequestMapping(value = "/baby/eye/check/queryLst/{id}", method = RequestMethod.GET) | |
| 109 | + public BaseResponse query(@PathVariable String id, HttpServletRequest request) { | |
| 110 | + return babyHealthFacade.query(getUserId(request), id); | |
| 111 | + } | |
| 112 | + | |
| 113 | + /** | |
| 114 | + * 儿童健康检查记录表 | |
| 115 | + * @param id | |
| 116 | + * @param checkMonthAge | |
| 117 | + * @return | |
| 118 | + */ | |
| 119 | + @ResponseBody | |
| 120 | + @TokenRequired | |
| 121 | + @RequestMapping(value = "/baby/check/chkRecordLst", method = RequestMethod.GET) | |
| 122 | + public BaseResponse chkRecordLst(@RequestParam(value = "id", required = false) String id, | |
| 123 | + @RequestParam(value = "monthAge", required = false) Integer checkMonthAge, HttpServletRequest request) { | |
| 124 | + return babyHealthFacade.chkRecordLst(id,checkMonthAge); | |
| 125 | + } | |
| 126 | + | |
| 127 | + | |
| 128 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyHealthFacade.java
View file @
bc0b087
| 1 | +package com.lyms.platform.operate.web.facade; | |
| 2 | + | |
| 3 | +import com.lyms.hospitalapi.qhdfy.QhdfyHisService; | |
| 4 | +import com.lyms.platform.beans.MsgRequest; | |
| 5 | +import com.lyms.platform.biz.service.*; | |
| 6 | +import com.lyms.platform.common.constants.ErrorCodeConstants; | |
| 7 | +import com.lyms.platform.common.dao.BaseQuery; | |
| 8 | +import com.lyms.platform.common.dao.operator.MongoCondition; | |
| 9 | +import com.lyms.platform.common.dao.operator.MongoOper; | |
| 10 | +import com.lyms.platform.common.dao.operator.MongoQuery; | |
| 11 | +import com.lyms.platform.common.enums.*; | |
| 12 | +import com.lyms.platform.common.result.*; | |
| 13 | +import com.lyms.platform.common.utils.*; | |
| 14 | +import com.lyms.platform.operate.web.request.*; | |
| 15 | +import com.lyms.platform.operate.web.result.*; | |
| 16 | +import com.lyms.platform.operate.web.service.BabyAfterVisitService; | |
| 17 | +import com.lyms.platform.operate.web.service.INewbornVisitService; | |
| 18 | +import com.lyms.platform.operate.web.service.PatientWeightService; | |
| 19 | +import com.lyms.platform.operate.web.service.impl.BaseServiceImpl; | |
| 20 | +import com.lyms.platform.operate.web.utils.CollectionUtils; | |
| 21 | +import com.lyms.platform.operate.web.utils.MongoUtil; | |
| 22 | +import com.lyms.platform.permission.dao.master.CouponMapper; | |
| 23 | +import com.lyms.platform.permission.model.CheckItem; | |
| 24 | +import com.lyms.platform.permission.model.Organization; | |
| 25 | +import com.lyms.platform.permission.model.PatientService; | |
| 26 | +import com.lyms.platform.permission.model.Users; | |
| 27 | +import com.lyms.platform.permission.service.*; | |
| 28 | +import com.lyms.platform.pojo.*; | |
| 29 | +import com.lyms.platform.query.*; | |
| 30 | +import com.mongodb.BasicDBObject; | |
| 31 | +import javafx.beans.binding.ObjectExpression; | |
| 32 | +import jxl.Workbook; | |
| 33 | +import jxl.format.VerticalAlignment; | |
| 34 | +import jxl.write.Label; | |
| 35 | +import jxl.write.WritableCellFormat; | |
| 36 | +import jxl.write.WritableSheet; | |
| 37 | +import jxl.write.WritableWorkbook; | |
| 38 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 39 | +import org.springframework.beans.factory.annotation.Qualifier; | |
| 40 | +import org.springframework.data.domain.Sort; | |
| 41 | +import org.springframework.data.mongodb.core.MongoTemplate; | |
| 42 | +import org.springframework.data.mongodb.core.aggregation.Aggregation; | |
| 43 | +import org.springframework.data.mongodb.core.aggregation.AggregationResults; | |
| 44 | +import org.springframework.data.mongodb.core.query.Criteria; | |
| 45 | +import org.springframework.data.mongodb.core.query.Query; | |
| 46 | +import org.springframework.data.mongodb.core.query.Update; | |
| 47 | +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; | |
| 48 | +import org.springframework.stereotype.Component; | |
| 49 | +import org.springframework.web.util.WebUtils; | |
| 50 | + | |
| 51 | +import javax.servlet.http.HttpServletResponse; | |
| 52 | +import java.io.File; | |
| 53 | +import java.io.FileInputStream; | |
| 54 | +import java.io.InputStream; | |
| 55 | +import java.util.*; | |
| 56 | +import java.util.concurrent.Callable; | |
| 57 | +import java.util.concurrent.Future; | |
| 58 | +import java.util.regex.Pattern; | |
| 59 | + | |
| 60 | +import static com.lyms.platform.operate.web.service.BabyAfterVisitService.*; | |
| 61 | + | |
| 62 | +@Component | |
| 63 | +public class BabyHealthFacade extends BaseServiceImpl { | |
| 64 | + //滦平高危同步地址 | |
| 65 | + public static final String LP_RISK_URL = PropertiesUtils.getPropertyValue("lp_risk_url"); | |
| 66 | + @Autowired | |
| 67 | + private BabyCheckService babyCheckService; | |
| 68 | + @Autowired | |
| 69 | + private BabyAutoDiagnoseRiskFacade babyAutoDiagnoseRiskFacade; | |
| 70 | + @Autowired | |
| 71 | + private BabyDepartmentReferralFacade babyDepartmentReferralFacade; | |
| 72 | + @Autowired | |
| 73 | + private BabyBookbuildingService babyBookbuildingService; | |
| 74 | + @Autowired | |
| 75 | + private PatientWeightService patientWeightService; | |
| 76 | + @Autowired | |
| 77 | + private BabyService babyService; | |
| 78 | + | |
| 79 | + @Autowired | |
| 80 | + private BasicConfigFacade basicConfigFacade; | |
| 81 | + | |
| 82 | + @Autowired | |
| 83 | + private MongoTemplate mongoTemplate; | |
| 84 | + | |
| 85 | + | |
| 86 | + @Autowired | |
| 87 | + private BasicConfigService basicConfigService; | |
| 88 | + | |
| 89 | + @Autowired | |
| 90 | + private PatientsService patientsService; | |
| 91 | + | |
| 92 | + @Autowired | |
| 93 | + private ApplyOrderService applyOrderService; | |
| 94 | + | |
| 95 | + @Autowired | |
| 96 | + private UsersService usersService; | |
| 97 | + | |
| 98 | + @Autowired | |
| 99 | + private PersonService personService; | |
| 100 | + | |
| 101 | + | |
| 102 | + @Autowired | |
| 103 | + private OrganizationService organizationService; | |
| 104 | + | |
| 105 | + @Autowired | |
| 106 | + private AntenatalExaminationFacade antenatalExaminationFacade; | |
| 107 | + | |
| 108 | + @Autowired | |
| 109 | + private BabyBookbuildingFacade babyBookbuildingFacade; | |
| 110 | + @Autowired | |
| 111 | + private OrganizationGroupsFacade groupsFacade; | |
| 112 | + @Autowired | |
| 113 | + private AutoMatchFacade autoMatchFacade; | |
| 114 | + | |
| 115 | + @Autowired | |
| 116 | + private CouponService couponService; | |
| 117 | + | |
| 118 | + @Autowired | |
| 119 | + private QhdfyHisService qhdfyHisService; | |
| 120 | + | |
| 121 | + @Autowired | |
| 122 | + private CouponMapper couponMapper; | |
| 123 | + | |
| 124 | + @Autowired | |
| 125 | + private MongoUtil mongoUtil; | |
| 126 | + | |
| 127 | + @Autowired | |
| 128 | + private OperateLogFacade operateLogFacade; | |
| 129 | + | |
| 130 | + @Autowired | |
| 131 | + private PatientServiceService patientServiceService; | |
| 132 | + | |
| 133 | + @Autowired | |
| 134 | + private AreaCountFacade areaCountFacade; | |
| 135 | + @Autowired | |
| 136 | + private MeasureDataInfoService measureDataInfoService; | |
| 137 | + @Autowired | |
| 138 | + private BabyNutritionService babyNutritionService; | |
| 139 | + @Autowired | |
| 140 | + private BabyAfterVisitService babyAfterVisitService; | |
| 141 | + | |
| 142 | + @Autowired | |
| 143 | + private SmsConfigFacade smsConfigFacade; | |
| 144 | + | |
| 145 | + @Autowired | |
| 146 | + private INewbornVisitService visitService;//访视 | |
| 147 | + | |
| 148 | + | |
| 149 | + @Autowired | |
| 150 | + @Qualifier("cfCheckItemService") | |
| 151 | + private CheckItemService checkItemService; | |
| 152 | + | |
| 153 | + @Autowired | |
| 154 | + private OrganizationGroupsFacade organizationGroupsFacade; | |
| 155 | + | |
| 156 | + public static final String HIS_VERSION = PropertiesUtils.getPropertyValue("his_version"); | |
| 157 | + | |
| 158 | + | |
| 159 | + public BaseResponse babystatList(String checkTime, String queryNo, Integer checkMonthAge, Integer endCheckMonthAge, String nextDate, | |
| 160 | + Integer highRisk, Integer waskSon, String checkDoctorId, Integer page, Integer limit, Integer userId, String level) { | |
| 161 | + boolean flag = false; | |
| 162 | + // List<String> hospital = groupsFacade.findGroupHospital(userId, false); | |
| 163 | + int[] monthArr = {0, 3, 4, 8, 12, 18, 24, 30, 36, 48, 60, 72};//月龄 | |
| 164 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
| 165 | + Criteria criteria = Criteria.where("yn").ne(0).and("hospitalId").is(hospitalId); | |
| 166 | + Criteria pCriteria = Criteria.where("yn").ne(0).and("hospitalId").is(hospitalId); | |
| 167 | + if (org.apache.commons.lang.StringUtils.isNotBlank(queryNo)) { | |
| 168 | + pCriteria.orOperator(Criteria.where("mcertNo").regex(queryNo), Criteria.where("name").regex(queryNo), | |
| 169 | + Criteria.where("fphone").regex(queryNo), Criteria.where("vcCardNo").regex(queryNo), Criteria.where("mname").regex(queryNo)); | |
| 170 | + flag = true; | |
| 171 | + } | |
| 172 | + PageResult pageResult = findMongoPage(BabyModel.class, new Query(pCriteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); | |
| 173 | + List<BabyModel> babykModelsList = (List<BabyModel>) pageResult.getGrid(); | |
| 174 | + List<Map<String, Object>> grid = new ArrayList<>(); | |
| 175 | + | |
| 176 | + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(babykModelsList)) { | |
| 177 | + for (BabyModel babyModel : babykModelsList) { | |
| 178 | + Map<String, Object> row = new HashMap<>(); | |
| 179 | + Map<String, Object> babyMap = new HashMap<>(); | |
| 180 | + babyMap.put("babyName", babyModel.getName()); | |
| 181 | + babyMap.put("sex", babyModel.getSex()); | |
| 182 | + babyMap.put("birth", babyModel.getBirth()); | |
| 183 | + babyMap.put("mname", babyModel.getMname()); | |
| 184 | + babyMap.put("address", babyModel.getAddress()); | |
| 185 | + babyMap.put("mphone", babyModel.getMphone()); | |
| 186 | + row.put("baby", babyMap); | |
| 187 | +// ids.add(babyModel.getId()); | |
| 188 | + Criteria criteriaCheck = Criteria.where("buildId").in(babyModel.getId()); | |
| 189 | +// pageResult = findMongoPage(BabyCheckModel.class, new Query(criteriaCheck).with(new Sort(Sort.Direction.DESC, "created")), page, limit); | |
| 190 | + List<BabyCheckModel> babyCheckModelList = mongoTemplate.find(new Query(criteriaCheck).with(new Sort(Sort.Direction.DESC, "created")), BabyCheckModel.class); | |
| 191 | + | |
| 192 | +// List <BabyCheckModel> babyCheckModelList = (List <BabyCheckModel>) pageResult.getGrid(); | |
| 193 | + | |
| 194 | + List<Map<String, Object>> listAge = new ArrayList<>(); | |
| 195 | + for (BabyCheckModel babyCheckModel : babyCheckModelList) { | |
| 196 | + Map<String, Object> map = new HashMap<>(); | |
| 197 | + String feedType = ""; | |
| 198 | + String feedTypeId = babyCheckModel.getFeedType(); | |
| 199 | + if (StringUtils.isNotEmpty(feedTypeId)) { | |
| 200 | + feedType = WyTypeEnums.getNameById(Integer.parseInt(feedTypeId)); | |
| 201 | + } | |
| 202 | + map.put("feedType", feedType); | |
| 203 | + for (int i = 0; i < monthArr.length; i++) { | |
| 204 | + Map<String, Object> mapAge = new HashMap<>(); | |
| 205 | + if (monthArr[i] == babyCheckModel.getCheckMonth().intValue()) { | |
| 206 | + mapAge.put("height", babyCheckModel.getHeight()); | |
| 207 | + mapAge.put("heightEvaluate", babyCheckModel.getHeightEvaluate()); | |
| 208 | + mapAge.put("weight", babyCheckModel.getWeight()); | |
| 209 | + mapAge.put("weightEvaluate", babyCheckModel.getWeightEvaluate()); | |
| 210 | + mapAge.put("hemoglobin", babyCheckModel.getHemoglobin()); | |
| 211 | + } else { | |
| 212 | + mapAge.put("height", ""); | |
| 213 | + mapAge.put("heightEvaluate", ""); | |
| 214 | + mapAge.put("weight", ""); | |
| 215 | + mapAge.put("weightEvaluate", ""); | |
| 216 | + mapAge.put("hemoglobin", ""); | |
| 217 | + } | |
| 218 | + mapAge.put("age", monthArr[i]); | |
| 219 | + listAge.add(mapAge); | |
| 220 | + } | |
| 221 | + | |
| 222 | + | |
| 223 | + row.put("monthChk", listAge); | |
| 224 | + | |
| 225 | + row.put("height", babyCheckModel.getHeight()); | |
| 226 | + row.put("weight", babyCheckModel.getWeight()); | |
| 227 | + //秦皇岛需求,查询最后一次检查的高危详情 | |
| 228 | + row.put("qhdHighRiskInfo", babyCheckModel.getQhdHighRiskInfo()); | |
| 229 | + } | |
| 230 | + | |
| 231 | +// 访视 | |
| 232 | + List<NewbornVisit> newbornVisits = mongoTemplate.find(Query.query(Criteria.where("babyId").is(babyModel.getId()).and("hospitalId").in(hospitalId).and("yn").ne("0")) | |
| 233 | + .with(new Sort(Sort.Direction.ASC, "checkTime")), NewbornVisit.class); | |
| 234 | + List<Map<String, Object>> rest = new ArrayList<>(); | |
| 235 | + for (NewbornVisit newbornVisit : newbornVisits) { | |
| 236 | + Map<String, Object> temp = new HashMap<>(); | |
| 237 | + temp.put("id", newbornVisit.getId()); | |
| 238 | + temp.put("hospitalId", newbornVisit.getHospitalId()); | |
| 239 | + temp.put("pid", newbornVisit.getPid()); | |
| 240 | + temp.put("checkTime", newbornVisit.getCheckTime() == null ? null : DateUtil.getyyyy_MM_dd(newbornVisit.getCheckTime())); | |
| 241 | + temp.put("checkTimeDesc", newbornVisit.getCheckTimeDesc()); | |
| 242 | + rest.add(temp); | |
| 243 | + } | |
| 244 | + row.put("visitcnt", newbornVisits.size()); | |
| 245 | + row.put("instWeight", ""); | |
| 246 | + if (newbornVisits.size() > 1) { | |
| 247 | + int size = newbornVisits.size(); | |
| 248 | + String wn1 = newbornVisits.get(size - 1).getWeightNow(); | |
| 249 | + String wn2 = newbornVisits.get(size - 2).getWeightNow(); | |
| 250 | + if (null == wn1) wn1 = "0"; | |
| 251 | + if (null == wn2) wn2 = "0"; | |
| 252 | + | |
| 253 | + row.put("instWeight", (Float.parseFloat(wn1) - Float.parseFloat(wn2))); | |
| 254 | + } | |
| 255 | + grid.add(row); | |
| 256 | + | |
| 257 | + } | |
| 258 | + } | |
| 259 | + | |
| 260 | + pageResult.setGrid(grid); | |
| 261 | + return RespBuilder.buildSuccess(pageResult); | |
| 262 | + | |
| 263 | + | |
| 264 | + } | |
| 265 | + | |
| 266 | + public BaseResponse babystatListReport(String checkTime, String queryNo, Integer checkMonthAge, Integer endCheckMonthAge, String nextDate, | |
| 267 | + Integer highRisk, Integer waskSon, String checkDoctorId, Integer page, Integer limit, Integer userId, String level, HttpServletResponse response) { | |
| 268 | + boolean flag = false; | |
| 269 | + // List<String> hospital = groupsFacade.findGroupHospital(userId, false); | |
| 270 | + int[] monthArr = {0, 3, 4, 8, 12, 18, 24, 30, 36, 48, 60, 72};//月龄 | |
| 271 | + String hospitalId = autoMatchFacade.getHospitalId(userId); | |
| 272 | + Criteria criteria = Criteria.where("yn").ne(0).and("hospitalId").is(hospitalId); | |
| 273 | + Criteria pCriteria = Criteria.where("yn").ne(0).and("hospitalId").is(hospitalId); | |
| 274 | + if (org.apache.commons.lang.StringUtils.isNotBlank(queryNo)) { | |
| 275 | + pCriteria.orOperator(Criteria.where("mcertNo").regex(queryNo), Criteria.where("name").regex(queryNo), | |
| 276 | + Criteria.where("fphone").regex(queryNo), Criteria.where("vcCardNo").regex(queryNo), Criteria.where("mname").regex(queryNo)); | |
| 277 | + flag = true; | |
| 278 | + } | |
| 279 | + PageResult pageResult = new PageResult(); | |
| 280 | + | |
| 281 | + try { | |
| 282 | + response.setContentType("application/force-download"); | |
| 283 | + response.setHeader("Content-Disposition", "attachment;filename=" + new String(("年报表.xls").getBytes("UTF-8"), "ISO-8859-1")); | |
| 284 | + String path = this.getClass().getResource("/").getPath() + "babyhealthstat.xls"; | |
| 285 | + | |
| 286 | + // 导出excel | |
| 287 | + File file = new File(path); | |
| 288 | + InputStream in = new FileInputStream(file); | |
| 289 | + Workbook wb = Workbook.getWorkbook(in); | |
| 290 | + | |
| 291 | + | |
| 292 | + WritableWorkbook book = wb.createWorkbook(response.getOutputStream(), wb); | |
| 293 | + WritableSheet ws = book.getSheet(0); | |
| 294 | + | |
| 295 | + WritableCellFormat contentFormt = new WritableCellFormat(); | |
| 296 | + contentFormt.setAlignment(jxl.format.Alignment.CENTRE); | |
| 297 | + contentFormt.setBorder(jxl.format.Border.ALL, jxl.format.BorderLineStyle.THIN); | |
| 298 | + contentFormt.setVerticalAlignment(VerticalAlignment.CENTRE); | |
| 299 | + | |
| 300 | + int lastPage = 0, pageSize = 0; | |
| 301 | + | |
| 302 | + pageResult = findMongoPage(BabyModel.class, new Query(pCriteria).with(new Sort(Sort.Direction.DESC, "created")), page, limit); | |
| 303 | +// lastPage = pageResult.getLastPage(); | |
| 304 | +// pageSize = pageResult.getSize(); | |
| 305 | +// for (int n = 0; n < lastPage; n++) { | |
| 306 | +// pageResult = findMongoPage(BabyModel.class, new Query(pCriteria).with(new Sort(Sort.Direction.DESC, "created")), n, pageSize); | |
| 307 | + List<BabyModel> babykModelsList = (List<BabyModel>) pageResult.getGrid(); | |
| 308 | +// PageResult pageResult=new PageResult(); | |
| 309 | + babykModelsList = this.mongoTemplate.find(new Query(pCriteria).with(new Sort(Sort.Direction.DESC, "created")),BabyModel.class); | |
| 310 | + List<Map<String, Object>> grid = new ArrayList<>(); | |
| 311 | + | |
| 312 | + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(babykModelsList)) { | |
| 313 | + for (int j=0; j<babykModelsList.size();j++) { | |
| 314 | + BabyModel babyModel = babykModelsList.get(j); | |
| 315 | + Map<String, Object> row = new HashMap<>(); | |
| 316 | + Map<String, Object> babyMap = new HashMap<>(); | |
| 317 | + babyMap.put("babyName", babyModel.getName()); | |
| 318 | + babyMap.put("sex", babyModel.getSex()); | |
| 319 | + babyMap.put("birth", babyModel.getBirth()); | |
| 320 | + babyMap.put("mname", babyModel.getMname()); | |
| 321 | + babyMap.put("address", babyModel.getAddress()); | |
| 322 | + babyMap.put("mphone", babyModel.getMphone()); | |
| 323 | + row.put("baby", babyMap); | |
| 324 | + Criteria criteriaCheck = Criteria.where("buildId").in(babyModel.getId()); | |
| 325 | +// pageResult = findMongoPage(BabyCheckModel.class, new Query(criteriaCheck).with(new Sort(Sort.Direction.DESC, "created")), page, limit); | |
| 326 | + List<BabyCheckModel> babyCheckModelList = mongoTemplate.find(new Query(criteriaCheck).with(new Sort(Sort.Direction.DESC, "created")), BabyCheckModel.class); | |
| 327 | + | |
| 328 | + List<Map<String, Object>> listAge = new ArrayList<>(); | |
| 329 | + | |
| 330 | + for (BabyCheckModel babyCheckModel : babyCheckModelList) { | |
| 331 | + Map<String, Object> map = new HashMap<>(); | |
| 332 | + String feedType = ""; | |
| 333 | + String feedTypeId = babyCheckModel.getFeedType(); | |
| 334 | + if (StringUtils.isNotEmpty(feedTypeId)) { | |
| 335 | + feedType = WyTypeEnums.getNameById(Integer.parseInt(feedTypeId)); | |
| 336 | + } | |
| 337 | + map.put("feedType", feedType); | |
| 338 | + | |
| 339 | + for (int i = 0; i < monthArr.length; i++) { | |
| 340 | + Map<String, Object> mapAge = new HashMap<>(); | |
| 341 | + if (monthArr[i] == babyCheckModel.getCheckMonth().intValue()) { | |
| 342 | + mapAge.put("height", babyCheckModel.getHeight()); | |
| 343 | + mapAge.put("heightEvaluate", babyCheckModel.getHeightEvaluate()); | |
| 344 | + mapAge.put("weight", babyCheckModel.getWeight()); | |
| 345 | + mapAge.put("weightEvaluate", babyCheckModel.getWeightEvaluate()); | |
| 346 | + mapAge.put("hemoglobin", babyCheckModel.getHemoglobin()); | |
| 347 | + } else { | |
| 348 | + mapAge.put("height", ""); | |
| 349 | + mapAge.put("heightEvaluate", ""); | |
| 350 | + mapAge.put("weight", ""); | |
| 351 | + mapAge.put("weightEvaluate", ""); | |
| 352 | + mapAge.put("hemoglobin", ""); | |
| 353 | + } | |
| 354 | + mapAge.put("age", monthArr[i]); | |
| 355 | + listAge.add(mapAge); | |
| 356 | + } | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + row.put("monthChk", listAge); | |
| 363 | + | |
| 364 | + row.put("height", babyCheckModel.getHeight()); | |
| 365 | + row.put("weight", babyCheckModel.getWeight()); | |
| 366 | + //秦皇岛需求,查询最后一次检查的高危详情 | |
| 367 | + row.put("qhdHighRiskInfo", babyCheckModel.getQhdHighRiskInfo()); | |
| 368 | + } | |
| 369 | + if(babyCheckModelList.size()<1){ | |
| 370 | + for (int i = 0; i < monthArr.length; i++) { | |
| 371 | + Map<String, Object> mapAge = new HashMap<>(); | |
| 372 | + mapAge.put("height", ""); | |
| 373 | + mapAge.put("heightEvaluate", ""); | |
| 374 | + mapAge.put("weight", ""); | |
| 375 | + mapAge.put("weightEvaluate", ""); | |
| 376 | + mapAge.put("hemoglobin", ""); | |
| 377 | + listAge.add(mapAge); | |
| 378 | + } | |
| 379 | + } | |
| 380 | + | |
| 381 | +// 访视 | |
| 382 | + List<NewbornVisit> newbornVisits = mongoTemplate.find(Query.query(Criteria.where("babyId").is(babyModel.getId()).and("hospitalId").in(hospitalId).and("yn").ne("0")) | |
| 383 | + .with(new Sort(Sort.Direction.ASC, "checkTime")), NewbornVisit.class); | |
| 384 | + List<Map<String, Object>> rest = new ArrayList<>(); | |
| 385 | + for (NewbornVisit newbornVisit : newbornVisits) { | |
| 386 | + Map<String, Object> temp = new HashMap<>(); | |
| 387 | + temp.put("id", newbornVisit.getId()); | |
| 388 | + temp.put("hospitalId", newbornVisit.getHospitalId()); | |
| 389 | + temp.put("pid", newbornVisit.getPid()); | |
| 390 | + temp.put("checkTime", newbornVisit.getCheckTime() == null ? null : DateUtil.getyyyy_MM_dd(newbornVisit.getCheckTime())); | |
| 391 | + temp.put("checkTimeDesc", newbornVisit.getCheckTimeDesc()); | |
| 392 | + rest.add(temp); | |
| 393 | + } | |
| 394 | + row.put("visitcnt", newbornVisits.size()); | |
| 395 | + row.put("instWeight", ""); | |
| 396 | + if (newbornVisits.size() > 1) { | |
| 397 | + int size = newbornVisits.size(); | |
| 398 | + String wn1 = newbornVisits.get(size - 1).getWeightNow(); | |
| 399 | + String wn2 = newbornVisits.get(size - 2).getWeightNow(); | |
| 400 | + if (null == wn1) wn1 = "0"; | |
| 401 | + if (null == wn2) wn2 = "0"; | |
| 402 | + | |
| 403 | + row.put("instWeight", (Float.parseFloat(wn1) - Float.parseFloat(wn2))); | |
| 404 | + } | |
| 405 | + | |
| 406 | +// 写入excel | |
| 407 | + Label label = new Label(0, j + 5, (j + 1) + ""); | |
| 408 | + ws.addCell(label); | |
| 409 | + | |
| 410 | + | |
| 411 | + label = new Label(1, j + 5, babyModel.getName(), contentFormt); | |
| 412 | + ws.addCell(label); | |
| 413 | + | |
| 414 | + label = new Label(2, j + 5, SexEnum.getTextById(babyModel.getSex()), contentFormt); | |
| 415 | + ws.addCell(label); | |
| 416 | + | |
| 417 | + label = new Label(3, j + 5, DateUtil.getyyyy_MM_dd(babyModel.getBirth()), contentFormt); | |
| 418 | + ws.addCell(label); | |
| 419 | + | |
| 420 | + label = new Label(4, j + 5, babyModel.getMname(), contentFormt); | |
| 421 | + ws.addCell(label); | |
| 422 | + | |
| 423 | + label = new Label(5, j + 5, babyModel.getAddress()==null?"":babyModel.getAddress(), contentFormt); | |
| 424 | + ws.addCell(label); | |
| 425 | +// 访视 | |
| 426 | + label = new Label(6, j + 5, newbornVisits.size()+"", contentFormt); | |
| 427 | + ws.addCell(label); | |
| 428 | + | |
| 429 | + label = new Label(7, j + 5,row.get("instWeight")+"", contentFormt); | |
| 430 | + ws.addCell(label); | |
| 431 | +// 喂养方式 | |
| 432 | + label = new Label(8, j + 5,row.get("feedType")==null?"":row.get("feedType")+"", contentFormt); | |
| 433 | + ws.addCell(label); | |
| 434 | + | |
| 435 | + // 检查情况 | |
| 436 | + | |
| 437 | +// for (int n = 0; n < listAge.size(); n++) { | |
| 438 | +// Map<String,Object> aRow=listAge.get(n); | |
| 439 | +// mapAge.put("height", ""); | |
| 440 | +// mapAge.put("heightEvaluate", ""); | |
| 441 | +// mapAge.put("weight", ""); | |
| 442 | +// mapAge.put("weightEvaluate", ""); | |
| 443 | +// mapAge.put("hemoglobin", ""); | |
| 444 | + | |
| 445 | +// label = new Label(9+n*2, j + 5,aRow.get("weight")+"/"+aRow.get("height"), contentFormt); | |
| 446 | +// ws.addCell(label); | |
| 447 | +// label = new Label(10+n*2, j + 5,aRow.get("weightEvaluate")+"/"+aRow.get("heightEvaluate"), contentFormt); | |
| 448 | +// ws.addCell(label); | |
| 449 | +// if(n==4 || n==8 || n==9 || n==10 || n== 11){ | |
| 450 | +// | |
| 451 | +// label = new Label(11+n, j + 5,aRow.get("hemoglobin")+"", contentFormt); | |
| 452 | +// ws.addCell(label); | |
| 453 | +// } | |
| 454 | +// } | |
| 455 | + | |
| 456 | + Map<String,Object> aRow=listAge.get(0); | |
| 457 | + label = new Label(9, j + 5,aRow.get("weight")+"/"+aRow.get("height"), contentFormt); | |
| 458 | + ws.addCell(label); | |
| 459 | + label = new Label(10, j + 5,aRow.get("weightEvaluate")+"/"+aRow.get("heightEvaluate"), contentFormt); | |
| 460 | + ws.addCell(label); | |
| 461 | + | |
| 462 | + aRow=listAge.get(1); | |
| 463 | + label = new Label(11, j + 5,aRow.get("weight")+"/"+aRow.get("height"), contentFormt); | |
| 464 | + ws.addCell(label); | |
| 465 | + label = new Label(12, j + 5,aRow.get("weightEvaluate")+"/"+aRow.get("heightEvaluate"), contentFormt); | |
| 466 | + ws.addCell(label); | |
| 467 | + | |
| 468 | + aRow=listAge.get(2); | |
| 469 | + label = new Label(13, j + 5,aRow.get("weight")+"/"+aRow.get("height"), contentFormt); | |
| 470 | + ws.addCell(label); | |
| 471 | + label = new Label(14, j + 5,aRow.get("weightEvaluate")+"/"+aRow.get("heightEvaluate"), contentFormt); | |
| 472 | + ws.addCell(label); | |
| 473 | + | |
| 474 | + aRow=listAge.get(3); | |
| 475 | + label = new Label(15, j + 5,aRow.get("weight")+"/"+aRow.get("height"), contentFormt); | |
| 476 | + ws.addCell(label); | |
| 477 | + label = new Label(16, j + 5,aRow.get("weightEvaluate")+"/"+aRow.get("heightEvaluate"), contentFormt); | |
| 478 | + ws.addCell(label); | |
| 479 | + | |
| 480 | + aRow=listAge.get(4); | |
| 481 | + label = new Label(17, j + 5,aRow.get("weight")+"/"+aRow.get("height"), contentFormt); | |
| 482 | + ws.addCell(label); | |
| 483 | + label = new Label(18, j + 5,aRow.get("weightEvaluate")+"/"+aRow.get("heightEvaluate"), contentFormt); | |
| 484 | + ws.addCell(label); | |
| 485 | + label = new Label(19, j + 5,aRow.get("hemoglobin")+"", contentFormt); | |
| 486 | + ws.addCell(label); | |
| 487 | + | |
| 488 | + aRow=listAge.get(5); | |
| 489 | + label = new Label(20, j + 5,aRow.get("weight")+"/"+aRow.get("height"), contentFormt); | |
| 490 | + ws.addCell(label); | |
| 491 | + label = new Label(21, j + 5,aRow.get("weightEvaluate")+"/"+aRow.get("heightEvaluate"), contentFormt); | |
| 492 | + ws.addCell(label); | |
| 493 | + | |
| 494 | + aRow=listAge.get(6); | |
| 495 | + label = new Label(22, j + 5,aRow.get("weight")+"/"+aRow.get("height"), contentFormt); | |
| 496 | + ws.addCell(label); | |
| 497 | + label = new Label(23, j + 5,aRow.get("weightEvaluate")+"/"+aRow.get("heightEvaluate"), contentFormt); | |
| 498 | + ws.addCell(label); | |
| 499 | + | |
| 500 | + aRow=listAge.get(7); | |
| 501 | + label = new Label(24, j + 5,aRow.get("weight")+"/"+aRow.get("height"), contentFormt); | |
| 502 | + ws.addCell(label); | |
| 503 | + label = new Label(25, j + 5,aRow.get("weightEvaluate")+"/"+aRow.get("heightEvaluate"), contentFormt); | |
| 504 | + ws.addCell(label); | |
| 505 | + | |
| 506 | + aRow=listAge.get(8); | |
| 507 | + label = new Label(26, j + 5,aRow.get("weight")+"/"+aRow.get("height"), contentFormt); | |
| 508 | + ws.addCell(label); | |
| 509 | + label = new Label(27, j + 5,aRow.get("weightEvaluate")+"/"+aRow.get("heightEvaluate"), contentFormt); | |
| 510 | + ws.addCell(label); | |
| 511 | + label = new Label(28, j + 5,aRow.get("hemoglobin")+"", contentFormt); | |
| 512 | + ws.addCell(label); | |
| 513 | + | |
| 514 | + aRow=listAge.get(9); | |
| 515 | + label = new Label(29, j + 5,aRow.get("weight")+"/"+aRow.get("height"), contentFormt); | |
| 516 | + ws.addCell(label); | |
| 517 | + label = new Label(30, j + 5,aRow.get("weightEvaluate")+"/"+aRow.get("heightEvaluate"), contentFormt); | |
| 518 | + ws.addCell(label); | |
| 519 | + label = new Label(31, j + 5,aRow.get("hemoglobin")+"", contentFormt); | |
| 520 | + ws.addCell(label); | |
| 521 | + | |
| 522 | + aRow=listAge.get(10); | |
| 523 | + label = new Label(32, j + 5,aRow.get("weight")+"/"+aRow.get("height"), contentFormt); | |
| 524 | + ws.addCell(label); | |
| 525 | + label = new Label(33, j + 5,aRow.get("weightEvaluate")+"/"+aRow.get("heightEvaluate"), contentFormt); | |
| 526 | + ws.addCell(label); | |
| 527 | + label = new Label(34, j + 5,aRow.get("hemoglobin")+"", contentFormt); | |
| 528 | + ws.addCell(label); | |
| 529 | + | |
| 530 | + aRow=listAge.get(11); | |
| 531 | + label = new Label(35, j + 5,aRow.get("weight")+"/"+aRow.get("height"), contentFormt); | |
| 532 | + ws.addCell(label); | |
| 533 | + label = new Label(36, j + 5,aRow.get("weightEvaluate")+"/"+aRow.get("heightEvaluate"), contentFormt); | |
| 534 | + ws.addCell(label); | |
| 535 | + label = new Label(37, j + 5,aRow.get("hemoglobin")+"", contentFormt); | |
| 536 | + ws.addCell(label); | |
| 537 | + | |
| 538 | + | |
| 539 | + label = new Label(38, j + 5,babyModel.getMphone(), contentFormt); | |
| 540 | + ws.addCell(label); | |
| 541 | + | |
| 542 | + } | |
| 543 | + | |
| 544 | + } | |
| 545 | + | |
| 546 | +// } | |
| 547 | + | |
| 548 | + | |
| 549 | + book.write(); | |
| 550 | + book.close(); | |
| 551 | + wb.close(); | |
| 552 | + | |
| 553 | + } catch (Exception e) { | |
| 554 | + e.printStackTrace(); | |
| 555 | + } | |
| 556 | +// pageResult.setGrid(grid); | |
| 557 | + return RespBuilder.buildSuccess(pageResult); | |
| 558 | + | |
| 559 | + | |
| 560 | + } | |
| 561 | + | |
| 562 | + | |
| 563 | + public BaseResponse query(Integer userId, String babyId) { | |
| 564 | + List<String> hospitalIds = organizationGroupsFacade.findGroupHospital(userId, false); | |
| 565 | + if (com.lyms.platform.operate.web.utils.CollectionUtils.isEmpty(hospitalIds)) { | |
| 566 | + return RespBuilder.buildSuccess(); | |
| 567 | + } | |
| 568 | + List<Map<String, Object>> rest = new ArrayList<>(); | |
| 569 | + BabyModelQuery babyQuery = new BabyModelQuery(); | |
| 570 | + babyQuery.setId(babyId); | |
| 571 | + babyQuery.setYn(YnEnums.YES.getId()); | |
| 572 | + babyQuery.setHospitalIdList(hospitalIds); | |
| 573 | + List<BabyModel> models = babyBookbuildingService.queryBabyBuildByCond(babyQuery); | |
| 574 | + if (com.lyms.platform.operate.web.utils.CollectionUtils.isNotEmpty(models)) { | |
| 575 | + BabyModel babyModel = models.get(0); | |
| 576 | + Map<String, Object> checkRecord = new HashMap<>(); | |
| 577 | + checkRecord.put("id", babyModel.getId()); | |
| 578 | + checkRecord.put("pid", babyModel.getPid()); | |
| 579 | + checkRecord.put("checkTime", DateUtil.getyyyy_MM_dd(babyModel.getBuildDate())); | |
| 580 | + String monthAge = DateUtil.getBabyMonthAge(babyModel.getBirth(), babyModel.getBuildDate()); | |
| 581 | + checkRecord.put("monthAge", monthAge); | |
| 582 | + checkRecord.put("buildId", babyModel.getId()); | |
| 583 | + checkRecord.put("blNo", babyModel.getBlNo()); | |
| 584 | + checkRecord.put("type", "1"); | |
| 585 | + checkRecord.put("hospitalId", babyModel.getHospitalId()); | |
| 586 | + //查询建档医院 | |
| 587 | + Organization org = organizationService.getOrganization(Integer.valueOf(babyModel.getHospitalId())); | |
| 588 | + if (org != null) { | |
| 589 | + checkRecord.put("hospitalName", org.getName()); | |
| 590 | + } else { | |
| 591 | + checkRecord.put("hospitalName", ""); | |
| 592 | + } | |
| 593 | +// rest.add(checkRecord); | |
| 594 | + } | |
| 595 | + | |
| 596 | + List<BabyEyeCheck> babyEyeChecks = mongoTemplate.find(Query.query(Criteria.where("babyId").is(babyId).and("hospitalId").in(hospitalIds).and("yn").ne("0")) | |
| 597 | + .with(new Sort(Sort.Direction.ASC, "checkTime")), BabyEyeCheck.class); | |
| 598 | + for (BabyEyeCheck babyEyeCheck : babyEyeChecks) { | |
| 599 | + Map<String, Object> temp = new HashMap<>(); | |
| 600 | + temp.put("id", babyEyeCheck.getId()); | |
| 601 | + temp.put("hospitalId", babyEyeCheck.getHospitalId()); | |
| 602 | + temp.put("pid", babyEyeCheck.getPid()); | |
| 603 | + temp.put("checkMonth", CheckMonthEnums.getName(babyEyeCheck.getCheckMonthId())); | |
| 604 | + BabyModel babyModel = mongoTemplate.findById(babyEyeCheck.getBabyId(), BabyModel.class); | |
| 605 | + if (babyModel != null) { | |
| 606 | + temp.put("name", babyModel.getName()); | |
| 607 | + if (babyModel.getSex() != null) { | |
| 608 | + temp.put("sex", SexEnum.getTextById(babyModel.getSex())); | |
| 609 | + } | |
| 610 | + } | |
| 611 | + temp.put("checkTime", babyEyeCheck.getCheckTime() == null ? null : DateUtil.getYyyyMmDd(babyEyeCheck.getCheckTime())); | |
| 612 | + temp.put("doctorSign", babyEyeCheck.getDoctorSign()); | |
| 613 | + temp.put("guidanceOpinions", babyEyeCheck.getGuidanceOpinions()); | |
| 614 | + Map<String,Object> rsMap=new HashMap<>(); | |
| 615 | + rsMap.put("R",ifnull(babyEyeCheck.getRefractionR1())); | |
| 616 | + rsMap.put("L",ifnull(babyEyeCheck.getRefractionL1())); | |
| 617 | + temp.put("视力筛查仪", rsMap); | |
| 618 | + | |
| 619 | + | |
| 620 | + Map<String,Object> rslMap=new HashMap<>(); | |
| 621 | + rslMap.put("R",ifnull(babyEyeCheck.getRightEyeVision())); | |
| 622 | + rslMap.put("L",ifnull(babyEyeCheck.getLeftEyeVision())); | |
| 623 | + | |
| 624 | + temp.put("裸眼视力", rslMap); | |
| 625 | + CollectionUtils.removeNullValue(temp); | |
| 626 | + rest.add(temp); | |
| 627 | + } | |
| 628 | + return RespBuilder.buildSuccess(rest); | |
| 629 | + } | |
| 630 | + | |
| 631 | + public Object ifnull(Object obj,Object value){ | |
| 632 | + return obj==null?value:obj; | |
| 633 | + } | |
| 634 | + | |
| 635 | + public Object ifnull(Object obj){ | |
| 636 | + return obj==null?"":obj; | |
| 637 | + } | |
| 638 | + | |
| 639 | + /** | |
| 640 | + * 儿童健康检查记录表 | |
| 641 | + * @param id | |
| 642 | + * @param checkMonthAge | |
| 643 | + * @return | |
| 644 | + */ | |
| 645 | + public BaseResponse chkRecordLst(String id, Integer checkMonthAge) { | |
| 646 | + List<Map<String, Object>> rest = new ArrayList<Map<String, Object>>(); | |
| 647 | + | |
| 648 | + Criteria criteriaCheck = Criteria.where("buildId").in(id); | |
| 649 | + criteriaCheck.and("checkMonth").is(checkMonthAge); | |
| 650 | + List<BabyCheckModel> babyCheckModelList = mongoTemplate.find(new Query(criteriaCheck).with(new Sort(Sort.Direction.DESC, "created")), BabyCheckModel.class); | |
| 651 | + | |
| 652 | + return RespBuilder.buildSuccess(babyCheckModelList); | |
| 653 | + } | |
| 654 | +} |
platform-operate-api/src/main/resources/babyhealthstat.xls
View file @
bc0b087