From bc8d7d4bb290ed84441942d50a0399f3cc034a0c Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 20 十二月 2024 15:39:45 +0800 Subject: [PATCH] 代码 --- manage/src/main/java/com/jilongda/manage/controller/TInventoryController.java | 109 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 99 insertions(+), 10 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 2c0f5e8..57ddd4c 100644 --- a/manage/src/main/java/com/jilongda/manage/controller/TInventoryController.java +++ b/manage/src/main/java/com/jilongda/manage/controller/TInventoryController.java @@ -4,27 +4,26 @@ import com.jilongda.common.basic.ApiResult; import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.dto.FrameInventoryDTO; -import com.jilongda.manage.model.TInventory; -import com.jilongda.manage.model.TInventoryFrameDetail; +import com.jilongda.manage.dto.GetCurrentByParam; +import com.jilongda.manage.dto.GetCurrentByParamLens; +import com.jilongda.manage.model.*; import com.jilongda.manage.query.TFrameGoodsQuery; import com.jilongda.manage.query.TInventoryQuery; -import com.jilongda.manage.service.TInventoryFrameDetailService; -import com.jilongda.manage.service.TInventoryLensDetailService; -import com.jilongda.manage.service.TInventoryService; +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.util.StringUtils; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; - -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -47,6 +46,16 @@ 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) { @@ -77,5 +86,85 @@ inventoryFrameDetailService.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); + 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