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/TInventoryController.java |  167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 165 insertions(+), 2 deletions(-)

diff --git a/manage/src/main/java/com/jilongda/manage/controller/TInventoryController.java b/manage/src/main/java/com/jilongda/manage/controller/TInventoryController.java
index db4c761..20c90a3 100644
--- a/manage/src/main/java/com/jilongda/manage/controller/TInventoryController.java
+++ b/manage/src/main/java/com/jilongda/manage/controller/TInventoryController.java
@@ -1,9 +1,32 @@
 package com.jilongda.manage.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.jilongda.common.basic.ApiResult;
+import com.jilongda.common.basic.PageInfo;
+import com.jilongda.manage.dto.FrameInventoryDTO;
+import com.jilongda.manage.dto.GetCurrentByParam;
+import com.jilongda.manage.dto.GetCurrentByParamLens;
+import com.jilongda.manage.dto.LensInventoryDTO;
+import com.jilongda.manage.model.*;
+import com.jilongda.manage.query.TFrameGoodsQuery;
+import com.jilongda.manage.query.TInventoryQuery;
+import com.jilongda.manage.service.*;
+import com.jilongda.manage.utils.LoginInfoUtil;
+import com.jilongda.manage.vo.TFrameGoodsVO;
+import com.jilongda.manage.vo.TInventoryInfoVO;
+import com.jilongda.manage.vo.TInventoryVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.models.auth.In;
+import org.springframework.beans.BeanUtils;
+import org.springframework.context.annotation.Bean;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -14,8 +37,148 @@
  * @since 2024-12-09
  */
 @RestController
