无关风月
2024-08-02 7bbce72b03664f56400fe7e70e8dcd4ea737a8da
代码提交 bug解决
23个文件已修改
6个文件已添加
655 ■■■■ 已修改文件
ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/pom.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/ScanCodesController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionCkController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionCkglController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionRkController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionZyController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionZyglController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/SlVolumeProductionZy.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/ADDCKDTO.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/ADDCKGLDTO.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/ADDZYDTO.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/AddZYIdsDTO.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/VolumeProductionCkglVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/VolumeProductionZyglInfoVO.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionCkService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionCkglService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionRkService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionZyService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionZyglService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsShelfServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkglServiceImpl.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyglServiceImpl.java 109 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/util/QRCodeUtil.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/util/UUIDUtil.java 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java
@@ -109,7 +109,8 @@
        if (user.getUserType().equals("02")){
            throw new ServiceException("登录失败,登录账号权限不足");
        }
        if (user.getUserType().equals("03")){
        if (org.springframework.util.StringUtils.hasLength(seBei) && user.getUserType().equals("03")){
            SeBei se=new SeBei();
            se.setUserId(user.getUserId());
            se.setSebei(seBei);
ruoyi-modules/ruoyi-management/pom.xml
@@ -21,7 +21,21 @@
  </description>
  <dependencies>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-test</artifactId>
      <version>5.3.9</version>
    </dependency>
    <dependency>
      <groupId>com.google.zxing</groupId>
      <artifactId>core</artifactId>
      <version>3.4.1</version>
    </dependency>
    <dependency>
      <groupId>com.google.zxing</groupId>
      <artifactId>javase</artifactId>
      <version>3.4.1</version>
    </dependency>
    <dependency>
      <groupId>com.ruoyi</groupId>
      <artifactId>ruoyi-api-system</artifactId>
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/ScanCodesController.java
@@ -19,9 +19,9 @@
    @Resource
    private InventoriesSuppliesService inventoriesSuppliesService;
    @GetMapping("/scanCodes/{rkNumber}")
    @GetMapping("/scanCodes")
    @ApiOperation(value = "安卓扫描传输数据")
    public R scanCodes(   @ApiParam(name = "rkNumber", value = "入库编号", required = true) @PathVariable("rkNumber") String rkNumber) {
    public R scanCodes(String rkNumber) {
        inventoriesSuppliesService.scanCodes(rkNumber);
        return R.ok();
    }
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionCkController.java
@@ -48,15 +48,15 @@
    @PostMapping("/addSlVolumeProductionCk")
    @ApiOperation(value = "添加出库")
    public R addSlVolumeProductionCk(@RequestBody List<AddSlVolumeProductionCkDTO> addSlVolumeProductionCkDTO) {
        slVolumeProductionCkService.addSlVolumeProductionCk(addSlVolumeProductionCkDTO);
    public R addSlVolumeProductionCk(@RequestBody ADDCKGLDTO addckgldto ) {
        slVolumeProductionCkService.addSlVolumeProductionCk(addckgldto.getAddSlVolumeProductionCkDTO());
        return R.ok();
    }
    @PostMapping("/updSlVolumeProductionCk")
    @ApiOperation(value = "修改出库")
    public R updSlVolumeProductionCk(@RequestBody List<SlVolumeProductionCkDTO> slVolumeProductionCkDTO) {
        slVolumeProductionCkService.updSlVolumeProductionCk(slVolumeProductionCkDTO);
    public R updSlVolumeProductionCk(@RequestBody ADDCKGLDTO addckgldto ) {
        slVolumeProductionCkService.updSlVolumeProductionCk(addckgldto.getAddSlVolumeProductionCkDTO());
        return R.ok();
    }
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionCkglController.java
@@ -51,8 +51,8 @@
    @PostMapping("/addslVolumeProductionCkgl")
    @ApiOperation(value = "添加/修改出库管理")
    public R addslVolumeProductionCkgl(@RequestBody VolumeProductionCkglDTO volumeProductionCkglDTO) {
        slVolumeProductionCkglService.addslVolumeProductionCkgl(volumeProductionCkglDTO);
        return R.ok();
        return R.ok(slVolumeProductionCkglService.addslVolumeProductionCkgl(volumeProductionCkglDTO));
    }
    @GetMapping("/getVolumeProductionCkglnfo/{id}")
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionRkController.java
@@ -80,9 +80,9 @@
    @PostMapping("/codeInfo/{id}")
    @ApiOperation(value = "获取二维码样式")
    public R<List<QRCodeVO>> codeInfo(@ApiParam(name = "id", value = "入库管理id", required = true) @PathVariable("id") Long id){
        slVolumeProductionRkService.codeInfo(id);
        return R.ok();
    public R<List<QRCodeVO>> codeInfo(@ApiParam(name = "id", value = "入库管理id", required = true) @PathVariable("id") Long id) throws Exception {
        return R.ok(slVolumeProductionRkService.codeInfo(id));
    }
    @PostMapping("/getSlvolumeVolumeProductionRkList")
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionZyController.java
@@ -45,8 +45,8 @@
    @PostMapping("/addSlVolumeProductionZy")
    @ApiOperation(value = "添加转移")
    public R addSlVolumeProductionZy(@RequestBody AddaddSlVolumeProductionZyDTO addaddSlVolumeProductionZyDTO) {
        slVolumeProductionZyService.addSlVolumeProductionZy(addaddSlVolumeProductionZyDTO);
    public R addSlVolumeProductionZy(@RequestBody ADDZYDTO addzydto) {
        slVolumeProductionZyService.addSlVolumeProductionZy(addzydto);
        return R.ok();
    }
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionZyglController.java
@@ -9,10 +9,7 @@
import com.ruoyi.management.domain.SlVolumeProductionCk;
import com.ruoyi.management.domain.SlVolumeProductionRkgl;
import com.ruoyi.management.domain.SlVolumeProductionZygl;
import com.ruoyi.management.domain.dto.SlVolumeProductionZyDTO;
import com.ruoyi.management.domain.dto.SlVolumeProductionZyQuery;
import com.ruoyi.management.domain.dto.VolumeProductionCkglDTO;
import com.ruoyi.management.domain.dto.getslVolumeProductionCkglQuery;
import com.ruoyi.management.domain.dto.*;
import com.ruoyi.management.domain.vo.*;
import com.ruoyi.management.mapper.SlAuditMapper;
import com.ruoyi.management.service.SlVolumeProductionZyService;
@@ -53,14 +50,14 @@
    @PostMapping("/addsVolumeProductionzZygl")
    @ApiOperation(value = "添加/修改转移管理")
    public R addsVolumeProductionzZygl(@RequestBody SlVolumeProductionZyDTO slVolumeProductionZyDTO) {
        slVolumeProductionZyglService.addsVolumeProductionzZygl(slVolumeProductionZyDTO);
        return R.ok();
        return R.ok(slVolumeProductionZyglService.addsVolumeProductionzZygl(slVolumeProductionZyDTO));
    }
    @GetMapping("/getVolumeProductionzZyglnfo/{id}")
    @GetMapping("/getVolumeProductionzZyglnfo")
    @ApiOperation(value = "获取转移管理详情")
    public R<VolumeProductionZyglInfoVO> getVolumeProductionzZyglnfo(@ApiParam(name = "id", value = "转移管理id", required = true) @PathVariable("id") Long id) {
        return R.ok(slVolumeProductionZyglService.getVolumeProductionzZyglnfo(id));
    public R<VolumeProductionZyglInfoVO> getVolumeProductionzZyglnfo(@RequestBody ManagementimgVolumeProductionZyQuery managementimgVolumeProductionZyQuery) {
        return R.ok(slVolumeProductionZyglService.getVolumeProductionzZyglnfo(managementimgVolumeProductionZyQuery));
    }
    @GetMapping("/getVolumeProductionZyglnventory/{id}")
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/SlVolumeProductionZy.java
@@ -88,6 +88,12 @@
    @ApiModelProperty("转移管理新生成入库编号")
    private Long  scrkId;
    @ApiModelProperty("转移到的楼层1、2、3")
    @TableField("store_management_number")
    private Integer  storeManagementNumber;
    @TableField("shelf_id")
    @ApiModelProperty("转移到的货架id")
    private Long  shelfId;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/ADDCKDTO.java
New file
@@ -0,0 +1,12 @@
package com.ruoyi.management.domain.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
@Data
@ApiModel("添加出库批次DTO")
public class ADDCKDTO {
    private List<AddSlVolumeProductionCkDTO> addSlVolumeProductionCkDTO;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/ADDCKGLDTO.java
New file
@@ -0,0 +1,12 @@
package com.ruoyi.management.domain.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
@Data
@ApiModel("添加出库DTO")
public class ADDCKGLDTO {
    private List<AddSlVolumeProductionCkDTO> addSlVolumeProductionCkDTO;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/ADDZYDTO.java
New file
@@ -0,0 +1,37 @@
package com.ruoyi.management.domain.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel("添加转移DTO")
public class ADDZYDTO {
    @ApiModelProperty("选择的物资列表")
    private List<AddZYIdsDTO> addZYIdsDTOS;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    @ApiModelProperty("转移管理Id 修改传")
    private Long id;
    @ApiModelProperty("转移出仓库ID")
    private Long managementId;
    @ApiModelProperty("被转移入仓库ID")
    private Long bmanagementId;
    @ApiModelProperty("转移原因")
    private String source;
    @ApiModelProperty("附件")
    private String attachmentUrl;
    @ApiModelProperty("审批单")
    private String authorization;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/AddZYIdsDTO.java
New file
@@ -0,0 +1,21 @@
package com.ruoyi.management.domain.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel("添加转移库批次数据传输对象")
public class AddZYIdsDTO {
    @ApiModelProperty("入库id")
    private Long rkId;
    @ApiModelProperty("转移数量")
    private Integer zyNum;
    @ApiModelProperty("转移楼层")
    private Integer storeManagementNumber;
    @ApiModelProperty("转移货架id")
    private Long shelfId;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/VolumeProductionCkglVO.java
@@ -20,7 +20,7 @@
    @JsonInclude(JsonInclude.Include.ALWAYS)
    private String phonenumber;
    private Integer id;
    private String id;
    @ApiModelProperty("仓库名称")
    @JsonInclude(JsonInclude.Include.ALWAYS)
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/VolumeProductionZyglInfoVO.java
@@ -2,11 +2,16 @@
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.management.domain.SlGoodsShelf;
import com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
@ApiModel(value = "转移管理详情", description = "转移管理详情")
public class VolumeProductionZyglInfoVO {
@@ -50,4 +55,12 @@
    @ApiModelProperty("1 待管理员审核,2 待主管审核,3 待主任审核,4 待入库,5 待从重新提交, 6已完成, 7,已取消")
    private Integer auditStatus;
    @ApiModelProperty("物资列表")
    private PageDTO<ManagementimgVolumeProductionZyVO> list;
    @ApiModelProperty("楼层 1=一层 2=二层。。。")
    private List<String> number;
    @ApiModelProperty("货架列表")
    private List<SlGoodsShelf> goodsShelfList;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionCkService.java
@@ -23,7 +23,7 @@
    PageDTO<ManagementimgSlVolumeProductionCkVO> getManagementimgSlVolumeProductionCkList(SlGoodsMaterialsSlVolumeProductionRkQuery slGoodsMaterialsSlVolumeProductionRkQuery);
    void updSlVolumeProductionCk(List<SlVolumeProductionCkDTO>slVolumeProductionCkDTO);
    void updSlVolumeProductionCk(List<AddSlVolumeProductionCkDTO>slVolumeProductionCkDTO);
    void addSlVolumeProductionCk(List<AddSlVolumeProductionCkDTO> addSlVolumeProductionCkDTO);
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionCkglService.java
@@ -23,7 +23,7 @@
public interface SlVolumeProductionCkglService extends IService<SlVolumeProductionCkgl> {
    PageDTO<VolumeProductionCkglVO> getslVolumeProductionCkglList(getslVolumeProductionCkglQuery VolumeProductionCkglQuery);
    void addslVolumeProductionCkgl(VolumeProductionCkglDTO volumeProductionCkglDTO);
    String addslVolumeProductionCkgl(VolumeProductionCkglDTO volumeProductionCkglDTO);
    VolumeProductionCkglInfoVO getVolumeProductionCkglnfo (Long id);
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionRkService.java
@@ -33,7 +33,7 @@
    void uplSlVolumeProductionRk(@RequestBody List<SlVolumeProductionRkDTO> SlVolumeProductionRkDTO);
    PageDTO<getVolumeProductionRkgCodeVO> getVolumeProductionRkgCode(VolumeProductionRkgCodeQuery volumeProductionRkgCodeQuery);
    List<QRCodeVO> codeInfo(Long id);
    List<QRCodeVO> codeInfo(Long id) throws Exception;
    PageDTO<ManagementimgVolumeProductionRkVO> getroductionRkList(umeProductionRkQuery meProductionRkQuery);
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionZyService.java
@@ -21,7 +21,7 @@
public interface SlVolumeProductionZyService extends IService<SlVolumeProductionZy> {
    PageDTO<getVolumeProductionzyCodeVO> getVolumeProductionzyCode(VolumeProductionZygCodeQuery volumeProductionZygCodeQuery);
    void addSlVolumeProductionZy(AddaddSlVolumeProductionZyDTO addaddSlVolumeProductionZyDTO);
    void addSlVolumeProductionZy(ADDZYDTO addzydto);
    void  updSlVolumeProductionZy(List<UpdaddSlVolumeProductionZyDTO> updaddSlVolumeProductionZyDTO);
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionZyglService.java
@@ -3,6 +3,7 @@
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.management.domain.SlVolumeProductionZygl;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyQuery;
import com.ruoyi.management.domain.dto.SlVolumeProductionZyDTO;
import com.ruoyi.management.domain.dto.SlVolumeProductionZyQuery;
import com.ruoyi.management.domain.vo.VolumeProductionZyglInfoVO;
@@ -23,9 +24,9 @@
public interface SlVolumeProductionZyglService extends IService<SlVolumeProductionZygl> {
    PageDTO<VolumeProductionzZyglVO> getVolumeProductionzZyglList(@RequestBody SlVolumeProductionZyQuery slVolumeProductionZyQuery);
    void addsVolumeProductionzZygl(@RequestBody SlVolumeProductionZyDTO slVolumeProductionZyDTO);
    String addsVolumeProductionzZygl(@RequestBody SlVolumeProductionZyDTO slVolumeProductionZyDTO);
    VolumeProductionZyglInfoVO getVolumeProductionzZyglnfo(Long id);
    VolumeProductionZyglInfoVO getVolumeProductionzZyglnfo(ManagementimgVolumeProductionZyQuery managementimgVolumeProductionZyQuery);
    VolumeProductionZyglInventoryVO getVolumeProductionZyglnventory( Integer id);
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesServiceImpl.java
@@ -124,8 +124,8 @@
    @Override
    public void scanCodes(String rkNumber) {
        LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery();
        wrapper1.like(SlVolumeProductionRk::getRkNumber,rkNumber);
        wrapper1.eq( SlVolumeProductionRk::getDelFlag,0);
        wrapper1.eq(SlVolumeProductionRk::getRkNumber,rkNumber);
        wrapper1.eq(SlVolumeProductionRk::getDelFlag,0);
        wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
        SlVolumeProductionRk page2 = slVolumeProductionRkMapper.selectOne(wrapper1);
        if (page2.getSmerwmNum()>0){
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsShelfServiceImpl.java
@@ -73,6 +73,7 @@
        if (slGoodsShelfQuery.getStoreManagementNumber()!=null && slGoodsShelfQuery.getStoreManagementNumber()!=0){
            wrapper1.eq(SlGoodsShelf::getStoreManagementNumber,slGoodsShelfQuery.getStoreManagementNumber());
        }
        if(slGoodsShelfQuery.getStoreManagementName()!=null&&slGoodsShelfQuery.getStoreManagementName()!="") {
            if (slStoreManagementIdList.size() > 0) {
                wrapper1.in(SlGoodsShelf::getStoreManagementId, slStoreManagementIdList);
@@ -82,6 +83,9 @@
                wrapper1.in(SlGoodsShelf::getStoreManagementId, slStoreManagementIdList);
            }
        }
        if (slGoodsShelfQuery.getStoreManagementId()!=null){
            wrapper1.eq(SlGoodsShelf::getStoreManagementId, slGoodsShelfQuery.getStoreManagementId());
        }
        wrapper1.eq( SlGoodsShelf::getDelFlag,0);
        wrapper1.orderByDesc(SlGoodsShelf::getCreateTime);
        Page<SlGoodsShelf> page2 = this.page(page, wrapper1);
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkServiceImpl.java
@@ -71,9 +71,9 @@
    }
    @Override
    public void updSlVolumeProductionCk(List<SlVolumeProductionCkDTO> slVolumeProductionCkDTO) {
           for (SlVolumeProductionCkDTO c:slVolumeProductionCkDTO){
               SlVolumeProductionCk byId = this.getById(c.getId());
    public void updSlVolumeProductionCk(List<AddSlVolumeProductionCkDTO> slVolumeProductionCkDTO) {
           for (AddSlVolumeProductionCkDTO c:slVolumeProductionCkDTO){
               SlVolumeProductionCk byId = this.getById(c.getCkgl_id());
               byId.setCkNum(c.getCkNum());
               byId.setGuihNum(c.getGuihNum());
               this.updateById(byId);
@@ -94,6 +94,7 @@
            slVolumeProductionCk.setCkNum(m.getCkNum());
            slVolumeProductionCk.setGuihNum(m.getGuihNum());
            slVolumeProductionCk.setMaterialsId(slVolumeProductionRk.getMaterialsId());
            slVolumeProductionCk.setCreateTime(new Date());
            this.save(slVolumeProductionCk);
        }
    }
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkglServiceImpl.java
@@ -71,8 +71,13 @@
                .collect(Collectors.toSet());
        LambdaQueryWrapper< SlVolumeProductionCkgl> wrapper1= Wrappers.lambdaQuery();
        if (VolumeProductionCkglQuery.getPresentState()!=null &&VolumeProductionCkglQuery.getPresentState()!=0){
        wrapper1.eq(SlVolumeProductionCkgl::getPresentState,VolumeProductionCkglQuery.getPresentState());
        wrapper1.eq(SlVolumeProductionCkgl::getAuditStatus,VolumeProductionCkglQuery.getAuditStatus());
        }
        if (VolumeProductionCkglQuery.getAuditStatus()!=null &&VolumeProductionCkglQuery.getAuditStatus()!=0){
            wrapper1.eq(SlVolumeProductionCkgl::getAuditStatus,VolumeProductionCkglQuery.getAuditStatus());
        }
        if (goodsSkuIdList.size()>0){
            wrapper1.in(SlVolumeProductionCkgl::getSysId,goodsSkuIdList);
        }
@@ -93,9 +98,9 @@
    }
    @Override
    public void addslVolumeProductionCkgl(VolumeProductionCkglDTO volumeProductionCkglDTO) {
    public String addslVolumeProductionCkgl(VolumeProductionCkglDTO volumeProductionCkglDTO) {
        Long userid = SecurityUtils.getUserId();
        if (volumeProductionCkglDTO.getId()!=null){
        if (volumeProductionCkglDTO.getId()==null){
            SlVolumeProductionCkgl slVolumeProductionRkgl=new  SlVolumeProductionCkgl();
            slVolumeProductionRkgl.setAttachmentUrl(volumeProductionCkglDTO.getAttachmentUrl());
            slVolumeProductionRkgl.setAuthorizationUrl(volumeProductionCkglDTO.getAuthorization());
@@ -106,7 +111,9 @@
            slVolumeProductionRkgl.setSource(volumeProductionCkglDTO.getSource());
            slVolumeProductionRkgl.setStartiTime(new Date());
            slVolumeProductionRkgl.setSysId(userid);
            slVolumeProductionRkgl.setCreateTime(new Date());
            this.save(slVolumeProductionRkgl);
            return slVolumeProductionRkgl.getId().toString();
        }else{
            SlVolumeProductionCkgl byId = this.getById(volumeProductionCkglDTO.getId());
            if (volumeProductionCkglDTO.getSource()!=null){
@@ -119,6 +126,7 @@
                byId.setAuthorizationUrl(volumeProductionCkglDTO.getAuthorization());
            }
            this.updateById(byId);
            return volumeProductionCkglDTO.getId().toString();
        }
    }
@@ -132,7 +140,7 @@
        SysUser data1 = sysUserClient.getSysUser(Long.valueOf(byId.getSysId())).getData();
        v.setSysName(data1.getNickName());
        v.setSysPhone(data1.getPhonenumber());
        return null;
        return v;
    }
    @Override
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java
@@ -1,5 +1,7 @@
package com.ruoyi.management.service.impl;
import com.alibaba.fastjson2.util.UUIDUtils;
import com.alibaba.nacos.common.utils.UuidUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -12,11 +14,22 @@
import com.ruoyi.management.service.SlVolumeProductionRkService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.management.service.SlVolumeProductionRkglService;
import com.ruoyi.management.util.ObsUploadUtil;
import com.ruoyi.management.util.QRCodeUtil;
import com.ruoyi.management.util.UUIDUtil;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import org.apache.logging.log4j.core.util.UuidUtil;
import org.apache.tomcat.util.http.fileupload.ByteArrayOutputStream;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.mock.web.MockMultipartFile;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.math.BigDecimal;
import java.sql.Array;
import java.text.SimpleDateFormat;
@@ -200,7 +213,7 @@
    }
    @Override
    public List<QRCodeVO> codeInfo(Long id) {
    public List<QRCodeVO> codeInfo(Long id) throws Exception {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
        List<QRCodeVO> res = new ArrayList<>();
        LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery();
@@ -211,6 +224,11 @@
        for (SlVolumeProductionRk byId : list) {
            // 根据生成二维码数量 复制
            for (int i = 0; i < byId.getErwmNum(); i++) {
                String blueS = "{\"rkNumber\": "+byId.getRkNumber()+"}";
                BufferedImage blueImage = QRCodeUtil.createImage(blueS);
                MultipartFile blueFile = convert(blueImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
                // 生成的二维码连接
                String s = ObsUploadUtil.obsUpload(blueFile);
                QRCodeVO vo=new QRCodeVO();
                String letter = getLetter(i);
                vo.setCategory(letter);
@@ -225,6 +243,7 @@
                vo.setMaterials(byId.getRkNumber());
                SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
                vo.setStoreManagementName(slStoreManagement.getStoreManagementName());
                vo.setQrCode(s);
                res.add(vo);
            }
@@ -234,6 +253,33 @@
        return res;
    }
    public static void main(String[] args) throws Exception {
        String blueS = "{\"rkNumber\": CD-1721989472748"+"}";
        BufferedImage blueImage = QRCodeUtil.createImage(blueS);
        MultipartFile blueFile = convert(blueImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG");
        // 生成的二维码连接
        String s = ObsUploadUtil.obsUpload(blueFile);
        System.err.println(s);
    }
    public static MultipartFile convert(BufferedImage bufferedImage, String fileName) throws IOException {
        // 将 BufferedImage 转换为字节数组
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ImageIO.write(bufferedImage, "png", baos);
        byte[] bytes = baos.toByteArray();
        // 创建 ByteArrayResource
        ByteArrayResource resource = new ByteArrayResource(bytes);
        // 创建 MockMultipartFile
        MockMultipartFile multipartFile = new MockMultipartFile(
                "file",
                fileName,
                "image/png",
                resource.getInputStream()
        );
        return multipartFile;
    }
    // 根据传入数字是几 返回对应的字母
    public static String getLetter(int num) {
        String[] str = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java
@@ -5,11 +5,14 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.management.domain.*;
import com.ruoyi.management.domain.dto.*;
import com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO;
import com.ruoyi.management.domain.vo.*;
import com.ruoyi.management.mapper.*;
import com.ruoyi.management.service.SlAuditRecordService;
import com.ruoyi.management.service.SlAuditService;
import com.ruoyi.management.service.SlStoreManagementService;
import com.ruoyi.management.service.SlVolumeProductionZyService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -21,6 +24,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@@ -38,6 +42,8 @@
    @Resource
    private SlVolumeProductionRkMapper slVolumeProductionRkMapper;
    @Resource
    private SlVolumeProductionRkglMapper slVolumeProductionRkglMapper;
    @Resource
    private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
@@ -86,21 +92,131 @@
    }
    @Resource
    private SlAuditService slAuditService;
    @Resource
    private SlAuditRecordService slAuditRecordService;
    @Override
    public void addSlVolumeProductionZy(AddaddSlVolumeProductionZyDTO addaddSlVolumeProductionZyDTO) {
        List<Long> rkId = addaddSlVolumeProductionZyDTO.getRkId();
        for (Long m:rkId){
            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m);
            SlVolumeProductionZy slVolumeProductionZy=new SlVolumeProductionZy();
            slVolumeProductionZy.setRkId(m);
            slVolumeProductionZy.setZyglId(addaddSlVolumeProductionZyDTO.getZygl_id());
            slVolumeProductionZy.setState(1);
            slVolumeProductionZy.setMaterialsId(slVolumeProductionRk.getMaterialsId());
            slVolumeProductionZy.setZyglId(addaddSlVolumeProductionZyDTO.getZygl_id());
            this.save(slVolumeProductionZy);
    public void addSlVolumeProductionZy(ADDZYDTO addaddSlVolumeProductionZyDTO) {
        if (addaddSlVolumeProductionZyDTO.getId()==null){
            // 新增转移管理
                Long userid = SecurityUtils.getUserId();
                SlVolumeProductionZygl slVolumeProductionZygl=new SlVolumeProductionZygl();
                slVolumeProductionZygl.setAttachmentUrl(addaddSlVolumeProductionZyDTO.getAttachmentUrl());
                slVolumeProductionZygl.setAuthorizationUrl(addaddSlVolumeProductionZyDTO.getAuthorization());
                slVolumeProductionZygl.setSource(addaddSlVolumeProductionZyDTO.getSource());
                slVolumeProductionZygl.setManagementId(addaddSlVolumeProductionZyDTO.getManagementId());
                slVolumeProductionZygl.setBmanagementId(addaddSlVolumeProductionZyDTO.getBmanagementId());
                slVolumeProductionZygl.setSysId(userid);
                slVolumeProductionZygl.setStartiTime(new Date());
                slVolumeProductionZygl.setAuditStatus(1);
                slVolumeProductionZygl.setPresentState(1);
            slVolumeProductionZyglMapper.insert(slVolumeProductionZygl);
            addaddSlVolumeProductionZyDTO.setId(slVolumeProductionZygl.getId());
            // 新增
            List<AddZYIdsDTO> rkId = addaddSlVolumeProductionZyDTO.getAddZYIdsDTOS();
            for (AddZYIdsDTO m:rkId){
                SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m.getRkId());
                // todo 目前还不知道转移管理存不存供应商id
//            Long volumeProductionRkglId = slVolumeProductionRk.getVolumeProductionRkglId();
//            SlVolumeProductionRkgl slVolumeProductionRkgl = slVolumeProductionRkglMapper.selectById(volumeProductionRkglId);
                SlVolumeProductionZy slVolumeProductionZy=new SlVolumeProductionZy();
                slVolumeProductionZy.setRkId(m.getRkId());
                slVolumeProductionZy.setZyglId(slVolumeProductionZygl.getId());
                slVolumeProductionZy.setState(1);
                slVolumeProductionZy.setMaterialsId(slVolumeProductionRk.getMaterialsId());
                slVolumeProductionZy.setZyNum(m.getZyNum());
                slVolumeProductionZy.setCreateTime(new Date());
                slVolumeProductionZy.setStoreManagementNumber(m.getStoreManagementNumber());
                slVolumeProductionZy.setShelfId(m.getShelfId());
                slVolumeProductionZy.setRkId(m.getRkId());
//            slVolumeProductionZy.setSupplierId(slVolumeProductionRkgl.getSupplierId());
                this.save(slVolumeProductionZy);
            }
        }else{
            // 修改
            SlVolumeProductionZygl byId = slVolumeProductionZyglMapper.selectById(addaddSlVolumeProductionZyDTO.getId());
            if (addaddSlVolumeProductionZyDTO.getSource()!=null){
                byId.setSource(addaddSlVolumeProductionZyDTO.getSource());
            }
            if (addaddSlVolumeProductionZyDTO.getAttachmentUrl()!=null){
                byId.setAttachmentUrl(addaddSlVolumeProductionZyDTO.getAttachmentUrl());
            }
            if (addaddSlVolumeProductionZyDTO.getAuthorization()!=null){
                byId.setAuthorizationUrl(addaddSlVolumeProductionZyDTO.getAuthorization());
            }
            slVolumeProductionZyglMapper.updateById(byId);
            for (AddZYIdsDTO z:addaddSlVolumeProductionZyDTO.getAddZYIdsDTOS()){
                QueryWrapper<SlVolumeProductionZy> slVolumeProductionZyQueryWrapper = new QueryWrapper<>();
                slVolumeProductionZyQueryWrapper.eq("zygl_id",addaddSlVolumeProductionZyDTO.getId());
                slVolumeProductionZyQueryWrapper.eq("rk_id",z.getRkId());
                SlVolumeProductionZy one = this.getOne(slVolumeProductionZyQueryWrapper);
                if (one!=null){
                    one.setZyNum(z.getZyNum());
                }
                this.updateById(one);
            }
        }
        // 添加/修改审核记录
        LambdaQueryWrapper< SlAudit> wrapper= Wrappers.lambdaQuery();
        if (addaddSlVolumeProductionZyDTO.getId()!=null){
            wrapper.eq(SlAudit::getRkId,addaddSlVolumeProductionZyDTO.getId());
        }
        wrapper.eq(SlAudit::getType,3);
        wrapper.eq( SlAudit::getDelFlag,0);
        wrapper.orderByDesc(SlAudit::getCreateTime);
        SlAudit page1 = slAuditService.getOne(wrapper);
        if (page1!=null){
            LambdaQueryWrapper<SlAuditRecord> wrapper1= Wrappers.lambdaQuery();
            wrapper1.eq(SlAuditRecord::getAuditId,page1.getId());
            List<SlAuditRecord> slAuditRecords = slAuditRecordService.list(wrapper1);
            for (SlAuditRecord lAuditRecord:slAuditRecords){
                slAuditRecordService.removeById(lAuditRecord.getId());
            }
            slAuditService.removeById(page1);
        }
        SlAudit slAudit=new SlAudit();
        slAudit.setType(3);
        slAudit.setState(1);
        slAudit.setCreateTime(new Date());
        slAudit.setRkId(addaddSlVolumeProductionZyDTO.getId());
        if (slAudit.getType()==3){
            SlVolumeProductionZygl slVolumeProductionZygl = slVolumeProductionZyglMapper.selectById(addaddSlVolumeProductionZyDTO.getId());
            slAudit.setSysId(slVolumeProductionZygl.getSysId());
            slAudit.setManagementId(slVolumeProductionZygl.getManagementId());
            slAudit.setZymanagementId(slVolumeProductionZygl.getBmanagementId());
            SlStoreManagement byId = slStoreManagementService.getById(slVolumeProductionZygl.getManagementId());
            slAudit.setShenhId(byId.getAdministratorId());
            slAuditService.save(slAudit);
            SlAuditRecord slAuditRecord=new SlAuditRecord();
            slAuditRecord.setAuditId(slAudit.getId());
            slAuditRecord.setShenhId(byId.getAdministratorId());
            slAuditRecord.setType(1);
            slAuditRecord.setState(1);
            slAuditRecord.setCreateTime(new Date());
            slAuditRecordService.save(slAuditRecord);
            SlAuditRecord slAuditRecord1=new SlAuditRecord();
            slAuditRecord1.setAuditId(slAudit.getId());
            slAuditRecord1.setShenhId(byId.getCompetentId());
            slAuditRecord1.setType(2);
            slAuditRecord1.setState(1);
            slAuditRecord1.setCreateTime(new Date());
            slAuditRecordService.save(slAuditRecord1);
            SlAuditRecord slAuditRecord2=new SlAuditRecord();
            slAuditRecord2.setAuditId(slAudit.getId());
            slAuditRecord2.setShenhId(byId.getDirectorId());
            slAuditRecord2.setType(3);
            slAuditRecord2.setState(1);
            slAuditRecord2.setCreateTime(new Date());
            slAuditRecordService.save(slAuditRecord2);
        }
    }
    @Resource
    private SlStoreManagementService slStoreManagementService;
    @Override
    public void updSlVolumeProductionZy(List<UpdaddSlVolumeProductionZyDTO> updaddSlVolumeProductionZyDTO) {
        for (UpdaddSlVolumeProductionZyDTO z:updaddSlVolumeProductionZyDTO){
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyglServiceImpl.java
@@ -1,12 +1,14 @@
package com.ruoyi.management.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.utils.page.BeanUtils;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.management.domain.*;
import com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyQuery;
import com.ruoyi.management.domain.dto.SlVolumeProductionZyDTO;
import com.ruoyi.management.domain.dto.SlVolumeProductionZyQuery;
import com.ruoyi.management.domain.vo.*;
@@ -68,8 +70,13 @@
                .collect(Collectors.toSet());
        LambdaQueryWrapper< SlVolumeProductionZygl> wrapper1= Wrappers.lambdaQuery();
        wrapper1.eq(SlVolumeProductionZygl::getPresentState,slVolumeProductionZyQuery.getPresentState());
        wrapper1.eq(SlVolumeProductionZygl::getAuditStatus,slVolumeProductionZyQuery.getAuditStatus());
        if (slVolumeProductionZyQuery.getPresentState()!=null){
            wrapper1.eq(SlVolumeProductionZygl::getPresentState,slVolumeProductionZyQuery.getPresentState());
        }
        if (slVolumeProductionZyQuery.getAuditStatus()!=null){
            wrapper1.eq(SlVolumeProductionZygl::getAuditStatus,slVolumeProductionZyQuery.getAuditStatus());
        }
        if (goodsSkuIdList.size()>0){
            wrapper1.in(SlVolumeProductionZygl::getSysId,goodsSkuIdList);
        }
@@ -87,15 +94,15 @@
            list.setStoreManagementName(slStoreManagement.getStoreManagementName());
            SlStoreManagement bslStoreManagement = slStoreManagementMapper.selectById(list.getBmanagementId());
            list.setStoreManagementName(bslStoreManagement.getStoreManagementName());
            list.setBstoreManagementName(bslStoreManagement.getStoreManagementName());
        }
        return SlGoodsShelfDTO;
    }
    @Override
    public void addsVolumeProductionzZygl(SlVolumeProductionZyDTO slVolumeProductionZyDTO) {
    public String addsVolumeProductionzZygl(SlVolumeProductionZyDTO slVolumeProductionZyDTO) {
                Long userid = SecurityUtils.getUserId();
                if (slVolumeProductionZyDTO.getId()!=null){
                if (slVolumeProductionZyDTO.getId()==null){
                    SlVolumeProductionZygl slVolumeProductionZygl=new SlVolumeProductionZygl();
                    slVolumeProductionZygl.setAttachmentUrl(slVolumeProductionZyDTO.getAttachmentUrl());
                    slVolumeProductionZygl.setAuthorizationUrl(slVolumeProductionZyDTO.getAuthorization());
@@ -106,6 +113,8 @@
                    slVolumeProductionZygl.setStartiTime(new Date());
                    slVolumeProductionZygl.setAuditStatus(1);
                    slVolumeProductionZygl.setPresentState(1);
                    this.save(slVolumeProductionZygl);
                    return slVolumeProductionZygl.getId().toString();
                }else {
                    SlVolumeProductionZygl byId = this.getById(slVolumeProductionZyDTO.getId());
                    if (slVolumeProductionZyDTO.getSource()!=null){
@@ -118,12 +127,14 @@
                        byId.setAuthorizationUrl(slVolumeProductionZyDTO.getAuthorization());
                    }
                    this.updateById(byId);
                    return slVolumeProductionZyDTO.getId().toString();
                }
    }
    @Override
    public VolumeProductionZyglInfoVO getVolumeProductionzZyglnfo(Long id) {
        SlVolumeProductionZygl byId = this.getById(id);
    public VolumeProductionZyglInfoVO getVolumeProductionzZyglnfo(ManagementimgVolumeProductionZyQuery managementimgVolumeProductionZyQuery) {
        SlVolumeProductionZygl byId = this.getById(managementimgVolumeProductionZyQuery.getVolumeProductionzyglId());
        VolumeProductionZyglInfoVO v= BeanUtils.copyBean(byId, VolumeProductionZyglInfoVO.class);
        SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
        v.setStoreManagementName(slStoreManagement.getStoreManagementName());
@@ -132,6 +143,75 @@
        SysUser data1 = sysUserClient.getSysUser(Long.valueOf(byId.getSysId())).getData();
        v.setSysName(data1.getNickName());
        v.setSysPhone(data1.getPhonenumber());
        // 查询楼层数据
        SlStoreManagement slStoreManagement1 = slStoreManagementMapper.selectById(byId.getManagementId());
        List<String> number = new ArrayList<>();
        for (Integer i = 1; i <= slStoreManagement1.getStoreManagementNumber(); i++) {
            switch (i){
                case 1:
                    number.add("一层");
                    break;
                case 2:
                    number.add("二层");
                    break;
                case 3:
                    number.add("三层");
                    break;
            }
        }
        v.setNumber(number);
        QueryWrapper<SlGoodsShelf> eq = new QueryWrapper<SlGoodsShelf>()
                .eq("del_flag", "0")
                .eq("store_management_id", byId.getManagementId())
                .eq("store_management_number",managementimgVolumeProductionZyQuery.getStoreManagementNumber());
        List<SlGoodsShelf> slGoodsShelves = slGoodsShelfMapper.selectList(eq);
        v.setGoodsShelfList(slGoodsShelves);
        // 查询物资列表
        LambdaQueryWrapper<SlVolumeProductionRk> wrapper2= Wrappers.lambdaQuery();
        wrapper2.eq(SlVolumeProductionRk::getManagementId,byId.getBmanagementId());
        if (managementimgVolumeProductionZyQuery.getShelfId() == null){
            managementimgVolumeProductionZyQuery.setShelfId(slGoodsShelves.get(0).getId());
        }
        if (managementimgVolumeProductionZyQuery.getStoreManagementNumber()==null){
            wrapper2.eq(SlVolumeProductionRk::getStoreManagementNumber,1);
        }
        wrapper2.eq(SlVolumeProductionRk::getShelfId,managementimgVolumeProductionZyQuery.getShelfId());
        wrapper2.eq( SlVolumeProductionRk::getDelFlag,0);
        wrapper2.orderByDesc(SlVolumeProductionRk::getCreateTime);
        List<SlVolumeProductionRk> page1 = slVolumeProductionRkMapper.selectList(wrapper2);
        Set<Long> goodsSkuIdList = null;
        goodsSkuIdList = page1.stream().map(SlVolumeProductionRk::getId)
                .collect(Collectors.toSet());
        Page<SlVolumeProductionZy> page = new Page<>(managementimgVolumeProductionZyQuery.getPageCurr(), managementimgVolumeProductionZyQuery.getPageSize());
        LambdaQueryWrapper< SlVolumeProductionZy> wrapper1= Wrappers.lambdaQuery();
        wrapper1.eq(SlVolumeProductionZy::getZyglId,managementimgVolumeProductionZyQuery.getVolumeProductionzyglId());
        if (goodsSkuIdList.size()>0&&goodsSkuIdList!=null){
            wrapper1.in(SlVolumeProductionZy::getScrkId,goodsSkuIdList);
        }
        wrapper1.eq( SlVolumeProductionZy::getDelFlag,0);
        wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime);
        Page<SlVolumeProductionZy> page2 = slVolumeProductionZyMapper.selectPage(page, wrapper1);
        PageDTO<com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO> SlGoodsShelfDTO = PageDTO.of(page2, com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO.class);
        List<com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO> list2 = SlGoodsShelfDTO.getList();
        for(com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO list:list2) {
            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
            list.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber());
            list.setRkNumber(slVolumeProductionRk.getRkNumber());
            list.setRepertoryZhai(slVolumeProductionRk.getRepertoryZhai());
            SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId());
            list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
            list.setIsConsume(slGoodsMaterials.getIsConsume());
            SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(slVolumeProductionRk.getShelfId());
            list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
            if(list.getScrkId()!=null){
                SlVolumeProductionRk slVolumeProductionRk1 = slVolumeProductionRkMapper.selectById(list.getScrkId());
                list.setStoreManagementNumber(slVolumeProductionRk1.getStoreManagementNumber());
                list.setRkNumber(slVolumeProductionRk1.getRkNumber());
            }
        }
        v.setList(SlGoodsShelfDTO);
        return v;
    }
@@ -217,21 +297,20 @@
        wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime);
        List<SlVolumeProductionZy> page2 = slVolumeProductionZyMapper.selectList(wrapper1);
        for (SlVolumeProductionZy zy:page2){
            SlVolumeProductionRk slVolumeProductionRk1 = slVolumeProductionRkMapper.selectById(zy.getRkId());
            SlVolumeProductionRk slVolumeProductionRk=new SlVolumeProductionRk();
            slVolumeProductionRk.setMaterialsId(slVolumeProductionRk1.getMaterialsId());
            slVolumeProductionRk.setStoreManagementNumber(slVolumeProductionRk1.getStoreManagementNumber());
            slVolumeProductionRk.setMaterialsId(zy.getMaterialsId());
            slVolumeProductionRk.setStoreManagementNumber(zy.getStoreManagementNumber());
            slVolumeProductionRk.setManagementId(byId.getBmanagementId());
            slVolumeProductionRk.setRkNumber("CD-"+new Date().getTime());
            slVolumeProductionRk.setRkNum(Long.valueOf(zy.getZyNum()));
            slVolumeProductionRk.setShelfId(slVolumeProductionRk1.getShelfId());
            slVolumeProductionRk.setShelfId(zy.getShelfId());
            slVolumeProductionRk.setRepertoryZhai(Long.valueOf(zy.getZyNum()));
            slVolumeProductionRk.setCreateTime(new Date());
            slVolumeProductionRkMapper.insert(slVolumeProductionRk);
            zy.setScrkId(slVolumeProductionRk.getId());
            slVolumeProductionZyMapper.updateById(zy);
            LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
            wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,slVolumeProductionRk1.getMaterialsId());
            wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,zy.getMaterialsId());
            wrapper2.eq(ManagementGoodsMaterials::getManagementId,byId.getBmanagementId());
            wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0);
            ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2);
@@ -246,14 +325,12 @@
            }else{
                ManagementGoodsMaterials managementGoodsMaterials1=new ManagementGoodsMaterials();
                managementGoodsMaterials1.setManagementId(byId.getBmanagementId());
                managementGoodsMaterials1.setGoodsMaterialsId(slVolumeProductionRk1.getMaterialsId());
                managementGoodsMaterials1.setGoodsMaterialsId(zy.getMaterialsId());
                managementGoodsMaterials1.setRepertoryZhai(Long.valueOf(zy.getZyNum()));
                managementGoodsMaterials1.setRepertorySum(Long.valueOf(zy.getZyNum()));
                managementGoodsMaterials1.setCreateTime(new Date());
                managementGoodsMaterialsMapper.insert(managementGoodsMaterials1);
            }
        }
    }
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/util/QRCodeUtil.java
New file
@@ -0,0 +1,50 @@
package com.ruoyi.management.util;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.MultiFormatWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import java.awt.image.BufferedImage;
import java.util.Hashtable;
/**
 * @author chengst
 * @date 2019/11/4
 **/
public class QRCodeUtil {
    private final static String CHARSET = "utf-8";
    private final static int QRSIZEE = 300;
    // 二维码颜色
    private static final int BLACK = 0xFF000000;
    // 二维码颜色
    private static final int WHITE = 0xFFFFFFFF;
    public static BufferedImage createImage(String content){
        Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
        hints.put(EncodeHintType.CHARACTER_SET, CHARSET);
        hints.put(EncodeHintType.MARGIN, 1);
        BitMatrix bitMatrix = null;
        try {
            bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, QRSIZEE, QRSIZEE,hints);
        }catch (Exception e){
            e.printStackTrace();
        }
        int width = bitMatrix.getWidth();
        int height = bitMatrix.getHeight();
        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        for (int x = 0; x < width; x++) {
            for (int y = 0; y < height; y++) {
                image.setRGB(x, y, bitMatrix.get(x, y) ? BLACK : WHITE);
            }
        }
        return image;
    }
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/util/UUIDUtil.java
New file
@@ -0,0 +1,101 @@
package com.ruoyi.management.util;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.UUID;
/**
 * 定义生成随机码的工具类
 */
public class UUIDUtil {
    private int i = 1;
    /**
     * 定义生成原生的UUID随机码
     * @return
     */
    public static String getNativeUUID(){
        return UUID.randomUUID().toString();
    }
    /**
     * 生成32位随机码
     * @return
     */
    public static String getRandomCode(){
        return UUIDUtil.getNativeUUID().replaceAll("-", "");
    }
    /**
     * 获取给定长度的随机码
     * @param num
     * @return
     * @throws Exception
     */
    public static String getRandomCode(Integer num) throws Exception{
        String str = null;
        if(0 < num){
            if(num % 32 > 0){
                Integer s = num / 32;
                Integer l = num % 32;
                StringBuffer sb = new StringBuffer();
                for(int i = 0; i < s; i++){
                    sb.append(UUIDUtil.getRandomCode());
                }
                sb.append(UUIDUtil.getRandomCode().substring(0, l));
                str = sb.toString();
            }else if(num % 32 == 0){
                Integer s = num / 32;
                StringBuffer sb = new StringBuffer();
                for(int i = 0; i < s; i++){
                    sb.append(UUIDUtil.getRandomCode());
                }
                str = sb.toString();
            }else{
                str = UUIDUtil.getRandomCode().substring(0, num);
            }
        }else{
            throw new Exception("参数只能大于0");
        }
        return str;
    }
    /**
     * 获取根据当前时间的字符串数据
     * @return
     */
    public synchronized static String getTimeStr(){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddhhmmssS");
        return simpleDateFormat.format(new Date());
    }
    /**
     * @Description: 获取数字随机码
     * @Author pzb
     * @Date 2021/8/11 16:52
     * @Param
     * @Return
     * @Exception
     */
    public static String getNumberRandom(Integer num){
        if(null == num){
            num = 32;
        }
        StringBuffer sb = new StringBuffer();
        for(int i = 0; i < num; i++){
            sb.append(Double.valueOf(Math.random() * 10).intValue());
        }
        return sb.toString();
    }
}