| | |
| | | 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.model.TFrameWarehousingDetail; |
| | | import com.jilongda.manage.model.TWarehousing; |
| | | import com.jilongda.manage.query.TWarehousingDetailQuery; |
| | | import com.jilongda.manage.service.TFrameWarehousingDetailService; |
| | | import com.jilongda.manage.service.TWarehousingService; |
| | | import com.jilongda.manage.vo.TFrameWarehousingDetailVO; |
| | | 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; |
| | | |
| | | /** |
| | | * 出入库单列表 |
| | | */ |
| | | @ApiOperation(value = "镜架出入库单列表") |
| | | @PostMapping(value = "/inventoryReceiptList") |
| | | public ApiResult<PageInfo<TWarehousingVO>> inventoryReceiptList(@RequestBody TWarehousingDetailQuery query) { |
| | | return ApiResult.success(warehousingService.inventoryReceiptList(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 = "/outBound") |
| | | public ApiResult<String> 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(); |
| | | } |
| | | |
| | | /** |
| | | * 查询详情 |
| | | */ |
| | | @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); |
| | | } |
| | | |
| | | } |
| | | |