Browse Source

新增财务feign, 增加订单判断

ioioio 4 years ago
parent
commit
6b1f04dea0

+ 3 - 1
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/feign/IFinanceClient.java

@@ -3,6 +3,7 @@ package org.springblade.finance.feign;
 import io.swagger.annotations.ApiParam;
 import org.springblade.core.tool.api.R;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
@@ -23,7 +24,8 @@ public interface IFinanceClient
 	@PostMapping("/settlement/passCancel")
 	 R passCancel(@RequestParam("id") Long id);
 
-
+    @GetMapping("/settlement/getFinanceAcc")
+	R getFinanceAcc(@RequestParam("accSysNo")String accSysNo);
 
 
 }

+ 2 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/entity/Order.java

@@ -596,5 +596,7 @@ public class Order extends OrderBase {
 	private BigDecimal actualWeight;
 	@ApiModelProperty(value = "特价占比")
 	private BigDecimal specialOfferOf;
+	@ApiModelProperty(value = "最迟付款日期")
+	private Date latestDate;
 
 }

+ 12 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -17,6 +17,7 @@
 package org.springblade.purchase.sales.service.impl;
 
 import com.alibaba.druid.sql.ast.expr.SQLCaseExpr;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.OrderItem;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@@ -33,6 +34,7 @@ import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.client.feign.IFeesDescClient;
 import org.springblade.client.feign.IGoodsDescClient;
 import org.springblade.client.feign.ISerialClient;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.purchase.sales.entity.*;
@@ -97,6 +99,16 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	@Override
 	@Transactional
 	public R saveOrderMessage(Order order) {
+		//校验单号重复
+		LambdaQueryWrapper<Order> orderLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		orderLambdaQueryWrapper
+			.eq(Order::getOrderNo,order.getOrderNo())
+			.eq(Order::getTenantId, AuthUtil.getTenantId());
+		Integer count = baseMapper.selectCount(orderLambdaQueryWrapper);
+		if(count!=null&&count>0)
+		{
+			throw new SecurityException("合同号:"+order.getOrderNo()+"已存在,禁止重复添加");
+		}
 		Date date = new Date();//订单时间
 		//保存订单主表信息
 		if (order.getId() == null){

+ 19 - 0
blade-service/trade-finance/src/main/java/org/springblade/finance/controller/SettlementController.java

@@ -19,10 +19,13 @@ package org.springblade.finance.controller;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import org.apache.xmlbeans.impl.xb.xsdschema.Public;
 import org.springblade.finance.dto.ApplyDTO;
 import org.springblade.finance.dto.SettlementDTO;
+import org.springblade.finance.entity.Acc;
 import org.springblade.finance.entity.Items;
 import org.springblade.finance.entity.Settlement;
+import org.springblade.finance.service.IAccService;
 import org.springblade.finance.service.IItemsService;
 import org.springblade.finance.service.ISettlementService;
 import org.springblade.finance.vo.SettlementVO;
@@ -47,6 +50,7 @@ import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.boot.ctrl.BladeController;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
@@ -71,6 +75,8 @@ public class SettlementController extends BladeController {
 	private final IUserClient iUserClient;
 
 	private final IFeesDescClient iFeesDescClient;
+
+	private final IAccService accService;
 	/**
 	 * 详情
 	 */
@@ -313,5 +319,18 @@ public class SettlementController extends BladeController {
 		return R.success("操作成功");
 	}
 
+	@GetMapping("/getFinanceAcc")
+	public R getFinanceAcc(@RequestParam(value = "accSysNo",required = true)String accSysNo)
+	{
+		LambdaQueryWrapper<Acc> accLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		accLambdaQueryWrapper
+			.eq(Acc::getAccSysNo,accSysNo)
+			.eq(Acc::getBillType,"收费")
+			.eq(Acc::getTenantId,AuthUtil.getTenantId())
+			.eq(Acc::getIsDeleted,0);
+		List<Acc> accList = accService.list(accLambdaQueryWrapper);
+		return R.data(accList.stream().filter(e->e.getSettlementAmount()!=null).map(Acc::getSettlementAmount).reduce(BigDecimal.ZERO,BigDecimal::add));
+	}
+
 
 }

+ 12 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/component/impl/DefaultOrderSaveImpl.java

@@ -1,5 +1,6 @@
 package com.trade.purchase.order.component.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.trade.purchase.order.assemble.mapstruct.OrderItemMapstructMapper;
 import com.trade.purchase.order.component.IOrderCodeMaker;
@@ -78,6 +79,17 @@ public class DefaultOrderSaveImpl implements IOrderSave {
 	 * @param order
 	 */
 	private Order saveOrder(OrderSubmitDto order) {
+        //校验单号重复
+		LambdaQueryWrapper<Order> orderLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		orderLambdaQueryWrapper
+			.eq(Order::getOrderNo,order.getOrderNo())
+			.eq(Order::getTenantId,AuthUtil.getTenantId());
+		Integer count = orderService.selectCount(orderLambdaQueryWrapper);
+		if(count!=null&&count>0)
+		{
+			throw new SecurityException("合同号:"+order.getOrderNo()+"已存在,禁止重复添加");
+		}
+
 		order.setBillType(order.getBillType());
 		order.setTradeType(order.getTradeType());
 		if (Func.isBlank(order.getSysNo())) {