xuhy
2025-01-10 d1632e46b772d691e55b4013585bfe61164b8bde
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")
@@ -192,8 +199,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 +228,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 +237,9 @@
                    // 增加对应库存
                    one.setTotal(one.getTotal()-frameWarehousingDetail.getTotal());
                    list1.add(one);
                }else {
                    return ApiResult.failed("库存不足");
                }
            }
            if (!list1.isEmpty())frameGoodsService.updateBatchById(list1);
@@ -240,6 +251,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 +299,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 +308,9 @@
                    // 减少对应库存
                    one.setTotal(one.getTotal()-frameWarehousingDetail.getTotal());
                    list1.add(one);
                }else {
                    return ApiResult.failed("库存不足");
                }
            }
            if (!list1.isEmpty())lensGoodsService.updateBatchById(list1);
@@ -309,7 +325,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){