From c25249c700720e5c538e7578112375df9e3acde0 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 18 十二月 2024 16:31:14 +0800
Subject: [PATCH] 代码

---
 manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java |  148 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 145 insertions(+), 3 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 dfd4ff4..bba637a 100644
--- a/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java
+++ b/manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java
@@ -1,21 +1,163 @@
 package com.jilongda.manage.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.jilongda.common.basic.ApiResult;
+import com.jilongda.common.basic.PageInfo;
+import com.jilongda.common.constants.WarehousingConstant;
+import com.jilongda.common.enums.WarehousingTypeEnum;
+import com.jilongda.common.security.JwtTokenUtils;
+import com.jilongda.common.utils.CodeGenerateUtils;
+import com.jilongda.manage.dto.TWarehousingDTO;
+import com.jilongda.manage.dto.TWarehousingLensDTO;
+import com.jilongda.manage.model.TFrameWarehousingDetail;
+import com.jilongda.manage.model.TLensWarehousingDetail;
+import com.jilongda.manage.model.TWarehousing;
+import com.jilongda.manage.query.TWarehousingDetailLensQuery;
+import com.jilongda.manage.query.TWarehousingDetailQuery;
+import com.jilongda.manage.service.TFrameWarehousingDetailService;
+import com.jilongda.manage.service.TLensWarehousingDetailService;
+import com.jilongda.manage.service.TWarehousingService;
+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;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 
-import org.springframework.web.bind.annotation.RestController;
+import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * <p>
- * 镜架/镜片出库入库表 前端控制器
+ * 镜架-镜片出库入库表 前端控制器
  * </p>
  *
  * @author 无关风月
  * @since 2024-12-09
  */
+@Api(tags = "镜架-镜片出库入库")
 @RestController
 @RequestMapping("/t-warehousing")
 public class TWarehousingController {
 
+    @Autowired
+    private TWarehousingService warehousingService;
+    @Autowired
+    private TFrameWarehousingDetailService frameWarehousingDetailService;
+    @Autowired
+    private TLensWarehousingDetailService lensWarehousingDetailService;
+
+    /**
+     * 出入库单列表
+     */
+    @ApiOperation(value = "镜架出入库单列表")
+    @PostMapping(value = "/inventoryReceiptList")
+    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));
+    }
+
+    /**
+     * 库存明细记录列表
+     */
+    @ApiOperation(value = "镜架库存明细记录列表")
+    @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);
+    }
+
+    /**
+     * 添加镜架出库,入库,作废,退货
+     */
+    @ApiOperation(value = "添加镜架出库,入库,作废,退货")
+    @PostMapping(value = "/outBound")
+    public ApiResult<Integer> outBound(@Validated @RequestBody TWarehousingDTO dto) {
+        // 获取当前用户
+        String username = JwtTokenUtils.getUsername();
+        dto.setCreateBy(username);
+        dto.setCreateTime(LocalDateTime.now());
+        dto.setType(WarehousingTypeEnum.FRAME.getCode());
+        warehousingService.save(dto);
+
+        // 添加明细
+        List<TFrameWarehousingDetail> frameWarehousingDetails = dto.getFrameWarehousingDetails();
+        frameWarehousingDetails.forEach(detail -> {
+            detail.setWarehousingId(dto.getId());
+            detail.setCode(WarehousingConstant.OUT_BOUND+CodeGenerateUtils.generateVolumeSn());
+        });
+        frameWarehousingDetailService.saveBatch(frameWarehousingDetails);
+        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);
+        return ApiResult.success();
+    }
+
+    /**
+     * 查询详情
+     */
+    @ApiOperation(value = "镜架查询详情")
+    @GetMapping(value = "/getDetailById")
+    public ApiResult<TWarehousingVO> getDetailById(@RequestParam Integer id) {
+        TWarehousing warehousing = warehousingService.getById(id);
+        TWarehousingVO vo = new TWarehousingVO();
+        BeanUtils.copyProperties(warehousing, vo);
+        List<TFrameWarehousingDetail> list = frameWarehousingDetailService.list(Wrappers.lambdaQuery(TFrameWarehousingDetail.class)
+                .eq(TFrameWarehousingDetail::getWarehousingId, id));
+        vo.setFrameWarehousingDetails(list);
+        // 统计数量
+        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