无关风月
2024-12-18 4756b2959df094e4f49aa85f95ec2b1ef6478e2a
代码
8个文件已修改
4个文件已添加
266 ■■■■■ 已修改文件
manage/src/main/java/com/jilongda/manage/controller/TWarehousingController.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/dto/TWarehousingLensDTO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/mapper/TLensWarehousingDetailMapper.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/mapper/TWarehousingMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/model/TLensWarehousingDetail.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/query/TWarehousingDetailLensQuery.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/service/TWarehousingService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/service/impl/TWarehousingServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/vo/TLensWarehousingDetailVO.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/java/com/jilongda/manage/vo/TWarehousingLensVO.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/resources/mapping/TLensWarehousingDetailMapper.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manage/src/main/resources/mapping/TWarehousingMapper.xml 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
    }
}
manage/src/main/java/com/jilongda/manage/dto/TWarehousingLensDTO.java
New file
@@ -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;
}
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);
}
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);
}
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;
}
manage/src/main/java/com/jilongda/manage/query/TWarehousingDetailLensQuery.java
New file
@@ -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;
}
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);
}
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;
    }
}
manage/src/main/java/com/jilongda/manage/vo/TLensWarehousingDetailVO.java
New file
@@ -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;
}
manage/src/main/java/com/jilongda/manage/vo/TWarehousingLensVO.java
New file
@@ -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;
}
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>
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>