refactor(wms): 移除废弃的出入库相关接口和实现

- 注释掉推荐采购计划相关接口及其实现逻辑
- 删除出入库单主表和明细表的控制器、服务接口及实现类
- 移除出入库单相关的Mapper接口及XML配置文件
- 清理原材料服务中不再使用的库存信息填充方法
This commit is contained in:
2025-10-28 13:06:25 +08:00
parent 00bb21b39a
commit 3be57b3f67
19 changed files with 88 additions and 1806 deletions

View File

@@ -47,14 +47,14 @@ public class WmsPurchasePlanController extends BaseController {
public R<Void> addPurchasePlan(@RequestBody WmsPurchasePlanVo planVo) {
return toAjax(iWmsPurchasePlanService.insertWithDetails(planVo));
}
/**
* 根据订单ID生成推荐采购计划只返回不落库
*/
@GetMapping("/recommend/{orderId}")
public R<WmsPurchasePlanVo> recommendPurchasePlan(@PathVariable Long orderId) {
WmsPurchasePlanVo planVo = iWmsPurchasePlanService.recommendPurchasePlanByOrder(orderId);
return R.ok(planVo);
}
// /**
// * 根据订单ID生成推荐采购计划只返回不落库
// */
// @GetMapping("/recommend/{orderId}")
// public R<WmsPurchasePlanVo> recommendPurchasePlan(@PathVariable Long orderId) {
// WmsPurchasePlanVo planVo = iWmsPurchasePlanService.recommendPurchasePlanByOrder(orderId);
// return R.ok(planVo);
// }
/**
* 识别图片中的文字

View File

@@ -1,186 +0,0 @@
package com.klp.controller;
import java.util.List;
import java.util.Arrays;
import java.util.Map;
import com.klp.domain.WmsStockIo;
import com.klp.domain.WmsStockIoDetail;
import com.klp.domain.bo.WmsStockIoDetailBo;
import com.klp.domain.vo.WmsStockIoDetailVo;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.transaction.annotation.Transactional;
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.WmsStockIoVo;
import com.klp.domain.bo.WmsStockIoBo;
import com.klp.service.IWmsStockIoService;
import com.klp.common.core.page.TableDataInfo;
import com.klp.domain.bo.WmsStockIoWithDetailBo;
/**
* 出入库单主表
*
* @author Joshi
* @date 2025-07-18
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/wms/stockIo")
public class WmsStockIoController extends BaseController {
private final IWmsStockIoService iWmsStockIoService;
/**
* 查询出入库单主列表
*/
@GetMapping("/list")
public TableDataInfo<WmsStockIoVo> list(WmsStockIoBo bo, PageQuery pageQuery) {
return iWmsStockIoService.queryPageList(bo, pageQuery);
}
/**
* 导出出入库单主列表
*/
@Log(title = "出入库单主", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(WmsStockIoBo bo, HttpServletResponse response) {
List<WmsStockIoVo> list = iWmsStockIoService.queryList(bo);
ExcelUtil.exportExcel(list, "出入库单主", WmsStockIoVo.class, response);
}
/**
* 获取出入库单主详细信息
*
* @param stockIoId 主键
*/
@GetMapping("/{stockIoId}")
public R<WmsStockIoVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long stockIoId) {
return R.ok(iWmsStockIoService.queryById(stockIoId));
}
/**
* 新增出入库单主
*/
@Log(title = "出入库单主", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsStockIoBo bo) {
return toAjax(iWmsStockIoService.insertByBo(bo));
}
/**
* 批量新增主表和明细
*/
@PostMapping("/withDetail")
public R<Void> addWithDetail(@RequestBody WmsStockIoWithDetailBo bo) {
iWmsStockIoService.addWithDetail(bo);
return R.ok();
}
/**
* 修改出入库单主
*/
@Log(title = "出入库单主", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsStockIoBo bo) {
return toAjax(iWmsStockIoService.updateByBo(bo));
}
/**
* 删除出入库单主
*
* @param stockIoIds 主键串
*/
@Log(title = "出入库单主", businessType = BusinessType.DELETE)
@DeleteMapping("/{stockIoIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] stockIoIds) {
return toAjax(iWmsStockIoService.deleteWithValidByIds(Arrays.asList(stockIoIds), true));
}
/**
* 审核出入库/移库单
*/
@Log(title = "出入库单主", businessType = BusinessType.UPDATE)
@PostMapping("/audit/{stockIoId}")
public R<Void> audit(@NotNull(message = "主键不能为空") @PathVariable Long stockIoId) {
return toAjax(iWmsStockIoService.auditStockIo(stockIoId));
}
/**
* 撤销出入库/移库单
*/
@Log(title = "出入库单主", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PostMapping("/cancel/{stockIoId}")
public R<Void> cancel(@NotNull(message = "主键不能为空") @PathVariable Long stockIoId) {
return toAjax(iWmsStockIoService.cancelStockIo(stockIoId));
}
/**
* 根据ioType和stockIoId联查明细
*/
@GetMapping("/detailByTypeAndId")
public R<List<WmsStockIoDetailVo>> detailByTypeAndId(@RequestParam String ioType, @RequestParam Long stockIoId) {
return R.ok(iWmsStockIoService.detailByTypeAndId(ioType, stockIoId));
}
/**
* 更新出入库单状态
*/
@Log(title = "出入库单主", businessType = BusinessType.UPDATE)
@PostMapping("/updateStatus/{stockIoId}")
public R<Void> updateStatus(@NotNull(message = "主键不能为空") @PathVariable Long stockIoId,
@RequestParam Integer status) {
return toAjax(iWmsStockIoService.updateStatus(stockIoId, status));
}
/**
* 扫码枪专用根据明细ID直接入库无需审核整单
*/
@PostMapping("/scanInStock")
public R<Void> scanInStock(@RequestBody WmsStockIoDetailBo bo) {
try {
boolean result = iWmsStockIoService.scanInStockByBo(bo);
return toAjax(result);
} catch (Exception e) {
return R.fail(e.getMessage());
}
}
@PostMapping("/scanOutStock")
public R<Void> scanOutStock(@RequestBody WmsStockIoDetailBo bo) {
try {
boolean result = iWmsStockIoService.scanOutStockByBo(bo);
return toAjax(result);
} catch (Exception e) {
return R.fail(e.getMessage());
}
}
//退库操作
@PostMapping("/returnStock")
public R<Void> scanReturnStock(@RequestBody WmsStockIoBo bo) {
try {
boolean result = iWmsStockIoService.scanReturnStockByBo(bo);
return toAjax(result);
} catch (Exception e) {
return R.fail(e.getMessage());
}
}
}

View File

@@ -1,108 +0,0 @@
package com.klp.controller;
import java.util.List;
import java.util.Arrays;
import com.klp.domain.bo.WmsStockBo;
import com.klp.domain.vo.WmsStockVo;
import lombok.RequiredArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.redisson.api.RList;
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.WmsStockIoDetailVo;
import com.klp.domain.bo.WmsStockIoDetailBo;
import com.klp.service.IWmsStockIoDetailService;
import com.klp.common.core.page.TableDataInfo;
/**
* 出入库单明细
*
* @author Joshi
* @date 2025-07-18
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/wms/stockIoDetail")
public class WmsStockIoDetailController extends BaseController {
private final IWmsStockIoDetailService iWmsStockIoDetailService;
/**
* 查询出入库单明细列表
*/
@GetMapping("/list")
public TableDataInfo<WmsStockIoDetailVo> list(WmsStockIoDetailBo bo, PageQuery pageQuery) {
return iWmsStockIoDetailService.queryPageList(bo, pageQuery);
}
/**
* 导出出入库单明细列表
*/
@Log(title = "出入库单明细", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(WmsStockIoDetailBo bo, HttpServletResponse response) {
List<WmsStockIoDetailVo> list = iWmsStockIoDetailService.queryList(bo);
ExcelUtil.exportExcel(list, "出入库单明细", WmsStockIoDetailVo.class, response);
}
/**
* 获取出入库单明细详细信息
*
* @param detailId 主键
*/
@GetMapping("/{detailId}")
public R<WmsStockIoDetailVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long detailId) {
return R.ok(iWmsStockIoDetailService.queryById(detailId));
}
/**
* 新增出入库单明细
*/
@Log(title = "出入库单明细", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsStockIoDetailBo bo) {
return toAjax(iWmsStockIoDetailService.insertByBo(bo));
}
/**
* 修改出入库单明细
*/
@Log(title = "出入库单明细", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsStockIoDetailBo bo) {
return toAjax(iWmsStockIoDetailService.updateByBo(bo));
}
/**
* 删除出入库单明细
*
* @param detailIds 主键串
*/
@Log(title = "出入库单明细", businessType = BusinessType.DELETE)
@DeleteMapping("/{detailIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] detailIds) {
return toAjax(iWmsStockIoDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true));
}
//根据批次号联查出入库单主表以及明细表信息
@PostMapping("/batch")
public R<List<WmsStockIoDetailVo>> batchQuery(@RequestBody WmsStockIoDetailBo bo) {
return R.ok(iWmsStockIoDetailService.batchQuery(bo));
}
}

