获取不到登录人

This commit is contained in:
王奎兴
2026-09-07 16:27:58 +08:00
parent 49fb27f273
commit aad54545f1
2 changed files with 126 additions and 2 deletions
@@ -233,6 +233,124 @@ public class BillManageDomainService {
return flag && flagTwo && three;
}
public Boolean saveBillJob(List<BillingStatementPO> billingStatementPOS,String billingRemark,Date billCreateTime,BillingStatementDTO billingStatementDTO) {
// LoginUser loginUser = SecurityUtils.getLoginUser();
// if (ObjectUtil.isNull(loginUser)) {
//// throw new DigitalLogisticsException(UserError.TIMEOUT);
// }
BigDecimal taxAmount = billingStatementDTO.getTaxAmount(); // 获取税额
Double taxRate = billingStatementDTO.getTaxRate(); // 获取税率
BigDecimal taxFreeFee = billingStatementDTO.getTaxFreeFee(); // 获取税免金额
String settlementCurrency = billingStatementDTO.getSettlementCurrency(); // 获取结算币种
BillManage billManage = new BillManage();
billManage.setTaxAmount(taxAmount);
billManage.setTaxRate(taxRate);
billManage.setTaxFreeFee(taxFreeFee);
billManage.setSettlementCurrency(settlementCurrency);
// billManage.setCreateBy(loginUser.getUserPo().getUserId());
// billManage.setCreateByName(loginUser.getUserPo().getUserName());
billManage.setCreateTime(billCreateTime==null ? new Date():billCreateTime);
billManage.setDelFlag(1);
billManage.setBillNumber(OrderSequence.getOrderCode("ZD"));
billManage.setTopOrganizationId(billingStatementDTO.getTopOrganizationId());
billManage.setOrganizationId(billingStatementDTO.getOrganizationId());
billManage.setOrganizationName(billingStatementDTO.getOrganizationName());
billManage.setBillType(billingStatementPOS.get(0).getAccountExpenseType());
billManage.setBelongModule(billingStatementPOS.get(0).getBelongModule());
billManage.setBelongModuleCode(billingStatementPOS.get(0).getBelongModuleCode());
billManage.setSettlementCustomersId(billingStatementPOS.get(0).getSettlementCustomersId());
billManage.setSettlementEntity(billingStatementPOS.get(0).getSettlementEntity());
billManage.setSettlementCustomersCode(billingStatementPOS.get(0).getSettlementCustomersCode());
billManage.setSalesmanId(billingStatementPOS.get(0).getSalesmanId());
billManage.setSalesmanName(billingStatementPOS.get(0).getSalesmanName());
billManage.setPaymentAccountId(billingStatementPOS.get(0).getPaymentAccountId());
billManage.setPaymentAccountName(billingStatementPOS.get(0).getPaymentAccountName());
billManage.setBillRemark(billingRemark);
//查询结算对象信息
SettlementCustomersPO settlementCustomersPO = settlementCustomersDomainService.getInfo(billingStatementPOS.get(0).getSettlementCustomersId());
if(null == settlementCustomersPO){
throw new ServiceException("结算对象信息未找到");
}
billManage.setSettlementMethod(settlementCustomersPO.getSettlementMethod());
billManage.setSettlementMethodCode(settlementCustomersPO.getSettlementMethodCode());
// if(settlementCustomersPO.getMainRole()==1){
// billManage.setBillType(1);
// }else {
// billManage.setBillType(2);
// }
//计算所有流水列表中的最早周期开始时间和晚周期结束时间
List<Date> cycleBeginTimeSet = billingStatementPOS.stream().map(BillingStatementPO::getCycleBeginTime).collect(Collectors.toList());
List<Date> cycleEndTimeSet = billingStatementPOS.stream().map(BillingStatementPO::getCycleEndTime).collect(Collectors.toList());
cycleBeginTimeSet.removeIf(Objects::isNull);
cycleEndTimeSet.removeIf(Objects::isNull);
if(cycleBeginTimeSet.size()>0){
billManage.setCycleBeginTime(Collections.min(cycleBeginTimeSet));
}
if(cycleEndTimeSet.size()>0){
billManage.setCycleEndTime(Collections.max(cycleEndTimeSet));
}
//将所有的流水金额相加
billManage.setBillTotalAmount(billingStatementPOS.stream().map(BillingStatementPO::getBillingAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
billManage.setBillAmount(billManage.getBillTotalAmount());
billManage.setBillAmountUnsettled(billManage.getBillTotalAmount());
boolean flag = billManageService.save(billManage);
billingStatementDTO.setBillManageId(billManage.getBillManageId());
List<BillDetail> billDetailList = new ArrayList<>();
for (BillingStatementPO billingStatementPO : billingStatementPOS) {
//生成对账单详情
BillDetail billDetail = new BillDetail();
billDetail.setTopOrganizationId(billingStatementPO.getTopOrganizationId());
billDetail.setOrganizationId(billingStatementPO.getOrganizationId());
billDetail.setOrganizationName(billingStatementPO.getOrganizationName());
billDetail.setCreateBy(billManage.getCreateBy());
billDetail.setCreateByName(billManage.getCreateByName());
billDetail.setCreateTime(billManage.getCreateTime());
billDetail.setBillManageId(billManage.getBillManageId());
billDetail.setBillNumber(billManage.getBillNumber());
billDetail.setBillingStatementId(billingStatementPO.getBillingStatementId());
billDetail.setBillingFlow(billingStatementPO.getBillingFlow());
billDetail.setBillingTotalAmount(billingStatementPO.getBillingAmount());
billDetail.setBillingAmount(billingStatementPO.getBillingAmount());
billDetail.setBillType(billingStatementPO.getAccountExpenseType());
billDetail.setTaxAmount(billingStatementPO.getTaxAmount());
billDetail.setTaxRate(billingStatementPO.getTaxRate());
billDetail.setTaxFreeFee(billingStatementPO.getTaxFreeFee());
billDetail.setSettlementCurrency(billingStatementPO.getSettlementCurrency());
billDetail.setFeeType(billingStatementPO.getFeeType());
billDetail.setInvoiceItem(billingStatementPO.getInvoiceItem());
billDetail.setInvoiceItemName(billingStatementPO.getInvoiceItemName());
billDetailList.add(billDetail);
}
boolean flagTwo = billDetailDomainService.insertBatch(billDetailList);
//保存账单操作记录
BillOperationLogDO billOperationLogDO = new BillOperationLogDO();
billOperationLogDO.setBillManageId(billManage.getBillManageId());
billOperationLogDO.setOperationInfo(StringUtils.format(BillLogsConstants.create_bill_text, billManage.getBillNumber(), billManage.getBillTotalAmount()));
billOperationLogDO.setOperationType(1);
billOperationLogDO.setCreateByName(billManage.getCreateByName());
billOperationLogDO.setUpdateByName(billManage.getUpdateByName());
billOperationLogDO.setCreateTime(new Date());
billOperationLogDO.setUpdateTime(new Date());
billOperationLogDO.setDelFlag(1);
billOperationLogDO.setCreateBy(billManage.getCreateBy());
billOperationLogDO.setUpdateBy(billManage.getUpdateBy());
billOperationLogDO.setTopOrganizationId(billManage.getTopOrganizationId());
billOperationLogDO.setOrganizationId(billManage.getOrganizationId());
billOperationLogDO.setOrganizationName(billManage.getOrganizationName());
boolean three = billOperationLogDomainService.saveBillOperationLogJob(billOperationLogDO);
//修改流水记录
/*billingStatementDTO.getBillingStatementList().forEach(billingStatementADDVO -> {
billingStatementMapper.update(null,
new LambdaUpdateWrapper<BillingStatement>().set(BillingStatement::getTaxAmount,billingStatementADDVO.getTaxAmount())
.set(BillingStatement::getTaxRate,billingStatementADDVO.getTaxRate())
.set(BillingStatement::getTaxFreeFee,billingStatementADDVO.getTaxFreeFee())
.set(BillingStatement::getSettlementCurrency,billingStatementADDVO.getSettlementCurrency())
.eq(BillingStatement::getBillingStatementId,billingStatementADDVO.getBillingStatementId()));
});*/
return flag && flagTwo && three;
}
/**
* 保存账单
* @param billingStatementDTO
@@ -351,7 +469,7 @@ public class BillManageDomainService {
if(billingStatementPOS==null || billingStatementPOS.size()==0){
throw new ServiceException("所选流水信息未找到");
}
return saveBill(distinctList,billingStatementDTO.getBillingRemark(),billingStatementDTO.getBillCreateTime(),billingStatementDTO);
return saveBillJob(distinctList,billingStatementDTO.getBillingRemark(),billingStatementDTO.getBillCreateTime(),billingStatementDTO);
}
@@ -95,6 +95,12 @@ public class BillOperationLogDomainService {
return billOperationLogService.insert(billOperationLogDO);
}
public Boolean saveBillOperationLogJob(BillOperationLogDO billOperationLogDO) {
billOperationLogDO.setDelFlag(1);
return billOperationLogService.insert(billOperationLogDO);
}
/**
* 批量保存操作日志
@@ -161,4 +167,4 @@ public class BillOperationLogDomainService {
public List<BillOperationLogPO> getDetailsById(Long billManageId) {
return billOperationLogService.getDetailsById(billManageId);
}
}
}