From a85c6c5aa55c2c6f8de16f024b28426f3a5cc153 Mon Sep 17 00:00:00 2001 From: liuxiaoxu <1793812695@qq.com> Date: Thu, 9 May 2024 10:05:19 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=E8=B4=A2=E5=8A=A1=E7=AE=A1=E7=90=86:=20?= =?UTF-8?q?=E5=BA=94=E6=94=B6=E8=B4=A6=E6=AC=BE=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95=E5=88=9B=E5=BB=BA=E6=94=B6?= =?UTF-8?q?=E6=AC=BE=E5=87=AD=E8=AF=81=E5=8A=9F=E8=83=BD=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E9=94=80=E5=94=AE=E8=AE=A2=E5=8D=95=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E6=94=B6=E6=AC=BE=E5=87=AD=E8=AF=81addReceivablesVoucher.html?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=20=E6=96=B0=E5=A2=9E=E5=BA=94=E6=94=B6?= =?UTF-8?q?=E8=B4=A6=E6=AC=BE=E8=AE=B0=E5=BD=95domain=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=BA=94=E6=94=B6=E8=B4=A6=E6=AC=BE=E8=AE=B0=E5=BD=95controlle?= =?UTF-8?q?r=20=E6=96=B0=E5=A2=9E=E5=BA=94=E6=94=B6=E8=B4=A6=E6=AC=BE?= =?UTF-8?q?=E8=AE=B0=E5=BD=95service=20=E6=96=B0=E5=A2=9E=E5=BA=94?= =?UTF-8?q?=E6=94=B6=E8=B4=A6=E6=AC=BE=E8=AE=B0=E5=BD=95serviceImpl=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BA=94=E6=94=B6=E8=B4=A6=E6=AC=BE=E8=AE=B0?= =?UTF-8?q?=E5=BD=95mapper=20=E6=96=B0=E5=A2=9E=E5=BA=94=E6=94=B6=E8=B4=A6?= =?UTF-8?q?=E6=AC=BE=E8=AE=B0=E5=BD=95VO=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FinancialReceivablesController.java | 48 ++- .../domain/FinancialReceivables.java | 28 +- .../domain/FinancialReceivablesRecords.java | 155 ++++++++ .../VO/FinancialReceivablesRecordsVO.java | 49 +++ .../FinancialReceivablesRecordsMapper.java | 85 +++++ .../IFinancialReceivablesRecordsService.java | 80 ++++ ...inancialReceivablesRecordsServiceImpl.java | 145 ++++++++ .../impl/FinancialReceivablesServiceImpl.java | 26 ++ .../FinancialReceivablesRecordsMapper.xml | 114 ++++++ .../receivables/addFinancialReceivables.html | 2 +- .../receivables/addReceivablesVoucher.html | 350 ++++++++++++++++++ .../financial/receivables/receivables.html | 20 +- 12 files changed, 1084 insertions(+), 18 deletions(-) create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/financial/domain/FinancialReceivablesRecords.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/financial/domain/VO/FinancialReceivablesRecordsVO.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/financial/mapper/FinancialReceivablesRecordsMapper.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/financial/service/IFinancialReceivablesRecordsService.java create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialReceivablesRecordsServiceImpl.java create mode 100644 ruoyi-admin/src/main/resources/mapper/financial/FinancialReceivablesRecordsMapper.xml create mode 100644 ruoyi-admin/src/main/resources/templates/financial/receivables/addReceivablesVoucher.html diff --git a/ruoyi-admin/src/main/java/com/ruoyi/financial/controller/FinancialReceivablesController.java b/ruoyi-admin/src/main/java/com/ruoyi/financial/controller/FinancialReceivablesController.java index f6ac00fc..7708e810 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/financial/controller/FinancialReceivablesController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/financial/controller/FinancialReceivablesController.java @@ -1,15 +1,14 @@ package com.ruoyi.financial.controller; import java.util.List; + +import com.ruoyi.financial.domain.FinancialReceivablesRecords; +import com.ruoyi.financial.service.IFinancialReceivablesRecordsService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.financial.domain.FinancialReceivables; @@ -34,6 +33,9 @@ public class FinancialReceivablesController extends BaseController @Autowired private IFinancialReceivablesService financialReceivablesService; + @Autowired + private IFinancialReceivablesRecordsService receivablesRecordsService; + @RequiresPermissions("financial:receivables:view") @GetMapping() public String receivables() @@ -112,6 +114,30 @@ public class FinancialReceivablesController extends BaseController } + /** + * 新增销售订单创建收款凭证 + */ + @GetMapping("/addReceivablesVoucher/{financialReceivablesId}") + public String addReceivablesVoucher(@PathVariable("financialReceivablesId") Long financialReceivablesId, ModelMap mmap) + { + FinancialReceivables financialReceivables = financialReceivablesService.selectFinancialReceivablesById(financialReceivablesId); + mmap.put("financialReceivables", financialReceivables); + return prefix + "/addReceivablesVoucher"; + } + + /** + * 新增保存销售订单创建收款凭证 + */ + @RequiresPermissions("financial:receivables:addReceivablesVoucher") + @Log(title = "财务应收账款", businessType = BusinessType.UPDATE) + @PostMapping("/addReceivablesVoucher") + @ResponseBody + public AjaxResult addReceivablesVoucherSave(@RequestBody FinancialReceivables financialReceivables) + { + return toAjax(financialReceivablesService.updateFinancialReceivables(financialReceivables)); + } + + /** * 修改财务应收账款 */ @@ -170,5 +196,15 @@ public class FinancialReceivablesController extends BaseController return toAjax(financialReceivablesService.restoreFinancialReceivablesById(id)); } - + /** + * 查找收款记录列表 + */ + @PostMapping("/getReceivablesRecords") + @ResponseBody + public TableDataInfo getReceivablesRecords(FinancialReceivables financialReceivables){ + startPage(); + String financialReceivablesCode = financialReceivables.getFinancialReceivablesCode(); + List financialReceivablesRecords =receivablesRecordsService.selectFinancialReceivablesRecordsListByCode(financialReceivablesCode); + return getDataTable(financialReceivablesRecords); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/financial/domain/FinancialReceivables.java b/ruoyi-admin/src/main/java/com/ruoyi/financial/domain/FinancialReceivables.java index 42025b2c..0f657dcf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/financial/domain/FinancialReceivables.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/financial/domain/FinancialReceivables.java @@ -2,7 +2,10 @@ package com.ruoyi.financial.domain; import java.math.BigDecimal; import java.util.Date; +import java.util.List; + import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.financial.domain.VO.FinancialReceivablesRecordsVO; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; @@ -114,7 +117,12 @@ public class FinancialReceivables extends BaseEntity @Excel(name = "收款备注") private String receivablesRemark; - public void setFinancialReceivablesId(Long financialReceivablesId) + /** 收款记录集合 */ + List receivablesRecordsList; + + /** 收款记录VO集合 */ + List receivablesRecordsVOList; + public void setFinancialReceivablesId(Long financialReceivablesId) { this.financialReceivablesId = financialReceivablesId; } @@ -331,6 +339,22 @@ public class FinancialReceivables extends BaseEntity return receivablesRemark; } + public List getReceivablesRecordsList() { + return receivablesRecordsList; + } + + public void setReceivablesRecordsList(List receivablesRecordsList) { + this.receivablesRecordsList = receivablesRecordsList; + } + + public List getReceivablesRecordsVOList() { + return receivablesRecordsVOList; + } + + public void setReceivablesRecordsVOList(List receivablesRecordsVOList) { + this.receivablesRecordsVOList = receivablesRecordsVOList; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -362,6 +386,8 @@ public class FinancialReceivables extends BaseEntity .append("createBy", getCreateBy()) .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) + .append("receivablesRecordsList",getReceivablesRecordsList()) + .append("receivablesRecordsVOList",getReceivablesRecordsVOList()) .toString(); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/financial/domain/FinancialReceivablesRecords.java b/ruoyi-admin/src/main/java/com/ruoyi/financial/domain/FinancialReceivablesRecords.java new file mode 100644 index 00000000..8c61c23d --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/financial/domain/FinancialReceivablesRecords.java @@ -0,0 +1,155 @@ +package com.ruoyi.financial.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 财务应收账款记录对象 financial_receivables_records + * + * @author 刘晓旭 + * @date 2024-05-08 + */ +public class FinancialReceivablesRecords extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 财务应收账款记录id */ + private Long receivablesRecordsId; + + /** 应收单号 */ + private String financialReceivablesCode; + + /** 收款结案状态 */ + private String receivablesClosingStatus; + + /** 关联销售订单号 */ + private String salesOrderCode; + + /** 收款日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "收款日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date receivablesDate; + + /** 收款金额 */ + @Excel(name = "收款金额") + private BigDecimal receivablesPrice; + + /** 收款摘要 */ + @Excel(name = "收款摘要") + private String receivablesAbstract; + + /** 操作时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date operatingTime; + + /** 收款备注 */ + @Excel(name = "收款备注") + private String receivablesRemark; + + public void setReceivablesRecordsId(Long receivablesRecordsId) + { + this.receivablesRecordsId = receivablesRecordsId; + } + + public Long getReceivablesRecordsId() + { + return receivablesRecordsId; + } + public void setFinancialReceivablesCode(String financialReceivablesCode) + { + this.financialReceivablesCode = financialReceivablesCode; + } + + public String getFinancialReceivablesCode() + { + return financialReceivablesCode; + } + public void setReceivablesClosingStatus(String receivablesClosingStatus) + { + this.receivablesClosingStatus = receivablesClosingStatus; + } + + public String getReceivablesClosingStatus() + { + return receivablesClosingStatus; + } + public void setSalesOrderCode(String salesOrderCode) + { + this.salesOrderCode = salesOrderCode; + } + + public String getSalesOrderCode() + { + return salesOrderCode; + } + public void setReceivablesDate(Date receivablesDate) + { + this.receivablesDate = receivablesDate; + } + + public Date getReceivablesDate() + { + return receivablesDate; + } + public void setReceivablesPrice(BigDecimal receivablesPrice) + { + this.receivablesPrice = receivablesPrice; + } + + public BigDecimal getReceivablesPrice() + { + return receivablesPrice; + } + public void setReceivablesAbstract(String receivablesAbstract) + { + this.receivablesAbstract = receivablesAbstract; + } + + public String getReceivablesAbstract() + { + return receivablesAbstract; + } + public void setOperatingTime(Date operatingTime) + { + this.operatingTime = operatingTime; + } + + public Date getOperatingTime() + { + return operatingTime; + } + public void setReceivablesRemark(String receivablesRemark) + { + this.receivablesRemark = receivablesRemark; + } + + public String getReceivablesRemark() + { + return receivablesRemark; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("receivablesRecordsId", getReceivablesRecordsId()) + .append("financialReceivablesCode", getFinancialReceivablesCode()) + .append("receivablesClosingStatus", getReceivablesClosingStatus()) + .append("salesOrderCode", getSalesOrderCode()) + .append("receivablesDate", getReceivablesDate()) + .append("receivablesPrice", getReceivablesPrice()) + .append("receivablesAbstract", getReceivablesAbstract()) + .append("operatingTime", getOperatingTime()) + .append("receivablesRemark", getReceivablesRemark()) + .append("createTime", getCreateTime()) + .append("createBy", getCreateBy()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/financial/domain/VO/FinancialReceivablesRecordsVO.java b/ruoyi-admin/src/main/java/com/ruoyi/financial/domain/VO/FinancialReceivablesRecordsVO.java new file mode 100644 index 00000000..b2c600ce --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/financial/domain/VO/FinancialReceivablesRecordsVO.java @@ -0,0 +1,49 @@ +package com.ruoyi.financial.domain.VO; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 财务应收账款记录对象 financial_receivables_records + * + * @author 刘晓旭 + * @date 2024-05-09 + */ +@Data +public class FinancialReceivablesRecordsVO extends BaseEntity { + private static final long serialVersionUID = 1L; + + + /** 财务应收账款记录id */ + private Long receivablesRecordsId; + + /** 应收单号 */ + private String financialReceivablesCode; + + /** 收款日期 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "收款日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date receivablesDate; + + /** 收款金额 */ + @Excel(name = "收款金额") + private BigDecimal receivablesPrice; + + /** 收款摘要 */ + @Excel(name = "收款摘要") + private String receivablesAbstract; + + /** 操作时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date operatingTime; + + /** 收款备注 */ + @Excel(name = "收款备注") + private String receivablesRemark; +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/financial/mapper/FinancialReceivablesRecordsMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/financial/mapper/FinancialReceivablesRecordsMapper.java new file mode 100644 index 00000000..7c8b8779 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/financial/mapper/FinancialReceivablesRecordsMapper.java @@ -0,0 +1,85 @@ +package com.ruoyi.financial.mapper; + +import java.util.List; +import com.ruoyi.financial.domain.FinancialReceivablesRecords; + +/** + * 财务应收账款记录Mapper接口 + * + * @author 刘晓旭 + * @date 2024-05-08 + */ +public interface FinancialReceivablesRecordsMapper +{ + /** + * 查询财务应收账款记录 + * + * @param receivablesRecordsId 财务应收账款记录ID + * @return 财务应收账款记录 + */ + public FinancialReceivablesRecords selectFinancialReceivablesRecordsById(Long receivablesRecordsId); + + /** + * 查询财务应收账款记录列表 + * + * @param financialReceivablesRecords 财务应收账款记录 + * @return 财务应收账款记录集合 + */ + public List selectFinancialReceivablesRecordsList(FinancialReceivablesRecords financialReceivablesRecords); + + /** + * 新增财务应收账款记录 + * + * @param financialReceivablesRecords 财务应收账款记录 + * @return 结果 + */ + public int insertFinancialReceivablesRecords(FinancialReceivablesRecords financialReceivablesRecords); + + /** + * 修改财务应收账款记录 + * + * @param financialReceivablesRecords 财务应收账款记录 + * @return 结果 + */ + public int updateFinancialReceivablesRecords(FinancialReceivablesRecords financialReceivablesRecords); + + /** + * 删除财务应收账款记录 + * + * @param receivablesRecordsId 财务应收账款记录ID + * @return 结果 + */ + public int deleteFinancialReceivablesRecordsById(Long receivablesRecordsId); + + /** + * 批量删除财务应收账款记录 + * + * @param receivablesRecordsIds 需要删除的数据ID + * @return 结果 + */ + public int deleteFinancialReceivablesRecordsByIds(String[] receivablesRecordsIds); + + /** + * 作废财务应收账款记录 + * + * @param receivablesRecordsId 财务应收账款记录ID + * @return 结果 + */ + public int cancelFinancialReceivablesRecordsById(Long receivablesRecordsId); + + /** + * 恢复财务应收账款记录 + * + * @param receivablesRecordsId 财务应收账款记录ID + * @return 结果 + */ + public int restoreFinancialReceivablesRecordsById(Long receivablesRecordsId); + + /** + * 查询财务应收账款记录列表 + * + * @param financialReceivablesCode 财务应收单号 + * @return 财务应收账款记录集合 + */ + List selectFinancialReceivablesRecordsListByCode(String financialReceivablesCode); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/financial/service/IFinancialReceivablesRecordsService.java b/ruoyi-admin/src/main/java/com/ruoyi/financial/service/IFinancialReceivablesRecordsService.java new file mode 100644 index 00000000..150c7722 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/financial/service/IFinancialReceivablesRecordsService.java @@ -0,0 +1,80 @@ +package com.ruoyi.financial.service; + +import java.util.List; +import com.ruoyi.financial.domain.FinancialReceivablesRecords; + +/** + * 财务应收账款记录Service接口 + * + * @author 刘晓旭 + * @date 2024-05-08 + */ +public interface IFinancialReceivablesRecordsService +{ + /** + * 查询财务应收账款记录 + * + * @param receivablesRecordsId 财务应收账款记录ID + * @return 财务应收账款记录 + */ + public FinancialReceivablesRecords selectFinancialReceivablesRecordsById(Long receivablesRecordsId); + + /** + * 查询财务应收账款记录列表 + * + * @param financialReceivablesRecords 财务应收账款记录 + * @return 财务应收账款记录集合 + */ + public List selectFinancialReceivablesRecordsList(FinancialReceivablesRecords financialReceivablesRecords); + + /** + * 新增财务应收账款记录 + * + * @param financialReceivablesRecords 财务应收账款记录 + * @return 结果 + */ + public int insertFinancialReceivablesRecords(FinancialReceivablesRecords financialReceivablesRecords); + + /** + * 修改财务应收账款记录 + * + * @param financialReceivablesRecords 财务应收账款记录 + * @return 结果 + */ + public int updateFinancialReceivablesRecords(FinancialReceivablesRecords financialReceivablesRecords); + + /** + * 批量删除财务应收账款记录 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteFinancialReceivablesRecordsByIds(String ids); + + /** + * 删除财务应收账款记录信息 + * + * @param receivablesRecordsId 财务应收账款记录ID + * @return 结果 + */ + public int deleteFinancialReceivablesRecordsById(Long receivablesRecordsId); + + /** + * 作废财务应收账款记录 + * @param receivablesRecordsId 财务应收账款记录ID + * @return + */ + int cancelFinancialReceivablesRecordsById(Long receivablesRecordsId); + + /** + * 恢复财务应收账款记录 + * @param receivablesRecordsId 财务应收账款记录ID + * @return + */ + int restoreFinancialReceivablesRecordsById(Long receivablesRecordsId); + + /** + * 根据应收单号查找对应的收款记录 + * */ + List selectFinancialReceivablesRecordsListByCode(String financialReceivablesCode); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialReceivablesRecordsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialReceivablesRecordsServiceImpl.java new file mode 100644 index 00000000..c2c17f3d --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialReceivablesRecordsServiceImpl.java @@ -0,0 +1,145 @@ +package com.ruoyi.financial.service.impl; + +import java.util.List; + +import com.ruoyi.common.exception.BusinessException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.ShiroUtils; +import com.ruoyi.common.utils.StringUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.financial.mapper.FinancialReceivablesRecordsMapper; +import com.ruoyi.financial.domain.FinancialReceivablesRecords; +import com.ruoyi.financial.service.IFinancialReceivablesRecordsService; +import com.ruoyi.common.core.text.Convert; + +/** + * 财务应收账款记录Service业务层处理 + * + * @author 刘晓旭 + * @date 2024-05-08 + */ +@Slf4j +@Service +public class FinancialReceivablesRecordsServiceImpl implements IFinancialReceivablesRecordsService +{ + @Autowired + private FinancialReceivablesRecordsMapper financialReceivablesRecordsMapper; + + /** + * 查询财务应收账款记录 + * + * @param receivablesRecordsId 财务应收账款记录ID + * @return 财务应收账款记录 + */ + @Override + public FinancialReceivablesRecords selectFinancialReceivablesRecordsById(Long receivablesRecordsId) + { + return financialReceivablesRecordsMapper.selectFinancialReceivablesRecordsById(receivablesRecordsId); + } + + /** + * 查询财务应收账款记录列表 + * + * @param financialReceivablesRecords 财务应收账款记录 + * @return 财务应收账款记录 + */ + @Override + public List selectFinancialReceivablesRecordsList(FinancialReceivablesRecords financialReceivablesRecords) + { + return financialReceivablesRecordsMapper.selectFinancialReceivablesRecordsList(financialReceivablesRecords); + } + + /** + * 新增财务应收账款记录 + * + * @param financialReceivablesRecords 财务应收账款记录 + * @return 结果 + */ + @Override + public int insertFinancialReceivablesRecords(FinancialReceivablesRecords financialReceivablesRecords) + { + financialReceivablesRecords.setCreateTime(DateUtils.getNowDate()); + String loginName = ShiroUtils.getLoginName(); + financialReceivablesRecords.setCreateBy(loginName); + return financialReceivablesRecordsMapper.insertFinancialReceivablesRecords(financialReceivablesRecords); + } + + /** + * 修改财务应收账款记录 + * + * @param financialReceivablesRecords 财务应收账款记录 + * @return 结果 + */ + @Override + public int updateFinancialReceivablesRecords(FinancialReceivablesRecords financialReceivablesRecords) + { + String loginName = ShiroUtils.getLoginName(); + financialReceivablesRecords.setUpdateBy(loginName); + financialReceivablesRecords.setUpdateTime(DateUtils.getNowDate()); + return financialReceivablesRecordsMapper.updateFinancialReceivablesRecords(financialReceivablesRecords); + } + + /** + * 删除财务应收账款记录对象 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteFinancialReceivablesRecordsByIds(String ids) + { + return financialReceivablesRecordsMapper.deleteFinancialReceivablesRecordsByIds(Convert.toStrArray(ids)); + } + + /** + * 删除财务应收账款记录信息 + * + * @param receivablesRecordsId 财务应收账款记录ID + * @return 结果 + */ + @Override + public int deleteFinancialReceivablesRecordsById(Long receivablesRecordsId) + { + return financialReceivablesRecordsMapper.deleteFinancialReceivablesRecordsById(receivablesRecordsId); + } + + /** + * 作废财务应收账款记录 + * + * @param receivablesRecordsId 财务应收账款记录ID + * @return 结果 + */ + @Override + public int cancelFinancialReceivablesRecordsById(Long receivablesRecordsId) + { + return financialReceivablesRecordsMapper.cancelFinancialReceivablesRecordsById(receivablesRecordsId); + } + + /** + * 恢复财务应收账款记录信息 + * + * @param receivablesRecordsId 财务应收账款记录ID + * @return 结果 + */ + @Override + public int restoreFinancialReceivablesRecordsById(Long receivablesRecordsId) + { + return financialReceivablesRecordsMapper.restoreFinancialReceivablesRecordsById(receivablesRecordsId); + } + + /** + * 查找收款记录列表 + */ + @Override + public List selectFinancialReceivablesRecordsListByCode(String financialReceivablesCode) { + + List financialReceivablesRecordsList = financialReceivablesRecordsMapper.selectFinancialReceivablesRecordsListByCode(financialReceivablesCode); + if (StringUtils.isEmpty(financialReceivablesRecordsList)){ + log.warn("未查找到收款记录信息:{}",financialReceivablesCode); + throw new BusinessException("未查找到收款记录信息"); + } + return financialReceivablesRecordsList; + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialReceivablesServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialReceivablesServiceImpl.java index f5046f4f..b36269bc 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialReceivablesServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialReceivablesServiceImpl.java @@ -9,12 +9,17 @@ import com.ruoyi.common.exception.BusinessException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.financial.domain.FinancialReceivablesRecords; +import com.ruoyi.financial.domain.VO.FinancialReceivablesRecordsVO; +import com.ruoyi.financial.mapper.FinancialReceivablesRecordsMapper; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.financial.mapper.FinancialReceivablesMapper; import com.ruoyi.financial.domain.FinancialReceivables; import com.ruoyi.financial.service.IFinancialReceivablesService; import com.ruoyi.common.core.text.Convert; +import org.springframework.transaction.annotation.Transactional; /** * 财务应收账款Service业务层处理 @@ -22,12 +27,15 @@ import com.ruoyi.common.core.text.Convert; * @author 刘晓旭 * @date 2024-05-08 */ +@Slf4j @Service public class FinancialReceivablesServiceImpl implements IFinancialReceivablesService { @Autowired private FinancialReceivablesMapper financialReceivablesMapper; + @Autowired + private FinancialReceivablesRecordsMapper receivablesRecordsMapper; /** * 查询财务应收账款 * @@ -86,12 +94,30 @@ public class FinancialReceivablesServiceImpl implements IFinancialReceivablesSer * @param financialReceivables 财务应收账款 * @return 结果 */ + @Transactional @Override public int updateFinancialReceivables(FinancialReceivables financialReceivables) { String loginName = ShiroUtils.getLoginName(); financialReceivables.setUpdateBy(loginName); financialReceivables.setUpdateTime(DateUtils.getNowDate()); + List receivablesRecordsVOList = financialReceivables.getReceivablesRecordsVOList(); + if (StringUtils.isEmpty(receivablesRecordsVOList)){ + log.warn("收款记录数据为空"); + } + for (FinancialReceivablesRecordsVO financialReceivablesRecordsVO : receivablesRecordsVOList) { + FinancialReceivablesRecords receivablesRecords = new FinancialReceivablesRecords(); + receivablesRecords.setCreateBy(loginName); + receivablesRecords.setCreateTime(new Date()); + //拿到应收账款的code + receivablesRecords.setFinancialReceivablesCode(financialReceivables.getFinancialReceivablesCode()); + receivablesRecords.setOperatingTime(new Date()); + receivablesRecords.setReceivablesRemark(financialReceivablesRecordsVO.getReceivablesRemark()); + receivablesRecords.setReceivablesDate(financialReceivablesRecordsVO.getReceivablesDate()); + receivablesRecords.setReceivablesPrice(financialReceivablesRecordsVO.getReceivablesPrice()); + receivablesRecords.setReceivablesAbstract(financialReceivablesRecordsVO.getReceivablesAbstract()); + receivablesRecordsMapper.insertFinancialReceivablesRecords(receivablesRecords); + } return financialReceivablesMapper.updateFinancialReceivables(financialReceivables); } diff --git a/ruoyi-admin/src/main/resources/mapper/financial/FinancialReceivablesRecordsMapper.xml b/ruoyi-admin/src/main/resources/mapper/financial/FinancialReceivablesRecordsMapper.xml new file mode 100644 index 00000000..a6765b6c --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/financial/FinancialReceivablesRecordsMapper.xml @@ -0,0 +1,114 @@ + + + + + + + + + + + + + + + + + + + + + + select receivables_records_id, financial_receivables_code, receivables_closing_status, sales_order_code, receivables_date, receivables_price, receivables_abstract, operating_time, receivables_remark, create_time, create_by, update_by, update_time from financial_receivables_records + + + + + + + + + + + insert into financial_receivables_records + + financial_receivables_code, + receivables_closing_status, + sales_order_code, + receivables_date, + receivables_price, + receivables_abstract, + operating_time, + receivables_remark, + create_time, + create_by, + update_by, + update_time, + + + #{financialReceivablesCode}, + #{receivablesClosingStatus}, + #{salesOrderCode}, + #{receivablesDate}, + #{receivablesPrice}, + #{receivablesAbstract}, + #{operatingTime}, + #{receivablesRemark}, + #{createTime}, + #{createBy}, + #{updateBy}, + #{updateTime}, + + + + + update financial_receivables_records + + financial_receivables_code = #{financialReceivablesCode}, + receivables_closing_status = #{receivablesClosingStatus}, + sales_order_code = #{salesOrderCode}, + receivables_date = #{receivablesDate}, + receivables_price = #{receivablesPrice}, + receivables_abstract = #{receivablesAbstract}, + operating_time = #{operatingTime}, + receivables_remark = #{receivablesRemark}, + create_time = #{createTime}, + create_by = #{createBy}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where receivables_records_id = #{receivablesRecordsId} + + + + delete from financial_receivables_records where receivables_records_id = #{receivablesRecordsId} + + + + delete from financial_receivables_records where receivables_records_id in + + #{receivablesRecordsId} + + + + + update financial_receivables_records set del_flag = '1' where receivables_records_id = #{receivablesRecordsId} + + + + update financial_receivables_records set del_flag = '0' where receivables_records_id = #{receivablesRecordsId} + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/financial/receivables/addFinancialReceivables.html b/ruoyi-admin/src/main/resources/templates/financial/receivables/addFinancialReceivables.html index ecb556a8..4d0e9620 100644 --- a/ruoyi-admin/src/main/resources/templates/financial/receivables/addFinancialReceivables.html +++ b/ruoyi-admin/src/main/resources/templates/financial/receivables/addFinancialReceivables.html @@ -1,7 +1,7 @@ - + diff --git a/ruoyi-admin/src/main/resources/templates/financial/receivables/addReceivablesVoucher.html b/ruoyi-admin/src/main/resources/templates/financial/receivables/addReceivablesVoucher.html new file mode 100644 index 00000000..4919164b --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/financial/receivables/addReceivablesVoucher.html @@ -0,0 +1,350 @@ + + + + + + + + +
+
+ +
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+

收款记录

+
+
+
+ + +
+
+
+ + +
+
+ 收款凭证 + + 添加收款明细 + +
+
+
+
+
+
+
+ +
+ 收款合计: + 0.00 +
+
+
+ + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/financial/receivables/receivables.html b/ruoyi-admin/src/main/resources/templates/financial/receivables/receivables.html index f538327d..2d004bd2 100644 --- a/ruoyi-admin/src/main/resources/templates/financial/receivables/receivables.html +++ b/ruoyi-admin/src/main/resources/templates/financial/receivables/receivables.html @@ -101,9 +101,7 @@ \ No newline at end of file