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