|
@ -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); |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 删除财务应收账款对象 |
|
|
* 删除财务应收账款对象 |
|
|