diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterOrganizationMapper.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterOrganizationMapper.java index a3d2336..a673091 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterOrganizationMapper.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/dao/master/MasterOrganizationMapper.java @@ -4,6 +4,7 @@ import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.OrganizationQuery; import java.util.List; +import java.util.Map; public interface MasterOrganizationMapper { public Integer addOrganization(Organization obj); @@ -23,4 +24,6 @@ public interface MasterOrganizationMapper { List queryHospital(); void execSql(String sql); + + List> getOrganizationByAreaId(String id); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/OrganizationService.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/OrganizationService.java index f45b73c..5070940 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/OrganizationService.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/OrganizationService.java @@ -4,6 +4,7 @@ import com.lyms.platform.permission.model.Organization; import com.lyms.platform.permission.model.OrganizationQuery; import java.util.List; +import java.util.Map; public interface OrganizationService { public Integer addOrganization(Organization obj); @@ -31,4 +32,6 @@ public interface OrganizationService { public void rebuildDefaultRoles(); void execSql(String sql); + + List> getOrganizationByAreaId(String id); } \ No newline at end of file diff --git a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java index cceab3f..38c431a 100644 --- a/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java +++ b/platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/OrganizationServiceImpl.java @@ -82,6 +82,12 @@ public class OrganizationServiceImpl extends DataAccessLayerService implements O masterOrganizationMapper.execSql(sql); } + @Override + public List> getOrganizationByAreaId(String id) { + return masterOrganizationMapper.getOrganizationByAreaId(id); + } + + private void addDefaultRoles(Organization obj) { List rolesList = new ArrayList<>(); rolesList.add(rolesService.getRoles(87)); diff --git a/platform-biz-service/src/main/resources/mainOrm/master/MasterOrganization.xml b/platform-biz-service/src/main/resources/mainOrm/master/MasterOrganization.xml index f7da3d2..a3a5b1f 100644 --- a/platform-biz-service/src/main/resources/mainOrm/master/MasterOrganization.xml +++ b/platform-biz-service/src/main/resources/mainOrm/master/MasterOrganization.xml @@ -249,5 +249,9 @@ select id,name,type,level,area_manage,province_id,city_id,area_id,address,descri + + \ No newline at end of file diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java index fe5b820..76fcc44 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java @@ -25,6 +25,18 @@ public class AreaCountController extends BaseController { private AreaCountFacade areaCountFacade; /** + * flag 是否返回的是医院 + * @param name + * @param flag + * @return + */ + @RequestMapping(value = "/area/childs", method = RequestMethod.GET) + @ResponseBody + public BaseResponse getAreaChilds(@RequestParam String name, boolean flag) { + return areaCountFacade.getAreaChilds(name, flag); + } + + /** * 产检节点统计 * @param request * @param time 时间范围 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java index 4336720..0ffc67e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java @@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; @@ -31,6 +32,37 @@ public class ReportController extends BaseController { private IReportService reportService; /** + * 建档统计(环比) + * @param areaType 1=省 2=市 3=区县 + * @param startDate + * @param endDate + * @param reportType 1=周 2=月 3=季度 4=半年 5=年 + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/patient/huanbi", method = RequestMethod.GET) + public BaseObjectResponse patientHuanBi(@RequestParam Integer areaType, Date startDate, Date endDate, Integer reportType, HttpServletRequest request) { + return reportService.patientHuanBi(areaType, startDate, endDate, reportType, getUserId(request)); + } + + /** + * 建档统计(占比) + * @param areaType 1=省 2=市 3=区县 + * @param ageType 1=全部年龄 2=20岁以下 3=20-30岁 4=30-40岁 5=40岁以上 + * @param areaId 乡镇ID + * @param patientType 建档孕周 1=孕早期 2=孕中期 3=孕晚期 + * @return + */ + @ResponseBody + @TokenRequired + @RequestMapping(value = "/patient/zhanbi", method = RequestMethod.GET) + public BaseObjectResponse patientZhanbi(@RequestParam Integer areaType, @RequestParam Integer ageType, Integer areaId, Integer patientType, HttpServletRequest request) { + return reportService.patientZhanbi(areaType, ageType, areaId, patientType, getUserId(request)); + } + + + /** * 未发放优惠券统计 */ @RequestMapping(value = "/coupon/unSend", method = RequestMethod.GET) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java index 0bf014d..9c8b950 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java @@ -7,6 +7,7 @@ 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; import com.lyms.platform.common.utils.*; import com.lyms.platform.common.utils.StringUtils; import com.lyms.platform.operate.web.utils.CommonsHelper; @@ -19,6 +20,7 @@ import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.OrganizationService; import com.lyms.platform.permission.service.UsersService; import com.lyms.platform.pojo.AntExRecordModel; +import com.lyms.platform.pojo.BasicConfig; import com.lyms.platform.pojo.DataPermissionsModel; import com.lyms.platform.pojo.Patients; import com.lyms.platform.query.AntExRecordQuery; @@ -28,6 +30,9 @@ import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; @@ -46,6 +51,8 @@ import java.util.concurrent.Future; @Component public class AreaCountFacade { + @Autowired + private MongoTemplate mongoTemplate; @Autowired private AntExRecordService recordService; @@ -833,6 +840,27 @@ public class AreaCountFacade { ResponseUtil.responseExcel(cnames,results,httpServletResponse); } + public BaseResponse getAreaChilds(String name, boolean flag) { + List> childs = new ArrayList<>(); + BasicConfig basic = mongoTemplate.findOne(Query.query(Criteria.where("name").is(name)), BasicConfig.class); + if(basic != null) { + if(flag) { + List> hospitals = organizationService.getOrganizationByAreaId(basic.getId()); + childs.addAll(hospitals); + } else { + List basicConfigs = mongoTemplate.find(Query.query(Criteria.where("typeId").is("b7ea005c-dfac-4c2a-bdae-25239b3f44fd").and("parentId").is(basic.getId())), BasicConfig.class); + for (BasicConfig basicConfig : basicConfigs) { + Map temp = new HashMap<>(); + temp.put("id", basicConfig.getId()); + temp.put("name", basicConfig.getName()); + childs.add(temp); + } + } + } + return RespBuilder.buildSuccess(childs); + } + + } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java index e60e0b8..adb003e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java @@ -97,4 +97,8 @@ public interface IReportService extends IBaseService { void unUsedExport(Date startDate, Date endDate, String provinceId, String cityId, String areaId, String hospitalId, Integer userId, HttpServletResponse response); BaseObjectResponse unUsedPeopleInfo(Date startDate, Date endDate, String provinceId, String cityId, String areaId, String hospitalId, Integer page, Integer limit, Integer userId); + + BaseObjectResponse patientHuanBi(Integer areaType, Date startDate, Date endDate, Integer reportType, Integer userId); + + BaseObjectResponse patientZhanbi(Integer areaType, Integer ageType, Integer areaId, Integer patientType, Integer userId); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java index 0a0e6f1..50fe9c8 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java @@ -178,6 +178,16 @@ public class ReportServiceImpl extends BaseServiceImpl implements IReportService } @Override + public BaseObjectResponse patientHuanBi(Integer areaType, Date startDate, Date endDate, Integer reportType, Integer userId) { + return null; + } + + @Override + public BaseObjectResponse patientZhanbi(Integer areaType, Integer ageType, Integer areaId, Integer patientType, Integer userId) { + return null; + } + + @Override public BaseObjectResponse areaCountFacade(String startDate, String endDate, Integer startWeek, Integer endWeek, Integer childBirth, Integer userId) { BaseObjectResponse rest = new BaseObjectResponse(); Map restMap = new HashMap<>();