diff --git a/klp-wms/src/main/java/com/klp/Main.java b/klp-wms/src/main/java/com/klp/Main.java deleted file mode 100644 index 37a082d1..00000000 --- a/klp-wms/src/main/java/com/klp/Main.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.klp; - -public class Main { - public static void main(String[] args) { - System.out.println("Hello world!"); - } -} \ No newline at end of file diff --git a/klp-wms/src/main/java/com/klp/controller/WmsCategoryController.java b/klp-wms/src/main/java/com/klp/controller/WmsCategoryController.java new file mode 100644 index 00000000..d28781ff --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsCategoryController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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.WmsCategoryVo; +import com.klp.domain.bo.WmsCategoryBo; +import com.klp.service.IWmsCategoryService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 通用分类 + * + * @author JR + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/category") +public class WmsCategoryController extends BaseController { + + private final IWmsCategoryService iWmsCategoryService; + + /** + * 查询通用分类列表 + */ + @SaCheckPermission("klp:category:list") + @GetMapping("/list") + public TableDataInfo list(WmsCategoryBo bo, PageQuery pageQuery) { + return iWmsCategoryService.queryPageList(bo, pageQuery); + } + + /** + * 导出通用分类列表 + */ + @SaCheckPermission("klp:category:export") + @Log(title = "通用分类", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsCategoryBo bo, HttpServletResponse response) { + List list = iWmsCategoryService.queryList(bo); + ExcelUtil.exportExcel(list, "通用分类", WmsCategoryVo.class, response); + } + + /** + * 获取通用分类详细信息 + * + * @param categoryId 主键 + */ + @SaCheckPermission("klp:category:query") + @GetMapping("/{categoryId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long categoryId) { + return R.ok(iWmsCategoryService.queryById(categoryId)); + } + + /** + * 新增通用分类 + */ + @SaCheckPermission("klp:category:add") + @Log(title = "通用分类", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsCategoryBo bo) { + return toAjax(iWmsCategoryService.insertByBo(bo)); + } + + /** + * 修改通用分类 + */ + @SaCheckPermission("klp:category:edit") + @Log(title = "通用分类", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsCategoryBo bo) { + return toAjax(iWmsCategoryService.updateByBo(bo)); + } + + /** + * 删除通用分类 + * + * @param categoryIds 主键串 + */ + @SaCheckPermission("klp:category:remove") + @Log(title = "通用分类", businessType = BusinessType.DELETE) + @DeleteMapping("/{categoryIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] categoryIds) { + return toAjax(iWmsCategoryService.deleteWithValidByIds(Arrays.asList(categoryIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsOrderController.java b/klp-wms/src/main/java/com/klp/controller/WmsOrderController.java new file mode 100644 index 00000000..2e781bbd --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsOrderController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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.WmsOrderVo; +import com.klp.domain.bo.WmsOrderBo; +import com.klp.service.IWmsOrderService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 订单主 + * + * @author Joshi + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/order") +public class WmsOrderController extends BaseController { + + private final IWmsOrderService iWmsOrderService; + + /** + * 查询订单主列表 + */ + @SaCheckPermission("klp:order:list") + @GetMapping("/list") + public TableDataInfo list(WmsOrderBo bo, PageQuery pageQuery) { + return iWmsOrderService.queryPageList(bo, pageQuery); + } + + /** + * 导出订单主列表 + */ + @SaCheckPermission("klp:order:export") + @Log(title = "订单主", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsOrderBo bo, HttpServletResponse response) { + List list = iWmsOrderService.queryList(bo); + ExcelUtil.exportExcel(list, "订单主", WmsOrderVo.class, response); + } + + /** + * 获取订单主详细信息 + * + * @param orderId 主键 + */ + @SaCheckPermission("klp:order:query") + @GetMapping("/{orderId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long orderId) { + return R.ok(iWmsOrderService.queryById(orderId)); + } + + /** + * 新增订单主 + */ + @SaCheckPermission("klp:order:add") + @Log(title = "订单主", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsOrderBo bo) { + return toAjax(iWmsOrderService.insertByBo(bo)); + } + + /** + * 修改订单主 + */ + @SaCheckPermission("klp:order:edit") + @Log(title = "订单主", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsOrderBo bo) { + return toAjax(iWmsOrderService.updateByBo(bo)); + } + + /** + * 删除订单主 + * + * @param orderIds 主键串 + */ + @SaCheckPermission("klp:order:remove") + @Log(title = "订单主", businessType = BusinessType.DELETE) + @DeleteMapping("/{orderIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] orderIds) { + return toAjax(iWmsOrderService.deleteWithValidByIds(Arrays.asList(orderIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsOrderDetailController.java b/klp-wms/src/main/java/com/klp/controller/WmsOrderDetailController.java new file mode 100644 index 00000000..0844c00f --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsOrderDetailController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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.WmsOrderDetailVo; +import com.klp.domain.bo.WmsOrderDetailBo; +import com.klp.service.IWmsOrderDetailService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 订单明细 + * + * @author Joshi + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/orderDetail") +public class WmsOrderDetailController extends BaseController { + + private final IWmsOrderDetailService iWmsOrderDetailService; + + /** + * 查询订单明细列表 + */ + @SaCheckPermission("klp:orderDetail:list") + @GetMapping("/list") + public TableDataInfo list(WmsOrderDetailBo bo, PageQuery pageQuery) { + return iWmsOrderDetailService.queryPageList(bo, pageQuery); + } + + /** + * 导出订单明细列表 + */ + @SaCheckPermission("klp:orderDetail:export") + @Log(title = "订单明细", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsOrderDetailBo bo, HttpServletResponse response) { + List list = iWmsOrderDetailService.queryList(bo); + ExcelUtil.exportExcel(list, "订单明细", WmsOrderDetailVo.class, response); + } + + /** + * 获取订单明细详细信息 + * + * @param detailId 主键 + */ + @SaCheckPermission("klp:orderDetail:query") + @GetMapping("/{detailId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long detailId) { + return R.ok(iWmsOrderDetailService.queryById(detailId)); + } + + /** + * 新增订单明细 + */ + @SaCheckPermission("klp:orderDetail:add") + @Log(title = "订单明细", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsOrderDetailBo bo) { + return toAjax(iWmsOrderDetailService.insertByBo(bo)); + } + + /** + * 修改订单明细 + */ + @SaCheckPermission("klp:orderDetail:edit") + @Log(title = "订单明细", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsOrderDetailBo bo) { + return toAjax(iWmsOrderDetailService.updateByBo(bo)); + } + + /** + * 删除订单明细 + * + * @param detailIds 主键串 + */ + @SaCheckPermission("klp:orderDetail:remove") + @Log(title = "订单明细", businessType = BusinessType.DELETE) + @DeleteMapping("/{detailIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] detailIds) { + return toAjax(iWmsOrderDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsProductBomController.java b/klp-wms/src/main/java/com/klp/controller/WmsProductBomController.java new file mode 100644 index 00000000..ee1a507b --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsProductBomController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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.WmsProductBomVo; +import com.klp.domain.bo.WmsProductBomBo; +import com.klp.service.IWmsProductBomService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 产品BOM(产品-原材料清单) + * + * @author Joshi + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/productBom") +public class WmsProductBomController extends BaseController { + + private final IWmsProductBomService iWmsProductBomService; + + /** + * 查询产品BOM(产品-原材料清单)列表 + */ + @SaCheckPermission("klp:productBom:list") + @GetMapping("/list") + public TableDataInfo list(WmsProductBomBo bo, PageQuery pageQuery) { + return iWmsProductBomService.queryPageList(bo, pageQuery); + } + + /** + * 导出产品BOM(产品-原材料清单)列表 + */ + @SaCheckPermission("klp:productBom:export") + @Log(title = "产品BOM(产品-原材料清单)", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsProductBomBo bo, HttpServletResponse response) { + List list = iWmsProductBomService.queryList(bo); + ExcelUtil.exportExcel(list, "产品BOM(产品-原材料清单)", WmsProductBomVo.class, response); + } + + /** + * 获取产品BOM(产品-原材料清单)详细信息 + * + * @param bomId 主键 + */ + @SaCheckPermission("klp:productBom:query") + @GetMapping("/{bomId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long bomId) { + return R.ok(iWmsProductBomService.queryById(bomId)); + } + + /** + * 新增产品BOM(产品-原材料清单) + */ + @SaCheckPermission("klp:productBom:add") + @Log(title = "产品BOM(产品-原材料清单)", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsProductBomBo bo) { + return toAjax(iWmsProductBomService.insertByBo(bo)); + } + + /** + * 修改产品BOM(产品-原材料清单) + */ + @SaCheckPermission("klp:productBom:edit") + @Log(title = "产品BOM(产品-原材料清单)", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsProductBomBo bo) { + return toAjax(iWmsProductBomService.updateByBo(bo)); + } + + /** + * 删除产品BOM(产品-原材料清单) + * + * @param bomIds 主键串 + */ + @SaCheckPermission("klp:productBom:remove") + @Log(title = "产品BOM(产品-原材料清单)", businessType = BusinessType.DELETE) + @DeleteMapping("/{bomIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] bomIds) { + return toAjax(iWmsProductBomService.deleteWithValidByIds(Arrays.asList(bomIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsProductController.java b/klp-wms/src/main/java/com/klp/controller/WmsProductController.java new file mode 100644 index 00000000..5150240a --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsProductController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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.WmsProductVo; +import com.klp.domain.bo.WmsProductBo; +import com.klp.service.IWmsProductService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 产品 + * + * @author JR + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/product") +public class WmsProductController extends BaseController { + + private final IWmsProductService iWmsProductService; + + /** + * 查询产品列表 + */ + @SaCheckPermission("klp:product:list") + @GetMapping("/list") + public TableDataInfo list(WmsProductBo bo, PageQuery pageQuery) { + return iWmsProductService.queryPageList(bo, pageQuery); + } + + /** + * 导出产品列表 + */ + @SaCheckPermission("klp:product:export") + @Log(title = "产品", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsProductBo bo, HttpServletResponse response) { + List list = iWmsProductService.queryList(bo); + ExcelUtil.exportExcel(list, "产品", WmsProductVo.class, response); + } + + /** + * 获取产品详细信息 + * + * @param productId 主键 + */ + @SaCheckPermission("klp:product:query") + @GetMapping("/{productId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long productId) { + return R.ok(iWmsProductService.queryById(productId)); + } + + /** + * 新增产品 + */ + @SaCheckPermission("klp:product:add") + @Log(title = "产品", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsProductBo bo) { + return toAjax(iWmsProductService.insertByBo(bo)); + } + + /** + * 修改产品 + */ + @SaCheckPermission("klp:product:edit") + @Log(title = "产品", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsProductBo bo) { + return toAjax(iWmsProductService.updateByBo(bo)); + } + + /** + * 删除产品 + * + * @param productIds 主键串 + */ + @SaCheckPermission("klp:product:remove") + @Log(title = "产品", businessType = BusinessType.DELETE) + @DeleteMapping("/{productIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] productIds) { + return toAjax(iWmsProductService.deleteWithValidByIds(Arrays.asList(productIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsProductionLineController.java b/klp-wms/src/main/java/com/klp/controller/WmsProductionLineController.java new file mode 100644 index 00000000..62c0817e --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsProductionLineController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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.WmsProductionLineVo; +import com.klp.domain.bo.WmsProductionLineBo; +import com.klp.service.IWmsProductionLineService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 产线 + * + * @author Joshi + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/productionLine") +public class WmsProductionLineController extends BaseController { + + private final IWmsProductionLineService iWmsProductionLineService; + + /** + * 查询产线列表 + */ + @SaCheckPermission("klp:productionLine:list") + @GetMapping("/list") + public TableDataInfo list(WmsProductionLineBo bo, PageQuery pageQuery) { + return iWmsProductionLineService.queryPageList(bo, pageQuery); + } + + /** + * 导出产线列表 + */ + @SaCheckPermission("klp:productionLine:export") + @Log(title = "产线", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsProductionLineBo bo, HttpServletResponse response) { + List list = iWmsProductionLineService.queryList(bo); + ExcelUtil.exportExcel(list, "产线", WmsProductionLineVo.class, response); + } + + /** + * 获取产线详细信息 + * + * @param lineId 主键 + */ + @SaCheckPermission("klp:productionLine:query") + @GetMapping("/{lineId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long lineId) { + return R.ok(iWmsProductionLineService.queryById(lineId)); + } + + /** + * 新增产线 + */ + @SaCheckPermission("klp:productionLine:add") + @Log(title = "产线", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsProductionLineBo bo) { + return toAjax(iWmsProductionLineService.insertByBo(bo)); + } + + /** + * 修改产线 + */ + @SaCheckPermission("klp:productionLine:edit") + @Log(title = "产线", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsProductionLineBo bo) { + return toAjax(iWmsProductionLineService.updateByBo(bo)); + } + + /** + * 删除产线 + * + * @param lineIds 主键串 + */ + @SaCheckPermission("klp:productionLine:remove") + @Log(title = "产线", businessType = BusinessType.DELETE) + @DeleteMapping("/{lineIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] lineIds) { + return toAjax(iWmsProductionLineService.deleteWithValidByIds(Arrays.asList(lineIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsPurchasePlanController.java b/klp-wms/src/main/java/com/klp/controller/WmsPurchasePlanController.java new file mode 100644 index 00000000..d29ef736 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsPurchasePlanController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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.WmsPurchasePlanVo; +import com.klp.domain.bo.WmsPurchasePlanBo; +import com.klp.service.IWmsPurchasePlanService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 采购计划主 + * + * @author Joshi + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/purchasePlan") +public class WmsPurchasePlanController extends BaseController { + + private final IWmsPurchasePlanService iWmsPurchasePlanService; + + /** + * 查询采购计划主列表 + */ + @SaCheckPermission("klp:purchasePlan:list") + @GetMapping("/list") + public TableDataInfo list(WmsPurchasePlanBo bo, PageQuery pageQuery) { + return iWmsPurchasePlanService.queryPageList(bo, pageQuery); + } + + /** + * 导出采购计划主列表 + */ + @SaCheckPermission("klp:purchasePlan:export") + @Log(title = "采购计划主", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsPurchasePlanBo bo, HttpServletResponse response) { + List list = iWmsPurchasePlanService.queryList(bo); + ExcelUtil.exportExcel(list, "采购计划主", WmsPurchasePlanVo.class, response); + } + + /** + * 获取采购计划主详细信息 + * + * @param planId 主键 + */ + @SaCheckPermission("klp:purchasePlan:query") + @GetMapping("/{planId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long planId) { + return R.ok(iWmsPurchasePlanService.queryById(planId)); + } + + /** + * 新增采购计划主 + */ + @SaCheckPermission("klp:purchasePlan:add") + @Log(title = "采购计划主", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsPurchasePlanBo bo) { + return toAjax(iWmsPurchasePlanService.insertByBo(bo)); + } + + /** + * 修改采购计划主 + */ + @SaCheckPermission("klp:purchasePlan:edit") + @Log(title = "采购计划主", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsPurchasePlanBo bo) { + return toAjax(iWmsPurchasePlanService.updateByBo(bo)); + } + + /** + * 删除采购计划主 + * + * @param planIds 主键串 + */ + @SaCheckPermission("klp:purchasePlan:remove") + @Log(title = "采购计划主", businessType = BusinessType.DELETE) + @DeleteMapping("/{planIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] planIds) { + return toAjax(iWmsPurchasePlanService.deleteWithValidByIds(Arrays.asList(planIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsPurchasePlanDetailController.java b/klp-wms/src/main/java/com/klp/controller/WmsPurchasePlanDetailController.java new file mode 100644 index 00000000..82f06b4c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsPurchasePlanDetailController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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.WmsPurchasePlanDetailVo; +import com.klp.domain.bo.WmsPurchasePlanDetailBo; +import com.klp.service.IWmsPurchasePlanDetailService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 采购计划明细 + * + * @author Joshi + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/purchasePlanDetail") +public class WmsPurchasePlanDetailController extends BaseController { + + private final IWmsPurchasePlanDetailService iWmsPurchasePlanDetailService; + + /** + * 查询采购计划明细列表 + */ + @SaCheckPermission("klp:purchasePlanDetail:list") + @GetMapping("/list") + public TableDataInfo list(WmsPurchasePlanDetailBo bo, PageQuery pageQuery) { + return iWmsPurchasePlanDetailService.queryPageList(bo, pageQuery); + } + + /** + * 导出采购计划明细列表 + */ + @SaCheckPermission("klp:purchasePlanDetail:export") + @Log(title = "采购计划明细", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsPurchasePlanDetailBo bo, HttpServletResponse response) { + List list = iWmsPurchasePlanDetailService.queryList(bo); + ExcelUtil.exportExcel(list, "采购计划明细", WmsPurchasePlanDetailVo.class, response); + } + + /** + * 获取采购计划明细详细信息 + * + * @param detailId 主键 + */ + @SaCheckPermission("klp:purchasePlanDetail:query") + @GetMapping("/{detailId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long detailId) { + return R.ok(iWmsPurchasePlanDetailService.queryById(detailId)); + } + + /** + * 新增采购计划明细 + */ + @SaCheckPermission("klp:purchasePlanDetail:add") + @Log(title = "采购计划明细", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsPurchasePlanDetailBo bo) { + return toAjax(iWmsPurchasePlanDetailService.insertByBo(bo)); + } + + /** + * 修改采购计划明细 + */ + @SaCheckPermission("klp:purchasePlanDetail:edit") + @Log(title = "采购计划明细", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsPurchasePlanDetailBo bo) { + return toAjax(iWmsPurchasePlanDetailService.updateByBo(bo)); + } + + /** + * 删除采购计划明细 + * + * @param detailIds 主键串 + */ + @SaCheckPermission("klp:purchasePlanDetail:remove") + @Log(title = "采购计划明细", businessType = BusinessType.DELETE) + @DeleteMapping("/{detailIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] detailIds) { + return toAjax(iWmsPurchasePlanDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsRawMaterialController.java b/klp-wms/src/main/java/com/klp/controller/WmsRawMaterialController.java new file mode 100644 index 00000000..b30f28f0 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsRawMaterialController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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.WmsRawMaterialVo; +import com.klp.domain.bo.WmsRawMaterialBo; +import com.klp.service.IWmsRawMaterialService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 原材料 + * + * @author Joshi + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/rawMaterial") +public class WmsRawMaterialController extends BaseController { + + private final IWmsRawMaterialService iWmsRawMaterialService; + + /** + * 查询原材料列表 + */ + @SaCheckPermission("klp:rawMaterial:list") + @GetMapping("/list") + public TableDataInfo list(WmsRawMaterialBo bo, PageQuery pageQuery) { + return iWmsRawMaterialService.queryPageList(bo, pageQuery); + } + + /** + * 导出原材料列表 + */ + @SaCheckPermission("klp:rawMaterial:export") + @Log(title = "原材料", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsRawMaterialBo bo, HttpServletResponse response) { + List list = iWmsRawMaterialService.queryList(bo); + ExcelUtil.exportExcel(list, "原材料", WmsRawMaterialVo.class, response); + } + + /** + * 获取原材料详细信息 + * + * @param rawMaterialId 主键 + */ + @SaCheckPermission("klp:rawMaterial:query") + @GetMapping("/{rawMaterialId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long rawMaterialId) { + return R.ok(iWmsRawMaterialService.queryById(rawMaterialId)); + } + + /** + * 新增原材料 + */ + @SaCheckPermission("klp:rawMaterial:add") + @Log(title = "原材料", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsRawMaterialBo bo) { + return toAjax(iWmsRawMaterialService.insertByBo(bo)); + } + + /** + * 修改原材料 + */ + @SaCheckPermission("klp:rawMaterial:edit") + @Log(title = "原材料", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsRawMaterialBo bo) { + return toAjax(iWmsRawMaterialService.updateByBo(bo)); + } + + /** + * 删除原材料 + * + * @param rawMaterialIds 主键串 + */ + @SaCheckPermission("klp:rawMaterial:remove") + @Log(title = "原材料", businessType = BusinessType.DELETE) + @DeleteMapping("/{rawMaterialIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] rawMaterialIds) { + return toAjax(iWmsRawMaterialService.deleteWithValidByIds(Arrays.asList(rawMaterialIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsSchedulePlanController.java b/klp-wms/src/main/java/com/klp/controller/WmsSchedulePlanController.java new file mode 100644 index 00000000..7e2539ba --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsSchedulePlanController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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.WmsSchedulePlanVo; +import com.klp.domain.bo.WmsSchedulePlanBo; +import com.klp.service.IWmsSchedulePlanService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 排产计划 + * + * @author JR + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/schedulePlan") +public class WmsSchedulePlanController extends BaseController { + + private final IWmsSchedulePlanService iWmsSchedulePlanService; + + /** + * 查询排产计划列表 + */ + @SaCheckPermission("klp:schedulePlan:list") + @GetMapping("/list") + public TableDataInfo list(WmsSchedulePlanBo bo, PageQuery pageQuery) { + return iWmsSchedulePlanService.queryPageList(bo, pageQuery); + } + + /** + * 导出排产计划列表 + */ + @SaCheckPermission("klp:schedulePlan:export") + @Log(title = "排产计划", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsSchedulePlanBo bo, HttpServletResponse response) { + List list = iWmsSchedulePlanService.queryList(bo); + ExcelUtil.exportExcel(list, "排产计划", WmsSchedulePlanVo.class, response); + } + + /** + * 获取排产计划详细信息 + * + * @param planId 主键 + */ + @SaCheckPermission("klp:schedulePlan:query") + @GetMapping("/{planId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long planId) { + return R.ok(iWmsSchedulePlanService.queryById(planId)); + } + + /** + * 新增排产计划 + */ + @SaCheckPermission("klp:schedulePlan:add") + @Log(title = "排产计划", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsSchedulePlanBo bo) { + return toAjax(iWmsSchedulePlanService.insertByBo(bo)); + } + + /** + * 修改排产计划 + */ + @SaCheckPermission("klp:schedulePlan:edit") + @Log(title = "排产计划", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsSchedulePlanBo bo) { + return toAjax(iWmsSchedulePlanService.updateByBo(bo)); + } + + /** + * 删除排产计划 + * + * @param planIds 主键串 + */ + @SaCheckPermission("klp:schedulePlan:remove") + @Log(title = "排产计划", businessType = BusinessType.DELETE) + @DeleteMapping("/{planIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] planIds) { + return toAjax(iWmsSchedulePlanService.deleteWithValidByIds(Arrays.asList(planIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsSchedulePlanDetailController.java b/klp-wms/src/main/java/com/klp/controller/WmsSchedulePlanDetailController.java new file mode 100644 index 00000000..5bfc3bf4 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsSchedulePlanDetailController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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.WmsSchedulePlanDetailVo; +import com.klp.domain.bo.WmsSchedulePlanDetailBo; +import com.klp.service.IWmsSchedulePlanDetailService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 排产计划明细 + * + * @author JR + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/schedulePlanDetail") +public class WmsSchedulePlanDetailController extends BaseController { + + private final IWmsSchedulePlanDetailService iWmsSchedulePlanDetailService; + + /** + * 查询排产计划明细列表 + */ + @SaCheckPermission("klp:schedulePlanDetail:list") + @GetMapping("/list") + public TableDataInfo list(WmsSchedulePlanDetailBo bo, PageQuery pageQuery) { + return iWmsSchedulePlanDetailService.queryPageList(bo, pageQuery); + } + + /** + * 导出排产计划明细列表 + */ + @SaCheckPermission("klp:schedulePlanDetail:export") + @Log(title = "排产计划明细", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsSchedulePlanDetailBo bo, HttpServletResponse response) { + List list = iWmsSchedulePlanDetailService.queryList(bo); + ExcelUtil.exportExcel(list, "排产计划明细", WmsSchedulePlanDetailVo.class, response); + } + + /** + * 获取排产计划明细详细信息 + * + * @param detailId 主键 + */ + @SaCheckPermission("klp:schedulePlanDetail:query") + @GetMapping("/{detailId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long detailId) { + return R.ok(iWmsSchedulePlanDetailService.queryById(detailId)); + } + + /** + * 新增排产计划明细 + */ + @SaCheckPermission("klp:schedulePlanDetail:add") + @Log(title = "排产计划明细", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsSchedulePlanDetailBo bo) { + return toAjax(iWmsSchedulePlanDetailService.insertByBo(bo)); + } + + /** + * 修改排产计划明细 + */ + @SaCheckPermission("klp:schedulePlanDetail:edit") + @Log(title = "排产计划明细", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsSchedulePlanDetailBo bo) { + return toAjax(iWmsSchedulePlanDetailService.updateByBo(bo)); + } + + /** + * 删除排产计划明细 + * + * @param detailIds 主键串 + */ + @SaCheckPermission("klp:schedulePlanDetail:remove") + @Log(title = "排产计划明细", businessType = BusinessType.DELETE) + @DeleteMapping("/{detailIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] detailIds) { + return toAjax(iWmsSchedulePlanDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsStockController.java b/klp-wms/src/main/java/com/klp/controller/WmsStockController.java new file mode 100644 index 00000000..ed30d0d9 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsStockController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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.WmsStockVo; +import com.klp.domain.bo.WmsStockBo; +import com.klp.service.IWmsStockService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 库存:原材料/产品与库区/库位的存放关系 + * + * @author Joshi + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/stock") +public class WmsStockController extends BaseController { + + private final IWmsStockService iWmsStockService; + + /** + * 查询库存:原材料/产品与库区/库位的存放关系列表 + */ + @SaCheckPermission("klp:stock:list") + @GetMapping("/list") + public TableDataInfo list(WmsStockBo bo, PageQuery pageQuery) { + return iWmsStockService.queryPageList(bo, pageQuery); + } + + /** + * 导出库存:原材料/产品与库区/库位的存放关系列表 + */ + @SaCheckPermission("klp:stock:export") + @Log(title = "库存:原材料/产品与库区/库位的存放关系", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsStockBo bo, HttpServletResponse response) { + List list = iWmsStockService.queryList(bo); + ExcelUtil.exportExcel(list, "库存:原材料/产品与库区/库位的存放关系", WmsStockVo.class, response); + } + + /** + * 获取库存:原材料/产品与库区/库位的存放关系详细信息 + * + * @param stockId 主键 + */ + @SaCheckPermission("klp:stock:query") + @GetMapping("/{stockId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long stockId) { + return R.ok(iWmsStockService.queryById(stockId)); + } + + /** + * 新增库存:原材料/产品与库区/库位的存放关系 + */ + @SaCheckPermission("klp:stock:add") + @Log(title = "库存:原材料/产品与库区/库位的存放关系", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsStockBo bo) { + return toAjax(iWmsStockService.insertByBo(bo)); + } + + /** + * 修改库存:原材料/产品与库区/库位的存放关系 + */ + @SaCheckPermission("klp:stock:edit") + @Log(title = "库存:原材料/产品与库区/库位的存放关系", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsStockBo bo) { + return toAjax(iWmsStockService.updateByBo(bo)); + } + + /** + * 删除库存:原材料/产品与库区/库位的存放关系 + * + * @param stockIds 主键串 + */ + @SaCheckPermission("klp:stock:remove") + @Log(title = "库存:原材料/产品与库区/库位的存放关系", businessType = BusinessType.DELETE) + @DeleteMapping("/{stockIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] stockIds) { + return toAjax(iWmsStockService.deleteWithValidByIds(Arrays.asList(stockIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsStockIoController.java b/klp-wms/src/main/java/com/klp/controller/WmsStockIoController.java new file mode 100644 index 00000000..7b988a5a --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsStockIoController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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; + +/** + * 出入库单主 + * + * @author Joshi + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/stockIo") +public class WmsStockIoController extends BaseController { + + private final IWmsStockIoService iWmsStockIoService; + + /** + * 查询出入库单主列表 + */ + @SaCheckPermission("klp:stockIo:list") + @GetMapping("/list") + public TableDataInfo list(WmsStockIoBo bo, PageQuery pageQuery) { + return iWmsStockIoService.queryPageList(bo, pageQuery); + } + + /** + * 导出出入库单主列表 + */ + @SaCheckPermission("klp:stockIo:export") + @Log(title = "出入库单主", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsStockIoBo bo, HttpServletResponse response) { + List list = iWmsStockIoService.queryList(bo); + ExcelUtil.exportExcel(list, "出入库单主", WmsStockIoVo.class, response); + } + + /** + * 获取出入库单主详细信息 + * + * @param stockIoId 主键 + */ + @SaCheckPermission("klp:stockIo:query") + @GetMapping("/{stockIoId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long stockIoId) { + return R.ok(iWmsStockIoService.queryById(stockIoId)); + } + + /** + * 新增出入库单主 + */ + @SaCheckPermission("klp:stockIo:add") + @Log(title = "出入库单主", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsStockIoBo bo) { + return toAjax(iWmsStockIoService.insertByBo(bo)); + } + + /** + * 修改出入库单主 + */ + @SaCheckPermission("klp:stockIo:edit") + @Log(title = "出入库单主", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsStockIoBo bo) { + return toAjax(iWmsStockIoService.updateByBo(bo)); + } + + /** + * 删除出入库单主 + * + * @param stockIoIds 主键串 + */ + @SaCheckPermission("klp:stockIo:remove") + @Log(title = "出入库单主", businessType = BusinessType.DELETE) + @DeleteMapping("/{stockIoIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] stockIoIds) { + return toAjax(iWmsStockIoService.deleteWithValidByIds(Arrays.asList(stockIoIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsStockIoDetailController.java b/klp-wms/src/main/java/com/klp/controller/WmsStockIoDetailController.java new file mode 100644 index 00000000..7e79f499 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsStockIoDetailController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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("/klp/stockIoDetail") +public class WmsStockIoDetailController extends BaseController { + + private final IWmsStockIoDetailService iWmsStockIoDetailService; + + /** + * 查询出入库单明细列表 + */ + @SaCheckPermission("klp:stockIoDetail:list") + @GetMapping("/list") + public TableDataInfo list(WmsStockIoDetailBo bo, PageQuery pageQuery) { + return iWmsStockIoDetailService.queryPageList(bo, pageQuery); + } + + /** + * 导出出入库单明细列表 + */ + @SaCheckPermission("klp:stockIoDetail:export") + @Log(title = "出入库单明细", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsStockIoDetailBo bo, HttpServletResponse response) { + List list = iWmsStockIoDetailService.queryList(bo); + ExcelUtil.exportExcel(list, "出入库单明细", WmsStockIoDetailVo.class, response); + } + + /** + * 获取出入库单明细详细信息 + * + * @param detailId 主键 + */ + @SaCheckPermission("klp:stockIoDetail:query") + @GetMapping("/{detailId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long detailId) { + return R.ok(iWmsStockIoDetailService.queryById(detailId)); + } + + /** + * 新增出入库单明细 + */ + @SaCheckPermission("klp:stockIoDetail:add") + @Log(title = "出入库单明细", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsStockIoDetailBo bo) { + return toAjax(iWmsStockIoDetailService.insertByBo(bo)); + } + + /** + * 修改出入库单明细 + */ + @SaCheckPermission("klp:stockIoDetail:edit") + @Log(title = "出入库单明细", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsStockIoDetailBo bo) { + return toAjax(iWmsStockIoDetailService.updateByBo(bo)); + } + + /** + * 删除出入库单明细 + * + * @param detailIds 主键串 + */ + @SaCheckPermission("klp:stockIoDetail:remove") + @Log(title = "出入库单明细", businessType = BusinessType.DELETE) + @DeleteMapping("/{detailIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] detailIds) { + return toAjax(iWmsStockIoDetailService.deleteWithValidByIds(Arrays.asList(detailIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsWarehouseController.java b/klp-wms/src/main/java/com/klp/controller/WmsWarehouseController.java new file mode 100644 index 00000000..15545826 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsWarehouseController.java @@ -0,0 +1,106 @@ +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 cn.dev33.satoken.annotation.SaCheckPermission; +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.WmsWarehouseVo; +import com.klp.domain.bo.WmsWarehouseBo; +import com.klp.service.IWmsWarehouseService; + +/** + * 仓库/库区/库位自关联 + * + * @author JR + * @date 2025-07-18 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/warehouse") +public class WmsWarehouseController extends BaseController { + + private final IWmsWarehouseService iWmsWarehouseService; + + /** + * 查询仓库/库区/库位自关联列表 + */ + @SaCheckPermission("klp:warehouse:list") + @GetMapping("/list") + public R> list(WmsWarehouseBo bo) { + List list = iWmsWarehouseService.queryList(bo); + return R.ok(list); + } + + /** + * 导出仓库/库区/库位自关联列表 + */ + @SaCheckPermission("klp:warehouse:export") + @Log(title = "仓库/库区/库位自关联", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsWarehouseBo bo, HttpServletResponse response) { + List list = iWmsWarehouseService.queryList(bo); + ExcelUtil.exportExcel(list, "仓库/库区/库位自关联", WmsWarehouseVo.class, response); + } + + /** + * 获取仓库/库区/库位自关联详细信息 + * + * @param warehouseId 主键 + */ + @SaCheckPermission("klp:warehouse:query") + @GetMapping("/{warehouseId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long warehouseId) { + return R.ok(iWmsWarehouseService.queryById(warehouseId)); + } + + /** + * 新增仓库/库区/库位自关联 + */ + @SaCheckPermission("klp:warehouse:add") + @Log(title = "仓库/库区/库位自关联", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsWarehouseBo bo) { + return toAjax(iWmsWarehouseService.insertByBo(bo)); + } + + /** + * 修改仓库/库区/库位自关联 + */ + @SaCheckPermission("klp:warehouse:edit") + @Log(title = "仓库/库区/库位自关联", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsWarehouseBo bo) { + return toAjax(iWmsWarehouseService.updateByBo(bo)); + } + + /** + * 删除仓库/库区/库位自关联 + * + * @param warehouseIds 主键串 + */ + @SaCheckPermission("klp:warehouse:remove") + @Log(title = "仓库/库区/库位自关联", businessType = BusinessType.DELETE) + @DeleteMapping("/{warehouseIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] warehouseIds) { + return toAjax(iWmsWarehouseService.deleteWithValidByIds(Arrays.asList(warehouseIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsCategory.java b/klp-wms/src/main/java/com/klp/domain/WmsCategory.java new file mode 100644 index 00000000..8701233c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsCategory.java @@ -0,0 +1,57 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 通用分类对象 wms_category + * + * @author JR + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_category") +public class WmsCategory extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 分类主键ID + */ + @TableId(value = "category_id") + private Long categoryId; + /** + * 分类类型(base_material|surface_treatment|customer_req|spec_packaging) + */ + private String categoryType; + /** + * 分类编码 + */ + private String categoryCode; + /** + * 分类名称 + */ + private String categoryName; + /** + * 分类描述 + */ + private String categoryDesc; + /** + * 备注 + */ + private String remark; + /** + * 是否启用(0=否,1=是) + */ + private Integer isEnabled; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsOrderDetail.java b/klp-wms/src/main/java/com/klp/domain/WmsOrderDetail.java new file mode 100644 index 00000000..5a1623b6 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsOrderDetail.java @@ -0,0 +1,54 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 订单明细对象 wms_order_detail + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_order_detail") +public class WmsOrderDetail extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 明细ID + */ + @TableId(value = "detail_id") + private Long detailId; + /** + * 订单ID + */ + private Long orderId; + /** + * 产品ID + */ + private Long productId; + /** + * 产品数量 + */ + private BigDecimal quantity; + /** + * 单位 + */ + private String unit; + /** + * 备注 + */ + private String remark; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsProduct.java b/klp-wms/src/main/java/com/klp/domain/WmsProduct.java new file mode 100644 index 00000000..ace12002 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsProduct.java @@ -0,0 +1,78 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 产品对象 wms_product + * + * @author JR + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_product") +public class WmsProduct extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 主键ID + */ + @TableId(value = "product_id") + private Long productId; + /** + * 产品编号 + */ + private String productCode; + /** + * 产品名称 + */ + private String productName; + /** + * 负责人 + */ + private String owner; + /** + * 基础材质分类ID + */ + private Long baseMaterialId; + /** + * 表面处理分类ID + */ + private Long surfaceTreatmentId; + /** + * 客户需求分类ID + */ + private Long customerReqId; + /** + * 包装分类ID + */ + private Long packagingId; + /** + * 厚度(mm) + */ + private BigDecimal thickness; + /** + * 宽度(mm) + */ + private BigDecimal width; + /** + * 内径(mm) + */ + private BigDecimal innerDiameter; + /** + * 是否启用(0=否,1=是) + */ + private Integer isEnabled; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsProductBom.java b/klp-wms/src/main/java/com/klp/domain/WmsProductBom.java new file mode 100644 index 00000000..934cad48 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsProductBom.java @@ -0,0 +1,49 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 产品BOM(产品-原材料清单)对象 wms_product_bom + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_product_bom") +public class WmsProductBom extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * BOM主键ID + */ + @TableId(value = "bom_id") + private Long bomId; + /** + * 产品ID + */ + private Long productId; + /** + * 原材料ID + */ + private Long rawMaterialId; + /** + * 每个产品所需原材料数量 + */ + private BigDecimal quantity; + /** + * 单位 + */ + private String unit; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsProductionLine.java b/klp-wms/src/main/java/com/klp/domain/WmsProductionLine.java new file mode 100644 index 00000000..e02d5ad0 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsProductionLine.java @@ -0,0 +1,53 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 产线对象 wms_production_line + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_production_line") +public class WmsProductionLine extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 产线ID + */ + @TableId(value = "line_id") + private Long lineId; + /** + * 产线编号 + */ + private String lineCode; + /** + * 产线名称 + */ + private String lineName; + /** + * 日产能(单位同产品) + */ + private BigDecimal capacity; + /** + * 产能单位 + */ + private String unit; + /** + * 是否启用(0=否,1=是) + */ + private Integer isEnabled; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsPurchasePlan.java b/klp-wms/src/main/java/com/klp/domain/WmsPurchasePlan.java new file mode 100644 index 00000000..f8a07540 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsPurchasePlan.java @@ -0,0 +1,53 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 采购计划主对象 wms_purchase_plan + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_purchase_plan") +public class WmsPurchasePlan extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 采购计划ID + */ + @TableId(value = "plan_id") + private Long planId; + /** + * 采购计划编号 + */ + private String planCode; + /** + * 负责人 + */ + private String owner; + /** + * 关联订单ID + */ + private Long orderId; + /** + * 状态(0=新建,1=待审核,2=已审核,3=已完成,4=已取消) + */ + private Integer status; + /** + * 备注 + */ + private String remark; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsPurchasePlanDetail.java b/klp-wms/src/main/java/com/klp/domain/WmsPurchasePlanDetail.java new file mode 100644 index 00000000..b8531590 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsPurchasePlanDetail.java @@ -0,0 +1,58 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 采购计划明细对象 wms_purchase_plan_detail + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_purchase_plan_detail") +public class WmsPurchasePlanDetail extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 明细ID + */ + @TableId(value = "detail_id") + private Long detailId; + /** + * 采购计划ID + */ + private Long planId; + /** + * 原材料ID + */ + private Long rawMaterialId; + /** + * 负责人 + */ + private String owner; + /** + * 计划采购数量 + */ + private BigDecimal quantity; + /** + * 单位 + */ + private String unit; + /** + * 备注 + */ + private String remark; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsRawMaterial.java b/klp-wms/src/main/java/com/klp/domain/WmsRawMaterial.java new file mode 100644 index 00000000..463aed5b --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsRawMaterial.java @@ -0,0 +1,126 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 原材料对象 wms_raw_material + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_raw_material") +public class WmsRawMaterial extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 主键ID + */ + @TableId(value = "raw_material_id") + private Long rawMaterialId; + /** + * 原材料编号 + */ + private String rawMaterialCode; + /** + * 原材料名称 + */ + private String rawMaterialName; + /** + * 钢种/牌号(如SPHC、SPHE、S350GD等) + */ + private String steelGrade; + /** + * 目标冷轧牌号(如SPCC、DC06、SGCC等) + */ + private String targetColdGrade; + /** + * 基础材质分类ID + */ + private Long baseMaterialId; + /** + * 表面处理分类ID + */ + private Long surfaceTreatmentId; + /** + * 厚度(mm) + */ + private BigDecimal thickness; + /** + * 厚度偏差(mm) + */ + private BigDecimal thicknessDeviation; + /** + * 宽度(mm) + */ + private BigDecimal width; + /** + * 目标冷轧宽度(mm) + */ + private BigDecimal targetColdWidth; + /** + * 目标冷轧厚度(mm) + */ + private BigDecimal targetColdThickness; + /** + * 凸度(mm) + */ + private BigDecimal crown; + /** + * 卷重(kg) + */ + private BigDecimal coilWeight; + /** + * 表面质量 + */ + private String surfaceQuality; + /** + * 硬度(HV5) + */ + private BigDecimal hardnessHv5; + /** + * 硬度差值(HV5差值≤15为合格) + */ + private BigDecimal hardnessDiff; + /** + * 锰含量Mn(%) + */ + private BigDecimal compositionMn; + /** + * 磷含量P(%) + */ + private BigDecimal compositionP; + /** + * 晶粒级别(如ASTM 6-8级,仅电工钢) + */ + private String grainSize; + /** + * 头尾切除标记(0=否,1=是,汽车板专用) + */ + private Integer headTailCutFlag; + /** + * 检测结论(如合格/条纹/微裂纹/成分偏析等) + */ + private String inspectionResult; + /** + * 是否启用(0=否,1=是) + */ + private Integer isEnabled; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsSchedulePlan.java b/klp-wms/src/main/java/com/klp/domain/WmsSchedulePlan.java new file mode 100644 index 00000000..78545880 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsSchedulePlan.java @@ -0,0 +1,54 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 排产计划对象 wms_schedule_plan + * + * @author JR + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_schedule_plan") +public class WmsSchedulePlan extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 排产计划ID + */ + @TableId(value = "plan_id") + private Long planId; + /** + * 排产计划编号 + */ + private String planCode; + /** + * 版本控制 + */ + @Version + private String version; + /** + * 关联订单ID + */ + private Long orderId; + /** + * 状态(0=新建,1=已排产,2=生产中,3=已完成) + */ + private Integer status; + /** + * 备注 + */ + private String remark; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsSchedulePlanDetail.java b/klp-wms/src/main/java/com/klp/domain/WmsSchedulePlanDetail.java new file mode 100644 index 00000000..5b8d2462 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsSchedulePlanDetail.java @@ -0,0 +1,64 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 排产计划明细对象 wms_schedule_plan_detail + * + * @author JR + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_schedule_plan_detail") +public class WmsSchedulePlanDetail extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 明细ID + */ + @TableId(value = "detail_id") + private Long detailId; + /** + * 排产计划ID + */ + private Long planId; + /** + * 产线ID + */ + private Long lineId; + /** + * 产品ID + */ + private Long productId; + /** + * 排产数量 + */ + private BigDecimal quantity; + /** + * 计划开始日期 + */ + private Date startDate; + /** + * 计划结束日期 + */ + private Date endDate; + /** + * 备注 + */ + private String remark; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsStock.java b/klp-wms/src/main/java/com/klp/domain/WmsStock.java new file mode 100644 index 00000000..ed6975e5 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsStock.java @@ -0,0 +1,62 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 库存:原材料/产品与库区/库位的存放关系对象 wms_stock + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_stock") +public class WmsStock extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 主键ID + */ + @TableId(value = "stock_id") + private Long stockId; + /** + * 仓库/库区/库位ID + */ + private Long warehouseId; + /** + * 物品类型(raw_material/product) + */ + private String itemType; + /** + * 物品ID(指向原材料或产品主键) + */ + private Long itemId; + /** + * 库存数量 + */ + private BigDecimal quantity; + /** + * 单位 + */ + private String unit; + /** + * 批次号(可选) + */ + private String batchNo; + /** + * 备注 + */ + private String remark; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsStockIo.java b/klp-wms/src/main/java/com/klp/domain/WmsStockIo.java new file mode 100644 index 00000000..21f22938 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsStockIo.java @@ -0,0 +1,53 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 出入库单主对象 wms_stock_io + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_stock_io") +public class WmsStockIo extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 出入库单ID + */ + @TableId(value = "stock_io_id") + private Long stockIoId; + /** + * 出入库单号 + */ + private String stockIoCode; + /** + * 类型(in=入库,out=出库) + */ + private String ioType; + /** + * 业务类型(采购、销售、退货、调拨等) + */ + private String bizType; + /** + * 单据状态(0=草稿,1=已提交,2=已审核,3=已完成) + */ + private Integer status; + /** + * 备注 + */ + private String remark; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsStockIoDetail.java b/klp-wms/src/main/java/com/klp/domain/WmsStockIoDetail.java new file mode 100644 index 00000000..bce6b5d7 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsStockIoDetail.java @@ -0,0 +1,66 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 出入库单明细对象 wms_stock_io_detail + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_stock_io_detail") +public class WmsStockIoDetail extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 明细ID + */ + @TableId(value = "detail_id") + private Long detailId; + /** + * 出入库单ID + */ + private Long stockIoId; + /** + * 库区/库位ID + */ + private Long warehouseId; + /** + * 物品类型(raw_material/product) + */ + private String itemType; + /** + * 物品ID + */ + private Long itemId; + /** + * 数量 + */ + private BigDecimal quantity; + /** + * 单位 + */ + private String unit; + /** + * 批次号 + */ + private String batchNo; + /** + * 备注 + */ + private String remark; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsWarehouse.java b/klp-wms/src/main/java/com/klp/domain/WmsWarehouse.java new file mode 100644 index 00000000..0419e5ef --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsWarehouse.java @@ -0,0 +1,57 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import com.klp.common.core.domain.TreeEntity; + +/** + * 仓库/库区/库位自关联对象 wms_warehouse + * + * @author JR + * @date 2025-07-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_warehouse") +public class WmsWarehouse extends TreeEntity { + + private static final long serialVersionUID=1L; + + /** + * 主键ID + */ + @TableId(value = "warehouse_id") + private Long warehouseId; + /** + * 仓库/库区编码 + */ + private String warehouseCode; + /** + * 仓库/库区名称 + */ + private String warehouseName; + /** + * 类型:0=仓库,1=库区,2=库位,… + */ + private Long warehouseType; + /** + * 同级排序号 + */ + private Long sortNo; + /** + * 是否启用(0=否,1=是) + */ + private Integer isEnabled; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsCategoryBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsCategoryBo.java new file mode 100644 index 00000000..56c42443 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsCategoryBo.java @@ -0,0 +1,62 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + + +/** + * 通用分类业务对象 wms_category + * + * @author JR + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsCategoryBo extends BaseEntity { + + /** + * 分类主键ID + */ + private Long categoryId; + + /** + * 分类类型(base_material|surface_treatment|customer_req|spec_packaging) + */ + @NotBlank(message = "分类类型(base_material|surface_treatment|customer_req|spec_packaging)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String categoryType; + + /** + * 分类编码 + */ + @NotBlank(message = "分类编码不能为空", groups = { AddGroup.class, EditGroup.class }) + private String categoryCode; + + /** + * 分类名称 + */ + @NotBlank(message = "分类名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String categoryName; + + /** + * 分类描述 + */ + @NotBlank(message = "分类描述不能为空", groups = { AddGroup.class, EditGroup.class }) + private String categoryDesc; + + /** + * 备注 + */ + private String remark; + + /** + * 是否启用(0=否,1=是) + */ + private Integer isEnabled; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsOrderDetailBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsOrderDetailBo.java new file mode 100644 index 00000000..c5e02ea1 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsOrderDetailBo.java @@ -0,0 +1,58 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; + +/** + * 订单明细业务对象 wms_order_detail + * + * @author Joshi + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsOrderDetailBo extends BaseEntity { + + /** + * 明细ID + */ + private Long detailId; + + /** + * 订单ID + */ + @NotNull(message = "订单ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long orderId; + + /** + * 产品ID + */ + @NotNull(message = "产品ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long productId; + + /** + * 产品数量 + */ + @NotNull(message = "产品数量不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal quantity; + + /** + * 单位 + */ + @NotBlank(message = "单位不能为空", groups = { AddGroup.class, EditGroup.class }) + private String unit; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsProductBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsProductBo.java new file mode 100644 index 00000000..fdbea4e6 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsProductBo.java @@ -0,0 +1,94 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; + +/** + * 产品业务对象 wms_product + * + * @author JR + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsProductBo extends BaseEntity { + + /** + * 主键ID + */ + private Long productId; + + /** + * 产品编号 + */ + @NotBlank(message = "产品编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String productCode; + + /** + * 产品名称 + */ + @NotBlank(message = "产品名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String productName; + + /** + * 负责人 + */ + @NotBlank(message = "负责人不能为空", groups = { AddGroup.class, EditGroup.class }) + private String owner; + + /** + * 基础材质分类ID + */ + @NotNull(message = "基础材质分类ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long baseMaterialId; + + /** + * 表面处理分类ID + */ + @NotNull(message = "表面处理分类ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long surfaceTreatmentId; + + /** + * 客户需求分类ID + */ + @NotNull(message = "客户需求分类ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long customerReqId; + + /** + * 包装分类ID + */ + @NotNull(message = "包装分类ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long packagingId; + + /** + * 厚度(mm) + */ + @NotNull(message = "厚度(mm)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal thickness; + + /** + * 宽度(mm) + */ + @NotNull(message = "宽度(mm)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal width; + + /** + * 内径(mm) + */ + @NotNull(message = "内径(mm)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal innerDiameter; + + /** + * 是否启用(0=否,1=是) + */ + private Integer isEnabled; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsProductBomBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsProductBomBo.java new file mode 100644 index 00000000..a2e8fb23 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsProductBomBo.java @@ -0,0 +1,58 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; + +/** + * 产品BOM(产品-原材料清单)业务对象 wms_product_bom + * + * @author Joshi + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsProductBomBo extends BaseEntity { + + /** + * BOM主键ID + */ + private Long bomId; + + /** + * 产品ID + */ + @NotNull(message = "产品ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long productId; + + /** + * 原材料ID + */ + @NotNull(message = "原材料ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long rawMaterialId; + + /** + * 每个产品所需原材料数量 + */ + @NotNull(message = "每个产品所需原材料数量不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal quantity; + + /** + * 单位 + */ + @NotBlank(message = "单位不能为空", groups = { AddGroup.class, EditGroup.class }) + private String unit; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsProductionLineBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsProductionLineBo.java new file mode 100644 index 00000000..87b968b0 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsProductionLineBo.java @@ -0,0 +1,64 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; + +/** + * 产线业务对象 wms_production_line + * + * @author Joshi + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsProductionLineBo extends BaseEntity { + + /** + * 产线ID + */ + private Long lineId; + + /** + * 产线编号 + */ + @NotBlank(message = "产线编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String lineCode; + + /** + * 产线名称 + */ + @NotBlank(message = "产线名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String lineName; + + /** + * 日产能(单位同产品) + */ + @NotNull(message = "日产能(单位同产品)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal capacity; + + /** + * 产能单位 + */ + @NotBlank(message = "产能单位不能为空", groups = { AddGroup.class, EditGroup.class }) + private String unit; + + /** + * 是否启用(0=否,1=是) + */ + @NotNull(message = "是否启用(0=否,1=是)不能为空", groups = { AddGroup.class, EditGroup.class }) + private Integer isEnabled; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsPurchasePlanBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsPurchasePlanBo.java new file mode 100644 index 00000000..35bd4d1d --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsPurchasePlanBo.java @@ -0,0 +1,57 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + + +/** + * 采购计划主业务对象 wms_purchase_plan + * + * @author Joshi + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsPurchasePlanBo extends BaseEntity { + + /** + * 采购计划ID + */ + private Long planId; + + /** + * 采购计划编号 + */ + @NotBlank(message = "采购计划编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String planCode; + + /** + * 负责人 + */ + @NotBlank(message = "负责人不能为空", groups = { AddGroup.class, EditGroup.class }) + private String owner; + + /** + * 关联订单ID + */ + @NotNull(message = "关联订单ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long orderId; + + /** + * 状态(0=新建,1=待审核,2=已审核,3=已完成,4=已取消) + */ + @NotNull(message = "状态(0=新建,1=待审核,2=已审核,3=已完成,4=已取消)不能为空", groups = { AddGroup.class, EditGroup.class }) + private Integer status; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsPurchasePlanDetailBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsPurchasePlanDetailBo.java new file mode 100644 index 00000000..8d072eef --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsPurchasePlanDetailBo.java @@ -0,0 +1,64 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; + +/** + * 采购计划明细业务对象 wms_purchase_plan_detail + * + * @author Joshi + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsPurchasePlanDetailBo extends BaseEntity { + + /** + * 明细ID + */ + private Long detailId; + + /** + * 采购计划ID + */ + @NotNull(message = "采购计划ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long planId; + + /** + * 原材料ID + */ + @NotNull(message = "原材料ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long rawMaterialId; + + /** + * 负责人 + */ + @NotBlank(message = "负责人不能为空", groups = { AddGroup.class, EditGroup.class }) + private String owner; + + /** + * 计划采购数量 + */ + @NotNull(message = "计划采购数量不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal quantity; + + /** + * 单位 + */ + @NotBlank(message = "单位不能为空", groups = { AddGroup.class, EditGroup.class }) + private String unit; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsRawMaterialBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsRawMaterialBo.java new file mode 100644 index 00000000..e131f5dc --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsRawMaterialBo.java @@ -0,0 +1,166 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; + +/** + * 原材料业务对象 wms_raw_material + * + * @author Joshi + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsRawMaterialBo extends BaseEntity { + + /** + * 主键ID + */ + private Long rawMaterialId; + + /** + * 原材料编号 + */ + @NotBlank(message = "原材料编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String rawMaterialCode; + + /** + * 原材料名称 + */ + @NotBlank(message = "原材料名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String rawMaterialName; + + /** + * 钢种/牌号(如SPHC、SPHE、S350GD等) + */ + @NotBlank(message = "钢种/牌号(如SPHC、SPHE、S350GD等)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String steelGrade; + + /** + * 目标冷轧牌号(如SPCC、DC06、SGCC等) + */ + @NotBlank(message = "目标冷轧牌号(如SPCC、DC06、SGCC等)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String targetColdGrade; + + /** + * 基础材质分类ID + */ + @NotNull(message = "基础材质分类ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long baseMaterialId; + + /** + * 表面处理分类ID + */ + @NotNull(message = "表面处理分类ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long surfaceTreatmentId; + + /** + * 厚度(mm) + */ + @NotNull(message = "厚度(mm)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal thickness; + + /** + * 厚度偏差(mm) + */ + @NotNull(message = "厚度偏差(mm)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal thicknessDeviation; + + /** + * 宽度(mm) + */ + @NotNull(message = "宽度(mm)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal width; + + /** + * 目标冷轧宽度(mm) + */ + @NotNull(message = "目标冷轧宽度(mm)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal targetColdWidth; + + /** + * 目标冷轧厚度(mm) + */ + @NotNull(message = "目标冷轧厚度(mm)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal targetColdThickness; + + /** + * 凸度(mm) + */ + @NotNull(message = "凸度(mm)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal crown; + + /** + * 卷重(kg) + */ + @NotNull(message = "卷重(kg)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal coilWeight; + + /** + * 表面质量 + */ + @NotBlank(message = "表面质量不能为空", groups = { AddGroup.class, EditGroup.class }) + private String surfaceQuality; + + /** + * 硬度(HV5) + */ + @NotNull(message = "硬度(HV5)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal hardnessHv5; + + /** + * 硬度差值(HV5差值≤15为合格) + */ + @NotNull(message = "硬度差值(HV5差值≤15为合格)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal hardnessDiff; + + /** + * 锰含量Mn(%) + */ + @NotNull(message = "锰含量Mn(%)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal compositionMn; + + /** + * 磷含量P(%) + */ + @NotNull(message = "磷含量P(%)不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal compositionP; + + /** + * 晶粒级别(如ASTM 6-8级,仅电工钢) + */ + @NotBlank(message = "晶粒级别(如ASTM 6-8级,仅电工钢)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String grainSize; + + /** + * 头尾切除标记(0=否,1=是,汽车板专用) + */ + @NotNull(message = "头尾切除标记(0=否,1=是,汽车板专用)不能为空", groups = { AddGroup.class, EditGroup.class }) + private Integer headTailCutFlag; + + /** + * 检测结论(如合格/条纹/微裂纹/成分偏析等) + */ + @NotBlank(message = "检测结论(如合格/条纹/微裂纹/成分偏析等)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String inspectionResult; + + /** + * 是否启用(0=否,1=是) + */ + @NotNull(message = "是否启用(0=否,1=是)不能为空", groups = { AddGroup.class, EditGroup.class }) + private Integer isEnabled; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsSchedulePlanBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsSchedulePlanBo.java new file mode 100644 index 00000000..37ff222c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsSchedulePlanBo.java @@ -0,0 +1,46 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + + +/** + * 排产计划业务对象 wms_schedule_plan + * + * @author JR + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsSchedulePlanBo extends BaseEntity { + + /** + * 排产计划ID + */ + private Long planId; + + /** + * 排产计划编号 + */ + private String planCode; + + /** + * 关联订单ID + */ + private Long orderId; + + /** + * 状态(0=新建,1=已排产,2=生产中,3=已完成) + */ + private Integer status; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsSchedulePlanDetailBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsSchedulePlanDetailBo.java new file mode 100644 index 00000000..a9c9b42d --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsSchedulePlanDetailBo.java @@ -0,0 +1,64 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 排产计划明细业务对象 wms_schedule_plan_detail + * + * @author JR + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsSchedulePlanDetailBo extends BaseEntity { + + /** + * 明细ID + */ + private Long detailId; + + /** + * 排产计划ID + */ + private Long planId; + + /** + * 产线ID + */ + private Long lineId; + + /** + * 产品ID + */ + private Long productId; + + /** + * 排产数量 + */ + private BigDecimal quantity; + + /** + * 计划开始日期 + */ + private Date startDate; + + /** + * 计划结束日期 + */ + private Date endDate; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsStockBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsStockBo.java new file mode 100644 index 00000000..030965e2 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsStockBo.java @@ -0,0 +1,70 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; + +/** + * 库存:原材料/产品与库区/库位的存放关系业务对象 wms_stock + * + * @author Joshi + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsStockBo extends BaseEntity { + + /** + * 主键ID + */ + private Long stockId; + + /** + * 仓库/库区/库位ID + */ + @NotNull(message = "仓库/库区/库位ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long warehouseId; + + /** + * 物品类型(raw_material/product) + */ + @NotBlank(message = "物品类型(raw_material/product)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String itemType; + + /** + * 物品ID(指向原材料或产品主键) + */ + @NotNull(message = "物品ID(指向原材料或产品主键)不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long itemId; + + /** + * 库存数量 + */ + @NotNull(message = "库存数量不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal quantity; + + /** + * 单位 + */ + @NotBlank(message = "单位不能为空", groups = { AddGroup.class, EditGroup.class }) + private String unit; + + /** + * 批次号(可选) + */ + @NotBlank(message = "批次号(可选)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String batchNo; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsStockIoBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsStockIoBo.java new file mode 100644 index 00000000..9cae56f3 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsStockIoBo.java @@ -0,0 +1,57 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + + +/** + * 出入库单主业务对象 wms_stock_io + * + * @author Joshi + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsStockIoBo extends BaseEntity { + + /** + * 出入库单ID + */ + private Long stockIoId; + + /** + * 出入库单号 + */ + @NotBlank(message = "出入库单号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String stockIoCode; + + /** + * 类型(in=入库,out=出库) + */ + @NotBlank(message = "类型(in=入库,out=出库)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String ioType; + + /** + * 业务类型(采购、销售、退货、调拨等) + */ + @NotBlank(message = "业务类型(采购、销售、退货、调拨等)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String bizType; + + /** + * 单据状态(0=草稿,1=已提交,2=已审核,3=已完成) + */ + @NotNull(message = "单据状态(0=草稿,1=已提交,2=已审核,3=已完成)不能为空", groups = { AddGroup.class, EditGroup.class }) + private Integer status; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsStockIoDetailBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsStockIoDetailBo.java new file mode 100644 index 00000000..6a6ce8fa --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsStockIoDetailBo.java @@ -0,0 +1,76 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import java.math.BigDecimal; + +/** + * 出入库单明细业务对象 wms_stock_io_detail + * + * @author Joshi + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsStockIoDetailBo extends BaseEntity { + + /** + * 明细ID + */ + private Long detailId; + + /** + * 出入库单ID + */ + @NotNull(message = "出入库单ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long stockIoId; + + /** + * 库区/库位ID + */ + @NotNull(message = "库区/库位ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long warehouseId; + + /** + * 物品类型(raw_material/product) + */ + @NotBlank(message = "物品类型(raw_material/product)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String itemType; + + /** + * 物品ID + */ + @NotNull(message = "物品ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long itemId; + + /** + * 数量 + */ + @NotNull(message = "数量不能为空", groups = { AddGroup.class, EditGroup.class }) + private BigDecimal quantity; + + /** + * 单位 + */ + @NotBlank(message = "单位不能为空", groups = { AddGroup.class, EditGroup.class }) + private String unit; + + /** + * 批次号 + */ + @NotBlank(message = "批次号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String batchNo; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsWarehouseBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsWarehouseBo.java new file mode 100644 index 00000000..46fa673b --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsWarehouseBo.java @@ -0,0 +1,61 @@ +package com.klp.domain.bo; + +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import javax.validation.constraints.*; + +import com.klp.common.core.domain.TreeEntity; + +/** + * 仓库/库区/库位自关联业务对象 wms_warehouse + * + * @author JR + * @date 2025-07-18 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsWarehouseBo extends TreeEntity { + + /** + * 主键ID + */ + private Long warehouseId; + + /** + * 仓库/库区编码 + */ + @NotBlank(message = "仓库/库区编码不能为空", groups = { AddGroup.class, EditGroup.class }) + private String warehouseCode; + + /** + * 仓库/库区名称 + */ + @NotBlank(message = "仓库/库区名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String warehouseName; + + /** + * 类型:0=仓库,1=库区,2=库位,… + */ + @NotNull(message = "类型:0=仓库,1=库区,2=库位,…不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long warehouseType; + + /** + * 同级排序号 + */ + private Long sortNo; + + /** + * 是否启用(0=否,1=是) + */ + private Integer isEnabled; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsCategoryVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsCategoryVo.java new file mode 100644 index 00000000..76616b00 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsCategoryVo.java @@ -0,0 +1,65 @@ +package com.klp.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 通用分类视图对象 wms_category + * + * @author JR + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsCategoryVo { + + private static final long serialVersionUID = 1L; + + /** + * 分类主键ID + */ + @ExcelProperty(value = "分类主键ID") + private Long categoryId; + + /** + * 分类类型(base_material|surface_treatment|customer_req|spec_packaging) + */ + @ExcelProperty(value = "分类类型(base_material|surface_treatment|customer_req|spec_packaging)") + private String categoryType; + + /** + * 分类编码 + */ + @ExcelProperty(value = "分类编码") + private String categoryCode; + + /** + * 分类名称 + */ + @ExcelProperty(value = "分类名称") + private String categoryName; + + /** + * 分类描述 + */ + @ExcelProperty(value = "分类描述") + private String categoryDesc; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 是否启用(0=否,1=是) + */ + @ExcelProperty(value = "是否启用(0=否,1=是)") + private Integer isEnabled; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsOrderDetailVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsOrderDetailVo.java new file mode 100644 index 00000000..19e01341 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsOrderDetailVo.java @@ -0,0 +1,60 @@ +package com.klp.domain.vo; + +import java.math.BigDecimal; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 订单明细视图对象 wms_order_detail + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsOrderDetailVo { + + private static final long serialVersionUID = 1L; + + /** + * 明细ID + */ + @ExcelProperty(value = "明细ID") + private Long detailId; + + /** + * 订单ID + */ + @ExcelProperty(value = "订单ID") + private Long orderId; + + /** + * 产品ID + */ + @ExcelProperty(value = "产品ID") + private Long productId; + + /** + * 产品数量 + */ + @ExcelProperty(value = "产品数量") + private BigDecimal quantity; + + /** + * 单位 + */ + @ExcelProperty(value = "单位") + private String unit; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsProductBomVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsProductBomVo.java new file mode 100644 index 00000000..03f6ff19 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsProductBomVo.java @@ -0,0 +1,60 @@ +package com.klp.domain.vo; + +import java.math.BigDecimal; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 产品BOM(产品-原材料清单)视图对象 wms_product_bom + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsProductBomVo { + + private static final long serialVersionUID = 1L; + + /** + * BOM主键ID + */ + @ExcelProperty(value = "BOM主键ID") + private Long bomId; + + /** + * 产品ID + */ + @ExcelProperty(value = "产品ID") + private Long productId; + + /** + * 原材料ID + */ + @ExcelProperty(value = "原材料ID") + private Long rawMaterialId; + + /** + * 每个产品所需原材料数量 + */ + @ExcelProperty(value = "每个产品所需原材料数量") + private BigDecimal quantity; + + /** + * 单位 + */ + @ExcelProperty(value = "单位") + private String unit; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsProductVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsProductVo.java new file mode 100644 index 00000000..3083e77c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsProductVo.java @@ -0,0 +1,100 @@ +package com.klp.domain.vo; + +import java.math.BigDecimal; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 产品视图对象 wms_product + * + * @author JR + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsProductVo { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long productId; + + /** + * 产品编号 + */ + @ExcelProperty(value = "产品编号") + private String productCode; + + /** + * 产品名称 + */ + @ExcelProperty(value = "产品名称") + private String productName; + + /** + * 负责人 + */ + @ExcelProperty(value = "负责人") + private String owner; + + /** + * 基础材质分类ID + */ + @ExcelProperty(value = "基础材质分类ID") + private Long baseMaterialId; + + /** + * 表面处理分类ID + */ + @ExcelProperty(value = "表面处理分类ID") + private Long surfaceTreatmentId; + + /** + * 客户需求分类ID + */ + @ExcelProperty(value = "客户需求分类ID") + private Long customerReqId; + + /** + * 包装分类ID + */ + @ExcelProperty(value = "包装分类ID") + private Long packagingId; + + /** + * 厚度(mm) + */ + @ExcelProperty(value = "厚度", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "m=m") + private BigDecimal thickness; + + /** + * 宽度(mm) + */ + @ExcelProperty(value = "宽度", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "m=m") + private BigDecimal width; + + /** + * 内径(mm) + */ + @ExcelProperty(value = "内径", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "m=m") + private BigDecimal innerDiameter; + + /** + * 是否启用(0=否,1=是) + */ + @ExcelProperty(value = "是否启用", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0==否,1=是") + private Integer isEnabled; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsProductionLineVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsProductionLineVo.java new file mode 100644 index 00000000..be2ab699 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsProductionLineVo.java @@ -0,0 +1,68 @@ +package com.klp.domain.vo; + +import java.math.BigDecimal; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 产线视图对象 wms_production_line + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsProductionLineVo { + + private static final long serialVersionUID = 1L; + + /** + * 产线ID + */ + @ExcelProperty(value = "产线ID") + private Long lineId; + + /** + * 产线编号 + */ + @ExcelProperty(value = "产线编号") + private String lineCode; + + /** + * 产线名称 + */ + @ExcelProperty(value = "产线名称") + private String lineName; + + /** + * 日产能(单位同产品) + */ + @ExcelProperty(value = "日产能", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "单=位同产品") + private BigDecimal capacity; + + /** + * 产能单位 + */ + @ExcelProperty(value = "产能单位") + private String unit; + + /** + * 是否启用(0=否,1=是) + */ + @ExcelProperty(value = "是否启用", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0==否,1=是") + private Integer isEnabled; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsPurchasePlanDetailVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsPurchasePlanDetailVo.java new file mode 100644 index 00000000..e4ad0d20 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsPurchasePlanDetailVo.java @@ -0,0 +1,66 @@ +package com.klp.domain.vo; + +import java.math.BigDecimal; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 采购计划明细视图对象 wms_purchase_plan_detail + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsPurchasePlanDetailVo { + + private static final long serialVersionUID = 1L; + + /** + * 明细ID + */ + @ExcelProperty(value = "明细ID") + private Long detailId; + + /** + * 采购计划ID + */ + @ExcelProperty(value = "采购计划ID") + private Long planId; + + /** + * 原材料ID + */ + @ExcelProperty(value = "原材料ID") + private Long rawMaterialId; + + /** + * 负责人 + */ + @ExcelProperty(value = "负责人") + private String owner; + + /** + * 计划采购数量 + */ + @ExcelProperty(value = "计划采购数量") + private BigDecimal quantity; + + /** + * 单位 + */ + @ExcelProperty(value = "单位") + private String unit; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsPurchasePlanVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsPurchasePlanVo.java new file mode 100644 index 00000000..8d8fb798 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsPurchasePlanVo.java @@ -0,0 +1,60 @@ +package com.klp.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 采购计划主视图对象 wms_purchase_plan + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsPurchasePlanVo { + + private static final long serialVersionUID = 1L; + + /** + * 采购计划ID + */ + @ExcelProperty(value = "采购计划ID") + private Long planId; + + /** + * 采购计划编号 + */ + @ExcelProperty(value = "采购计划编号") + private String planCode; + + /** + * 负责人 + */ + @ExcelProperty(value = "负责人") + private String owner; + + /** + * 关联订单ID + */ + @ExcelProperty(value = "关联订单ID") + private Long orderId; + + /** + * 状态(0=新建,1=待审核,2=已审核,3=已完成,4=已取消) + */ + @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0==新建,1=待审核,2=已审核,3=已完成,4=已取消") + private Integer status; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsRawMaterialVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsRawMaterialVo.java new file mode 100644 index 00000000..74b56234 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsRawMaterialVo.java @@ -0,0 +1,185 @@ +package com.klp.domain.vo; + +import java.math.BigDecimal; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 原材料视图对象 wms_raw_material + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsRawMaterialVo { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long rawMaterialId; + + /** + * 原材料编号 + */ + @ExcelProperty(value = "原材料编号") + private String rawMaterialCode; + + /** + * 原材料名称 + */ + @ExcelProperty(value = "原材料名称") + private String rawMaterialName; + + /** + * 钢种/牌号(如SPHC、SPHE、S350GD等) + */ + @ExcelProperty(value = "钢种/牌号", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "如=SPHC、SPHE、S350GD等") + private String steelGrade; + + /** + * 目标冷轧牌号(如SPCC、DC06、SGCC等) + */ + @ExcelProperty(value = "目标冷轧牌号", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "如=SPCC、DC06、SGCC等") + private String targetColdGrade; + + /** + * 基础材质分类ID + */ + @ExcelProperty(value = "基础材质分类ID") + private Long baseMaterialId; + + /** + * 表面处理分类ID + */ + @ExcelProperty(value = "表面处理分类ID") + private Long surfaceTreatmentId; + + /** + * 厚度(mm) + */ + @ExcelProperty(value = "厚度", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "m=m") + private BigDecimal thickness; + + /** + * 厚度偏差(mm) + */ + @ExcelProperty(value = "厚度偏差", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "m=m") + private BigDecimal thicknessDeviation; + + /** + * 宽度(mm) + */ + @ExcelProperty(value = "宽度", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "m=m") + private BigDecimal width; + + /** + * 目标冷轧宽度(mm) + */ + @ExcelProperty(value = "目标冷轧宽度", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "m=m") + private BigDecimal targetColdWidth; + + /** + * 目标冷轧厚度(mm) + */ + @ExcelProperty(value = "目标冷轧厚度", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "m=m") + private BigDecimal targetColdThickness; + + /** + * 凸度(mm) + */ + @ExcelProperty(value = "凸度", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "m=m") + private BigDecimal crown; + + /** + * 卷重(kg) + */ + @ExcelProperty(value = "卷重", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "k=g") + private BigDecimal coilWeight; + + /** + * 表面质量 + */ + @ExcelProperty(value = "表面质量") + private String surfaceQuality; + + /** + * 硬度(HV5) + */ + @ExcelProperty(value = "硬度", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "H=V5") + private BigDecimal hardnessHv5; + + /** + * 硬度差值(HV5差值≤15为合格) + */ + @ExcelProperty(value = "硬度差值", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "H=V5差值≤15为合格") + private BigDecimal hardnessDiff; + + /** + * 锰含量Mn(%) + */ + @ExcelProperty(value = "锰含量Mn", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "%=") + private BigDecimal compositionMn; + + /** + * 磷含量P(%) + */ + @ExcelProperty(value = "磷含量P", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "%=") + private BigDecimal compositionP; + + /** + * 晶粒级别(如ASTM 6-8级,仅电工钢) + */ + @ExcelProperty(value = "晶粒级别", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "如=ASTM,6=-8级,仅电工钢") + private String grainSize; + + /** + * 头尾切除标记(0=否,1=是,汽车板专用) + */ + @ExcelProperty(value = "头尾切除标记", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0==否,1=是,汽车板专用") + private Integer headTailCutFlag; + + /** + * 检测结论(如合格/条纹/微裂纹/成分偏析等) + */ + @ExcelProperty(value = "检测结论", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "如=合格/条纹/微裂纹/成分偏析等") + private String inspectionResult; + + /** + * 是否启用(0=否,1=是) + */ + @ExcelProperty(value = "是否启用", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0==否,1=是") + private Integer isEnabled; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsSchedulePlanDetailVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsSchedulePlanDetailVo.java new file mode 100644 index 00000000..b49c4665 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsSchedulePlanDetailVo.java @@ -0,0 +1,74 @@ +package com.klp.domain.vo; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 排产计划明细视图对象 wms_schedule_plan_detail + * + * @author JR + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsSchedulePlanDetailVo { + + private static final long serialVersionUID = 1L; + + /** + * 明细ID + */ + @ExcelProperty(value = "明细ID") + private Long detailId; + + /** + * 排产计划ID + */ + @ExcelProperty(value = "排产计划ID") + private Long planId; + + /** + * 产线ID + */ + @ExcelProperty(value = "产线ID") + private Long lineId; + + /** + * 产品ID + */ + @ExcelProperty(value = "产品ID") + private Long productId; + + /** + * 排产数量 + */ + @ExcelProperty(value = "排产数量") + private BigDecimal quantity; + + /** + * 计划开始日期 + */ + @ExcelProperty(value = "计划开始日期") + private Date startDate; + + /** + * 计划结束日期 + */ + @ExcelProperty(value = "计划结束日期") + private Date endDate; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsSchedulePlanVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsSchedulePlanVo.java new file mode 100644 index 00000000..a074fca3 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsSchedulePlanVo.java @@ -0,0 +1,54 @@ +package com.klp.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 排产计划视图对象 wms_schedule_plan + * + * @author JR + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsSchedulePlanVo { + + private static final long serialVersionUID = 1L; + + /** + * 排产计划ID + */ + @ExcelProperty(value = "排产计划ID") + private Long planId; + + /** + * 排产计划编号 + */ + @ExcelProperty(value = "排产计划编号") + private String planCode; + + /** + * 关联订单ID + */ + @ExcelProperty(value = "关联订单ID") + private Long orderId; + + /** + * 状态(0=新建,1=已排产,2=生产中,3=已完成) + */ + @ExcelProperty(value = "状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0==新建,1=已排产,2=生产中,3=已完成") + private Integer status; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsStockIoDetailVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsStockIoDetailVo.java new file mode 100644 index 00000000..ce79e5a2 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsStockIoDetailVo.java @@ -0,0 +1,79 @@ +package com.klp.domain.vo; + +import java.math.BigDecimal; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 出入库单明细视图对象 wms_stock_io_detail + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsStockIoDetailVo { + + private static final long serialVersionUID = 1L; + + /** + * 明细ID + */ + @ExcelProperty(value = "明细ID") + private Long detailId; + + /** + * 出入库单ID + */ + @ExcelProperty(value = "出入库单ID") + private Long stockIoId; + + /** + * 库区/库位ID + */ + @ExcelProperty(value = "库区/库位ID") + private Long warehouseId; + + /** + * 物品类型(raw_material/product) + */ + @ExcelProperty(value = "物品类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "r=aw_material/product") + private String itemType; + + /** + * 物品ID + */ + @ExcelProperty(value = "物品ID") + private Long itemId; + + /** + * 数量 + */ + @ExcelProperty(value = "数量") + private BigDecimal quantity; + + /** + * 单位 + */ + @ExcelProperty(value = "单位") + private String unit; + + /** + * 批次号 + */ + @ExcelProperty(value = "批次号") + private String batchNo; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsStockIoVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsStockIoVo.java new file mode 100644 index 00000000..bc8fb4a4 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsStockIoVo.java @@ -0,0 +1,62 @@ +package com.klp.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 出入库单主视图对象 wms_stock_io + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsStockIoVo { + + private static final long serialVersionUID = 1L; + + /** + * 出入库单ID + */ + @ExcelProperty(value = "出入库单ID") + private Long stockIoId; + + /** + * 出入库单号 + */ + @ExcelProperty(value = "出入库单号") + private String stockIoCode; + + /** + * 类型(in=入库,out=出库) + */ + @ExcelProperty(value = "类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "i=n=入库,out=出库") + private String ioType; + + /** + * 业务类型(采购、销售、退货、调拨等) + */ + @ExcelProperty(value = "业务类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "采=购、销售、退货、调拨等") + private String bizType; + + /** + * 单据状态(0=草稿,1=已提交,2=已审核,3=已完成) + */ + @ExcelProperty(value = "单据状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0==草稿,1=已提交,2=已审核,3=已完成") + private Integer status; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsStockVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsStockVo.java new file mode 100644 index 00000000..4234c491 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsStockVo.java @@ -0,0 +1,75 @@ +package com.klp.domain.vo; + +import java.math.BigDecimal; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 库存:原材料/产品与库区/库位的存放关系视图对象 wms_stock + * + * @author Joshi + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsStockVo { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long stockId; + + /** + * 仓库/库区/库位ID + */ + @ExcelProperty(value = "仓库/库区/库位ID") + private Long warehouseId; + + /** + * 物品类型(raw_material/product) + */ + @ExcelProperty(value = "物品类型", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "r=aw_material/product") + private String itemType; + + /** + * 物品ID(指向原材料或产品主键) + */ + @ExcelProperty(value = "物品ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "指=向原材料或产品主键") + private Long itemId; + + /** + * 库存数量 + */ + @ExcelProperty(value = "库存数量") + private BigDecimal quantity; + + /** + * 单位 + */ + @ExcelProperty(value = "单位") + private String unit; + + /** + * 批次号(可选) + */ + @ExcelProperty(value = "批次号", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "可=选") + private String batchNo; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsWarehouseVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsWarehouseVo.java new file mode 100644 index 00000000..b0ae0c59 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsWarehouseVo.java @@ -0,0 +1,73 @@ +package com.klp.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.klp.common.annotation.ExcelDictFormat; +import com.klp.common.convert.ExcelDictConvert; +import lombok.Data; + + +/** + * 仓库/库区/库位自关联视图对象 wms_warehouse + * + * @author JR + * @date 2025-07-18 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsWarehouseVo { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long warehouseId; + + /** + * 父节点ID(指向同表 warehouse_id) + */ + @ExcelProperty(value = "父节点ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "指=向同表,w=arehouse_id") + private Long parentId; + + /** + * 仓库/库区编码 + */ + @ExcelProperty(value = "仓库/库区编码") + private String warehouseCode; + + /** + * 仓库/库区名称 + */ + @ExcelProperty(value = "仓库/库区名称") + private String warehouseName; + + /** + * 类型:0=仓库,1=库区,2=库位,… + */ + @ExcelProperty(value = "类型:0=仓库,1=库区,2=库位,…") + private Long warehouseType; + + /** + * 同级排序号 + */ + @ExcelProperty(value = "同级排序号") + private Long sortNo; + + /** + * 是否启用(0=否,1=是) + */ + @ExcelProperty(value = "是否启用", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0==否,1=是") + private Integer isEnabled; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsCategoryMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsCategoryMapper.java new file mode 100644 index 00000000..3593df57 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsCategoryMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsCategory; +import com.klp.domain.vo.WmsCategoryVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 通用分类Mapper接口 + * + * @author JR + * @date 2025-07-18 + */ +public interface WmsCategoryMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsOrderDetailMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsOrderDetailMapper.java new file mode 100644 index 00000000..c1b2c228 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsOrderDetailMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsOrderDetail; +import com.klp.domain.vo.WmsOrderDetailVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 订单明细Mapper接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface WmsOrderDetailMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsProductBomMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsProductBomMapper.java new file mode 100644 index 00000000..0e1d9d3b --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsProductBomMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsProductBom; +import com.klp.domain.vo.WmsProductBomVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 产品BOM(产品-原材料清单)Mapper接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface WmsProductBomMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsProductMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsProductMapper.java new file mode 100644 index 00000000..2d19f5ae --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsProductMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsProduct; +import com.klp.domain.vo.WmsProductVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 产品Mapper接口 + * + * @author JR + * @date 2025-07-18 + */ +public interface WmsProductMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsProductionLineMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsProductionLineMapper.java new file mode 100644 index 00000000..b0339a2b --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsProductionLineMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsProductionLine; +import com.klp.domain.vo.WmsProductionLineVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 产线Mapper接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface WmsProductionLineMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsPurchasePlanDetailMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsPurchasePlanDetailMapper.java new file mode 100644 index 00000000..c4d48d30 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsPurchasePlanDetailMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsPurchasePlanDetail; +import com.klp.domain.vo.WmsPurchasePlanDetailVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 采购计划明细Mapper接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface WmsPurchasePlanDetailMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsPurchasePlanMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsPurchasePlanMapper.java new file mode 100644 index 00000000..98207699 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsPurchasePlanMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsPurchasePlan; +import com.klp.domain.vo.WmsPurchasePlanVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 采购计划主Mapper接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface WmsPurchasePlanMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsRawMaterialMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsRawMaterialMapper.java new file mode 100644 index 00000000..24d39c0e --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsRawMaterialMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsRawMaterial; +import com.klp.domain.vo.WmsRawMaterialVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 原材料Mapper接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface WmsRawMaterialMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsSchedulePlanDetailMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsSchedulePlanDetailMapper.java new file mode 100644 index 00000000..15fa4d91 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsSchedulePlanDetailMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsSchedulePlanDetail; +import com.klp.domain.vo.WmsSchedulePlanDetailVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 排产计划明细Mapper接口 + * + * @author JR + * @date 2025-07-18 + */ +public interface WmsSchedulePlanDetailMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsSchedulePlanMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsSchedulePlanMapper.java new file mode 100644 index 00000000..81ab0798 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsSchedulePlanMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsSchedulePlan; +import com.klp.domain.vo.WmsSchedulePlanVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 排产计划Mapper接口 + * + * @author JR + * @date 2025-07-18 + */ +public interface WmsSchedulePlanMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsStockIoDetailMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsStockIoDetailMapper.java new file mode 100644 index 00000000..b9968fdd --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsStockIoDetailMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsStockIoDetail; +import com.klp.domain.vo.WmsStockIoDetailVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 出入库单明细Mapper接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface WmsStockIoDetailMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsStockIoMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsStockIoMapper.java new file mode 100644 index 00000000..e9257fa1 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsStockIoMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsStockIo; +import com.klp.domain.vo.WmsStockIoVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 出入库单主Mapper接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface WmsStockIoMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsStockMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsStockMapper.java new file mode 100644 index 00000000..21a82dc8 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsStockMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsStock; +import com.klp.domain.vo.WmsStockVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 库存:原材料/产品与库区/库位的存放关系Mapper接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface WmsStockMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsWarehouseMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsWarehouseMapper.java new file mode 100644 index 00000000..caab0f3e --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsWarehouseMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsWarehouse; +import com.klp.domain.vo.WmsWarehouseVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 仓库/库区/库位自关联Mapper接口 + * + * @author JR + * @date 2025-07-18 + */ +public interface WmsWarehouseMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsCategoryService.java b/klp-wms/src/main/java/com/klp/service/IWmsCategoryService.java new file mode 100644 index 00000000..d9070eb3 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsCategoryService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsCategory; +import com.klp.domain.vo.WmsCategoryVo; +import com.klp.domain.bo.WmsCategoryBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 通用分类Service接口 + * + * @author JR + * @date 2025-07-18 + */ +public interface IWmsCategoryService { + + /** + * 查询通用分类 + */ + WmsCategoryVo queryById(Long categoryId); + + /** + * 查询通用分类列表 + */ + TableDataInfo queryPageList(WmsCategoryBo bo, PageQuery pageQuery); + + /** + * 查询通用分类列表 + */ + List queryList(WmsCategoryBo bo); + + /** + * 新增通用分类 + */ + Boolean insertByBo(WmsCategoryBo bo); + + /** + * 修改通用分类 + */ + Boolean updateByBo(WmsCategoryBo bo); + + /** + * 校验并批量删除通用分类信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsOrderDetailService.java b/klp-wms/src/main/java/com/klp/service/IWmsOrderDetailService.java new file mode 100644 index 00000000..92464337 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsOrderDetailService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsOrderDetail; +import com.klp.domain.vo.WmsOrderDetailVo; +import com.klp.domain.bo.WmsOrderDetailBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 订单明细Service接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface IWmsOrderDetailService { + + /** + * 查询订单明细 + */ + WmsOrderDetailVo queryById(Long detailId); + + /** + * 查询订单明细列表 + */ + TableDataInfo queryPageList(WmsOrderDetailBo bo, PageQuery pageQuery); + + /** + * 查询订单明细列表 + */ + List queryList(WmsOrderDetailBo bo); + + /** + * 新增订单明细 + */ + Boolean insertByBo(WmsOrderDetailBo bo); + + /** + * 修改订单明细 + */ + Boolean updateByBo(WmsOrderDetailBo bo); + + /** + * 校验并批量删除订单明细信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsProductBomService.java b/klp-wms/src/main/java/com/klp/service/IWmsProductBomService.java new file mode 100644 index 00000000..297fb924 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsProductBomService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsProductBom; +import com.klp.domain.vo.WmsProductBomVo; +import com.klp.domain.bo.WmsProductBomBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 产品BOM(产品-原材料清单)Service接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface IWmsProductBomService { + + /** + * 查询产品BOM(产品-原材料清单) + */ + WmsProductBomVo queryById(Long bomId); + + /** + * 查询产品BOM(产品-原材料清单)列表 + */ + TableDataInfo queryPageList(WmsProductBomBo bo, PageQuery pageQuery); + + /** + * 查询产品BOM(产品-原材料清单)列表 + */ + List queryList(WmsProductBomBo bo); + + /** + * 新增产品BOM(产品-原材料清单) + */ + Boolean insertByBo(WmsProductBomBo bo); + + /** + * 修改产品BOM(产品-原材料清单) + */ + Boolean updateByBo(WmsProductBomBo bo); + + /** + * 校验并批量删除产品BOM(产品-原材料清单)信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsProductService.java b/klp-wms/src/main/java/com/klp/service/IWmsProductService.java new file mode 100644 index 00000000..c60c9e16 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsProductService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsProduct; +import com.klp.domain.vo.WmsProductVo; +import com.klp.domain.bo.WmsProductBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 产品Service接口 + * + * @author JR + * @date 2025-07-18 + */ +public interface IWmsProductService { + + /** + * 查询产品 + */ + WmsProductVo queryById(Long productId); + + /** + * 查询产品列表 + */ + TableDataInfo queryPageList(WmsProductBo bo, PageQuery pageQuery); + + /** + * 查询产品列表 + */ + List queryList(WmsProductBo bo); + + /** + * 新增产品 + */ + Boolean insertByBo(WmsProductBo bo); + + /** + * 修改产品 + */ + Boolean updateByBo(WmsProductBo bo); + + /** + * 校验并批量删除产品信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsProductionLineService.java b/klp-wms/src/main/java/com/klp/service/IWmsProductionLineService.java new file mode 100644 index 00000000..93dc21be --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsProductionLineService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsProductionLine; +import com.klp.domain.vo.WmsProductionLineVo; +import com.klp.domain.bo.WmsProductionLineBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 产线Service接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface IWmsProductionLineService { + + /** + * 查询产线 + */ + WmsProductionLineVo queryById(Long lineId); + + /** + * 查询产线列表 + */ + TableDataInfo queryPageList(WmsProductionLineBo bo, PageQuery pageQuery); + + /** + * 查询产线列表 + */ + List queryList(WmsProductionLineBo bo); + + /** + * 新增产线 + */ + Boolean insertByBo(WmsProductionLineBo bo); + + /** + * 修改产线 + */ + Boolean updateByBo(WmsProductionLineBo bo); + + /** + * 校验并批量删除产线信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsPurchasePlanDetailService.java b/klp-wms/src/main/java/com/klp/service/IWmsPurchasePlanDetailService.java new file mode 100644 index 00000000..bfcea61e --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsPurchasePlanDetailService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsPurchasePlanDetail; +import com.klp.domain.vo.WmsPurchasePlanDetailVo; +import com.klp.domain.bo.WmsPurchasePlanDetailBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 采购计划明细Service接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface IWmsPurchasePlanDetailService { + + /** + * 查询采购计划明细 + */ + WmsPurchasePlanDetailVo queryById(Long detailId); + + /** + * 查询采购计划明细列表 + */ + TableDataInfo queryPageList(WmsPurchasePlanDetailBo bo, PageQuery pageQuery); + + /** + * 查询采购计划明细列表 + */ + List queryList(WmsPurchasePlanDetailBo bo); + + /** + * 新增采购计划明细 + */ + Boolean insertByBo(WmsPurchasePlanDetailBo bo); + + /** + * 修改采购计划明细 + */ + Boolean updateByBo(WmsPurchasePlanDetailBo bo); + + /** + * 校验并批量删除采购计划明细信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsPurchasePlanService.java b/klp-wms/src/main/java/com/klp/service/IWmsPurchasePlanService.java new file mode 100644 index 00000000..5e1a5e6e --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsPurchasePlanService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsPurchasePlan; +import com.klp.domain.vo.WmsPurchasePlanVo; +import com.klp.domain.bo.WmsPurchasePlanBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 采购计划主Service接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface IWmsPurchasePlanService { + + /** + * 查询采购计划主 + */ + WmsPurchasePlanVo queryById(Long planId); + + /** + * 查询采购计划主列表 + */ + TableDataInfo queryPageList(WmsPurchasePlanBo bo, PageQuery pageQuery); + + /** + * 查询采购计划主列表 + */ + List queryList(WmsPurchasePlanBo bo); + + /** + * 新增采购计划主 + */ + Boolean insertByBo(WmsPurchasePlanBo bo); + + /** + * 修改采购计划主 + */ + Boolean updateByBo(WmsPurchasePlanBo bo); + + /** + * 校验并批量删除采购计划主信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsRawMaterialService.java b/klp-wms/src/main/java/com/klp/service/IWmsRawMaterialService.java new file mode 100644 index 00000000..d6be0224 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsRawMaterialService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsRawMaterial; +import com.klp.domain.vo.WmsRawMaterialVo; +import com.klp.domain.bo.WmsRawMaterialBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 原材料Service接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface IWmsRawMaterialService { + + /** + * 查询原材料 + */ + WmsRawMaterialVo queryById(Long rawMaterialId); + + /** + * 查询原材料列表 + */ + TableDataInfo queryPageList(WmsRawMaterialBo bo, PageQuery pageQuery); + + /** + * 查询原材料列表 + */ + List queryList(WmsRawMaterialBo bo); + + /** + * 新增原材料 + */ + Boolean insertByBo(WmsRawMaterialBo bo); + + /** + * 修改原材料 + */ + Boolean updateByBo(WmsRawMaterialBo bo); + + /** + * 校验并批量删除原材料信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsSchedulePlanDetailService.java b/klp-wms/src/main/java/com/klp/service/IWmsSchedulePlanDetailService.java new file mode 100644 index 00000000..92709082 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsSchedulePlanDetailService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsSchedulePlanDetail; +import com.klp.domain.vo.WmsSchedulePlanDetailVo; +import com.klp.domain.bo.WmsSchedulePlanDetailBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 排产计划明细Service接口 + * + * @author JR + * @date 2025-07-18 + */ +public interface IWmsSchedulePlanDetailService { + + /** + * 查询排产计划明细 + */ + WmsSchedulePlanDetailVo queryById(Long detailId); + + /** + * 查询排产计划明细列表 + */ + TableDataInfo queryPageList(WmsSchedulePlanDetailBo bo, PageQuery pageQuery); + + /** + * 查询排产计划明细列表 + */ + List queryList(WmsSchedulePlanDetailBo bo); + + /** + * 新增排产计划明细 + */ + Boolean insertByBo(WmsSchedulePlanDetailBo bo); + + /** + * 修改排产计划明细 + */ + Boolean updateByBo(WmsSchedulePlanDetailBo bo); + + /** + * 校验并批量删除排产计划明细信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsSchedulePlanService.java b/klp-wms/src/main/java/com/klp/service/IWmsSchedulePlanService.java new file mode 100644 index 00000000..16d8a06f --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsSchedulePlanService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsSchedulePlan; +import com.klp.domain.vo.WmsSchedulePlanVo; +import com.klp.domain.bo.WmsSchedulePlanBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 排产计划Service接口 + * + * @author JR + * @date 2025-07-18 + */ +public interface IWmsSchedulePlanService { + + /** + * 查询排产计划 + */ + WmsSchedulePlanVo queryById(Long planId); + + /** + * 查询排产计划列表 + */ + TableDataInfo queryPageList(WmsSchedulePlanBo bo, PageQuery pageQuery); + + /** + * 查询排产计划列表 + */ + List queryList(WmsSchedulePlanBo bo); + + /** + * 新增排产计划 + */ + Boolean insertByBo(WmsSchedulePlanBo bo); + + /** + * 修改排产计划 + */ + Boolean updateByBo(WmsSchedulePlanBo bo); + + /** + * 校验并批量删除排产计划信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsStockIoDetailService.java b/klp-wms/src/main/java/com/klp/service/IWmsStockIoDetailService.java new file mode 100644 index 00000000..46862e72 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsStockIoDetailService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsStockIoDetail; +import com.klp.domain.vo.WmsStockIoDetailVo; +import com.klp.domain.bo.WmsStockIoDetailBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 出入库单明细Service接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface IWmsStockIoDetailService { + + /** + * 查询出入库单明细 + */ + WmsStockIoDetailVo queryById(Long detailId); + + /** + * 查询出入库单明细列表 + */ + TableDataInfo queryPageList(WmsStockIoDetailBo bo, PageQuery pageQuery); + + /** + * 查询出入库单明细列表 + */ + List queryList(WmsStockIoDetailBo bo); + + /** + * 新增出入库单明细 + */ + Boolean insertByBo(WmsStockIoDetailBo bo); + + /** + * 修改出入库单明细 + */ + Boolean updateByBo(WmsStockIoDetailBo bo); + + /** + * 校验并批量删除出入库单明细信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsStockIoService.java b/klp-wms/src/main/java/com/klp/service/IWmsStockIoService.java new file mode 100644 index 00000000..eeb4a936 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsStockIoService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsStockIo; +import com.klp.domain.vo.WmsStockIoVo; +import com.klp.domain.bo.WmsStockIoBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 出入库单主Service接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface IWmsStockIoService { + + /** + * 查询出入库单主 + */ + WmsStockIoVo queryById(Long stockIoId); + + /** + * 查询出入库单主列表 + */ + TableDataInfo queryPageList(WmsStockIoBo bo, PageQuery pageQuery); + + /** + * 查询出入库单主列表 + */ + List queryList(WmsStockIoBo bo); + + /** + * 新增出入库单主 + */ + Boolean insertByBo(WmsStockIoBo bo); + + /** + * 修改出入库单主 + */ + Boolean updateByBo(WmsStockIoBo bo); + + /** + * 校验并批量删除出入库单主信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsStockService.java b/klp-wms/src/main/java/com/klp/service/IWmsStockService.java new file mode 100644 index 00000000..4fb5b33a --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsStockService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsStock; +import com.klp.domain.vo.WmsStockVo; +import com.klp.domain.bo.WmsStockBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 库存:原材料/产品与库区/库位的存放关系Service接口 + * + * @author Joshi + * @date 2025-07-18 + */ +public interface IWmsStockService { + + /** + * 查询库存:原材料/产品与库区/库位的存放关系 + */ + WmsStockVo queryById(Long stockId); + + /** + * 查询库存:原材料/产品与库区/库位的存放关系列表 + */ + TableDataInfo queryPageList(WmsStockBo bo, PageQuery pageQuery); + + /** + * 查询库存:原材料/产品与库区/库位的存放关系列表 + */ + List queryList(WmsStockBo bo); + + /** + * 新增库存:原材料/产品与库区/库位的存放关系 + */ + Boolean insertByBo(WmsStockBo bo); + + /** + * 修改库存:原材料/产品与库区/库位的存放关系 + */ + Boolean updateByBo(WmsStockBo bo); + + /** + * 校验并批量删除库存:原材料/产品与库区/库位的存放关系信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsWarehouseService.java b/klp-wms/src/main/java/com/klp/service/IWmsWarehouseService.java new file mode 100644 index 00000000..28da70b8 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsWarehouseService.java @@ -0,0 +1,43 @@ +package com.klp.service; + +import com.klp.domain.WmsWarehouse; +import com.klp.domain.vo.WmsWarehouseVo; +import com.klp.domain.bo.WmsWarehouseBo; + +import java.util.Collection; +import java.util.List; + +/** + * 仓库/库区/库位自关联Service接口 + * + * @author JR + * @date 2025-07-18 + */ +public interface IWmsWarehouseService { + + /** + * 查询仓库/库区/库位自关联 + */ + WmsWarehouseVo queryById(Long warehouseId); + + + /** + * 查询仓库/库区/库位自关联列表 + */ + List queryList(WmsWarehouseBo bo); + + /** + * 新增仓库/库区/库位自关联 + */ + Boolean insertByBo(WmsWarehouseBo bo); + + /** + * 修改仓库/库区/库位自关联 + */ + Boolean updateByBo(WmsWarehouseBo bo); + + /** + * 校验并批量删除仓库/库区/库位自关联信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsCategoryServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsCategoryServiceImpl.java new file mode 100644 index 00000000..85b4c5bd --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsCategoryServiceImpl.java @@ -0,0 +1,113 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsCategoryBo; +import com.klp.domain.vo.WmsCategoryVo; +import com.klp.domain.WmsCategory; +import com.klp.mapper.WmsCategoryMapper; +import com.klp.service.IWmsCategoryService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 通用分类Service业务层处理 + * + * @author JR + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsCategoryServiceImpl implements IWmsCategoryService { + + private final WmsCategoryMapper baseMapper; + + /** + * 查询通用分类 + */ + @Override + public WmsCategoryVo queryById(Long categoryId){ + return baseMapper.selectVoById(categoryId); + } + + /** + * 查询通用分类列表 + */ + @Override + public TableDataInfo queryPageList(WmsCategoryBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询通用分类列表 + */ + @Override + public List queryList(WmsCategoryBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsCategoryBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getCategoryType()), WmsCategory::getCategoryType, bo.getCategoryType()); + lqw.eq(StringUtils.isNotBlank(bo.getCategoryCode()), WmsCategory::getCategoryCode, bo.getCategoryCode()); + lqw.like(StringUtils.isNotBlank(bo.getCategoryName()), WmsCategory::getCategoryName, bo.getCategoryName()); + lqw.eq(StringUtils.isNotBlank(bo.getCategoryDesc()), WmsCategory::getCategoryDesc, bo.getCategoryDesc()); + lqw.eq(bo.getIsEnabled() != null, WmsCategory::getIsEnabled, bo.getIsEnabled()); + return lqw; + } + + /** + * 新增通用分类 + */ + @Override + public Boolean insertByBo(WmsCategoryBo bo) { + WmsCategory add = BeanUtil.toBean(bo, WmsCategory.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setCategoryId(add.getCategoryId()); + } + return flag; + } + + /** + * 修改通用分类 + */ + @Override + public Boolean updateByBo(WmsCategoryBo bo) { + WmsCategory update = BeanUtil.toBean(bo, WmsCategory.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsCategory entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除通用分类 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsOrderDetailServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsOrderDetailServiceImpl.java new file mode 100644 index 00000000..4f23d5c9 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsOrderDetailServiceImpl.java @@ -0,0 +1,112 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsOrderDetailBo; +import com.klp.domain.vo.WmsOrderDetailVo; +import com.klp.domain.WmsOrderDetail; +import com.klp.mapper.WmsOrderDetailMapper; +import com.klp.service.IWmsOrderDetailService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 订单明细Service业务层处理 + * + * @author Joshi + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsOrderDetailServiceImpl implements IWmsOrderDetailService { + + private final WmsOrderDetailMapper baseMapper; + + /** + * 查询订单明细 + */ + @Override + public WmsOrderDetailVo queryById(Long detailId){ + return baseMapper.selectVoById(detailId); + } + + /** + * 查询订单明细列表 + */ + @Override + public TableDataInfo queryPageList(WmsOrderDetailBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询订单明细列表 + */ + @Override + public List queryList(WmsOrderDetailBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsOrderDetailBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getOrderId() != null, WmsOrderDetail::getOrderId, bo.getOrderId()); + lqw.eq(bo.getProductId() != null, WmsOrderDetail::getProductId, bo.getProductId()); + lqw.eq(bo.getQuantity() != null, WmsOrderDetail::getQuantity, bo.getQuantity()); + lqw.eq(StringUtils.isNotBlank(bo.getUnit()), WmsOrderDetail::getUnit, bo.getUnit()); + return lqw; + } + + /** + * 新增订单明细 + */ + @Override + public Boolean insertByBo(WmsOrderDetailBo bo) { + WmsOrderDetail add = BeanUtil.toBean(bo, WmsOrderDetail.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDetailId(add.getDetailId()); + } + return flag; + } + + /** + * 修改订单明细 + */ + @Override + public Boolean updateByBo(WmsOrderDetailBo bo) { + WmsOrderDetail update = BeanUtil.toBean(bo, WmsOrderDetail.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsOrderDetail entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除订单明细 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsProductBomServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsProductBomServiceImpl.java new file mode 100644 index 00000000..df2ebb6e --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsProductBomServiceImpl.java @@ -0,0 +1,112 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsProductBomBo; +import com.klp.domain.vo.WmsProductBomVo; +import com.klp.domain.WmsProductBom; +import com.klp.mapper.WmsProductBomMapper; +import com.klp.service.IWmsProductBomService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 产品BOM(产品-原材料清单)Service业务层处理 + * + * @author Joshi + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsProductBomServiceImpl implements IWmsProductBomService { + + private final WmsProductBomMapper baseMapper; + + /** + * 查询产品BOM(产品-原材料清单) + */ + @Override + public WmsProductBomVo queryById(Long bomId){ + return baseMapper.selectVoById(bomId); + } + + /** + * 查询产品BOM(产品-原材料清单)列表 + */ + @Override + public TableDataInfo queryPageList(WmsProductBomBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询产品BOM(产品-原材料清单)列表 + */ + @Override + public List queryList(WmsProductBomBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsProductBomBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getProductId() != null, WmsProductBom::getProductId, bo.getProductId()); + lqw.eq(bo.getRawMaterialId() != null, WmsProductBom::getRawMaterialId, bo.getRawMaterialId()); + lqw.eq(bo.getQuantity() != null, WmsProductBom::getQuantity, bo.getQuantity()); + lqw.eq(StringUtils.isNotBlank(bo.getUnit()), WmsProductBom::getUnit, bo.getUnit()); + return lqw; + } + + /** + * 新增产品BOM(产品-原材料清单) + */ + @Override + public Boolean insertByBo(WmsProductBomBo bo) { + WmsProductBom add = BeanUtil.toBean(bo, WmsProductBom.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setBomId(add.getBomId()); + } + return flag; + } + + /** + * 修改产品BOM(产品-原材料清单) + */ + @Override + public Boolean updateByBo(WmsProductBomBo bo) { + WmsProductBom update = BeanUtil.toBean(bo, WmsProductBom.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsProductBom entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除产品BOM(产品-原材料清单) + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsProductServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsProductServiceImpl.java new file mode 100644 index 00000000..619afd4a --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsProductServiceImpl.java @@ -0,0 +1,119 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsProductBo; +import com.klp.domain.vo.WmsProductVo; +import com.klp.domain.WmsProduct; +import com.klp.mapper.WmsProductMapper; +import com.klp.service.IWmsProductService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 产品Service业务层处理 + * + * @author JR + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsProductServiceImpl implements IWmsProductService { + + private final WmsProductMapper baseMapper; + + /** + * 查询产品 + */ + @Override + public WmsProductVo queryById(Long productId){ + return baseMapper.selectVoById(productId); + } + + /** + * 查询产品列表 + */ + @Override + public TableDataInfo queryPageList(WmsProductBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询产品列表 + */ + @Override + public List queryList(WmsProductBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsProductBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getProductCode()), WmsProduct::getProductCode, bo.getProductCode()); + lqw.like(StringUtils.isNotBlank(bo.getProductName()), WmsProduct::getProductName, bo.getProductName()); + lqw.eq(StringUtils.isNotBlank(bo.getOwner()), WmsProduct::getOwner, bo.getOwner()); + lqw.eq(bo.getBaseMaterialId() != null, WmsProduct::getBaseMaterialId, bo.getBaseMaterialId()); + lqw.eq(bo.getSurfaceTreatmentId() != null, WmsProduct::getSurfaceTreatmentId, bo.getSurfaceTreatmentId()); + lqw.eq(bo.getCustomerReqId() != null, WmsProduct::getCustomerReqId, bo.getCustomerReqId()); + lqw.eq(bo.getPackagingId() != null, WmsProduct::getPackagingId, bo.getPackagingId()); + lqw.eq(bo.getThickness() != null, WmsProduct::getThickness, bo.getThickness()); + lqw.eq(bo.getWidth() != null, WmsProduct::getWidth, bo.getWidth()); + lqw.eq(bo.getInnerDiameter() != null, WmsProduct::getInnerDiameter, bo.getInnerDiameter()); + lqw.eq(bo.getIsEnabled() != null, WmsProduct::getIsEnabled, bo.getIsEnabled()); + return lqw; + } + + /** + * 新增产品 + */ + @Override + public Boolean insertByBo(WmsProductBo bo) { + WmsProduct add = BeanUtil.toBean(bo, WmsProduct.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setProductId(add.getProductId()); + } + return flag; + } + + /** + * 修改产品 + */ + @Override + public Boolean updateByBo(WmsProductBo bo) { + WmsProduct update = BeanUtil.toBean(bo, WmsProduct.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsProduct entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除产品 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsProductionLineServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsProductionLineServiceImpl.java new file mode 100644 index 00000000..974c0c1a --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsProductionLineServiceImpl.java @@ -0,0 +1,113 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsProductionLineBo; +import com.klp.domain.vo.WmsProductionLineVo; +import com.klp.domain.WmsProductionLine; +import com.klp.mapper.WmsProductionLineMapper; +import com.klp.service.IWmsProductionLineService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 产线Service业务层处理 + * + * @author Joshi + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsProductionLineServiceImpl implements IWmsProductionLineService { + + private final WmsProductionLineMapper baseMapper; + + /** + * 查询产线 + */ + @Override + public WmsProductionLineVo queryById(Long lineId){ + return baseMapper.selectVoById(lineId); + } + + /** + * 查询产线列表 + */ + @Override + public TableDataInfo queryPageList(WmsProductionLineBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询产线列表 + */ + @Override + public List queryList(WmsProductionLineBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsProductionLineBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getLineCode()), WmsProductionLine::getLineCode, bo.getLineCode()); + lqw.like(StringUtils.isNotBlank(bo.getLineName()), WmsProductionLine::getLineName, bo.getLineName()); + lqw.eq(bo.getCapacity() != null, WmsProductionLine::getCapacity, bo.getCapacity()); + lqw.eq(StringUtils.isNotBlank(bo.getUnit()), WmsProductionLine::getUnit, bo.getUnit()); + lqw.eq(bo.getIsEnabled() != null, WmsProductionLine::getIsEnabled, bo.getIsEnabled()); + return lqw; + } + + /** + * 新增产线 + */ + @Override + public Boolean insertByBo(WmsProductionLineBo bo) { + WmsProductionLine add = BeanUtil.toBean(bo, WmsProductionLine.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setLineId(add.getLineId()); + } + return flag; + } + + /** + * 修改产线 + */ + @Override + public Boolean updateByBo(WmsProductionLineBo bo) { + WmsProductionLine update = BeanUtil.toBean(bo, WmsProductionLine.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsProductionLine entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除产线 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsPurchasePlanDetailServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsPurchasePlanDetailServiceImpl.java new file mode 100644 index 00000000..ff957520 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsPurchasePlanDetailServiceImpl.java @@ -0,0 +1,113 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsPurchasePlanDetailBo; +import com.klp.domain.vo.WmsPurchasePlanDetailVo; +import com.klp.domain.WmsPurchasePlanDetail; +import com.klp.mapper.WmsPurchasePlanDetailMapper; +import com.klp.service.IWmsPurchasePlanDetailService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 采购计划明细Service业务层处理 + * + * @author Joshi + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsPurchasePlanDetailServiceImpl implements IWmsPurchasePlanDetailService { + + private final WmsPurchasePlanDetailMapper baseMapper; + + /** + * 查询采购计划明细 + */ + @Override + public WmsPurchasePlanDetailVo queryById(Long detailId){ + return baseMapper.selectVoById(detailId); + } + + /** + * 查询采购计划明细列表 + */ + @Override + public TableDataInfo queryPageList(WmsPurchasePlanDetailBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询采购计划明细列表 + */ + @Override + public List queryList(WmsPurchasePlanDetailBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsPurchasePlanDetailBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getPlanId() != null, WmsPurchasePlanDetail::getPlanId, bo.getPlanId()); + lqw.eq(bo.getRawMaterialId() != null, WmsPurchasePlanDetail::getRawMaterialId, bo.getRawMaterialId()); + lqw.eq(StringUtils.isNotBlank(bo.getOwner()), WmsPurchasePlanDetail::getOwner, bo.getOwner()); + lqw.eq(bo.getQuantity() != null, WmsPurchasePlanDetail::getQuantity, bo.getQuantity()); + lqw.eq(StringUtils.isNotBlank(bo.getUnit()), WmsPurchasePlanDetail::getUnit, bo.getUnit()); + return lqw; + } + + /** + * 新增采购计划明细 + */ + @Override + public Boolean insertByBo(WmsPurchasePlanDetailBo bo) { + WmsPurchasePlanDetail add = BeanUtil.toBean(bo, WmsPurchasePlanDetail.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDetailId(add.getDetailId()); + } + return flag; + } + + /** + * 修改采购计划明细 + */ + @Override + public Boolean updateByBo(WmsPurchasePlanDetailBo bo) { + WmsPurchasePlanDetail update = BeanUtil.toBean(bo, WmsPurchasePlanDetail.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsPurchasePlanDetail entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除采购计划明细 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsPurchasePlanServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsPurchasePlanServiceImpl.java new file mode 100644 index 00000000..cfb18069 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsPurchasePlanServiceImpl.java @@ -0,0 +1,112 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsPurchasePlanBo; +import com.klp.domain.vo.WmsPurchasePlanVo; +import com.klp.domain.WmsPurchasePlan; +import com.klp.mapper.WmsPurchasePlanMapper; +import com.klp.service.IWmsPurchasePlanService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 采购计划主Service业务层处理 + * + * @author Joshi + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsPurchasePlanServiceImpl implements IWmsPurchasePlanService { + + private final WmsPurchasePlanMapper baseMapper; + + /** + * 查询采购计划主 + */ + @Override + public WmsPurchasePlanVo queryById(Long planId){ + return baseMapper.selectVoById(planId); + } + + /** + * 查询采购计划主列表 + */ + @Override + public TableDataInfo queryPageList(WmsPurchasePlanBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询采购计划主列表 + */ + @Override + public List queryList(WmsPurchasePlanBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsPurchasePlanBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getPlanCode()), WmsPurchasePlan::getPlanCode, bo.getPlanCode()); + lqw.eq(StringUtils.isNotBlank(bo.getOwner()), WmsPurchasePlan::getOwner, bo.getOwner()); + lqw.eq(bo.getOrderId() != null, WmsPurchasePlan::getOrderId, bo.getOrderId()); + lqw.eq(bo.getStatus() != null, WmsPurchasePlan::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增采购计划主 + */ + @Override + public Boolean insertByBo(WmsPurchasePlanBo bo) { + WmsPurchasePlan add = BeanUtil.toBean(bo, WmsPurchasePlan.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setPlanId(add.getPlanId()); + } + return flag; + } + + /** + * 修改采购计划主 + */ + @Override + public Boolean updateByBo(WmsPurchasePlanBo bo) { + WmsPurchasePlan update = BeanUtil.toBean(bo, WmsPurchasePlan.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsPurchasePlan entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除采购计划主 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsRawMaterialServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsRawMaterialServiceImpl.java new file mode 100644 index 00000000..3a80b2a6 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsRawMaterialServiceImpl.java @@ -0,0 +1,130 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsRawMaterialBo; +import com.klp.domain.vo.WmsRawMaterialVo; +import com.klp.domain.WmsRawMaterial; +import com.klp.mapper.WmsRawMaterialMapper; +import com.klp.service.IWmsRawMaterialService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 原材料Service业务层处理 + * + * @author Joshi + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsRawMaterialServiceImpl implements IWmsRawMaterialService { + + private final WmsRawMaterialMapper baseMapper; + + /** + * 查询原材料 + */ + @Override + public WmsRawMaterialVo queryById(Long rawMaterialId){ + return baseMapper.selectVoById(rawMaterialId); + } + + /** + * 查询原材料列表 + */ + @Override + public TableDataInfo queryPageList(WmsRawMaterialBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询原材料列表 + */ + @Override + public List queryList(WmsRawMaterialBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsRawMaterialBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getRawMaterialCode()), WmsRawMaterial::getRawMaterialCode, bo.getRawMaterialCode()); + lqw.like(StringUtils.isNotBlank(bo.getRawMaterialName()), WmsRawMaterial::getRawMaterialName, bo.getRawMaterialName()); + lqw.eq(StringUtils.isNotBlank(bo.getSteelGrade()), WmsRawMaterial::getSteelGrade, bo.getSteelGrade()); + lqw.eq(StringUtils.isNotBlank(bo.getTargetColdGrade()), WmsRawMaterial::getTargetColdGrade, bo.getTargetColdGrade()); + lqw.eq(bo.getBaseMaterialId() != null, WmsRawMaterial::getBaseMaterialId, bo.getBaseMaterialId()); + lqw.eq(bo.getSurfaceTreatmentId() != null, WmsRawMaterial::getSurfaceTreatmentId, bo.getSurfaceTreatmentId()); + lqw.eq(bo.getThickness() != null, WmsRawMaterial::getThickness, bo.getThickness()); + lqw.eq(bo.getThicknessDeviation() != null, WmsRawMaterial::getThicknessDeviation, bo.getThicknessDeviation()); + lqw.eq(bo.getWidth() != null, WmsRawMaterial::getWidth, bo.getWidth()); + lqw.eq(bo.getTargetColdWidth() != null, WmsRawMaterial::getTargetColdWidth, bo.getTargetColdWidth()); + lqw.eq(bo.getTargetColdThickness() != null, WmsRawMaterial::getTargetColdThickness, bo.getTargetColdThickness()); + lqw.eq(bo.getCrown() != null, WmsRawMaterial::getCrown, bo.getCrown()); + lqw.eq(bo.getCoilWeight() != null, WmsRawMaterial::getCoilWeight, bo.getCoilWeight()); + lqw.eq(StringUtils.isNotBlank(bo.getSurfaceQuality()), WmsRawMaterial::getSurfaceQuality, bo.getSurfaceQuality()); + lqw.eq(bo.getHardnessHv5() != null, WmsRawMaterial::getHardnessHv5, bo.getHardnessHv5()); + lqw.eq(bo.getHardnessDiff() != null, WmsRawMaterial::getHardnessDiff, bo.getHardnessDiff()); + lqw.eq(bo.getCompositionMn() != null, WmsRawMaterial::getCompositionMn, bo.getCompositionMn()); + lqw.eq(bo.getCompositionP() != null, WmsRawMaterial::getCompositionP, bo.getCompositionP()); + lqw.eq(StringUtils.isNotBlank(bo.getGrainSize()), WmsRawMaterial::getGrainSize, bo.getGrainSize()); + lqw.eq(bo.getHeadTailCutFlag() != null, WmsRawMaterial::getHeadTailCutFlag, bo.getHeadTailCutFlag()); + lqw.eq(StringUtils.isNotBlank(bo.getInspectionResult()), WmsRawMaterial::getInspectionResult, bo.getInspectionResult()); + lqw.eq(bo.getIsEnabled() != null, WmsRawMaterial::getIsEnabled, bo.getIsEnabled()); + return lqw; + } + + /** + * 新增原材料 + */ + @Override + public Boolean insertByBo(WmsRawMaterialBo bo) { + WmsRawMaterial add = BeanUtil.toBean(bo, WmsRawMaterial.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setRawMaterialId(add.getRawMaterialId()); + } + return flag; + } + + /** + * 修改原材料 + */ + @Override + public Boolean updateByBo(WmsRawMaterialBo bo) { + WmsRawMaterial update = BeanUtil.toBean(bo, WmsRawMaterial.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsRawMaterial entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除原材料 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsSchedulePlanDetailServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsSchedulePlanDetailServiceImpl.java new file mode 100644 index 00000000..867d473c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsSchedulePlanDetailServiceImpl.java @@ -0,0 +1,113 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsSchedulePlanDetailBo; +import com.klp.domain.vo.WmsSchedulePlanDetailVo; +import com.klp.domain.WmsSchedulePlanDetail; +import com.klp.mapper.WmsSchedulePlanDetailMapper; +import com.klp.service.IWmsSchedulePlanDetailService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 排产计划明细Service业务层处理 + * + * @author JR + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsSchedulePlanDetailServiceImpl implements IWmsSchedulePlanDetailService { + + private final WmsSchedulePlanDetailMapper baseMapper; + + /** + * 查询排产计划明细 + */ + @Override + public WmsSchedulePlanDetailVo queryById(Long detailId){ + return baseMapper.selectVoById(detailId); + } + + /** + * 查询排产计划明细列表 + */ + @Override + public TableDataInfo queryPageList(WmsSchedulePlanDetailBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询排产计划明细列表 + */ + @Override + public List queryList(WmsSchedulePlanDetailBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsSchedulePlanDetailBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getPlanId() != null, WmsSchedulePlanDetail::getPlanId, bo.getPlanId()); + lqw.eq(bo.getLineId() != null, WmsSchedulePlanDetail::getLineId, bo.getLineId()); + lqw.eq(bo.getProductId() != null, WmsSchedulePlanDetail::getProductId, bo.getProductId()); + lqw.eq(bo.getQuantity() != null, WmsSchedulePlanDetail::getQuantity, bo.getQuantity()); + lqw.eq(bo.getStartDate() != null, WmsSchedulePlanDetail::getStartDate, bo.getStartDate()); + lqw.eq(bo.getEndDate() != null, WmsSchedulePlanDetail::getEndDate, bo.getEndDate()); + return lqw; + } + + /** + * 新增排产计划明细 + */ + @Override + public Boolean insertByBo(WmsSchedulePlanDetailBo bo) { + WmsSchedulePlanDetail add = BeanUtil.toBean(bo, WmsSchedulePlanDetail.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDetailId(add.getDetailId()); + } + return flag; + } + + /** + * 修改排产计划明细 + */ + @Override + public Boolean updateByBo(WmsSchedulePlanDetailBo bo) { + WmsSchedulePlanDetail update = BeanUtil.toBean(bo, WmsSchedulePlanDetail.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsSchedulePlanDetail entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除排产计划明细 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsSchedulePlanServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsSchedulePlanServiceImpl.java new file mode 100644 index 00000000..53542794 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsSchedulePlanServiceImpl.java @@ -0,0 +1,111 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsSchedulePlanBo; +import com.klp.domain.vo.WmsSchedulePlanVo; +import com.klp.domain.WmsSchedulePlan; +import com.klp.mapper.WmsSchedulePlanMapper; +import com.klp.service.IWmsSchedulePlanService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 排产计划Service业务层处理 + * + * @author JR + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsSchedulePlanServiceImpl implements IWmsSchedulePlanService { + + private final WmsSchedulePlanMapper baseMapper; + + /** + * 查询排产计划 + */ + @Override + public WmsSchedulePlanVo queryById(Long planId){ + return baseMapper.selectVoById(planId); + } + + /** + * 查询排产计划列表 + */ + @Override + public TableDataInfo queryPageList(WmsSchedulePlanBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询排产计划列表 + */ + @Override + public List queryList(WmsSchedulePlanBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsSchedulePlanBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getPlanCode()), WmsSchedulePlan::getPlanCode, bo.getPlanCode()); + lqw.eq(bo.getOrderId() != null, WmsSchedulePlan::getOrderId, bo.getOrderId()); + lqw.eq(bo.getStatus() != null, WmsSchedulePlan::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增排产计划 + */ + @Override + public Boolean insertByBo(WmsSchedulePlanBo bo) { + WmsSchedulePlan add = BeanUtil.toBean(bo, WmsSchedulePlan.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setPlanId(add.getPlanId()); + } + return flag; + } + + /** + * 修改排产计划 + */ + @Override + public Boolean updateByBo(WmsSchedulePlanBo bo) { + WmsSchedulePlan update = BeanUtil.toBean(bo, WmsSchedulePlan.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsSchedulePlan entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除排产计划 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsStockIoDetailServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsStockIoDetailServiceImpl.java new file mode 100644 index 00000000..2b5be428 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsStockIoDetailServiceImpl.java @@ -0,0 +1,115 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsStockIoDetailBo; +import com.klp.domain.vo.WmsStockIoDetailVo; +import com.klp.domain.WmsStockIoDetail; +import com.klp.mapper.WmsStockIoDetailMapper; +import com.klp.service.IWmsStockIoDetailService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 出入库单明细Service业务层处理 + * + * @author Joshi + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsStockIoDetailServiceImpl implements IWmsStockIoDetailService { + + private final WmsStockIoDetailMapper baseMapper; + + /** + * 查询出入库单明细 + */ + @Override + public WmsStockIoDetailVo queryById(Long detailId){ + return baseMapper.selectVoById(detailId); + } + + /** + * 查询出入库单明细列表 + */ + @Override + public TableDataInfo queryPageList(WmsStockIoDetailBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询出入库单明细列表 + */ + @Override + public List queryList(WmsStockIoDetailBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsStockIoDetailBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getStockIoId() != null, WmsStockIoDetail::getStockIoId, bo.getStockIoId()); + lqw.eq(bo.getWarehouseId() != null, WmsStockIoDetail::getWarehouseId, bo.getWarehouseId()); + lqw.eq(StringUtils.isNotBlank(bo.getItemType()), WmsStockIoDetail::getItemType, bo.getItemType()); + lqw.eq(bo.getItemId() != null, WmsStockIoDetail::getItemId, bo.getItemId()); + lqw.eq(bo.getQuantity() != null, WmsStockIoDetail::getQuantity, bo.getQuantity()); + lqw.eq(StringUtils.isNotBlank(bo.getUnit()), WmsStockIoDetail::getUnit, bo.getUnit()); + lqw.eq(StringUtils.isNotBlank(bo.getBatchNo()), WmsStockIoDetail::getBatchNo, bo.getBatchNo()); + return lqw; + } + + /** + * 新增出入库单明细 + */ + @Override + public Boolean insertByBo(WmsStockIoDetailBo bo) { + WmsStockIoDetail add = BeanUtil.toBean(bo, WmsStockIoDetail.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDetailId(add.getDetailId()); + } + return flag; + } + + /** + * 修改出入库单明细 + */ + @Override + public Boolean updateByBo(WmsStockIoDetailBo bo) { + WmsStockIoDetail update = BeanUtil.toBean(bo, WmsStockIoDetail.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsStockIoDetail entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除出入库单明细 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsStockIoServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsStockIoServiceImpl.java new file mode 100644 index 00000000..cd472fd2 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsStockIoServiceImpl.java @@ -0,0 +1,112 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsStockIoBo; +import com.klp.domain.vo.WmsStockIoVo; +import com.klp.domain.WmsStockIo; +import com.klp.mapper.WmsStockIoMapper; +import com.klp.service.IWmsStockIoService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 出入库单主Service业务层处理 + * + * @author Joshi + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsStockIoServiceImpl implements IWmsStockIoService { + + private final WmsStockIoMapper baseMapper; + + /** + * 查询出入库单主 + */ + @Override + public WmsStockIoVo queryById(Long stockIoId){ + return baseMapper.selectVoById(stockIoId); + } + + /** + * 查询出入库单主列表 + */ + @Override + public TableDataInfo queryPageList(WmsStockIoBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询出入库单主列表 + */ + @Override + public List queryList(WmsStockIoBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsStockIoBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getStockIoCode()), WmsStockIo::getStockIoCode, bo.getStockIoCode()); + lqw.eq(StringUtils.isNotBlank(bo.getIoType()), WmsStockIo::getIoType, bo.getIoType()); + lqw.eq(StringUtils.isNotBlank(bo.getBizType()), WmsStockIo::getBizType, bo.getBizType()); + lqw.eq(bo.getStatus() != null, WmsStockIo::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增出入库单主 + */ + @Override + public Boolean insertByBo(WmsStockIoBo bo) { + WmsStockIo add = BeanUtil.toBean(bo, WmsStockIo.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setStockIoId(add.getStockIoId()); + } + return flag; + } + + /** + * 修改出入库单主 + */ + @Override + public Boolean updateByBo(WmsStockIoBo bo) { + WmsStockIo update = BeanUtil.toBean(bo, WmsStockIo.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsStockIo entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除出入库单主 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java new file mode 100644 index 00000000..bfc65042 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsStockServiceImpl.java @@ -0,0 +1,114 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsStockBo; +import com.klp.domain.vo.WmsStockVo; +import com.klp.domain.WmsStock; +import com.klp.mapper.WmsStockMapper; +import com.klp.service.IWmsStockService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 库存:原材料/产品与库区/库位的存放关系Service业务层处理 + * + * @author Joshi + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsStockServiceImpl implements IWmsStockService { + + private final WmsStockMapper baseMapper; + + /** + * 查询库存:原材料/产品与库区/库位的存放关系 + */ + @Override + public WmsStockVo queryById(Long stockId){ + return baseMapper.selectVoById(stockId); + } + + /** + * 查询库存:原材料/产品与库区/库位的存放关系列表 + */ + @Override + public TableDataInfo queryPageList(WmsStockBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询库存:原材料/产品与库区/库位的存放关系列表 + */ + @Override + public List queryList(WmsStockBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsStockBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getWarehouseId() != null, WmsStock::getWarehouseId, bo.getWarehouseId()); + lqw.eq(StringUtils.isNotBlank(bo.getItemType()), WmsStock::getItemType, bo.getItemType()); + lqw.eq(bo.getItemId() != null, WmsStock::getItemId, bo.getItemId()); + lqw.eq(bo.getQuantity() != null, WmsStock::getQuantity, bo.getQuantity()); + lqw.eq(StringUtils.isNotBlank(bo.getUnit()), WmsStock::getUnit, bo.getUnit()); + lqw.eq(StringUtils.isNotBlank(bo.getBatchNo()), WmsStock::getBatchNo, bo.getBatchNo()); + return lqw; + } + + /** + * 新增库存:原材料/产品与库区/库位的存放关系 + */ + @Override + public Boolean insertByBo(WmsStockBo bo) { + WmsStock add = BeanUtil.toBean(bo, WmsStock.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setStockId(add.getStockId()); + } + return flag; + } + + /** + * 修改库存:原材料/产品与库区/库位的存放关系 + */ + @Override + public Boolean updateByBo(WmsStockBo bo) { + WmsStock update = BeanUtil.toBean(bo, WmsStock.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsStock entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除库存:原材料/产品与库区/库位的存放关系 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsWarehouseServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsWarehouseServiceImpl.java new file mode 100644 index 00000000..816d6f9a --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsWarehouseServiceImpl.java @@ -0,0 +1,102 @@ +package com.klp.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.klp.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsWarehouseBo; +import com.klp.domain.vo.WmsWarehouseVo; +import com.klp.domain.WmsWarehouse; +import com.klp.mapper.WmsWarehouseMapper; +import com.klp.service.IWmsWarehouseService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 仓库/库区/库位自关联Service业务层处理 + * + * @author JR + * @date 2025-07-18 + */ +@RequiredArgsConstructor +@Service +public class WmsWarehouseServiceImpl implements IWmsWarehouseService { + + private final WmsWarehouseMapper baseMapper; + + /** + * 查询仓库/库区/库位自关联 + */ + @Override + public WmsWarehouseVo queryById(Long warehouseId){ + return baseMapper.selectVoById(warehouseId); + } + + + /** + * 查询仓库/库区/库位自关联列表 + */ + @Override + public List queryList(WmsWarehouseBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsWarehouseBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getParentId() != null, WmsWarehouse::getParentId, bo.getParentId()); + lqw.eq(StringUtils.isNotBlank(bo.getWarehouseCode()), WmsWarehouse::getWarehouseCode, bo.getWarehouseCode()); + lqw.like(StringUtils.isNotBlank(bo.getWarehouseName()), WmsWarehouse::getWarehouseName, bo.getWarehouseName()); + lqw.eq(bo.getWarehouseType() != null, WmsWarehouse::getWarehouseType, bo.getWarehouseType()); + lqw.eq(bo.getSortNo() != null, WmsWarehouse::getSortNo, bo.getSortNo()); + lqw.eq(bo.getIsEnabled() != null, WmsWarehouse::getIsEnabled, bo.getIsEnabled()); + return lqw; + } + + /** + * 新增仓库/库区/库位自关联 + */ + @Override + public Boolean insertByBo(WmsWarehouseBo bo) { + WmsWarehouse add = BeanUtil.toBean(bo, WmsWarehouse.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setWarehouseId(add.getWarehouseId()); + } + return flag; + } + + /** + * 修改仓库/库区/库位自关联 + */ + @Override + public Boolean updateByBo(WmsWarehouseBo bo) { + WmsWarehouse update = BeanUtil.toBean(bo, WmsWarehouse.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsWarehouse entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 批量删除仓库/库区/库位自关联 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteBatchIds(ids) > 0; + } +} diff --git a/klp-wms/src/main/resources/mapper/klp/WmsCategoryMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsCategoryMapper.xml new file mode 100644 index 00000000..f4fe235a --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsCategoryMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsOrderDetailMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsOrderDetailMapper.xml new file mode 100644 index 00000000..8373bebf --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsOrderDetailMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/WmsOrderMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsOrderMapper.xml similarity index 100% rename from klp-wms/src/main/resources/mapper/WmsOrderMapper.xml rename to klp-wms/src/main/resources/mapper/klp/WmsOrderMapper.xml diff --git a/klp-wms/src/main/resources/mapper/klp/WmsProductBomMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsProductBomMapper.xml new file mode 100644 index 00000000..b03879b7 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsProductBomMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsProductMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsProductMapper.xml new file mode 100644 index 00000000..e391dfa1 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsProductMapper.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsProductionLineMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsProductionLineMapper.xml new file mode 100644 index 00000000..f0f1a235 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsProductionLineMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsPurchasePlanDetailMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsPurchasePlanDetailMapper.xml new file mode 100644 index 00000000..38ab1605 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsPurchasePlanDetailMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsPurchasePlanMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsPurchasePlanMapper.xml new file mode 100644 index 00000000..09395186 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsPurchasePlanMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsRawMaterialMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsRawMaterialMapper.xml new file mode 100644 index 00000000..7575786a --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsRawMaterialMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsSchedulePlanDetailMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsSchedulePlanDetailMapper.xml new file mode 100644 index 00000000..bbfd77d7 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsSchedulePlanDetailMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsSchedulePlanMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsSchedulePlanMapper.xml new file mode 100644 index 00000000..79042f2c --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsSchedulePlanMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsStockIoDetailMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsStockIoDetailMapper.xml new file mode 100644 index 00000000..6851f072 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsStockIoDetailMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsStockIoMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsStockIoMapper.xml new file mode 100644 index 00000000..026245f8 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsStockIoMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml new file mode 100644 index 00000000..8b527016 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsStockMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsWarehouseMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsWarehouseMapper.xml new file mode 100644 index 00000000..08ed0876 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsWarehouseMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + +