From 2f8e70ad2884d2b6b7443dfae0af11ae9cfc8b99 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 28 二月 2025 17:44:10 +0800
Subject: [PATCH] bug修改

---
 manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java |   82 +++++++++++++++++++++++++++++-----------
 1 files changed, 59 insertions(+), 23 deletions(-)

diff --git a/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java b/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java
index 6cf722f..40be5e6 100644
--- a/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java
+++ b/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java
@@ -24,6 +24,7 @@
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.StringUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
@@ -32,6 +33,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -72,32 +74,37 @@
     @PostMapping(value = "/getCurrentByParamFrame")
     public ApiResult<Integer> getCurrentByParamFrame(@RequestBody GetCurrentByParam getCurrentByParam) {
         // 根据型号名称 查询型号列表ids
-        List<Integer> collect = modelService.lambdaQuery().eq(TModel::getName, getCurrentByParam.getModel())
-                .eq(TModel::getMaterialId,getCurrentByParam.getMaterialId())
-                .eq(TModel::getColor,getCurrentByParam.getColor())
-                .eq(TModel::getBrandId,getCurrentByParam.getBrandId())
+        List<Integer> collect = modelService.lambdaQuery()
+                .eq(StringUtils.hasLength(getCurrentByParam.getModel()),TModel::getName, getCurrentByParam.getModel())
+                .eq(Objects.nonNull(getCurrentByParam.getMaterialId()),TModel::getMaterialId,getCurrentByParam.getMaterialId())
+                .eq(StringUtils.hasLength(getCurrentByParam.getColor()),TModel::getColor,getCurrentByParam.getColor())
+                .eq(Objects.nonNull(getCurrentByParam.getBrandId()),TModel::getBrandId,getCurrentByParam.getBrandId())
                 .list().stream().map(TModel::getId).collect(Collectors.toList());
-        TFrameGoods one = frameGoodsService.lambdaQuery().in(TFrameGoods::getModelId, collect)
-                .eq(TFrameGoods::getColor, getCurrentByParam.getColor()).one();
-        if (one!=null){
-            return ApiResult.success(one.getTotal());
-
-        }
-        return ApiResult.success(0);
+        if (collect.isEmpty())collect.add(-1);
+        List<TFrameGoods> one = frameGoodsService.lambdaQuery().in(TFrameGoods::getModelId, collect)
+                .eq(TFrameGoods::getColor, getCurrentByParam.getColor())
+                .eq(TFrameGoods::getStoreId, getCurrentByParam.getStoreId()).list();
+        if (one.isEmpty())return ApiResult.success(0);
+        Integer temp = one.stream()
+                .mapToInt(TFrameGoods::getTotal)
+                .sum();
+        return ApiResult.success(temp);
     }
     @ApiOperation(value = "镜片-根据系列id、球/非球、品牌id、折射率、ballMirror、columnMirror查询当前库存")
     @PostMapping(value = "/getCurrentByParamLens")
     public ApiResult<Integer> getCurrentByParamLens(@RequestBody GetCurrentByParamLens dto) {
-        TLensGoods one = lensGoodsService.lambdaQuery().in(TLensGoods::getSeriesId, dto.getSeriesId())
+        List<TLensGoods> one = lensGoodsService.lambdaQuery().eq(TLensGoods::getSeriesId, dto.getSeriesId())
                 .eq(dto.getLensType()!=null,TLensGoods::getLensType, dto.getLensType())
-                .eq(dto.getRefractiveIndex()!=null,TLensGoods::getRefractiveIndex, dto.getRefractiveIndex())
-                .eq(dto.getBallMirror()!=null,TLensGoods::getBallMirror, dto.getBallMirror())
-                .eq(dto.getColumnMirror()!=null,TLensGoods::getColumnMirror, dto.getColumnMirror())
-                .one();
-        if (one!=null){
-            return ApiResult.success(one.getTotal());
-        }
-        return ApiResult.success(0);
+                .eq(StringUtils.hasLength(dto.getRefractiveIndex()),TLensGoods::getRefractiveIndex, dto.getRefractiveIndex())
+                .eq(StringUtils.hasLength(dto.getBallMirror()),TLensGoods::getBallMirror, dto.getBallMirror())
+                .eq(StringUtils.hasLength(dto.getColumnMirror()),TLensGoods::getColumnMirror, dto.getColumnMirror())
+                .eq(dto.getStoreId()!=null,TLensGoods::getStoreId, dto.getStoreId())
+                .list();
+        if (one.isEmpty())return ApiResult.success(0);
+        Integer temp = one.stream()
+                .mapToInt(TLensGoods::getTotal)
+                .sum();
+       return ApiResult.success(temp);
     }
     @ApiOperation(value = "镜架库存分页列表")
     @PostMapping(value = "/frameReceiptList")
