Commit a6b52e6e031550b70f8e04ba33eecd89839d16c6
1 parent
3e460da5fb
Exists in
master
and in
6 other branches
承德市妇幼上线两癌需求-乳腺癌筛查统计表
Showing 3 changed files with 86 additions and 9 deletions
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PreEugenicsBaseController.java
View file @
a6b52e6
| ... | ... | @@ -7,7 +7,7 @@ |
| 7 | 7 | import com.lyms.hospitalapi.lhxfy.LhxfyService; |
| 8 | 8 | import com.lyms.platform.common.constants.ErrorCodeConstants; |
| 9 | 9 | import com.lyms.platform.common.result.BaseObjectResponse; |
| 10 | -import com.lyms.platform.operate.web.request.YqysParamRequest; | |
| 10 | +import com.lyms.platform.operate.web.request.*; | |
| 11 | 11 | import com.lyms.platform.operate.web.service.impl.PreEugebicsServiceImpl; |
| 12 | 12 | import com.lyms.platform.pojo.BasicConfig; |
| 13 | 13 | import com.lyms.platform.pojo.CervicalCancerModel; |
| ... | ... | @@ -21,9 +21,6 @@ |
| 21 | 21 | import com.lyms.platform.common.base.BaseController; |
| 22 | 22 | import com.lyms.platform.common.result.BaseListResponse; |
| 23 | 23 | import com.lyms.platform.common.result.BaseResponse; |
| 24 | -import com.lyms.platform.operate.web.request.CommonParamRequest; | |
| 25 | -import com.lyms.platform.operate.web.request.PreEugenicsBaseListRequest; | |
| 26 | -import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest; | |
| 27 | 24 | import com.lyms.platform.operate.web.service.IPreEugenicsService; |
| 28 | 25 | |
| 29 | 26 | import java.util.Date; |
| ... | ... | @@ -314,6 +311,19 @@ |
| 314 | 311 | BaseResponse baseResponse=lhxfyService.getHistoryPreEugenicsId(startDate,endDate); |
| 315 | 312 | return baseResponse; |
| 316 | 313 | } |
| 317 | - | |
| 314 | + /** | |
| 315 | + * 乳腺癌筛查统计表 | |
| 316 | + * | |
| 317 | + * @param queryRequest | |
| 318 | + * @param request | |
| 319 | + * @Author: sy | |
| 320 | + * @Date: 2022/2/7 | |
| 321 | + */ | |
| 322 | + @RequestMapping(method = RequestMethod.GET, value = "/getBreastInspectList") | |
| 323 | + @ResponseBody | |
| 324 | + @TokenRequired | |
| 325 | + public BaseObjectResponse getBreastInspectList(CancerScreeningRequest queryRequest, HttpServletRequest request) { | |
| 326 | + return iPreEugenicsService.getBreastInspectList(queryRequest); | |
| 327 | + } | |
| 318 | 328 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IPreEugenicsService.java
View file @
a6b52e6
| ... | ... | @@ -2,6 +2,7 @@ |
| 2 | 2 | |
| 3 | 3 | import com.lyms.platform.common.result.BaseObjectResponse; |
| 4 | 4 | import com.lyms.platform.common.result.BaseResponse; |
| 5 | +import com.lyms.platform.operate.web.request.CancerScreeningRequest; | |
| 5 | 6 | import com.lyms.platform.operate.web.request.PreEugenicsBaseListRequest; |
| 6 | 7 | import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest; |
| 7 | 8 | import com.lyms.platform.pojo.PreEugenicsBaseModel; |
| ... | ... | @@ -34,5 +35,7 @@ |
| 34 | 35 | BaseResponse doSyncPreEugenicsBase(); |
| 35 | 36 | |
| 36 | 37 | void exportYqys(PreEugenicsBaseListRequest param, Integer userId, HttpServletResponse response); |
| 38 | + | |
| 39 | + BaseObjectResponse getBreastInspectList(CancerScreeningRequest queryRequest); | |
| 37 | 40 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/PreEugebicsServiceImpl.java
View file @
a6b52e6
| ... | ... | @@ -2,7 +2,10 @@ |
| 2 | 2 | |
| 3 | 3 | import java.util.*; |
| 4 | 4 | |
| 5 | +import com.google.common.collect.ArrayListMultimap; | |
| 6 | +import com.google.common.collect.Multimap; | |
| 5 | 7 | import com.lyms.hospitalapi.lcfy.LisService; |
| 8 | +import com.lyms.platform.biz.service.CancerScreeningService; | |
| 6 | 9 | import com.lyms.platform.biz.service.PremaritalCheckupService; |
| 7 | 10 | import com.lyms.platform.biz.service.ResidentsArchiveService; |
| 8 | 11 | import com.lyms.platform.common.dao.operator.MongoCondition; |
| 9 | 12 | |
| 10 | 13 | |
| ... | ... | @@ -11,16 +14,18 @@ |
| 11 | 14 | import com.lyms.platform.common.result.BaseObjectResponse; |
| 12 | 15 | import com.lyms.platform.common.utils.*; |
| 13 | 16 | import com.lyms.platform.operate.web.facade.AutoMatchFacade; |
| 14 | -import com.lyms.platform.operate.web.request.YqysParamRequest; | |
| 17 | +import com.lyms.platform.operate.web.request.*; | |
| 15 | 18 | import com.lyms.platform.operate.web.utils.ResponseUtil; |
| 16 | 19 | import com.lyms.platform.permission.model.Organization; |
| 17 | 20 | import com.lyms.platform.permission.model.OrganizationQuery; |
| 18 | 21 | import com.lyms.platform.permission.service.OrganizationService; |
| 19 | 22 | import com.lyms.platform.permission.service.UsersService; |
| 20 | 23 | import com.lyms.platform.pojo.*; |
| 24 | +import com.lyms.platform.query.CancerScreeningQuery; | |
| 21 | 25 | import com.lyms.platform.query.PremaritalCheckupQuery; |
| 22 | 26 | import com.lyms.platform.query.ResidentsArchiveQuery; |
| 23 | 27 | import org.apache.commons.collections.CollectionUtils; |
| 28 | +import org.apache.commons.collections.MapUtils; | |
| 24 | 29 | import org.springframework.beans.BeanUtils; |
| 25 | 30 | import org.springframework.beans.factory.annotation.Autowired; |
| 26 | 31 | import org.springframework.data.domain.Sort; |
| ... | ... | @@ -37,9 +42,6 @@ |
| 37 | 42 | import com.lyms.platform.common.constants.ErrorCodeConstants; |
| 38 | 43 | import com.lyms.platform.common.result.BaseListResponse; |
| 39 | 44 | import com.lyms.platform.common.result.BaseResponse; |
| 40 | -import com.lyms.platform.operate.web.request.CommonParamRequest; | |
| 41 | -import com.lyms.platform.operate.web.request.PreEugenicsBaseListRequest; | |
| 42 | -import com.lyms.platform.operate.web.request.PreEugenicsBaseRequest; | |
| 43 | 45 | import com.lyms.platform.operate.web.result.PreEugenicsBaseListResult; |
| 44 | 46 | import com.lyms.platform.operate.web.service.IPreEugenicsService; |
| 45 | 47 | import com.lyms.platform.operate.web.utils.CommonsHelper; |
| ... | ... | @@ -80,6 +82,9 @@ |
| 80 | 82 | @Autowired |
| 81 | 83 | private PremaritalCheckupService premaritalCheckupService; |
| 82 | 84 | |
| 85 | + @Autowired | |
| 86 | + private CancerScreeningService cancerScreenService; | |
| 87 | + | |
| 83 | 88 | /** |
| 84 | 89 | * 根据身份证号获取对应的孕前优生信息 |
| 85 | 90 | * |
| ... | ... | @@ -1219,6 +1224,65 @@ |
| 1219 | 1224 | } |
| 1220 | 1225 | |
| 1221 | 1226 | } |
| 1227 | + | |
| 1228 | + @Override | |
| 1229 | + public BaseObjectResponse getBreastInspectList(CancerScreeningRequest queryRequest) { | |
| 1230 | + //查询条件 | |
| 1231 | + CancerScreeningQuery query = new CancerScreeningQuery(); | |
| 1232 | + query.setYn(YnEnums.YES.getId()); | |
| 1233 | + query.setProvinceId(queryRequest.getProvinceId()); | |
| 1234 | + query.setCityId(queryRequest.getCityId()); | |
| 1235 | + query.setAreaId(StringUtils.isNotEmpty(queryRequest.getAreaId())?query.getAreaId():null); | |
| 1236 | + if (StringUtils.isNotEmpty(queryRequest.getCheckDate())) { | |
| 1237 | + String[] arrs = queryRequest.getCheckDate().split(" - "); | |
| 1238 | + query.setCreatedStart(DateUtil.parseYMD(arrs[0])); | |
| 1239 | + query.setCreatedEnd(new Date(DateUtil.parseYMD(arrs[1]).getTime() + 24 * 60 * 60 * 1000 - 1)); | |
| 1240 | + } | |
| 1241 | + //分组查询 | |
| 1242 | + AggregationOperation match = Aggregation.match(query.convertToQuery().getCriteria()); | |
| 1243 | + AggregationOperation group = Aggregation.group("areaId"); | |
| 1244 | + Aggregation aggregation= Aggregation.newAggregation(match, group); | |
| 1245 | + AggregationResults<HashMap> result = mongoTemplate.aggregate(aggregation,"lyms_cancer_screen", HashMap.class); | |
| 1246 | + List <Map <String, Object>> areaList=new ArrayList<>(); | |
| 1247 | + for (HashMap mappedResult : result.getMappedResults()){ | |
| 1248 | + Map <String, Object> map=new HashMap<>(); | |
| 1249 | + long zc=0;//正常 | |
| 1250 | + long lx=0;//良性 | |
| 1251 | + long ex=0;//恶性 | |
| 1252 | + long zs=0;//总数 | |
| 1253 | + if (null!=mappedResult.get("_id")){ | |
| 1254 | + map.put("name", CommonsHelper.getName1(mappedResult.get("_id").toString(),basicConfigService)); | |
| 1255 | + query.setAreaId(mappedResult.get("_id").toString()); | |
| 1256 | + List <CancerScreeningModel> modelList = cancerScreenService.queryCancerScreList(query); | |
| 1257 | + for (CancerScreeningModel cancerScreeningModel : modelList) { | |
| 1258 | + if(MapUtils.isNotEmpty(cancerScreeningModel.getZhJd())){ | |
| 1259 | + if("0".equals(cancerScreeningModel.getZhJd().get("yn"))){ | |
| 1260 | + zc++; | |
| 1261 | + }else { | |
| 1262 | + List<String> list = (List<String>) cancerScreeningModel.getZhJd().get("yc"); | |
| 1263 | + String[] list2={"1","2","3","4","5"}; | |
| 1264 | + String[] list3={"6","7","8"}; | |
| 1265 | + if(CollectionUtils.containsAny(list, Arrays.asList(list2))){ | |
| 1266 | + lx++; | |
| 1267 | + } | |
| 1268 | + if(CollectionUtils.containsAny(list, Arrays.asList(list3))){ | |
| 1269 | + ex++; | |
| 1270 | + } | |
| 1271 | + } | |
| 1272 | + | |
| 1273 | + } | |
| 1274 | + } | |
| 1275 | + map.put("zc", zc); | |
| 1276 | + map.put("lx", lx); | |
| 1277 | + map.put("ex", ex); | |
| 1278 | + map.put("zs", zc+lx+ex); | |
| 1279 | + areaList.add(map); | |
| 1280 | + } | |
| 1281 | + } | |
| 1282 | + return new BaseObjectResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功").setData(areaList); | |
| 1283 | + } | |
| 1284 | + | |
| 1285 | + | |
| 1222 | 1286 | |
| 1223 | 1287 | public static final String AREA_URL = PropertiesUtils.getPropertyValue("area_url"); |
| 1224 | 1288 | } |