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/TWarehousingController.java | 13 ++-- manage/src/main/java/com/jilongda/manage/vo/TInventoryInfoVO.java | 21 +++++++ manage/src/main/java/com/jilongda/manage/model/TInventory.java | 2 manage/src/main/java/com/jilongda/manage/controller/TInventoryController.java | 109 +++++++++++++++++++++++++++++++++--- manage/src/main/java/com/jilongda/manage/dto/GetCurrentByParam.java | 2 5 files changed, 130 insertions(+), 17 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); + } } diff --git a/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java b/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java index 61366b1..0945238 100644 --- a/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java +++ b/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java @@ -70,25 +70,26 @@ 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().stream().map(TModel::getId).collect(Collectors.toList()); TFrameGoods one = frameGoodsService.lambdaQuery().in(TFrameGoods::getModelId, collect) - .eq(TFrameGoods::getColor, getCurrentByParam).one(); + .eq(TFrameGoods::getColor, getCurrentByParam.getColor()).one(); if (one!=null){ return ApiResult.success(one.getTotal()); } return ApiResult.success(0); } - @ApiOperation(value = "镜片-根据品牌id、系列id、球/非球、折射率、球镜、柱镜查询当前库存") + @ApiOperation(value = "镜片-根据品牌id、型号名称、色号名称、材质id查询当前库存") @PostMapping(value = "/getCurrentByParamLens") public ApiResult<Integer> getCurrentByParamLens(@RequestBody GetCurrentByParamLens dto) { TLensGoods one = lensGoodsService.lambdaQuery().in(TLensGoods::getSeriesId, dto.getSeriesId()) - .eq(TLensGoods::getLensType, dto.getLensType()) - .eq(TLensGoods::getRefractiveIndex, dto.getRefractiveIndex()) - .eq(TLensGoods::getBallMirror, dto.getBallMirror()) - .eq(TLensGoods::getColumnMirror, dto.getColumnMirror()) + .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()); diff --git a/manage/src/main/java/com/jilongda/manage/dto/GetCurrentByParam.java b/manage/src/main/java/com/jilongda/manage/dto/GetCurrentByParam.java index 178bf86..44e2873 100644 --- a/manage/src/main/java/com/jilongda/manage/dto/GetCurrentByParam.java +++ b/manage/src/main/java/com/jilongda/manage/dto/GetCurrentByParam.java @@ -17,5 +17,7 @@ private String color; @ApiModelProperty(value = "品牌id") private Integer brandId; + @ApiModelProperty(value = "材质id") + private Integer materialId; } diff --git a/manage/src/main/java/com/jilongda/manage/model/TInventory.java b/manage/src/main/java/com/jilongda/manage/model/TInventory.java index 214eeae..7c5af5c 100644 --- a/manage/src/main/java/com/jilongda/manage/model/TInventory.java +++ b/manage/src/main/java/com/jilongda/manage/model/TInventory.java @@ -33,7 +33,7 @@ @TableId(value = "id", type = IdType.AUTO) private Integer id; - @ApiModelProperty(value = "1型号2品牌3材质4球/柱镜5折射率6系列") + @ApiModelProperty(value = "盘点类型1型号2品牌3材质4球/柱镜5折射率6系列") @TableField("status") private Integer status; diff --git a/manage/src/main/java/com/jilongda/manage/vo/TInventoryInfoVO.java b/manage/src/main/java/com/jilongda/manage/vo/TInventoryInfoVO.java new file mode 100644 index 0000000..30e5424 --- /dev/null +++ b/manage/src/main/java/com/jilongda/manage/vo/TInventoryInfoVO.java @@ -0,0 +1,21 @@ +package com.jilongda.manage.vo; + +import com.jilongda.manage.model.TInventory; +import com.jilongda.manage.model.TInventoryFrameDetail; +import com.jilongda.manage.model.TInventoryLensDetail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "盘点详情VO") +public class TInventoryInfoVO extends TInventory { + @ApiModelProperty(value = "店铺名称") + private String store; + @ApiModelProperty(value = "镜片盘点明细") + private List<TInventoryLensDetail> lensList; + @ApiModelProperty(value = "镜片盘点明细") + private List<TInventoryFrameDetail> frameList; +} -- Gitblit v1.7.1