lazhaoqian 4 years ago
parent
commit
5da39f3ff7

+ 18 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/IGoodsDescClient.java

@@ -22,6 +22,7 @@ public interface IGoodsDescClient {
 	String GOODSD_ESCMESSAGE = API_PREFIX + "/goodsDescMessage";
 	String GOODS_BY_CODE = API_PREFIX + "goods_by_code";
 	String GET_SPECIFICATION = API_PREFIX + "/get_Specification" ;
+	String GET_GOOD_ID = API_PREFIX +"/getGoodId";
 
 	/**
 	 * 获取商品信息
@@ -56,5 +57,22 @@ public interface IGoodsDescClient {
 	@GetMapping(GET_SPECIFICATION)
 	R<List<String>> getSpecification(@RequestParam("goodId") Long goodId);
 
+	/**
+	 * 获取商品id
+	 * @param code
+	 * @param cname
+	 * @param brand
+	 * @param brandItem
+	 * @param placeProduction
+	 * @param specsOne
+	 * @param specsTwo
+	 * @return
+	 */
+	@GetMapping(GET_GOOD_ID)
+	List<Long> getGoodId(@RequestParam(value = "code",required = false)String code,@RequestParam(value = "cname",required = false)String cname,
+						 @RequestParam(value = "brand",required = false)String brand,@RequestParam(value = "brandItem",required = false)String brandItem,
+						 @RequestParam(value = "placeProduction",required = false)String placeProduction,
+						 @RequestParam(value = "specsOne",required = false)String specsOne,@RequestParam(value = "specsTwo",required = false)String specsTwo);
+
 
 }

+ 10 - 0
blade-service-api/blade-stock-api/src/main/java/org/springblade/stock/vo/StockGoodsVO.java

@@ -16,6 +16,8 @@
  */
 package org.springblade.stock.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModelProperty;
 import org.springblade.stock.entity.StockGoods;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -33,4 +35,12 @@ import io.swagger.annotations.ApiModel;
 public class StockGoodsVO extends StockGoods {
 	private static final long serialVersionUID = 1L;
 
+
+	@ApiModelProperty(value = "制单日期开始")
+	private String createStartTime;
+
+
+	@ApiModelProperty(value = "制单日期结束")
+	private String createEndTime;
+
 }

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

