package com.doumee.cloud.admin;
|
|
import com.doumee.api.BaseController;
|
import com.doumee.config.annotation.CloudRequiredPermission;
|
import com.doumee.core.annotation.excel.ExcelExporter;
|
import com.doumee.core.annotation.pr.PreventRepeat;
|
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.Platform;
|
import com.doumee.dao.business.model.PlatformGroup;
|
import com.doumee.dao.business.model.PlatformJob;
|
import com.doumee.dao.web.reqeust.JobOperateDTO;
|
import com.doumee.dao.web.reqeust.PlatformDataDTO;
|
import com.doumee.dao.web.response.PlatformGroupWorkVO;
|
import com.doumee.dao.web.response.PlatformWorkVO;
|
import com.doumee.service.business.PlatformGroupService;
|
import com.doumee.service.business.PlatformJobService;
|
import com.doumee.service.business.PlatformService;
|
import com.doumee.service.business.PlatformShowParamService;
|
import com.doumee.service.business.third.WmsService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.apache.commons.lang3.StringUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.List;
|
|
/**
|
* @author 江蹄蹄
|
* @since 2024/04/28 16:06
|
*/
|
@Api(tags = "【后端】月台信息表")
|
@RestController
|
@RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/platform")
|
public class PlatformCloudController extends BaseController {
|
|
@Autowired
|
private PlatformService platformService;
|
|
@Autowired
|
private PlatformGroupService platformGroupService;
|
|
@Autowired
|
private PlatformJobService platformJobService;
|
|
@Autowired
|
private PlatformShowParamService platformShowParamService;
|
|
@Autowired
|
private WmsService wmsService;
|
|
|
@PreventRepeat
|
@ApiOperation("新建")
|
@PostMapping("/create")
|
@CloudRequiredPermission("business:platform:create")
|
public ApiResponse create(@RequestBody Platform platform,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
return ApiResponse.success(platformService.create(platform));
|
}
|
|
@ApiOperation("根据ID删除")
|
@GetMapping("/delete/{id}")
|
@CloudRequiredPermission("business:platform:delete")
|
public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
platformService.deleteById(id);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("批量删除")
|
@GetMapping("/delete/batch")
|
@CloudRequiredPermission("business:platform:delete")
|
public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
platformService.deleteByIdInBatch(this.getIdList(ids));
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("根据ID修改")
|
@PostMapping("/updateById")
|
@CloudRequiredPermission("business:platform:update")
|
public ApiResponse updateById(@RequestBody Platform platform,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
platform.setLoginUserInfo(this.getLoginUser(token));
|
platformService.updateById(platform);
|
return ApiResponse.success(null);
|
}
|
@ApiOperation("根据ID修改状态")
|
@PostMapping("/updateStatusById")
|
@CloudRequiredPermission("business:platform:update")
|
public ApiResponse updateStatusById(@RequestBody Platform platform,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
platform.setLoginUserInfo(this.getLoginUser(token));
|
platformService.updateStatusById(platform);
|
return ApiResponse.success(null);
|
}
|
|
@ApiOperation("分页查询")
|
@PostMapping("/page")
|
@CloudRequiredPermission("business:platform:query")
|
public ApiResponse<PageData<Platform>> findPage (@RequestBody PageWrap<Platform> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
return ApiResponse.success(platformService.findPage(pageWrap));
|
}
|
|
@ApiOperation("月台作业统计")
|
@PostMapping("/platformWorkReportPage")
|
@CloudRequiredPermission("business:platform:query")
|
public ApiResponse<List<Platform>> platformWorkReportPage (@RequestBody Platform platform,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
return ApiResponse.success(platformService.platformWorkReportList(platform));
|
}
|
|
|
@ApiOperation("根据月台组获取月台列表信息")
|
@GetMapping("/listByGroupId")
|
@CloudRequiredPermission("business:platform:query")
|
public ApiResponse<List<Platform>> listByGroupId (@RequestParam Integer groupId, @RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
return ApiResponse.success(platformJobService.getPlatformList(groupId,this.getLoginUser(token)));
|
}
|
|
@ApiOperation("导出Excel")
|
@PostMapping("/exportExcel")
|
@CloudRequiredPermission("business:platform:exportExcel")
|
public void exportExcel (@RequestBody PageWrap<Platform> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
ExcelExporter.build(Platform.class).export(platformService.findPage(pageWrap).getRecords(), "月台信息表", response);
|
}
|
|
@ApiOperation("根据ID查询")
|
@GetMapping("/{id}")
|
@CloudRequiredPermission("business:platform:query")
|
public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
|
return ApiResponse.success(platformService.findById(id));
|
}
|
|
|
@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("/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("授权离场")
|
@PostMapping("/powerLevel")
|
@CloudRequiredPermission("business:platform:update")
|
public ApiResponse powerLevel (@RequestBody JobOperateDTO jobOperateDTO, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
jobOperateDTO.setLoginUserInfo(getLoginUser(token));
|
PlatformJob platformJob = platformJobService.powerLevel(jobOperateDTO);
|
//下发离园权限
|
platformJobService.sendInPark(platformJob);
|
return ApiResponse.success("操作成功");
|
}
|
|
@ApiOperation("获取月台组 等待与异常挂起数据")
|
@GetMapping("/getPlatformGroupWork")
|
@CloudRequiredPermission("business:platform:query")
|
public ApiResponse<PlatformGroupWorkVO> getPlatformGroupWork (@RequestParam Integer platformGroupId, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
|
return ApiResponse.success(platformGroupService.getPlatformGroupWork(platformGroupId));
|
}
|
|
|
}
|