feat(wms): 新增会计科目和财务单据相关功能

- 添加了会计科目、财务单据、日记账凭证等领域的实体类、控制器、服务接口、Mapper接口和XML映射文件
- 实现了基本的CRUD操作,包括查询、新增、修改和删除
- 优化了数据校验和批量删除逻辑
This commit is contained in:
JR
2025-08-13 10:33:03 +08:00
parent eef5db9dc2
commit 13d24f5693
49 changed files with 3053 additions and 1 deletions

View File

@@ -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;

View File

@@ -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<WmsAccountVo>> list(WmsAccountBo bo) {
List<WmsAccountVo> list = iWmsAccountService.queryList(bo);
return R.ok(list);
}
/**
* 导出会计科目列表
*/
@Log(title = "会计科目", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(WmsAccountBo bo, HttpServletResponse response) {
List<WmsAccountVo> list = iWmsAccountService.queryList(bo);
ExcelUtil.exportExcel(list, "会计科目", WmsAccountVo.class, response);
}
/**
* 获取会计科目详细信息
*
* @param accountId 主键
*/
@GetMapping("/{accountId}")
public R<WmsAccountVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long accountId) {
return R.ok(iWmsAccountService.queryById(accountId));
}
/**
* 新增会计科目
*/
@Log(title = "会计科目", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsAccountBo bo) {
return toAjax(iWmsAccountService.insertByBo(bo));
}
/**
* 修改会计科目
*/
@Log(title = "会计科目", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsAccountBo bo) {
return toAjax(iWmsAccountService.updateByBo(bo));
}
/**
* 删除会计科目
*
* @param accountIds 主键串
*/
@Log(title = "会计科目", businessType = BusinessType.DELETE)
@DeleteMapping("/{accountIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] accountIds) {
return toAjax(iWmsAccountService.deleteWithValidByIds(Arrays.asList(accountIds), true));
}
}

View File

@@ -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<WmsFinancialDocumentVo> 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<WmsFinancialDocumentVo> list = iWmsFinancialDocumentService.queryList(bo);
ExcelUtil.exportExcel(list, "财务单据", WmsFinancialDocumentVo.class, response);
}
/**
* 获取财务单据详细信息
*
* @param documentId 主键
*/
@GetMapping("/{documentId}")
public R<WmsFinancialDocumentVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long documentId) {
return R.ok(iWmsFinancialDocumentService.queryById(documentId));
}
/**
* 新增财务单据
*/
@Log(title = "财务单据", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsFinancialDocumentBo bo) {
return toAjax(iWmsFinancialDocumentService.insertByBo(bo));
}
/**
* 修改财务单据
*/
@Log(title = "财务单据", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsFinancialDocumentBo bo) {
return toAjax(iWmsFinancialDocumentService.updateByBo(bo));
}
/**
* 删除财务单据
*
* @param documentIds 主键串
*/
@Log(title = "财务单据", businessType = BusinessType.DELETE)
@DeleteMapping("/{documentIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] documentIds) {
return toAjax(iWmsFinancialDocumentService.deleteWithValidByIds(Arrays.asList(documentIds), true));
}
}

View File

@@ -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<WmsJournalEntryVo> 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<WmsJournalEntryVo> list = iWmsJournalEntryService.queryList(bo);
ExcelUtil.exportExcel(list, "日记账凭证(宽松版)", WmsJournalEntryVo.class, response);
}
/**
* 获取日记账凭证(宽松版)详细信息
*
* @param entryId 主键
*/
@GetMapping("/{entryId}")
public R<WmsJournalEntryVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long entryId) {
return R.ok(iWmsJournalEntryService.queryById(entryId));
}
/**
* 新增日记账凭证(宽松版)
*/
@Log(title = "日记账凭证(宽松版)", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsJournalEntryBo bo) {
return toAjax(iWmsJournalEntryService.insertByBo(bo));
}
/**
* 修改日记账凭证(宽松版)
*/
@Log(title = "日记账凭证(宽松版)", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsJournalEntryBo bo) {
return toAjax(iWmsJournalEntryService.updateByBo(bo));
}
/**
* 删除日记账凭证(宽松版)
*
* @param entryIds 主键串
*/
@Log(title = "日记账凭证(宽松版)", businessType = BusinessType.DELETE)
@DeleteMapping("/{entryIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] entryIds) {
return toAjax(iWmsJournalEntryService.deleteWithValidByIds(Arrays.asList(entryIds), true));
}
}

