Commit 1566c319d907bf1fa042d6d8efd5d45007183472

Authored by litao@lymsh.com
1 parent 06f1a99cbb

部分逻辑

Showing 7 changed files with 70 additions and 91 deletions

platform-biz-service/src/main/resources/mainOrm/master/CouponMapper.xml View file @ 1566c31
... ... @@ -559,6 +559,9 @@
559 559 <if test="areaId != null and areaId != ''">
560 560 and area_id = #{areaId}
561 561 </if>
  562 + <if test="streetId != null and streetId != ''">
  563 + and street_id = #{streetId}
  564 + </if>
562 565 </select>
563 566  
564 567 <select id="findUnUsed" parameterType="map" resultType="map">
... ... @@ -695,17 +698,27 @@
695 698  
696 699 <select id="findUserSendInfoByUids" resultType="map" parameterType="map">
697 700 select a.create_hospital_id, a.user_id, a.create_date, a.send_hospital, b.name as doctoer_name from (
698   - select distinct(a.create_hospital_id), a.user_id, DATE_FORMAT(a.create_date, '%Y-%m-%d') as create_date, d.name as send_hospital, a.create_user_id
699   - from coupon_info a, coupon_template b, coupon_type c, organization d
700   - where a.coupon_template_id = b.id and b.type_id = c.id and a.create_hospital_id = d.id
701   - and a.create_hospital_id in
702   - <foreach collection="hid" open="(" close=")" separator="," item="hid">
703   - #{hid}
704   - </foreach>
705   - and a.user_id in
706   - <foreach collection="uids" open="(" close=")" separator="," item="uid">
707   - #{uid}
708   - </foreach>
  701 + select distinct(a.create_hospital_id), a.user_id, DATE_FORMAT(a.create_date, '%Y-%m-%d') as create_date, d.name as send_hospital, a.create_user_id
  702 + from coupon_info a, coupon_template b, coupon_type c, organization d
  703 + where a.coupon_template_id = b.id and b.type_id = c.id and a.create_hospital_id = d.id
  704 + and a.create_hospital_id in
  705 + <foreach collection="hid" open="(" close=")" separator="," item="hid">
  706 + #{hid}
  707 + </foreach>
  708 + and a.user_id in
  709 + <foreach collection="uids" open="(" close=")" separator="," item="uid">
  710 + #{uid}
  711 + </foreach>
  712 + and c.type in
  713 + <foreach collection="couponType" open="(" close=")" separator="," item="type">
  714 + #{type}
  715 + </foreach>
  716 + <if test="startDate != null">
  717 + and a.create_date >= #{startDate}
  718 + </if>
  719 + <if test="endDate != null">
  720 + and a.create_date <![CDATA[ < ]]> #{endDate}
  721 + </if>
709 722 ) a left join users b on a.create_user_id = b.id
710 723  
711 724 <!-- select distinct(a.create_hospital_id), a.user_id, DATE_FORMAT(a.create_date, '%Y-%m-%d') as create_date, d.name as send_hospital, e.name as doctoer_name
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/AreaCountController.java View file @ 1566c31
... ... @@ -24,16 +24,10 @@
24 24 @Autowired
25 25 private AreaCountFacade areaCountFacade;
26 26  
27   - /**
28   - * flag 是否返回的是医院
29   - * @param name
30   - * @param flag
31   - * @return
32   - */
33 27 @RequestMapping(value = "/area/childs", method = RequestMethod.GET)
34 28 @ResponseBody
35   - public BaseResponse getAreaChilds(@RequestParam String name, boolean flag) {
36   - return areaCountFacade.getAreaChilds(name, flag);
  29 + public BaseResponse getAreaChilds(@RequestParam String provinceName, String cityName, String areaName) {
  30 + return areaCountFacade.getAreaChilds(provinceName, cityName, areaName);
37 31 }
38 32  
39 33 /**
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/ReportController.java View file @ 1566c31
... ... @@ -11,7 +11,6 @@
11 11 import org.springframework.stereotype.Controller;
12 12 import org.springframework.web.bind.annotation.RequestMapping;
13 13 import org.springframework.web.bind.annotation.RequestMethod;
14   -import org.springframework.web.bind.annotation.RequestParam;
15 14 import org.springframework.web.bind.annotation.ResponseBody;
16 15  
17 16 import javax.servlet.http.HttpServletRequest;
18 17  
19 18  
... ... @@ -32,33 +31,16 @@
32 31 private IReportService reportService;
33 32  
34 33 /**
35   - * 建档统计(环比)
36   - * @param areaType 1=省 2=市 3=区县
37   - * @param startDate
38   - * @param endDate
39   - * @param reportType 1=周 2=月 3=季度 4=半年 5=年
40   - * @return
41   - */
42   - @ResponseBody
43   - @TokenRequired
44   - @RequestMapping(value = "/patient/huanbi", method = RequestMethod.GET)
45   - public BaseObjectResponse patientHuanBi(@RequestParam Integer areaType, Date startDate, Date endDate, Integer reportType, HttpServletRequest request) {
46   - return reportService.patientHuanBi(areaType, startDate, endDate, reportType, getUserId(request));
47   - }
48   -
49   - /**
50   - * 建档统计(占比)
51   - * @param areaType 1=省 2=市 3=区县
  34 + * 建档统计
52 35 * @param ageType 1=全部年龄 2=20岁以下 3=20-30岁 4=30-40岁 5=40岁以上
53   - * @param areaId 乡镇ID
54 36 * @param patientType 建档孕周 1=孕早期 2=孕中期 3=孕晚期
55 37 * @return
56 38 */
57 39 @ResponseBody
58 40 @TokenRequired
59   - @RequestMapping(value = "/patient/zhanbi", method = RequestMethod.GET)
60   - public BaseObjectResponse patientZhanbi(@RequestParam Integer areaType, @RequestParam Integer ageType, Integer areaId, Integer patientType, HttpServletRequest request) {
61   - return reportService.patientZhanbi(areaType, ageType, areaId, patientType, getUserId(request));
  41 + @RequestMapping(value = "/patients", method = RequestMethod.GET)
  42 + public BaseObjectResponse patients(String provinceId, String cityId, String aredId, String streetId, Integer ageType, Integer patientType, Date startDate, Date endDate, HttpServletRequest request) {
  43 + return reportService.patients(provinceId, cityId, aredId, streetId, ageType, patientType, startDate, endDate, getUserId(request));
62 44 }
63 45  
64 46  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AreaCountFacade.java View file @ 1566c31
... ... @@ -840,26 +840,35 @@
840 840 ResponseUtil.responseExcel(cnames,results,httpServletResponse);
841 841 }
842 842  
843   - public BaseResponse getAreaChilds(String name, boolean flag) {
  843 + public BaseResponse getAreaChilds(String provinceName, String cityName, String areaName) {
844 844 List<Map<String, Object>> childs = new ArrayList<>();
845   - BasicConfig basic = mongoTemplate.findOne(Query.query(Criteria.where("name").is(name)), BasicConfig.class);
846   - if(basic != null) {
847   - if(flag) {
848   - List<Map<String, Object>> hospitals = organizationService.getOrganizationByAreaId(basic.getId());
849   - childs.addAll(hospitals);
  845 + BasicConfig province = mongoTemplate.findOne(Query.query(Criteria.where("name").is(provinceName).and("typeId").is("b7ea005c-dfac-4c2a-bdae-25239b3f44fd")), BasicConfig.class);
  846 + if(province != null) {
  847 + List<BasicConfig> basicConfigs = new ArrayList<>();
  848 + if(StringUtils.isEmpty(cityName)) {
  849 + basicConfigs = mongoTemplate.find(Query.query(Criteria.where("parentId").is(province.getId()).and("typeId").is("b7ea005c-dfac-4c2a-bdae-25239b3f44fd")), BasicConfig.class);
850 850 } else {
851   - List<BasicConfig> basicConfigs = mongoTemplate.find(Query.query(Criteria.where("typeId").is("b7ea005c-dfac-4c2a-bdae-25239b3f44fd").and("parentId").is(basic.getId())), BasicConfig.class);
852   - for (BasicConfig basicConfig : basicConfigs) {
853   - Map<String, Object> temp = new HashMap<>();
854   - temp.put("id", basicConfig.getId());
855   - temp.put("name", basicConfig.getName());
856   - childs.add(temp);
  851 + BasicConfig city = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(province.getId()).and("name").is(cityName).and("typeId").is("b7ea005c-dfac-4c2a-bdae-25239b3f44fd")), BasicConfig.class);
  852 + if(city != null) {
  853 + if(StringUtils.isEmpty(areaName)) {
  854 + basicConfigs = mongoTemplate.find(Query.query(Criteria.where("parentId").is(city.getId())), BasicConfig.class);
  855 + } else {
  856 + BasicConfig area = mongoTemplate.findOne(Query.query(Criteria.where("parentId").is(city.getId()).and("name").is(areaName).and("typeId").is("b7ea005c-dfac-4c2a-bdae-25239b3f44fd")), BasicConfig.class);
  857 + if(area != null) {
  858 + basicConfigs = mongoTemplate.find(Query.query(Criteria.where("parentId").is(area.getId()).and("typeId").is("b7ea005c-dfac-4c2a-bdae-25239b3f44fd")), BasicConfig.class);
  859 + }
  860 + }
857 861 }
858 862 }
  863 + for (BasicConfig basicConfig : basicConfigs) {
  864 + Map<String, Object> temp = new HashMap<>();
  865 + temp.put("id", basicConfig.getId());
  866 + temp.put("name", basicConfig.getName());
  867 + childs.add(temp);
  868 + }
859 869 }
860 870 return RespBuilder.buildSuccess(childs);
861 871 }
862   -
863 872  
864 873 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/IReportService.java View file @ 1566c31
... ... @@ -98,8 +98,6 @@
98 98  
99 99 BaseObjectResponse unUsedPeopleInfo(Date startDate, Date endDate, String provinceId, String cityId, String areaId, String hospitalId, Integer page, Integer limit, Integer userId);
100 100  
101   - BaseObjectResponse patientHuanBi(Integer areaType, Date startDate, Date endDate, Integer reportType, Integer userId);
102   -
103   - BaseObjectResponse patientZhanbi(Integer areaType, Integer ageType, Integer areaId, Integer patientType, Integer userId);
  101 + BaseObjectResponse patients(String provinceId, String cityId, String aredId, String streetId, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId);
104 102 }
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/ReportServiceImpl.java View file @ 1566c31
... ... @@ -178,12 +178,9 @@
178 178 }
179 179  
180 180 @Override
181   - public BaseObjectResponse patientHuanBi(Integer areaType, Date startDate, Date endDate, Integer reportType, Integer userId) {
182   - return null;
183   - }
  181 + public BaseObjectResponse patients(String provinceId, String cityId, String aredId, String streetId, Integer ageType, Integer patientType, Date startDate, Date endDate, Integer userId) {
  182 + List<String> hospitals = mongoUtil.getHospitals(userId, provinceId, cityId, aredId, streetId);
184 183  
185   - @Override
186   - public BaseObjectResponse patientZhanbi(Integer areaType, Integer ageType, Integer areaId, Integer patientType, Integer userId) {
187 184 return null;
188 185 }
189 186  
... ... @@ -908,35 +905,6 @@
908 905 return RespBuilder.buildSuccess(new PageResult(0, page, limit, null));
909 906 }
910 907  
911   - /**
912   - * 过滤掉全部优惠券所对应的项目都没做的userid
913   - * @param userIds
914   - */
915   - /*private void doFilter(List<String> userIds, String hospitalId) {
916   - if(CollectionUtils.isNotEmpty(userIds) && StringUtils.isNotEmpty(hospitalId)) {
917   - List<Map<String, Object>> lists = couponMapper.findUserTypeInfo(CollectionUtils.createMap("userIds", userIds, "hospitalId", hospitalId));
918   - if(CollectionUtils.isNotEmpty(lists)) {
919   - // key = user_id, value = isRemove 默认true
920   - Map<String, Boolean> temp = new HashMap<>();
921   - for (String userId : userIds) {
922   - temp.put(userId, true);
923   - }
924   - for (Map<String, Object> map : lists) {
925   - Integer type = (Integer) map.get("type");
926   - String userId = (String) map.get("user_id");
927   - String checkTime = getCheckTime(type, userId, (Date) map.get("create_date"), patientId);
928   - if(!"".equals(checkTime)) { // 找到对应信息
929   - temp.put(userId, false);
930   - }
931   - }
932   - for (Map.Entry<String, Boolean> entry : temp.entrySet()) {
933   - if(entry.getValue()) {
934   - userIds.remove(entry.getKey());
935   - }
936   - }
937   - }
938   - }
939   - }*/
940 908  
941 909  
942 910 @Override
... ... @@ -1499,6 +1467,7 @@
1499 1467 Integer count = userIds.size();
1500 1468 List<String> ids = CollectionUtils.getPageIds(userIds, (Integer) param.get("currentPage2"), (Integer) param.get("pageSize2"));
1501 1469 Map<String, Object> param2 = new HashMap<>();
  1470 + param2.putAll(param);
1502 1471 param2.put("hid", param.get("hospitalId"));
1503 1472 param2.put("uids", ids);
1504 1473 List<Map<String,Object>> userSendInfo = couponMapper.findUserSendInfoByUids(param2);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/MongoUtil.java View file @ 1566c31
... ... @@ -4,8 +4,10 @@
4 4 import com.lyms.platform.common.enums.RiskDefaultTypeEnum;
5 5 import com.lyms.platform.common.utils.DateUtil;
6 6 import com.lyms.platform.common.utils.StringUtils;
  7 +import com.lyms.platform.operate.web.facade.AccessPermissionFacade;
7 8 import com.lyms.platform.operate.web.facade.AutoMatchFacade;
8 9 import com.lyms.platform.operate.web.facade.OrganizationGroupsFacade;
  10 +import com.lyms.platform.permission.dao.master.CouponMapper;
9 11 import com.lyms.platform.pojo.BabyModel;
10 12 import com.lyms.platform.pojo.BasicConfig;
11 13 import com.lyms.platform.pojo.Patients;
12 14  
... ... @@ -38,10 +40,22 @@
38 40 AutoMatchFacade autoMatchFacade;
39 41  
40 42 @Autowired
  43 + private AccessPermissionFacade accessPermissionFacade;
  44 +
  45 + @Autowired
41 46 private BabyBookbuildingService babyBookbuildingService;
42 47  
43 48 @Autowired
44 49 private OrganizationGroupsFacade organizationGroupsFacade;
  50 +
  51 + @Autowired
  52 + private CouponMapper couponMapper;
  53 +
  54 + public List<String> getHospitals(Integer userId, String provinceId, String cityId, String areaId, String streetId) {
  55 + List<String> hospitalIds = accessPermissionFacade.getCurrentUserHospPermissions(userId);
  56 + List<Map<String, Object>> hospitals= couponMapper.findHospitalInfoByIds2(CollectionUtils.createMap("list", hospitalIds, "provinceId", provinceId, "cityId", cityId, "areaId", areaId, "streetId", streetId));
  57 + return null;
  58 + }
45 59  
46 60 public List<Map<String, Object>> getListByParentId(String id) {
47 61 List<Map<String, Object>> list = new ArrayList<>();