+@Api(tags = "盘点管理")
 @RequestMapping("/t-inventory")
 public class TInventoryController {
 
+    @Resource
+    private TInventoryService inventoryService;
+    @Resource
+    private TInventoryFrameDetailService inventoryFrameDetailService;
+    @Resource
+    private TInventoryLensDetailService inventoryLensDetailService;
+    @Resource
+    private LoginInfoUtil loginInfoUtil;
+    @Resource
+    private TFrameGoodsService frameGoodsService;
+    @Resource
+    private TLensGoodsService lensGoodsService;
+    @Resource
+    private TLensSeriesService lensSeriesService;
+    @Resource
+    private TModelService modelService;
+    @Resource
+    private TStoreService storeService;
+    @ApiOperation(value = "盘点分页列表")
+    @PostMapping(value = "/pageList")
+    public ApiResult<PageInfo<TInventoryVO>> pageList(@RequestBody TInventoryQuery query) {
+        if (StringUtils.hasLength(query.getStartTime())){
+            query.setStartTime(query.getStartTime()+" 00:00:00");
+            query.setEndTime(query.getEndTime()+" 23:59:59");
+        }
+        return ApiResult.success(inventoryService.pageList(query));
+    }
+    @ApiOperation(value = "镜架添加盘点")
+    @PostMapping(value = "/addFrameInventory")
+    public ApiResult addFrameInventory(@RequestBody FrameInventoryDTO query) {
+        TInventory tInventory = new TInventory();
+        BeanUtils.copyProperties(query, tInventory);
+        inventoryService.save(tInventory);
+        for (TInventoryFrameDetail tInventoryFrameDetail : query.getList()) {
+            tInventoryFrameDetail.setInventoryId(tInventory.getId());
+        }
+        inventoryFrameDetailService.saveBatch(query.getList());
+        return ApiResult.success(tInventory.getId());
+    }
+    @ApiOperation(value = "镜片添加盘点")
+    @PostMapping(value = "/addLensInventory")
+    public ApiResult addLensInventory(@RequestBody LensInventoryDTO query) {
+        TInventory tInventory = new TInventory();
+        BeanUtils.copyProperties(query, tInventory);
+        inventoryService.save(tInventory);
+        for (TInventoryLensDetail tInventoryFrameDetail : query.getList()) {
+            tInventoryFrameDetail.setInventoryId(tInventory.getId());
+        }
+        inventoryLensDetailService.saveBatch(query.getList());
+        return ApiResult.success(tInventory.getId());
+    }
+
+    @ApiOperation(value = "镜架-根据品牌id查询对应库存")
+    @PostMapping(value = "/getCountByBrandId")
+    public ApiResult getCountByBrandId(Integer id,Integer storeId) {
+        List<Integer> collect = modelService.lambdaQuery().eq(TModel::getBrandId, id)
+                .list().stream().map(TModel::getId).distinct().collect(Collectors.toList());
+        if (collect.isEmpty())collect.add(-1);
+        List<TFrameGoods> list = frameGoodsService.lambdaQuery().in(TFrameGoods::getModelId, collect)
+                .eq(TFrameGoods::getStoreId,storeId)
+                .list();
+        if (list.isEmpty())return ApiResult.success("0");
+        int i = 0;
+        for (TFrameGoods tFrameGoods : list) {
+            i+=tFrameGoods.getTotal();
+        }
+        return ApiResult.success(i);
+    }
+    @ApiOperation(value = "镜架-根据材质id查询对应库存")
+    @PostMapping(value = "/getCountByMaterialId")
+    public ApiResult getCountByMaterialId(Integer id,Integer storeId) {
+        List<Integer> collect = modelService.lambdaQuery().eq(TModel::getMaterialId, id)
+                .list().stream().map(TModel::getId).distinct().collect(Collectors.toList());
+        if (collect.isEmpty())collect.add(-1);
+        List<TFrameGoods> list = frameGoodsService.lambdaQuery().in(TFrameGoods::getModelId, collect).
+        eq(TFrameGoods::getStoreId,storeId).list();
+        if (list.isEmpty())return ApiResult.success("0");
+        int i = 0;
+        for (TFrameGoods tFrameGoods : list) {
+            i+=tFrameGoods.getTotal();
+        }
+        return ApiResult.success(i);
+    }
+    @ApiOperation(value = "镜架-根据品牌id、型号名称、色号名称、材质id查询当前库存")
+    @PostMapping(value = "/getCurrentByParamFrame")
+    public ApiResult<Integer> getCurrentByParamFrame(@RequestBody GetCurrentByParam getCurrentByParam) {
+        // 根据型号名称 查询型号列表ids
+        List<Integer> collect = modelService.lambdaQuery().eq(StringUtils.hasLength(getCurrentByParam.getModel()),TModel::getName, getCurrentByParam.getModel())
+                .eq(StringUtils.hasLength(getCurrentByParam.getColor()),TModel::getColor,getCurrentByParam.getColor())
+                .eq(getCurrentByParam.getMaterialId()!=null,TModel::getMaterialId,getCurrentByParam.getMaterialId())
+                .eq(getCurrentByParam.getBrandId()!=null,TModel::getBrandId,getCurrentByParam.getBrandId())
+                .list().stream().map(TModel::getId).collect(Collectors.toList());
+        if (collect.isEmpty())collect.add(-1);
+        List<TFrameGoods> one = frameGoodsService.lambdaQuery().in(TFrameGoods::getModelId, collect)
+                .eq(TFrameGoods::getStoreId,getCurrentByParam.getStoreId())
+                .eq(TFrameGoods::getColor, getCurrentByParam.getColor()).list();
+        if (one.isEmpty())return ApiResult.success(0);
+        Integer temp = one.stream()
+                .mapToInt(TFrameGoods::getTotal)
+                .sum();
+        return ApiResult.success(temp);
+    }
+    @ApiOperation(value = "镜片-根据品牌id、型号名称、色号名称、材质id查询当前库存")
+    @PostMapping(value = "/getCurrentByParamLens")
+    public ApiResult<Integer> getCurrentByParamLens(@RequestBody GetCurrentByParamLens dto) {
+        List<TLensGoods> one = lensGoodsService.lambdaQuery().in(TLensGoods::getSeriesId, dto.getSeriesId())
+                .eq(dto.getLensType()!=null,TLensGoods::getLensType, dto.getLensType())
+                .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 = "查看详情")
+    @GetMapping(value = "/getDetailById")
+    public ApiResult<TInventoryInfoVO> getDetailById(Integer id) {
+        TInventoryInfoVO tInventoryInfoVO = new TInventoryInfoVO();
+
+        TInventory byId = inventoryService.getById(id);
+        BeanUtils.copyProperties(byId, tInventoryInfoVO);
+        switch (byId.getType()){
+            case 1:
+                List<TInventoryFrameDetail> list = inventoryFrameDetailService.lambdaQuery().eq(TInventoryFrameDetail::getInventoryId, id).list();
+                tInventoryInfoVO.setFrameList(list);
+                break;
+            case 2:
+                List<TInventoryLensDetail> list2 = inventoryLensDetailService.lambdaQuery().eq(TInventoryLensDetail::getInventoryId, id).list();
+                tInventoryInfoVO.setLensList(list2);
+                break;
+        }
+        TStore byId1 = storeService.getById(byId.getStoreId());
+        if (byId1!=null)tInventoryInfoVO.setStore(byId1.getName());
+        return ApiResult.success(tInventoryInfoVO);
+    }
 }
 

--
Gitblit v1.7.1