@@ -53,6 +53,11 @@ public class OrderFreight implements Serializable {
 		@ApiModelProperty(value = "主表id")
 		private Long pid;
 	/**
+	 * 箱型
+	 */
+		@ApiModelProperty(value = "箱型")
+		private String boxPile;
+	/**
 	* 船公司
 	*/
 		@ApiModelProperty(value = "船公司")

+ 23 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/feign/GoodsDescClient.java

@@ -1,6 +1,8 @@
 package org.springblade.client.goods.feign;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -14,10 +16,12 @@ 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.BeanUtil;
+import org.springblade.core.tool.utils.Func;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -75,4 +79,23 @@ public class GoodsDescClient implements IGoodsDescClient {
 	public R<List<String>> getSpecification(Long goodId) {
 		return R.data(goodsSpecificationService.getSpecification(goodId));
 	}
+	@GetMapping(GET_GOOD_ID)
+	@Override
+	public List<Long> getGoodId(String code,String cname,String brand,String brandItem,String placeProduction,
+								String specsOne,String specsTwo) {
+		List<Long> list = new ArrayList<>();
+		LambdaQueryWrapper<GoodsDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.like(Func.isNotEmpty(code),GoodsDesc::getCode,code);
+		lambdaQueryWrapper.like(Func.isNotEmpty(cname),GoodsDesc::getCname,cname);
+		lambdaQueryWrapper.like(Func.isNotEmpty(brand),GoodsDesc::getBrand,brand);
+		lambdaQueryWrapper.like(Func.isNotEmpty(brandItem),GoodsDesc::getBrandItem,brandItem);
+		lambdaQueryWrapper.like(Func.isNotEmpty(placeProduction),GoodsDesc::getPlaceProduction,placeProduction);
+		lambdaQueryWrapper.like(Func.isNotEmpty(specsOne),GoodsDesc::getSpecsOne,specsOne);
+		lambdaQueryWrapper.like(Func.isNotEmpty(specsTwo),GoodsDesc::getSpecsTwo,specsTwo);
+		List<GoodsDesc> goodsDescList = goodsDescService.list(lambdaQueryWrapper);
+		if (CollectionUtils.isNotEmpty(goodsDescList)){
+			list = goodsDescList.stream().map(GoodsDesc::getId).collect(Collectors.toList());
+		}
+		return list;
+	}
 }

+ 3 - 3
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/entrance/EntranceOrderController.java

@@ -145,9 +145,9 @@ public class EntranceOrderController extends BladeController {
 				//获取订单明细
 				List<OrderItems> list = orderItemsService.list(new QueryWrapper<OrderItems>().eq("pid", item.getId()).eq("is_deleted", 0));
 				if (CollectionUtils.isNotEmpty(list)){
-					item.setOrderQuantity(list.stream().map(OrderItems::getOrderQuantity).reduce(BigDecimal.ZERO,BigDecimal::add));//数量合计
-					item.setAmount(list.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add));//销售金额
-					item.setPurchaseAmount(list.stream().map(OrderItems::getPurchaseAmount).reduce(BigDecimal.ZERO,BigDecimal::add));//采购金额
+					//item.setOrderQuantity(list.stream().map(OrderItems::getOrderQuantity).reduce(BigDecimal.ZERO,BigDecimal::add));//数量合计
+					//item.setAmount(list.stream().map(OrderItems::getAmount).reduce(BigDecimal.ZERO,BigDecimal::add));//销售金额
+					//item.setPurchaseAmount(list.stream().map(OrderItems::getPurchaseAmount).reduce(BigDecimal.ZERO,BigDecimal::add));//采购金额
 					item.setActualQuantity(list.stream().map(OrderItems::getActualQuantity).reduce(BigDecimal.ZERO,BigDecimal::add));//发货数量
 				}
 

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

@@ -16,6 +16,9 @@
  */
 package org.springblade.stock.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -25,13 +28,20 @@ import lombok.AllArgsConstructor;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
+import org.springblade.client.entity.CorpsDesc;
+import org.springblade.client.feign.ICorpsDescClient;
+import org.springblade.client.feign.IGoodsDescClient;
+import org.springblade.client.vo.GoodsDescVO;
 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.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.stock.excel.StockGoodsExcel;
 import org.springblade.stock.excel.StockGoodsImport;
+import org.springblade.system.user.entity.User;
+import org.springblade.system.user.feign.IUserClient;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.stock.entity.StockGoods;
@@ -56,6 +66,9 @@ import java.util.List;
 public class StockGoodsController extends BladeController {
 
 	private final IStockGoodsService stockGoodsService;
+	private ICorpsDescClient corpsDescClient;//获取客户信息
+	private IGoodsDescClient goodsDescClient;//商品信息
+	private IUserClient userClient;//用户信息
 
 	/**
 	 * 详情
@@ -74,8 +87,64 @@ public class StockGoodsController extends BladeController {
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入stockGoods")
-	public R<IPage<StockGoods>> list(StockGoods stockGoods, Query query) {
-		IPage<StockGoods> pages = stockGoodsService.listMessage(Condition.getPage(query), Condition.getQueryWrapper(stockGoods));
+	public R<IPage<StockGoods>> list(StockGoodsVO stockGoods, Query query) {
+		List<Long> list = new ArrayList<>();
+		if (stockGoods != null){
+			list = goodsDescClient.getGoodId(stockGoods.getCode(),stockGoods.getCname(),stockGoods.getBrand(),stockGoods.getBrandItem(),
+				stockGoods.getPlaceProduction(),stockGoods.getTypeno(),stockGoods.getTypenoOne());
+		}
+		LambdaQueryWrapper<StockGoods> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(StockGoods::getTenantId, SecureUtil.getTenantId());
+		lambdaQueryWrapper.eq(StockGoods::getIsDeleted,0);
+		lambdaQueryWrapper.like(Func.isNotEmpty(stockGoods.getCode()),StockGoods::getCode,stockGoods.getCode());//编码
+		lambdaQueryWrapper.like(Func.isNotEmpty(stockGoods.getCname()),StockGoods::getCname,stockGoods.getCname());//名称
+		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());//制单日期结束
+		lambdaQueryWrapper.or();
+		lambdaQueryWrapper.in(Func.isNotEmpty(list),StockGoods::getGoodsId,list);
+		IPage<StockGoods> pages = stockGoodsService.page(Condition.getPage(query), lambdaQueryWrapper);
+		if (CollectionUtils.isNotEmpty(pages.getRecords())){
+			pages.getRecords().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());
+					}
+					item.setCname(goodsMessage.getData().getCname());
+					item.setCode(goodsMessage.getData().getCode());
+				}
+				//获取客户信息
+				R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getCorpId());
+				if (corpMessage.isSuccess() && corpMessage.getData() != null){
+					item.setCorpName(corpMessage.getData().getCname());
+				}
+				//获取用户信息
+				if (item.getCreateUser() != null){
+					R<User> createUser = userClient.userInfoById(item.getCreateUser());
+					if (createUser.isSuccess() && createUser.getData() != null){
+						item.setCreateUserName(createUser.getData().getName());
+					}
+				}
+				if (item.getUpdateUser() != null){
+					R<User> updateUser = userClient.userInfoById(item.getUpdateUser());
+					if (updateUser.isSuccess() && updateUser.getData() != null){
+						item.setUpdateUserName(updateUser.getData().getName());
+					}
+				}
+			});
+		}
 		return R.data(pages);
 	}
 

+ 1 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderFreightMapper.xml

@@ -19,6 +19,7 @@
         <result column="update_time" property="updateTime"/>
         <result column="status" property="status"/>
         <result column="is_deleted" property="isDeleted"/>
+        <result column="box_pile" property="boxPile"/>
     </resultMap>