From 59a02d641539901383fa4c2de118e1d7efa33e60 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 19 一月 2026 17:50:04 +0800
Subject: [PATCH] 资金管理+财务对账
---
src/main/java/com/ruoyi/account/mapper/AccountMapper.java | 19 ++
src/main/java/com/ruoyi/account/pojo/AccountReconciliation.java | 88 +++++++++++
src/main/java/com/ruoyi/account/service/impl/AccountReconciliationServiceImpl.java | 21 ++
src/main/java/com/ruoyi/account/service/impl/AccountServiceImpl.java | 36 ++++
src/main/java/com/ruoyi/account/service/AccountReconciliationService.java | 10 +
src/main/java/com/ruoyi/account/mapper/AccountReconciliationMapper.java | 11 +
src/main/java/com/ruoyi/account/controller/AccountReconciliationController.java | 79 +++++++++
src/main/java/com/ruoyi/account/service/AccountService.java | 16 ++
src/main/java/com/ruoyi/account/controller/AccountController.java | 83 ++++++++++
src/main/java/com/ruoyi/account/pojo/Account.java | 94 +++++++++++
10 files changed, 457 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/account/controller/AccountController.java b/src/main/java/com/ruoyi/account/controller/AccountController.java
new file mode 100644
index 0000000..50f1b60
--- /dev/null
+++ b/src/main/java/com/ruoyi/account/controller/AccountController.java
@@ -0,0 +1,83 @@
+package com.ruoyi.account.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.account.pojo.Account;
+import com.ruoyi.account.pojo.AccountIncome;
+import com.ruoyi.account.service.AccountIncomeService;
+import com.ruoyi.account.service.AccountService;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.framework.security.LoginUser;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 璐㈠姟绠$悊--璧勯噾绠$悊
+ */
+@RestController
+@RequestMapping("/finance/funds")
+@Api(tags = "璐㈠姟绠$悊--璧勯噾绠$悊")
+public class AccountController {
+
+ @Resource
+ private AccountService accountService;
+
+
+ /**
+ * 鏂板
+ * @param account
+ * @return
+ */
+ @PostMapping()
+ @ApiOperation("鏂板")
+ public AjaxResult add(@RequestBody Account account) {
+ return AjaxResult.success(accountService.save(account));
+ }
+
+ /**
+ * 鍒犻櫎
+ * @param ids
+ * @return
+ */
+ @DeleteMapping()
+ @ApiOperation("鍒犻櫎")
+ public AjaxResult delQualityInspect(@RequestBody List<Integer> ids) {
+ if(CollectionUtils.isEmpty(ids)){
+ return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+ }
+ //鍒犻櫎妫�楠屽崟
+ return AjaxResult.success(accountService.removeBatchByIds(ids));
+ }
+
+ /**
+ * 淇敼
+ * @param account
+ * @return
+ */
+ @PutMapping()
+ @ApiOperation("淇敼")
+ public AjaxResult update(@RequestBody Account account) {
+ return AjaxResult.success(accountService.updateById(account));
+ }
+
+ /**
+ *鍒嗛〉鏌ヨ
+ * @param page
+ * @return
+ */
+ @GetMapping("/page")
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ public AjaxResult accountListPage(Page page) {
+ return AjaxResult.success(accountService.page(page));
+ }
+
+
+
+}
diff --git a/src/main/java/com/ruoyi/account/controller/AccountReconciliationController.java b/src/main/java/com/ruoyi/account/controller/AccountReconciliationController.java
new file mode 100644
index 0000000..77ceec9
--- /dev/null
+++ b/src/main/java/com/ruoyi/account/controller/AccountReconciliationController.java
@@ -0,0 +1,79 @@
+package com.ruoyi.account.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.account.pojo.Account;
+import com.ruoyi.account.pojo.AccountReconciliation;
+import com.ruoyi.account.service.AccountReconciliationService;
+import com.ruoyi.account.service.AccountService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 璐㈠姟绠$悊--璐㈠姟瀵硅处
+ */
+@RestController
+@RequestMapping("/finance/reconciliation")
+@Api(tags = "璐㈠姟绠$悊--璐㈠姟瀵硅处")
+public class AccountReconciliationController {
+
+ @Resource
+ private AccountReconciliationService accountReconciliationService;
+
+
+ /**
+ * 鏂板
+ * @param accountReconciliation
+ * @return
+ */
+ @PostMapping()
+ @ApiOperation("鏂板")
+ public AjaxResult add(@RequestBody AccountReconciliation accountReconciliation) {
+ return AjaxResult.success(accountReconciliationService.save(accountReconciliation));
+ }
+
+ /**
+ * 鍒犻櫎
+ * @param ids
+ * @return
+ */
+ @DeleteMapping()
+ @ApiOperation("鍒犻櫎")
+ public AjaxResult delQualityInspect(@RequestBody List<Integer> ids) {
+ if(CollectionUtils.isEmpty(ids)){
+ return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+ }
+ //鍒犻櫎妫�楠屽崟
+ return AjaxResult.success(accountReconciliationService.removeBatchByIds(ids));
+ }
+
+ /**
+ * 淇敼
+ * @param accountReconciliation
+ * @return
+ */
+ @PutMapping()
+ @ApiOperation("淇敼")
+ public AjaxResult update(@RequestBody AccountReconciliation accountReconciliation) {
+ return AjaxResult.success(accountReconciliationService.updateById(accountReconciliation));
+ }
+
+ /**
+ *鍒嗛〉鏌ヨ
+ * @param page
+ * @return
+ */
+ @GetMapping("/page")
+ @ApiOperation("鍒嗛〉鏌ヨ")
+ public AjaxResult accountListPage(Page page) {
+ return AjaxResult.success(accountReconciliationService.page(page));
+ }
+
+
+
+}
diff --git a/src/main/java/com/ruoyi/account/mapper/AccountMapper.java b/src/main/java/com/ruoyi/account/mapper/AccountMapper.java
new file mode 100644
index 0000000..63a5f7c
--- /dev/null
+++ b/src/main/java/com/ruoyi/account/mapper/AccountMapper.java
@@ -0,0 +1,19 @@
+package com.ruoyi.account.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.account.dto.AccountDto2;
+import com.ruoyi.account.pojo.Account;
+import com.ruoyi.account.pojo.AccountIncome;
+import com.ruoyi.dto.DateQueryDto;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+@Mapper
+public interface AccountMapper extends BaseMapper<Account> {
+
+}
diff --git a/src/main/java/com/ruoyi/account/mapper/AccountReconciliationMapper.java b/src/main/java/com/ruoyi/account/mapper/AccountReconciliationMapper.java
new file mode 100644
index 0000000..18fbf2c
--- /dev/null
+++ b/src/main/java/com/ruoyi/account/mapper/AccountReconciliationMapper.java
@@ -0,0 +1,11 @@
+package com.ruoyi.account.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.account.pojo.Account;
+import com.ruoyi.account.pojo.AccountReconciliation;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface AccountReconciliationMapper extends BaseMapper<AccountReconciliation> {
+
+}
diff --git a/src/main/java/com/ruoyi/account/pojo/Account.java b/src/main/java/com/ruoyi/account/pojo/Account.java
new file mode 100644
index 0000000..77c4336
--- /dev/null
+++ b/src/main/java/com/ruoyi/account/pojo/Account.java
@@ -0,0 +1,94 @@
+package com.ruoyi.account.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.dto.DateQueryDto;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * 璐㈠姟绠$悊--璧勯噾绠$悊
+ * account
+ */
+@TableName(value = "account")
+@Data
+public class Account implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 搴忓彿
+ */
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 鏃ユ湡
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date accountDate;
+
+ /**
+ * 绫诲瀷
+ */
+ @Excel(name = "绫诲瀷",readConverterExp = "0=閿�鍞敹鍏�,1=鏈嶅姟鏀跺叆,2=鍏朵粬鏀跺叆")
+ @NotBlank(message = "绫诲瀷涓嶈兘涓虹┖!!")
+ private String typeText;
+
+ /**
+ * 閲戦
+ */
+ @Excel(name = "閲戦")
+ private BigDecimal amount;
+
+ /**
+ * 璐︽埛
+ */
+ @Excel(name = "璐︽埛")
+ private String account;
+
+ /**
+ * 寰�鏉ュ崟浣�
+ */
+ @Excel(name = "寰�鏉ュ崟浣�")
+ private String counterparty;
+
+ /**
+ * 澶囨敞
+ */
+ @Excel(name = "澶囨敞")
+ private String remark;
+
+
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty(value = "绉熸埛ID")
+ @TableField(fill = FieldFill.INSERT)
+ private Long tenantId;
+
+
+}
diff --git a/src/main/java/com/ruoyi/account/pojo/AccountReconciliation.java b/src/main/java/com/ruoyi/account/pojo/AccountReconciliation.java
new file mode 100644
index 0000000..6b87dc3
--- /dev/null
+++ b/src/main/java/com/ruoyi/account/pojo/AccountReconciliation.java
@@ -0,0 +1,88 @@
+package com.ruoyi.account.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * 璐㈠姟绠$悊--璐㈠姟瀵硅处
+ * account
+ */
+@TableName(value = "account_reconciliation")
+@Data
+public class AccountReconciliation implements Serializable {
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 搴忓彿
+ */
+ @TableId(type = IdType.AUTO)
+ private Long id;
+
+ /**
+ * 鏃ユ湡
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "鏃ユ湡", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date accountDate;
+
+ /**
+ * 绫诲瀷
+ */
+ @Excel(name = "绫诲瀷",readConverterExp = "0=閿�鍞敹鍏�,1=鏈嶅姟鏀跺叆,2=鍏朵粬鏀跺叆")
+ @NotBlank(message = "绫诲瀷涓嶈兘涓虹┖!!")
+ private String status;
+
+ /**
+ * 閲戦
+ */
+ @Excel(name = "閲戦")
+ private BigDecimal amount;
+
+
+ /**
+ * 寰�鏉ュ崟浣�
+ */
+ @Excel(name = "寰�鏉ュ崟浣�")
+ private String counterparty;
+
+ /**
+ * 澶囨敞
+ */
+ @Excel(name = "澶囨敞")
+ private String remark;
+
+
+
+ @ApiModelProperty(value = "鍒涘缓鏃堕棿")
+ @TableField(fill = FieldFill.INSERT)
+ private LocalDateTime createTime;
+
+ @ApiModelProperty(value = "鍒涘缓鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT)
+ private Integer createUser;
+
+ @ApiModelProperty(value = "淇敼鏃堕棿")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private LocalDateTime updateTime;
+
+ @ApiModelProperty(value = "淇敼鐢ㄦ埛")
+ @TableField(fill = FieldFill.INSERT_UPDATE)
+ private Integer updateUser;
+
+ @ApiModelProperty(value = "绉熸埛ID")
+ @TableField(fill = FieldFill.INSERT)
+ private Long tenantId;
+
+
+}
diff --git a/src/main/java/com/ruoyi/account/service/AccountReconciliationService.java b/src/main/java/com/ruoyi/account/service/AccountReconciliationService.java
new file mode 100644
index 0000000..f40505b
--- /dev/null
+++ b/src/main/java/com/ruoyi/account/service/AccountReconciliationService.java
@@ -0,0 +1,10 @@
+package com.ruoyi.account.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.account.pojo.Account;
+import com.ruoyi.account.pojo.AccountReconciliation;
+
+public interface AccountReconciliationService extends IService<AccountReconciliation> {
+
+
+}
diff --git a/src/main/java/com/ruoyi/account/service/AccountService.java b/src/main/java/com/ruoyi/account/service/AccountService.java
new file mode 100644
index 0000000..1ce60e6
--- /dev/null
+++ b/src/main/java/com/ruoyi/account/service/AccountService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.account.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.account.dto.AccountDto3;
+import com.ruoyi.account.pojo.Account;
+import com.ruoyi.account.pojo.AccountIncome;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+public interface AccountService extends IService<Account> {
+
+
+}
diff --git a/src/main/java/com/ruoyi/account/service/impl/AccountReconciliationServiceImpl.java b/src/main/java/com/ruoyi/account/service/impl/AccountReconciliationServiceImpl.java
new file mode 100644
index 0000000..3228171
--- /dev/null
+++ b/src/main/java/com/ruoyi/account/service/impl/AccountReconciliationServiceImpl.java
@@ -0,0 +1,21 @@
+package com.ruoyi.account.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.account.mapper.AccountMapper;
+import com.ruoyi.account.mapper.AccountReconciliationMapper;
+import com.ruoyi.account.pojo.Account;
+import com.ruoyi.account.pojo.AccountReconciliation;
+import com.ruoyi.account.service.AccountReconciliationService;
+import com.ruoyi.account.service.AccountService;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@AllArgsConstructor
+@Service
+public class AccountReconciliationServiceImpl extends ServiceImpl<AccountReconciliationMapper, AccountReconciliation> implements AccountReconciliationService {
+
+
+
+
+}
diff --git a/src/main/java/com/ruoyi/account/service/impl/AccountServiceImpl.java b/src/main/java/com/ruoyi/account/service/impl/AccountServiceImpl.java
new file mode 100644
index 0000000..c24f295
--- /dev/null
+++ b/src/main/java/com/ruoyi/account/service/impl/AccountServiceImpl.java
@@ -0,0 +1,36 @@
+package com.ruoyi.account.service.impl;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.account.dto.AccountDto3;
+import com.ruoyi.account.mapper.AccountIncomeMapper;
+import com.ruoyi.account.mapper.AccountMapper;
+import com.ruoyi.account.pojo.Account;
+import com.ruoyi.account.pojo.AccountIncome;
+import com.ruoyi.account.service.AccountIncomeService;
+import com.ruoyi.account.service.AccountService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.dto.DateQueryDto;
+import com.ruoyi.project.system.domain.SysDictData;
+import com.ruoyi.project.system.mapper.SysDictDataMapper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.List;
+
+@AllArgsConstructor
+@Service
+public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> implements AccountService {
+
+
+
+
+}
--
Gitblit v1.9.3