View File

@@ -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<WmsOrderProfitVo> 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<WmsOrderProfitVo> list = iWmsOrderProfitService.queryList(bo);
ExcelUtil.exportExcel(list, "订单盈亏", WmsOrderProfitVo.class, response);
}
/**
* 获取订单盈亏详细信息
*
* @param profitId 主键
*/
@GetMapping("/{profitId}")
public R<WmsOrderProfitVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long profitId) {
return R.ok(iWmsOrderProfitService.queryById(profitId));
}
/**
* 新增订单盈亏
*/
@Log(title = "订单盈亏", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsOrderProfitBo bo) {
return toAjax(iWmsOrderProfitService.insertByBo(bo));
}
/**
* 修改订单盈亏
*/
@Log(title = "订单盈亏", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsOrderProfitBo bo) {
return toAjax(iWmsOrderProfitService.updateByBo(bo));
}
/**
* 删除订单盈亏
*
* @param profitIds 主键串
*/
@Log(title = "订单盈亏", businessType = BusinessType.DELETE)
@DeleteMapping("/{profitIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] profitIds) {
return toAjax(iWmsOrderProfitService.deleteWithValidByIds(Arrays.asList(profitIds), true));
}
}

View File

@@ -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<WmsPayableVo> 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<WmsPayableVo> list = iWmsPayableService.queryList(bo);
ExcelUtil.exportExcel(list, "应付款管理(宽松版)", WmsPayableVo.class, response);
}
/**
* 获取应付款管理(宽松版)详细信息
*
* @param payableId 主键
*/
@GetMapping("/{payableId}")
public R<WmsPayableVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long payableId) {
return R.ok(iWmsPayableService.queryById(payableId));
}
/**
* 新增应付款管理(宽松版)
*/
@Log(title = "应付款管理(宽松版)", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsPayableBo bo) {
return toAjax(iWmsPayableService.insertByBo(bo));
}
/**
* 修改应付款管理(宽松版)
*/
@Log(title = "应付款管理(宽松版)", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsPayableBo bo) {
return toAjax(iWmsPayableService.updateByBo(bo));
}
/**
* 删除应付款管理(宽松版)
*
* @param payableIds 主键串
*/
@Log(title = "应付款管理(宽松版)", businessType = BusinessType.DELETE)
@DeleteMapping("/{payableIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] payableIds) {
return toAjax(iWmsPayableService.deleteWithValidByIds(Arrays.asList(payableIds), true));
}
}

View File

@@ -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<WmsReceivableVo> 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<WmsReceivableVo> list = iWmsReceivableService.queryList(bo);
ExcelUtil.exportExcel(list, "应收款管理(宽松版)", WmsReceivableVo.class, response);
}
/**
* 获取应收款管理(宽松版)详细信息
*
* @param receivableId 主键
*/
@GetMapping("/{receivableId}")
public R<WmsReceivableVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long receivableId) {
return R.ok(iWmsReceivableService.queryById(receivableId));
}
/**
* 新增应收款管理(宽松版)
*/
@Log(title = "应收款管理(宽松版)", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody WmsReceivableBo bo) {
return toAjax(iWmsReceivableService.insertByBo(bo));
}
/**
* 修改应收款管理(宽松版)
*/
@Log(title = "应收款管理(宽松版)", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WmsReceivableBo bo) {
return toAjax(iWmsReceivableService.updateByBo(bo));
}
/**
* 删除应收款管理(宽松版)
*
* @param receivableIds 主键串
*/
@Log(title = "应收款管理(宽松版)", businessType = BusinessType.DELETE)
@DeleteMapping("/{receivableIds}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] receivableIds) {
return toAjax(iWmsReceivableService.deleteWithValidByIds(Arrays.asList(receivableIds), true));
}
}

View File

