From 3d7c57bfc9f91f829509d4cc833bef6ef6313c7f Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 19 十二月 2024 17:53:54 +0800 Subject: [PATCH] 代码 --- manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java | 146 +++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 142 insertions(+), 4 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 4047858..0257dd0 100644 --- a/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java +++ b/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java @@ -9,12 +9,14 @@ import com.jilongda.common.security.JwtTokenUtils; import com.jilongda.common.utils.CodeGenerateUtils; import com.jilongda.manage.dto.TWarehousingDTO; -import com.jilongda.manage.model.TFrameWarehousingDetail; -import com.jilongda.manage.model.TWarehousing; +import com.jilongda.manage.dto.TWarehousingLensDTO; +import com.jilongda.manage.model.*; +import com.jilongda.manage.query.TWarehousingDetailLensQuery; import com.jilongda.manage.query.TWarehousingDetailQuery; -import com.jilongda.manage.service.TFrameWarehousingDetailService; -import com.jilongda.manage.service.TWarehousingService; +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 io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -24,6 +26,7 @@ import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; /** @@ -43,6 +46,12 @@ private TWarehousingService warehousingService; @Autowired private TFrameWarehousingDetailService frameWarehousingDetailService; + @Autowired + private TLensWarehousingDetailService lensWarehousingDetailService; + @Autowired + private TFrameGoodsService frameGoodsService; + @Autowired + private TLensGoodsService lensGoodsService; /** * 出入库单列表 @@ -52,6 +61,11 @@ public ApiResult<PageInfo<TWarehousingVO>> inventoryReceiptList(@RequestBody TWarehousingDetailQuery query) { return ApiResult.success(warehousingService.inventoryReceiptList(query)); } + @ApiOperation(value = "镜片出入库单列表") + @PostMapping(value = "/inventoryReceiptLensList") + public ApiResult<PageInfo<TWarehousingLensVO>> inventoryReceiptLensList(@RequestBody TWarehousingDetailLensQuery query) { + return ApiResult.success(warehousingService.inventoryReceiptLensList(query)); + } /** * 库存明细记录列表 @@ -60,6 +74,15 @@ @PostMapping(value = "/detailList") public ApiResult<PageInfo<TFrameWarehousingDetailVO>> detailList(@RequestBody TWarehousingDetailQuery query) { PageInfo<TFrameWarehousingDetailVO> frameWarehousingDetailVOPageInfo = warehousingService.detailList(query); + return ApiResult.success(frameWarehousingDetailVOPageInfo); + } + /** + * 库存明细记录列表 + */ + @ApiOperation(value = "镜片库存明细记录列表") + @PostMapping(value = "/detailLensList") + public ApiResult<PageInfo<TLensWarehousingDetailVO>> detailLensList(@RequestBody TWarehousingDetailLensQuery query) { + PageInfo<TLensWarehousingDetailVO> frameWarehousingDetailVOPageInfo = warehousingService.detailListLens(query); return ApiResult.success(frameWarehousingDetailVOPageInfo); } @@ -83,7 +106,109 @@ 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){ + // 增加对应库存 + one.setTotal(one.getTotal()-frameWarehousingDetail.getTotal()); + list1.add(one); + } + } + if (!list1.isEmpty())frameGoodsService.updateBatchById(list1); + } + if (dto.getStatus()==2 || dto.getStatus()==4){ + List<TFrameGoods> list1 = new ArrayList<>(); + List<TFrameGoods> list2 = new ArrayList<>(); + for (TFrameWarehousingDetail frameWarehousingDetail : frameWarehousingDetails) { + TFrameGoods one = frameGoodsService.lambdaQuery().eq(TFrameGoods::getModelId, frameWarehousingDetail.getModelId()) + .eq(TFrameGoods::getColor, frameWarehousingDetail.getColor()).one(); + if (one!=null){ + // 增加对应库存 + one.setTotal(one.getTotal()+frameWarehousingDetail.getTotal()); + list1.add(one); + }else { + // 新增 + TFrameGoods tFrameGoods = new TFrameGoods(); + tFrameGoods.setColor(frameWarehousingDetail.getColor()); + tFrameGoods.setTotal(frameWarehousingDetail.getTotal()); + tFrameGoods.setModelId(frameWarehousingDetail.getModelId()); + tFrameGoods.setStoreId(dto.getStoreId()); + list2.add(tFrameGoods); + } + } + if (!list1.isEmpty())frameGoodsService.updateBatchById(list1); + if (!list2.isEmpty())frameGoodsService.saveBatch(list2); + } + return ApiResult.success(dto.getId()); + } + /** + * 添加镜片出库,入库,作废,退货 + */ + @ApiOperation(value = "添加镜片出库,入库,作废,退货") + @PostMapping(value = "/outBoundLens") + public ApiResult<String> outBoundLens(@Validated @RequestBody TWarehousingLensDTO dto) { + // 获取当前用户 + String username = JwtTokenUtils.getUsername(); + dto.setCreateBy(username); + dto.setCreateTime(LocalDateTime.now()); + dto.setType(WarehousingTypeEnum.LENS.getCode()); + warehousingService.save(dto); + // 添加明细 + List<TLensWarehousingDetail> frameWarehousingDetails = dto.getLensWarehousingDetails(); + frameWarehousingDetails.forEach(detail -> { + 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::getBallMirror, frameWarehousingDetail.getBallMirror()) + .eq(TLensGoods::getColumnMirror, frameWarehousingDetail.getColumnMirror()) + .one(); + if (one!=null){ + // 减少对应库存 + one.setTotal(one.getTotal()-frameWarehousingDetail.getTotal()); + list1.add(one); + } + } + if (!list1.isEmpty())lensGoodsService.updateBatchById(list1); + } + if (dto.getStatus()==2 || dto.getStatus()==4){ + List<TLensGoods> list1 = new ArrayList<>(); + List<TLensGoods> list2 = new ArrayList<>(); + for (TLensWarehousingDetail frameWarehousingDetail : frameWarehousingDetails) { + TLensGoods one = lensGoodsService.lambdaQuery().eq(TLensGoods::getSeriesId, frameWarehousingDetail.getSeriesId()) + .eq(TLensGoods::getRefractiveIndex, frameWarehousingDetail.getRefractiveIndex()) + .eq(TLensGoods::getBallMirror, frameWarehousingDetail.getBallMirror()) + .eq(TLensGoods::getColumnMirror, frameWarehousingDetail.getColumnMirror()) + .one(); + if (one!=null){ + // 增加对应库存 + one.setTotal(one.getTotal()+frameWarehousingDetail.getTotal()); + list1.add(one); + }else { + // 新增 + TLensGoods tFrameGoods = new TLensGoods(); + tFrameGoods.setSeriesId(frameWarehousingDetail.getSeriesId()); + tFrameGoods.setBallMirror(frameWarehousingDetail.getBallMirror()); + tFrameGoods.setColumnMirror(frameWarehousingDetail.getColumnMirror()); + tFrameGoods.setRefractiveIndex(frameWarehousingDetail.getRefractiveIndex()); + tFrameGoods.setTotal(frameWarehousingDetail.getTotal()); + tFrameGoods.setStoreId(dto.getStoreId()); + list2.add(tFrameGoods); + } + } + if (!list1.isEmpty())lensGoodsService.updateBatchById(list1); + if (!list2.isEmpty())lensGoodsService.saveBatch(list2); + } + return ApiResult.success(); } /** @@ -102,6 +227,19 @@ vo.setTotalNum(list.stream().mapToInt(TFrameWarehousingDetail::getTotal).sum()); return ApiResult.success(vo); } + @ApiOperation(value = "镜片查询详情") + @GetMapping(value = "/getDetailLensById") + public ApiResult<TWarehousingLensVO> getDetailLensById(@RequestParam Integer id) { + TWarehousing warehousing = warehousingService.getById(id); + TWarehousingLensVO vo = new TWarehousingLensVO(); + BeanUtils.copyProperties(warehousing, vo); + List<TLensWarehousingDetail> list = lensWarehousingDetailService.list(Wrappers.lambdaQuery(TLensWarehousingDetail.class) + .eq(TLensWarehousingDetail::getWarehousingId, id)); + vo.setLensWarehousingDetails(list); + // 统计数量 + vo.setTotalNum(list.stream().mapToInt(TLensWarehousingDetail::getTotal).sum()); + return ApiResult.success(vo); + } } -- Gitblit v1.7.1