Browse Source

提交修改

1021934019@qq.com 4 years ago
parent
commit
3db328e21a

+ 2 - 0
blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProjectItem.java

@@ -118,6 +118,8 @@ public class ServiceProjectItem extends TenantEntity implements Serializable {
 	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 	private Date payTime;
 
+	@TableField(exist = false)
+	private String cornName;
 
 
 }

+ 12 - 0
blade-service-api/trade-purchase-api/src/main/java/com/trade/purchase/order/feign/IOrderDescClient.java

@@ -1,6 +1,9 @@
 package com.trade.purchase.order.feign;
 
+import com.trade.purchase.order.entity.Order;
+import org.springblade.core.tool.api.R;
 import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
 
 /**
  * @author caifc
@@ -11,5 +14,14 @@ import org.springframework.cloud.openfeign.FeignClient;
 )
 public interface IOrderDescClient {
 	String API_PREFIX = "/client";
+	String UPDATE_ORDER=API_PREFIX+"/updateOrder";
+
+	/**
+	 * 修改采购订单状态
+	 * @param order
+	 * @return
+	 */
+	@PostMapping(UPDATE_ORDER)
+	R updateOrder(Order order);
 
 }

+ 17 - 4
blade-service/blade-client/src/main/java/org/springblade/client/corps/controller/CorpsDescController.java

@@ -1,8 +1,10 @@
 package org.springblade.client.corps.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -18,6 +20,7 @@ import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
