| package com.doumee.cloud.web; | 
|   | 
| import com.doumee.api.BaseController; | 
| import com.doumee.config.annotation.CloudRequiredPermission; | 
| import com.doumee.config.annotation.LoginNoRequired; | 
| import com.doumee.core.annotation.trace.Trace; | 
| import com.doumee.service.business.third.model.ApiResponse; | 
| import com.doumee.service.business.third.model.PageData; | 
| import com.doumee.service.business.third.model.PageWrap; | 
| import com.doumee.core.utils.Constants; | 
| import com.doumee.dao.business.model.*; | 
| import com.doumee.dao.web.reqeust.*; | 
| import com.doumee.dao.web.response.PlatformWorkVO; | 
| import com.doumee.service.business.*; | 
| import com.doumee.service.business.third.WmsService; | 
| import io.swagger.annotations.Api; | 
| import io.swagger.annotations.ApiOperation; | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.apache.commons.lang3.StringUtils; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.web.bind.annotation.*; | 
|   | 
| import java.util.List; | 
|   | 
| /** | 
|  * Created by IntelliJ IDEA. | 
|  * | 
|  * @Author : Rk | 
|  * @create 2023/12/28 14:31 | 
|  */ | 
|   | 
| @Api(tags = "【公众号】PDA月台业务") | 
| @Trace(exclude = true) | 
| @RestController | 
| @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/pdaPlatform") | 
| @Slf4j | 
| @LoginNoRequired | 
| public class PdaPlatformController extends BaseController { | 
|   | 
|   | 
|     @Autowired | 
|     private PlatformJobService platformJobService; | 
|   | 
|     @Autowired | 
|     private PlatformGroupService platformGroupService; | 
|   | 
|     @Autowired | 
|     private PlatformShowParamService platformShowParamService; | 
|   | 
|     @Autowired | 
|     private PlatformService platformService; | 
|   | 
|     @Autowired | 
|     private PlatformWmsJobService platformWmsJobService; | 
|   | 
|     @Autowired | 
|     private WmsService wmsService; | 
|   | 
|     @ApiOperation("获取月台组信息") | 
|     @PostMapping("/getPlatformGroupList") | 
|     @CloudRequiredPermission("business:platform:query") | 
|     public ApiResponse<List<PlatformGroup>>  getPlatformGroupList (@RequestBody PlatformDataDTO platformDataDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ | 
|         return ApiResponse.success(platformGroupService.getAllPlatformGroup(platformDataDTO,getLoginUser(token))); | 
|     } | 
|   | 
|     @ApiOperation("获取月台任务信息") | 
|     @GetMapping("/getPlatformWorkData") | 
|     @CloudRequiredPermission("business:platform:query") | 
|     public ApiResponse<PlatformWorkVO>  getPlatformWorkData (@RequestParam Integer platformId, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ | 
|         return ApiResponse.success(platformJobService.getPlatformWorkVOById(platformId)); | 
|     } | 
|   | 
|     @ApiOperation("更新月台配置信息") | 
|     @GetMapping("/updUserPlatformConfig") | 
|     @CloudRequiredPermission("business:platform:update") | 
|     public ApiResponse  updUserPlatformConfig (@RequestParam List<Integer> ids, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ | 
|         platformShowParamService.updUserConfig(ids,getLoginUser(token)); | 
|         return ApiResponse.success("操作成功"); | 
|     } | 
|   | 
|     @ApiOperation("修改禁启用状态") | 
|     @PostMapping("/updPlatformStatus") | 
|     @CloudRequiredPermission("business:platform:update") | 
|     public ApiResponse  updPlatformStatus (@RequestBody Platform platform, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ | 
|         platform.setLoginUserInfo(getLoginUser(token)); | 
|         platformService.updateStatusById(platform); | 
|         return ApiResponse.success("操作成功"); | 
|     } | 
|   | 
|     @ApiOperation("车辆排队情况") | 
|     @PostMapping("/platformLineUpPage") | 
|     @CloudRequiredPermission("business:platform:query") | 
|     public ApiResponse<PageData<PlatformJob>> platformLineUpPage (@RequestBody PageWrap<PlatformJob> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         return ApiResponse.success(platformJobService.platformCallList(pageWrap)); | 
|     } | 
|   | 
|   | 
|     @ApiOperation("叫号列表") | 
|     @PostMapping("/platformCallList") | 
|     @CloudRequiredPermission("business:platform:query") | 
|     public ApiResponse<PageData<PlatformJob>> platformCallList (@RequestBody PageWrap<PlatformJob> pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         return ApiResponse.success(platformJobService.platformCallList(pageWrap)); | 
|     } | 
|   | 
|   | 
|     @ApiOperation("叫号入园") | 
|     @PostMapping("/platformInPark") | 
|     @CloudRequiredPermission("business:platform:update") | 
|     public ApiResponse platformInPark (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         jobOperateDTO.setLoginUserInfo(getLoginUser(token)); | 
|         PlatformJob platformJob = platformJobService.platformInPark(jobOperateDTO); | 
|         platformJobService.sendInPark(platformJob); | 
|         return ApiResponse.success("操作成功"); | 
|     } | 
|   | 
|     @ApiOperation("月台叫号") | 
|     @PostMapping("/platformCallNumber") | 
|     @CloudRequiredPermission("business:platform:update") | 
|     public ApiResponse platformCallNumber (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         jobOperateDTO.setLoginUserInfo(getLoginUser(token)); | 
|         PlatformJob oldPlatformJob = platformJobService.findById(jobOperateDTO.getJobId()); | 
|         PlatformJob platformJob = platformJobService.platformCallNumber(jobOperateDTO); | 
|         if(Constants.equalsInteger(oldPlatformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){ | 
|             platformJobService.sendInPark(platformJob); | 
|         } | 
|         if(!Constants.equalsInteger(platformJob.getType(),Constants.FOUR) | 
|                 && StringUtils.isNotBlank(platformJob.getBillCode())){ | 
|             //通知WMS绑定月台信息 | 
|             wmsService.orderPlatformBind(platformJob); | 
|         } | 
|         return ApiResponse.success("操作成功"); | 
|     } | 
|   | 
|   | 
|     @ApiOperation("转移月台") | 
|     @PostMapping("/platformMove") | 
|     @CloudRequiredPermission("business:platform:update") | 
|     public ApiResponse platformMove (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         jobOperateDTO.setLoginUserInfo(getLoginUser(token)); | 
|         platformJobService.platformMove(jobOperateDTO); | 
|         return ApiResponse.success("操作成功"); | 
|     } | 
|   | 
|     @ApiOperation("月台过号") | 
|     @PostMapping("/platformOverNumber") | 
|     @CloudRequiredPermission("business:platform:update") | 
|     public ApiResponse platformOverNumber (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         jobOperateDTO.setLoginUserInfo(getLoginUser(token)); | 
|         PlatformJob platformJob = platformJobService.platformOverNumber(jobOperateDTO); | 
|         platformJobService.cancelInPark(platformJob); | 
|         return ApiResponse.success("操作成功"); | 
|     } | 
|   | 
|     @ApiOperation("异常挂起") | 
|     @PostMapping("/platformErr") | 
|     @CloudRequiredPermission("business:platform:update") | 
|     public ApiResponse platformErr (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         jobOperateDTO.setLoginUserInfo(getLoginUser(token)); | 
|         platformJobService.platformErr(jobOperateDTO); | 
|         return ApiResponse.success("操作成功"); | 
|     } | 
|   | 
|     @ApiOperation("手动开始作业") | 
|     @PostMapping("/beginWork") | 
|     @CloudRequiredPermission("business:platform:update") | 
|     public ApiResponse beginWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         jobOperateDTO.setLoginUserInfo(getLoginUser(token)); | 
|         PlatformJob platformJob = platformJobService.beginWork(jobOperateDTO); | 
|         platformJobService.cancelInPark(platformJob); | 
|         return ApiResponse.success("操作成功"); | 
|     } | 
|   | 
|   | 
|     @ApiOperation("完成作业") | 
|     @PostMapping("/finishWork") | 
|     @CloudRequiredPermission("business:platform:update") | 
|     public ApiResponse finishWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         jobOperateDTO.setLoginUserInfo(getLoginUser(token)); | 
|         PlatformJob platformJob = platformJobService.finishWork(jobOperateDTO); | 
|         //下发离园权限 | 
|         platformJobService.sendInPark(platformJob); | 
|         return ApiResponse.success("操作成功"); | 
|     } | 
|   | 
|   | 
|     @ApiOperation("WMS运输单详情") | 
|     @GetMapping("/wmsJobDetail") | 
|     @CloudRequiredPermission("business:platform:query") | 
|     public ApiResponse<PlatformWmsJob> wmsJobDetail(@RequestParam Integer id) { | 
|         return ApiResponse.success(platformWmsJobService.findByDetailId(id)); | 
|     } | 
|   | 
|   | 
| } |