Files
klp-oa/klp-wms/src/main/java/com/klp/controller/WmsTransferOrderController.java
Joshi c8987f6fdd feat(transfer): 添加调拨单审批功能和调拨类型字段
- 在WmsTransferOrder实体中添加调拨类型、审批人、审批时间和审批状态字段
- 在WmsMaterialCoil实体中添加调拨类型字段用于关联调拨信息
- 实现调拨单审批接口,支持通过或驳回操作
- 更新调拨单明细处理逻辑,确保调拨类型正确传递到钢卷信息
- 添加调拨单取消功能,可恢复调拨前的状态
- 在导出VO中增加调拨类型字段支持Excel导出
- 更新查询条件支持按调拨类型、审批状态等字段筛选
- 完善调拨流程中的数据验证和错误处理机制
2026-04-10 09:24:42 +08:00

115 lines
3.7 KiB
Java

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.WmsTransferOrderVo;
import com.klp.domain.bo.WmsTransferOrderBo;
import com.klp.service.IWmsTransferOrderService;
import com.klp.common.core.page.TableDataInfo;
/**
* 调拨单主
*
* @author klp
* @date 2026-03-27
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/wms/transferOrder")
public class WmsTransferOrderController extends BaseController {
private final IWmsTransferOrderService iWmsTransferOrderService;
/**
* 查询调拨单主列表
*/
@GetMapping("/list")
public TableDataInfo<WmsTransferOrderVo> list(WmsTransferOrderBo bo, PageQuery pageQuery) {
return iWmsTransferOrderService.queryPageList(bo, pageQuery);
}
/**
* 导出调拨单主列表
*/
@Log(title = "调拨单主", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(WmsTransferOrderBo bo, HttpServletResponse response) {
List<WmsTransferOrderVo> list = iWmsTransferOrderService.queryList(bo);
ExcelUtil.exportExcel(list, "调拨单主", WmsTransferOrderVo.class, response);
}
/**
* 获取调拨单主详细信息
*
* @param orderId 主键
*/
@GetMapping("/{orderId}")
public R<WmsTransferOrderVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long orderId) {
return R.ok(iWmsTransferOrderService.queryById(orderId));
}
/**
* 新增调拨单主
*/
@Log(title = "调拨单主", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsTransferOrderBo bo) {
return toAjax(iWmsTransferOrderService.insertByBo(bo));
}
/**
* 修改调拨单主
*/
@Log(title = "调拨单主", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsTransferOrderBo bo) {
return toAjax(iWmsTransferOrderService.updateByBo(bo));
}
/**
* 删除调拨单主
*
* @param orderIds 主键串
*/
@Log(title = "调拨单主", businessType = BusinessType.DELETE)
@DeleteMapping("/{orderIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] orderIds) {
return toAjax(iWmsTransferOrderService.deleteWithValidByIds(Arrays.asList(orderIds), true));
}
/**
* 审批调拨单
*
* @param orderId 调拨单ID
* @param approveStatus 审批状态 1-通过 2-驳回
*/
@Log(title = "调拨单审批", businessType = BusinessType.UPDATE)
@PutMapping("/approve/{orderId}/{approveStatus}")
public R<Void> approve(@NotNull(message = "主键不能为空")
@PathVariable Long orderId,
@NotNull(message = "审批状态不能为空")
@PathVariable Integer approveStatus) {
return toAjax(iWmsTransferOrderService.approve(orderId, approveStatus));
}
}