rentaiming
2024-07-07 d1ec9fed69f32140f1c22eb1c3b03acc2a0e24d1
写入库管理
12个文件已修改
4个文件已添加
369 ■■■■■ 已修改文件
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/InventoriesSuppliesController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/ScanCodesController.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionRkController.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionRkglController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/ManagementGoodsMaterials.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/SlVolumeProductionRk.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/VolumeProductionRkgCodeQuery.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/ManagementimgSlVolumeProductionCkVO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/ManagementimgVolumeProductionRkVO.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/VolumeProductionRkgInventoryVO.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/getVolumeProductionRkgCodeVO.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionRkService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionRkglService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java 121 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/InventoriesSuppliesController.java
@@ -43,12 +43,7 @@
        return R.ok();
    }
    @PostMapping("/scanCodes")
    @ApiOperation(value = "安卓扫描传输数据")
    public R scanCodes(@RequestBody ScanCodesDTO scanCodesDTO) {
        inventoriesSuppliesService.scanCodes(scanCodesDTO);
        return R.ok();
    }
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/ScanCodesController.java
New file
@@ -0,0 +1,30 @@
package com.ruoyi.management.controller;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.management.domain.dto.ScanCodesDTO;
import com.ruoyi.management.service.InventoriesSuppliesInfoService;
import com.ruoyi.management.service.InventoriesSuppliesService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
@RequestMapping("/management-goods-materials")
@Api(value = "安卓扫描接口", tags = "安卓扫描接口", description = "安卓扫描接口")
public class ScanCodesController {
    @Resource
    private InventoriesSuppliesService inventoriesSuppliesService;
    @PostMapping("/scanCodes")
    @ApiOperation(value = "安卓扫描传输数据")
    public R scanCodes(@RequestBody ScanCodesDTO scanCodesDTO) {
        inventoriesSuppliesService.scanCodes(scanCodesDTO);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionRkController.java
@@ -3,11 +3,10 @@
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.management.domain.dto.SlGoodsMaterialsSlVolumeProductionRkQuery;
import com.ruoyi.management.domain.dto.SlVolumeProductionRkDTO;
import com.ruoyi.management.domain.dto.SlVolumeProductionRkListDTO;
import com.ruoyi.management.domain.dto.VolumeProductionRkglDTO;
import com.ruoyi.management.domain.dto.*;
import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionRkVO;
import com.ruoyi.management.domain.vo.VolumeProductionRkgInventoryVO;
import com.ruoyi.management.domain.vo.getVolumeProductionRkgCodeVO;
import com.ruoyi.management.service.SlVolumeProductionRkService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -60,4 +59,16 @@
        return R.ok();
    }
    @PostMapping("/getVolumeProductionRkgCode")
    @ApiOperation(value = "获取入库管理打印清单")
    public R<PageDTO<getVolumeProductionRkgCodeVO>> getVolumeProductionRkgCode(VolumeProductionRkgCodeQuery volumeProductionRkgCodeQuery) {
        return R.ok(slVolumeProductionRkService.getVolumeProductionRkgCode(volumeProductionRkgCodeQuery));
    }
    @PostMapping("/codeInfo/{id}")
    @ApiOperation(value = "获取二维码样式")
    public R<ManagementimgVolumeProductionRkVO> codeInfo( @ApiParam(name = "id", value = "入库批次id", required = true) @PathVariable("id") Integer id){
        return R.ok(slVolumeProductionRkService.codeInfo(id));
    }
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionRkglController.java
@@ -9,6 +9,7 @@
import com.ruoyi.management.domain.dto.VolumeProductionRkglDTO;
import com.ruoyi.management.domain.vo.SupplierVolumeProductionRkglVO;
import com.ruoyi.management.domain.vo.VolumeProductionRkgInfoVO;
import com.ruoyi.management.domain.vo.VolumeProductionRkgInventoryVO;
import com.ruoyi.management.service.SlVolumeProductionRkglService;
import com.ruoyi.system.api.domain.getVolumeProductionRkQuery;
import io.swagger.annotations.Api;
@@ -72,4 +73,17 @@
        return R.ok();
    }
    @PostMapping("/getVolumeProductionRkgInventory")
    @ApiOperation(value = "获取入库管理打印清单")
    public R<VolumeProductionRkgInventoryVO> getVolumeProductionRkgInventory(@ApiParam(name = "id", value = "入库管理id", required = true) @PathVariable("id") Integer id) {
        return R.ok(slVolumeProductionRkglService.getVolumeProductionRkgInventory(id));
    }
    @ApiOperation("入库管理入库")
    @DeleteMapping("/rk/{id}")
    public R<?> rk(@ApiParam(name = "id", value = "入库管理id", required = true) @PathVariable("id") Integer id) {
                  slVolumeProductionRkglService.rk(id);
        return R.ok();
    }
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/ManagementGoodsMaterials.java
@@ -28,11 +28,11 @@
    @ApiModelProperty("库存总数")
    @TableField("repertory_sum")
    private Integer repertorySum;
    private Long repertorySum;
    @ApiModelProperty("在库存的")
    @TableField("repertory_zhai")
    private Integer repertoryZhai;
    private Long repertoryZhai;
    @ApiModelProperty("出库存的")
    @TableField("repertory_chu")
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/SlVolumeProductionRk.java
@@ -90,6 +90,10 @@
    @TableField("erwm_num")
    private Integer erwmNum;
    @ApiModelProperty("扫描二维码数量")
    @TableField("smerwm_num")
    private Integer smerwmNum;
    @ApiModelProperty("仓库ID")
    @TableField("management_id")
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/VolumeProductionRkgCodeQuery.java
New file
@@ -0,0 +1,13 @@
package com.ruoyi.management.domain.dto;
import com.ruoyi.common.core.web.page.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("二维码生成查询传输对象")
public class VolumeProductionRkgCodeQuery extends BasePage {
    @ApiModelProperty("入管理主表id")
    private Long VolumeProductionRkglId;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/ManagementimgSlVolumeProductionCkVO.java
@@ -12,7 +12,6 @@
@Data
@ApiModel(value = "通过物资拿出库物资的数据对象", description = "通过物资拿出库物资的数据对象")
public class ManagementimgSlVolumeProductionCkVO {
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;
    @ApiModelProperty("物资id")
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/ManagementimgVolumeProductionRkVO.java
@@ -27,7 +27,7 @@
    private Integer storeManagementNumber;
    @ApiModelProperty("入库数量")
    private Integer rkNum;
    private Long rkNum;
    @ApiModelProperty("入库型号")
    private String rkModel;
@@ -47,4 +47,10 @@
    @ApiModelProperty("货架id")
    private Long shelfId;
    @ApiModelProperty("入库编号")
    private String rkNumber;
    @ApiModelProperty("仓库名称")
    private String storeManagementName;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/VolumeProductionRkgInventoryVO.java
New file
@@ -0,0 +1,43 @@
package com.ruoyi.management.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
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 VolumeProductionRkgInventoryVO {
    private Long id;
    @ApiModelProperty("发起人名称")
    private String sysName;
    @ApiModelProperty("仓库名称")
    private String storeManagementName;
    @ApiModelProperty("仓库ID")
    private Long managementId;
    @ApiModelProperty("发起时间")
    private Date startiTime;
    @ApiModelProperty("发起人电话")
    private String sysPhone;
    @ApiModelProperty("主任id-仓库管理员选择的多个逗号隔各开")
    private String directorName;
    @ApiModelProperty("主管id-仓库管理员选择的多个逗号隔各开")
    private String competentName;
    @ApiModelProperty("管理员id多个逗号隔各开")
    private String administratorName;
    @ApiModelProperty("供应商名称")
    private String supplierName;
    @ApiModelProperty("入库数据")
    List<ManagementimgVolumeProductionRkVO> managementimgVolumeProductionRkVOList;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/getVolumeProductionRkgCodeVO.java
New file
@@ -0,0 +1,29 @@
package com.ruoyi.management.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "二维码生成数量", description = "二维码生成数量")
public class getVolumeProductionRkgCodeVO {
    private Long id;
    @ApiModelProperty("物资名称")
    private String goodsMaterialsName;
    @ApiModelProperty("1 是非消耗,2是消耗 ")
    private Integer isConsume;
    @ApiModelProperty("入库数量")
    private Long rkNum;
    @ApiModelProperty("二维码数量")
    @TableField("erwm_num")
    private Integer erwmNum;
    @ApiModelProperty("物资id")
    private Long materialsId;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionRkService.java
@@ -3,11 +3,11 @@
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.management.domain.SlVolumeProductionRk;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.management.domain.dto.ManagementimgVolumeProductionRkQuery;
import com.ruoyi.management.domain.dto.SlGoodsMaterialsSlVolumeProductionRkQuery;
import com.ruoyi.management.domain.dto.SlVolumeProductionRkDTO;
import com.ruoyi.management.domain.dto.SlVolumeProductionRkListDTO;
import com.ruoyi.management.domain.dto.*;
import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionRkVO;
import com.ruoyi.management.domain.vo.getVolumeProductionRkgCodeVO;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
/**
@@ -27,4 +27,8 @@
    void addVolumeProductionRkgl(@RequestBody SlVolumeProductionRkListDTO slVolumeProductionRkListDTO);
    void uplSlVolumeProductionRk(@RequestBody SlVolumeProductionRkDTO SlVolumeProductionRkDTO);
    PageDTO<getVolumeProductionRkgCodeVO> getVolumeProductionRkgCode(VolumeProductionRkgCodeQuery volumeProductionRkgCodeQuery);
    ManagementimgVolumeProductionRkVO codeInfo(Integer id);
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/SlVolumeProductionRkglService.java
@@ -1,5 +1,6 @@
package com.ruoyi.management.service;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.management.domain.SlVolumeProductionRkgl;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -7,7 +8,10 @@
import com.ruoyi.management.domain.dto.VolumeProductionRkglDTO;
import com.ruoyi.management.domain.vo.SupplierVolumeProductionRkglVO;
import com.ruoyi.management.domain.vo.VolumeProductionRkgInfoVO;
import com.ruoyi.management.domain.vo.VolumeProductionRkgInventoryVO;
import com.ruoyi.system.api.domain.getVolumeProductionRkQuery;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
/**
@@ -25,4 +29,9 @@
    PageDTO<SupplierVolumeProductionRkglVO> getslVolumeProductionRkglList( getVolumeProductionRkQuery getVolumeProductionRkQuery) ;
    void addVolumeProductionRkgl(@RequestBody VolumeProductionRkglDTO volumeProductionRkglDTO);
    VolumeProductionRkgInventoryVO getVolumeProductionRkgInventory(Integer id);
    void rk (Integer id) ;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesServiceImpl.java
@@ -29,6 +29,7 @@
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.domain.WebsocketMessageDTO;
import com.ruoyi.system.api.feignClient.SysUserClient;
import io.swagger.models.auth.In;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -124,6 +125,11 @@
        wrapper1.eq( SlVolumeProductionRk::getDelFlag,0);
        wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
        SlVolumeProductionRk page2 = slVolumeProductionRkMapper.selectOne(wrapper1);
        if (page2.getSmerwmNum()>0){
            Integer i=page2.getSmerwmNum()-1;
            page2.setSmerwmNum(i);
            slVolumeProductionRkMapper.updateById(page2);
        }
        Map<String, Object> map = new ConcurrentHashMap<>();
        map.put("notification_type", NotificationTypeConstant.SCANCODES);
        map.put("SlVolumeProductionRk",page2);
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java
@@ -5,12 +5,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.utils.page.PageDTO;
import com.ruoyi.management.domain.*;
import com.ruoyi.management.domain.dto.ManagementimgVolumeProductionRkQuery;
import com.ruoyi.management.domain.dto.SlGoodsMaterialsSlVolumeProductionRkQuery;
import com.ruoyi.management.domain.dto.SlVolumeProductionRkDTO;
import com.ruoyi.management.domain.dto.SlVolumeProductionRkListDTO;
import com.ruoyi.management.domain.dto.*;
import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionRkVO;
import com.ruoyi.management.domain.vo.SlGoodsShelfVO;
import com.ruoyi.management.domain.vo.getVolumeProductionRkgCodeVO;
import com.ruoyi.management.mapper.*;
import com.ruoyi.management.service.SlStoreManagementService;
import com.ruoyi.management.service.SlVolumeProductionRkService;
@@ -21,6 +19,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
@@ -42,6 +41,9 @@
    @Resource
    private SlGoodsShelfMapper slGoodsShelfMapper;
    @Resource
    private SlStoreManagementMapper slStoreManagementMapper;
    @Resource
    private SysUserClient sysUserClient;
@@ -75,7 +77,7 @@
    public PageDTO<ManagementimgVolumeProductionRkVO> getSlGoodsMaterialsSlVolumeProductionRkList(SlGoodsMaterialsSlVolumeProductionRkQuery SlGoodsMaterialsSlVolumeProductionRkDTO) {
        Page<SlVolumeProductionRk> page = new Page<>(SlGoodsMaterialsSlVolumeProductionRkDTO.getPageCurr(), SlGoodsMaterialsSlVolumeProductionRkDTO.getPageSize());
        LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery();
        wrapper1.like(SlVolumeProductionRk::getMaterialsId,SlGoodsMaterialsSlVolumeProductionRkDTO.getSlGoodsMaterialsid());
        wrapper1.eq(SlVolumeProductionRk::getMaterialsId,SlGoodsMaterialsSlVolumeProductionRkDTO.getSlGoodsMaterialsid());
        wrapper1.eq( SlVolumeProductionRk::getDelFlag,0);
        wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
        Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1);
@@ -105,6 +107,7 @@
            slVolumeProductionRk.setVolumeProductionRkglId(slVolumeProductionRkListDTO.getVolumeProductionRkglId());
            slVolumeProductionRk.setMaterialsId(m);
            slVolumeProductionRk.setManagementId(slVolumeProductionRkListDTO.getManagementId());
            slVolumeProductionRk.setRkNumber("CD-"+new Date().getTime());
            this.save(slVolumeProductionRk);
        }
@@ -130,4 +133,40 @@
        }
        this.updateById(byId);
    }
    @Override
    public PageDTO<getVolumeProductionRkgCodeVO> getVolumeProductionRkgCode(VolumeProductionRkgCodeQuery volumeProductionRkgCodeQuery) {
        Page<SlVolumeProductionRk> page = new Page<>(volumeProductionRkgCodeQuery.getPageCurr(), volumeProductionRkgCodeQuery.getPageSize());
        LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery();
        wrapper1.like(SlVolumeProductionRk::getVolumeProductionRkglId,volumeProductionRkgCodeQuery.getVolumeProductionRkglId());
        wrapper1.eq( SlVolumeProductionRk::getDelFlag,0);
        wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
        Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1);
        PageDTO<getVolumeProductionRkgCodeVO> SlGoodsShelfDTO = PageDTO.of(page2, getVolumeProductionRkgCodeVO.class);
        List<getVolumeProductionRkgCodeVO> list2 = SlGoodsShelfDTO.getList();
        for(getVolumeProductionRkgCodeVO list:list2) {{
            SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId());
            list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
            list.setIsConsume(slGoodsMaterials.getIsConsume());
        }
        }
        return SlGoodsShelfDTO;
    }
    @Override
    public ManagementimgVolumeProductionRkVO codeInfo(Integer id) {
        SlVolumeProductionRk byId = this.getById(id);
        ManagementimgVolumeProductionRkVO vo=new ManagementimgVolumeProductionRkVO();
        SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(byId.getMaterialsId());
        vo.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
        vo.setIsConsume(slGoodsMaterials.getIsConsume());
        SlVolumeProductionRkgl byId1 = slVolumeProductionRkglMapper.selectById(byId.getVolumeProductionRkglId());
        SysUser data = sysUserClient.getSysUser(byId1.getSupplierId()).getData();
        vo.setSupplierName(data.getNickName());
        SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
        vo.setStoreManagementName(slStoreManagement.getStoreManagementName());
        vo.setRkNum(byId.getRkNum());
        vo.setRkNumber(byId.getRkNumber());
        return vo;
    }
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java
@@ -5,14 +5,14 @@
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.management.domain.SlStoreManagement;
import com.ruoyi.management.domain.SlVolumeProductionRkgl;
import com.ruoyi.management.domain.*;
import com.ruoyi.management.domain.dto.SupplierVolumeProductionRkglQuery;
import com.ruoyi.management.domain.dto.VolumeProductionRkglDTO;
import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionRkVO;
import com.ruoyi.management.domain.vo.SupplierVolumeProductionRkglVO;
import com.ruoyi.management.domain.vo.VolumeProductionRkgInfoVO;
import com.ruoyi.management.mapper.SlStoreManagementMapper;
import com.ruoyi.management.mapper.SlVolumeProductionRkglMapper;
import com.ruoyi.management.domain.vo.VolumeProductionRkgInventoryVO;
import com.ruoyi.management.mapper.*;
import com.ruoyi.management.service.SlVolumeProductionRkglService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.api.domain.SysUser;
@@ -23,9 +23,7 @@
import javax.annotation.Resource;
import javax.xml.crypto.Data;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -45,6 +43,18 @@
    @Resource
    private SlStoreManagementMapper slStoreManagementMapper;
    @Resource
    private SlVolumeProductionRkMapper slVolumeProductionRkMapper;
    @Resource
    private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
    @Resource
    private SlGoodsShelfMapper slGoodsShelfMapper;
    @Resource
    private  ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper;
    @Override
    public PageDTO<SupplierVolumeProductionRkglVO> getSupplierVolumeProductionRkglList(SupplierVolumeProductionRkglQuery supplierVolumeProductionRkglQuery) {
@@ -147,5 +157,102 @@
        }
    }
    @Override
    public VolumeProductionRkgInventoryVO getVolumeProductionRkgInventory(Integer id) {
        SlVolumeProductionRkgl byId = this.getById(id);
        VolumeProductionRkgInventoryVO vo = new VolumeProductionRkgInventoryVO();
        SysUser data = sysUserClient.getSysUser(byId.getId()).getData();
        vo.setSysPhone(data.getPhonenumber());
        vo.setSysName(data.getNickName());
        vo.setStartiTime(byId.getStartiTime());
        SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
        vo.setStoreManagementName(slStoreManagement.getStoreManagementName());
        String directorId = slStoreManagement.getDirectorId();
        List<String> stri = Arrays.asList(directorId.split(","));
        String str1 = null;
        if (stri.size() > 0) {
            for (String str : stri) {
                SysUser data1 = sysUserClient.getSysUser(Long.valueOf(str)).getData();
                str1 += data1.getNickName() + ",";
            }
        }
        vo.setDirectorName(str1.substring(0, str1.length() - 1));
        String competentId = slStoreManagement.getCompetentId();
        List<String> stri1 = Arrays.asList(competentId.split(","));
        String str11 = null;
        if (stri1.size() > 0) {
            for (String str : stri1) {
                SysUser data1 = sysUserClient.getSysUser(Long.valueOf(str)).getData();
                str11 += data1.getNickName() + ",";
            }
        }
        vo.setCompetentName(str11.substring(0, str11.length() - 1));
        String administratorId = slStoreManagement.getAdministratorId();
        List<String> stri11 = Arrays.asList(administratorId.split(","));
        String str111 = null;
        if (stri11.size() > 0) {
            for (String str : stri11) {
                SysUser data1 = sysUserClient.getSysUser(Long.valueOf(str)).getData();
                str111 += data1.getNickName() + ",";
            }
        }
        vo.setAdministratorName(str111.substring(0, str111.length() - 1));
        List<ManagementimgVolumeProductionRkVO> managementList = new ArrayList<>();
        LambdaQueryWrapper<SlVolumeProductionRk> wrapper1 = Wrappers.lambdaQuery();
        wrapper1.eq(SlVolumeProductionRk::getVolumeProductionRkglId, byId.getId());
        wrapper1.eq(SlVolumeProductionRk::getDelFlag, 0);
        wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
        List<SlVolumeProductionRk> page2 = slVolumeProductionRkMapper.selectList(wrapper1);
        for (SlVolumeProductionRk list : page2) {
                ManagementimgVolumeProductionRkVO rkVO = new ManagementimgVolumeProductionRkVO();
                SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId());
                rkVO.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
                rkVO.setIsConsume(slGoodsMaterials.getIsConsume());
                rkVO.setRkModel(list.getRkModel());
                rkVO.setRkNum(list.getRkNum());
                rkVO.setRkPice(list.getRkPice());
                rkVO.setStoreManagementNumber(rkVO.getStoreManagementNumber());
                SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId());
                rkVO.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
        }
        return vo;
    }
    @Override
    public void rk(Integer id) {
        LambdaQueryWrapper<SlVolumeProductionRk> wrapper1 = Wrappers.lambdaQuery();
        wrapper1.eq(SlVolumeProductionRk::getVolumeProductionRkglId, id);
        wrapper1.eq(SlVolumeProductionRk::getDelFlag, 0);
        wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
        List<SlVolumeProductionRk> page2 = slVolumeProductionRkMapper.selectList(wrapper1);
        for (SlVolumeProductionRk list : page2) {
            LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
            wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId());
            wrapper2.eq(ManagementGoodsMaterials::getManagementId,list.getManagementId());
            wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0);
            ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2);
            if (managementGoodsMaterials!=null){
                Long repertorySum = managementGoodsMaterials.getRepertorySum();
                Long repertoryZhai = managementGoodsMaterials.getRepertoryZhai();
                Long re=repertorySum+list.getRkNum();
                Long re1=repertoryZhai+list.getRkNum();
                managementGoodsMaterials.setRepertoryZhai(re);
                managementGoodsMaterials.setRepertorySum(re1);
                managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
            }else{
                ManagementGoodsMaterials managementGoodsMaterials1=new ManagementGoodsMaterials();
                managementGoodsMaterials1.setManagementId(list.getManagementId());
                managementGoodsMaterials1.setGoodsMaterialsId(list.getMaterialsId());
                managementGoodsMaterials1.setRepertoryZhai(list.getRkNum());
                managementGoodsMaterials1.setRepertorySum(list.getRkNum());
                managementGoodsMaterialsMapper.insert(managementGoodsMaterials1);
            }
        }
    }
}