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 | } |