Files
klp-oa/klp-wms/src/main/java/com/klp/controller/WmsCoilPendingActionController.java

154 lines
5.4 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.klp.controller;
import java.util.List;
import java.util.Arrays;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import com.klp.common.annotation.RepeatSubmit;
import com.klp.common.annotation.Log;
import com.klp.common.core.controller.BaseController;
import com.klp.common.core.domain.PageQuery;
import com.klp.common.core.domain.R;
import com.klp.common.core.validate.AddGroup;
import com.klp.common.core.validate.EditGroup;
import com.klp.common.enums.BusinessType;
import com.klp.common.utils.poi.ExcelUtil;
import com.klp.domain.vo.WmsCoilPendingActionVo;
import com.klp.domain.vo.TheoryCycleRegressionResultVo;
import com.klp.domain.bo.WmsCoilPendingActionBo;
import com.klp.service.IWmsCoilPendingActionService;
import com.klp.common.core.page.TableDataInfo;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* 钢卷待操作
*
* @author Joshi
* @date 2025-11-03
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/wms/coilPendingAction")
public class WmsCoilPendingActionController extends BaseController {
private final IWmsCoilPendingActionService iWmsCoilPendingActionService;
/**
* 查询钢卷待操作列表
*/
@GetMapping("/list")
public TableDataInfo<WmsCoilPendingActionVo> list(WmsCoilPendingActionBo bo, PageQuery pageQuery) {
return iWmsCoilPendingActionService.queryPageList(bo, pageQuery);
}
/**
* 导出钢卷待操作列表
*/
@Log(title = "钢卷待操作", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(WmsCoilPendingActionBo bo, HttpServletResponse response) {
List<WmsCoilPendingActionVo> list = iWmsCoilPendingActionService.queryList(bo);
ExcelUtil.exportExcel(list, "钢卷待操作", WmsCoilPendingActionVo.class, response);
}
/**
* 获取钢卷待操作详细信息
*
* @param actionId 主键
*/
@GetMapping("/{actionId}")
public R<WmsCoilPendingActionVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long actionId) {
return R.ok(iWmsCoilPendingActionService.queryById(actionId));
}
/**
* 新增钢卷待操作
*/
@Log(title = "钢卷待操作", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsCoilPendingActionBo bo) {
return toAjax(iWmsCoilPendingActionService.insertByBo(bo));
}
/**
* 修改钢卷待操作
*/
@Log(title = "钢卷待操作", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsCoilPendingActionBo bo) {
return toAjax(iWmsCoilPendingActionService.updateByBo(bo));
}
/**
* 删除钢卷待操作
*
* @param actionIds 主键串
*/
@Log(title = "钢卷待操作", businessType = BusinessType.DELETE)
@DeleteMapping("/{actionIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable("actionIds") Long[] actionIds) {
return toAjax(iWmsCoilPendingActionService.deleteWithValidByIds(Arrays.asList(actionIds), true));
}
/**
* 更新操作状态
*/
@Log(title = "钢卷待操作", businessType = BusinessType.UPDATE)
@PutMapping("/status/{actionId}/{status}")
public R<Void> updateStatus(@PathVariable("actionId") Long actionId,
@PathVariable("status") Integer status) {
return toAjax(iWmsCoilPendingActionService.updateStatus(actionId, status));
}
/**
* 开始处理操作
*/
@Log(title = "钢卷待操作", businessType = BusinessType.UPDATE)
@PutMapping("/start/{actionId}")
public R<Void> startProcess(@PathVariable("actionId") Long actionId) {
return toAjax(iWmsCoilPendingActionService.startProcess(actionId));
}
/**
* 完成操作
*/
@Log(title = "钢卷待操作", businessType = BusinessType.UPDATE)
@PutMapping("/complete/{actionId}")
public R<Void> completeAction(@PathVariable("actionId") Long actionId) {
return toAjax(iWmsCoilPendingActionService.completeAction(actionId));
}
/**
* 取消操作
*/
@Log(title = "钢卷待操作", businessType = BusinessType.UPDATE)
@PutMapping("/cancel/{actionId}")
public R<Void> cancelAction(@PathVariable("actionId") Long actionId) {
return toAjax(iWmsCoilPendingActionService.cancelAction(actionId));
}
/**
* 计算理论节拍回归默认近6个月并返回散点+拟合线
*/
@GetMapping("/theoryCycle/regression")
public R<TheoryCycleRegressionResultVo> theoryCycleRegression(
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startTime,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endTime,
@RequestParam(value = "includePoints", required = false, defaultValue = "false") Boolean includePoints,
@RequestParam(value = "maxPoints", required = false, defaultValue = "2000") Integer maxPoints) {
return R.ok(iWmsCoilPendingActionService.calcTheoryCycleRegression(startTime, endTime, includePoints, maxPoints));
}
}