From 6dd0a9a11ca7ff6f71c195d8187d138e28115f2a Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 20 十二月 2024 14:40:02 +0800 Subject: [PATCH] 代码 --- manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java | 78 ++++++++++++++++++++++++++++++++++---- 1 files changed, 69 insertions(+), 9 deletions(-) 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 0257dd0..b983a81 100644 --- a/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java +++ b/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java @@ -8,16 +8,17 @@ import com.jilongda.common.enums.WarehousingTypeEnum; import com.jilongda.common.security.JwtTokenUtils; import com.jilongda.common.utils.CodeGenerateUtils; +import com.jilongda.manage.dto.GetCurrentByParam; +import com.jilongda.manage.dto.GetCurrentByParamLens; import com.jilongda.manage.dto.TWarehousingDTO; import com.jilongda.manage.dto.TWarehousingLensDTO; import com.jilongda.manage.model.*; +import com.jilongda.manage.query.TFrameGoodsQuery; +import com.jilongda.manage.query.TLensGoodsQuery; import com.jilongda.manage.query.TWarehousingDetailLensQuery; import com.jilongda.manage.query.TWarehousingDetailQuery; import com.jilongda.manage.service.*; -import com.jilongda.manage.vo.TFrameWarehousingDetailVO; -import com.jilongda.manage.vo.TLensWarehousingDetailVO; -import com.jilongda.manage.vo.TWarehousingLensVO; -import com.jilongda.manage.vo.TWarehousingVO; +import com.jilongda.manage.vo.*; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.BeanUtils; @@ -28,6 +29,7 @@ import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -52,7 +54,53 @@ private TFrameGoodsService frameGoodsService; @Autowired private TLensGoodsService lensGoodsService; + @Autowired + private TModelService modelService; + @Autowired + private TLensSeriesService lensSeriesService; + /** + * 通过型号查询色号列表 + */ + @ApiOperation(value = "镜架-根据品牌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::getBrandId,getCurrentByParam.getBrandId()) + .list().stream().map(TModel::getId).collect(Collectors.toList()); + TFrameGoods one = frameGoodsService.lambdaQuery().in(TFrameGoods::getModelId, collect) + .eq(TFrameGoods::getColor, getCurrentByParam).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(TLensGoods::getLensType, dto.getLensType()) + .eq(TLensGoods::getRefractiveIndex, dto.getRefractiveIndex()) + .eq(TLensGoods::getBallMirror, dto.getBallMirror()) + .eq(TLensGoods::getColumnMirror, dto.getColumnMirror()) + .one(); + if (one!=null){ + return ApiResult.success(one.getTotal()); + } + return ApiResult.success(0); + } + @ApiOperation(value = "镜架库存分页列表") + @PostMapping(value = "/frameReceiptList") + public ApiResult<PageInfo<TFrameGoodsVO>> frameReceiptList(@RequestBody TFrameGoodsQuery query) { + return ApiResult.success(frameGoodsService.lensReceiptList(query)); + } + @ApiOperation(value = "镜片库存分页列表") + @PostMapping(value = "/lensReceiptList") + public ApiResult<PageInfo<TLensGoodsVO>> lensReceiptList(@RequestBody TLensGoodsQuery query) { + return ApiResult.success(lensGoodsService.lensReceiptList(query)); + } /** * 出入库单列表 */ @@ -91,7 +139,7 @@ */ @ApiOperation(value = "添加镜架出库,入库,作废,退货") @PostMapping(value = "/outBound") - public ApiResult<Integer> outBound(@Validated @RequestBody TWarehousingDTO dto) { + public ApiResult outBound(@Validated @RequestBody TWarehousingDTO dto) { // 获取当前用户 String username = JwtTokenUtils.getUsername(); dto.setCreateBy(username); @@ -105,13 +153,15 @@ detail.setWarehousingId(dto.getId()); detail.setCode(WarehousingConstant.OUT_BOUND+CodeGenerateUtils.generateVolumeSn()); }); - frameWarehousingDetailService.saveBatch(frameWarehousingDetails); if (dto.getStatus()==1||dto.getStatus()==3){ List<TFrameGoods> list1 = new ArrayList<>(); for (TFrameWarehousingDetail frameWarehousingDetail : frameWarehousingDetails) { TFrameGoods one = frameGoodsService.lambdaQuery().eq(TFrameGoods::getModelId, frameWarehousingDetail.getModelId()) .eq(TFrameGoods::getColor, frameWarehousingDetail.getColor()).one(); if (one!=null){ + if (one.getTotal()-frameWarehousingDetail.getTotal()<0){ + return ApiResult.failed("库存不足"); + } // 增加对应库存 one.setTotal(one.getTotal()-frameWarehousingDetail.getTotal()); list1.add(one); @@ -119,6 +169,8 @@ } if (!list1.isEmpty())frameGoodsService.updateBatchById(list1); } + frameWarehousingDetailService.saveBatch(frameWarehousingDetails); + if (dto.getStatus()==2 || dto.getStatus()==4){ List<TFrameGoods> list1 = new ArrayList<>(); List<TFrameGoods> list2 = new ArrayList<>(); @@ -150,7 +202,7 @@ */ @ApiOperation(value = "添加镜片出库,入库,作废,退货") @PostMapping(value = "/outBoundLens") - public ApiResult<String> outBoundLens(@Validated @RequestBody TWarehousingLensDTO dto) { + public ApiResult outBoundLens(@Validated @RequestBody TWarehousingLensDTO dto) { // 获取当前用户 String username = JwtTokenUtils.getUsername(); dto.setCreateBy(username); @@ -163,16 +215,19 @@ detail.setWarehousingId(dto.getId()); detail.setCode(WarehousingConstant.OUT_BOUND+CodeGenerateUtils.generateVolumeSn()); }); - lensWarehousingDetailService.saveBatch(frameWarehousingDetails); if (dto.getStatus()==1||dto.getStatus()==3){ List<TLensGoods> list1 = new ArrayList<>(); for (TLensWarehousingDetail frameWarehousingDetail : frameWarehousingDetails) { TLensGoods one = lensGoodsService.lambdaQuery().eq(TLensGoods::getSeriesId, frameWarehousingDetail.getSeriesId()) .eq(TLensGoods::getRefractiveIndex, frameWarehousingDetail.getRefractiveIndex()) + .eq(TLensGoods::getLensType, frameWarehousingDetail.getType()) .eq(TLensGoods::getBallMirror, frameWarehousingDetail.getBallMirror()) .eq(TLensGoods::getColumnMirror, frameWarehousingDetail.getColumnMirror()) .one(); if (one!=null){ + if (one.getTotal()-frameWarehousingDetail.getTotal()<0){ + return ApiResult.failed("库存不足"); + } // 减少对应库存 one.setTotal(one.getTotal()-frameWarehousingDetail.getTotal()); list1.add(one); @@ -180,6 +235,8 @@ } if (!list1.isEmpty())lensGoodsService.updateBatchById(list1); } + lensWarehousingDetailService.saveBatch(frameWarehousingDetails); + if (dto.getStatus()==2 || dto.getStatus()==4){ List<TLensGoods> list1 = new ArrayList<>(); List<TLensGoods> list2 = new ArrayList<>(); @@ -187,6 +244,8 @@ TLensGoods one = lensGoodsService.lambdaQuery().eq(TLensGoods::getSeriesId, frameWarehousingDetail.getSeriesId()) .eq(TLensGoods::getRefractiveIndex, frameWarehousingDetail.getRefractiveIndex()) .eq(TLensGoods::getBallMirror, frameWarehousingDetail.getBallMirror()) + .eq(TLensGoods::getLensType, frameWarehousingDetail.getType()) + .eq(TLensGoods::getColumnMirror, frameWarehousingDetail.getColumnMirror()) .one(); if (one!=null){ @@ -196,6 +255,7 @@ }else { // 新增 TLensGoods tFrameGoods = new TLensGoods(); + tFrameGoods.setLensType(frameWarehousingDetail.getType()); tFrameGoods.setSeriesId(frameWarehousingDetail.getSeriesId()); tFrameGoods.setBallMirror(frameWarehousingDetail.getBallMirror()); tFrameGoods.setColumnMirror(frameWarehousingDetail.getColumnMirror()); @@ -208,7 +268,7 @@ if (!list1.isEmpty())lensGoodsService.updateBatchById(list1); if (!list2.isEmpty())lensGoodsService.saveBatch(list2); } - return ApiResult.success(); + return ApiResult.success(dto.getId()); } /** -- Gitblit v1.7.1