package com.qianwen.smartman.modules.fms.controller;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiParam;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Optional;
|
import javax.validation.Valid;
|
import com.qianwen.core.boot.ctrl.BladeController;
|
import com.qianwen.core.mp.support.Condition;
|
import com.qianwen.core.mp.support.Query;
|
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.tool.api.R;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.modules.cps.vo.CraftRoutingDetailVO;
|
import com.qianwen.smartman.modules.cps.vo.IdsVO;
|
import com.qianwen.smartman.modules.fms.convert.FmsOrderConvert;
|
import com.qianwen.smartman.modules.fms.dto.SwitchDTO;
|
import com.qianwen.smartman.modules.fms.entity.FmsOrder;
|
import com.qianwen.smartman.modules.fms.enums.FmsOrderEnum;
|
import com.qianwen.smartman.modules.fms.service.IFmsOrderService;
|
import com.qianwen.smartman.modules.fms.vo.FmsOrderDetailVO;
|
import com.qianwen.smartman.modules.fms.vo.FmsOrderProductionStatVO;
|
import com.qianwen.smartman.modules.fms.vo.FmsOrderQueryVO;
|
import com.qianwen.smartman.modules.fms.vo.FmsOrderStatusStatVO;
|
import com.qianwen.smartman.modules.fms.vo.FmsOrderVO;
|
import com.qianwen.smartman.modules.system.service.IDictService;
|
import com.qianwen.smartman.modules.system.service.IParamService;
|
import org.springframework.web.bind.annotation.PathVariable;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
import springfox.documentation.annotations.ApiIgnore;
|
|
@Api(value = "fms_order", tags = {"fms_order"})
|
@ApiResource({"blade-fms/order"})
|
@RestController
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/fms/controller/FmsOrderController.class */
|
public class FmsOrderController extends BladeController {
|
private final IFmsOrderService fmsOrderService;
|
private final IParamService paramService;
|
private final IDictService dictService;
|
|
public FmsOrderController(final IFmsOrderService fmsOrderService, final IParamService paramService, final IDictService dictService) {
|
this.fmsOrderService = fmsOrderService;
|
this.paramService = paramService;
|
this.dictService = dictService;
|
}
|
|
@ApiOperationSupport(order = 1)
|
@GetResource({"/get/{id}"})
|
@ApiOperation(value = "工单基础状态信息详情", notes = "传入fmsOrder")
|
public R<FmsOrderVO> detail(@PathVariable String id) {
|
FmsOrder fmsOrder = (FmsOrder) this.fmsOrderService.getById(id);
|
FmsOrderVO fmsOrderVO = (FmsOrderVO) Optional.ofNullable(fmsOrder).map(order -> {
|
return FmsOrderConvert.INSTANCE.convert(fmsOrder);
|
}).map(vo -> {
|
vo.setOrderTypeLabel(this.dictService.getValue(FmsOrderEnum.FMS_ORDER_TYPE.getCode(), vo.getOrderType()));
|
vo.setOrderStatusLabel(this.dictService.getValue(FmsOrderEnum.FMS_ORDER_STATUS.getCode(), vo.getOrderStatus()));
|
return vo;
|
}).orElse(null);
|
return R.data(fmsOrderVO);
|
}
|
|
@ApiOperationSupport(order = 2)
|
@GetResource({"/count"})
|
@ApiOperation(value = "工单基础状态信息统计值", notes = "传入map")
|
public R<Long> count(@RequestParam @ApiIgnore Map<String, Object> params) {
|
long count = this.fmsOrderService.count(Condition.getQueryWrapper(params, FmsOrder.class));
|
return R.data(Long.valueOf(count));
|
}
|
|
@ApiOperationSupport(order = 3)
|
@GetResource({"/page"})
|
@ApiOperation(value = "工单基础状态信息分页", notes = "fmsOrderQueryVO")
|
public R<IPage<FmsOrderVO>> page(FmsOrderQueryVO fmsOrderQueryVO, Query query) {
|
return R.data(this.fmsOrderService.getPageOrder(fmsOrderQueryVO, query));
|
}
|
|
@ApiOperationSupport(order = 4)
|
@PostResource({"/save"})
|
@ApiOperation(value = "保存工单基础信息", notes = "传入fmsOrderVO")
|
public R<FmsOrderDetailVO> save(@Valid @RequestBody FmsOrderVO fmsOrderVO) {
|
return R.data(this.fmsOrderService.save(fmsOrderVO));
|
}
|
|
@ApiOperationSupport(order = 6)
|
@DeleteResource({"/remove"})
|
@ApiOperation(value = "工单基础状态信息删除", notes = "传入ids")
|
public R<Boolean> remove(@ApiParam(value = "主键", required = true) @RequestBody IdsVO ids) {
|
if (Func.isEmpty(ids.getIds())) {
|
return R.status(false);
|
}
|
return R.data(this.fmsOrderService.removeOrder(ids));
|
}
|
|
@ApiOperationSupport(order = 7)
|
@GetResource({"/list-craft"})
|
@ApiOperation("获取所有的工艺路线列表")
|
public R<List<CraftRoutingDetailVO>> listCraft() {
|
return R.data(this.fmsOrderService.listCraft());
|
}
|
|
@ApiOperationSupport(order = 7)
|
@GetResource({"/get-production-craft/{productionId}"})
|
@ApiOperation(value = "根据产品ID查询工艺路线列表数据", notes = "传入产品id")
|
public R<List<CraftRoutingDetailVO>> getProductionCraft(@PathVariable String productionId) {
|
return R.data(this.fmsOrderService.listProductionCraft(productionId));
|
}
|
|
@PostResource({"/publish"})
|
@ApiOperation(value = "工单发布", notes = "传入工单ID")
|
public R<FmsOrderVO> publish(@RequestParam String orderId) {
|
return R.data(this.fmsOrderService.publish(orderId));
|
}
|
|
@PostResource({"/pause"})
|
@ApiOperation(value = "工单暂停", notes = "传入工单ID")
|
public R<List<FmsOrderVO>> pause(@RequestBody List<String> orderIds) {
|
return R.data(this.fmsOrderService.pauseBatch(orderIds));
|
}
|
|
@PostResource({"/start"})
|
@ApiOperation(value = "工单启动", notes = "传入工单ID")
|
public R<List<FmsOrderVO>> start(@RequestBody List<String> orderIds) {
|
return R.data(this.fmsOrderService.startOrders(orderIds));
|
}
|
|
@GetResource({"/statistics"})
|
@ApiOperation("查看工单统计信息")
|
public R<FmsOrderStatusStatVO> orderStatistics() {
|
return R.data(this.fmsOrderService.orderStatistics());
|
}
|
|
@GetResource({"/production-statistics"})
|
@ApiOperation(value = "查看产量统计信息", notes = "传入工单ID")
|
public R<List<FmsOrderProductionStatVO>> productionStatistics(@RequestParam String orderId) {
|
return R.data(this.fmsOrderService.productionStatistics(orderId));
|
}
|
|
@PostResource({"/save-workstation"})
|
@ApiOperation(value = "保存指派工位信息", notes = "传入FmsOrderDetailVO")
|
public void saveWorkstation(@Valid @RequestBody FmsOrderDetailVO fmsOrderDetailVO) {
|
this.fmsOrderService.saveWorkstation(fmsOrderDetailVO);
|
}
|
|
@PutResource({"/shut-down-order"})
|
@ApiOperation("停止计划工单(产线)")
|
public R<Boolean> shutDownOrder() {
|
return R.status(this.fmsOrderService.stopDownOrder().booleanValue());
|
}
|
|
@PostResource({"/switch"})
|
@ApiOperation("手自动切换")
|
public void switchState(@RequestBody SwitchDTO switchDTO) {
|
this.paramService.switchState(switchDTO);
|
}
|
|
@GetResource({"/fms-running-status"})
|
@ApiOperation(value = "获取柔性线当前运行状态", notes = "false 手动 true 自动")
|
public R<SwitchDTO> getFmsOnline() {
|
return R.data(this.paramService.orderStartStatus());
|
}
|
}
|