From 13d24f569394491177411a0caa4dcdd20b642383 Mon Sep 17 00:00:00 2001 From: JR <3573153686@qq.com> Date: Wed, 13 Aug 2025 10:33:03 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat(wms):=20=E6=96=B0=E5=A2=9E=E4=BC=9A?= =?UTF-8?q?=E8=AE=A1=E7=A7=91=E7=9B=AE=E5=92=8C=E8=B4=A2=E5=8A=A1=E5=8D=95?= =?UTF-8?q?=E6=8D=AE=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加了会计科目、财务单据、日记账凭证等领域的实体类、控制器、服务接口、Mapper接口和XML映射文件 - 实现了基本的CRUD操作,包括查询、新增、修改和删除 - 优化了数据校验和批量删除逻辑 --- .../main/resources/vm/java/controller.java.vm | 1 - .../klp/controller/WmsAccountController.java | 98 +++++++++++++++ .../WmsFinancialDocumentController.java | 99 +++++++++++++++ .../controller/WmsJournalEntryController.java | 99 +++++++++++++++ .../controller/WmsOrderProfitController.java | 99 +++++++++++++++ .../klp/controller/WmsPayableController.java | 99 +++++++++++++++ .../controller/WmsReceivableController.java | 99 +++++++++++++++ .../main/java/com/klp/domain/WmsAccount.java | 54 ++++++++ .../com/klp/domain/WmsFinancialDocument.java | 64 ++++++++++ .../java/com/klp/domain/WmsJournalEntry.java | 76 ++++++++++++ .../java/com/klp/domain/WmsOrderProfit.java | 58 +++++++++ .../main/java/com/klp/domain/WmsPayable.java | 68 ++++++++++ .../java/com/klp/domain/WmsReceivable.java | 68 ++++++++++ .../java/com/klp/domain/bo/WmsAccountBo.java | 51 ++++++++ .../klp/domain/bo/WmsFinancialDocumentBo.java | 66 ++++++++++ .../com/klp/domain/bo/WmsJournalEntryBo.java | 82 ++++++++++++ .../com/klp/domain/bo/WmsOrderProfitBo.java | 56 +++++++++ .../java/com/klp/domain/bo/WmsPayableBo.java | 71 +++++++++++ .../com/klp/domain/bo/WmsReceivableBo.java | 71 +++++++++++ .../java/com/klp/domain/vo/WmsAccountVo.java | 68 ++++++++++ .../klp/domain/vo/WmsFinancialDocumentVo.java | 76 ++++++++++++ .../com/klp/domain/vo/WmsJournalEntryVo.java | 97 +++++++++++++++ .../com/klp/domain/vo/WmsOrderProfitVo.java | 67 ++++++++++ .../java/com/klp/domain/vo/WmsPayableVo.java | 84 +++++++++++++ .../com/klp/domain/vo/WmsReceivableVo.java | 84 +++++++++++++ .../java/com/klp/mapper/WmsAccountMapper.java | 15 +++ .../mapper/WmsFinancialDocumentMapper.java | 15 +++ .../com/klp/mapper/WmsJournalEntryMapper.java | 15 +++ .../com/klp/mapper/WmsOrderProfitMapper.java | 15 +++ .../java/com/klp/mapper/WmsPayableMapper.java | 15 +++ .../com/klp/mapper/WmsReceivableMapper.java | 15 +++ .../com/klp/service/IWmsAccountService.java | 43 +++++++ .../service/IWmsFinancialDocumentService.java | 49 ++++++++ .../klp/service/IWmsJournalEntryService.java | 49 ++++++++ .../klp/service/IWmsOrderProfitService.java | 49 ++++++++ .../com/klp/service/IWmsPayableService.java | 49 ++++++++ .../klp/service/IWmsReceivableService.java | 49 ++++++++ .../service/impl/WmsAccountServiceImpl.java | 101 +++++++++++++++ .../impl/WmsFinancialDocumentServiceImpl.java | 114 +++++++++++++++++ .../impl/WmsJournalEntryServiceImpl.java | 117 ++++++++++++++++++ .../impl/WmsOrderProfitServiceImpl.java | 112 +++++++++++++++++ .../service/impl/WmsPayableServiceImpl.java | 115 +++++++++++++++++ .../impl/WmsReceivableServiceImpl.java | 115 +++++++++++++++++ .../resources/mapper/klp/WmsAccountMapper.xml | 23 ++++ .../mapper/klp/WmsFinancialDocumentMapper.xml | 24 ++++ .../mapper/klp/WmsJournalEntryMapper.xml | 27 ++++ .../mapper/klp/WmsOrderProfitMapper.xml | 23 ++++ .../resources/mapper/klp/WmsPayableMapper.xml | 25 ++++ .../mapper/klp/WmsReceivableMapper.xml | 25 ++++ 49 files changed, 3053 insertions(+), 1 deletion(-) create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsAccountController.java create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsFinancialDocumentController.java create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsJournalEntryController.java create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsOrderProfitController.java create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsPayableController.java create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsReceivableController.java create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsAccount.java create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsFinancialDocument.java create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsJournalEntry.java create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsOrderProfit.java create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsPayable.java create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsReceivable.java create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsAccountBo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsFinancialDocumentBo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsJournalEntryBo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsOrderProfitBo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsPayableBo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsReceivableBo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsAccountVo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsFinancialDocumentVo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsJournalEntryVo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsOrderProfitVo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsPayableVo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsReceivableVo.java create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsAccountMapper.java create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsFinancialDocumentMapper.java create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsJournalEntryMapper.java create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsOrderProfitMapper.java create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsPayableMapper.java create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsReceivableMapper.java create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsAccountService.java create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsFinancialDocumentService.java create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsJournalEntryService.java create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsOrderProfitService.java create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsPayableService.java create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsReceivableService.java create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsAccountServiceImpl.java create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsFinancialDocumentServiceImpl.java create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsJournalEntryServiceImpl.java create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsOrderProfitServiceImpl.java create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsPayableServiceImpl.java create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsReceivableServiceImpl.java create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsAccountMapper.xml create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsFinancialDocumentMapper.xml create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsJournalEntryMapper.xml create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsOrderProfitMapper.xml create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsPayableMapper.xml create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsReceivableMapper.xml diff --git a/klp-generator/src/main/resources/vm/java/controller.java.vm b/klp-generator/src/main/resources/vm/java/controller.java.vm index 9fc11b8d..4f49a8fd 100644 --- a/klp-generator/src/main/resources/vm/java/controller.java.vm +++ b/klp-generator/src/main/resources/vm/java/controller.java.vm @@ -6,7 +6,6 @@ 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; diff --git a/klp-wms/src/main/java/com/klp/controller/WmsAccountController.java b/klp-wms/src/main/java/com/klp/controller/WmsAccountController.java new file mode 100644 index 00000000..b914f47c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsAccountController.java @@ -0,0 +1,98 @@ +package com.klp.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.klp.common.annotation.RepeatSubmit; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.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.WmsAccountVo; +import com.klp.domain.bo.WmsAccountBo; +import com.klp.service.IWmsAccountService; + +/** + * 会计科目 + * + * @author klp + * @date 2025-08-13 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/account") +public class WmsAccountController extends BaseController { + + private final IWmsAccountService iWmsAccountService; + + /** + * 查询会计科目列表 + */ + @GetMapping("/list") + public R> list(WmsAccountBo bo) { + List list = iWmsAccountService.queryList(bo); + return R.ok(list); + } + + /** + * 导出会计科目列表 + */ + @Log(title = "会计科目", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsAccountBo bo, HttpServletResponse response) { + List list = iWmsAccountService.queryList(bo); + ExcelUtil.exportExcel(list, "会计科目", WmsAccountVo.class, response); + } + + /** + * 获取会计科目详细信息 + * + * @param accountId 主键 + */ + @GetMapping("/{accountId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long accountId) { + return R.ok(iWmsAccountService.queryById(accountId)); + } + + /** + * 新增会计科目 + */ + @Log(title = "会计科目", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsAccountBo bo) { + return toAjax(iWmsAccountService.insertByBo(bo)); + } + + /** + * 修改会计科目 + */ + @Log(title = "会计科目", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsAccountBo bo) { + return toAjax(iWmsAccountService.updateByBo(bo)); + } + + /** + * 删除会计科目 + * + * @param accountIds 主键串 + */ + @Log(title = "会计科目", businessType = BusinessType.DELETE) + @DeleteMapping("/{accountIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] accountIds) { + return toAjax(iWmsAccountService.deleteWithValidByIds(Arrays.asList(accountIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsFinancialDocumentController.java b/klp-wms/src/main/java/com/klp/controller/WmsFinancialDocumentController.java new file mode 100644 index 00000000..ad6b073e --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsFinancialDocumentController.java @@ -0,0 +1,99 @@ +package com.klp.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.klp.common.annotation.RepeatSubmit; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.domain.vo.WmsFinancialDocumentVo; +import com.klp.domain.bo.WmsFinancialDocumentBo; +import com.klp.service.IWmsFinancialDocumentService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 财务单据 + * + * @author klp + * @date 2025-08-13 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/financialDocument") +public class WmsFinancialDocumentController extends BaseController { + + private final IWmsFinancialDocumentService iWmsFinancialDocumentService; + + /** + * 查询财务单据列表 + */ + @GetMapping("/list") + public TableDataInfo list(WmsFinancialDocumentBo bo, PageQuery pageQuery) { + return iWmsFinancialDocumentService.queryPageList(bo, pageQuery); + } + + /** + * 导出财务单据列表 + */ + @Log(title = "财务单据", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsFinancialDocumentBo bo, HttpServletResponse response) { + List list = iWmsFinancialDocumentService.queryList(bo); + ExcelUtil.exportExcel(list, "财务单据", WmsFinancialDocumentVo.class, response); + } + + /** + * 获取财务单据详细信息 + * + * @param documentId 主键 + */ + @GetMapping("/{documentId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long documentId) { + return R.ok(iWmsFinancialDocumentService.queryById(documentId)); + } + + /** + * 新增财务单据 + */ + @Log(title = "财务单据", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsFinancialDocumentBo bo) { + return toAjax(iWmsFinancialDocumentService.insertByBo(bo)); + } + + /** + * 修改财务单据 + */ + @Log(title = "财务单据", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsFinancialDocumentBo bo) { + return toAjax(iWmsFinancialDocumentService.updateByBo(bo)); + } + + /** + * 删除财务单据 + * + * @param documentIds 主键串 + */ + @Log(title = "财务单据", businessType = BusinessType.DELETE) + @DeleteMapping("/{documentIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] documentIds) { + return toAjax(iWmsFinancialDocumentService.deleteWithValidByIds(Arrays.asList(documentIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsJournalEntryController.java b/klp-wms/src/main/java/com/klp/controller/WmsJournalEntryController.java new file mode 100644 index 00000000..09305bb4 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsJournalEntryController.java @@ -0,0 +1,99 @@ +package com.klp.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.klp.common.annotation.RepeatSubmit; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.domain.vo.WmsJournalEntryVo; +import com.klp.domain.bo.WmsJournalEntryBo; +import com.klp.service.IWmsJournalEntryService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 日记账凭证(宽松版) + * + * @author klp + * @date 2025-08-13 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/journalEntry") +public class WmsJournalEntryController extends BaseController { + + private final IWmsJournalEntryService iWmsJournalEntryService; + + /** + * 查询日记账凭证(宽松版)列表 + */ + @GetMapping("/list") + public TableDataInfo list(WmsJournalEntryBo bo, PageQuery pageQuery) { + return iWmsJournalEntryService.queryPageList(bo, pageQuery); + } + + /** + * 导出日记账凭证(宽松版)列表 + */ + @Log(title = "日记账凭证(宽松版)", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsJournalEntryBo bo, HttpServletResponse response) { + List list = iWmsJournalEntryService.queryList(bo); + ExcelUtil.exportExcel(list, "日记账凭证(宽松版)", WmsJournalEntryVo.class, response); + } + + /** + * 获取日记账凭证(宽松版)详细信息 + * + * @param entryId 主键 + */ + @GetMapping("/{entryId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long entryId) { + return R.ok(iWmsJournalEntryService.queryById(entryId)); + } + + /** + * 新增日记账凭证(宽松版) + */ + @Log(title = "日记账凭证(宽松版)", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsJournalEntryBo bo) { + return toAjax(iWmsJournalEntryService.insertByBo(bo)); + } + + /** + * 修改日记账凭证(宽松版) + */ + @Log(title = "日记账凭证(宽松版)", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsJournalEntryBo bo) { + return toAjax(iWmsJournalEntryService.updateByBo(bo)); + } + + /** + * 删除日记账凭证(宽松版) + * + * @param entryIds 主键串 + */ + @Log(title = "日记账凭证(宽松版)", businessType = BusinessType.DELETE) + @DeleteMapping("/{entryIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] entryIds) { + return toAjax(iWmsJournalEntryService.deleteWithValidByIds(Arrays.asList(entryIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsOrderProfitController.java b/klp-wms/src/main/java/com/klp/controller/WmsOrderProfitController.java new file mode 100644 index 00000000..e94cc34a --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsOrderProfitController.java @@ -0,0 +1,99 @@ +package com.klp.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.klp.common.annotation.RepeatSubmit; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.domain.vo.WmsOrderProfitVo; +import com.klp.domain.bo.WmsOrderProfitBo; +import com.klp.service.IWmsOrderProfitService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 订单盈亏 + * + * @author klp + * @date 2025-08-13 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/orderProfit") +public class WmsOrderProfitController extends BaseController { + + private final IWmsOrderProfitService iWmsOrderProfitService; + + /** + * 查询订单盈亏列表 + */ + @GetMapping("/list") + public TableDataInfo list(WmsOrderProfitBo bo, PageQuery pageQuery) { + return iWmsOrderProfitService.queryPageList(bo, pageQuery); + } + + /** + * 导出订单盈亏列表 + */ + @Log(title = "订单盈亏", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsOrderProfitBo bo, HttpServletResponse response) { + List list = iWmsOrderProfitService.queryList(bo); + ExcelUtil.exportExcel(list, "订单盈亏", WmsOrderProfitVo.class, response); + } + + /** + * 获取订单盈亏详细信息 + * + * @param profitId 主键 + */ + @GetMapping("/{profitId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long profitId) { + return R.ok(iWmsOrderProfitService.queryById(profitId)); + } + + /** + * 新增订单盈亏 + */ + @Log(title = "订单盈亏", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsOrderProfitBo bo) { + return toAjax(iWmsOrderProfitService.insertByBo(bo)); + } + + /** + * 修改订单盈亏 + */ + @Log(title = "订单盈亏", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsOrderProfitBo bo) { + return toAjax(iWmsOrderProfitService.updateByBo(bo)); + } + + /** + * 删除订单盈亏 + * + * @param profitIds 主键串 + */ + @Log(title = "订单盈亏", businessType = BusinessType.DELETE) + @DeleteMapping("/{profitIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] profitIds) { + return toAjax(iWmsOrderProfitService.deleteWithValidByIds(Arrays.asList(profitIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsPayableController.java b/klp-wms/src/main/java/com/klp/controller/WmsPayableController.java new file mode 100644 index 00000000..41193bea --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsPayableController.java @@ -0,0 +1,99 @@ +package com.klp.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.klp.common.annotation.RepeatSubmit; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.domain.vo.WmsPayableVo; +import com.klp.domain.bo.WmsPayableBo; +import com.klp.service.IWmsPayableService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 应付款管理(宽松版) + * + * @author klp + * @date 2025-08-13 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/payable") +public class WmsPayableController extends BaseController { + + private final IWmsPayableService iWmsPayableService; + + /** + * 查询应付款管理(宽松版)列表 + */ + @GetMapping("/list") + public TableDataInfo list(WmsPayableBo bo, PageQuery pageQuery) { + return iWmsPayableService.queryPageList(bo, pageQuery); + } + + /** + * 导出应付款管理(宽松版)列表 + */ + @Log(title = "应付款管理(宽松版)", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsPayableBo bo, HttpServletResponse response) { + List list = iWmsPayableService.queryList(bo); + ExcelUtil.exportExcel(list, "应付款管理(宽松版)", WmsPayableVo.class, response); + } + + /** + * 获取应付款管理(宽松版)详细信息 + * + * @param payableId 主键 + */ + @GetMapping("/{payableId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long payableId) { + return R.ok(iWmsPayableService.queryById(payableId)); + } + + /** + * 新增应付款管理(宽松版) + */ + @Log(title = "应付款管理(宽松版)", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsPayableBo bo) { + return toAjax(iWmsPayableService.insertByBo(bo)); + } + + /** + * 修改应付款管理(宽松版) + */ + @Log(title = "应付款管理(宽松版)", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsPayableBo bo) { + return toAjax(iWmsPayableService.updateByBo(bo)); + } + + /** + * 删除应付款管理(宽松版) + * + * @param payableIds 主键串 + */ + @Log(title = "应付款管理(宽松版)", businessType = BusinessType.DELETE) + @DeleteMapping("/{payableIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] payableIds) { + return toAjax(iWmsPayableService.deleteWithValidByIds(Arrays.asList(payableIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/controller/WmsReceivableController.java b/klp-wms/src/main/java/com/klp/controller/WmsReceivableController.java new file mode 100644 index 00000000..46449d61 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsReceivableController.java @@ -0,0 +1,99 @@ +package com.klp.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.klp.common.annotation.RepeatSubmit; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.domain.vo.WmsReceivableVo; +import com.klp.domain.bo.WmsReceivableBo; +import com.klp.service.IWmsReceivableService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 应收款管理(宽松版) + * + * @author klp + * @date 2025-08-13 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/receivable") +public class WmsReceivableController extends BaseController { + + private final IWmsReceivableService iWmsReceivableService; + + /** + * 查询应收款管理(宽松版)列表 + */ + @GetMapping("/list") + public TableDataInfo list(WmsReceivableBo bo, PageQuery pageQuery) { + return iWmsReceivableService.queryPageList(bo, pageQuery); + } + + /** + * 导出应收款管理(宽松版)列表 + */ + @Log(title = "应收款管理(宽松版)", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsReceivableBo bo, HttpServletResponse response) { + List list = iWmsReceivableService.queryList(bo); + ExcelUtil.exportExcel(list, "应收款管理(宽松版)", WmsReceivableVo.class, response); + } + + /** + * 获取应收款管理(宽松版)详细信息 + * + * @param receivableId 主键 + */ + @GetMapping("/{receivableId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long receivableId) { + return R.ok(iWmsReceivableService.queryById(receivableId)); + } + + /** + * 新增应收款管理(宽松版) + */ + @Log(title = "应收款管理(宽松版)", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsReceivableBo bo) { + return toAjax(iWmsReceivableService.insertByBo(bo)); + } + + /** + * 修改应收款管理(宽松版) + */ + @Log(title = "应收款管理(宽松版)", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsReceivableBo bo) { + return toAjax(iWmsReceivableService.updateByBo(bo)); + } + + /** + * 删除应收款管理(宽松版) + * + * @param receivableIds 主键串 + */ + @Log(title = "应收款管理(宽松版)", businessType = BusinessType.DELETE) + @DeleteMapping("/{receivableIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] receivableIds) { + return toAjax(iWmsReceivableService.deleteWithValidByIds(Arrays.asList(receivableIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsAccount.java b/klp-wms/src/main/java/com/klp/domain/WmsAccount.java new file mode 100644 index 00000000..15a6b429 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsAccount.java @@ -0,0 +1,54 @@ +package com.klp.domain; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import com.klp.common.core.domain.TreeEntity; + +/** + * 会计科目对象 wms_account + * + * @author klp + * @date 2025-08-13 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_account") +public class WmsAccount extends TreeEntity { + + private static final long serialVersionUID=1L; + + /** + * 科目ID(主键) + */ + @TableId(value = "account_id") + private Long accountId; + /** + * 科目编码 + */ + private String accountCode; + /** + * 科目名称 + */ + private String accountName; + /** + * 科目类型 + */ + private String accountType; + /** + * 当前余额(可容忍暂时不准确,过账汇总) + */ + private BigDecimal balance; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsFinancialDocument.java b/klp-wms/src/main/java/com/klp/domain/WmsFinancialDocument.java new file mode 100644 index 00000000..5ba27089 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsFinancialDocument.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_financial_document + * + * @author klp + * @date 2025-08-13 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_financial_document") +public class WmsFinancialDocument extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 单据ID(主键) + */ + @TableId(value = "document_id") + private Long documentId; + /** + * 单据编号 + */ + private String docNo; + /** + * 单据类型 + */ + private String docType; + /** + * 单据日期 + */ + private Date docDate; + /** + * 单据金额 + */ + private BigDecimal amount; + /** + * 关联订单ID + */ + private Long relatedOrderId; + /** + * 单据状态 + */ + private String status; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsJournalEntry.java b/klp-wms/src/main/java/com/klp/domain/WmsJournalEntry.java new file mode 100644 index 00000000..d9f2647b --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsJournalEntry.java @@ -0,0 +1,76 @@ +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_journal_entry + * + * @author klp + * @date 2025-08-13 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_journal_entry") +public class WmsJournalEntry extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 分录ID(主键) + */ + @TableId(value = "entry_id") + private Long entryId; + /** + * 凭证编号 + */ + private String voucherNo; + /** + * 分录行号(同一凭证内序号) + */ + private Long lineNo; + /** + * 记账日期 + */ + private Date entryDate; + /** + * 科目ID + */ + private Long accountId; + /** + * 借方金额(可为0或负数用于调账/红冲) + */ + private BigDecimal debitAmount; + /** + * 贷方金额(可为0或负数用于调账/红冲) + */ + private BigDecimal creditAmount; + /** + * 参考单据号 + */ + private String referenceNo; + /** + * 关联订单ID + */ + private Long relatedOrderId; + /** + * 状态 + */ + private String status; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsOrderProfit.java b/klp-wms/src/main/java/com/klp/domain/WmsOrderProfit.java new file mode 100644 index 00000000..291cd578 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsOrderProfit.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_order_profit + * + * @author klp + * @date 2025-08-13 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_order_profit") +public class WmsOrderProfit extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 盈亏ID(主键) + */ + @TableId(value = "profit_id") + private Long profitId; + /** + * 订单ID + */ + private Long orderId; + /** + * 成本金额 + */ + private BigDecimal costAmount; + /** + * 收入金额 + */ + private BigDecimal revenueAmount; + /** + * 利润金额 + */ + private BigDecimal profitAmount; + /** + * 利润率(%) + */ + private BigDecimal profitRate; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsPayable.java b/klp-wms/src/main/java/com/klp/domain/WmsPayable.java new file mode 100644 index 00000000..d47511c3 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsPayable.java @@ -0,0 +1,68 @@ +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_payable + * + * @author klp + * @date 2025-08-13 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_payable") +public class WmsPayable extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 应付ID(主键) + */ + @TableId(value = "payable_id") + private Long payableId; + /** + * 供应商ID + */ + private Long supplierId; + /** + * 订单ID + */ + private Long orderId; + /** + * 到期日 + */ + private Date dueDate; + /** + * 应付金额(可为负数用于调整) + */ + private BigDecimal amount; + /** + * 已付金额(可为负数用于冲销) + */ + private BigDecimal paidAmount; + /** + * 未付金额 + */ + private BigDecimal balanceAmount; + /** + * 状态 + */ + private String status; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsReceivable.java b/klp-wms/src/main/java/com/klp/domain/WmsReceivable.java new file mode 100644 index 00000000..c1289256 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsReceivable.java @@ -0,0 +1,68 @@ +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_receivable + * + * @author klp + * @date 2025-08-13 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_receivable") +public class WmsReceivable extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 应收ID(主键) + */ + @TableId(value = "receivable_id") + private Long receivableId; + /** + * 客户ID + */ + private Long customerId; + /** + * 订单ID + */ + private Long orderId; + /** + * 到期日 + */ + private Date dueDate; + /** + * 应收金额(可为负数用于调整) + */ + private BigDecimal amount; + /** + * 已收金额(可为负数用于冲销) + */ + private BigDecimal paidAmount; + /** + * 未收金额 + */ + private BigDecimal balanceAmount; + /** + * 状态 + */ + private String status; + /** + * 删除标志(0=正常,1=已删除) + */ + @TableLogic + private Integer delFlag; + /** + * 备注 + */ + private String remark; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsAccountBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsAccountBo.java new file mode 100644 index 00000000..f589ae76 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsAccountBo.java @@ -0,0 +1,51 @@ +package com.klp.domain.bo; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import com.klp.common.core.domain.TreeEntity; + +/** + * 会计科目业务对象 wms_account + * + * @author klp + * @date 2025-08-13 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsAccountBo extends TreeEntity { + + /** + * 科目ID(主键) + */ + private Long accountId; + + /** + * 科目编码 + */ + private String accountCode; + + /** + * 科目名称 + */ + private String accountName; + + /** + * 科目类型 + */ + private String accountType; + + /** + * 当前余额(可容忍暂时不准确,过账汇总) + */ + private BigDecimal balance; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsFinancialDocumentBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsFinancialDocumentBo.java new file mode 100644 index 00000000..b5e258ff --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsFinancialDocumentBo.java @@ -0,0 +1,66 @@ +package com.klp.domain.bo; + +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; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 财务单据业务对象 wms_financial_document + * + * @author klp + * @date 2025-08-13 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsFinancialDocumentBo extends BaseEntity { + + /** + * 单据ID(主键) + */ + private Long documentId; + + /** + * 单据编号 + */ + private String docNo; + + /** + * 单据类型 + */ + private String docType; + + /** + * 单据日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date docDate; + + /** + * 单据金额 + */ + private BigDecimal amount; + + /** + * 关联订单ID + */ + private Long relatedOrderId; + + /** + * 单据状态 + */ + private String status; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsJournalEntryBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsJournalEntryBo.java new file mode 100644 index 00000000..783283e6 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsJournalEntryBo.java @@ -0,0 +1,82 @@ +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; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 日记账凭证(宽松版)业务对象 wms_journal_entry + * + * @author klp + * @date 2025-08-13 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsJournalEntryBo extends BaseEntity { + + /** + * 分录ID(主键) + */ + private Long entryId; + + /** + * 凭证编号 + */ + private String voucherNo; + + /** + * 分录行号(同一凭证内序号) + */ + private Long lineNo; + + /** + * 记账日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date entryDate; + + /** + * 科目ID + */ + private Long accountId; + + /** + * 借方金额(可为0或负数用于调账/红冲) + */ + private BigDecimal debitAmount; + + /** + * 贷方金额(可为0或负数用于调账/红冲) + */ + private BigDecimal creditAmount; + + /** + * 参考单据号 + */ + private String referenceNo; + + /** + * 关联订单ID + */ + private Long relatedOrderId; + + /** + * 状态 + */ + private String status; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsOrderProfitBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsOrderProfitBo.java new file mode 100644 index 00000000..1466ef0d --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsOrderProfitBo.java @@ -0,0 +1,56 @@ +package com.klp.domain.bo; + +import com.klp.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; + +/** + * 订单盈亏业务对象 wms_order_profit + * + * @author klp + * @date 2025-08-13 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsOrderProfitBo extends BaseEntity { + + /** + * 盈亏ID(主键) + */ + private Long profitId; + + /** + * 订单ID + */ + private Long orderId; + + /** + * 成本金额 + */ + private BigDecimal costAmount; + + /** + * 收入金额 + */ + private BigDecimal revenueAmount; + + /** + * 利润金额 + */ + private BigDecimal profitAmount; + + /** + * 利润率(%) + */ + private BigDecimal profitRate; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsPayableBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsPayableBo.java new file mode 100644 index 00000000..492a688d --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsPayableBo.java @@ -0,0 +1,71 @@ +package com.klp.domain.bo; + +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; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 应付款管理(宽松版)业务对象 wms_payable + * + * @author klp + * @date 2025-08-13 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsPayableBo extends BaseEntity { + + /** + * 应付ID(主键) + */ + private Long payableId; + + /** + * 供应商ID + */ + private Long supplierId; + + /** + * 订单ID + */ + private Long orderId; + + /** + * 到期日 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date dueDate; + + /** + * 应付金额(可为负数用于调整) + */ + private BigDecimal amount; + + /** + * 已付金额(可为负数用于冲销) + */ + private BigDecimal paidAmount; + + /** + * 未付金额 + */ + private BigDecimal balanceAmount; + + /** + * 状态 + */ + private String status; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsReceivableBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsReceivableBo.java new file mode 100644 index 00000000..199ffee2 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsReceivableBo.java @@ -0,0 +1,71 @@ +package com.klp.domain.bo; + +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; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 应收款管理(宽松版)业务对象 wms_receivable + * + * @author klp + * @date 2025-08-13 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsReceivableBo extends BaseEntity { + + /** + * 应收ID(主键) + */ + private Long receivableId; + + /** + * 客户ID + */ + private Long customerId; + + /** + * 订单ID + */ + private Long orderId; + + /** + * 到期日 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date dueDate; + + /** + * 应收金额(可为负数用于调整) + */ + private BigDecimal amount; + + /** + * 已收金额(可为负数用于冲销) + */ + private BigDecimal paidAmount; + + /** + * 未收金额 + */ + private BigDecimal balanceAmount; + + /** + * 状态 + */ + private String status; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsAccountVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsAccountVo.java new file mode 100644 index 00000000..a304fc7d --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsAccountVo.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_account + * + * @author klp + * @date 2025-08-13 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsAccountVo { + + private static final long serialVersionUID = 1L; + + /** + * 科目ID(主键) + */ + @ExcelProperty(value = "科目ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "主=键") + private Long accountId; + + /** + * 科目编码 + */ + @ExcelProperty(value = "科目编码") + private String accountCode; + + /** + * 科目名称 + */ + @ExcelProperty(value = "科目名称") + private String accountName; + + /** + * 科目类型 + */ + @ExcelProperty(value = "科目类型") + private String accountType; + + /** + * 上级科目ID + */ + @ExcelProperty(value = "上级科目ID") + private Long parentId; + + /** + * 当前余额(可容忍暂时不准确,过账汇总) + */ + @ExcelProperty(value = "当前余额", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "可=容忍暂时不准确,过账汇总") + private BigDecimal balance; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsFinancialDocumentVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsFinancialDocumentVo.java new file mode 100644 index 00000000..0700ac96 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsFinancialDocumentVo.java @@ -0,0 +1,76 @@ +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_financial_document + * + * @author klp + * @date 2025-08-13 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsFinancialDocumentVo { + + private static final long serialVersionUID = 1L; + + /** + * 单据ID(主键) + */ + @ExcelProperty(value = "单据ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "主=键") + private Long documentId; + + /** + * 单据编号 + */ + @ExcelProperty(value = "单据编号") + private String docNo; + + /** + * 单据类型 + */ + @ExcelProperty(value = "单据类型") + private String docType; + + /** + * 单据日期 + */ + @ExcelProperty(value = "单据日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date docDate; + + /** + * 单据金额 + */ + @ExcelProperty(value = "单据金额") + private BigDecimal amount; + + /** + * 关联订单ID + */ + @ExcelProperty(value = "关联订单ID") + private Long relatedOrderId; + + /** + * 单据状态 + */ + @ExcelProperty(value = "单据状态") + private String status; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsJournalEntryVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsJournalEntryVo.java new file mode 100644 index 00000000..3c1b81c7 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsJournalEntryVo.java @@ -0,0 +1,97 @@ +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_journal_entry + * + * @author klp + * @date 2025-08-13 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsJournalEntryVo { + + private static final long serialVersionUID = 1L; + + /** + * 分录ID(主键) + */ + @ExcelProperty(value = "分录ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "主=键") + private Long entryId; + + /** + * 凭证编号 + */ + @ExcelProperty(value = "凭证编号") + private String voucherNo; + + /** + * 分录行号(同一凭证内序号) + */ + @ExcelProperty(value = "分录行号", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "同=一凭证内序号") + private Long lineNo; + + /** + * 记账日期 + */ + @ExcelProperty(value = "记账日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date entryDate; + + /** + * 科目ID + */ + @ExcelProperty(value = "科目ID") + private Long accountId; + + /** + * 借方金额(可为0或负数用于调账/红冲) + */ + @ExcelProperty(value = "借方金额", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "可=为0或负数用于调账/红冲") + private BigDecimal debitAmount; + + /** + * 贷方金额(可为0或负数用于调账/红冲) + */ + @ExcelProperty(value = "贷方金额", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "可=为0或负数用于调账/红冲") + private BigDecimal creditAmount; + + /** + * 参考单据号 + */ + @ExcelProperty(value = "参考单据号") + private String referenceNo; + + /** + * 关联订单ID + */ + @ExcelProperty(value = "关联订单ID") + private Long relatedOrderId; + + /** + * 状态 + */ + @ExcelProperty(value = "状态") + private String status; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsOrderProfitVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsOrderProfitVo.java new file mode 100644 index 00000000..7de474d0 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsOrderProfitVo.java @@ -0,0 +1,67 @@ +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_profit + * + * @author klp + * @date 2025-08-13 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsOrderProfitVo { + + private static final long serialVersionUID = 1L; + + /** + * 盈亏ID(主键) + */ + @ExcelProperty(value = "盈亏ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "主=键") + private Long profitId; + + /** + * 订单ID + */ + @ExcelProperty(value = "订单ID") + private Long orderId; + + /** + * 成本金额 + */ + @ExcelProperty(value = "成本金额") + private BigDecimal costAmount; + + /** + * 收入金额 + */ + @ExcelProperty(value = "收入金额") + private BigDecimal revenueAmount; + + /** + * 利润金额 + */ + @ExcelProperty(value = "利润金额") + private BigDecimal profitAmount; + + /** + * 利润率(%) + */ + @ExcelProperty(value = "利润率(%)") + private BigDecimal profitRate; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsPayableVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsPayableVo.java new file mode 100644 index 00000000..e8c7703e --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsPayableVo.java @@ -0,0 +1,84 @@ +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_payable + * + * @author klp + * @date 2025-08-13 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsPayableVo { + + private static final long serialVersionUID = 1L; + + /** + * 应付ID(主键) + */ + @ExcelProperty(value = "应付ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "主=键") + private Long payableId; + + /** + * 供应商ID + */ + @ExcelProperty(value = "供应商ID") + private Long supplierId; + + /** + * 订单ID + */ + @ExcelProperty(value = "订单ID") + private Long orderId; + + /** + * 到期日 + */ + @ExcelProperty(value = "到期日") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date dueDate; + + /** + * 应付金额(可为负数用于调整) + */ + @ExcelProperty(value = "应付金额", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "可=为负数用于调整") + private BigDecimal amount; + + /** + * 已付金额(可为负数用于冲销) + */ + @ExcelProperty(value = "已付金额", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "可=为负数用于冲销") + private BigDecimal paidAmount; + + /** + * 未付金额 + */ + @ExcelProperty(value = "未付金额") + private BigDecimal balanceAmount; + + /** + * 状态 + */ + @ExcelProperty(value = "状态") + private String status; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivableVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivableVo.java new file mode 100644 index 00000000..6c46da5c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivableVo.java @@ -0,0 +1,84 @@ +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_receivable + * + * @author klp + * @date 2025-08-13 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsReceivableVo { + + private static final long serialVersionUID = 1L; + + /** + * 应收ID(主键) + */ + @ExcelProperty(value = "应收ID", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "主=键") + private Long receivableId; + + /** + * 客户ID + */ + @ExcelProperty(value = "客户ID") + private Long customerId; + + /** + * 订单ID + */ + @ExcelProperty(value = "订单ID") + private Long orderId; + + /** + * 到期日 + */ + @ExcelProperty(value = "到期日") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date dueDate; + + /** + * 应收金额(可为负数用于调整) + */ + @ExcelProperty(value = "应收金额", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "可=为负数用于调整") + private BigDecimal amount; + + /** + * 已收金额(可为负数用于冲销) + */ + @ExcelProperty(value = "已收金额", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "可=为负数用于冲销") + private BigDecimal paidAmount; + + /** + * 未收金额 + */ + @ExcelProperty(value = "未收金额") + private BigDecimal balanceAmount; + + /** + * 状态 + */ + @ExcelProperty(value = "状态") + private String status; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsAccountMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsAccountMapper.java new file mode 100644 index 00000000..15e4511c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsAccountMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsAccount; +import com.klp.domain.vo.WmsAccountVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 会计科目Mapper接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface WmsAccountMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsFinancialDocumentMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsFinancialDocumentMapper.java new file mode 100644 index 00000000..9f0372db --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsFinancialDocumentMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsFinancialDocument; +import com.klp.domain.vo.WmsFinancialDocumentVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 财务单据Mapper接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface WmsFinancialDocumentMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsJournalEntryMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsJournalEntryMapper.java new file mode 100644 index 00000000..47a390f6 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsJournalEntryMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsJournalEntry; +import com.klp.domain.vo.WmsJournalEntryVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 日记账凭证(宽松版)Mapper接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface WmsJournalEntryMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsOrderProfitMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsOrderProfitMapper.java new file mode 100644 index 00000000..b432dcc3 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsOrderProfitMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsOrderProfit; +import com.klp.domain.vo.WmsOrderProfitVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 订单盈亏Mapper接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface WmsOrderProfitMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsPayableMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsPayableMapper.java new file mode 100644 index 00000000..178250ed --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsPayableMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsPayable; +import com.klp.domain.vo.WmsPayableVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 应付款管理(宽松版)Mapper接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface WmsPayableMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsReceivableMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsReceivableMapper.java new file mode 100644 index 00000000..fec2e241 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsReceivableMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsReceivable; +import com.klp.domain.vo.WmsReceivableVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 应收款管理(宽松版)Mapper接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface WmsReceivableMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsAccountService.java b/klp-wms/src/main/java/com/klp/service/IWmsAccountService.java new file mode 100644 index 00000000..562f401d --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsAccountService.java @@ -0,0 +1,43 @@ +package com.klp.service; + +import com.klp.domain.WmsAccount; +import com.klp.domain.vo.WmsAccountVo; +import com.klp.domain.bo.WmsAccountBo; + +import java.util.Collection; +import java.util.List; + +/** + * 会计科目Service接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface IWmsAccountService { + + /** + * 查询会计科目 + */ + WmsAccountVo queryById(Long accountId); + + + /** + * 查询会计科目列表 + */ + List queryList(WmsAccountBo bo); + + /** + * 新增会计科目 + */ + Boolean insertByBo(WmsAccountBo bo); + + /** + * 修改会计科目 + */ + Boolean updateByBo(WmsAccountBo bo); + + /** + * 校验并批量删除会计科目信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsFinancialDocumentService.java b/klp-wms/src/main/java/com/klp/service/IWmsFinancialDocumentService.java new file mode 100644 index 00000000..a8817e4f --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsFinancialDocumentService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsFinancialDocument; +import com.klp.domain.vo.WmsFinancialDocumentVo; +import com.klp.domain.bo.WmsFinancialDocumentBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 财务单据Service接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface IWmsFinancialDocumentService { + + /** + * 查询财务单据 + */ + WmsFinancialDocumentVo queryById(Long documentId); + + /** + * 查询财务单据列表 + */ + TableDataInfo queryPageList(WmsFinancialDocumentBo bo, PageQuery pageQuery); + + /** + * 查询财务单据列表 + */ + List queryList(WmsFinancialDocumentBo bo); + + /** + * 新增财务单据 + */ + Boolean insertByBo(WmsFinancialDocumentBo bo); + + /** + * 修改财务单据 + */ + Boolean updateByBo(WmsFinancialDocumentBo bo); + + /** + * 校验并批量删除财务单据信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsJournalEntryService.java b/klp-wms/src/main/java/com/klp/service/IWmsJournalEntryService.java new file mode 100644 index 00000000..8b6bfe4e --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsJournalEntryService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsJournalEntry; +import com.klp.domain.vo.WmsJournalEntryVo; +import com.klp.domain.bo.WmsJournalEntryBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 日记账凭证(宽松版)Service接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface IWmsJournalEntryService { + + /** + * 查询日记账凭证(宽松版) + */ + WmsJournalEntryVo queryById(Long entryId); + + /** + * 查询日记账凭证(宽松版)列表 + */ + TableDataInfo queryPageList(WmsJournalEntryBo bo, PageQuery pageQuery); + + /** + * 查询日记账凭证(宽松版)列表 + */ + List queryList(WmsJournalEntryBo bo); + + /** + * 新增日记账凭证(宽松版) + */ + Boolean insertByBo(WmsJournalEntryBo bo); + + /** + * 修改日记账凭证(宽松版) + */ + Boolean updateByBo(WmsJournalEntryBo bo); + + /** + * 校验并批量删除日记账凭证(宽松版)信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsOrderProfitService.java b/klp-wms/src/main/java/com/klp/service/IWmsOrderProfitService.java new file mode 100644 index 00000000..f3b2b96a --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsOrderProfitService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsOrderProfit; +import com.klp.domain.vo.WmsOrderProfitVo; +import com.klp.domain.bo.WmsOrderProfitBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 订单盈亏Service接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface IWmsOrderProfitService { + + /** + * 查询订单盈亏 + */ + WmsOrderProfitVo queryById(Long profitId); + + /** + * 查询订单盈亏列表 + */ + TableDataInfo queryPageList(WmsOrderProfitBo bo, PageQuery pageQuery); + + /** + * 查询订单盈亏列表 + */ + List queryList(WmsOrderProfitBo bo); + + /** + * 新增订单盈亏 + */ + Boolean insertByBo(WmsOrderProfitBo bo); + + /** + * 修改订单盈亏 + */ + Boolean updateByBo(WmsOrderProfitBo bo); + + /** + * 校验并批量删除订单盈亏信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsPayableService.java b/klp-wms/src/main/java/com/klp/service/IWmsPayableService.java new file mode 100644 index 00000000..7a7c6c45 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsPayableService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsPayable; +import com.klp.domain.vo.WmsPayableVo; +import com.klp.domain.bo.WmsPayableBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 应付款管理(宽松版)Service接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface IWmsPayableService { + + /** + * 查询应付款管理(宽松版) + */ + WmsPayableVo queryById(Long payableId); + + /** + * 查询应付款管理(宽松版)列表 + */ + TableDataInfo queryPageList(WmsPayableBo bo, PageQuery pageQuery); + + /** + * 查询应付款管理(宽松版)列表 + */ + List queryList(WmsPayableBo bo); + + /** + * 新增应付款管理(宽松版) + */ + Boolean insertByBo(WmsPayableBo bo); + + /** + * 修改应付款管理(宽松版) + */ + Boolean updateByBo(WmsPayableBo bo); + + /** + * 校验并批量删除应付款管理(宽松版)信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsReceivableService.java b/klp-wms/src/main/java/com/klp/service/IWmsReceivableService.java new file mode 100644 index 00000000..a1880ff2 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsReceivableService.java @@ -0,0 +1,49 @@ +package com.klp.service; + +import com.klp.domain.WmsReceivable; +import com.klp.domain.vo.WmsReceivableVo; +import com.klp.domain.bo.WmsReceivableBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 应收款管理(宽松版)Service接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface IWmsReceivableService { + + /** + * 查询应收款管理(宽松版) + */ + WmsReceivableVo queryById(Long receivableId); + + /** + * 查询应收款管理(宽松版)列表 + */ + TableDataInfo queryPageList(WmsReceivableBo bo, PageQuery pageQuery); + + /** + * 查询应收款管理(宽松版)列表 + */ + List queryList(WmsReceivableBo bo); + + /** + * 新增应收款管理(宽松版) + */ + Boolean insertByBo(WmsReceivableBo bo); + + /** + * 修改应收款管理(宽松版) + */ + Boolean updateByBo(WmsReceivableBo bo); + + /** + * 校验并批量删除应收款管理(宽松版)信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsAccountServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsAccountServiceImpl.java new file mode 100644 index 00000000..9dbddf2a --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsAccountServiceImpl.java @@ -0,0 +1,101 @@ +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.WmsAccountBo; +import com.klp.domain.vo.WmsAccountVo; +import com.klp.domain.WmsAccount; +import com.klp.mapper.WmsAccountMapper; +import com.klp.service.IWmsAccountService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 会计科目Service业务层处理 + * + * @author klp + * @date 2025-08-13 + */ +@RequiredArgsConstructor +@Service +public class WmsAccountServiceImpl implements IWmsAccountService { + + private final WmsAccountMapper baseMapper; + + /** + * 查询会计科目 + */ + @Override + public WmsAccountVo queryById(Long accountId){ + return baseMapper.selectVoById(accountId); + } + + + /** + * 查询会计科目列表 + */ + @Override + public List queryList(WmsAccountBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsAccountBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getAccountCode()), WmsAccount::getAccountCode, bo.getAccountCode()); + lqw.like(StringUtils.isNotBlank(bo.getAccountName()), WmsAccount::getAccountName, bo.getAccountName()); + lqw.eq(StringUtils.isNotBlank(bo.getAccountType()), WmsAccount::getAccountType, bo.getAccountType()); + lqw.eq(bo.getParentId() != null, WmsAccount::getParentId, bo.getParentId()); + lqw.eq(bo.getBalance() != null, WmsAccount::getBalance, bo.getBalance()); + return lqw; + } + + /** + * 新增会计科目 + */ + @Override + public Boolean insertByBo(WmsAccountBo bo) { + WmsAccount add = BeanUtil.toBean(bo, WmsAccount.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setAccountId(add.getAccountId()); + } + return flag; + } + + /** + * 修改会计科目 + */ + @Override + public Boolean updateByBo(WmsAccountBo bo) { + WmsAccount update = BeanUtil.toBean(bo, WmsAccount.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsAccount 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/WmsFinancialDocumentServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsFinancialDocumentServiceImpl.java new file mode 100644 index 00000000..77f21b18 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsFinancialDocumentServiceImpl.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.WmsFinancialDocumentBo; +import com.klp.domain.vo.WmsFinancialDocumentVo; +import com.klp.domain.WmsFinancialDocument; +import com.klp.mapper.WmsFinancialDocumentMapper; +import com.klp.service.IWmsFinancialDocumentService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 财务单据Service业务层处理 + * + * @author klp + * @date 2025-08-13 + */ +@RequiredArgsConstructor +@Service +public class WmsFinancialDocumentServiceImpl implements IWmsFinancialDocumentService { + + private final WmsFinancialDocumentMapper baseMapper; + + /** + * 查询财务单据 + */ + @Override + public WmsFinancialDocumentVo queryById(Long documentId){ + return baseMapper.selectVoById(documentId); + } + + /** + * 查询财务单据列表 + */ + @Override + public TableDataInfo queryPageList(WmsFinancialDocumentBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询财务单据列表 + */ + @Override + public List queryList(WmsFinancialDocumentBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsFinancialDocumentBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getDocNo()), WmsFinancialDocument::getDocNo, bo.getDocNo()); + lqw.eq(StringUtils.isNotBlank(bo.getDocType()), WmsFinancialDocument::getDocType, bo.getDocType()); + lqw.eq(bo.getDocDate() != null, WmsFinancialDocument::getDocDate, bo.getDocDate()); + lqw.eq(bo.getAmount() != null, WmsFinancialDocument::getAmount, bo.getAmount()); + lqw.eq(bo.getRelatedOrderId() != null, WmsFinancialDocument::getRelatedOrderId, bo.getRelatedOrderId()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), WmsFinancialDocument::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增财务单据 + */ + @Override + public Boolean insertByBo(WmsFinancialDocumentBo bo) { + WmsFinancialDocument add = BeanUtil.toBean(bo, WmsFinancialDocument.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDocumentId(add.getDocumentId()); + } + return flag; + } + + /** + * 修改财务单据 + */ + @Override + public Boolean updateByBo(WmsFinancialDocumentBo bo) { + WmsFinancialDocument update = BeanUtil.toBean(bo, WmsFinancialDocument.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsFinancialDocument 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/WmsJournalEntryServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsJournalEntryServiceImpl.java new file mode 100644 index 00000000..ec8c9bb8 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsJournalEntryServiceImpl.java @@ -0,0 +1,117 @@ +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.WmsJournalEntryBo; +import com.klp.domain.vo.WmsJournalEntryVo; +import com.klp.domain.WmsJournalEntry; +import com.klp.mapper.WmsJournalEntryMapper; +import com.klp.service.IWmsJournalEntryService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 日记账凭证(宽松版)Service业务层处理 + * + * @author klp + * @date 2025-08-13 + */ +@RequiredArgsConstructor +@Service +public class WmsJournalEntryServiceImpl implements IWmsJournalEntryService { + + private final WmsJournalEntryMapper baseMapper; + + /** + * 查询日记账凭证(宽松版) + */ + @Override + public WmsJournalEntryVo queryById(Long entryId){ + return baseMapper.selectVoById(entryId); + } + + /** + * 查询日记账凭证(宽松版)列表 + */ + @Override + public TableDataInfo queryPageList(WmsJournalEntryBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询日记账凭证(宽松版)列表 + */ + @Override + public List queryList(WmsJournalEntryBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsJournalEntryBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(StringUtils.isNotBlank(bo.getVoucherNo()), WmsJournalEntry::getVoucherNo, bo.getVoucherNo()); + lqw.eq(bo.getLineNo() != null, WmsJournalEntry::getLineNo, bo.getLineNo()); + lqw.eq(bo.getEntryDate() != null, WmsJournalEntry::getEntryDate, bo.getEntryDate()); + lqw.eq(bo.getAccountId() != null, WmsJournalEntry::getAccountId, bo.getAccountId()); + lqw.eq(bo.getDebitAmount() != null, WmsJournalEntry::getDebitAmount, bo.getDebitAmount()); + lqw.eq(bo.getCreditAmount() != null, WmsJournalEntry::getCreditAmount, bo.getCreditAmount()); + lqw.eq(StringUtils.isNotBlank(bo.getReferenceNo()), WmsJournalEntry::getReferenceNo, bo.getReferenceNo()); + lqw.eq(bo.getRelatedOrderId() != null, WmsJournalEntry::getRelatedOrderId, bo.getRelatedOrderId()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), WmsJournalEntry::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增日记账凭证(宽松版) + */ + @Override + public Boolean insertByBo(WmsJournalEntryBo bo) { + WmsJournalEntry add = BeanUtil.toBean(bo, WmsJournalEntry.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setEntryId(add.getEntryId()); + } + return flag; + } + + /** + * 修改日记账凭证(宽松版) + */ + @Override + public Boolean updateByBo(WmsJournalEntryBo bo) { + WmsJournalEntry update = BeanUtil.toBean(bo, WmsJournalEntry.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsJournalEntry 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/WmsOrderProfitServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsOrderProfitServiceImpl.java new file mode 100644 index 00000000..59b9424b --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsOrderProfitServiceImpl.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 lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import com.klp.domain.bo.WmsOrderProfitBo; +import com.klp.domain.vo.WmsOrderProfitVo; +import com.klp.domain.WmsOrderProfit; +import com.klp.mapper.WmsOrderProfitMapper; +import com.klp.service.IWmsOrderProfitService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 订单盈亏Service业务层处理 + * + * @author klp + * @date 2025-08-13 + */ +@RequiredArgsConstructor +@Service +public class WmsOrderProfitServiceImpl implements IWmsOrderProfitService { + + private final WmsOrderProfitMapper baseMapper; + + /** + * 查询订单盈亏 + */ + @Override + public WmsOrderProfitVo queryById(Long profitId){ + return baseMapper.selectVoById(profitId); + } + + /** + * 查询订单盈亏列表 + */ + @Override + public TableDataInfo queryPageList(WmsOrderProfitBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询订单盈亏列表 + */ + @Override + public List queryList(WmsOrderProfitBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsOrderProfitBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getOrderId() != null, WmsOrderProfit::getOrderId, bo.getOrderId()); + lqw.eq(bo.getCostAmount() != null, WmsOrderProfit::getCostAmount, bo.getCostAmount()); + lqw.eq(bo.getRevenueAmount() != null, WmsOrderProfit::getRevenueAmount, bo.getRevenueAmount()); + lqw.eq(bo.getProfitAmount() != null, WmsOrderProfit::getProfitAmount, bo.getProfitAmount()); + lqw.eq(bo.getProfitRate() != null, WmsOrderProfit::getProfitRate, bo.getProfitRate()); + return lqw; + } + + /** + * 新增订单盈亏 + */ + @Override + public Boolean insertByBo(WmsOrderProfitBo bo) { + WmsOrderProfit add = BeanUtil.toBean(bo, WmsOrderProfit.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setProfitId(add.getProfitId()); + } + return flag; + } + + /** + * 修改订单盈亏 + */ + @Override + public Boolean updateByBo(WmsOrderProfitBo bo) { + WmsOrderProfit update = BeanUtil.toBean(bo, WmsOrderProfit.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsOrderProfit 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/WmsPayableServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsPayableServiceImpl.java new file mode 100644 index 00000000..617ed96c --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsPayableServiceImpl.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.WmsPayableBo; +import com.klp.domain.vo.WmsPayableVo; +import com.klp.domain.WmsPayable; +import com.klp.mapper.WmsPayableMapper; +import com.klp.service.IWmsPayableService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 应付款管理(宽松版)Service业务层处理 + * + * @author klp + * @date 2025-08-13 + */ +@RequiredArgsConstructor +@Service +public class WmsPayableServiceImpl implements IWmsPayableService { + + private final WmsPayableMapper baseMapper; + + /** + * 查询应付款管理(宽松版) + */ + @Override + public WmsPayableVo queryById(Long payableId){ + return baseMapper.selectVoById(payableId); + } + + /** + * 查询应付款管理(宽松版)列表 + */ + @Override + public TableDataInfo queryPageList(WmsPayableBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询应付款管理(宽松版)列表 + */ + @Override + public List queryList(WmsPayableBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsPayableBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getSupplierId() != null, WmsPayable::getSupplierId, bo.getSupplierId()); + lqw.eq(bo.getOrderId() != null, WmsPayable::getOrderId, bo.getOrderId()); + lqw.eq(bo.getDueDate() != null, WmsPayable::getDueDate, bo.getDueDate()); + lqw.eq(bo.getAmount() != null, WmsPayable::getAmount, bo.getAmount()); + lqw.eq(bo.getPaidAmount() != null, WmsPayable::getPaidAmount, bo.getPaidAmount()); + lqw.eq(bo.getBalanceAmount() != null, WmsPayable::getBalanceAmount, bo.getBalanceAmount()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), WmsPayable::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增应付款管理(宽松版) + */ + @Override + public Boolean insertByBo(WmsPayableBo bo) { + WmsPayable add = BeanUtil.toBean(bo, WmsPayable.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setPayableId(add.getPayableId()); + } + return flag; + } + + /** + * 修改应付款管理(宽松版) + */ + @Override + public Boolean updateByBo(WmsPayableBo bo) { + WmsPayable update = BeanUtil.toBean(bo, WmsPayable.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsPayable 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/WmsReceivableServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsReceivableServiceImpl.java new file mode 100644 index 00000000..52881851 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsReceivableServiceImpl.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.WmsReceivableBo; +import com.klp.domain.vo.WmsReceivableVo; +import com.klp.domain.WmsReceivable; +import com.klp.mapper.WmsReceivableMapper; +import com.klp.service.IWmsReceivableService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 应收款管理(宽松版)Service业务层处理 + * + * @author klp + * @date 2025-08-13 + */ +@RequiredArgsConstructor +@Service +public class WmsReceivableServiceImpl implements IWmsReceivableService { + + private final WmsReceivableMapper baseMapper; + + /** + * 查询应收款管理(宽松版) + */ + @Override + public WmsReceivableVo queryById(Long receivableId){ + return baseMapper.selectVoById(receivableId); + } + + /** + * 查询应收款管理(宽松版)列表 + */ + @Override + public TableDataInfo queryPageList(WmsReceivableBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询应收款管理(宽松版)列表 + */ + @Override + public List queryList(WmsReceivableBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsReceivableBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getCustomerId() != null, WmsReceivable::getCustomerId, bo.getCustomerId()); + lqw.eq(bo.getOrderId() != null, WmsReceivable::getOrderId, bo.getOrderId()); + lqw.eq(bo.getDueDate() != null, WmsReceivable::getDueDate, bo.getDueDate()); + lqw.eq(bo.getAmount() != null, WmsReceivable::getAmount, bo.getAmount()); + lqw.eq(bo.getPaidAmount() != null, WmsReceivable::getPaidAmount, bo.getPaidAmount()); + lqw.eq(bo.getBalanceAmount() != null, WmsReceivable::getBalanceAmount, bo.getBalanceAmount()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), WmsReceivable::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增应收款管理(宽松版) + */ + @Override + public Boolean insertByBo(WmsReceivableBo bo) { + WmsReceivable add = BeanUtil.toBean(bo, WmsReceivable.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setReceivableId(add.getReceivableId()); + } + return flag; + } + + /** + * 修改应收款管理(宽松版) + */ + @Override + public Boolean updateByBo(WmsReceivableBo bo) { + WmsReceivable update = BeanUtil.toBean(bo, WmsReceivable.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsReceivable 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/WmsAccountMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsAccountMapper.xml new file mode 100644 index 00000000..42a29d17 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsAccountMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsFinancialDocumentMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsFinancialDocumentMapper.xml new file mode 100644 index 00000000..4c71dda7 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsFinancialDocumentMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsJournalEntryMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsJournalEntryMapper.xml new file mode 100644 index 00000000..75c704da --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsJournalEntryMapper.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsOrderProfitMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsOrderProfitMapper.xml new file mode 100644 index 00000000..b01a8b33 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsOrderProfitMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsPayableMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsPayableMapper.xml new file mode 100644 index 00000000..acc31481 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsPayableMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsReceivableMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsReceivableMapper.xml new file mode 100644 index 00000000..842b1bc7 --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsReceivableMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + From 8e3497b971c028f596db108ecb92c147b64ae120 Mon Sep 17 00:00:00 2001 From: JR <3573153686@qq.com> Date: Wed, 13 Aug 2025 11:48:12 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat(wms):=20=E6=96=B0=E5=A2=9E=E8=B5=84?= =?UTF-8?q?=E9=87=91=E6=97=A5=E8=AE=B0=E8=B4=A6=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加资金日记账相关实体类、Mapper、Service、Controller - 实现资金日记账的增删改查功能 - 添加资金日记账的导出功能 --- .../klp/controller/WmsJournalController.java | 99 +++++++++++++++ .../main/java/com/klp/domain/WmsJournal.java | 67 ++++++++++ .../java/com/klp/domain/WmsJournalEntry.java | 1 - .../java/com/klp/domain/bo/WmsJournalBo.java | 71 +++++++++++ .../java/com/klp/domain/vo/WmsJournalVo.java | 81 ++++++++++++ .../java/com/klp/mapper/WmsJournalMapper.java | 15 +++ .../com/klp/service/IWmsJournalService.java | 48 ++++++++ .../service/impl/WmsJournalServiceImpl.java | 115 ++++++++++++++++++ .../resources/mapper/klp/WmsJournalMapper.xml | 25 ++++ 9 files changed, 521 insertions(+), 1 deletion(-) create mode 100644 klp-wms/src/main/java/com/klp/controller/WmsJournalController.java create mode 100644 klp-wms/src/main/java/com/klp/domain/WmsJournal.java create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/WmsJournalBo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/vo/WmsJournalVo.java create mode 100644 klp-wms/src/main/java/com/klp/mapper/WmsJournalMapper.java create mode 100644 klp-wms/src/main/java/com/klp/service/IWmsJournalService.java create mode 100644 klp-wms/src/main/java/com/klp/service/impl/WmsJournalServiceImpl.java create mode 100644 klp-wms/src/main/resources/mapper/klp/WmsJournalMapper.xml diff --git a/klp-wms/src/main/java/com/klp/controller/WmsJournalController.java b/klp-wms/src/main/java/com/klp/controller/WmsJournalController.java new file mode 100644 index 00000000..86bf9eed --- /dev/null +++ b/klp-wms/src/main/java/com/klp/controller/WmsJournalController.java @@ -0,0 +1,99 @@ +package com.klp.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import javax.servlet.http.HttpServletResponse; +import javax.validation.constraints.*; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import com.klp.common.annotation.RepeatSubmit; +import com.klp.common.annotation.Log; +import com.klp.common.core.controller.BaseController; +import com.klp.common.core.domain.PageQuery; +import com.klp.common.core.domain.R; +import com.klp.common.core.validate.AddGroup; +import com.klp.common.core.validate.EditGroup; +import com.klp.common.enums.BusinessType; +import com.klp.common.utils.poi.ExcelUtil; +import com.klp.domain.vo.WmsJournalVo; +import com.klp.domain.bo.WmsJournalBo; +import com.klp.service.IWmsJournalService; +import com.klp.common.core.page.TableDataInfo; + +/** + * 资金日记账 + * + * @author klp + * @date 2025-08-13 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/klp/journal") +public class WmsJournalController extends BaseController { + + private final IWmsJournalService iWmsJournalService; + + /** + * 查询资金日记账列表 + */ + @GetMapping("/list") + public TableDataInfo list(WmsJournalBo bo, PageQuery pageQuery) { + return iWmsJournalService.queryPageList(bo, pageQuery); + } + + /** + * 导出资金日记账列表 + */ + @Log(title = "资金日记账", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(WmsJournalBo bo, HttpServletResponse response) { + List list = iWmsJournalService.queryList(bo); + ExcelUtil.exportExcel(list, "资金日记账", WmsJournalVo.class, response); + } + + /** + * 获取资金日记账详细信息 + * + * @param journalId 主键 + */ + @GetMapping("/{journalId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long journalId) { + return R.ok(iWmsJournalService.queryById(journalId)); + } + + /** + * 新增资金日记账 + */ + @Log(title = "资金日记账", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody WmsJournalBo bo) { + return toAjax(iWmsJournalService.insertByBo(bo)); + } + + /** + * 修改资金日记账 + */ + @Log(title = "资金日记账", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody WmsJournalBo bo) { + return toAjax(iWmsJournalService.updateByBo(bo)); + } + + /** + * 删除资金日记账 + * + * @param journalIds 主键串 + */ + @Log(title = "资金日记账", businessType = BusinessType.DELETE) + @DeleteMapping("/{journalIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] journalIds) { + return toAjax(iWmsJournalService.deleteWithValidByIds(Arrays.asList(journalIds), true)); + } +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsJournal.java b/klp-wms/src/main/java/com/klp/domain/WmsJournal.java new file mode 100644 index 00000000..ac2f9975 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/WmsJournal.java @@ -0,0 +1,67 @@ +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; + +/** + * 资金日记账对象 wms_journal + * + * @author klp + * @date 2025-08-13 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("wms_journal") +public class WmsJournal extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 主键ID + */ + @TableId(value = "journal_id") + private Long journalId; + /** + * 日期 + */ + private Date journalDate; + /** + * 摘要 + */ + private String summary; + /** + * 收支类型 + */ + private String transType; + /** + * 对方户名 + */ + private String counterpart; + /** + * 收入金额 + */ + private BigDecimal incomeAmount; + /** + * 支出金额 + */ + private BigDecimal expenseAmount; + /** + * 余额 + */ + private BigDecimal balanceAmount; + /** + * 备注 + */ + private String remark; + /** + * 删除标志(0正常 1删除) + */ + @TableLogic + private Long delFlag; + +} diff --git a/klp-wms/src/main/java/com/klp/domain/WmsJournalEntry.java b/klp-wms/src/main/java/com/klp/domain/WmsJournalEntry.java index d9f2647b..58f113cd 100644 --- a/klp-wms/src/main/java/com/klp/domain/WmsJournalEntry.java +++ b/klp-wms/src/main/java/com/klp/domain/WmsJournalEntry.java @@ -7,7 +7,6 @@ import lombok.EqualsAndHashCode; import java.math.BigDecimal; import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; /** * 日记账凭证(宽松版)对象 wms_journal_entry diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsJournalBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsJournalBo.java new file mode 100644 index 00000000..fdd5c65e --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsJournalBo.java @@ -0,0 +1,71 @@ +package com.klp.domain.bo; + +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; +import org.springframework.format.annotation.DateTimeFormat; + +/** + * 资金日记账业务对象 wms_journal + * + * @author klp + * @date 2025-08-13 + */ + +@Data +@EqualsAndHashCode(callSuper = true) +public class WmsJournalBo extends BaseEntity { + + /** + * 主键ID + */ + private Long journalId; + + /** + * 日期 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date journalDate; + + /** + * 摘要 + */ + private String summary; + + /** + * 收支类型 + */ + private String transType; + + /** + * 对方户名 + */ + private String counterpart; + + /** + * 收入金额 + */ + private BigDecimal incomeAmount; + + /** + * 支出金额 + */ + private BigDecimal expenseAmount; + + /** + * 余额 + */ + private BigDecimal balanceAmount; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsJournalVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsJournalVo.java new file mode 100644 index 00000000..302b0e08 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsJournalVo.java @@ -0,0 +1,81 @@ +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_journal + * + * @author klp + * @date 2025-08-13 + */ +@Data +@ExcelIgnoreUnannotated +public class WmsJournalVo { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long journalId; + + /** + * 日期 + */ + @ExcelProperty(value = "日期") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date journalDate; + + /** + * 摘要 + */ + @ExcelProperty(value = "摘要") + private String summary; + + /** + * 收支类型 + */ + @ExcelProperty(value = "收支类型") + private String transType; + + /** + * 对方户名 + */ + @ExcelProperty(value = "对方户名") + private String counterpart; + + /** + * 收入金额 + */ + @ExcelProperty(value = "收入金额") + private BigDecimal incomeAmount; + + /** + * 支出金额 + */ + @ExcelProperty(value = "支出金额") + private BigDecimal expenseAmount; + + /** + * 余额 + */ + @ExcelProperty(value = "余额") + private BigDecimal balanceAmount; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsJournalMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsJournalMapper.java new file mode 100644 index 00000000..49188686 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/mapper/WmsJournalMapper.java @@ -0,0 +1,15 @@ +package com.klp.mapper; + +import com.klp.domain.WmsJournal; +import com.klp.domain.vo.WmsJournalVo; +import com.klp.common.core.mapper.BaseMapperPlus; + +/** + * 资金日记账Mapper接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface WmsJournalMapper extends BaseMapperPlus { + +} diff --git a/klp-wms/src/main/java/com/klp/service/IWmsJournalService.java b/klp-wms/src/main/java/com/klp/service/IWmsJournalService.java new file mode 100644 index 00000000..733152d8 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/IWmsJournalService.java @@ -0,0 +1,48 @@ +package com.klp.service; + +import com.klp.domain.vo.WmsJournalVo; +import com.klp.domain.bo.WmsJournalBo; +import com.klp.common.core.page.TableDataInfo; +import com.klp.common.core.domain.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 资金日记账Service接口 + * + * @author klp + * @date 2025-08-13 + */ +public interface IWmsJournalService { + + /** + * 查询资金日记账 + */ + WmsJournalVo queryById(Long journalId); + + /** + * 查询资金日记账列表 + */ + TableDataInfo queryPageList(WmsJournalBo bo, PageQuery pageQuery); + + /** + * 查询资金日记账列表 + */ + List queryList(WmsJournalBo bo); + + /** + * 新增资金日记账 + */ + Boolean insertByBo(WmsJournalBo bo); + + /** + * 修改资金日记账 + */ + Boolean updateByBo(WmsJournalBo bo); + + /** + * 校验并批量删除资金日记账信息 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsJournalServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsJournalServiceImpl.java new file mode 100644 index 00000000..96d28cb3 --- /dev/null +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsJournalServiceImpl.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.WmsJournalBo; +import com.klp.domain.vo.WmsJournalVo; +import com.klp.domain.WmsJournal; +import com.klp.mapper.WmsJournalMapper; +import com.klp.service.IWmsJournalService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 资金日记账Service业务层处理 + * + * @author klp + * @date 2025-08-13 + */ +@RequiredArgsConstructor +@Service +public class WmsJournalServiceImpl implements IWmsJournalService { + + private final WmsJournalMapper baseMapper; + + /** + * 查询资金日记账 + */ + @Override + public WmsJournalVo queryById(Long journalId){ + return baseMapper.selectVoById(journalId); + } + + /** + * 查询资金日记账列表 + */ + @Override + public TableDataInfo queryPageList(WmsJournalBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询资金日记账列表 + */ + @Override + public List queryList(WmsJournalBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(WmsJournalBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getJournalDate() != null, WmsJournal::getJournalDate, bo.getJournalDate()); + lqw.eq(StringUtils.isNotBlank(bo.getSummary()), WmsJournal::getSummary, bo.getSummary()); + lqw.eq(StringUtils.isNotBlank(bo.getTransType()), WmsJournal::getTransType, bo.getTransType()); + lqw.eq(StringUtils.isNotBlank(bo.getCounterpart()), WmsJournal::getCounterpart, bo.getCounterpart()); + lqw.eq(bo.getIncomeAmount() != null, WmsJournal::getIncomeAmount, bo.getIncomeAmount()); + lqw.eq(bo.getExpenseAmount() != null, WmsJournal::getExpenseAmount, bo.getExpenseAmount()); + lqw.eq(bo.getBalanceAmount() != null, WmsJournal::getBalanceAmount, bo.getBalanceAmount()); + return lqw; + } + + /** + * 新增资金日记账 + */ + @Override + public Boolean insertByBo(WmsJournalBo bo) { + WmsJournal add = BeanUtil.toBean(bo, WmsJournal.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setJournalId(add.getJournalId()); + } + return flag; + } + + /** + * 修改资金日记账 + */ + @Override + public Boolean updateByBo(WmsJournalBo bo) { + WmsJournal update = BeanUtil.toBean(bo, WmsJournal.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(WmsJournal 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/WmsJournalMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsJournalMapper.xml new file mode 100644 index 00000000..49bef9dc --- /dev/null +++ b/klp-wms/src/main/resources/mapper/klp/WmsJournalMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + From 936f85d401575520772bacdafca524d32a8ec567 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Wed, 13 Aug 2025 13:19:37 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E2=9C=A8=20feat:=20=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- klp-ui/src/api/finance/account.js | 44 +++ klp-ui/src/api/finance/financialDocument.js | 44 +++ klp-ui/src/api/finance/jouneryEntry.js | 44 +++ klp-ui/src/api/finance/journal.js | 44 +++ klp-ui/src/api/finance/payable.js | 44 +++ klp-ui/src/api/finance/receivable.js | 44 +++ .../KLPService/VendorSelect/index.vue | 51 +++ klp-ui/src/views/finance/account/index.vue | 323 +++++++++++++++ .../finance/document/components/detail.vue | 373 ++++++++++++++++++ klp-ui/src/views/finance/document/index.vue | 312 +++++++++++++++ klp-ui/src/views/finance/jounery/index.vue | 353 +++++++++++++++++ klp-ui/src/views/finance/order/index.vue | 0 klp-ui/src/views/finance/pay/index.vue | 320 +++++++++++++++ klp-ui/src/views/finance/receive/index.vue | 320 +++++++++++++++ klp-ui/src/views/wms/order/index.vue | 16 + klp-ui/src/views/wms/order/pre.vue | 16 + .../views/wms/purchasePlan/panels/detail.vue | 30 +- 17 files changed, 2352 insertions(+), 26 deletions(-) create mode 100644 klp-ui/src/api/finance/account.js create mode 100644 klp-ui/src/api/finance/financialDocument.js create mode 100644 klp-ui/src/api/finance/jouneryEntry.js create mode 100644 klp-ui/src/api/finance/journal.js create mode 100644 klp-ui/src/api/finance/payable.js create mode 100644 klp-ui/src/api/finance/receivable.js create mode 100644 klp-ui/src/components/KLPService/VendorSelect/index.vue create mode 100644 klp-ui/src/views/finance/account/index.vue create mode 100644 klp-ui/src/views/finance/document/components/detail.vue create mode 100644 klp-ui/src/views/finance/document/index.vue create mode 100644 klp-ui/src/views/finance/jounery/index.vue create mode 100644 klp-ui/src/views/finance/order/index.vue create mode 100644 klp-ui/src/views/finance/pay/index.vue create mode 100644 klp-ui/src/views/finance/receive/index.vue diff --git a/klp-ui/src/api/finance/account.js b/klp-ui/src/api/finance/account.js new file mode 100644 index 00000000..7c36349b --- /dev/null +++ b/klp-ui/src/api/finance/account.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询会计科目列表 +export function listAccount(query) { + return request({ + url: '/klp/account/list', + method: 'get', + params: query + }) +} + +// 查询会计科目详细 +export function getAccount(accountId) { + return request({ + url: '/klp/account/' + accountId, + method: 'get' + }) +} + +// 新增会计科目 +export function addAccount(data) { + return request({ + url: '/klp/account', + method: 'post', + data: data + }) +} + +// 修改会计科目 +export function updateAccount(data) { + return request({ + url: '/klp/account', + method: 'put', + data: data + }) +} + +// 删除会计科目 +export function delAccount(accountId) { + return request({ + url: '/klp/account/' + accountId, + method: 'delete' + }) +} diff --git a/klp-ui/src/api/finance/financialDocument.js b/klp-ui/src/api/finance/financialDocument.js new file mode 100644 index 00000000..267c87d1 --- /dev/null +++ b/klp-ui/src/api/finance/financialDocument.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询财务单据列表 +export function listFinancialDocument(query) { + return request({ + url: '/klp/financialDocument/list', + method: 'get', + params: query + }) +} + +// 查询财务单据详细 +export function getFinancialDocument(documentId) { + return request({ + url: '/klp/financialDocument/' + documentId, + method: 'get' + }) +} + +// 新增财务单据 +export function addFinancialDocument(data) { + return request({ + url: '/klp/financialDocument', + method: 'post', + data: data + }) +} + +// 修改财务单据 +export function updateFinancialDocument(data) { + return request({ + url: '/klp/financialDocument', + method: 'put', + data: data + }) +} + +// 删除财务单据 +export function delFinancialDocument(documentId) { + return request({ + url: '/klp/financialDocument/' + documentId, + method: 'delete' + }) +} diff --git a/klp-ui/src/api/finance/jouneryEntry.js b/klp-ui/src/api/finance/jouneryEntry.js new file mode 100644 index 00000000..835b9089 --- /dev/null +++ b/klp-ui/src/api/finance/jouneryEntry.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询日记账凭证(宽松版)列表 +export function listJournalEntry(query) { + return request({ + url: '/klp/journalEntry/list', + method: 'get', + params: query + }) +} + +// 查询日记账凭证(宽松版)详细 +export function getJournalEntry(entryId) { + return request({ + url: '/klp/journalEntry/' + entryId, + method: 'get' + }) +} + +// 新增日记账凭证(宽松版) +export function addJournalEntry(data) { + return request({ + url: '/klp/journalEntry', + method: 'post', + data: data + }) +} + +// 修改日记账凭证(宽松版) +export function updateJournalEntry(data) { + return request({ + url: '/klp/journalEntry', + method: 'put', + data: data + }) +} + +// 删除日记账凭证(宽松版) +export function delJournalEntry(entryId) { + return request({ + url: '/klp/journalEntry/' + entryId, + method: 'delete' + }) +} diff --git a/klp-ui/src/api/finance/journal.js b/klp-ui/src/api/finance/journal.js new file mode 100644 index 00000000..db7137a4 --- /dev/null +++ b/klp-ui/src/api/finance/journal.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询资金日记账列表 +export function listJournal(query) { + return request({ + url: '/klp/journal/list', + method: 'get', + params: query + }) +} + +// 查询资金日记账详细 +export function getJournal(journalId) { + return request({ + url: '/klp/journal/' + journalId, + method: 'get' + }) +} + +// 新增资金日记账 +export function addJournal(data) { + return request({ + url: '/klp/journal', + method: 'post', + data: data + }) +} + +// 修改资金日记账 +export function updateJournal(data) { + return request({ + url: '/klp/journal', + method: 'put', + data: data + }) +} + +// 删除资金日记账 +export function delJournal(journalId) { + return request({ + url: '/klp/journal/' + journalId, + method: 'delete' + }) +} diff --git a/klp-ui/src/api/finance/payable.js b/klp-ui/src/api/finance/payable.js new file mode 100644 index 00000000..5a022081 --- /dev/null +++ b/klp-ui/src/api/finance/payable.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询应付款管理(宽松版)列表 +export function listPayable(query) { + return request({ + url: '/klp/payable/list', + method: 'get', + params: query + }) +} + +// 查询应付款管理(宽松版)详细 +export function getPayable(payableId) { + return request({ + url: '/klp/payable/' + payableId, + method: 'get' + }) +} + +// 新增应付款管理(宽松版) +export function addPayable(data) { + return request({ + url: '/klp/payable', + method: 'post', + data: data + }) +} + +// 修改应付款管理(宽松版) +export function updatePayable(data) { + return request({ + url: '/klp/payable', + method: 'put', + data: data + }) +} + +// 删除应付款管理(宽松版) +export function delPayable(payableId) { + return request({ + url: '/klp/payable/' + payableId, + method: 'delete' + }) +} diff --git a/klp-ui/src/api/finance/receivable.js b/klp-ui/src/api/finance/receivable.js new file mode 100644 index 00000000..b112ce60 --- /dev/null +++ b/klp-ui/src/api/finance/receivable.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询应收款管理(宽松版)列表 +export function listReceivable(query) { + return request({ + url: '/klp/receivable/list', + method: 'get', + params: query + }) +} + +// 查询应收款管理(宽松版)详细 +export function getReceivable(receivableId) { + return request({ + url: '/klp/receivable/' + receivableId, + method: 'get' + }) +} + +// 新增应收款管理(宽松版) +export function addReceivable(data) { + return request({ + url: '/klp/receivable', + method: 'post', + data: data + }) +} + +// 修改应收款管理(宽松版) +export function updateReceivable(data) { + return request({ + url: '/klp/receivable', + method: 'put', + data: data + }) +} + +// 删除应收款管理(宽松版) +export function delReceivable(receivableId) { + return request({ + url: '/klp/receivable/' + receivableId, + method: 'delete' + }) +} diff --git a/klp-ui/src/components/KLPService/VendorSelect/index.vue b/klp-ui/src/components/KLPService/VendorSelect/index.vue new file mode 100644 index 00000000..f7fda7cd --- /dev/null +++ b/klp-ui/src/components/KLPService/VendorSelect/index.vue @@ -0,0 +1,51 @@ + + + \ No newline at end of file diff --git a/klp-ui/src/views/finance/account/index.vue b/klp-ui/src/views/finance/account/index.vue new file mode 100644 index 00000000..9feebabd --- /dev/null +++ b/klp-ui/src/views/finance/account/index.vue @@ -0,0 +1,323 @@ + + + diff --git a/klp-ui/src/views/finance/document/components/detail.vue b/klp-ui/src/views/finance/document/components/detail.vue new file mode 100644 index 00000000..199c6f93 --- /dev/null +++ b/klp-ui/src/views/finance/document/components/detail.vue @@ -0,0 +1,373 @@ + + + diff --git a/klp-ui/src/views/finance/document/index.vue b/klp-ui/src/views/finance/document/index.vue new file mode 100644 index 00000000..3da5c6f5 --- /dev/null +++ b/klp-ui/src/views/finance/document/index.vue @@ -0,0 +1,312 @@ + + + diff --git a/klp-ui/src/views/finance/jounery/index.vue b/klp-ui/src/views/finance/jounery/index.vue new file mode 100644 index 00000000..6283cf30 --- /dev/null +++ b/klp-ui/src/views/finance/jounery/index.vue @@ -0,0 +1,353 @@ + + + diff --git a/klp-ui/src/views/finance/order/index.vue b/klp-ui/src/views/finance/order/index.vue new file mode 100644 index 00000000..e69de29b diff --git a/klp-ui/src/views/finance/pay/index.vue b/klp-ui/src/views/finance/pay/index.vue new file mode 100644 index 00000000..cbd615a2 --- /dev/null +++ b/klp-ui/src/views/finance/pay/index.vue @@ -0,0 +1,320 @@ + + + diff --git a/klp-ui/src/views/finance/receive/index.vue b/klp-ui/src/views/finance/receive/index.vue new file mode 100644 index 00000000..37dad466 --- /dev/null +++ b/klp-ui/src/views/finance/receive/index.vue @@ -0,0 +1,320 @@ + + + diff --git a/klp-ui/src/views/wms/order/index.vue b/klp-ui/src/views/wms/order/index.vue index 7a744e6d..817e7faf 100644 --- a/klp-ui/src/views/wms/order/index.vue +++ b/klp-ui/src/views/wms/order/index.vue @@ -120,6 +120,12 @@ icon="el-icon-document" @click="showDetail(scope.row)" >明细 + 复制订单ID - - - + @@ -208,6 +206,7 @@ import UserSelect from '@/components/KLPService/UserSelect' import { RawMaterialInfo } from '@/components/KLPService'; import BomInfoMini from '@/components/KLPService/Renderer/BomInfoMini.vue'; import QualityCerticate from './qualityCerticate.vue' +import VendorSelect from '@/components/KLPService/VendorSelect/index.vue'; export default { name: "PurchasePlanDetail", @@ -217,7 +216,8 @@ export default { UserSelect, RawMaterialInfo, BomInfoMini, - QualityCerticate + QualityCerticate, + VendorSelect }, props: { planId: { @@ -299,10 +299,7 @@ export default { }, created() { this.getList(); - this.remoteSearchVendor(''); this.remoteSearchContract(''); - // this.getVendorList(); - // this.getContractList(); }, watch: { planId: { @@ -316,15 +313,6 @@ export default { } }, methods: { - // 默认执行一次 - remoteSearchVendor(query) { - this.vendorLoading = true; - listSupplier({ name: query, pageNum: 1, pageSize: 10 }).then(response => { - this.vendorList = response.rows; - }).finally(() => { - this.vendorLoading = false; - }); - }, remoteSearchContract(query) { this.contractLoading = true; listContract({ contractNo: query, pageNum: 1, pageSize: 10 }).then(response => { @@ -333,16 +321,6 @@ export default { this.contractLoading = false; }); }, - // getVendorList() { - // listSupplier().then(response => { - // this.vendorList = response.rows; - // }); - // }, - // getContractList() { - // listContract({ type: 'purchase' }).then(response => { - // this.contractList = response.rows; - // }); - // }, /** 查询采购计划明细列表 */ getList() { this.loading = true; From f3089f94176b4d4c2f760ebec9a3223e90a0b5a3 Mon Sep 17 00:00:00 2001 From: JR <3573153686@qq.com> Date: Wed, 13 Aug 2025 13:26:12 +0800 Subject: [PATCH 4/5] =?UTF-8?q?feat(wms):=20=E4=BC=98=E5=8C=96=E5=BA=94?= =?UTF-8?q?=E6=94=B6=E6=AC=BE=E5=92=8C=E5=BA=94=E4=BB=98=E6=AC=BE=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 selectVoPagePlus 方法以支持自定义 SQL 查询 -重构 queryPageList 方法,使用新的查询方式 - 添加供应商名称和客户名称字段到相应的 VO 类- 更新 XML 文件以包含新的查询 SQL --- .../java/com/klp/domain/vo/WmsPayableVo.java | 6 ++++- .../com/klp/domain/vo/WmsReceivableVo.java | 6 ++++- .../java/com/klp/mapper/WmsPayableMapper.java | 4 ++++ .../com/klp/mapper/WmsReceivableMapper.java | 4 ++++ .../service/impl/WmsPayableServiceImpl.java | 24 ++++++++++++++----- .../impl/WmsReceivableServiceImpl.java | 18 ++++++++++++-- .../resources/mapper/klp/WmsPayableMapper.xml | 20 ++++++++++++++++ .../mapper/klp/WmsReceivableMapper.xml | 21 ++++++++++++++++ 8 files changed, 93 insertions(+), 10 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsPayableVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsPayableVo.java index e8c7703e..94ebc751 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsPayableVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsPayableVo.java @@ -80,5 +80,9 @@ public class WmsPayableVo { @ExcelProperty(value = "备注") private String remark; - + /** + * 供应商名称 + */ + @ExcelProperty(value = "供应商名称") + private String supplierName; } diff --git a/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivableVo.java b/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivableVo.java index 6c46da5c..c6665b7b 100644 --- a/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivableVo.java +++ b/klp-wms/src/main/java/com/klp/domain/vo/WmsReceivableVo.java @@ -80,5 +80,9 @@ public class WmsReceivableVo { @ExcelProperty(value = "备注") private String remark; - + /** + * 客户名称 + */ + @ExcelProperty(value = "客户名称") + private String customerName; } diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsPayableMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsPayableMapper.java index 178250ed..b7dd2926 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsPayableMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsPayableMapper.java @@ -1,8 +1,11 @@ package com.klp.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.klp.domain.WmsPayable; import com.klp.domain.vo.WmsPayableVo; import com.klp.common.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Param; /** * 应付款管理(宽松版)Mapper接口 @@ -12,4 +15,5 @@ import com.klp.common.core.mapper.BaseMapperPlus; */ public interface WmsPayableMapper extends BaseMapperPlus { + Page selectVoPagePlus(Page build, @Param("ew") QueryWrapper lqw); } diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsReceivableMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsReceivableMapper.java index fec2e241..45b37f6e 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsReceivableMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsReceivableMapper.java @@ -1,8 +1,11 @@ package com.klp.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.klp.domain.WmsReceivable; import com.klp.domain.vo.WmsReceivableVo; import com.klp.common.core.mapper.BaseMapperPlus; +import org.apache.ibatis.annotations.Param; /** * 应收款管理(宽松版)Mapper接口 @@ -12,4 +15,5 @@ import com.klp.common.core.mapper.BaseMapperPlus; */ public interface WmsReceivableMapper extends BaseMapperPlus { + Page selectVoPagePlus(Page build, @Param("ew") QueryWrapper lqw); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsPayableServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsPayableServiceImpl.java index 617ed96c..a48db454 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsPayableServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsPayableServiceImpl.java @@ -1,6 +1,7 @@ package com.klp.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -16,7 +17,6 @@ import com.klp.mapper.WmsPayableMapper; import com.klp.service.IWmsPayableService; import java.util.List; -import java.util.Map; import java.util.Collection; /** @@ -44,11 +44,24 @@ public class WmsPayableServiceImpl implements IWmsPayableService { */ @Override public TableDataInfo queryPageList(WmsPayableBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + QueryWrapper lqw = buildQueryWrapperPlus(bo); + Page result = baseMapper.selectVoPagePlus(pageQuery.build(), lqw); return TableDataInfo.build(result); } + private QueryWrapper buildQueryWrapperPlus(WmsPayableBo bo) { + QueryWrapper lqw = Wrappers.query(); + lqw.eq("p.del_flag", 0); + lqw.eq(bo.getSupplierId() != null, "p.supplier_id", bo.getSupplierId()); + lqw.eq(bo.getOrderId() != null, "p.order_id", bo.getOrderId()); + lqw.eq(bo.getDueDate() != null, "p.due_date", bo.getDueDate()); + lqw.eq(bo.getAmount() != null, "p.amount", bo.getAmount()); + lqw.eq(bo.getPaidAmount() != null, "p.paid_amount", bo.getPaidAmount()); + lqw.eq(bo.getBalanceAmount() != null, "p.balance_amount", bo.getBalanceAmount()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), "p.status", bo.getStatus()); + return lqw; + } + /** * 查询应付款管理(宽松版)列表 */ @@ -59,14 +72,13 @@ public class WmsPayableServiceImpl implements IWmsPayableService { } private LambdaQueryWrapper buildQueryWrapper(WmsPayableBo bo) { - Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); - lqw.eq(bo.getSupplierId() != null, WmsPayable::getSupplierId, bo.getSupplierId()); lqw.eq(bo.getOrderId() != null, WmsPayable::getOrderId, bo.getOrderId()); lqw.eq(bo.getDueDate() != null, WmsPayable::getDueDate, bo.getDueDate()); + lqw.eq(bo.getSupplierId() != null, WmsPayable::getSupplierId, bo.getSupplierId()); lqw.eq(bo.getAmount() != null, WmsPayable::getAmount, bo.getAmount()); - lqw.eq(bo.getPaidAmount() != null, WmsPayable::getPaidAmount, bo.getPaidAmount()); lqw.eq(bo.getBalanceAmount() != null, WmsPayable::getBalanceAmount, bo.getBalanceAmount()); + lqw.eq(bo.getPaidAmount() != null, WmsPayable::getPaidAmount, bo.getPaidAmount()); lqw.eq(StringUtils.isNotBlank(bo.getStatus()), WmsPayable::getStatus, bo.getStatus()); return lqw; } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsReceivableServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsReceivableServiceImpl.java index 52881851..578ed374 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsReceivableServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsReceivableServiceImpl.java @@ -1,6 +1,7 @@ package com.klp.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.klp.common.core.page.TableDataInfo; import com.klp.common.core.domain.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -44,11 +45,24 @@ public class WmsReceivableServiceImpl implements IWmsReceivableService { */ @Override public TableDataInfo queryPageList(WmsReceivableBo bo, PageQuery pageQuery) { - LambdaQueryWrapper lqw = buildQueryWrapper(bo); - Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + QueryWrapper lqw = buildQueryWrapperPlus(bo); + Page result = baseMapper.selectVoPagePlus(pageQuery.build(), lqw); return TableDataInfo.build(result); } + private QueryWrapper buildQueryWrapperPlus(WmsReceivableBo bo) { + QueryWrapper lqw = Wrappers.query(); + lqw.eq("r.del_flag", 0); + lqw.eq(bo.getCustomerId() != null, "r.customer_id", bo.getCustomerId()); + lqw.eq(bo.getOrderId() != null, "r.order_id", bo.getOrderId()); + lqw.eq(bo.getDueDate() != null, "r.due_date", bo.getDueDate()); + lqw.eq(bo.getAmount() != null, "r.amount", bo.getAmount()); + lqw.eq(bo.getPaidAmount() != null, "r.paid_amount", bo.getPaidAmount()); + lqw.eq(bo.getBalanceAmount() != null, "r.balance_amount", bo.getBalanceAmount()); + lqw.eq(StringUtils.isNotBlank(bo.getStatus()), "r.status", bo.getStatus()); + return lqw; + } + /** * 查询应收款管理(宽松版)列表 */ diff --git a/klp-wms/src/main/resources/mapper/klp/WmsPayableMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsPayableMapper.xml index acc31481..346e276c 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsPayableMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsPayableMapper.xml @@ -20,6 +20,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/klp-wms/src/main/resources/mapper/klp/WmsReceivableMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsReceivableMapper.xml index 842b1bc7..148a18bc 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsReceivableMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsReceivableMapper.xml @@ -21,5 +21,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + From c12e97bd1f404b15d6cf19c8aa6584f1b3dcffbb Mon Sep 17 00:00:00 2001 From: JR <3573153686@qq.com> Date: Wed, 13 Aug 2025 13:46:37 +0800 Subject: [PATCH 5/5] =?UTF-8?q?feat(wms):=20=E6=96=B0=E5=A2=9E=E8=B5=84?= =?UTF-8?q?=E9=87=91=E6=97=A5=E8=AE=B0=E8=B4=A6=E4=BD=99=E9=A2=9D=E8=AE=A1?= =?UTF-8?q?=E7=AE=97=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 WmsJournalMapper 中添加 getLastBalance 方法,用于获取最新的余额 - 在 WmsJournalServiceImpl 中实现插入资金日记账时自动计算新余额的功能 - 新增 addJournal 方法,直接插入资金日记账记录 --- .../java/com/klp/mapper/WmsJournalMapper.java | 3 +++ .../service/impl/WmsJournalServiceImpl.java | 25 ++++++++++++++++--- .../resources/mapper/klp/WmsJournalMapper.xml | 7 ++++++ 3 files changed, 31 insertions(+), 4 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/mapper/WmsJournalMapper.java b/klp-wms/src/main/java/com/klp/mapper/WmsJournalMapper.java index 49188686..87e9709d 100644 --- a/klp-wms/src/main/java/com/klp/mapper/WmsJournalMapper.java +++ b/klp-wms/src/main/java/com/klp/mapper/WmsJournalMapper.java @@ -4,6 +4,8 @@ import com.klp.domain.WmsJournal; import com.klp.domain.vo.WmsJournalVo; import com.klp.common.core.mapper.BaseMapperPlus; +import java.math.BigDecimal; + /** * 资金日记账Mapper接口 * @@ -12,4 +14,5 @@ import com.klp.common.core.mapper.BaseMapperPlus; */ public interface WmsJournalMapper extends BaseMapperPlus { + BigDecimal getLastBalance(); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsJournalServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsJournalServiceImpl.java index 96d28cb3..0b5b2431 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsJournalServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsJournalServiceImpl.java @@ -15,9 +15,11 @@ import com.klp.domain.WmsJournal; import com.klp.mapper.WmsJournalMapper; import com.klp.service.IWmsJournalService; +import java.math.BigDecimal; import java.util.List; import java.util.Map; import java.util.Collection; +import java.util.Optional; /** * 资金日记账Service业务层处理 @@ -76,15 +78,30 @@ public class WmsJournalServiceImpl implements IWmsJournalService { */ @Override public Boolean insertByBo(WmsJournalBo bo) { - WmsJournal add = BeanUtil.toBean(bo, WmsJournal.class); - validEntityBeforeSave(add); - boolean flag = baseMapper.insert(add) > 0; + WmsJournal journal = BeanUtil.toBean(bo, WmsJournal.class); + validEntityBeforeSave(journal); + // 计算新的余额 + BigDecimal lastBalance = baseMapper.getLastBalance(); + if (lastBalance == null) { + lastBalance = BigDecimal.ZERO; + } + BigDecimal newBalance = lastBalance + .add(Optional.ofNullable(journal.getIncomeAmount()).orElse(BigDecimal.ZERO)) + .subtract(Optional.ofNullable(journal.getExpenseAmount()).orElse(BigDecimal.ZERO)); + + journal.setBalanceAmount(newBalance); + boolean flag = baseMapper.insert(journal) > 0; if (flag) { - bo.setJournalId(add.getJournalId()); + bo.setJournalId(journal.getJournalId()); } return flag; } + public void addJournal(WmsJournal journal) { + + baseMapper.insert(journal); + } + /** * 修改资金日记账 */ diff --git a/klp-wms/src/main/resources/mapper/klp/WmsJournalMapper.xml b/klp-wms/src/main/resources/mapper/klp/WmsJournalMapper.xml index 49bef9dc..d8477e5b 100644 --- a/klp-wms/src/main/resources/mapper/klp/WmsJournalMapper.xml +++ b/klp-wms/src/main/resources/mapper/klp/WmsJournalMapper.xml @@ -20,6 +20,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +