mitao
2025-01-03 75aa42c51ae2a63d7c1e5e813c0a88fd303bdbf4
medicalWaste-admin/src/main/java/com/sinata/web/controller/applet/AppMwTransitRouteController.java
New file
@@ -0,0 +1,92 @@
package com.sinata.web.controller.applet;
import com.sinata.common.core.domain.R;
import com.sinata.common.core.domain.entity.SysUser;
import com.sinata.common.entity.PageDTO;
import com.sinata.common.utils.SecurityUtils;
import com.sinata.system.domain.MwTransitRoute;
import com.sinata.system.domain.MwTransitRouteCar;
import com.sinata.system.domain.MwTransitRoutePoints;
import com.sinata.system.domain.SysDepartment;
import com.sinata.system.domain.dto.MwTransitRouteDTO;
import com.sinata.system.domain.query.MwTransitRouteQuery;
import com.sinata.system.domain.vo.MwTransitRouteVO;
import com.sinata.system.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;
/**
 * <p>
 * 转运线路 前端控制器
 * </p>
 *
 * @author mitao
 * @since 2024-12-02
 */
@Validated
@RestController
@RequiredArgsConstructor
@Api(tags = {"运输路线"})
@RequestMapping("/applet/mwTransitRoute")
public class AppMwTransitRouteController {
    private final MwTransitRouteService mwTransitRouteService;
    private final MwTransitRouteCarService transitRouteCarService;
    private final MwTransitRoutePointsService pointsService;
    private final SysDepartmentService departmentService;
    private final ISysUserService userService;
    /**
     * 分页列表
     *
     * @param query
     * @return
     */
    @ApiOperation("线路列表")
    @PostMapping("/line")
    public R<List<MwTransitRoute>> line() {
        //获取当前用户的车辆
        SysUser sysUser1 = SecurityUtils.getLoginUser().getUser();
        SysUser sysUser = userService.getById(sysUser1.getUserId());
        Long carId = sysUser.getCarId();
        //根据车辆获取线路列表
        List<MwTransitRouteCar> list = transitRouteCarService.lambdaQuery().eq(MwTransitRouteCar::getCarId, carId).list();
        List<Long> routeIds = new ArrayList<>();
        for (MwTransitRouteCar mwTransitRouteCar : list) {
            routeIds.add(mwTransitRouteCar.getRouteId());
        }
        if (routeIds.isEmpty()){
            return R.ok();
        }
        List<MwTransitRoute> list1 = mwTransitRouteService.lambdaQuery().in(MwTransitRoute::getId, routeIds).list();
        for (MwTransitRoute mwTransitRoute : list1) {
            SysDepartment byId = departmentService.getById(mwTransitRoute.getDepartmentId());
            if (byId != null) {
                mwTransitRoute.setHospitalName(byId.getDepartmentName());
            }
        }
        return R.ok(list1);
    }
    @ApiOperation("获取途径点")
    @PostMapping("/get")
    public R<List<MwTransitRoutePoints>> pageList(@RequestParam Long routeId) {
        List<MwTransitRoutePoints> list1 = pointsService.lambdaQuery().eq(MwTransitRoutePoints::getRouteId, routeId).orderByAsc(MwTransitRoutePoints::getSortOrder).list();
        for (MwTransitRoutePoints mwTransitRoutePoints : list1) {
            SysDepartment byId = departmentService.getById(mwTransitRoutePoints.getDepartmentId());
            mwTransitRoutePoints.setDepartmentName(byId.getDepartmentName());
        }
        return R.ok(list1);
    }
}