Browse Source

1.创建用户-用户类型不对修改
2.申请修改,删除增加校验接口
3.账期-结转接口逻辑修改

纪新园 5 months ago
parent
commit
a3fc86237f

+ 1 - 1
blade-service/blade-los/src/main/java/org/springblade/los/basic/corps/controller/BCorpsController.java

@@ -508,7 +508,7 @@ public class BCorpsController extends BladeController {
 	}
 
 	/**
-	 * 分页 物流-基础资料-往来单位
+	 * 获取当前登录人对应客户信息
 	 */
 	@GetMapping("/getBCorps")
 	public R<BCorps> getBCorps(Long userId) {

+ 1 - 1
blade-service/blade-los/src/main/java/org/springblade/los/basic/corps/service/impl/BCorpsAttnServiceImpl.java

@@ -81,7 +81,7 @@ public class BCorpsAttnServiceImpl extends ServiceImpl<CorpsAttnMapper, BCorpsAt
 		saveUser.setName(bCorpsAttn.getCname());
 		saveUser.setRealName(bCorpsAttn.getCname());
 		saveUser.setEmail(bCorpsAttn.getEmail());
-		saveUser.setUserType(0);
+		saveUser.setUserType(1);
 		saveUser.setPhone(bCorpsAttn.getTel());
 		saveUser.setDeptId(bCorpsAttn.getBranchId());
 		//获取注册用户类型

+ 9 - 0
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/controller/FeeCenterUpdateRecordController.java

@@ -132,6 +132,15 @@ public class FeeCenterUpdateRecordController extends BladeController {
 		return R.status(feeCenterUpdateRecordService.removeByIds(Func.toLongList(ids)));
 	}
 
+	/**
+	 * 请核费用校验
+	 */
+	@PostMapping("/applyUpdateCheck")
+	@RepeatSubmit
+	public R applyUpdateCheck(@Valid @RequestBody FeeCenterUpdateRecord feeCenterUpdateRecord) {
+		return feeCenterUpdateRecordService.applyUpdateCheck(feeCenterUpdateRecord);
+	}
+
 
 	/**
 	 * 请核费用

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/IFeeCenterUpdateRecordService.java

@@ -43,4 +43,6 @@ public interface IFeeCenterUpdateRecordService extends IService<FeeCenterUpdateR
 	R applyUpdate(FeeCenterUpdateRecord feeCenterUpdateRecord);
 
 	R revokeapplyUpdate(Long itemId , Long billId);
+
+	R applyUpdateCheck(FeeCenterUpdateRecord feeCenterUpdateRecord);
 }

+ 130 - 119
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/impl/FeeCenterUpdateRecordServiceImpl.java

@@ -112,124 +112,6 @@ public class FeeCenterUpdateRecordServiceImpl extends ServiceImpl<FeeCenterUpdat
 			throw new RuntimeException("未查到费用明细");
 		}
 		String exrateType = currencyUtils.standardCurrency(feeCenter.getBranchId());
-		String branchId;
-		Date billDate;
-		if ("SE,SI".contains(feeCenter.getBusinessType())) {
-			Bills bills = billsMapper.selectById(feeCenter.getPid());
-			if (bills == null) {
-				throw new RuntimeException("未查到费用明细所在单据信息");
-			}
-			if ("SE".equals(bills.getBusinessType())) {
-				billDate = bills.getEtd();
-			} else {
-				billDate = bills.getActualEta();
-			}
-			branchId = bills.getBranchId();
-		}else if ("ASE,ASI".contains(feeCenter.getBusinessType())) {
-			Amends bills = amendsMapper.selectById(feeCenter.getPid());
-			if (bills == null) {
-				throw new RuntimeException("未查到费用明细所在单据信息");
-			}
-			if ("SE".equals(bills.getBusinessType())) {
-				billDate = bills.getEtd();
-			} else {
-				billDate = feeCenter.getBillDate();
-			}
-			branchId = bills.getBranchId();
-		} else {
-			throw new RuntimeException("未查到费用明细所在单据信息");
-		}
-		if ("1,2,3".contains(feeCenter.getAuditStatus())) {
-			throw new RuntimeException("费用明细审核未通过");
-		}
-		if ("5,6".contains(feeCenter.getAuditStatus())) {
-			throw new RuntimeException("该条费用明细正在审核中");
-		}
-		if (ObjectUtils.isNotNull(billDate)) {
-			LocalDate date = billDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
-			int year = date.getYear();
-			int month = date.getMonthValue();
-			FinPeriod finPeriod = finPeriodMapper.selectOne(new LambdaQueryWrapper<FinPeriod>()
-				.eq(FinPeriod::getTenantId, AuthUtil.getTenantId())
-				.eq(FinPeriod::getBranchId, branchId)
-				.eq(FinPeriod::getIsDeleted, 0)
-				.eq(FinPeriod::getPeriodYear, year)
-				.eq(FinPeriod::getPeriodMonth, month));
-			if (finPeriod != null) {
-				if (1 == finPeriod.getIsClosed()) {
-					throw new RuntimeException(year + "年" + month + "月账期已结转,保存失败");
-				}
-				if (1 == finPeriod.getLockingStatus()) {
-					throw new RuntimeException(year + "年" + month + "月账期已锁定,保存失败");
-				}
-			}
-		}
-		List<FinInvoicesItems> finInvoicesItems = finInvoicesItemsMapper.selectList(new LambdaQueryWrapper<FinInvoicesItems>()
-			.eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
-			.eq(FinInvoicesItems::getIsDeleted, 0)
-			.eq(FinInvoicesItems::getAccBillId, feeCenter.getAccBillId()));
-		if (!finInvoicesItems.isEmpty()) {
-			List<Long> finInvoicesIds = finInvoicesItems.stream().map(FinInvoicesItems::getPid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
-			String finInvoices = finInvoicesMapper.selectList(new LambdaQueryWrapper<FinInvoices>()
-				.eq(FinInvoices::getTenantId, AuthUtil.getTenantId())
-				.eq(FinInvoices::getIsDeleted, 0)
-				.in(FinInvoices::getId, finInvoicesIds)).stream().map(FinInvoices::getBillNo).collect(Collectors.joining(","));
-			throw new RuntimeException("账单已生成发票单,撤销失败! 发票单号为:" + finInvoices);
-		}
-		List<FinStlBillsItems> finStlBillsItemsCHK = finStlBillsItemsMapper.selectList(new LambdaQueryWrapper<FinStlBillsItems>()
-			.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
-			.eq(FinStlBillsItems::getIsDeleted, 0)
-			.eq(FinStlBillsItems::getItemType, "CHK")
-			.eq(FinStlBillsItems::getAccBillId, feeCenter.getAccBillId()));
-		if (!finStlBillsItemsCHK.isEmpty()) {
-			List<Long> finStlBillsIds = finStlBillsItemsCHK.stream().map(FinStlBillsItems::getPid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
-			String finStlBills = finStlBillsMapper.selectList(new LambdaQueryWrapper<FinStlBills>()
-				.eq(FinStlBills::getTenantId, AuthUtil.getTenantId())
-				.eq(FinStlBills::getIsDeleted, 0)
-				.in(FinStlBills::getId, finStlBillsIds)).stream().map(FinStlBills::getBillNo).collect(Collectors.joining(","));
-			throw new RuntimeException("账单已生成对账单,撤销失败! 对账单号为:" + finStlBills);
-		}
-		List<FinStlBillsItems> finStlBillsItemsSTLD = finStlBillsItemsMapper.selectList(new LambdaQueryWrapper<FinStlBillsItems>()
-			.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
-			.eq(FinStlBillsItems::getIsDeleted, 0)
-			.eq(FinStlBillsItems::getItemType, "STL")
-			.eq(FinStlBillsItems::getDc, "D")
-			.eq(FinStlBillsItems::getAccBillId, feeCenter.getAccBillId()));
-		if (!finStlBillsItemsSTLD.isEmpty()) {
-			List<Long> finStlBillsIds = finStlBillsItemsSTLD.stream().map(FinStlBillsItems::getPid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
-			String finStlBills = finStlBillsMapper.selectList(new LambdaQueryWrapper<FinStlBills>()
-				.eq(FinStlBills::getTenantId, AuthUtil.getTenantId())
-				.eq(FinStlBills::getIsDeleted, 0)
-				.in(FinStlBills::getId, finStlBillsIds)).stream().map(FinStlBills::getBillNo).collect(Collectors.joining(","));
-			throw new RuntimeException("账单已生成收款单,撤销失败! 收款单号为:" + finStlBills);
-		}
-		List<FinStlBillsItems> finStlBillsItemsSTLC = finStlBillsItemsMapper.selectList(new LambdaQueryWrapper<FinStlBillsItems>()
-			.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
-			.eq(FinStlBillsItems::getIsDeleted, 0)
-			.eq(FinStlBillsItems::getItemType, "STL")
-			.eq(FinStlBillsItems::getDc, "C")
-			.eq(FinStlBillsItems::getAccBillId, feeCenter.getAccBillId()));
-		if (!finStlBillsItemsSTLC.isEmpty()) {
-			List<Long> finStlBillsIds = finStlBillsItemsSTLC.stream().map(FinStlBillsItems::getPid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
-			String finStlBills = finStlBillsMapper.selectList(new LambdaQueryWrapper<FinStlBills>()
-				.eq(FinStlBills::getTenantId, AuthUtil.getTenantId())
-				.eq(FinStlBills::getIsDeleted, 0)
-				.in(FinStlBills::getId, finStlBillsIds)).stream().map(FinStlBills::getBillNo).collect(Collectors.joining(","));
-			throw new RuntimeException("账单已生成付款单,撤销失败! 付款单号为:" + finStlBills);
-		}
-		List<FinStlBillsItems> finStlBillsItemsFFSQ = finStlBillsItemsMapper.selectList(new LambdaQueryWrapper<FinStlBillsItems>()
-			.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
-			.eq(FinStlBillsItems::getIsDeleted, 0)
-			.eq(FinStlBillsItems::getItemType, "FFSQ")
-			.eq(FinStlBillsItems::getAccBillId, feeCenter.getAccBillId()));
-		if (!finStlBillsItemsFFSQ.isEmpty()) {
-			List<Long> finStlBillsIds = finStlBillsItemsFFSQ.stream().map(FinStlBillsItems::getPid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
-			String finStlBills = finStlBillsMapper.selectList(new LambdaQueryWrapper<FinStlBills>()
-				.eq(FinStlBills::getTenantId, AuthUtil.getTenantId())
-				.eq(FinStlBills::getIsDeleted, 0)
-				.in(FinStlBills::getId, finStlBillsIds)).stream().map(FinStlBills::getBillNo).collect(Collectors.joining(","));
-			throw new RuntimeException("账单已付费申请,撤销失败! 付费申请单号为:" + finStlBills);
-		}
 		if ("0".equals(feeCenterUpdateRecord.getType())) {
 			feeCenter.setAuditStatus("5");
 		} else {
@@ -250,7 +132,6 @@ public class FeeCenterUpdateRecordServiceImpl extends ServiceImpl<FeeCenterUpdat
 		if ("0".equals(feeCenterUpdateRecord.getType())) {
 			// 金额
 			BigDecimal amount = feeCenterUpdateRecord.getAmountUpdate();
-
 			//计算字段null值处理
 			feeCenterUpdateRecord.setQuantityUpdate(ObjectUtils.isNotNull(feeCenterUpdateRecord.getQuantityUpdate()) ? feeCenterUpdateRecord.getQuantityUpdate() : new BigDecimal("0.00"));
 			feeCenterUpdateRecord.setPriceUpdate(ObjectUtils.isNotNull(feeCenterUpdateRecord.getPriceUpdate()) ? feeCenterUpdateRecord.getPriceUpdate() : new BigDecimal("0.00"));
@@ -405,4 +286,134 @@ public class FeeCenterUpdateRecordServiceImpl extends ServiceImpl<FeeCenterUpdat
 		return R.data("操作成功");
 	}
 
+	@Override
+	public R applyUpdateCheck(FeeCenterUpdateRecord feeCenterUpdateRecord) {
+		if (feeCenterUpdateRecord.getItemId() == null) {
+			throw new RuntimeException("缺少必要参数");
+		}
+		FeeCenter feeCenter = feeCenterService.getById(feeCenterUpdateRecord.getItemId());
+		if (feeCenter == null) {
+			throw new RuntimeException("未查到费用明细");
+		}
+		String branchId;
+		Date billDate;
+		if ("SE,SI".contains(feeCenter.getBusinessType())) {
+			Bills bills = billsMapper.selectById(feeCenter.getPid());
+			if (bills == null) {
+				throw new RuntimeException("未查到费用明细所在单据信息");
+			}
+			if ("SE".equals(bills.getBusinessType())) {
+				billDate = bills.getEtd();
+			} else {
+				billDate = bills.getActualEta();
+			}
+			branchId = bills.getBranchId();
+		}else if ("ASE,ASI".contains(feeCenter.getBusinessType())) {
+			Amends bills = amendsMapper.selectById(feeCenter.getPid());
+			if (bills == null) {
+				throw new RuntimeException("未查到费用明细所在单据信息");
+			}
+			if ("SE".equals(bills.getBusinessType())) {
+				billDate = bills.getEtd();
+			} else {
+				billDate = feeCenter.getBillDate();
+			}
+			branchId = bills.getBranchId();
+		} else {
+			throw new RuntimeException("未查到费用明细所在单据信息");
+		}
+		if ("1,2,3".contains(feeCenter.getAuditStatus())) {
+			throw new RuntimeException("费用明细审核未通过");
+		}
+		if ("5,6".contains(feeCenter.getAuditStatus())) {
+			throw new RuntimeException("该条费用明细正在审核中");
+		}
+		if (ObjectUtils.isNotNull(billDate)) {
+			LocalDate date = billDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+			int year = date.getYear();
+			int month = date.getMonthValue();
+			FinPeriod finPeriod = finPeriodMapper.selectOne(new LambdaQueryWrapper<FinPeriod>()
+				.eq(FinPeriod::getTenantId, AuthUtil.getTenantId())
+				.eq(FinPeriod::getBranchId, branchId)
+				.eq(FinPeriod::getIsDeleted, 0)
+				.eq(FinPeriod::getPeriodYear, year)
+				.eq(FinPeriod::getPeriodMonth, month));
+			if (finPeriod != null) {
+				if (1 == finPeriod.getIsClosed()) {
+					throw new RuntimeException(year + "年" + month + "月账期已结转,保存失败");
+				}
+				if (1 == finPeriod.getLockingStatus()) {
+					throw new RuntimeException(year + "年" + month + "月账期已锁定,保存失败");
+				}
+			}
+		}
+		List<FinInvoicesItems> finInvoicesItems = finInvoicesItemsMapper.selectList(new LambdaQueryWrapper<FinInvoicesItems>()
+			.eq(FinInvoicesItems::getTenantId, AuthUtil.getTenantId())
+			.eq(FinInvoicesItems::getIsDeleted, 0)
+			.eq(FinInvoicesItems::getAccBillId, feeCenter.getAccBillId()));
+		if (!finInvoicesItems.isEmpty()) {
+			List<Long> finInvoicesIds = finInvoicesItems.stream().map(FinInvoicesItems::getPid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+			String finInvoices = finInvoicesMapper.selectList(new LambdaQueryWrapper<FinInvoices>()
+				.eq(FinInvoices::getTenantId, AuthUtil.getTenantId())
+				.eq(FinInvoices::getIsDeleted, 0)
+				.in(FinInvoices::getId, finInvoicesIds)).stream().map(FinInvoices::getBillNo).collect(Collectors.joining(","));
+			throw new RuntimeException("账单已生成发票单,撤销失败! 发票单号为:" + finInvoices);
+		}
+		List<FinStlBillsItems> finStlBillsItemsCHK = finStlBillsItemsMapper.selectList(new LambdaQueryWrapper<FinStlBillsItems>()
+			.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
+			.eq(FinStlBillsItems::getIsDeleted, 0)
+			.eq(FinStlBillsItems::getItemType, "CHK")
+			.eq(FinStlBillsItems::getAccBillId, feeCenter.getAccBillId()));
+		if (!finStlBillsItemsCHK.isEmpty()) {
+			List<Long> finStlBillsIds = finStlBillsItemsCHK.stream().map(FinStlBillsItems::getPid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+			String finStlBills = finStlBillsMapper.selectList(new LambdaQueryWrapper<FinStlBills>()
+				.eq(FinStlBills::getTenantId, AuthUtil.getTenantId())
+				.eq(FinStlBills::getIsDeleted, 0)
+				.in(FinStlBills::getId, finStlBillsIds)).stream().map(FinStlBills::getBillNo).collect(Collectors.joining(","));
+			throw new RuntimeException("账单已生成对账单,撤销失败! 对账单号为:" + finStlBills);
+		}
+		List<FinStlBillsItems> finStlBillsItemsSTLD = finStlBillsItemsMapper.selectList(new LambdaQueryWrapper<FinStlBillsItems>()
+			.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
+			.eq(FinStlBillsItems::getIsDeleted, 0)
+			.eq(FinStlBillsItems::getItemType, "STL")
+			.eq(FinStlBillsItems::getDc, "D")
+			.eq(FinStlBillsItems::getAccBillId, feeCenter.getAccBillId()));
+		if (!finStlBillsItemsSTLD.isEmpty()) {
+			List<Long> finStlBillsIds = finStlBillsItemsSTLD.stream().map(FinStlBillsItems::getPid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+			String finStlBills = finStlBillsMapper.selectList(new LambdaQueryWrapper<FinStlBills>()
+				.eq(FinStlBills::getTenantId, AuthUtil.getTenantId())
+				.eq(FinStlBills::getIsDeleted, 0)
+				.in(FinStlBills::getId, finStlBillsIds)).stream().map(FinStlBills::getBillNo).collect(Collectors.joining(","));
+			throw new RuntimeException("账单已生成收款单,撤销失败! 收款单号为:" + finStlBills);
+		}
+		List<FinStlBillsItems> finStlBillsItemsSTLC = finStlBillsItemsMapper.selectList(new LambdaQueryWrapper<FinStlBillsItems>()
+			.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
+			.eq(FinStlBillsItems::getIsDeleted, 0)
+			.eq(FinStlBillsItems::getItemType, "STL")
+			.eq(FinStlBillsItems::getDc, "C")
+			.eq(FinStlBillsItems::getAccBillId, feeCenter.getAccBillId()));
+		if (!finStlBillsItemsSTLC.isEmpty()) {
+			List<Long> finStlBillsIds = finStlBillsItemsSTLC.stream().map(FinStlBillsItems::getPid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+			String finStlBills = finStlBillsMapper.selectList(new LambdaQueryWrapper<FinStlBills>()
+				.eq(FinStlBills::getTenantId, AuthUtil.getTenantId())
+				.eq(FinStlBills::getIsDeleted, 0)
+				.in(FinStlBills::getId, finStlBillsIds)).stream().map(FinStlBills::getBillNo).collect(Collectors.joining(","));
+			throw new RuntimeException("账单已生成付款单,撤销失败! 付款单号为:" + finStlBills);
+		}
+		List<FinStlBillsItems> finStlBillsItemsFFSQ = finStlBillsItemsMapper.selectList(new LambdaQueryWrapper<FinStlBillsItems>()
+			.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
+			.eq(FinStlBillsItems::getIsDeleted, 0)
+			.eq(FinStlBillsItems::getItemType, "FFSQ")
+			.eq(FinStlBillsItems::getAccBillId, feeCenter.getAccBillId()));
+		if (!finStlBillsItemsFFSQ.isEmpty()) {
+			List<Long> finStlBillsIds = finStlBillsItemsFFSQ.stream().map(FinStlBillsItems::getPid).filter(Objects::nonNull).distinct().collect(Collectors.toList());
+			String finStlBills = finStlBillsMapper.selectList(new LambdaQueryWrapper<FinStlBills>()
+				.eq(FinStlBills::getTenantId, AuthUtil.getTenantId())
+				.eq(FinStlBills::getIsDeleted, 0)
+				.in(FinStlBills::getId, finStlBillsIds)).stream().map(FinStlBills::getBillNo).collect(Collectors.joining(","));
+			throw new RuntimeException("账单已付费申请,撤销失败! 付费申请单号为:" + finStlBills);
+		}
+		return R.data("true");
+	}
+
 }

+ 10 - 2
blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/service/impl/FinPeriodServiceImpl.java

@@ -527,9 +527,17 @@ public class FinPeriodServiceImpl extends ServiceImpl<FinPeriodMapper, FinPeriod
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public R submit(FinPeriod finPeriod) {
-		String deptId = AuthUtil.getDeptId();
+
+		String deptId;
 		String deptName = "";
-		String branchId = AuthUtil.getDeptId();
+		String branchId;
+		if (ObjectUtils.isNotNull(finPeriod.getBranchId())){
+			 deptId = finPeriod.getBranchId();
+			 branchId = finPeriod.getBranchId();
+		}else{
+			 deptId = AuthUtil.getDeptId();
+			 branchId = AuthUtil.getDeptId();
+		}
 		//获取部门ids对应中文名
 		R<List<String>> res = sysClient.getDeptNames(branchId);
 		if (res.isSuccess() && ObjectUtils.isNotNull(res.getData())) {