Browse Source

修改库存账问题

1021934019@qq.com 3 years ago
parent
commit
678c8a03b7

+ 1 - 1
blade-service-api/blade-project-api/src/main/java/org/springblade/project/entity/ServiceProjectItem.java

@@ -131,7 +131,7 @@ public class ServiceProjectItem extends TenantEntity implements Serializable {
 	private BigDecimal costReturn;
 
 	private Integer projectType;
-
+    @TableField(exist = false)
 	private BigDecimal grossIncome;
 
 

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

@@ -43,4 +43,7 @@ public class StockGoodsVO extends StockGoods {
 	@ApiModelProperty(value = "制单日期结束")
 	private String createEndTime;
 
+	@ApiModelProperty(value = "是否区分箱号")
+	private int IsCntrON=0;
+
 }

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

@@ -90,76 +90,93 @@ public class StockGoodsController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入stockGoods")
 	public R<IPage<StockGoods>> list(StockGoodsVO stockGoods, Query query) {
-		List<Long> list = new ArrayList<>();
-		if (StringUtils.isNotBlank(stockGoods.getCode()) || StringUtils.isNotBlank(stockGoods.getCname()) || StringUtils.isNotBlank(stockGoods.getBrand())
-		|| StringUtils.isNotBlank(stockGoods.getBrandItem()) || StringUtils.isNotBlank(stockGoods.getPlaceProduction()) || StringUtils.isNotBlank(stockGoods.getTypeno())
-		|| StringUtils.isNotBlank(stockGoods.getTypenoOne())){
-			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());
+		//不区分箱号
+		if(stockGoods.getIsCntrON()==0)
+		{
+			List<Long> list = new ArrayList<>();
+			if (StringUtils.isNotBlank(stockGoods.getCode()) || StringUtils.isNotBlank(stockGoods.getCname()) || StringUtils.isNotBlank(stockGoods.getBrand())
+				|| StringUtils.isNotBlank(stockGoods.getBrandItem()) || StringUtils.isNotBlank(stockGoods.getPlaceProduction()) || StringUtils.isNotBlank(stockGoods.getTypeno())
+				|| StringUtils.isNotBlank(stockGoods.getTypenoOne())){
+				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());
 					}
-					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());
+					//获取客户信息
+					R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(item.getCorpId());
+					if (corpMessage.isSuccess() && corpMessage.getData() != null){
+						item.setCorpName(corpMessage.getData().getCname());
 					}
-				}
-				//获取仓库信息
-				if (item.getStorageId() != null){
-					//仓库信息
-					StorageDesc storageDesc = iStorageClient.findById(item.getStorageId());
-					if(storageDesc!=null)
-					{
-						item.setStockName(storageDesc.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.getStorageId() != null){
+						//仓库信息
+						StorageDesc storageDesc = iStorageClient.findById(item.getStorageId());
+						if(storageDesc!=null)
+						{
+							item.setStockName(storageDesc.getCname());
+						}
 
-				}
-				if (item.getUpdateUser() != null){
-					R<User> updateUser = userClient.userInfoById(item.getUpdateUser());
-					if (updateUser.isSuccess() && updateUser.getData() != null){
-						item.setUpdateUserName(updateUser.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);
 		}
-		return R.data(pages);
+		//区分箱号查询
+		else if(stockGoods.getIsCntrON()==1)
+		{
+			IPage<StockGoods> iPage = stockGoodsService.groupByStock(Condition.getPage(query));
+			List<StockGoods> records = iPage.getRecords();
+			return R.success("操作成功");
+		}
+		else
+		{
+			return R.fail("操作失败");
+		}
+
+
 	}
 
 	/**

+ 3 - 0
blade-service/blade-stock/src/main/java/org/springblade/stock/mapper/StockGoodsMapper.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.stock.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.springblade.stock.entity.StockGoods;
 import org.springblade.stock.vo.StockGoodsVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -39,4 +40,6 @@ public interface StockGoodsMapper extends BaseMapper<StockGoods> {
 	 */
 	List<StockGoodsVO> selectStockGoodsPage(IPage page, StockGoodsVO stockGoods);
 
+	IPage<StockGoods> groupByStock(IPage<StockGoods> iPage,@Param("tenantId") String tenantId);
+
 }

+ 34 - 0
blade-service/blade-stock/src/main/java/org/springblade/stock/mapper/StockGoodsMapper.xml

@@ -55,4 +55,38 @@
         select * from business_stock_goods where is_deleted = 0
     </select>
 
+    <select id="" resultType="org.springblade.stock.entity.StockGoods">
+        SELECT
+	a.bill_no as billNo,
+	a.contract_number as contractNumber,
+	a.goods_id as goodsId,
+	a.storage_id as storageId,
+	sum(a.in_weight) as lockingWeight ,
+	sum(a.in_volumn) as outQuantity ,
+	sum(a.in_amount) as lockingQuantity ,
+	sum(a.in_quantity) as balanceQuantity,
+	sum(a.surplus_route_quantity) as inWeight,
+	sum(a.out_quantity) as outWeight,
+	sum(a.out_quantity) as lockingWeight,
+	sum(a.out_quantity) as balanceWeight,
+	sum(a.out_quantity) as inVolumn,
+	sum(a.out_quantity) as lockingVolumn,
+	sum(a.out_quantity) as balanceVolumn,
+	sum(a.out_quantity) as enRouteQuantity,
+	sum(a.out_quantity) as surplusRouteQuantity,
+	sum(a.out_quantity) as inAmount,
+	sum(a.out_quantity) as outAmount,
+	sum(a.out_quantity) as balanceAmount,
+	sum(a.out_quantity) as outVolumn
+
+    FROM
+	business_stock_goods a
+    where a.tenant_id=#{tenantId}
+    GROUP BY
+	a.bill_no,
+	a.contract_number,
+	a.goods_id
+
+    </select>
+
 </mapper>

+ 2 - 0
blade-service/blade-stock/src/main/java/org/springblade/stock/service/IStockGoodsService.java

@@ -82,5 +82,7 @@ public interface IStockGoodsService extends IService<StockGoods> {
 	R<StockGoods> updateMessage(StockGoods stockGoods);
 
 
+	IPage<StockGoods> groupByStock(IPage<StockGoods> iPage);
+
 
 }

+ 7 - 0
blade-service/blade-stock/src/main/java/org/springblade/stock/service/impl/StockGoodsServiceImpl.java

@@ -29,6 +29,7 @@ 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.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
@@ -263,4 +264,10 @@ public class StockGoodsServiceImpl extends ServiceImpl<StockGoodsMapper, StockGo
 		return R.data(stockGoods);
 	}
 
+	@Override
+	public IPage<StockGoods> groupByStock(IPage<StockGoods> iPage)
+	{
+		return baseMapper.groupByStock(iPage,AuthUtil.getTenantId());
+	}
+
 }