api.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/api/FwjgController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/FuwuDetails.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/FuwuPerson.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/OrgFuwu.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/vo/FwjgCount.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/vo/FwnlAndOrderCount.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/vo/OrderByExecute.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
api.md
@@ -18,7 +18,7 @@ > 获取所有区域 ###### URL > /api/getAllArea > /api/fwjg/getByPage ###### 支持格式 > JSON @@ -29,29 +29,82 @@ ###### 请求参数 |参数|必选|类型|说明| |:----- |:-------|:-----|----- | | | || | | pageNumber | 是 |int| 分页页数 | | pageSize | 是 |int| 分页大小 | | sort | 否 |String| 排序字段 | | order | 否 |String| 排序方式 asc/desc | ###### 返回字段 |返回字段|字段类型|说明 | |:----- |:------|:----------------------------- | | | | | | total | int | 返回分页结果数 | | size | int | 分页大小 | | current | int | 当前页数 | | pages | int | 总共页数 | | success | boolean | 是否成功 | | code | int | 返回code码 | | result | object | 返回结果 | | name | String | 名称 | | pid | String | 上级id | ###### 接口示例 ``` java { "statue": 0, "company": "可口可乐", "category": "饮料", "success": true, "message": "success", "code": 200, "timestamp": 1607582573231, "result": { "records": [ { "id": "1336922902628536320", "createBy": null, "createTime": "2020-12-10 14:37:13", "updateBy": null, "updateTime": null, "delFlag": 0, "name": "石家庄市", "pid": null }, { "id": "1336923402568601600", "createBy": null, "createTime": "2020-12-10 14:39:12", "updateBy": null, "updateTime": null, "delFlag": 0, "name": "新华区", "pid": "1336922902628536320" }, { "id": "1336923441189752832", "createBy": null, "createTime": "2020-12-10 14:39:21", "updateBy": null, "updateTime": null, "delFlag": 0, "name": "正定县", "pid": "1336922902628536320" } ], "total": 7, "size": 10, "current": 1, "orders": [], "hitCount": false, "searchCount": true, "pages": 1 } } ``` <h3 id='2'>二、首页</h2> <h4 id='2.1'>2.1获取区域津贴统计</h4> <h3 id='2'>二、服务机构</h2> <h4 id='2.1'>2.1根据区域id获取区域下所有机构和人员数量以及订单总数</h4> ###### 接口功能 > 根据区域名称获取津贴统计 > 根据区域id获取区域下所有机构和人员数量以及订单总数 ###### URL > /api/getAllArea > /api/fwjg/getCountByAreaId ###### 支持格式 > JSON @@ -62,18 +115,215 @@ ###### 请求参数 |参数|必选|类型|说明| |:----- |:-------|:-----|----- | | | || | | areaId | 是 |String | 区域id | ###### 返回字段 |返回字段|字段类型|说明 | |:----- |:------|:----------------------------- | | | | | | fwjgCount | Integer | 服务机构总数 | | fwPersonCount | Integer | 服务人员总数 | | orderCount | Integer | 订单总数 | | orderWatch | String | 订单监控率 | ###### 接口示例 ``` java { "statue": 0, "company": "可口可乐", "category": "饮料", "success": true, "message": "success", "code": 200, "timestamp": 1607587253794, "result": { "fwjgCount": 1, "fwPersonCount": 1, "orderCount": 2, "orderWatch": "100%" } } ``` ``` <h4 id='2.1'>2.1根据区域id获取区域下所有服务以及服务详情和订单人数</h4> ###### 接口功能 > 根据区域id获取区域下所有机构和人员数量以及订单总数 ###### URL > /api/fwjg/getFwnlByAreaId ###### 支持格式 > JSON ###### HTTP请求方式 > GET ###### 请求参数 |参数|必选|类型|说明| |:----- |:-------|:-----|----- | | areaId | 是 |String | 区域id | ###### 返回字段 |返回字段|字段类型|说明 | |:----- |:------|:----------------------------- | | fuwuDetails | object | 服务详情一级菜单 | | fuwuDetailsList | list | 服务详情二级菜单 | ###### 接口示例 ``` java { "success": true, "message": "success", "code": 200, "timestamp": 1607594225830, "result": [ { "fuwuDetails": { "id": "1336969411080359936", "createBy": null, "createTime": "2020-12-10 17:42:02", "updateBy": null, "updateTime": null, "delFlag": 0, "areaId": "1336923302341513216", "orgFwId": "1336941016934125568", "pid": null, "name": "康复服务", "orderNumber": null }, "fuwuDetailsList": [ { "id": "1336969601455624192", "createBy": null, "createTime": "2020-12-10 17:42:47", "updateBy": null, "updateTime": null, "delFlag": 0, "areaId": "1336923302341513216", "orgFwId": "1336941016934125568", "pid": "1336969411080359936", "name": "功能训练", "orderNumber": 1 }, { "id": "1336969641251180544", "createBy": null, "createTime": "2020-12-10 17:42:56", "updateBy": null, "updateTime": null, "delFlag": 0, "areaId": "1336923302341513216", "orgFwId": "1336941016934125568", "pid": "1336969411080359936", "name": "康复按摩", "orderNumber": 0 } ] }, { "fuwuDetails": { "id": "1336969708104192000", "createBy": null, "createTime": "2020-12-10 17:43:12", "updateBy": null, "updateTime": null, "delFlag": 0, "areaId": "1336923302341513216", "orgFwId": "1336941016934125568", "pid": null, "name": "生活照料服务", "orderNumber": null }, "fuwuDetailsList": [ { "id": "1336969818158534656", "createBy": null, "createTime": "2020-12-10 17:43:39", "updateBy": null, "updateTime": null, "delFlag": 0, "areaId": "1336923302341513216", "orgFwId": "1336941016934125568", "pid": "1336969708104192000", "name": "喘息服务", "orderNumber": 0 } ] } ] } } ``` <h4 id='2.1'>2.3根据区域id和订单量查询服务机构排名情况</h4> ###### 接口功能 > 根据区域id和订单量查询服务机构排名情况 ###### URL > /api/fwjg/getFwjgOrderByOrderNumber ###### 支持格式 > JSON ###### HTTP请求方式 > GET ###### 请求参数 |参数|必选|类型|说明| |:----- |:-------|:-----|----- | | areaId | 是 |String | 区域id | ###### 返回字段 |返回字段|字段类型|说明 | |:----- |:------|:----------------------------- | | records | list | 服务机构list | ###### 接口示例 ``` java ``` <h4 id='2.1'>2.3根据区域id和订单量查询服务机构排名情况</h4> ###### 接口功能 > 根据区域id和订单量查询实际服务排名情况 ###### URL > /api/fwjg/getFuwuDetailsOrderByOrderNumber ###### 支持格式 > JSON ###### HTTP请求方式 > GET ###### 请求参数 |参数|必选|类型|说明| |:----- |:-------|:-----|----- | | areaId | 是 |String | 区域id | ###### 返回字段 |返回字段|字段类型|说明 | |:----- |:------|:----------------------------- | | records | list | 服务详情list | ###### 接口示例 ``` java ``` <h4 id='2.1'>2.4执行中订单</h4> ###### 接口功能 > 执行中订单 ###### URL > /api/fwjg/getOrder ###### 支持格式 > JSON ###### HTTP请求方式 > GET ###### 请求参数 |参数|必选|类型|说明| |:----- |:-------|:-----|----- | | areaId | 是 |String | 区域id | ###### 返回字段 |返回字段|字段类型|说明 | |:----- |:------|:----------------------------- | | count | int | 执行中订单数量 | | orderByExecuteList | list | 执行中订单详情 | ###### 接口示例 ``` java platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/api/FwjgController.java
New file @@ -0,0 +1,182 @@ package cn.cetc54.platform.zhyl.api; import cn.cetc54.platform.core.common.utils.PageUtil; import cn.cetc54.platform.core.common.utils.ResultUtil; import cn.cetc54.platform.core.common.vo.PageVo; import cn.cetc54.platform.core.common.vo.Result; import cn.cetc54.platform.zhyl.entity.*; import cn.cetc54.platform.zhyl.entity.vo.FwjgCount; import cn.cetc54.platform.zhyl.entity.vo.FwnlAndOrderCount; import cn.cetc54.platform.zhyl.entity.vo.OrderByExecute; import cn.cetc54.platform.zhyl.service.*; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import javafx.collections.ObservableList; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.sql.Wrapper; import java.util.*; import java.util.stream.Collectors; @Slf4j @RestController @Api(description = "服务机构页面接口") @RequestMapping("/api/fwjg") @Transactional public class FwjgController { @Autowired private IAreaService iAreaService; @Autowired private IOrgFuwuService iOrgFuwuService; @Autowired private IFuwuPersonService iFuwuPersonService; @Autowired private IOrderService iOrderService; @Autowired private IFuwuDetailsService iFuwuDetailsService; @RequestMapping(value = "/getByPage", method = RequestMethod.GET) @ApiOperation(value = "分页获取所有") public Result<IPage<Area>> getByPage(PageVo page){ IPage<Area> data = iAreaService.page(PageUtil.initMpPage(page)); return new ResultUtil<IPage<Area>>().setData(data); } @RequestMapping(value = "/getCountByAreaId", method = RequestMethod.GET) @ApiOperation(value = "根据区域id获取区域下所有机构和人员数量以及订单总数") public Result<Object> getCountByAreaId(String areaId){ QueryWrapper<OrgFuwu> wrapper = new QueryWrapper<>(); wrapper.eq("area_id",areaId); int orgFuwuCount = iOrgFuwuService.count(wrapper); QueryWrapper<FuwuPerson> wrapper1 = new QueryWrapper<>(); wrapper1.eq("area_id",areaId); int fuwuPersonCount = iFuwuPersonService.count(wrapper1); QueryWrapper<Order> wrapper2 = new QueryWrapper<>(); wrapper2.eq("area_id",areaId); int orderCount = iOrderService.count(wrapper2); QueryWrapper<Order> wrapper3 = new QueryWrapper<>(); wrapper2.eq("area_id",areaId); wrapper2.eq("state",0); int orderCount2 = iOrderService.count(wrapper3); FwjgCount fwjgCount=new FwjgCount(); fwjgCount.setFwjgCount(orgFuwuCount); fwjgCount.setFwPersonCount(fuwuPersonCount); fwjgCount.setOrderCount(orderCount); fwjgCount.setOrderWatch((orderCount2/orderCount)*100+"%"); return new ResultUtil<>().setData(fwjgCount); } @RequestMapping(value = "/getFwnlByAreaId", method = RequestMethod.GET) @ApiOperation(value = "根据区域id获取区域下所有实际服务以及服务订单数") public Result<Object> getFwnlByAreaId(String areaId){ QueryWrapper<FuwuDetails> wrapper = new QueryWrapper<>(); wrapper.isNull("pid"); List<FuwuDetails> list = iFuwuDetailsService.list(wrapper); List<FwnlAndOrderCount> fwnlAndOrderCountList=new ArrayList<>(); for (FuwuDetails fuwuDetails : list) { QueryWrapper<FuwuDetails> wrapper1 = new QueryWrapper<>(); wrapper1.eq("pid",fuwuDetails.getId()); List<FuwuDetails> list1 = iFuwuDetailsService.list(wrapper1); for (FuwuDetails details : list1) { QueryWrapper<Order> wrapper2 = new QueryWrapper<>(); wrapper2.eq("area_id",areaId); wrapper2.eq("detail_id",details.getId()); int count = iOrderService.count(wrapper2); details.setOrderNumber(count); } FwnlAndOrderCount fwnlAndOrderCount=new FwnlAndOrderCount(); fwnlAndOrderCount.setFuwuDetails(fuwuDetails); fwnlAndOrderCount.setFuwuDetailsList(list1); fwnlAndOrderCountList.add(fwnlAndOrderCount); } return new ResultUtil<Object>().setData(fwnlAndOrderCountList); } @RequestMapping(value = "/getFwjgOrderByOrderNumber", method = RequestMethod.GET) @ApiOperation(value = "根据区域id和订单量查询服务机构排名情况") public Result<Object> getFwjgOrderByOrderNumber(String areaId){ QueryWrapper<OrgFuwu> wrapper = new QueryWrapper<>(); wrapper.eq("area_id",areaId); List<OrgFuwu> list = iOrgFuwuService.list(wrapper); for (OrgFuwu orgFuwu : list) { QueryWrapper<FuwuDetails> wrapper1 = new QueryWrapper<>(); wrapper1.isNull("pid"); wrapper1.eq("org_fw_id",orgFuwu.getId()); List<FuwuDetails> list1 = iFuwuDetailsService.list(wrapper1); int orgFuwuCount=0; for (FuwuDetails fuwuDetails : list1) { QueryWrapper<FuwuDetails> wrapper2 = new QueryWrapper<>(); wrapper2.eq("pid",fuwuDetails.getId()); List<FuwuDetails> list2 = iFuwuDetailsService.list(wrapper2); int fuwuDetailsCount=0; for (FuwuDetails details : list2) { QueryWrapper<Order> wrapper3 = new QueryWrapper<>(); wrapper3.eq("area_id",areaId); wrapper3.eq("detail_id",details.getId()); int count = iOrderService.count(wrapper3); fuwuDetailsCount+=count; } orgFuwuCount+=fuwuDetailsCount; } orgFuwu.setOrderNumber(orgFuwuCount); } List<OrgFuwu> collectList = list.stream().sorted(Comparator.comparing(OrgFuwu::getOrderNumber)).collect(Collectors.toList()); return new ResultUtil<Object>().setData(collectList.subList(0,10)); } @RequestMapping(value = "/getFuwuDetailsOrderByOrderNumber", method = RequestMethod.GET) @ApiOperation(value = "根据区域id和订单量查询实际服务排名情况") public Result<Object> getFuwuDetailsOrderByOrderNumber(String areaId){ QueryWrapper<FuwuDetails> wrapper = new QueryWrapper<>(); wrapper.isNotNull("pid"); wrapper.eq("del_flag",0); List<FuwuDetails> list = iFuwuDetailsService.list(wrapper); for (FuwuDetails fuwuDetails : list) { QueryWrapper<Order> wrapper3 = new QueryWrapper<>(); wrapper3.eq("area_id",areaId); wrapper3.eq("detail_id",fuwuDetails.getId()); int count = iOrderService.count(wrapper3); fuwuDetails.setOrderNumber(count); } List<FuwuDetails> collectList = list.stream().sorted(Comparator.comparing(FuwuDetails::getOrderNumber)).collect(Collectors.toList()); return new ResultUtil<Object>().setData(collectList.subList(0,10)); } @RequestMapping(value = "/getOrder", method = RequestMethod.GET) @ApiOperation(value = "执行中订单") public Result<Object> getOrder(String areaId){ QueryWrapper<Order> wrapper = new QueryWrapper<>(); wrapper.eq("area_id",areaId); wrapper.eq("state",0); wrapper.orderByAsc("creat_time"); List<Order> list = iOrderService.list(wrapper); int count = iOrderService.count(wrapper); List<OrderByExecute> orderByExecuteList=new ArrayList<>(); for (Order order : list) { OrderByExecute orderByExecute=new OrderByExecute(); orderByExecute.setOrder(order); FuwuPerson person = iFuwuPersonService.getById(order.getPersonId()); orderByExecute.setFuwuPerson(person); FuwuDetails fuwuDetail = iFuwuDetailsService.getById(order.getDetailId()); orderByExecute.setFuwuDetails(fuwuDetail); orderByExecuteList.add(orderByExecute); } Map<String,Object> map=new HashMap<>(); map.put("count",count); map.put("orderByExecuteList",orderByExecuteList); return new ResultUtil<Object>().setData(map); } } platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/FuwuDetails.java
@@ -1,6 +1,7 @@ package cn.cetc54.platform.zhyl.entity; import cn.cetc54.platform.core.base.BaseEntity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModel; @@ -42,4 +43,7 @@ @Column( length = 24 ,name = "name") @ApiModelProperty(value = "服务名称") private String name; @TableField(exist=false) private Integer orderNumber; } platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/FuwuPerson.java
@@ -26,6 +26,10 @@ private static final long serialVersionUID = 1L; @Column( length = 24 ,name = "area_id") @ApiModelProperty(value = "区域id") private String areaId; @Column( length = 10 ,name = "name") @ApiModelProperty(value = "名称") private String name; platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/OrgFuwu.java
@@ -1,6 +1,7 @@ package cn.cetc54.platform.zhyl.entity; import cn.cetc54.platform.core.base.BaseEntity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModel; @@ -33,4 +34,7 @@ @Column( length = 24 ,name = "area_id") @ApiModelProperty(value = "区域id") private String areaId; @TableField(exist=false) private Integer orderNumber; } platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/vo/FwjgCount.java
New file @@ -0,0 +1,11 @@ package cn.cetc54.platform.zhyl.entity.vo; import lombok.Data; @Data public class FwjgCount { private Integer fwjgCount; private Integer fwPersonCount; private Integer orderCount; private String orderWatch; } platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/vo/FwnlAndOrderCount.java
New file @@ -0,0 +1,12 @@ package cn.cetc54.platform.zhyl.entity.vo; import cn.cetc54.platform.zhyl.entity.FuwuDetails; import lombok.Data; import java.util.List; @Data public class FwnlAndOrderCount { private FuwuDetails fuwuDetails; private List<FuwuDetails> fuwuDetailsList; } platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/vo/OrderByExecute.java
New file @@ -0,0 +1,13 @@ package cn.cetc54.platform.zhyl.entity.vo; import cn.cetc54.platform.zhyl.entity.FuwuDetails; import cn.cetc54.platform.zhyl.entity.FuwuPerson; import cn.cetc54.platform.zhyl.entity.Order; import lombok.Data; @Data public class OrderByExecute { private Order order; private FuwuPerson fuwuPerson; private FuwuDetails fuwuDetails; }