package com.qianwen.smartman.modules.coproduction.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 javax.validation.Valid;
|
import com.qianwen.smartman.common.cache.RegionCache;
|
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.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.tool.api.R;
|
import com.qianwen.core.tool.utils.Func;
|
import com.qianwen.smartman.modules.coproduction.convert.PlanConvert;
|
import com.qianwen.smartman.modules.coproduction.entity.Plan;
|
import com.qianwen.smartman.modules.coproduction.service.IPlanService;
|
import com.qianwen.smartman.modules.coproduction.vo.OrderEditWorkstationVO;
|
import com.qianwen.smartman.modules.coproduction.vo.PlanAppendVO;
|
import com.qianwen.smartman.modules.coproduction.vo.PlanBomVO;
|
import com.qianwen.smartman.modules.coproduction.vo.PlanCraftVO;
|
import com.qianwen.smartman.modules.coproduction.vo.PlanModifyVO;
|
import com.qianwen.smartman.modules.coproduction.vo.PlanQueryVO;
|
import com.qianwen.smartman.modules.coproduction.vo.PlanStatusCountVO;
|
import com.qianwen.smartman.modules.coproduction.vo.PlanSubmitVO;
|
import com.qianwen.smartman.modules.coproduction.vo.PlanVO;
|
import com.qianwen.smartman.modules.cps.vo.CraftRoutingDetailVO;
|
import com.qianwen.smartman.modules.system.handler.field.HandlerFieldSqlParse;
|
import org.springframework.web.bind.annotation.GetMapping;
|
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 org.springframework.web.multipart.MultipartFile;
|
|
@Api(value = "blade_plan管理", tags = {"blade_plan管理"})
|
@ApiResource({"blade-coproduction/plan"})
|
@RestController
|
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/coproduction/controller/PlanController.class */
|
public class PlanController extends BladeController {
|
private final IPlanService planService;
|
private final HandlerFieldSqlParse handlerFieldSqlParse;
|
|
public PlanController(final IPlanService planService, final HandlerFieldSqlParse handlerFieldSqlParse) {
|
this.planService = planService;
|
this.handlerFieldSqlParse = handlerFieldSqlParse;
|
}
|
|
@ApiOperationSupport(order = 1)
|
@GetResource({"/get/{id}"})
|
@ApiOperation(value = "blade_plan详情", notes = "传入plan")
|
@PreAuth
|
public R<PlanVO> detail(@PathVariable String id) {
|
Plan plan = this.planService.getPlan(id);
|
String detailResult = this.handlerFieldSqlParse.handlerFieldDetailResult(plan.getTypeId(), plan.getExtendField());
|
plan.setExtendField(detailResult);
|
return R.data(PlanConvert.INSTANCE.convert(plan));
|
}
|
|
@ApiOperationSupport(order = 2)
|
@GetResource({"/statusCount"})
|
@ApiOperation(value = "计划页上方状态数量总览", notes = "传入templateId")
|
@PreAuth
|
public R<List<PlanStatusCountVO>> statusCount(@RequestParam String templateId) {
|
return R.data(this.planService.statusCount(templateId));
|
}
|
|
@ApiOperationSupport(order = 2)
|
@PostResource({"/page"})
|
@ApiOperation(value = "blade_plan分页", notes = "传入map")
|
@PreAuth
|
public R<IPage<PlanVO>> page(Query query, @RequestBody PlanQueryVO planQueryVO) {
|
IPage<Plan> pages = this.planService.listPage(Condition.getPage(query), planQueryVO);
|
return R.data(PlanConvert.INSTANCE.convert(pages));
|
}
|
|
@ApiOperationSupport(order = 3)
|
@PostResource({"/save"})
|
@ApiOperation(value = "blade_plan新增", notes = "传入planVO")
|
@PreAuth
|
public R<PlanVO> insert(@Valid @RequestBody PlanSubmitVO planSubmitVO) {
|
this.planService.create(planSubmitVO);
|
return R.data(PlanConvert.INSTANCE.convert(planSubmitVO));
|
}
|
|
@ApiOperationSupport(order = 4)
|
@PutResource({"/modify"})
|
@ApiOperation(value = "blade_plan修改", notes = "传入planVO")
|
@PreAuth
|
public R<PlanVO> update(@Valid @RequestBody PlanModifyVO planModifyVO) {
|
return R.data(PlanConvert.INSTANCE.convert(this.planService.modify(planModifyVO)));
|
}
|
|
@ApiOperationSupport(order = RegionCache.VILLAGE_LEVEL)
|
@ApiOperation(value = "blade_plan删除", notes = "传入id")
|
@PreAuth
|
@DeleteResource({"/remove"})
|
public R remove(@RequestParam("planId") @ApiParam(value = "主键", required = true) Long id) {
|
if (Func.isEmpty(id)) {
|
return R.status(false);
|
}
|
return R.status(this.planService.remove(id));
|
}
|
|
@ApiOperationSupport(order = 6)
|
@PostResource({"/append"})
|
@ApiOperation(value = "追加", notes = "传入json")
|
@PreAuth
|
public R<Object> append(@Valid @RequestBody PlanAppendVO planAppendVO) {
|
this.planService.append(planAppendVO);
|
return R.data(planAppendVO);
|
}
|
|
@ApiOperationSupport(order = 7)
|
@PostResource({"/pause"})
|
@ApiOperation(value = "暂停", notes = "传入json")
|
@PreAuth
|
public R<Object> pause(@RequestParam("planId") Long planId) {
|
this.planService.pause(planId);
|
return R.data(planId);
|
}
|
|
@ApiOperationSupport(order = 8)
|
@PostResource({"/reboot"})
|
@ApiOperation(value = "重启", notes = "传入planId")
|
@PreAuth
|
public R<Object> reboot(@RequestParam("planId") Long planId) {
|
this.planService.reboot(planId);
|
return R.data(planId);
|
}
|
|
@ApiOperationSupport(order = 9)
|
@GetResource({"/template"})
|
@ApiOperation(value = "下载模板", notes = "")
|
@PreAuth
|
public R<BladeFile> template(Long templateId) {
|
return R.data(this.planService.planTemplate(templateId));
|
}
|
|
@ApiOperationSupport(order = 10)
|
@PostResource({"/import"})
|
@ApiOperation(value = "计划导入", notes = "传入templateId")
|
@PreAuth
|
public R<BladeFile> planImport(@RequestParam("templateId") Long templateId, MultipartFile file) {
|
return R.data(this.planService.planImport(templateId, file));
|
}
|
|
@ApiOperationSupport(order = 11)
|
@PostResource({"/export"})
|
@ApiOperation(value = "计划导出", notes = "传入planId")
|
@PreAuth
|
public R<BladeFile> planExport(@Valid @RequestBody PlanQueryVO planQueryVO) {
|
return R.data(this.planService.planExport(planQueryVO));
|
}
|
|
@ApiOperationSupport(order = 12)
|
@PostResource({"/finish"})
|
@ApiOperation(value = "计划完成", notes = "传入planId")
|
@PreAuth
|
public R finish(@Valid @RequestBody Long planId) {
|
return R.status(this.planService.finish(planId).booleanValue());
|
}
|
|
@ApiOperationSupport(order = 13)
|
@PostResource({"/close"})
|
@ApiOperation(value = "计划关闭", notes = "传入planId")
|
@PreAuth
|
public R close(@Valid @RequestBody Long planId) {
|
return R.status(this.planService.close(planId).booleanValue());
|
}
|
|
@ApiOperationSupport(order = 14)
|
@PostResource({"/editWorkstation"})
|
@ApiOperation(value = "编辑工位", notes = "传入planId")
|
@PreAuth
|
public R editWorkstation(@Valid @RequestBody OrderEditWorkstationVO orderEditWorkstationVO) {
|
return R.status(this.planService.editWorkstation(orderEditWorkstationVO).booleanValue());
|
}
|
|
@ApiOperationSupport(order = 15)
|
@GetMapping({"/list-craft"})
|
@ApiOperation("获取所有生产工艺的信息及其版本信息、绑定产品信息")
|
public R<List<PlanCraftVO>> listCraft() {
|
return R.data(this.planService.listCraft());
|
}
|
|
@ApiOperationSupport(order = 16)
|
@GetMapping({"/list-bom/{id}"})
|
@ApiOperation("根据生产工艺版本id,获取bom版本信息")
|
public R<List<PlanBomVO>> listBom(@PathVariable(value = "id", required = false) Long id) {
|
return R.data(this.planService.listBom(id));
|
}
|
|
@ApiOperationSupport(order = 17)
|
@GetMapping({"/get-plan-craft/{id}"})
|
@ApiOperation("根据计划id,获取生产工艺信息")
|
public R<CraftRoutingDetailVO> getCraftPlan(@PathVariable(value = "id", required = false) Long id) {
|
return R.data(this.planService.getCraftPlan(id));
|
}
|
}
|