Browse Source

[feat]财务管理:

财务应收账款
新增销售审核通过后生成财务应收账款数据业务
新增生成财务应收账款数据后端接口
新增生成财务应收账款的同时生成财务应收账款明细
dev
liuxiaoxu 5 months ago
parent
commit
518edcc178
  1. 5
      ruoyi-admin/src/main/java/com/ruoyi/financial/service/IFinancialReceivablesService.java
  2. 61
      ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialReceivablesServiceImpl.java
  3. 7
      ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesOrderController.java

5
ruoyi-admin/src/main/java/com/ruoyi/financial/service/IFinancialReceivablesService.java

@ -82,4 +82,9 @@ public interface IFinancialReceivablesService
* 应收账款详情 * 应收账款详情
* */ * */
int financialReceivablesDetail(FinancialReceivables financialReceivables); int financialReceivablesDetail(FinancialReceivables financialReceivables);
/*
* 销售订单审批完成后根据销售单号生成财务应收账款
* */
int generateReceivablesBySalesOrderCode(String salesOrderCode);
} }

61
ruoyi-admin/src/main/java/com/ruoyi/financial/service/impl/FinancialReceivablesServiceImpl.java

@ -1,5 +1,6 @@
package com.ruoyi.financial.service.impl; package com.ruoyi.financial.service.impl;
import java.math.BigDecimal;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
@ -12,6 +13,11 @@ import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.financial.domain.FinancialReceivablesRecords; import com.ruoyi.financial.domain.FinancialReceivablesRecords;
import com.ruoyi.financial.domain.VO.FinancialReceivablesRecordsVO; import com.ruoyi.financial.domain.VO.FinancialReceivablesRecordsVO;
import com.ruoyi.financial.mapper.FinancialReceivablesRecordsMapper; import com.ruoyi.financial.mapper.FinancialReceivablesRecordsMapper;
import com.ruoyi.system.domain.SysCustomerVo;
import com.ruoyi.system.domain.SysSalesOrderVo;
import com.ruoyi.system.mapper.SysCustomerMapper;
import com.ruoyi.system.mapper.SysSalesOrderMapper;
import com.ruoyi.system.service.ISysSalesOrderService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -34,8 +40,15 @@ public class FinancialReceivablesServiceImpl implements IFinancialReceivablesSer
@Autowired @Autowired
private FinancialReceivablesMapper financialReceivablesMapper; private FinancialReceivablesMapper financialReceivablesMapper;
@Autowired
private SysSalesOrderMapper sysSalesOrderMapper;
@Autowired @Autowired
private FinancialReceivablesRecordsMapper receivablesRecordsMapper; private FinancialReceivablesRecordsMapper receivablesRecordsMapper;
@Autowired
private SysCustomerMapper sysCustomerMapper;
/** /**
* 查询财务应收账款 * 查询财务应收账款
* *
@ -137,6 +150,54 @@ public class FinancialReceivablesServiceImpl implements IFinancialReceivablesSer
} }
/*
* 销售订单审批完成后根据销售单号生成财务应收账款
* */
@Override
public int generateReceivablesBySalesOrderCode(String salesOrderCode) {
FinancialReceivables financialReceivables = new FinancialReceivables();
FinancialReceivablesRecords receivablesRecords = new FinancialReceivablesRecords();
// 更改日期格式以提高可读性
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String datePart = df.format(new Date());
// 移除日期中的分隔符以便于后续处理
String prefix = "YS" + datePart.replace("-", "");
// 查询数据库中当前最大编号
String maxCode = financialReceivablesMapper.findMaxRoundCode(prefix);
String newCode = generateNewCode(prefix, maxCode);
SysSalesOrderVo sysSalesOrderVo = sysSalesOrderMapper.selectSysSalesOrderBySalesOrderCode(salesOrderCode);
SysCustomerVo sysCustomerVo = sysCustomerMapper.selectSysCustomerByEnterpriseCode(sysSalesOrderVo.getEnterpriseCode());
financialReceivables.setSalesOrderCode(salesOrderCode);
//自动生成 应收单号
financialReceivables.setFinancialReceivablesCode(newCode);
financialReceivables.setReceivablesClosingStatus("0");
financialReceivables.setCreditAccount("客户");
financialReceivables.setCreditDetail(sysCustomerVo.getEnterpriseName());
financialReceivables.setOpenBank(sysCustomerVo.getDepositBank());
financialReceivables.setOpenAccount(sysCustomerVo.getBankAccount());
financialReceivables.setCustomerId(sysCustomerVo.getEnterpriseCode());
financialReceivables.setCurrencyType(sysSalesOrderVo.getCommonCurrency());
financialReceivables.setPriceExcludingTax(BigDecimal.valueOf(sysSalesOrderVo.getNoRmbSum()));
financialReceivables.setPriceIncludesTax(BigDecimal.valueOf(sysSalesOrderVo.getRmbTaxSum()));
financialReceivables.setPaymentCondition(sysSalesOrderVo.getPaymentTerms());
financialReceivables.setBusinessMembers(sysSalesOrderVo.getBusinessMembers());
financialReceivables.setFinancialDeliverStatus("0");
financialReceivables.setCreateTime(new Date());
financialReceivables.setCreateBy(ShiroUtils.getLoginName());
//插入数据到应收款明细中
receivablesRecords.setFinancialReceivablesCode(newCode);
receivablesRecords.setReceivablesClosingStatus("0");
receivablesRecords.setSalesOrderCode(salesOrderCode);
receivablesRecords.setCreateTime(new Date());
receivablesRecords.setCreateBy(ShiroUtils.getLoginName());
receivablesRecordsMapper.insertFinancialReceivablesRecords(receivablesRecords);
return financialReceivablesMapper.insertFinancialReceivables(financialReceivables);
}
/** /**
* 删除财务应收账款对象 * 删除财务应收账款对象

7
ruoyi-admin/src/main/java/com/ruoyi/system/controller/SysSalesOrderController.java

@ -21,6 +21,7 @@ import com.ruoyi.common.utils.file.FileUploadUtils;
import com.ruoyi.common.utils.file.FileUtils; import com.ruoyi.common.utils.file.FileUtils;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.erp.domain.ErpMaterialVo; import com.ruoyi.erp.domain.ErpMaterialVo;
import com.ruoyi.financial.service.IFinancialReceivablesService;
import com.ruoyi.process.general.service.IProcessService; import com.ruoyi.process.general.service.IProcessService;
import com.ruoyi.system.domain.*; import com.ruoyi.system.domain.*;
import com.ruoyi.system.domain.exportDto.SysSalesFinishDto; import com.ruoyi.system.domain.exportDto.SysSalesFinishDto;
@ -90,6 +91,10 @@ public class SysSalesOrderController extends BaseController
@Autowired @Autowired
private SysSalesOrderMapper sysSalesOrderMapper; private SysSalesOrderMapper sysSalesOrderMapper;
@Autowired
private IFinancialReceivablesService financialReceivablesService;
@RequiresPermissions("system:salesOrder:view") @RequiresPermissions("system:salesOrder:view")
@GetMapping() @GetMapping()
public String salesOrder(ModelMap mmap) public String salesOrder(ModelMap mmap)
@ -454,6 +459,8 @@ public class SysSalesOrderController extends BaseController
//生产订单生成 //生产订单生成
sysMakeOrderService.generateMakeOrderBySalesOrderCode(sysSalesOrderVo1.getSalesOrderCode()); sysMakeOrderService.generateMakeOrderBySalesOrderCode(sysSalesOrderVo1.getSalesOrderCode());
//生成财务应收账款
financialReceivablesService.generateReceivablesBySalesOrderCode(sysSalesOrderVo1.getSalesOrderCode());
// 提交 // 提交
if("submit".equals(instanceType)){ if("submit".equals(instanceType)){

Loading…
Cancel
Save