完成排产(测试过了)
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
package com.klp.aps.controller;
|
||||
|
||||
import com.klp.common.core.controller.BaseController;
|
||||
import com.klp.common.core.domain.R;
|
||||
import com.klp.aps.domain.dto.ApsAutoScheduleReq;
|
||||
import com.klp.aps.domain.dto.ApsPlanCreateReq;
|
||||
import com.klp.aps.service.ApsAutoScheduleService;
|
||||
import com.klp.aps.service.ApsPlanService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* APS 计划(MVP)
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/aps/plan")
|
||||
public class ApsPlanController extends BaseController {
|
||||
|
||||
private final ApsPlanService apsPlanService;
|
||||
private final ApsAutoScheduleService apsAutoScheduleService;
|
||||
|
||||
/**
|
||||
* POST /aps/plan/create
|
||||
* 创建计划头与明细,返回 planId
|
||||
*/
|
||||
@PostMapping("/create")
|
||||
public R<Long> create(@Validated @RequestBody ApsPlanCreateReq req) {
|
||||
Long planId = apsPlanService.createPlan(req, getUsername());
|
||||
return R.ok(planId);
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /aps/plan/auto-schedule
|
||||
* 自动排程生成 operation + change_log,并更新 plan 状态
|
||||
*/
|
||||
@PostMapping("/auto-schedule")
|
||||
public R<Void> autoSchedule(@Validated @RequestBody ApsAutoScheduleReq req) {
|
||||
apsAutoScheduleService.autoSchedule(req, getUsername());
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* POST /aps/plan/publish/{planId}
|
||||
* 仅允许已排产(plan.status=1) 的计划发布,状态流转为 2(已发布/生产中)
|
||||
*/
|
||||
@PostMapping("/publish/{planId}")
|
||||
public R<Void> publish(@PathVariable Long planId) {
|
||||
apsPlanService.publishPlan(planId, getUsername());
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user