View File

@@ -1,99 +0,0 @@
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.WmsStockLogVo;
import com.klp.domain.bo.WmsStockLogBo;
import com.klp.service.IWmsStockLogService;
import com.klp.common.core.page.TableDataInfo;
/**
* 库存流水
*
* @author JR
* @date 2025-08-11
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/klp/stockLog")
public class WmsStockLogController extends BaseController {
private final IWmsStockLogService iWmsStockLogService;
/**
* 查询库存流水列表
*/
@GetMapping("/list")
public TableDataInfo<WmsStockLogVo> list(WmsStockLogBo bo, PageQuery pageQuery) {
return iWmsStockLogService.queryPageList(bo, pageQuery);
}
/**
* 导出库存流水列表
*/
@Log(title = "库存流水", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(WmsStockLogBo bo, HttpServletResponse response) {
List<WmsStockLogVo> list = iWmsStockLogService.queryList(bo);
ExcelUtil.exportExcel(list, "库存流水", WmsStockLogVo.class, response);
}
/**
* 获取库存流水详细信息
*
* @param id 主键
*/
@GetMapping("/{id}")
public R<WmsStockLogVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(iWmsStockLogService.queryById(id));
}
/**
* 新增库存流水
*/
@Log(title = "库存流水", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsStockLogBo bo) {
return toAjax(iWmsStockLogService.insertByBo(bo));
}
/**
* 修改库存流水
*/
@Log(title = "库存流水", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsStockLogBo bo) {
return toAjax(iWmsStockLogService.updateByBo(bo));
}
/**
* 删除库存流水
*
* @param ids 主键串
*/
@Log(title = "库存流水", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(iWmsStockLogService.deleteWithValidByIds(Arrays.asList(ids), true));
}
}