Browse Source

1.客户订舱增加获取当前登录人对应客户信息
2.期间列表检索条件修改
3.申请修改,删除接口账期判断逻辑修改

纪新园 5 months ago
parent
commit
474b964776

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

@@ -37,8 +37,10 @@ import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.los.basic.corps.entity.BCorps;
+import org.springblade.los.basic.corps.entity.BCorpsAttn;
 import org.springblade.los.basic.corps.entity.BCorpsTypeDefine;
 import org.springblade.los.basic.corps.entity.BCorpsTypes;
+import org.springblade.los.basic.corps.service.IBCorpsAttnService;
 import org.springblade.los.basic.corps.service.IBCorpsService;
 import org.springblade.los.basic.corps.service.IBCorpsTypeDefineService;
 import org.springblade.los.basic.corps.service.IBCorpsTypesService;
@@ -80,8 +82,11 @@ public class BCorpsController extends BladeController {
 	private final IUserClient iUserClient;
 
 	private final ISysClient sysClient;
+
 	private final IFeeCenterService feeCenterService;
 
+	private final IBCorpsAttnService corpsAttnService;
+
 	/**
 	 * 详情
 	 */
@@ -502,4 +507,23 @@ public class BCorpsController extends BladeController {
 		return R.data(pages);
 	}
 
+	/**
+	 * 分页 物流-基础资料-往来单位
+	 */
+	@GetMapping("/getBCorps")
+	public R<BCorps> getBCorps(Long userId) {
+		BCorpsAttn corpsAttn = corpsAttnService.getOne(new LambdaQueryWrapper<BCorpsAttn>()
+			.eq(BCorpsAttn::getTenantId, AuthUtil.getTenantId())
+			.eq(BCorpsAttn::getIsDeleted, 0)
+			.eq(BCorpsAttn::getUserId, userId));
+		BCorps corps = null;
+		if (corpsAttn != null) {
+			corps = bCorpsService.getById(corpsAttn.getPid());
+		}
+		if (corps == null) {
+			throw new RuntimeException("未查到对应联系人客户");
+		}
+		return R.data(corps);
+	}
+
 }

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

@@ -26,6 +26,10 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.los.Util.CurrencyUtils;
+import org.springblade.los.business.amends.entity.Amends;
+import org.springblade.los.business.amends.mapper.AmendsMapper;
+import org.springblade.los.business.sea.entity.Bills;
+import org.springblade.los.business.sea.mapper.BillsMapper;
 import org.springblade.los.check.dto.LosAuditProecessDTO;
 import org.springblade.los.check.entity.LosAuditPathsActs;
 import org.springblade.los.check.entity.LosAuditPathsLevels;
@@ -86,6 +90,10 @@ public class FeeCenterUpdateRecordServiceImpl extends ServiceImpl<FeeCenterUpdat
 
 	private final FinPeriodMapper finPeriodMapper;
 
+	private final BillsMapper billsMapper;
+
+	private final AmendsMapper amendsMapper;
+
 	private final CurrencyUtils currencyUtils;
 
 	@Override
@@ -100,23 +108,50 @@ public class FeeCenterUpdateRecordServiceImpl extends ServiceImpl<FeeCenterUpdat
 			throw new RuntimeException("缺少必要参数");
 		}
 		FeeCenter feeCenter = feeCenterService.getById(feeCenterUpdateRecord.getItemId());
-		String exrateType = currencyUtils.standardCurrency(feeCenter.getBranchId());
 		if (feeCenter == null) {
 			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(feeCenter.getBillDate())) {
-			LocalDate date = feeCenter.getBillDate().toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
+		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, feeCenter.getBillDate())
+				.eq(FinPeriod::getBranchId, branchId)
 				.eq(FinPeriod::getIsDeleted, 0)
 				.eq(FinPeriod::getPeriodYear, year)
 				.eq(FinPeriod::getPeriodMonth, month));

+ 1 - 0
blade-service/blade-los/src/main/java/org/springblade/los/finance/genleg/controller/FinPeriodController.java

@@ -97,6 +97,7 @@ public class FinPeriodController extends BladeController {
 			.eq(ObjectUtils.isNotNull(finPeriod.getIsClosed()), FinPeriod::getIsClosed, finPeriod.getIsClosed())
 			.eq(ObjectUtils.isNotNull(finPeriod.getLockingStatus()), FinPeriod::getLockingStatus, finPeriod.getLockingStatus())
 			.eq(ObjectUtils.isNotNull(finPeriod.getBeginDate()), FinPeriod::getBeginDate, finPeriod.getBeginDate())
+			.eq( FinPeriod::getIsDeleted, 0)
 			.eq(ObjectUtils.isNotNull(finPeriod.getEndDate()), FinPeriod::getEndDate, finPeriod.getEndDate());
 		if (!AuthUtil.getUserRole().contains("总部") && !AuthUtil.getUserRole().contains("admin")) {
 			lambdaQueryWrapper.eq(FinPeriod::getBranchId, AuthUtil.getDeptId());