|
|
@@ -11,6 +11,7 @@ import com.fasterxml.jackson.databind.JsonNode;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
+import com.sun.javafx.fxml.LoadListener;
|
|
|
import com.ydtech.constants.enums.dict.agreement.ProductsType;
|
|
|
import com.ydtech.core.page.HttpResult;
|
|
|
import com.ydtech.exception.SystemException;
|
|
|
@@ -44,6 +45,7 @@ import com.ydtech.modules.protocol.entity.vo.PtlAgreementQueryVo;
|
|
|
import com.ydtech.modules.protocol.service.PtlAgreementService;
|
|
|
import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
|
|
|
import com.ydtech.modules.protocols.service.InsFeeOrderNewService;
|
|
|
+import com.ydtech.utils.BigDecimalUtils;
|
|
|
import com.ydtech.utils.SnowFlakeUtil;
|
|
|
import com.ydtech.utils.excel.ExcelEasypoiUtils;
|
|
|
import com.ydtech.utils.excel.ExcelStyleUtil;
|
|
|
@@ -1178,15 +1180,41 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
|
|
|
* @param insPlyIncomeVo ids ins_ply_income 这个表的ids incomeIds settlement_documentary_fees 这个表的ids
|
|
|
* @return
|
|
|
*/
|
|
|
-
|
|
|
+ /**
|
|
|
+ * 跟单费结算 有分批结算的情况
|
|
|
+ * @param insPlyIncomeVo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public HttpResult batchBalance(InsPlyIncomeVo insPlyIncomeVo) {
|
|
|
// 通过ids 查出跟单非结算单
|
|
|
- if(StringUtils.isNotEmpty(insPlyIncomeVo.getIds())){
|
|
|
- settlementDocumentaryFeesService.batchByInvoice(insPlyIncomeVo.getIds());
|
|
|
- }
|
|
|
- return HttpResult.ok();
|
|
|
+ BigDecimal allAmount = BigDecimal.ZERO;
|
|
|
+// 分批结算
|
|
|
+ SettlementDocumentaryFeesVo settlementDocumentaryFeesVo = new SettlementDocumentaryFeesVo();
|
|
|
+
|
|
|
+ if ("0".equals(insPlyIncomeVo.getInvoicingMethod())) {
|
|
|
+ allAmount =insPlyIncomeVo.getInvoicCommissionFeevalue().multiply(BigDecimal.ONE.subtract(insPlyIncomeVo.getTaxPoints().divide(new BigDecimal(100))));
|
|
|
+ settlementDocumentaryFeesVo.setExpendAmount(insPlyIncomeVo.getInvoicCommissionFeevalue().multiply(BigDecimal.ONE.subtract(insPlyIncomeVo.getTaxPoints().divide(new BigDecimal(100)))));
|
|
|
+ settlementDocumentaryFeesVo.setSettlementAmount(insPlyIncomeVo.getSettlementAmount()); //进账金额
|
|
|
+
|
|
|
+ } else {
|
|
|
+ settlementDocumentaryFeesVo.setSettlementAmount(insPlyIncomeVo.getSettlementAmount()); //进账金额
|
|
|
+ }
|
|
|
+ settlementDocumentaryFeesVo.setInvoiceId(insPlyIncomeVo.getInvoicId()); //开票号
|
|
|
+ settlementDocumentaryFeesVo.setSettlementTime(insPlyIncomeVo.getSettlementTime()); //结算时间
|
|
|
+ settlementDocumentaryFeesVo.setSettlementStatus("2"); //2为结算状态
|
|
|
+ settlementDocumentaryFeesVo.setCompanyId(insPlyIncomeVo.getCompanyId()); // 保险公司id
|
|
|
+ settlementDocumentaryFeesVo.setPartnerCompaniesId(insPlyIncomeVo.getPartnerCompaniesId()); //合作公司id
|
|
|
+ settlementDocumentaryFeesVo.setUnsettledAmount(insPlyIncomeVo.getInvoicCommissionFeevalue().subtract(insPlyIncomeVo.getSettlementAmount())); //未结算金额
|
|
|
+ settlementDocumentaryFeesVo.setIsNotCar(insPlyIncomeVo.getIsNotCar()); // 是否是非车
|
|
|
+ settlementDocumentaryFeesVo.setInvoicingMethod(insPlyIncomeVo.getInvoicingMethod()); //开票方式
|
|
|
+ settlementDocumentaryFeesVo.setTaxPoints(insPlyIncomeVo.getTaxPoints()); //税点
|
|
|
+ settlementDocumentaryFeesVo.setExpendAmount(insPlyIncomeVo.getExpendAmount()); //税点支出
|
|
|
+ settlementDocumentaryFeesVo.setTotalAmount(insPlyIncomeVo.getInvoicCommissionFeevalue());
|
|
|
+ settlementDocumentaryFeesVo.setCreateTime(LocalDate.now());
|
|
|
+ settlementDocumentaryFeesService.inertSettle(settlementDocumentaryFeesVo);
|
|
|
+ return HttpResult.ok();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -1382,7 +1410,7 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
|
|
|
settlementDocumentaryFeesVo.setDay(insPlyIncomeVo.getDay());
|
|
|
}
|
|
|
settlementDocumentaryFeesVo.setCompanyId(insPlyIncomeVo.getCompanyId());// 保险公司id
|
|
|
- settlementDocumentaryFeesVo.setPartnerCompaniesId(insPlyIncomeVo.getPartnerCompaniesId());
|
|
|
+ settlementDocumentaryFeesVo.setPartnerCompaniesId(insPlyIncomeVo.getPartnerCompaniesId()); //合作公司id
|
|
|
settlementDocumentaryFeesVo.setTotalAmount(insPlyIncomeVo.getOtherFeevalue()); //其他费用金额
|
|
|
settlementDocumentaryFeesVo.setUnsettledAmount(insPlyIncomeVo.getNoInvoicCommissionFeevalue().subtract(insPlyIncomeVo.getSettlementAmount())); //未结算
|
|
|
settlementDocumentaryFeesVo.setSettlementAmount(insPlyIncomeVo.getSettlementAmount());//已经开票
|
|
|
@@ -1390,7 +1418,16 @@ public class InsPlyIncomeServiceImpl extends ServiceImpl<InsPlyIncomeMapper, Ins
|
|
|
settlementDocumentaryFeesVo.setIds(insPlyIncomeVo.getIncomeIds());
|
|
|
settlementDocumentaryFeesVo.setSettlementStatus("1");
|
|
|
settlementDocumentaryFeesVo.setIsNotCar(insPlyIncomeVo.getIsNotCar());
|
|
|
- settlementDocumentaryFeesVo.setInvoiceId(insPlyIncomeVo.getContractId()); //开票号
|
|
|
+ if(StringUtils.isNotEmpty(insPlyIncomeVo.getContractId())){
|
|
|
+ settlementDocumentaryFeesVo.setInvoiceId(insPlyIncomeVo.getContractId()); //开票号
|
|
|
+ }
|
|
|
+ settlementDocumentaryFeesVo.setInvoicingMethod(insPlyIncomeVo.getInvoicingMethod()); //开票方式
|
|
|
+ settlementDocumentaryFeesVo.setTaxPoints(insPlyIncomeVo.getTaxPoints()); //税点
|
|
|
+ // 税点支出
|
|
|
+ if(BigDecimalUtils.nullToZero(insPlyIncomeVo.getTaxPoints()) !=null && BigDecimalUtils.nullToZero(insPlyIncomeVo.getSettlementAmount()) !=null){
|
|
|
+ BigDecimal settlementAmount = insPlyIncomeVo.getSettlementAmount();
|
|
|
+ settlementDocumentaryFeesVo.setExpendAmount(settlementAmount.multiply(BigDecimal.ONE.subtract(insPlyIncomeVo.getTaxPoints().divide(new BigDecimal(100)))));
|
|
|
+ }
|
|
|
return settlementDocumentaryFeesService.inertSettle(settlementDocumentaryFeesVo);
|
|
|
}
|
|
|
|