|
|
@@ -218,11 +218,11 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
}
|
|
|
this.saveOrUpdate(finStlBills);
|
|
|
if (ObjectUtils.isNotNull(finStlBills.getFinStlBillsItemsList())) {
|
|
|
- List<String> branchIdList = finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getBranchId)
|
|
|
+ /* List<String> branchIdList = finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getBranchId)
|
|
|
.distinct().collect(Collectors.toList());
|
|
|
if (branchIdList.size() > 1) {
|
|
|
throw new RuntimeException("请选择同一个所属公司明细");
|
|
|
- }
|
|
|
+ }*/
|
|
|
List<FinStlBillsItems> finStlBillsItemsList = new ArrayList<>();
|
|
|
BigDecimal amountDrCNY = new BigDecimal("0.00");
|
|
|
BigDecimal amountCrCNY = new BigDecimal("0.00");
|
|
|
@@ -285,17 +285,58 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
finStlBills.setAmountCrUsd(amountCrUSD);
|
|
|
finStlBills.setAmountDrLoc(amountDrLoc);
|
|
|
finStlBills.setAmountCrLoc(amountCrLoc);
|
|
|
- if ("C".equals(finStlBills.getDc())){
|
|
|
+ if ("C".equals(finStlBills.getDc())) {
|
|
|
finStlBills.setAmountSub(finStlBills.getAmountCr().subtract(finStlBills.getAmountDr()));
|
|
|
finStlBills.setAmountSubUsd(finStlBills.getAmountCrUsd().subtract(finStlBills.getAmountDrUsd()));
|
|
|
finStlBills.setAmountSubLoc(finStlBills.getAmountCrLoc().subtract(finStlBills.getAmountDrLoc()));
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
finStlBills.setAmountSub(finStlBills.getAmountDr().subtract(finStlBills.getAmountCr()));
|
|
|
finStlBills.setAmountSubUsd(finStlBills.getAmountDrUsd().subtract(finStlBills.getAmountCrUsd()));
|
|
|
finStlBills.setAmountSubLoc(finStlBills.getAmountDrLoc().subtract(finStlBills.getAmountCrLoc()));
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+ //附件
|
|
|
+ List<Long> ids = finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getSrcIdInvoices).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
+ if (!ids.isEmpty()) {
|
|
|
+ List<Long> filePidList = new ArrayList<>();
|
|
|
+ if ("D".equals(finStlBills.getDc())) {
|
|
|
+ List<FinInvoicesItems> finInvoicesItemsList = finInvoicesItemsMapper.selectList(new LambdaQueryWrapper<FinInvoicesItems>()
|
|
|
+ .eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FinInvoicesItems::getIsDeleted, 0)
|
|
|
+ .in(FinInvoicesItems::getId, ids));
|
|
|
+ if (!finInvoicesItemsList.isEmpty()) {
|
|
|
+ filePidList = finInvoicesItemsList.stream().map(FinInvoicesItems::getPid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ List<FinStlBillsItems> finStlBillsItems = finStlBillsItemsService.list(new LambdaQueryWrapper<FinStlBillsItems>()
|
|
|
+ .eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FinStlBillsItems::getIsDeleted, 0)
|
|
|
+ .in(FinStlBillsItems::getId, ids));
|
|
|
+ if (!finStlBillsItems.isEmpty()) {
|
|
|
+ filePidList = finStlBillsItems.stream().map(FinStlBillsItems::getPid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!filePidList.isEmpty()) {
|
|
|
+ List<FilesCenter> filesCenterList = filesCenterService.list(new LambdaQueryWrapper<FilesCenter>()
|
|
|
+ .eq(FilesCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(FilesCenter::getIsDeleted, 0)
|
|
|
+ .in(FilesCenter::getPid, filePidList));
|
|
|
+ if (!filesCenterList.isEmpty()) {
|
|
|
+ List<FilesCenter> filesCenters = new ArrayList<>();
|
|
|
+ for (FilesCenter item : filesCenterList) {
|
|
|
+ item.setId(null);
|
|
|
+ item.setCreateTime(new Date());
|
|
|
+ item.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ item.setCreateUser(AuthUtil.getUserId());
|
|
|
+ item.setPid(finStlBills.getId());
|
|
|
+ item.setUpdateTime(null);
|
|
|
+ item.setUpdateUserName(null);
|
|
|
+ item.setUpdateUser(null);
|
|
|
+ filesCenters.add(item);
|
|
|
+ }
|
|
|
+ filesCenterService.saveBatch(filesCenters);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
throw new RuntimeException("请选择明细");
|
|
|
}
|
|
|
@@ -330,11 +371,11 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
FinStlBills detail = baseMapper.selectById(finStlBills.getId());
|
|
|
String exrateType = currencyUtils.standardCurrency(detail.getBranchId());
|
|
|
if (ObjectUtils.isNotNull(finStlBills.getFinStlBillsItemsList())) {
|
|
|
- List<String> branchIdList = finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getBranchId)
|
|
|
+ /* List<String> branchIdList = finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getBranchId)
|
|
|
.distinct().collect(Collectors.toList());
|
|
|
if (branchIdList.size() > 1) {
|
|
|
throw new RuntimeException("请选择同一个所属公司明细");
|
|
|
- }
|
|
|
+ }*/
|
|
|
detail.setBusinessNo(finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getBillNo).distinct().collect(Collectors.joining(",")));
|
|
|
detail.setAccountNo(finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getAccBillNo).distinct().collect(Collectors.joining(",")));
|
|
|
detail.setMblno(finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getMblno).distinct().collect(Collectors.joining(",")));
|
|
|
@@ -771,11 +812,11 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
FinStlBills detail = baseMapper.selectById(finStlBills.getId());
|
|
|
String exrateType = currencyUtils.standardCurrency(detail.getBranchId());
|
|
|
if (ObjectUtils.isNotNull(finStlBills.getFinStlBillsItemsList())) {
|
|
|
- List<String> branchIdList = finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getBranchId)
|
|
|
+ /*List<String> branchIdList = finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getBranchId)
|
|
|
.distinct().collect(Collectors.toList());
|
|
|
if (branchIdList.size() > 1) {
|
|
|
throw new RuntimeException("请选择同一个所属公司明细");
|
|
|
- }
|
|
|
+ }*/
|
|
|
detail.setBusinessNo(finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getBillNo).distinct().collect(Collectors.joining(",")));
|
|
|
detail.setAccountNo(finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getAccBillNo).distinct().collect(Collectors.joining(",")));
|
|
|
detail.setMblno(finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getMblno).distinct().collect(Collectors.joining(",")));
|
|
|
@@ -786,6 +827,8 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
detail.setFeeCode(finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getFeeCode).distinct().collect(Collectors.joining(",")));
|
|
|
List<Long> ids = finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getSrcIdInvoices).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
if (!ids.isEmpty()) {
|
|
|
+ List<FilesCenter> filesCenterList = finStlBills.getFileList();
|
|
|
+ List<FilesCenter> filesCenters = new ArrayList<>();
|
|
|
if ("D".equals(finStlBills.getDc())) {
|
|
|
List<FinInvoicesItems> finInvoicesItemsList = finInvoicesItemsMapper.selectList(new LambdaQueryWrapper<FinInvoicesItems>()
|
|
|
.eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
|
|
|
@@ -811,6 +854,17 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
item.setBillStatus("1");
|
|
|
finInvoicesMapper.updateById(item);
|
|
|
}
|
|
|
+ for (FilesCenter filesCenter : filesCenterList) {
|
|
|
+ filesCenter.setId(null);
|
|
|
+ filesCenter.setCreateTime(new Date());
|
|
|
+ filesCenter.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ filesCenter.setCreateUser(AuthUtil.getUserId());
|
|
|
+ filesCenter.setPid(item.getId());
|
|
|
+ filesCenter.setUpdateTime(null);
|
|
|
+ filesCenter.setUpdateUserName(null);
|
|
|
+ filesCenter.setUpdateUser(null);
|
|
|
+ filesCenters.add(filesCenter);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
for (FinInvoicesItems item : finInvoicesItemsList) {
|
|
|
@@ -844,11 +898,25 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
if (invoicesItemsSum.size() == finInvoicesItems.size()) {
|
|
|
item.setBillStatus("1");
|
|
|
}
|
|
|
+ for (FilesCenter filesCenter : filesCenterList) {
|
|
|
+ filesCenter.setId(null);
|
|
|
+ filesCenter.setCreateTime(new Date());
|
|
|
+ filesCenter.setCreateUserName(AuthUtil.getUserName());
|
|
|
+ filesCenter.setCreateUser(AuthUtil.getUserId());
|
|
|
+ filesCenter.setPid(item.getId());
|
|
|
+ filesCenter.setUpdateTime(null);
|
|
|
+ filesCenter.setUpdateUserName(null);
|
|
|
+ filesCenter.setUpdateUser(null);
|
|
|
+ filesCenters.add(filesCenter);
|
|
|
+ }
|
|
|
}
|
|
|
this.updateBatchById(finStlBills2);
|
|
|
finStlBillsItemsService.saveOrUpdateBatch(finStlBillsItemsList);
|
|
|
}
|
|
|
}
|
|
|
+ if (!filesCenters.isEmpty()){
|
|
|
+ filesCenterService.saveBatch(filesCenters);
|
|
|
+ }
|
|
|
}
|
|
|
List<FinAccBills> finAccBillsList = new ArrayList<>();
|
|
|
List<FeeCenter> feeCenterList = new ArrayList<>();
|
|
|
@@ -1642,11 +1710,11 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
detail.setStatus(1);
|
|
|
detail.setAuditDateFrom(new Date());
|
|
|
if (ObjectUtils.isNotNull(finStlBills.getFinStlBillsItemsList())) {
|
|
|
- List<String> branchIdList = finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getBranchId)
|
|
|
+ /*List<String> branchIdList = finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getBranchId)
|
|
|
.distinct().collect(Collectors.toList());
|
|
|
if (branchIdList.size() > 1) {
|
|
|
throw new RuntimeException("请选择同一个所属公司明细");
|
|
|
- }
|
|
|
+ }*/
|
|
|
detail.setBusinessNo(finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getBillNo).distinct().collect(Collectors.joining(",")));
|
|
|
detail.setAccountNo(finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getAccBillNo).distinct().collect(Collectors.joining(",")));
|
|
|
detail.setMblno(finStlBills.getFinStlBillsItemsList().stream().map(FinStlBillsItems::getMblno).distinct().collect(Collectors.joining(",")));
|