1697371125@qq.com
2020-12-25 c085e6fa1cb24f0173b500488ecd192dd2ae624f
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/api/FwjgController.java
@@ -1,16 +1,14 @@
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 cn.hutool.core.util.StrUtil;
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 lombok.extern.slf4j.Slf4j;
@@ -32,8 +30,6 @@
@CrossOrigin("*")
public class FwjgController {
    @Autowired
    private IAreaService iAreaService;
    @Autowired
    private IOrgFuwuService iOrgFuwuService;
    @Autowired
    private IFuwuPersonService iFuwuPersonService;
@@ -46,19 +42,35 @@
    @RequestMapping(value = "/getCountByAreaId", method = RequestMethod.GET)
    @ApiOperation(value = "根据区域id获取区域下所有机构和人员数量以及订单总数")
    public Result<Object> getCountByAreaId(String areaId){
        if (StrUtil.isNotBlank(areaId)&&areaId.equals("130100")){
            //如果是全市 areaId设置未空
            areaId = null;
        }
        QueryWrapper<OrgFuwu> wrapper = new QueryWrapper<>();
        wrapper.eq("area_id",areaId);
        if (StrUtil.isNotEmpty(areaId)){
            wrapper.eq("area_id",areaId);
        }
        int orgFuwuCount = iOrgFuwuService.count(wrapper);
        QueryWrapper<FuwuPerson> wrapper1 = new QueryWrapper<>();
        wrapper1.eq("area_id",areaId);
        if (StrUtil.isNotEmpty(areaId)){
            wrapper1.eq("area_id",areaId);
        }
        int fuwuPersonCount = iFuwuPersonService.count(wrapper1);
        QueryWrapper<Order> wrapper2 = new QueryWrapper<>();
        wrapper2.eq("area_id",areaId);
        if (StrUtil.isNotEmpty(areaId)){
            wrapper2.eq("area_id",areaId);
        }
        int orderCount = iOrderService.count(wrapper2);
        QueryWrapper<Order> wrapper3 = new QueryWrapper<>();
        wrapper2.eq("area_id",areaId);
        wrapper2.eq("state",0);
        if (StrUtil.isNotEmpty(areaId)){
            wrapper3.eq("area_id",areaId);
        }
        wrapper3.eq("state",0);
        int orderCount2 = iOrderService.count(wrapper3);
        FwjgCount fwjgCount=new FwjgCount();
        fwjgCount.setFwjgCount(orgFuwuCount);
        fwjgCount.setFwPersonCount(fuwuPersonCount);
@@ -70,9 +82,14 @@
    @RequestMapping(value = "/getFwnlByAreaId", method = RequestMethod.GET)
    @ApiOperation(value = "根据区域id获取区域下所有实际服务以及服务订单数")
    public Result<Object> getFwnlByAreaId(String areaId){
        if (StrUtil.isNotBlank(areaId)&&areaId.equals("130100")){
            //如果是全市 areaId设置未空
            areaId = null;
        }
        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<>();
@@ -80,7 +97,9 @@
            List<FuwuDetails> list1 = iFuwuDetailsService.list(wrapper1);
            for (FuwuDetails details : list1) {
                QueryWrapper<Order> wrapper2 = new QueryWrapper<>();
                wrapper2.eq("area_id",areaId);
                if (StrUtil.isNotBlank(areaId)){
                    wrapper2.eq("area_id",areaId);
                }
                wrapper2.eq("detail_id",details.getId());
                int count = iOrderService.count(wrapper2);
                details.setOrderNumber(count);
@@ -96,60 +115,64 @@
    @RequestMapping(value = "/getFwjgOrderByOrderNumber", method = RequestMethod.GET)
    @ApiOperation(value = "根据区域id和订单量查询服务机构排名情况")
    public Result<Object> getFwjgOrderByOrderNumber(String areaId){
        if (StrUtil.isNotBlank(areaId)&&areaId.equals("130100")){
            //如果是全市 areaId设置未空
            areaId = null;
        }
        QueryWrapper<OrgFuwu> wrapper = new QueryWrapper<>();
        wrapper.eq("area_id",areaId);
        if (StrUtil.isNotEmpty(areaId)){
            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);
            orgFuwu.setOrderNumber(iOrderService.getOrderNum(orgFuwu.getId()));
        }
        List<OrgFuwu> collectList = list.stream().sorted(Comparator.comparing(OrgFuwu::getOrderNumber)).collect(Collectors.toList());
        return new ResultUtil<Object>().setData(collectList.subList(0,10));
        List<OrgFuwu> collectList = list.stream().sorted(Comparator.comparing(OrgFuwu::getOrderNumber).reversed()).collect(Collectors.toList());
        List<OrgFuwu> resList = collectList.size()>10?collectList.subList(0,10):collectList;
        return new ResultUtil<Object>().setData(resList);
    }
    @RequestMapping(value = "/getFuwuDetailsOrderByOrderNumber", method = RequestMethod.GET)
    @ApiOperation(value = "根据区域id和订单量查询实际服务排名情况")
    public Result<Object> getFuwuDetailsOrderByOrderNumber(String areaId){
        if (StrUtil.isNotBlank(areaId)&&areaId.equals("130100")){
            //如果是全市 areaId设置未空
            areaId = null;
        }
        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);
            if (StrUtil.isNotBlank(areaId)){
                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));
        List<FuwuDetails> collectList = list.stream().sorted(Comparator.comparing(FuwuDetails::getOrderNumber).reversed()).collect(Collectors.toList());
        List<FuwuDetails> resList = collectList.size()>10?collectList.subList(0,10):collectList;
        return ResultUtil.data(resList);
    }
    @RequestMapping(value = "/getOrder", method = RequestMethod.GET)
    @ApiOperation(value = "执行中订单")
    public Result<Object> getOrder(String areaId){
        if (StrUtil.isNotBlank(areaId)&&areaId.equals("130100")){
            //如果是全市 areaId设置未空
            areaId = null;
        }
        QueryWrapper<Order> wrapper = new QueryWrapper<>();
        wrapper.eq("area_id",areaId);
        if (StrUtil.isNotBlank(areaId)){
            wrapper.eq("area_id",areaId);
        }
        wrapper.eq("state",0);
        wrapper.orderByAsc("creat_time");
        wrapper.orderByDesc("create_time");
        wrapper.last(" limit 10");
        List<Order> list = iOrderService.list(wrapper);
        int count = iOrderService.count(wrapper);
        List<OrderByExecute> orderByExecuteList=new ArrayList<>();
@@ -167,8 +190,4 @@
        map.put("orderByExecuteList",orderByExecuteList);
        return new ResultUtil<Object>().setData(map);
    }
}