新增应收账单推送nc
This commit is contained in:
+27
@@ -7,6 +7,7 @@ import com.mhd.bms.application.server.receiptManage.ReceiptManageApplicationServ
|
|||||||
import com.mhd.bms.domain.billManage.entity.BillDetail;
|
import com.mhd.bms.domain.billManage.entity.BillDetail;
|
||||||
import com.mhd.bms.domain.billManage.entity.BillManage;
|
import com.mhd.bms.domain.billManage.entity.BillManage;
|
||||||
import com.mhd.bms.domain.billManage.repository.facade.IBillDetailService;
|
import com.mhd.bms.domain.billManage.repository.facade.IBillDetailService;
|
||||||
|
import com.mhd.bms.domain.billManage.repository.facade.IBillManageService;
|
||||||
import com.mhd.bms.domain.billManage.repository.mapper.BillDetailMapper;
|
import com.mhd.bms.domain.billManage.repository.mapper.BillDetailMapper;
|
||||||
import com.mhd.bms.domain.billManage.repository.po.BillDetailPO;
|
import com.mhd.bms.domain.billManage.repository.po.BillDetailPO;
|
||||||
import com.mhd.bms.domain.billManage.repository.po.BillManagePO;
|
import com.mhd.bms.domain.billManage.repository.po.BillManagePO;
|
||||||
@@ -78,6 +79,8 @@ public class BillManageApplicationService {
|
|||||||
private BillDetailMapper billDetailMapper;
|
private BillDetailMapper billDetailMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private NcLogMapper ncLogMapper;
|
private NcLogMapper ncLogMapper;
|
||||||
|
@Autowired
|
||||||
|
private IBillManageService billManageService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -465,6 +468,30 @@ public class BillManageApplicationService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
//保存账单明细
|
//保存账单明细
|
||||||
|
double allTaxRate = 0.0d;
|
||||||
|
BigDecimal allTaxAmount = BigDecimal.ZERO;
|
||||||
|
BigDecimal allTaxFreeFee = BigDecimal.ZERO;
|
||||||
|
for (BillDetailDTO item : billDetailDTOList) {
|
||||||
|
String firstSubjectCode = item.getFirstSubjectCode();
|
||||||
|
Double taxRate = billDetailMapper.getTaxRate(firstSubjectCode);
|
||||||
|
BigDecimal amount = item.getBillingAmount();
|
||||||
|
BigDecimal taxAmount = amount.divide(BigDecimal.ONE.add(new BigDecimal(taxRate).divide(BigDecimal.valueOf(100))),10, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(taxRate).divide(BigDecimal.valueOf(100))).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
BigDecimal taxFreeFee = amount.subtract(taxAmount);
|
||||||
|
item.setTaxAmount(taxAmount);
|
||||||
|
item.setTaxFreeFee(taxFreeFee);
|
||||||
|
item.setTaxRate(taxRate);
|
||||||
|
allTaxRate += taxRate;
|
||||||
|
allTaxAmount = allTaxAmount.add(taxAmount);
|
||||||
|
allTaxFreeFee = allTaxFreeFee.add(taxFreeFee);
|
||||||
|
}
|
||||||
|
|
||||||
|
BillManage billManage = billManageService.getById(billManageDO.getBillManageId());
|
||||||
|
if (billManage != null) {
|
||||||
|
billManage.setTaxRate(allTaxRate);
|
||||||
|
billManage.setTaxAmount(allTaxAmount);
|
||||||
|
billManage.setTaxFreeFee(allTaxFreeFee);
|
||||||
|
billManageService.updateById(billManage);
|
||||||
|
}
|
||||||
Boolean flagTwo = billDetailDomainService.saveBatch(billDetailDTOList);
|
Boolean flagTwo = billDetailDomainService.saveBatch(billDetailDTOList);
|
||||||
//保存操作记录
|
//保存操作记录
|
||||||
BillOperationLogDO billOperationLogDO = new BillOperationLogDO();
|
BillOperationLogDO billOperationLogDO = new BillOperationLogDO();
|
||||||
|
|||||||
+3
@@ -5,6 +5,7 @@ import com.mhd.bms.domain.billManage.entity.BillDetail;
|
|||||||
import com.mhd.bms.domain.billManage.repository.po.BillDetailPO;
|
import com.mhd.bms.domain.billManage.repository.po.BillDetailPO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -19,4 +20,6 @@ public interface BillDetailMapper extends BaseMapper<BillDetail>
|
|||||||
List<BillDetailPO> getDetailsByBillManageId(@Param("billManageId") Long billManageId);
|
List<BillDetailPO> getDetailsByBillManageId(@Param("billManageId") Long billManageId);
|
||||||
|
|
||||||
List<BillDetail> getDetailsByBillManageIdAndGroup(@Param("billManageId") Long billManageId);
|
List<BillDetail> getDetailsByBillManageIdAndGroup(@Param("billManageId") Long billManageId);
|
||||||
|
|
||||||
|
Double getTaxRate(@Param("code") String code);
|
||||||
}
|
}
|
||||||
+41
@@ -13,6 +13,7 @@ import com.mhd.bms.domain.billManage.entity.BillDetail;
|
|||||||
import com.mhd.bms.domain.billManage.entity.BillManage;
|
import com.mhd.bms.domain.billManage.entity.BillManage;
|
||||||
import com.mhd.bms.domain.billManage.repository.facade.IBillDetailService;
|
import com.mhd.bms.domain.billManage.repository.facade.IBillDetailService;
|
||||||
import com.mhd.bms.domain.billManage.repository.facade.IBillManageService;
|
import com.mhd.bms.domain.billManage.repository.facade.IBillManageService;
|
||||||
|
import com.mhd.bms.domain.billManage.repository.mapper.BillDetailMapper;
|
||||||
import com.mhd.bms.domain.billManage.repository.mapper.BillManageMapper;
|
import com.mhd.bms.domain.billManage.repository.mapper.BillManageMapper;
|
||||||
import com.mhd.bms.domain.billManage.repository.po.BillManagePO;
|
import com.mhd.bms.domain.billManage.repository.po.BillManagePO;
|
||||||
import com.mhd.bms.domain.billManage.repository.todo.BillManageDO;
|
import com.mhd.bms.domain.billManage.repository.todo.BillManageDO;
|
||||||
@@ -28,6 +29,7 @@ import com.mhd.bms.domain.ncLog.entity.NcLog;
|
|||||||
import com.mhd.bms.domain.ncLog.repository.mapper.NcLogMapper;
|
import com.mhd.bms.domain.ncLog.repository.mapper.NcLogMapper;
|
||||||
import com.mhd.bms.domain.settlementCustomers.entity.SettlementCustomers;
|
import com.mhd.bms.domain.settlementCustomers.entity.SettlementCustomers;
|
||||||
import com.mhd.bms.domain.settlementCustomers.repository.facade.ISettlementCustomersService;
|
import com.mhd.bms.domain.settlementCustomers.repository.facade.ISettlementCustomersService;
|
||||||
|
import com.mhd.bms.interfaces.dto.billManage.BillDetailDTO;
|
||||||
import com.mhd.bms.interfaces.dto.billManage.BillManageDTO;
|
import com.mhd.bms.interfaces.dto.billManage.BillManageDTO;
|
||||||
import com.mhd.common.core.domain.dto.ReconciliationDTO;
|
import com.mhd.common.core.domain.dto.ReconciliationDTO;
|
||||||
import com.mhd.common.core.domain.dto.nc.*;
|
import com.mhd.common.core.domain.dto.nc.*;
|
||||||
@@ -89,6 +91,10 @@ public class BillManageImpl extends ServiceImpl<BillManageMapper, BillManage> im
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IBillDetailService billDetailService;
|
private IBillDetailService billDetailService;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private IBillManageService billManageService;
|
||||||
|
@Autowired
|
||||||
|
private BillDetailMapper billDetailMapper;
|
||||||
|
@Autowired
|
||||||
private BmsInvoiceListMapper bmsInvoiceListMapper;
|
private BmsInvoiceListMapper bmsInvoiceListMapper;
|
||||||
|
|
||||||
//nc测试环境地址
|
//nc测试环境地址
|
||||||
@@ -199,6 +205,41 @@ public class BillManageImpl extends ServiceImpl<BillManageMapper, BillManage> im
|
|||||||
String invoiceId = reconciliation.getInvoiceId();
|
String invoiceId = reconciliation.getInvoiceId();
|
||||||
List<BillDetail> billDetails = billDetailService.getDetailsByBillManageIdAndGroup(Long.parseLong(businessDocumentDetaliId));
|
List<BillDetail> billDetails = billDetailService.getDetailsByBillManageIdAndGroup(Long.parseLong(businessDocumentDetaliId));
|
||||||
|
|
||||||
|
//保存税额等
|
||||||
|
double allTaxRate = 0.0d;
|
||||||
|
BigDecimal allTaxAmount = BigDecimal.ZERO;
|
||||||
|
BigDecimal allTaxFreeFee = BigDecimal.ZERO;
|
||||||
|
for (BillDetail item : billDetails) {
|
||||||
|
String firstSubjectCode = item.getInvoiceItem();
|
||||||
|
Double taxRate = billDetailMapper.getTaxRate(firstSubjectCode);
|
||||||
|
BigDecimal amount = item.getBillingAmount();
|
||||||
|
BigDecimal taxAmount = amount.divide(BigDecimal.ONE.add(new BigDecimal(taxRate).divide(BigDecimal.valueOf(100))),10, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(taxRate).divide(BigDecimal.valueOf(100))).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
BigDecimal taxFreeFee = amount.subtract(taxAmount);
|
||||||
|
if (item.getTaxAmount() == null) {
|
||||||
|
item.setTaxAmount(taxAmount);
|
||||||
|
}
|
||||||
|
if (item.getTaxFreeFee() == null) {
|
||||||
|
item.setTaxFreeFee(taxFreeFee);
|
||||||
|
}
|
||||||
|
if (item.getTaxRate() == null) {
|
||||||
|
item.setTaxRate(taxRate);
|
||||||
|
}
|
||||||
|
allTaxRate += taxRate;
|
||||||
|
allTaxAmount = allTaxAmount.add(taxAmount);
|
||||||
|
allTaxFreeFee = allTaxFreeFee.add(taxFreeFee);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (reconciliation.getTaxRate() == null) {
|
||||||
|
reconciliation.setTaxRate(allTaxRate);
|
||||||
|
}
|
||||||
|
if (reconciliation.getTaxAmount() == null) {
|
||||||
|
reconciliation.setTaxAmount(allTaxAmount);
|
||||||
|
}
|
||||||
|
if (reconciliation.getTaxFreeFee() == null) {
|
||||||
|
reconciliation.setTaxFreeFee(allTaxFreeFee);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
List<Ysitem> ysitemList=new ArrayList<Ysitem>();
|
List<Ysitem> ysitemList=new ArrayList<Ysitem>();
|
||||||
String url = "";
|
String url = "";
|
||||||
Long organizationId = reconciliation.getOrganizationId();
|
Long organizationId = reconciliation.getOrganizationId();
|
||||||
|
|||||||
@@ -47,5 +47,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
AND bill_manage_id = #{billManageId} GROUP BY INVOICE_ITEM,INVOICE_ITEM_NAME,FEE_TYPE
|
AND bill_manage_id = #{billManageId} GROUP BY INVOICE_ITEM,INVOICE_ITEM_NAME,FEE_TYPE
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getTaxRate" resultType="java.lang.Double" parameterType="java.lang.String">
|
||||||
|
SELECT
|
||||||
|
rate
|
||||||
|
FROM
|
||||||
|
NGWL_TEST_SYSTEM.EXPENSE_ACCOUNT
|
||||||
|
WHERE
|
||||||
|
del_flag = 1
|
||||||
|
AND SUBJECT_CODE = #{code}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user