@@ -60,10 +63,20 @@ public class CorpsDescController extends BladeController {
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入corpsDesc")
-	public R<IPage<CorpsDescVO>> list(CorpsDescVO corpsDesc, Query query) {
-		corpsDesc.setTenantId(SecureUtil.getTenantId());
-		IPage<CorpsDescVO> pages = corpsDescService.selectCorpsDescPage(Condition.getPage(query), corpsDesc);
-		return R.data(pages);
+	public R<IPage<CorpsDesc>> list(CorpsDescVO corpsDesc, Query query) {
+		LambdaQueryWrapper<CorpsDesc> lambdaQueryWrapper=new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.like(StringUtils.isNotBlank(corpsDesc.getCode()),CorpsDesc::getCode,corpsDesc.getCode());
+		lambdaQueryWrapper.like(StringUtils.isNotBlank(corpsDesc.getCname()),CorpsDesc::getCname,corpsDesc.getCname());
+		lambdaQueryWrapper.like(StringUtils.isNotBlank(corpsDesc.getBelongtoarea()),CorpsDesc::getBelongtoarea,corpsDesc.getBelongtoarea());
+		lambdaQueryWrapper.like(StringUtils.isNotBlank(corpsDesc.getBelongtocompany()),CorpsDesc::getBelongtocompany,corpsDesc.getBelongtocompany());
+		lambdaQueryWrapper.like(StringUtils.isNotBlank(corpsDesc.getAttn()),CorpsDesc::getAttn,corpsDesc.getAttn());
+		lambdaQueryWrapper.like(StringUtils.isNotBlank(corpsDesc.getGoodtypes()),CorpsDesc::getGoodtypes,corpsDesc.getGoodtypes());
+		lambdaQueryWrapper.like(StringUtils.isNotBlank(corpsDesc.getCreditLevel()),CorpsDesc::getCreditLevel,corpsDesc.getCreditLevel());
+		lambdaQueryWrapper.eq(CorpsDesc::getTenantId, AuthUtil.getTenantId());
+		lambdaQueryWrapper.eq(CorpsDesc::getIsDeleted,0);
+		IPage<CorpsDesc> page = new Page<>(query.getCurrent(),query.getSize());
+		IPage<CorpsDesc> iPage = corpsDescService.page(page, lambdaQueryWrapper);
+		return R.data(iPage);
 	}
 
 	/**

+ 4 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/controller/ImportDeliveryController.java

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.trade.purchase.order.entity.Order;
 import com.trade.purchase.order.enums.OrderTypeEnum;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -203,4 +204,7 @@ public class ImportDeliveryController extends BladeController {
 	}
 
 
+
+
+
 }

+ 3 - 0
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/IDeliveryService.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.deliver.goods.service;
 
+import com.trade.purchase.order.entity.Order;
 import org.springblade.core.tool.api.R;
 import org.springblade.deliver.goods.entity.Delivery;
 import org.springblade.deliver.goods.vo.DeliveryVO;
@@ -66,4 +67,6 @@ public interface IDeliveryService extends IService<Delivery> {
 	 */
 	void comfire(Delivery delivery);
 
+
+
 }

+ 2 - 1
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryItemsServiceImpl.java

@@ -277,8 +277,9 @@ public class DeliveryItemsServiceImpl extends ServiceImpl<DeliveryItemsMapper, D
 		stockGoods.setOutQuantity(new BigDecimal(0.00));//出库数量
 		stockGoods.setLockingQuantity(new BigDecimal(0.00));//锁定数量
 		stockGoods.setBalanceQuantity(deliveryItems.getActualQuantity());//结余数量
-		stockGoods.setEnRouteQuantity(new BigDecimal(0.00));//在途数量
+		stockGoods.setEnRouteQuantity(deliveryItems.getActualQuantity());//在途数量
 		stockGoods.setSurplusRouteQuantity(deliveryItems.getActualQuantity());//可用数量
+		//进口贸易 还需要追加码单重量 和 发票重量
 		if (tradeType.equals(OrderTypeEnum.IMPORT.getType())){
 			stockGoods.setInWeight(deliveryItems.getInvoiceWeight());//入库发票重量
 			stockGoods.setOutWeight(new BigDecimal(0.00));//出库发票重量

+ 7 - 17
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -208,34 +208,24 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 	{
 		    //保存收货单主表 和 收货单明细
 	       	this.submitDelivery(delivery);
-	       	//验证收货单库存与传入库存是否一致
+	       	//验证收货单库存与传入库存是否一致,如果一直则修改库存
 			List<DeliveryItems> deliveryItemsList = delivery.getDeliveryItemsList();
 		    deliveryItemsList.forEach(e->{
 		    	//传入库存
 				BigDecimal inventoryNumber = e.getInventoryNumber();
 				//实际库存
 				R<StockGoodsVO> stockGoodsVOR = stockGoodsClient.selectStock(delivery.getCorpId(), delivery.getStorageId(), e.getItemId(), null, null, e.getCntrNo(), e.getBillNo(), e.getContractNumber());
-				//todo 是否比较2个库存值, 暂未确定
-
-
-				StockGoodsVO data = stockGoodsVOR.getData();
-				//增加库存
-				if(Func.isEmpty(data))
-				{
-					iDeliveryItemsService.saveStock(delivery.getTradeType(),data.getCorpId(),data.getStorageId(),e);
-				}
-				//修改库存
-				else
-				{
+				// 比较2个库存值是否相等
+				BigDecimal surplusRouteQuantity = stockGoodsVOR.getData().getSurplusRouteQuantity();
+				if(inventoryNumber.compareTo(surplusRouteQuantity)==1)
+				{   //增加库存
+					StockGoodsVO data = stockGoodsVOR.getData();
 					iDeliveryItemsService.receiving(delivery.getTradeType(),data.getId(),e);
 				}
-
-
 			});
+		    //todo 修改orderItems 已出数量
 
 
-
-		    //todo 修改原item数据
 	}
 
 

+ 9 - 1
blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectController.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang.StringUtils;
+import org.springblade.client.entity.CorpsDesc;
 import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.secure.utils.AuthUtil;
@@ -51,7 +52,7 @@ public class ProjectController {
 	public R<IPage<?>> list(@RequestParam(name = "current", defaultValue = "1") Integer current,
 							@RequestParam(name = "size", defaultValue = "10") Integer size,
 							@RequestParam(name = "code", required = false) String code,
-							@RequestParam(name = "cName", required = false) String cName,
+							@RequestParam(name = "cname", required = false) String cName,
 							@RequestParam(name = "corpAttn", required = false) String corpAttn,
 							@RequestParam(name = "dutyName", required = false) String dutyName,
 							@RequestParam(name = "remark", required = false) String remark,
@@ -208,6 +209,13 @@ public class ProjectController {
 			  String[] str = new String[]{"录入","已请核","审核中","审核通过","正在结算","结算完成"};
 			  iPage.getRecords().forEach(e->{
 				  e.setStrStatus(str[e.getStatus()]);
+				  Long corpId = serviceProjectService.getById(e.getPId()).getCorpId();
+				  R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(corpId);
+				  if(corpMessage.isSuccess())
+				  {
+					  e.setCornName(corpMessage.getData().getCname());
+				  }
+
 			  });
 		  }
 		  return R.data(iPage);

+ 6 - 0
blade-service/trade-purchase/pom.xml

@@ -75,6 +75,12 @@
             <groupId>org.springblade</groupId>
             <artifactId>blade-starter-transaction</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-stock</artifactId>
+            <version>2.8.2.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
 
     </dependencies>
 

+ 18 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/feign/OrderDescClient.java

@@ -1,9 +1,27 @@
 package com.trade.purchase.order.feign;
 
+import com.trade.purchase.order.entity.Order;
+import com.trade.purchase.order.service.IOrderService;
 import lombok.AllArgsConstructor;
+import org.springblade.core.tool.api.R;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @AllArgsConstructor
 public class OrderDescClient implements IOrderDescClient {
+
+	private final IOrderService iOrderService;
+
+	@Override
+	@Transactional
+	public R updateOrder(Order order)
+	{
+		if(order.getId()==null)
+		{
+			throw new SecurityException("修改状态失败");
+		}
+		iOrderService.updateById(order);
+		return R.success("操作成功");
+	}
 }

+ 7 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/IOrderService.java

@@ -81,4 +81,11 @@ public interface IOrderService extends IService<Order> {
 	R  getSysNo(String prefix);
 
 
+	/**
+	 * 后续审批流确认采购订单
+	 * @param order
+	 * @return
+	 */
+	void check(OrderVO order);
+
 }

+ 63 - 6
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/service/impl/OrderServiceImpl.java

@@ -1,10 +1,7 @@
 package com.trade.purchase.order.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.IPage;
-import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -15,33 +12,34 @@ import com.trade.purchase.order.assemble.mapstruct.OrderMapstructMapper;
 import com.trade.purchase.order.component.IOrderSave;
 import com.trade.purchase.order.dto.OrderSubmitDto;
 import com.trade.purchase.order.entity.*;
-import com.trade.purchase.order.enums.OrderStatusEnum;
 import com.trade.purchase.order.enums.OrderTypeEnum;
 import com.trade.purchase.order.mapper.OrderMapper;
 import com.trade.purchase.order.service.IOrderService;
 import com.trade.purchase.order.vo.OrderItemsVO;
 import com.trade.purchase.order.vo.OrderVO;
+import io.seata.spring.annotation.GlobalTransactional;
 import lombok.AllArgsConstructor;
 import org.springblade.client.entity.CorpsDesc;
 import org.springblade.client.entity.FeesDesc;
-import org.springblade.client.entity.GoodsDesc;
 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.client.vo.CorpsDescVO;
 import org.springblade.client.vo.GoodsDescVO;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.stock.entity.StockGoods;
+import org.springblade.stock.feign.IStockGoodsClient;
 import org.springblade.system.user.entity.User;
 import org.springblade.system.user.feign.IUserClient;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -64,6 +62,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 	private IFeesDescClient feesDescClient;//获取费用信息
 	private IGoodsDescClient goodsDescClient;//获取商品信息
 	private ICorpsDescClient corpsDescClient;//获取客户信息
+	private OrderMapper orderMapper;
+	private IStockGoodsClient stockGoodsClient;
+
 
 
 	private final IOrderSave orderSave;
@@ -372,6 +373,62 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 		return billNo;
 	}
 
+	@Override
+	@Transactional
+	@GlobalTransactional
+	public void check(OrderVO vo)
+	{
+		Order order=new Order();
+		BeanUtil.copyProperties(vo,order);
+		//更新order表状态为审核通过 or 审批不通过
+		orderMapper.updateById(order);
+		//新增库存账单
+		List<OrderItemsVO> itemsVOList = vo.getItemsVOList();
+		List<Boolean> result=new ArrayList<>();
+		//组装model,生成库存账
+		if(CollectionUtils.isNotEmpty(itemsVOList))
+		{
+			itemsVOList.forEach(it->{
+				StockGoods stockGoods=new StockGoods();
+				stockGoods.setCorpId(vo.getCorpId());
+				stockGoods.setGoodsId(it.getItemId());
+
+				stockGoods.setBillNo(it.getBillNo());
+				stockGoods.setCntrNo(it.getContainerNo());
+				stockGoods.setContractNumber(vo.getOrderNo());
+
+				stockGoods.setCreateTime(new Date());
+				stockGoods.setCreateUser(AuthUtil.getUserId());
+				stockGoods.setTenantId(AuthUtil.getTenantId());
+				//采购件数
+				stockGoods.setInQuantity(BigDecimal.ZERO);//入库数量
+				stockGoods.setOutQuantity(BigDecimal.ZERO);//出库数量
+				stockGoods.setLockingQuantity(BigDecimal.ZERO);//所得数量
+				stockGoods.setBalanceQuantity(BigDecimal.ZERO);//结余数量
+				stockGoods.setEnRouteQuantity(BigDecimal.ZERO);//在途数量
+				stockGoods.setSurplusRouteQuantity(BigDecimal.ZERO);//可用数量
+                //发票重量
+				stockGoods.setInWeight(BigDecimal.ZERO);
+				stockGoods.setOutWeight(BigDecimal.ZERO);
+				stockGoods.setLockingWeight(BigDecimal.ZERO);
+				stockGoods.setBalanceWeight(BigDecimal.ZERO);
+				//码单重量
+				stockGoods.setInVolumn(BigDecimal.ZERO);
+				stockGoods.setOutVolumn(BigDecimal.ZERO);
+				stockGoods.setLockingVolumn(BigDecimal.ZERO);
+				stockGoods.setBalanceVolumn(BigDecimal.ZERO);
+				R saveStock = stockGoodsClient.saveStock(stockGoods);
+				result.add(saveStock.isSuccess());
+			});
+
+		}
+
+
+
+
+		//todo 推送
+	}
+
 	/**
 	 * 获取订单明细数据
 	 *