@@ -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<WmsAccount> {
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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<WmsAccountBo> {
/**
* 科目ID主键
*/
private Long accountId;
/**
* 科目编码
*/
private String accountCode;
/**
* 科目名称
*/
private String accountName;
/**
* 科目类型
*/
private String accountType;
/**
* 当前余额(可容忍暂时不准确,过账汇总)
*/
private BigDecimal balance;
/**
* 备注
*/
private String remark;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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<WmsAccountMapper, WmsAccount, WmsAccountVo> {
}

View File

@@ -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<WmsFinancialDocumentMapper, WmsFinancialDocument, WmsFinancialDocumentVo> {
}

View File

@@ -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<WmsJournalEntryMapper, WmsJournalEntry, WmsJournalEntryVo> {
}

View File

@@ -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<WmsOrderProfitMapper, WmsOrderProfit, WmsOrderProfitVo> {
}

View File

@@ -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<WmsPayableMapper, WmsPayable, WmsPayableVo> {
}

View File

@@ -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<WmsReceivableMapper, WmsReceivable, WmsReceivableVo> {
}

View File

@@ -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<WmsAccountVo> queryList(WmsAccountBo bo);
/**
* 新增会计科目
*/
Boolean insertByBo(WmsAccountBo bo);
/**
* 修改会计科目
*/
Boolean updateByBo(WmsAccountBo bo);
/**
* 校验并批量删除会计科目信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -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<WmsFinancialDocumentVo> queryPageList(WmsFinancialDocumentBo bo, PageQuery pageQuery);
/**
* 查询财务单据列表
*/
List<WmsFinancialDocumentVo> queryList(WmsFinancialDocumentBo bo);
/**
* 新增财务单据
*/
Boolean insertByBo(WmsFinancialDocumentBo bo);
/**
* 修改财务单据
*/
Boolean updateByBo(WmsFinancialDocumentBo bo);
/**
* 校验并批量删除财务单据信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -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<WmsJournalEntryVo> queryPageList(WmsJournalEntryBo bo, PageQuery pageQuery);
/**
* 查询日记账凭证(宽松版)列表
*/
List<WmsJournalEntryVo> queryList(WmsJournalEntryBo bo);
/**
* 新增日记账凭证(宽松版)
*/
Boolean insertByBo(WmsJournalEntryBo bo);
/**
* 修改日记账凭证(宽松版)
*/
Boolean updateByBo(WmsJournalEntryBo bo);
/**
* 校验并批量删除日记账凭证(宽松版)信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -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<WmsOrderProfitVo> queryPageList(WmsOrderProfitBo bo, PageQuery pageQuery);
/**
* 查询订单盈亏列表
*/
List<WmsOrderProfitVo> queryList(WmsOrderProfitBo bo);
/**
* 新增订单盈亏
*/
Boolean insertByBo(WmsOrderProfitBo bo);
/**
* 修改订单盈亏
*/
Boolean updateByBo(WmsOrderProfitBo bo);
/**
* 校验并批量删除订单盈亏信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -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<WmsPayableVo> queryPageList(WmsPayableBo bo, PageQuery pageQuery);
/**
* 查询应付款管理(宽松版)列表
*/
List<WmsPayableVo> queryList(WmsPayableBo bo);
/**
* 新增应付款管理(宽松版)
*/
Boolean insertByBo(WmsPayableBo bo);
/**
* 修改应付款管理(宽松版)
*/
Boolean updateByBo(WmsPayableBo bo);
/**
* 校验并批量删除应付款管理(宽松版)信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -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<WmsReceivableVo> queryPageList(WmsReceivableBo bo, PageQuery pageQuery);
/**
* 查询应收款管理(宽松版)列表
*/
List<WmsReceivableVo> queryList(WmsReceivableBo bo);
/**
* 新增应收款管理(宽松版)
*/
Boolean insertByBo(WmsReceivableBo bo);
/**
* 修改应收款管理(宽松版)
*/
Boolean updateByBo(WmsReceivableBo bo);
/**
* 校验并批量删除应收款管理(宽松版)信息
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@@ -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<WmsAccountVo> queryList(WmsAccountBo bo) {
LambdaQueryWrapper<WmsAccount> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WmsAccount> buildQueryWrapper(WmsAccountBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsAccount> 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<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -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<WmsFinancialDocumentVo> queryPageList(WmsFinancialDocumentBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsFinancialDocument> lqw = buildQueryWrapper(bo);
Page<WmsFinancialDocumentVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询财务单据列表
*/
@Override
public List<WmsFinancialDocumentVo> queryList(WmsFinancialDocumentBo bo) {
LambdaQueryWrapper<WmsFinancialDocument> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WmsFinancialDocument> buildQueryWrapper(WmsFinancialDocumentBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsFinancialDocument> 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<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -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<WmsJournalEntryVo> queryPageList(WmsJournalEntryBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsJournalEntry> lqw = buildQueryWrapper(bo);
Page<WmsJournalEntryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询日记账凭证(宽松版)列表
*/
@Override
public List<WmsJournalEntryVo> queryList(WmsJournalEntryBo bo) {
LambdaQueryWrapper<WmsJournalEntry> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WmsJournalEntry> buildQueryWrapper(WmsJournalEntryBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsJournalEntry> 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<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -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<WmsOrderProfitVo> queryPageList(WmsOrderProfitBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsOrderProfit> lqw = buildQueryWrapper(bo);
Page<WmsOrderProfitVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询订单盈亏列表
*/
@Override
public List<WmsOrderProfitVo> queryList(WmsOrderProfitBo bo) {
LambdaQueryWrapper<WmsOrderProfit> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WmsOrderProfit> buildQueryWrapper(WmsOrderProfitBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsOrderProfit> 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<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -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<WmsPayableVo> queryPageList(WmsPayableBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsPayable> lqw = buildQueryWrapper(bo);
Page<WmsPayableVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询应付款管理(宽松版)列表
*/
@Override
public List<WmsPayableVo> queryList(WmsPayableBo bo) {
LambdaQueryWrapper<WmsPayable> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WmsPayable> buildQueryWrapper(WmsPayableBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsPayable> 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<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -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<WmsReceivableVo> queryPageList(WmsReceivableBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<WmsReceivable> lqw = buildQueryWrapper(bo);
Page<WmsReceivableVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询应收款管理(宽松版)列表
*/
@Override
public List<WmsReceivableVo> queryList(WmsReceivableBo bo) {
LambdaQueryWrapper<WmsReceivable> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<WmsReceivable> buildQueryWrapper(WmsReceivableBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<WmsReceivable> 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<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteBatchIds(ids) > 0;
}
}

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.mapper.WmsAccountMapper">
<resultMap type="com.klp.domain.WmsAccount" id="WmsAccountResult">
<result property="accountId" column="account_id"/>
<result property="accountCode" column="account_code"/>
<result property="accountName" column="account_name"/>
<result property="accountType" column="account_type"/>
<result property="parentId" column="parent_id"/>
<result property="balance" column="balance"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.mapper.WmsFinancialDocumentMapper">
<resultMap type="com.klp.domain.WmsFinancialDocument" id="WmsFinancialDocumentResult">
<result property="documentId" column="document_id"/>
<result property="docNo" column="doc_no"/>
<result property="docType" column="doc_type"/>
<result property="docDate" column="doc_date"/>
<result property="amount" column="amount"/>
<result property="relatedOrderId" column="related_order_id"/>
<result property="status" column="status"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.mapper.WmsJournalEntryMapper">
<resultMap type="com.klp.domain.WmsJournalEntry" id="WmsJournalEntryResult">
<result property="entryId" column="entry_id"/>
<result property="voucherNo" column="voucher_no"/>
<result property="lineNo" column="line_no"/>
<result property="entryDate" column="entry_date"/>
<result property="accountId" column="account_id"/>
<result property="debitAmount" column="debit_amount"/>
<result property="creditAmount" column="credit_amount"/>
<result property="referenceNo" column="reference_no"/>
<result property="relatedOrderId" column="related_order_id"/>
<result property="status" column="status"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.mapper.WmsOrderProfitMapper">
<resultMap type="com.klp.domain.WmsOrderProfit" id="WmsOrderProfitResult">
<result property="profitId" column="profit_id"/>
<result property="orderId" column="order_id"/>
<result property="costAmount" column="cost_amount"/>
<result property="revenueAmount" column="revenue_amount"/>
<result property="profitAmount" column="profit_amount"/>
<result property="profitRate" column="profit_rate"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.mapper.WmsPayableMapper">
<resultMap type="com.klp.domain.WmsPayable" id="WmsPayableResult">
<result property="payableId" column="payable_id"/>
<result property="supplierId" column="supplier_id"/>
<result property="orderId" column="order_id"/>
<result property="dueDate" column="due_date"/>
<result property="amount" column="amount"/>
<result property="paidAmount" column="paid_amount"/>
<result property="balanceAmount" column="balance_amount"/>
<result property="status" column="status"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.klp.mapper.WmsReceivableMapper">
<resultMap type="com.klp.domain.WmsReceivable" id="WmsReceivableResult">
<result property="receivableId" column="receivable_id"/>
<result property="customerId" column="customer_id"/>
<result property="orderId" column="order_id"/>
<result property="dueDate" column="due_date"/>
<result property="amount" column="amount"/>
<result property="paidAmount" column="paid_amount"/>
<result property="balanceAmount" column="balance_amount"/>
<result property="status" column="status"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
</resultMap>
</mapper>