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; /** *

* 转运线路 前端控制器 *

* * @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> line() { //获取当前用户的车辆 SysUser sysUser1 = SecurityUtils.getLoginUser().getUser(); SysUser sysUser = userService.getById(sysUser1.getUserId()); Long carId = sysUser.getCarId(); //根据车辆获取线路列表 List list = transitRouteCarService.lambdaQuery().eq(MwTransitRouteCar::getCarId, carId).list(); List routeIds = new ArrayList<>(); for (MwTransitRouteCar mwTransitRouteCar : list) { routeIds.add(mwTransitRouteCar.getRouteId()); } if (routeIds.isEmpty()){ return R.ok(); } List 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> pageList(@RequestParam Long routeId) { List 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); } }