Browse Source

2022年11月9日19:23:39

纪新园 3 years ago
parent
commit
ee2033ea7a

+ 7 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Order.java

@@ -1110,4 +1110,11 @@ public class Order implements Serializable {
 	@TableField(exist = false)
 	private Date arrivalTimeEnd;
 
+	/**
+	 * 出厂金额
+	 */
+	@ApiModelProperty(value = "出厂金额")
+	@TableField(exist = false)
+	private BigDecimal outFactoryPrice;
+
 }

+ 6 - 0
blade-service-api/blade-stock-api/src/main/java/org/springblade/stock/entity/StockGoods.java

@@ -355,5 +355,11 @@ public class StockGoods implements Serializable {
 	@ApiModelProperty(value = "送货数量")
 	private Integer actualQuantity;
 
+	/**
+	 * 产品名
+	 */
+	@TableField(exist = false)
+	private String goodsName;
+
 
 }

+ 8 - 2
blade-service/blade-client/src/main/java/org/springblade/client/corps/controller/CorpsDescPartsController.java

@@ -208,6 +208,9 @@ public class CorpsDescPartsController extends BladeController {
 		//平均客单产值
 		BigDecimal averageAmount = new BigDecimal("0.00");
 
+		//总金额
+		BigDecimal amount = new BigDecimal("0.00");
+
 		LambdaQueryWrapper<CorpsDesc> corpsDescQueryWrapper = new LambdaQueryWrapper<>();
 		corpsDescQueryWrapper.eq(CorpsDesc::getIsDeleted, 0).eq(CorpsDesc::getTenantId, AuthUtil.getTenantId()).eq(CorpsDesc::getCorpType, "KH");
 		//客户总数量
@@ -231,13 +234,16 @@ public class CorpsDescPartsController extends BladeController {
 		if (unsales > 0){
 			lossRate = lossRate.add(new BigDecimal(unsales).divide(new BigDecimal(corpsDescList.size()),MathContext.DECIMAL32));
 		}
+
+
+
 		Order order = new Order();
 		order.setBillType("XS");
 		order.setTradeType("YPJ");
 		List<Order> orderList = orderDescClient.getByBillNo(order);
-
+		amount = orderList.stream().map(Order::getDebitAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 		//平均客单产值
-		averageAmount = averageAmount.add(new BigDecimal(corpsDescList.size()/orderList.size(),MathContext.DECIMAL32));
+		averageAmount = averageAmount.add(amount.divide(new BigDecimal(orderList.size()),MathContext.DECIMAL32));
 
 		map.put("sumNumber", corpsDescList.size());
 		map.put("coreCorp", coreCorp);

+ 7 - 3
blade-service/blade-client/src/main/java/org/springblade/client/goods/controller/GoodsDescController.java

@@ -573,14 +573,15 @@ public class GoodsDescController extends BladeController {
 		}
 		lambdaQueryWrapper.eq(GoodsDesc::getTenantId, AuthUtil.getTenantId());
 		lambdaQueryWrapper.eq(GoodsDesc::getIsDeleted, 0);
-		lambdaQueryWrapper.like(StringUtil.isNotBlank(cname), GoodsDesc::getCname, cname);
 		lambdaQueryWrapper.like(StringUtil.isNotBlank(typeno), GoodsDesc::getTypeno, typeno);
 		lambdaQueryWrapper.like(StringUtil.isNotBlank(brandItem), GoodsDesc::getBrandItem, brandItem);
 		lambdaQueryWrapper.like(StringUtil.isNotBlank(brand), GoodsDesc::getBrand, brand);
+		lambdaQueryWrapper.like(StringUtil.isNotBlank(cname), GoodsDesc::getCname, cname).or();
+		lambdaQueryWrapper.like(StringUtil.isNotBlank(cname), GoodsDesc::getCnameInt, cname);
 		lambdaQueryWrapper.orderByDesc(GoodsDesc::getCreateTime);
 		Page<GoodsDesc> page = new Page<>(current, size);
 		IPage<GoodsDesc> iPage = goodsDescService.page(page, lambdaQueryWrapper);
-
+		List<GoodsDesc> goodsDescList = new ArrayList<>();
 		iPage.getRecords().forEach(good -> {
 			List<GoodsFiles> filesList = goodsFilesMapper.selectList(new LambdaQueryWrapper<GoodsFiles>()
 				.eq(GoodsFiles::getPid, good.getId())
@@ -600,10 +601,13 @@ public class GoodsDescController extends BladeController {
 				R<StockGoodsVO> r = stockGoodsClient.selectStockParts(null, storageId, good.getId(), null, null, null, null, null, null);
 				if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())) {
 					good.setStockGoods(r.getData());
+					goodsDescList.add(good);
 				}
 			}
 		});
-
+		if (ObjectUtils.isNotNull(storageId)){
+			iPage.setRecords(goodsDescList);
+		}
 		return R.data(iPage);
 	}
 

+ 6 - 0
blade-service/blade-client/src/main/java/org/springblade/client/goods/service/impl/GoodsDescServiceImpl.java

@@ -687,6 +687,9 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, GoodsDesc
 		Long id = goodsDescDto.getId();
 		// 代表主表、子表都是新增,
 		if (id == null) {
+			if (StringUtil.isBlank(goodsDesc.getCnameInt())) {
+				goodsDesc.setCnameInt(getCnameInt(goodsDesc.getCname()));
+			}
 			goodsDescDto.setTenantId(AuthUtil.getTenantId());
 			goodsDescDto.setCreateTime(new Date());
 			goodsDescDto.setCreateUser(SecureUtil.getUserId());
@@ -732,6 +735,9 @@ public class GoodsDescServiceImpl extends ServiceImpl<GoodsDescMapper, GoodsDesc
 		}
 		// 主表修改,子表看情况
 		else {
+			if (StringUtil.isBlank(goodsDesc.getCnameInt())) {
+				goodsDesc.setCnameInt(getCnameInt(goodsDesc.getCname()));
+			}
 			goodsDescMapper.updateById(goodsDesc);
 			// 文件列表
 			if (CollectionUtils.isNotEmpty(filesList)) {

+ 10 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/export/ExportOrderController.java

@@ -383,7 +383,11 @@ public class ExportOrderController extends BladeController {
 				//客户
 				if (item.getCorpId() != null) {
 					if (ObjectUtil.isNotEmpty(corpsDescList)) {
-						item.setCorpsName(corpsDescList.stream().filter(e -> e.getId().equals(item.getCorpId())).findFirst().get().getCname());
+						CorpsDesc corpsDesc = corpsDescList.stream().filter(e -> e.getId().equals(item.getCorpId())).findFirst().orElse(null);
+						if (ObjectUtils.isNotNull(corpsDesc)){
+							item.setCorpsName(corpsDesc.getCname());
+
+						}
 					}
 				}
 				//获取订单明细
@@ -392,6 +396,10 @@ public class ExportOrderController extends BladeController {
 					item.setAmount(list.stream().filter(e -> e.getAmount() != null).reduce(BigDecimal.ZERO, (x, y) -> {
 						return x.add(y.getAmount().multiply(y.getExchangeRate()));
 					}, BigDecimal::add));//金额求和
+					//修改  2022年11月10日09:20:46
+					 item.setOutFactoryPrice(list.stream().filter(e -> e.getAmount() != null).reduce(BigDecimal.ZERO, (x, y) -> {
+						return x.add(y.getOutFactoryPrice().multiply(y.getOrderQuantity()).multiply(y.getExchangeRate()));
+					}, BigDecimal::add));//出厂金额求和
 					item.setProcurementCost(list.stream().filter(e -> e.getPurchaseCost() != null).reduce(BigDecimal.ZERO, (x, y) -> {
 						return x.add(y.getPurchaseCost().multiply(y.getOrderQuantity()));
 					}, BigDecimal::add));//采购成本和
@@ -406,6 +414,7 @@ public class ExportOrderController extends BladeController {
 					item.setProcurementCost(BigDecimal.ZERO);
 					item.setPurchasePrice(BigDecimal.ZERO);
 					item.setPartsCost(BigDecimal.ZERO);
+					item.setOutFactoryPrice(BigDecimal.ZERO);
 				}
 				//获取应收费用
 				List<OrderFees> feesList = orderFeesService.list(new QueryWrapper<OrderFees>().eq("pid", item.getId()).eq("is_deleted", 0).eq("tenant_id", item.getTenantId()).eq("fees_type", 1));

+ 1 - 1
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/mapper/OrderMapper.xml

@@ -2972,7 +2972,7 @@ ORDER BY
             and busines_date between date_sub(now(),interval 6 month) and now();
         </if>
         <if test="order.corpType != null and order.corpType != '' and order.corpType == 2">
-            AND busines_date between date_sub(now(),interval 3 month) and now();
+            AND busines_date between date_sub(now(),interval 6 month) and now();
         </if>
     </select>
     <update id="updateStockGoods" parameterType="org.springblade.stock.entity.StockGoods">

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

@@ -455,4 +455,25 @@ public class StockGoodsController extends BladeController {
 		return R.data(map);
 	}
 
+	@GetMapping("/goodsByStorageId")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入goodsDesc")
+	public R<?> descListAll(@RequestParam(name = "storageId", required = false) Long storageId) {
+		QueryWrapper<StockGoods> stockGoodsQueryWrapper = new QueryWrapper<>();
+		stockGoodsQueryWrapper.eq("tenant_id", AuthUtil.getTenantId());
+		stockGoodsQueryWrapper.eq("is_deleted", 0);
+		stockGoodsQueryWrapper.eq("storage_id", storageId);
+		List<StockGoods> iPage = stockGoodsService.list(stockGoodsQueryWrapper);
+		for (StockGoods stockGoods : iPage) {
+			//获取商品信息
+			R<GoodsDescVO> goodsMessage = goodsDescClient.selectGoodsMessage(stockGoods.getGoodsId());
+			if (goodsMessage.isSuccess() && goodsMessage.getData() != null) {
+				if (StringUtils.isNotBlank(goodsMessage.getData().getCname())) {
+					stockGoods.setGoodsName(goodsMessage.getData().getCname());
+				}
+			}
+		}
+		return R.data(iPage);
+	}
+
 }