|
|
@@ -2,21 +2,30 @@ package org.springblade.stock.feign;
|
|
|
|
|
|
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.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.poi.ss.formula.functions.T;
|
|
|
+import org.springblade.client.entity.CorpsDesc;
|
|
|
import org.springblade.client.entity.StorageDesc;
|
|
|
+import org.springblade.client.feign.ICorpsDescClient;
|
|
|
+import org.springblade.client.feign.IGoodsDescClient;
|
|
|
import org.springblade.client.feign.IStorageClient;
|
|
|
+import org.springblade.client.vo.GoodsDescVO;
|
|
|
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.tenant.annotation.NonDS;
|
|
|
import org.springblade.core.tool.api.R;
|
|
|
+import org.springblade.core.tool.utils.Func;
|
|
|
import org.springblade.stock.entity.StockGoods;
|
|
|
import org.springblade.stock.service.IStockGoodsService;
|
|
|
import org.springblade.stock.vo.StockGoodsVO;
|
|
|
+import org.springblade.system.user.entity.User;
|
|
|
+import org.springblade.system.user.feign.IUserClient;
|
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestBody;
|
|
|
@@ -25,6 +34,7 @@ import springfox.documentation.annotations.ApiIgnore;
|
|
|
|
|
|
import javax.validation.Valid;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Collections;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
@@ -40,6 +50,87 @@ public class StockGoodsClient implements IStockGoodsClient{
|
|
|
|
|
|
private IStorageClient iStorageClient;
|
|
|
|
|
|
+ private ICorpsDescClient corpsDescClient;//获取客户信息
|
|
|
+ private IGoodsDescClient goodsDescClient;//商品信息
|
|
|
+ private IUserClient userClient;//用户信息
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @GetMapping("stockgoods/stocklist")
|
|
|
+ public List<StockGoods> list(String code, String cname, String brandItem, String placeProduction, String typeno, String typenoOne, String typenoTwo, String stockName,
|
|
|
+ String brand, String tenantId, String createStartTime, String createEndTime, String size, String current) {
|
|
|
+
|
|
|
+ StockGoodsVO stockGoods=new StockGoodsVO();
|
|
|
+ stockGoods.setCode(code);
|
|
|
+ stockGoods.setCname(cname);
|
|
|
+ stockGoods.setBrandItem(brandItem);
|
|
|
+ stockGoods.setPlaceProduction(placeProduction);
|
|
|
+ stockGoods.setTypeno(typeno);
|
|
|
+ stockGoods.setTypenoOne(typenoOne);
|
|
|
+ stockGoods.setTypenoTwo(typenoTwo);
|
|
|
+ stockGoods.setStockName(stockName);
|
|
|
+ stockGoods.setBrand(brand);
|
|
|
+ stockGoods.setTenantId(tenantId);
|
|
|
+ stockGoods.setCreateStartTime(createStartTime);
|
|
|
+ stockGoods.setCreateEndTime(createEndTime);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ LambdaQueryWrapper<StockGoods> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(Func.isNotEmpty(stockGoods.getTenantId()),StockGoods::getTenantId,stockGoods.getTenantId());
|
|
|
+ lambdaQueryWrapper.eq(StockGoods::getIsDeleted,0);
|
|
|
+ lambdaQueryWrapper.eq(Func.isNotEmpty(stockGoods.getBillNo()),StockGoods::getBillNo,stockGoods.getBillNo());
|
|
|
+ lambdaQueryWrapper.eq(Func.isNotEmpty(stockGoods.getContractNumber()),StockGoods::getContractNumber,stockGoods.getContractNumber());
|
|
|
+ if(Func.isNotEmpty(stockGoods.getCname()))
|
|
|
+ {
|
|
|
+ List<Long> goodId = goodsDescClient.getGoodId(null, stockGoods.getCname(), null, null, null, null, null);
|
|
|
+ if(CollectionUtils.isNotEmpty(goodId))
|
|
|
+ {
|
|
|
+ lambdaQueryWrapper.in(StockGoods::getGoodsId, goodId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(stockGoods.getBrandItem()),StockGoods::getBrandItem,stockGoods.getBrandItem());//花纹
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(stockGoods.getPlaceProduction()),StockGoods::getPlaceProduction,stockGoods.getPlaceProduction());//产地
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(stockGoods.getBrand()),StockGoods::getBrand,stockGoods.getBrand());//品牌
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(stockGoods.getTypeno()),StockGoods::getTypeno,stockGoods.getTypeno());//规格
|
|
|
+ lambdaQueryWrapper.like(Func.isNotEmpty(stockGoods.getTypenoOne()),StockGoods::getTypenoOne,stockGoods.getTypenoOne());//规格1
|
|
|
+ lambdaQueryWrapper.ge(Func.isNotEmpty(stockGoods.getCreateStartTime()),StockGoods::getCreateTime,stockGoods.getCreateStartTime());//制单日期开始
|
|
|
+ lambdaQueryWrapper.le(Func.isNotEmpty(stockGoods.getCreateEndTime()),StockGoods::getCreateTime,stockGoods.getCreateEndTime());//制单日期结束
|
|
|
+
|
|
|
+ List<StockGoods> stockGoodsList = stockGoodsService.list(lambdaQueryWrapper);
|
|
|
+ if (CollectionUtils.isNotEmpty(stockGoodsList)){
|
|
|
+ stockGoodsList.stream().forEach(item ->{
|
|
|
+ //获取商品信息
|
|
|
+ R<GoodsDescVO> goodsMessage = goodsDescClient.selectGoodsMessage(item.getGoodsId());
|
|
|
+ if (goodsMessage.isSuccess() && goodsMessage.getData() != null){
|
|
|
+ if (StringUtils.isNotBlank(goodsMessage.getData().getBrand())){
|
|
|
+ item.setBrand(goodsMessage.getData().getBrand());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(goodsMessage.getData().getBrandItem())){
|
|
|
+ item.setBrandItem(goodsMessage.getData().getBrandItem());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(goodsMessage.getData().getTypeno())){
|
|
|
+ item.setTypeno(goodsMessage.getData().getTypeno());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(goodsMessage.getData().getSpecsOne())){
|
|
|
+ item.setTypenoOne(goodsMessage.getData().getSpecsOne());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(goodsMessage.getData().getSpecsTwo())){
|
|
|
+ item.setTypenoTwo(goodsMessage.getData().getSpecsTwo());
|
|
|
+ }
|
|
|
+ item.setCname(goodsMessage.getData().getCname());
|
|
|
+ item.setCode(goodsMessage.getData().getCode());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return stockGoodsList;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查询库存总账 是否存在
|
|
|
* @param corpId 客户id
|