From 7bebbf990850862c2d498f4deb18987931558d72 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 25 十二月 2024 14:52:32 +0800
Subject: [PATCH] 门店
---
manage/src/main/java/com/jilongda/manage/controller/TInventoryController.java | 159 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 157 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..ae9f38a 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,31 @@
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.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 +36,141 @@
* @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();
+ }
+ @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();
+ }
+
+ @ApiOperation(value = "镜架-根据品牌id查询对应库存")
+ @PostMapping(value = "/getCountByBrandId")
+ public ApiResult getCountByBrandId(Integer id) {
+ 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).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) {
+ 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).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(TModel::getName, getCurrentByParam.getModel())
+ .eq(TModel::getColor,getCurrentByParam.getColor())
+ .eq(TModel::getMaterialId,getCurrentByParam.getMaterialId())
+ .eq(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);
+ }
+ @ApiOperation(value = "镜片-根据品牌id、型号名称、色号名称、材质id查询当前库存")
+ @PostMapping(value = "/getCurrentByParamLens")
+ public ApiResult<Integer> getCurrentByParamLens(@RequestBody GetCurrentByParamLens dto) {
+ TLensGoods one = lensGoodsService.lambdaQuery().in(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);
+ }
+ @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