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("/restoreWork")
|
@CloudRequiredPermission("business:platform:update")
|
public ApiResponse restoreWork (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
jobOperateDTO.setLoginUserInfo(getLoginUser(token));
|
PlatformJob platformJob = platformJobService.restoreWork(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));
|
}
|
|
|
}
|