|
@@ -133,9 +133,7 @@ public class KingdeeApiImpl implements KingdeeApi {
|
|
|
String FMAINBOOKSTDCURRID = "PRE001";
|
|
String FMAINBOOKSTDCURRID = "PRE001";
|
|
|
String fid = "";
|
|
String fid = "";
|
|
|
List<ReceivableFEntityDetail> FEntityDetailList = new ArrayList<>();
|
|
List<ReceivableFEntityDetail> FEntityDetailList = new ArrayList<>();
|
|
|
- List<ExpenseOrderItemDO> expenseOrderItemDOS = orderItemMapper.selectList(new LambdaQueryWrapperX<ExpenseOrderItemDO>()
|
|
|
|
|
- .eq(ExpenseOrderItemDO::getExpenseOrderId, expenseOrderDO.getId())
|
|
|
|
|
- .eq(ExpenseOrderItemDO::getTenantId, tenantId));
|
|
|
|
|
|
|
+ List<ExpenseOrderItemDO> expenseOrderItemDOS = orderItemMapper.selectListByOrderId(expenseOrderDO.getId(),tenantId);
|
|
|
if (CollectionUtils.isEmpty(expenseOrderItemDOS)) {
|
|
if (CollectionUtils.isEmpty(expenseOrderItemDOS)) {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
@@ -143,6 +141,25 @@ public class KingdeeApiImpl implements KingdeeApi {
|
|
|
if(expenseOrderItemDO.getTotalAmount().compareTo(BigDecimal.ZERO) == 0){
|
|
if(expenseOrderItemDO.getTotalAmount().compareTo(BigDecimal.ZERO) == 0){
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
+ // 设施费不推送应收单
|
|
|
|
|
+ if(expenseOrderItemDO.getItemCategoryName() != null && expenseOrderItemDO.getItemCategoryName().contains("设施费")){
|
|
|
|
|
+ expenseOrderDO.setActualAmount(expenseOrderDO.getActualAmount().subtract(expenseOrderItemDO.getTotalAmount()));
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 赠送不推送应收单
|
|
|
|
|
+ if((expenseOrderItemDO.getIsFreeGift() != null && expenseOrderItemDO.getIsFreeGift() == 1)){
|
|
|
|
|
+ expenseOrderDO.setActualAmount(expenseOrderDO.getActualAmount().subtract(expenseOrderItemDO.getTotalAmount()));
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 押金不推送应收单
|
|
|
|
|
+ if((expenseOrderItemDO.getIsDeposit() != null && expenseOrderItemDO.getIsDeposit() == 1) ||
|
|
|
|
|
+ (expenseOrderItemDO.getItemCategoryName() != null &&
|
|
|
|
|
+ (expenseOrderItemDO.getItemCategoryName().contains("押金") ||
|
|
|
|
|
+ expenseOrderItemDO.getItemCategoryName().contains("预备金") ||
|
|
|
|
|
+ expenseOrderItemDO.getItemCategoryName().contains("保证金")))){
|
|
|
|
|
+ expenseOrderDO.setActualAmount(expenseOrderDO.getActualAmount().subtract(expenseOrderItemDO.getTotalAmount()));
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
// 床位费 CI047
|
|
// 床位费 CI047
|
|
|
// 膳食费 CI048
|
|
// 膳食费 CI048
|
|
|
// 护理费 CI050
|
|
// 护理费 CI050
|
|
@@ -174,6 +191,7 @@ public class KingdeeApiImpl implements KingdeeApi {
|
|
|
.build();
|
|
.build();
|
|
|
FEntityDetailList.add(entityDetail);
|
|
FEntityDetailList.add(entityDetail);
|
|
|
});
|
|
});
|
|
|
|
|
+ BigDecimal totalAmount = FEntityDetailList.stream().map(ReceivableFEntityDetail::getFALLAMOUNTFOR_D).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
YearMonth yearMonth = YearMonth.parse(expenseOrderDO.getBillingMonth());
|
|
YearMonth yearMonth = YearMonth.parse(expenseOrderDO.getBillingMonth());
|
|
|
ReceivableFsubHeadFinc headFinc = ReceivableFsubHeadFinc.builder()
|
|
ReceivableFsubHeadFinc headFinc = ReceivableFsubHeadFinc.builder()
|
|
|
.FACCNTTIMEJUDGETIME(yearMonth.atEndOfMonth().toString())
|
|
.FACCNTTIMEJUDGETIME(yearMonth.atEndOfMonth().toString())
|
|
@@ -181,7 +199,7 @@ public class KingdeeApiImpl implements KingdeeApi {
|
|
|
.FEXCHANGETYPE(KingdeeNumberDTO.builder().FNUMBER("HLTX01_SYS").build())
|
|
.FEXCHANGETYPE(KingdeeNumberDTO.builder().FNUMBER("HLTX01_SYS").build())
|
|
|
.FExchangeRate(new BigDecimal("1.0"))
|
|
.FExchangeRate(new BigDecimal("1.0"))
|
|
|
.FTaxAmountFor(new BigDecimal("0.0"))
|
|
.FTaxAmountFor(new BigDecimal("0.0"))
|
|
|
- .FNoTaxAmountFor(expenseOrderDO.getActualAmount())
|
|
|
|
|
|
|
+ .FNoTaxAmountFor(totalAmount)
|
|
|
.FISCARRIEDDATE(Boolean.FALSE.toString())
|
|
.FISCARRIEDDATE(Boolean.FALSE.toString())
|
|
|
.build();
|
|
.build();
|
|
|
ReceivableSaveModelDTO saveModelDTO = ReceivableSaveModelDTO.builder()
|
|
ReceivableSaveModelDTO saveModelDTO = ReceivableSaveModelDTO.builder()
|