@@ -159,6 +166,18 @@
     @ApiOperation(value = "镜片出入库记录列表")
     @PostMapping(value = "/detailLensList")
     public ApiResult<PageInfo<TLensWarehousingDetailVO>> detailLensList(@RequestBody TWarehousingDetailLensQuery query) {
+        if (query.getSeriesId()!=null){
+            TLensSeries series = lensSeriesService.getById(query.getSeriesId());
+            if (series!=null){
+                query.setSeries(series.getName());
+            }
+        }
+        if (query.getBrandId()!=null){
+            TBrand brand = brandService.getById(query.getBrandId());
+            if (brand!=null){
+                query.setBrand(brand.getName());
+            }
+        }
         return ApiResult.success(warehousingService.detailListLens(query));
     }
     /**
@@ -192,8 +211,8 @@
             tLensGoodsDetailVO.setTitle(byId3.getName()+byId2.getName()+t1+" "+byId.getRefractiveIndex());
         }
         // 查询这个商品的库存明细
-        List<TLensWarehousingDetail> list = lensWarehousingDetailService.lambdaQuery().eq(TLensWarehousingDetail::getSeriesId, byId.getSeriesId())
-                .eq(TLensWarehousingDetail::getRefractiveIndex, byId.getRefractiveIndex()).list();
+        List<TLensGoods> list = lensGoodsService.lambdaQuery().eq(TLensGoods::getSeriesId, byId.getSeriesId())
+                .eq(TLensGoods::getRefractiveIndex, byId.getRefractiveIndex()).list();
         tLensGoodsDetailVO.setList(list);
         return ApiResult.success(tLensGoodsDetailVO);
     }
@@ -221,6 +240,7 @@
             List<TFrameGoods> list1 = new ArrayList<>();
             for (TFrameWarehousingDetail frameWarehousingDetail : frameWarehousingDetails) {
                 TFrameGoods one = frameGoodsService.lambdaQuery().eq(TFrameGoods::getModelId, frameWarehousingDetail.getModelId())
+                        .eq(TFrameGoods::getStoreId, dto.getStoreId())
                         .eq(TFrameGoods::getColor, frameWarehousingDetail.getColor()).one();
                 if (one!=null){
                     if (one.getTotal()-frameWarehousingDetail.getTotal()<0){
@@ -229,6 +249,9 @@
                     // 增加对应库存
                     one.setTotal(one.getTotal()-frameWarehousingDetail.getTotal());
                     list1.add(one);
+                }else {
+                    return ApiResult.failed("库存不足");
+
                 }
             }
             if (!list1.isEmpty())frameGoodsService.updateBatchById(list1);
@@ -240,6 +263,7 @@
             List<TFrameGoods> list2 = new ArrayList<>();
             for (TFrameWarehousingDetail frameWarehousingDetail : frameWarehousingDetails) {
                 TFrameGoods one = frameGoodsService.lambdaQuery().eq(TFrameGoods::getModelId, frameWarehousingDetail.getModelId())
+                        .eq(TFrameGoods::getStoreId, dto.getStoreId())
                         .eq(TFrameGoods::getColor, frameWarehousingDetail.getColor()).one();
                 if (one!=null){
                     // 增加对应库存
@@ -287,6 +311,7 @@
                         .eq(TLensGoods::getLensType, frameWarehousingDetail.getType())
                         .eq(TLensGoods::getBallMirror, frameWarehousingDetail.getBallMirror())
                         .eq(TLensGoods::getColumnMirror, frameWarehousingDetail.getColumnMirror())
+                        .eq(TLensGoods::getStoreId, dto.getStoreId())
                         .one();
                 if (one!=null){
                     if (one.getTotal()-frameWarehousingDetail.getTotal()<0){
@@ -295,6 +320,9 @@
                     // 减少对应库存
                     one.setTotal(one.getTotal()-frameWarehousingDetail.getTotal());
                     list1.add(one);
+                }else {
+                    return ApiResult.failed("库存不足");
+
                 }
             }
             if (!list1.isEmpty())lensGoodsService.updateBatchById(list1);
@@ -309,7 +337,7 @@
                         .eq(TLensGoods::getRefractiveIndex, frameWarehousingDetail.getRefractiveIndex())
                         .eq(TLensGoods::getBallMirror, frameWarehousingDetail.getBallMirror())
                         .eq(TLensGoods::getLensType, frameWarehousingDetail.getType())
-
+                        .eq(TLensGoods::getStoreId, dto.getStoreId())
                         .eq(TLensGoods::getColumnMirror, frameWarehousingDetail.getColumnMirror())
                         .one();
                 if (one!=null){
@@ -347,6 +375,10 @@
         List<TFrameWarehousingDetail> list = frameWarehousingDetailService.list(Wrappers.lambdaQuery(TFrameWarehousingDetail.class)
                 .eq(TFrameWarehousingDetail::getWarehousingId, id));
         vo.setFrameWarehousingDetails(list);
+        TStore store = storeService.getById(warehousing.getStoreId());
+        if (store!=null){
+            vo.setStoreName(store.getName());
+        }
         // 统计数量
         vo.setTotalNum(list.stream().mapToInt(TFrameWarehousingDetail::getTotal).sum());
         return ApiResult.success(vo);
@@ -359,6 +391,10 @@
         BeanUtils.copyProperties(warehousing, vo);
         List<TLensWarehousingDetail> list = lensWarehousingDetailService.list(Wrappers.lambdaQuery(TLensWarehousingDetail.class)
                 .eq(TLensWarehousingDetail::getWarehousingId, id));
+        TStore store = storeService.getById(warehousing.getStoreId());
+        if (store!=null){
+            vo.setStoreName(store.getName());
+        }
         vo.setLensWarehousingDetails(list);
         // 统计数量
         vo.setTotalNum(list.stream().mapToInt(TLensWarehousingDetail::getTotal).sum());

--
Gitblit v1.7.1