From 4756b2959df094e4f49aa85f95ec2b1ef6478e2a Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期三, 18 十二月 2024 08:46:51 +0800 Subject: [PATCH] 代码 --- manage/src/main/java/com/jilongda/manage/mapper/TWarehousingMapper.java | 4 manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java | 56 +++++++++++ manage/src/main/java/com/jilongda/manage/model/TLensWarehousingDetail.java | 6 + manage/src/main/resources/mapping/TLensWarehousingDetailMapper.xml | 37 +++++++ manage/src/main/java/com/jilongda/manage/query/TWarehousingDetailLensQuery.java | 27 +++++ manage/src/main/java/com/jilongda/manage/service/impl/TWarehousingServiceImpl.java | 41 +++++++ manage/src/main/java/com/jilongda/manage/service/TWarehousingService.java | 6 + manage/src/main/java/com/jilongda/manage/dto/TWarehousingLensDTO.java | 19 +++ manage/src/main/java/com/jilongda/manage/vo/TLensWarehousingDetailVO.java | 22 ++++ manage/src/main/java/com/jilongda/manage/vo/TWarehousingLensVO.java | 22 ++++ manage/src/main/java/com/jilongda/manage/mapper/TLensWarehousingDetailMapper.java | 7 + manage/src/main/resources/mapping/TWarehousingMapper.xml | 19 +++ 12 files changed, 262 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 a1633ed..25b91ae 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,18 @@ 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; @@ -43,6 +49,8 @@ private TWarehousingService warehousingService; @Autowired private TFrameWarehousingDetailService frameWarehousingDetailService; + @Autowired + private TLensWarehousingDetailService lensWarehousingDetailService; /** * 出入库单列表 @@ -52,6 +60,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 +73,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); } @@ -85,6 +107,27 @@ frameWarehousingDetailService.saveBatch(frameWarehousingDetails); return ApiResult.success(); } + /** + * 添加镜片出库,入库,作废,退货 + */ + @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(); + } /** * 查询详情 @@ -102,6 +145,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); + } } diff --git a/manage/src/main/java/com/jilongda/manage/dto/TWarehousingLensDTO.java b/manage/src/main/java/com/jilongda/manage/dto/TWarehousingLensDTO.java new file mode 100644 index 0000000..4fdaba8 --- /dev/null +++ b/manage/src/main/java/com/jilongda/manage/dto/TWarehousingLensDTO.java @@ -0,0 +1,19 @@ +package com.jilongda.manage.dto; + +import com.jilongda.manage.model.TFrameWarehousingDetail; +import com.jilongda.manage.model.TLensWarehousingDetail; +import com.jilongda.manage.model.TWarehousing; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "镜架出入库DTO") +public class TWarehousingLensDTO extends TWarehousing { + + @ApiModelProperty(value = "镜架出入库明细列表") + private List<TLensWarehousingDetail> lensWarehousingDetails; + +} diff --git a/manage/src/main/java/com/jilongda/manage/mapper/TLensWarehousingDetailMapper.java b/manage/src/main/java/com/jilongda/manage/mapper/TLensWarehousingDetailMapper.java index e545fc1..1a26c01 100644 --- a/manage/src/main/java/com/jilongda/manage/mapper/TLensWarehousingDetailMapper.java +++ b/manage/src/main/java/com/jilongda/manage/mapper/TLensWarehousingDetailMapper.java @@ -1,7 +1,13 @@ package com.jilongda.manage.mapper; +import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.model.TLensWarehousingDetail; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.jilongda.manage.query.TWarehousingDetailLensQuery; +import com.jilongda.manage.vo.TLensWarehousingDetailVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * <p> @@ -13,4 +19,5 @@ */ public interface TLensWarehousingDetailMapper extends BaseMapper<TLensWarehousingDetail> { + List<TLensWarehousingDetailVO> pageLensList(@Param("query")TWarehousingDetailLensQuery query,@Param("pageInfo") PageInfo<TLensWarehousingDetailVO> pageInfo); } diff --git a/manage/src/main/java/com/jilongda/manage/mapper/TWarehousingMapper.java b/manage/src/main/java/com/jilongda/manage/mapper/TWarehousingMapper.java index 75f5542..8df351d 100644 --- a/manage/src/main/java/com/jilongda/manage/mapper/TWarehousingMapper.java +++ b/manage/src/main/java/com/jilongda/manage/mapper/TWarehousingMapper.java @@ -3,7 +3,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.model.TWarehousing; +import com.jilongda.manage.query.TWarehousingDetailLensQuery; import com.jilongda.manage.query.TWarehousingDetailQuery; +import com.jilongda.manage.vo.TWarehousingLensVO; import com.jilongda.manage.vo.TWarehousingVO; import org.apache.ibatis.annotations.Param; @@ -27,4 +29,6 @@ */ List<TWarehousingVO> inventoryReceiptList(@Param("query") TWarehousingDetailQuery query, @Param("pageInfo")PageInfo<TWarehousingVO> pageInfo); + List<TWarehousingLensVO> inventoryReceiptLensList(@Param("query")TWarehousingDetailLensQuery query, @Param("pageInfo")PageInfo<TWarehousingLensVO> pageInfo); + } diff --git a/manage/src/main/java/com/jilongda/manage/model/TLensWarehousingDetail.java b/manage/src/main/java/com/jilongda/manage/model/TLensWarehousingDetail.java index bdedb63..63fb5c9 100644 --- a/manage/src/main/java/com/jilongda/manage/model/TLensWarehousingDetail.java +++ b/manage/src/main/java/com/jilongda/manage/model/TLensWarehousingDetail.java @@ -72,6 +72,12 @@ @ApiModelProperty(value = "系列id") @TableField("seriesId") private Integer seriesId; + @ApiModelProperty(value = "出入库主表id") + @TableField("warehousingId") + private Integer warehousingId; + @ApiModelProperty(value = "入库编号") + @TableField("code") + private String code; } diff --git a/manage/src/main/java/com/jilongda/manage/query/TWarehousingDetailLensQuery.java b/manage/src/main/java/com/jilongda/manage/query/TWarehousingDetailLensQuery.java new file mode 100644 index 0000000..0ee1d99 --- /dev/null +++ b/manage/src/main/java/com/jilongda/manage/query/TWarehousingDetailLensQuery.java @@ -0,0 +1,27 @@ +package com.jilongda.manage.query; + +import com.jilongda.common.dto.TimeRangePageDTO; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "镜片明细记录查询/出入库单Query") +public class TWarehousingDetailLensQuery extends TimeRangePageDTO { + @ApiModelProperty(value = "品牌") + private String brand; + @ApiModelProperty(value = "系列") + private String series; + @ApiModelProperty(value = "球/非 1球 2非球 3双非") + private Integer type; + @ApiModelProperty(value = "折射率") + private String refractiveIndex; + @ApiModelProperty(value = "球镜") + private String ballMirror; + @ApiModelProperty(value = "柱镜") + private String columnMirror; + @ApiModelProperty(value = "店铺id") + private Integer storeId; + @ApiModelProperty(value = "类型 1=出库,2=入库,3=作废,4=退货") + private Integer status; +} diff --git a/manage/src/main/java/com/jilongda/manage/service/TWarehousingService.java b/manage/src/main/java/com/jilongda/manage/service/TWarehousingService.java index d4660ee..9834c0c 100644 --- a/manage/src/main/java/com/jilongda/manage/service/TWarehousingService.java +++ b/manage/src/main/java/com/jilongda/manage/service/TWarehousingService.java @@ -3,8 +3,11 @@ import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.model.TWarehousing; import com.baomidou.mybatisplus.extension.service.IService; +import com.jilongda.manage.query.TWarehousingDetailLensQuery; import com.jilongda.manage.query.TWarehousingDetailQuery; import com.jilongda.manage.vo.TFrameWarehousingDetailVO; +import com.jilongda.manage.vo.TLensWarehousingDetailVO; +import com.jilongda.manage.vo.TWarehousingLensVO; import com.jilongda.manage.vo.TWarehousingVO; /** @@ -31,4 +34,7 @@ */ PageInfo<TWarehousingVO> inventoryReceiptList(TWarehousingDetailQuery query); + PageInfo<TWarehousingLensVO> inventoryReceiptLensList(TWarehousingDetailLensQuery query); + + PageInfo<TLensWarehousingDetailVO> detailListLens(TWarehousingDetailLensQuery query); } diff --git a/manage/src/main/java/com/jilongda/manage/service/impl/TWarehousingServiceImpl.java b/manage/src/main/java/com/jilongda/manage/service/impl/TWarehousingServiceImpl.java index cc2a0b7..6bd4c4c 100644 --- a/manage/src/main/java/com/jilongda/manage/service/impl/TWarehousingServiceImpl.java +++ b/manage/src/main/java/com/jilongda/manage/service/impl/TWarehousingServiceImpl.java @@ -4,17 +4,19 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.jilongda.common.basic.PageInfo; import com.jilongda.manage.mapper.TFrameWarehousingDetailMapper; +import com.jilongda.manage.mapper.TLensWarehousingDetailMapper; import com.jilongda.manage.mapper.TStoreMapper; import com.jilongda.manage.model.TFrameWarehousingDetail; +import com.jilongda.manage.model.TLensWarehousingDetail; import com.jilongda.manage.model.TStore; import com.jilongda.manage.model.TWarehousing; import com.jilongda.manage.mapper.TWarehousingMapper; +import com.jilongda.manage.query.TWarehousingDetailLensQuery; import com.jilongda.manage.query.TWarehousingDetailQuery; +import com.jilongda.manage.service.TLensWarehousingDetailService; import com.jilongda.manage.service.TWarehousingService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.jilongda.manage.vo.TBrandVO; -import com.jilongda.manage.vo.TFrameWarehousingDetailVO; -import com.jilongda.manage.vo.TWarehousingVO; +import com.jilongda.manage.vo.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -36,6 +38,8 @@ private TStoreMapper storeMapper; @Autowired private TFrameWarehousingDetailMapper frameWarehousingDetailMapper; + @Autowired + private TLensWarehousingDetailMapper lensWarehousingDetailMapper; @Override public PageInfo<TFrameWarehousingDetailVO> detailList(TWarehousingDetailQuery query) { @@ -50,7 +54,19 @@ pageInfo.setRecords(list); return pageInfo; } - + @Override + public PageInfo<TLensWarehousingDetailVO> detailListLens(TWarehousingDetailLensQuery query) { + PageInfo<TLensWarehousingDetailVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); + List<TLensWarehousingDetailVO> list = lensWarehousingDetailMapper.pageLensList(query,pageInfo); + for (TLensWarehousingDetailVO tFrameWarehousingDetailVO : list) { + TStore tStore = storeMapper.selectById(tFrameWarehousingDetailVO.getStoreId()); + if(Objects.nonNull(tStore)){ + tFrameWarehousingDetailVO.setStoreName(tStore.getName()); + } + } + pageInfo.setRecords(list); + return pageInfo; + } @Override public PageInfo<TWarehousingVO> inventoryReceiptList(TWarehousingDetailQuery query) { PageInfo<TWarehousingVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); @@ -65,4 +81,21 @@ pageInfo.setRecords(list); return pageInfo; } + + @Override + public PageInfo<TWarehousingLensVO> inventoryReceiptLensList(TWarehousingDetailLensQuery query) { + PageInfo<TWarehousingLensVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize()); + List<TWarehousingLensVO> list = this.baseMapper.inventoryReceiptLensList(query,pageInfo); + for (TWarehousingLensVO tWarehousingVO : list) { + List<TLensWarehousingDetail> lensWarehousingDetails = lensWarehousingDetailMapper.selectList(Wrappers.lambdaQuery(TLensWarehousingDetail.class) + .eq(TLensWarehousingDetail::getWarehousingId, tWarehousingVO.getId())); + if(CollectionUtils.isNotEmpty(lensWarehousingDetails)){ + tWarehousingVO.setTotalNum(lensWarehousingDetails.stream().mapToInt(TLensWarehousingDetail::getTotal).sum()); + } + } + pageInfo.setRecords(list); + return pageInfo; + } + + } diff --git a/manage/src/main/java/com/jilongda/manage/vo/TLensWarehousingDetailVO.java b/manage/src/main/java/com/jilongda/manage/vo/TLensWarehousingDetailVO.java new file mode 100644 index 0000000..f381f0f --- /dev/null +++ b/manage/src/main/java/com/jilongda/manage/vo/TLensWarehousingDetailVO.java @@ -0,0 +1,22 @@ +package com.jilongda.manage.vo; + +import com.jilongda.manage.model.TFrameWarehousingDetail; +import com.jilongda.manage.model.TLensWarehousingDetail; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel(value = "镜架出库入库明细VO") +public class TLensWarehousingDetailVO extends TLensWarehousingDetail { + + @ApiModelProperty(value = "类型 1=出库,2=入库,3=作废,4=退货") + private Integer status; + + @ApiModelProperty(value = "门店id") + private Integer storeId; + + @ApiModelProperty(value = "门店名称") + private String storeName; + +} diff --git a/manage/src/main/java/com/jilongda/manage/vo/TWarehousingLensVO.java b/manage/src/main/java/com/jilongda/manage/vo/TWarehousingLensVO.java new file mode 100644 index 0000000..208014c --- /dev/null +++ b/manage/src/main/java/com/jilongda/manage/vo/TWarehousingLensVO.java @@ -0,0 +1,22 @@ +package com.jilongda.manage.vo; + +import com.jilongda.manage.model.TFrameWarehousingDetail; +import com.jilongda.manage.model.TLensWarehousingDetail; +import com.jilongda.manage.model.TWarehousing; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@ApiModel(value = "镜架/镜片出库入库VO") +public class TWarehousingLensVO extends TWarehousing { + + @ApiModelProperty(value = "出库/入库合计数量") + private Integer totalNum=0; + + @ApiModelProperty(value = "出库/入库明细") + private List<TLensWarehousingDetail> lensWarehousingDetails; + +} diff --git a/manage/src/main/resources/mapping/TLensWarehousingDetailMapper.xml b/manage/src/main/resources/mapping/TLensWarehousingDetailMapper.xml index d486b3d..809d55b 100644 --- a/manage/src/main/resources/mapping/TLensWarehousingDetailMapper.xml +++ b/manage/src/main/resources/mapping/TLensWarehousingDetailMapper.xml @@ -26,5 +26,42 @@ <sql id="Base_Column_List"> id, brand, supplier, series, refractiveIndex, ballMirror, columnMirror, type, total, createTime, updateTime, createBy, updateBy, isDelete, count, seriesId </sql> + <select id="pageLensList" resultType="com.jilongda.manage.vo.TLensWarehousingDetailVO"> + select tlwd.id, tlwd.warehousingId, tlwd.brand, tlwd.supplier, tlwd.series, tlwd.total, tlwd.refractiveIndex, tlwd.ballMirror, tlwd.code, tlwd.createTime,tlwd.columnMirror, + tlwd.updateTime, tlwd.createBy, tlwd.updateBy, tlwd.isDelete, tlwd.modelId, tlwd.type + from t_lens_warehousing_detail tlwd + left join t_warehousing tw on tlwd.warehousingId = tw.id + <where> + <if test="query.brand != null and query.brand != ''"> + and tlwd.brand = #{query.brand} + </if> + <if test="query.series != null and query.series != ''"> + and tlwd.series = #{query.series} + </if> + <if test="query.type != null and query.type != ''"> + and tlwd.type = #{query.type} + </if> + <if test="query.refractiveIndex != null and query.refractiveIndex != ''"> + and tlwd.refractiveIndex = #{query.refractiveIndex} + </if> + <if test="query.ballMirror != null and query.ballMirror != ''"> + and tlwd.ballMirror = #{query.ballMirror} + </if> + <if test="query.columnMirror != null and query.columnMirror != ''"> + and tlwd.columnMirror = #{query.columnMirror} + </if> + <if test="query.storeId != null"> + and tw.storeId = #{query.storeId} + </if> + <if test="query.status != null"> + and tw.status = #{query.status} + </if> + <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> + and tlwd.createTime between #{query.startTime} and #{query.endTime} + </if> + and tlwd.isDelete = ${@com.jilongda.common.enums.DisabledEnum@NO.getCode()} + </where> + ORDER BY tlwd.createTime DESC + </select> </mapper> diff --git a/manage/src/main/resources/mapping/TWarehousingMapper.xml b/manage/src/main/resources/mapping/TWarehousingMapper.xml index e032137..96710bd 100644 --- a/manage/src/main/resources/mapping/TWarehousingMapper.xml +++ b/manage/src/main/resources/mapping/TWarehousingMapper.xml @@ -34,6 +34,25 @@ and createTime between #{query.startTime} and #{query.endTime} </if> and isDelete = ${@com.jilongda.common.enums.DisabledEnum@NO.getCode()} + and `type` = 1 + </where> + ORDER BY createTime DESC + </select> + <select id="inventoryReceiptLensList" resultType="com.jilongda.manage.vo.TWarehousingLensVO"> + select <include refid="Base_Column_List"></include> + from t_warehousing + <where> + <if test="query.storeId != null"> + and storeId = #{query.storeId} + </if> + <if test="query.status != null"> + and status = #{query.status} + </if> + <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''"> + and createTime between #{query.startTime} and #{query.endTime} + </if> + and `type` = 2 + and isDelete = ${@com.jilongda.common.enums.DisabledEnum@NO.getCode()} </where> ORDER BY createTime DESC </select> -- Gitblit v1.7.1