8.9
luodangjia
2024-10-31 eb286b8d88dc5fcd0290d0d243cb7f0a2448616f
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
@@ -3,21 +3,10 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.admin.entity.MasterWorker;
import com.ruoyi.admin.entity.RecoveryClassify;
import com.ruoyi.admin.entity.RecoveryServe;
import com.ruoyi.admin.entity.RecoveryServePrice;
import com.ruoyi.admin.entity.Region;
import com.ruoyi.admin.entity.Site;
import com.ruoyi.admin.entity.*;
import com.ruoyi.admin.netty.NettyChannelMap;
import com.ruoyi.admin.netty.NettyWebSocketController;
import com.ruoyi.admin.service.MasterWorkerService;
import com.ruoyi.admin.service.OrderService;
import com.ruoyi.admin.service.RecoveryClassifyService;
import com.ruoyi.admin.service.RecoveryServePriceService;
import com.ruoyi.admin.service.RecoveryServeService;
import com.ruoyi.admin.service.RegionService;
import com.ruoyi.admin.service.SiteService;
import com.ruoyi.admin.service.*;
import com.ruoyi.admin.utils.DescribeInstances;
import com.ruoyi.admin.vo.OrderByServeRecordVO;
import com.ruoyi.admin.vo.OrderDetailVO;
@@ -54,13 +43,7 @@
import java.nio.file.Files;
import java.nio.file.Paths;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
@@ -146,7 +129,8 @@
    @Resource
    private RecoveryClassifyService recoveryClassifyService;
    @Resource
    private FranchiseeService franchiseeService;
    /**
     * 订单列表
     *
@@ -172,7 +156,21 @@
            List<Integer> classIds = recoveryClassifyService.lambdaQuery().eq(RecoveryClassify::getId, orderQueryRequest.getClassNameId()).list().stream().map(RecoveryClassify::getId).collect(Collectors.toList());
            servIds = recoveryServeService.lambdaQuery().eq(BaseEntity::getIsDelete,0).in(RecoveryServe::getClassifyId, classIds).list().stream().map(RecoveryServe::getId).collect(Collectors.toList());
        }
        if(orderQueryRequest.getServeId()!=null){
            servIds.add(orderQueryRequest.getServeId());
        }
        orderQueryRequest.setServIds(servIds);
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        if (franchiseeId!=null) {
            Franchisee byId = franchiseeService.getById(franchiseeId);
            String[] siteIds = byId.getSiteIds().split(",");
            orderQueryRequest.setSiteIds(siteIds);
            if (loginUser.getIsFranchisee() && siteIds.length == 0) {
                return R.ok(new Page<Order>());
            }
        }
        Page<Order> data = orderClient.queryPage(orderQueryRequest).getData();
        if (null != data) {
            for (Order record : data.getRecords()) {
@@ -200,6 +198,35 @@
    @ApiOperation(value = "订单id列表-分页", tags = {"后台-订单管理"})
    @PostMapping(value = "/queryIdList")
    public R<List<String>> queryIdList(@RequestBody OrderQueryRequest orderQueryRequest) {
        LoginUser loginUser = tokenService.getLoginUser();
        if (null == loginUser) {
            return R.loginExpire("登录失效!");
        }
        if (loginUser.getIsFranchisee()) {
            if (null == orderQueryRequest.getCityList() || orderQueryRequest.getCityList().isEmpty()) {
                orderQueryRequest.setCityList(loginUser.getCityList());
            } else {
                orderQueryRequest.getCityList().addAll(loginUser.getCityList());
            }
        }
        List<Integer> servIds = new ArrayList<>();
        if (orderQueryRequest.getClassNameId()!=null){
            List<Integer> classIds = recoveryClassifyService.lambdaQuery().eq(RecoveryClassify::getId, orderQueryRequest.getClassNameId()).list().stream().map(RecoveryClassify::getId).collect(Collectors.toList());
            servIds = recoveryServeService.lambdaQuery().eq(BaseEntity::getIsDelete,0).in(RecoveryServe::getClassifyId, classIds).list().stream().map(RecoveryServe::getId).collect(Collectors.toList());
        }
        if(orderQueryRequest.getServeId()!=null){
            servIds.add(orderQueryRequest.getServeId());
        }
        orderQueryRequest.setServIds(servIds);
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        if (franchiseeId!=null) {
            Franchisee byId = franchiseeService.getById(franchiseeId);
            String[] siteIds = byId.getSiteIds().split(",");
            orderQueryRequest.setSiteIds(siteIds);
            if (loginUser.getIsFranchisee() && siteIds.length == 0) {
                return R.ok();
            }
        }
        return R.ok(orderService.queryIdList(orderQueryRequest));
    }
    /**
@@ -225,8 +252,19 @@
            List<Integer> classIds = recoveryClassifyService.lambdaQuery().eq(RecoveryClassify::getId, orderQueryRequest.getClassNameId()).list().stream().map(RecoveryClassify::getId).collect(Collectors.toList());
            servIds = recoveryServeService.lambdaQuery().eq(BaseEntity::getIsDelete,0).in(RecoveryServe::getClassifyId, classIds).list().stream().map(RecoveryServe::getId).collect(Collectors.toList());
        }
        if (orderQueryRequest.getServeId()!=null){
            servIds.add(orderQueryRequest.getServeId());
        }
        orderQueryRequest.setServIds(servIds);
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        if (franchiseeId!=null) {
            Franchisee byId = franchiseeService.getById(franchiseeId);
            String[] siteIds = byId.getSiteIds().split(",");
            orderQueryRequest.setSiteIds(siteIds);
            if (loginUser.getIsFranchisee() && siteIds.length == 0) {
                return R.ok();
            }
        }
        return R.ok(orderClient.orderPageCount(orderQueryRequest).getData());
    }
@@ -517,8 +555,23 @@
        orderCountDataRequest.setCityList(cityList);
        orderCountDataRequest.setPageNum(pageNum);
        orderCountDataRequest.setPageSize(pageSize);
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        String[] siteIds = new String[0];
        if (franchiseeId!=null) {
            Franchisee byId = franchiseeService.getById(franchiseeId);
            siteIds  = byId.getSiteIds().split(",");
            orderCountDataRequest.setSiteIds(Arrays.asList(siteIds));
            if (loginUser.getIsFranchisee() && siteIds.length == 0) {
                return R.ok(new Page<>());
            }
        }
        // 远程调用
        Page<OrderCountVO> data = orderClient.orderCount(orderCountDataRequest).getData();
        List<Integer> idList = data.getRecords().stream().map(OrderCountVO::getWorkerId)
                .collect(Collectors.toList());
        List<MasterWorker> masterWorkerList;
@@ -606,6 +659,7 @@
        OrderByServeRecordVO orderByServeRecord = new OrderByServeRecordVO();
        String masterFolderPath = "/usr/local/coordinate/" + id;
//        String masterFolderPath = "F:/DeskTop/coordinate/" + id;
        File masterFolder = new File(masterFolderPath);
//             检查师傅ID的文件夹是否存在,存在就读取轨迹数据
        System.out.println("文件是否存在:" + masterFolder.exists());
@@ -619,6 +673,7 @@
            orderByServeRecord.setCoordinate(coordinateList);
            //获取轨迹标点
            String baseMarkerPath = "/usr/local/marker/" + id;
//            String baseMarkerPath = "F:/DeskTop/marker/" + id;
            //标点根目录
            File markerMasterFolder = new File(baseMarkerPath);
            if (markerMasterFolder.exists()) {