Browse Source

2024年9月3日16:08:06

纪新园 1 year ago
parent
commit
52740faa1d

+ 6 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/Bills.java

@@ -1624,6 +1624,12 @@ public class Bills implements Serializable {
 	private List<FilesCenter> filesList;
 
 	/**
+	 * 费用中心(Amend)
+	 */
+	@TableField(exist = false)
+	private List<FeeCenter> feeCenterAmendList;
+
+	/**
 	 * 编码生成code
 	 */
 	@TableField(exist = false)

+ 6 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/entity/FeeCenter.java

@@ -24,6 +24,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import org.springblade.los.utils.LosSpecialHandle;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.validation.constraints.NotEmpty;
@@ -181,6 +182,11 @@ public class FeeCenter implements Serializable {
 	@ApiModelProperty(value = "客户 id")
 	private Long corpId;
 	/**
+	 * 客户简称
+	 */
+	@ApiModelProperty(value = "客户简称")
+	private String shortName;
+	/**
 	 * 客户中文名称
 	 */
 	@ApiModelProperty(value = "客户中文名称")

+ 3 - 3
blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsServiceImpl.java

@@ -592,12 +592,12 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 								feeCenterReports.add(feeCenterReports1);
 							}
 						}
-						if (ObjectUtils.isNotNull(item.getAmountProfitLocUpdate()) && ObjectUtils.isNotNull(item.getAmountDrLoc())) {
-							if (item.getAmountProfitLocUpdate().compareTo(new BigDecimal(MagicValues.ZERO)) == 0 ||
+						if (ObjectUtils.isNotNull(item.getAmountProfitLoc()) && ObjectUtils.isNotNull(item.getAmountDrLoc())) {
+							if (item.getAmountProfitLoc().compareTo(new BigDecimal(MagicValues.ZERO)) == 0 ||
 								item.getAmountDrLoc().compareTo(new BigDecimal(MagicValues.ZERO)) == 0) {
 								item.setGrossMargin(new BigDecimal(MagicValues.ZERO));
 							} else {
-								item.setGrossMargin(item.getAmountProfitLocUpdate().divide(item.getAmountDrLoc(), 4, RoundingMode.HALF_UP));
+								item.setGrossMargin(item.getAmountProfitLoc().divide(item.getAmountDrLoc(), 4, RoundingMode.HALF_UP));
 							}
 						} else {
 							item.setGrossMargin(new BigDecimal(MagicValues.ZERO));

+ 18 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java

@@ -38,6 +38,8 @@ import org.springblade.los.basic.cur.entity.BCurrency;
 import org.springblade.los.basic.cur.service.IBCurrencyService;
 import org.springblade.los.billno.entity.BusinessBillNo;
 import org.springblade.los.billno.service.IBusinessBillNoService;
+import org.springblade.los.business.amends.entity.Amends;
+import org.springblade.los.business.amends.mapper.AmendsMapper;
 import org.springblade.los.business.files.entity.FilesCenter;
 import org.springblade.los.business.files.service.IFilesCenterService;
 import org.springblade.los.business.release.entity.SeaReleaseBillItems;
@@ -140,6 +142,8 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 
 	private final AgentMapper agentMapper;
 
+	private final AmendsMapper amendsMapper;
+
 	@Override
 	public IPage<BillsVO> selectBillsPage(IPage<BillsVO> page, BillsVO bills) {
 		return page.setRecords(baseMapper.selectBillsPage(page, bills));
@@ -791,6 +795,20 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			.eq(FeeCenter::getDc, "D")
 			.eq(FeeCenter::getBillNo, detail.getBillNo())
 		));
+		List<Amends> amendsList = amendsMapper.selectList(new LambdaQueryWrapper<Amends>()
+			.eq(Amends::getTenantId, AuthUtil.getTenantId())
+			.eq(Amends::getIsDeleted, 0)
+			.eq(Amends::getOrigId, detail.getId()));
+		if (!amendsList.isEmpty()) {
+			List<Long> ids = amendsList.stream().map(Amends::getId).distinct().collect(Collectors.toList());
+			detail.setFeeCenterAmendList(feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+				.eq(FeeCenter::getIsDeleted, 0)
+				.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+				.in(FeeCenter::getPid, ids)
+			));
+		} else {
+			detail.setFeeCenterAmendList(new ArrayList<>());
+		}
 		return detail;
 	}
 

+ 1 - 1
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/service/impl/FinAccBillsServiceImpl.java

@@ -148,7 +148,7 @@ public class FinAccBillsServiceImpl extends ServiceImpl<FinAccBillsMapper, FinAc
 				throw new RuntimeException("费用:" + item.getFeeCnName() + "已生成账单");
 			}
 			if (ObjectUtils.isNotNull(item.getPid()) && ObjectUtils.isNotNull(item.getCorpId()) &&
-				ObjectUtils.isNotNull(item.getDc()) && ObjectUtils.isNotNull(item.getElementsCode()) && ObjectUtils.isNotNull(item.getCurCode())) {
+				ObjectUtils.isNotNull(item.getDc()) && ObjectUtils.isNotNull(item.getElementsId()) && ObjectUtils.isNotNull(item.getCurCode())) {
 				item.setBillKey(item.getPid() + "-" + item.getCorpId() + "-" + item.getDc() + "-" + item.getElementsCode() + "-" + item.getCurCode());
 			} else {
 				throw new RuntimeException("单据号、单位、费用类型、核算要素不能为空");

+ 3 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -217,7 +217,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	}
 
 	@Override
-	@Transactional(rollbackFor = Exception.class)
+//	@Transactional(rollbackFor = Exception.class)
 	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
 	public R saveOrderMessage(Order order) {
 		// 校验单号重复-新增
@@ -657,6 +657,8 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 						BigDecimal amountItem = list.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
 						acc.setAmount(amountItem.add(amountD));
 						acc.setPrice(amountItem.add(amountD));
+						acc.setSrcRefno(order.getOrderNo());
+						acc.setAccSysNo(order.getOrderNo());
 						financeClient.update(acc);
 					}
 				}