package com.qianwen.smartman.modules.smis.controller;
|
|
import java.util.List;
|
|
import javax.servlet.http.HttpServletResponse;
|
import javax.validation.Valid;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.validation.annotation.Validated;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
import com.qianwen.core.boot.ctrl.BladeController;
|
import com.qianwen.core.excel.util.ExcelUtil;
|
import com.qianwen.core.mp.support.Condition;
|
import com.qianwen.core.mp.support.Query;
|
import com.qianwen.core.oss.model.BladeFile;
|
import com.qianwen.core.scanner.modular.annotation.DeleteResource;
|
import com.qianwen.core.scanner.modular.annotation.GetResource;
|
import com.qianwen.core.scanner.modular.annotation.PostResource;
|
import com.qianwen.core.scanner.modular.annotation.PutResource;
|
import com.qianwen.core.scanner.modular.stereotype.ApiResource;
|
import com.qianwen.core.secure.annotation.PreAuth;
|
import com.qianwen.core.tenant.annotation.NonDS;
|
import com.qianwen.core.tool.api.R;
|
import com.qianwen.smartman.common.cache.RegionCache;
|
import com.qianwen.smartman.modules.resource.enums.TemplateEnum;
|
import com.qianwen.smartman.modules.resource.service.ISystemResourceService;
|
import com.qianwen.smartman.modules.smis.dto.WorkstationRealTimeStatusDTO;
|
import com.qianwen.smartman.modules.smis.excel.WorkstationImport;
|
import com.qianwen.smartman.modules.smis.service.IWorkstationService;
|
import com.qianwen.smartman.modules.smis.vo.FmsWorkstationGroupVO;
|
import com.qianwen.smartman.modules.smis.vo.FmsWorkstationQueryVO;
|
import com.qianwen.smartman.modules.smis.vo.WorkMachineEasyVO;
|
import com.qianwen.smartman.modules.smis.vo.WorkstationChangeCalendarVO;
|
import com.qianwen.smartman.modules.smis.vo.WorkstationPageQueryVO;
|
import com.qianwen.smartman.modules.smis.vo.WorkstationRealTimeStatusVO;
|
import com.qianwen.smartman.modules.smis.vo.WorkstationSubmitVO;
|
import com.qianwen.smartman.modules.smis.vo.WorkstationVO;
|
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
|
@Api(value = "工位管理", tags = {"工位管理"})
|
@RestController
|
@ApiResource({"smis/workstation"})
|
@NonDS
|
@Validated
|
public class WorkstationController extends BladeController {
|
@Autowired
|
private IWorkstationService workstationService;
|
//@Autowired
|
//private IDmpVariablesService dmpVariablesService;
|
@Autowired
|
private ISystemResourceService systemResourceService;
|
|
|
@PreAuth
|
@PostResource({"/submit"})
|
@ApiOperation("新增或更改工位信息")
|
public R<WorkstationVO> submit(@Valid @RequestBody WorkstationSubmitVO workstationSubmitVO) {
|
return R.data(this.workstationService.submit(workstationSubmitVO));
|
}
|
/*
|
@GetResource({"/listDmpVariablesByMachineId"})
|
@ApiOperation("根据机器id获取采集项")
|
public R<List<DmpVariablesVO>> listDmpVariablesByMachineId(@RequestParam Long machineId) {
|
return R.data(this.dmpVariablesService.listByMachineId(machineId));
|
}
|
|
@PreAuth
|
@GetResource({"/listDmpVariablesByWorkstationId"})
|
@ApiOperation("根据工位id获取采集项")
|
public R<MachineDmpVariablesVO> listDmpVariablesByWorkstationId(@RequestParam Long workstationId) {
|
return R.data(this.dmpVariablesService.listByWorkstationId(workstationId));
|
}
|
*/
|
|
|
@GetMapping({"/get"})
|
@ApiOperation("获取工位信息")
|
public R<WorkstationVO> get(@RequestParam Long workstationId) {
|
return R.data(this.workstationService.getDetail(workstationId));
|
}
|
|
@PutResource({"/changeCollectSwitch"})
|
@ApiOperation("改变采集功能")
|
public R<Boolean> changeCollectSwitch(@RequestParam Long workstationId, @RequestParam Integer collectSwitch) {
|
return R.data(this.workstationService.changeCollectSwitch(workstationId, collectSwitch));
|
}
|
|
@PreAuth
|
@DeleteResource({""})
|
@ApiOperation("删除工位")
|
public R<Boolean> delete(@RequestParam List<Long> workstationIds, @RequestParam("type") @ApiParam("删除传0 停用传1") Integer type) {
|
return R.data(this.workstationService.delete(workstationIds, type));
|
}
|
|
@GetMapping({"/page"})
|
@ApiOperation("查询工位 分页")
|
public R<IPage<WorkstationVO>> page(Query query, @RequestParam(value = "keyWord", required = false) String keyWord, @RequestParam("groupId") Long groupId, @RequestParam(value = "status", required = false) Integer status, @RequestParam(value = "type", required = false) Integer type) {
|
return R.data(this.workstationService.listPage(Condition.getPage(query), keyWord, groupId, status, type));
|
}
|
|
@PostMapping({"/fms/tree"})
|
@ApiOperation("查询fms工位树")
|
public R<List<FmsWorkstationGroupVO>> treeFmsWorkstation(@RequestBody FmsWorkstationQueryVO fmsWorkstationQueryVO) {
|
List<FmsWorkstationGroupVO> commonGroupVOS = this.workstationService.fmsTreeWorkstation(fmsWorkstationQueryVO);
|
return R.data(commonGroupVOS);
|
}
|
|
@PutResource({"/changeCalendarCode"})
|
@Deprecated
|
@ApiOperation("改变工位的生产日历")
|
@PreAuth
|
public R<Boolean> changeCalendarCode(@RequestBody WorkstationChangeCalendarVO workstationChangeCalendarVO) {
|
return R.data(this.workstationService.changeCalendarCode(workstationChangeCalendarVO));
|
}
|
|
@PreAuth
|
@PutResource({"/changeWorkstationGroup"})
|
@ApiOperation("改变工位组")
|
public R<Boolean> changeWorkstationGroup(@RequestParam("groupId") Long groupId, @RequestParam("workstationIdList") List<Long> workstationIdList) {
|
return R.data(this.workstationService.changeWorkstationGroup(groupId, workstationIdList));
|
}
|
|
@PreAuth
|
@DeleteResource({"/deleteGroup"})
|
@ApiOperation("删除工位组")
|
public R<Boolean> deleteGroup(@RequestParam("groupId") Long groupId) {
|
return R.data(this.workstationService.deleteGroup(groupId));
|
}
|
|
@ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
|
@GetResource({"/export-template"})
|
@ApiOperation("导出模板")
|
@PreAuth
|
public R<BladeFile> exportTemplate() {
|
return R.data(this.systemResourceService.getBusinessTemplateInfo(TemplateEnum.WORKSTATION));
|
}
|
|
@PreAuth
|
@PostResource({"/import-workstation"})
|
@ApiOperation("导入工位")
|
public R<BladeFile> importWorkstation(MultipartFile file) {
|
List<WorkstationImport> data = ExcelUtil.read(file, 0, 2, WorkstationImport.class);
|
return R.data(this.workstationService.importWorkstation(data));
|
}
|
|
@PostResource({"/export-workstation"})
|
@ApiOperation("导出工位")
|
public R<BladeFile> exportWorkstation(@RequestParam("keyWord") String keyWord, @RequestParam("groupId") Long groupId, HttpServletResponse response) {
|
return R.data(this.workstationService.exportWorkstation(keyWord, groupId, response));
|
}
|
|
@PreAuth
|
@PostResource({"/real-time-status"})
|
@ApiOperation(value = "根据工位组Id获取工位的实时状态", notes = "根据工位组Id获取工位的实时状态")
|
public R<IPage<WorkstationRealTimeStatusVO>> getRealTimeStatus(@RequestBody WorkstationRealTimeStatusDTO dto, Query query) {
|
return R.data(this.workstationService.getRealTimeStatus(dto, query));
|
}
|
/*
|
@PreAuth
|
@GetResource({"/get-dmp-variables"})
|
@ApiOperation(value = "获得采集项", notes = "获得采集项")
|
public R<List<DmpVariablesVO>> getDmpVariables(@RequestParam("workstationId") @ApiParam(value = "工位ID", required = true) String workstationId, @RequestParam("machineId") @ApiParam(value = "机器Id", required = false) String machineId) {
|
return R.data(this.workstationService.getDmpVariables(workstationId, machineId));
|
}
|
*/
|
|
@PostResource({"/get-workstation-by-groupIds"})
|
@ApiOperation("多个工位组查询工位")
|
public R<List<WorkstationVO>> getWorkstationByGroupIds(@RequestBody List<String> groupIds) {
|
return R.data(this.workstationService.getWorkstationByGroupIds(groupIds));
|
}
|
|
@PostResource({"/get-work-machine"})
|
@ApiOperation("获取机器工位的工位名称和机器短编号")
|
public R<WorkMachineEasyVO> getWorkMachine(@RequestParam("workstationId") String workstationId) {
|
return R.data(this.workstationService.getWorkMachine(workstationId));
|
}
|
|
@PostResource({"/page-h5"})
|
@ApiOperation("h5 查询工位 分页")
|
public R<IPage<WorkstationRealTimeStatusVO>> pageH5(@RequestBody WorkstationPageQueryVO workstationPageQueryVO, Query query) {
|
return R.data(this.workstationService.pageH5(query, workstationPageQueryVO));
|
}
|
}
|