|
|
@@ -26,6 +26,7 @@ import lombok.AllArgsConstructor;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
import org.springblade.core.tool.utils.BeanUtil;
|
|
|
+import org.springblade.los.Util.IDeptUtils;
|
|
|
import org.springblade.los.basic.business.entity.BusinessType;
|
|
|
import org.springblade.los.basic.business.service.IBusinessTypeService;
|
|
|
import org.springblade.los.basic.cur.service.IBCurrencyService;
|
|
|
@@ -55,6 +56,7 @@ import org.springblade.los.finance.stl.service.IFinStlBillsItemsService;
|
|
|
import org.springblade.los.finance.stl.service.IFinStlBillsService;
|
|
|
import org.springblade.los.finance.stl.service.IFinStlBillsVoucherItemsService;
|
|
|
import org.springblade.los.finance.stl.vo.FinStlBillsVO;
|
|
|
+import org.springblade.system.entity.Dept;
|
|
|
import org.springblade.system.feign.ISysClient;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
@@ -80,6 +82,8 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
|
|
|
private final ISysClient sysClient;
|
|
|
|
|
|
+ private final IDeptUtils deptUtils;
|
|
|
+
|
|
|
private final IFinStlBillsItemsService finStlBillsItemsService;
|
|
|
|
|
|
private final IFinStlBillsVoucherItemsService finStlBillsVoucherItemsService;
|
|
|
@@ -136,6 +140,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
public R submit(FinStlBills finStlBills) {
|
|
|
String deptId = "";
|
|
|
String deptName = "";
|
|
|
+ String branchId = "";
|
|
|
//获取部门ids对应中文名
|
|
|
if (ObjectUtils.isNotNull(AuthUtil.getDeptId())) {
|
|
|
deptId = AuthUtil.getDeptId();
|
|
|
@@ -143,6 +148,12 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {
|
|
|
deptName = String.join(",", res.getData());
|
|
|
}
|
|
|
+ Dept dept = deptUtils.getDept(AuthUtil.getDeptId());
|
|
|
+ if (dept != null) {
|
|
|
+ branchId = dept.getId() + "";
|
|
|
+ } else {
|
|
|
+ branchId = deptId;
|
|
|
+ }
|
|
|
}
|
|
|
if (finStlBills.getId() == null) {
|
|
|
BusinessType businessType = bBusinessTypeService.getOne(new LambdaQueryWrapper<BusinessType>()
|
|
|
@@ -168,7 +179,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
finStlBills.setCreateUserName(AuthUtil.getUserName());
|
|
|
if (ObjectUtils.isNotNull(AuthUtil.getDeptId())) {
|
|
|
finStlBills.setCreateDept(deptId);
|
|
|
- finStlBills.setBranchId(deptId);
|
|
|
+ finStlBills.setBranchId(branchId);
|
|
|
finStlBills.setCreateDeptName(deptName);
|
|
|
}
|
|
|
} else {
|
|
|
@@ -206,7 +217,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
item.setCreateUserName(AuthUtil.getUserName());
|
|
|
if (ObjectUtils.isNotNull(AuthUtil.getDeptId())) {
|
|
|
item.setCreateDept(deptId);
|
|
|
- item.setBranchId(deptId);
|
|
|
+ item.setBranchId(branchId);
|
|
|
item.setCreateDeptName(deptName);
|
|
|
}
|
|
|
} else {
|
|
|
@@ -309,47 +320,6 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
.eq(FeeCenter::getIsDeleted, 0));
|
|
|
List<FeeCenter> feeCenterListNew = reconciliationFeeCenter(detail, feeCenterList, 1);
|
|
|
feeCenterService.saveOrUpdateBatch(feeCenterListNew);
|
|
|
- /*List<Bills> billsList = new ArrayList<>();
|
|
|
- List<Long> ids = finAccBillsList.stream().map(FinAccBills::getBusinessBillId).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
- List<Long> idsD = finAccBillsList.stream().filter(e -> "D".equals(e.getAccountDc())).map(FinAccBills::getBusinessBillId).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
- List<Long> idsC = finAccBillsList.stream().filter(e -> "C".equals(e.getAccountDc())).map(FinAccBills::getBusinessBillId).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
- List<Long> divideIds = finAccBillsList.stream().map(FinAccBills::getBusinessBillDivideId).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
- List<Long> divideIdsD = finAccBillsList.stream().filter(e -> "D".equals(e.getAccountDc())).map(FinAccBills::getBusinessBillDivideId).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
- List<Long> divideIdsC = finAccBillsList.stream().filter(e -> "C".equals(e.getAccountDc())).map(FinAccBills::getBusinessBillDivideId).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
- if (ObjectUtils.isNotNull(ids) && ids.size() > 0) {
|
|
|
- billsList = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
- .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Bills::getIsDeleted, 0)
|
|
|
- .in(Bills::getId, ids));
|
|
|
- }
|
|
|
- if (ObjectUtils.isNotNull(divideIds) && divideIds.size() > 0) {
|
|
|
- List<Bills> divideBillsList = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
- .eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Bills::getIsDeleted, 0)
|
|
|
- .in(Bills::getId, divideIds));
|
|
|
- billsList.addAll(divideBillsList);
|
|
|
- }
|
|
|
- for (Bills item : billsList) {
|
|
|
- item.setBillingStatus(item.getBillingStatus() + 1);
|
|
|
- long countD = finAccBillsService.count(new LambdaQueryWrapper<FinAccBills>()
|
|
|
- .eq(FinAccBills::getBusinessBillId, item.getId())
|
|
|
- .eq(FinAccBills::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FinAccBills::getIsDeleted, 0)
|
|
|
- .eq(FinAccBills::getIsChecked, 0)
|
|
|
- .eq(FinAccBills::getAccountDc, "D"));
|
|
|
- long countC = finAccBillsService.count(new LambdaQueryWrapper<FinAccBills>()
|
|
|
- .eq(FinAccBills::getBusinessBillId, item.getId())
|
|
|
- .eq(FinAccBills::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(FinAccBills::getIsDeleted, 0)
|
|
|
- .eq(FinAccBills::getIsChecked, 0)
|
|
|
- .eq(FinAccBills::getAccountDc, "C"));
|
|
|
- if (item.getCheckDrStatus() != 9) {
|
|
|
- Bills bills = reconciliation(item, countD, divideIdsD, countC, divideIdsC, idsD, idsC);
|
|
|
- billsMapper.updateById(bills);
|
|
|
- } else {
|
|
|
- billsMapper.updateById(item);
|
|
|
- }
|
|
|
- }*/
|
|
|
finAccBillsService.saveOrUpdateBatch(finAccBillsList);
|
|
|
}
|
|
|
detail.setStatus(3);
|
|
|
@@ -544,7 +514,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
List<FinInvoicesItems> finInvoicesItemsList = finInvoicesItemsMapper.selectList(new LambdaQueryWrapper<FinInvoicesItems>()
|
|
|
.eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(FinInvoicesItems::getIsDeleted, 0)
|
|
|
- .in(FinInvoicesItems::getPid, ids));
|
|
|
+ .in(FinInvoicesItems::getId, ids));
|
|
|
if (finInvoicesItemsList.size() > 0) {
|
|
|
List<Long> pid = finInvoicesItemsList.stream().map(FinInvoicesItems::getPid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
|
|
|
List<FinInvoices> finInvoicesList = finInvoicesMapper.selectList(new LambdaQueryWrapper<FinInvoices>()
|
|
|
@@ -687,7 +657,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
.eq(FeeCenter::getIsDeleted, 0)
|
|
|
.eq(FeeCenter::getAccBillId, finAccBills.getId())
|
|
|
.eq(FeeCenter::getAccStatus, 1)
|
|
|
- .apply("amount != stl_ttl_amount")
|
|
|
+// .apply("amount != stl_ttl_amount")
|
|
|
.orderByDesc(FeeCenter::getCreateTime));
|
|
|
BigDecimal currentStlAmount = item.getCurrentStlAmount();
|
|
|
BigDecimal stlTtlAmount = feeCenters.stream().map(FeeCenter::getStlTtlAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
@@ -918,7 +888,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
.eq(FeeCenter::getIsDeleted, 0)
|
|
|
.eq(FeeCenter::getAccBillId, finAccBills.getId())
|
|
|
.eq(FeeCenter::getAccStatus, 1)
|
|
|
- .apply("stl_ttl_amount != 0")
|
|
|
+// .apply("stl_ttl_amount != 0")
|
|
|
.orderByDesc(FeeCenter::getCreateTime));
|
|
|
BigDecimal currentStlAmount = item.getCurrentStlAmount();
|
|
|
BigDecimal stlTtlAmount = feeCenters.stream().map(FeeCenter::getStlTtlAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
@@ -1364,6 +1334,16 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
finStlBills.setCorpCnName(finInvoices.get(0).getCorpCnName());
|
|
|
finStlBills.setCorpEnName(finInvoices.get(0).getCorpEnName());
|
|
|
finStlBills.setBusinessTypes(finInvoices.get(0).getBusinessTypes());
|
|
|
+ finStlBills.setBusinessNo(finInvoices.get(0).getBusinessNo());
|
|
|
+ finStlBills.setCheckNo(finInvoices.get(0).getCheckNo());
|
|
|
+ finStlBills.setMblno(finInvoices.get(0).getMblno());
|
|
|
+ finStlBills.setHblno(finInvoices.get(0).getHblno());
|
|
|
+ finStlBills.setVesselCnName(finInvoices.get(0).getVesselCnName());
|
|
|
+ finStlBills.setVesselId(finInvoices.get(0).getVesselId());
|
|
|
+ finStlBills.setVesselEnName(finInvoices.get(0).getVesselEnName());
|
|
|
+ finStlBills.setVoucherNo(finInvoices.get(0).getVoyageNo());
|
|
|
+ finStlBills.setCurCode(finInvoices.get(0).getCurCode());
|
|
|
+ finStlBills.setInvoiceNo(finInvoices.get(0).getInvoiceNo());
|
|
|
finStlBills.setDc(dc);
|
|
|
finStlBills.setRequestNo(finInvoices.stream().map(FinInvoices::getBillNo).filter(Objects::nonNull).distinct()
|
|
|
.collect(Collectors.joining(",")));
|
|
|
@@ -1402,10 +1382,12 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
.eq(FinStlBills::getStatus, "3")
|
|
|
.apply("find_in_set(id,'" + billId + "')"));
|
|
|
if (finStlBills1.size() > 0) {
|
|
|
- finStlBills.setCorpId(finStlBills1.get(0).getCorpId());
|
|
|
- finStlBills.setCorpCnName(finStlBills1.get(0).getCorpCnName());
|
|
|
- finStlBills.setCorpEnName(finStlBills1.get(0).getCorpEnName());
|
|
|
- finStlBills.setBusinessTypes(finStlBills1.get(0).getBusinessTypes());
|
|
|
+ BeanUtil.copyProperties(finStlBills1.get(0), finStlBills);
|
|
|
+ finStlBills.setId(null);
|
|
|
+ finStlBills.setStatus(0);
|
|
|
+ finStlBills.setBillStatus("0");
|
|
|
+ finStlBills.setBusinessType("STL");
|
|
|
+ finStlBills.setBillDate(new Date());
|
|
|
finStlBills.setDc(dc);
|
|
|
finStlBills.setRequestNo(finStlBills1.stream().map(FinStlBills::getBillNo).filter(Objects::nonNull).distinct()
|
|
|
.collect(Collectors.joining(",")));
|