|
|
@@ -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 推送
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 获取订单明细数据
|
|
|
*
|