ioioio 3 years ago
parent
commit
c00a01e1ca

+ 18 - 0
blade-ops/blade-report/pom.xml

@@ -32,6 +32,24 @@
             <groupId>org.springblade</groupId>
             <artifactId>blade-starter-report</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-client-api</artifactId>
+            <version>2.8.2.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-user-api</artifactId>
+            <version>2.8.2.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springblade</groupId>
+            <artifactId>blade-stock</artifactId>
+            <version>2.8.2.RELEASE</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
     <build>

+ 2 - 0
blade-ops/blade-report/src/main/java/org/springblade/report/ReportApplication.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.report;
 
+import org.springblade.core.cloud.feign.EnableBladeFeign;
 import org.springblade.core.launch.BladeApplication;
 import org.springblade.core.launch.constant.AppConstant;
 import org.springframework.cloud.client.SpringCloudApplication;
@@ -25,6 +26,7 @@ import org.springframework.cloud.client.SpringCloudApplication;
  *
  * @author Chill
  */
+@EnableBladeFeign
 @SpringCloudApplication
 public class ReportApplication {
 

+ 50 - 0
blade-ops/blade-report/src/main/java/org/springblade/report/ureport/StockBean.java

@@ -0,0 +1,50 @@
+package org.springblade.report.ureport;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import lombok.AllArgsConstructor;
+import org.springblade.core.tool.api.R;
+import org.springblade.stock.entity.StockGoods;
+import org.springblade.stock.feign.IStockGoodsClient;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Component
+@AllArgsConstructor
+public class StockBean
+{
+
+
+	private IStockGoodsClient stockGoodsClient;
+
+	public List<StockGoods>load(String dsName, String datasetName, Map<String, Object> parameters) {
+
+		String code =parameters.get("code")==null?null:(String) parameters.get("code");
+		String cname =parameters.get("cname")==null?null:(String) parameters.get("cname");
+		String brandItem =parameters.get("brandItem")==null?null:(String) parameters.get("brandItem");
+		String placeProduction =parameters.get("placeProduction")==null?null:(String) parameters.get("placeProduction");
+		String typeno =parameters.get("typeno")==null?null:(String) parameters.get("typeno");
+		String typenoOne =parameters.get("typenoOne")==null?null:(String) parameters.get("typenoOne");
+		String typenoTwo =parameters.get("typenoTwo")==null?null:(String) parameters.get("typenoTwo");
+		String stockName =parameters.get("stockName")==null?null:(String) parameters.get("stockName");
+		String brand =parameters.get("brand")==null?null:(String) parameters.get("brand");
+		String tenantId =parameters.get("tenantId")==null?null:(String) parameters.get("tenantId");
+		String createStartTime =parameters.get("createStartTime")==null?null:(String) parameters.get("createStartTime");
+		String createEndTime =parameters.get("createEndTime")==null?null:(String) parameters.get("createEndTime");
+		String size =parameters.get("size")==null?null:(String) parameters.get("size");
+		String current =parameters.get("current")==null?null:(String) parameters.get("current");
+
+		return stockGoodsClient.list(code, cname, brandItem, placeProduction, typeno, typenoOne, typenoTwo, stockName, brand, tenantId, createStartTime, createEndTime, size, current);
+
+		/*List<StockGoods> list2=new ArrayList<>();
+		StockGoods s1=new StockGoods();
+		s1.setCode("111111");
+		list2.add(s1);
+		StockGoods s2=new StockGoods();
+		s2.setCode("222222");
+		list2.add(s2);*/
+
+	}
+}

+ 22 - 0
blade-service-api/blade-stock-api/src/main/java/org/springblade/stock/feign/IStockGoodsClient.java

@@ -1,6 +1,8 @@
 package org.springblade.stock.feign;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.common.constant.LauncherConstant;
+import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.stock.entity.StockGoods;
 import org.springblade.stock.vo.StockGoodsVO;
@@ -28,6 +30,26 @@ public interface IStockGoodsClient {
 	String LIST_STOCK_BY_CONDITIONS = API_PREFIX + "/listStockByCondition";
 	String POST_LIST_STOCK_BY_CONDITIONS = API_PREFIX + "/postListStockByCondition";
 
+
+	@GetMapping("/stockgoods/stocklist")
+	List<StockGoods>  list(
+		@RequestParam(value = "code",required = false)String code,
+		@RequestParam(value = "cname",required = false)String cname,
+		@RequestParam(value = "brandItem",required = false)String brandItem,
+		@RequestParam(value = "placeProduction",required = false)String placeProduction,
+		@RequestParam(value = "typeno",required = false)String typeno,
+		@RequestParam(value = "typenoOne",required = false)String typenoOne,
+		@RequestParam(value = "typenoTwo",required = false)String typenoTwo,
+		@RequestParam(value = "stockName",required = false)String stockName,
+		@RequestParam(value = "brand",required = false)String brand,
+		@RequestParam(value = "tenantId",required = false)String tenantId,
+		@RequestParam(value = "createStartTime",required = false)String createStartTime,
+		@RequestParam(value = "createEndTime",required = false)String createEndTime,
+		@RequestParam(value = "size",required = false)String size,
+		@RequestParam(value = "current",required = false)String current
+									 );
+
+
 	/**
 	 * 查询库存总账 是否存在
 	 * @param corpId 客户id

+ 1 - 1
blade-service/blade-stock/src/main/java/org/springblade/stock/controller/StockGoodsController.java

@@ -110,7 +110,7 @@ public class StockGoodsController extends BladeController {
 			if(Func.isNotEmpty(stockGoods.getCname()))
 			{
 				List<Long> goodId = goodsDescClient.getGoodId(null, stockGoods.getCname(), null, null, null, null, null);
-				if(goodId!=null)
+				if(CollectionUtils.isNotEmpty(goodId))
 				{
 					lambdaQueryWrapper.in(StockGoods::getGoodsId, goodId);
 				}

+ 91 - 0
blade-service/blade-stock/src/main/java/org/springblade/stock/feign/StockGoodsClient.java

@@ -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