package com.ruoyi.management.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
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.VolumeProductionCkglDTO;
|
import com.ruoyi.management.domain.dto.getslVolumeProductionCkglQuery;
|
import com.ruoyi.management.domain.vo.*;
|
import com.ruoyi.management.mapper.*;
|
import com.ruoyi.management.service.SlVolumeProductionCkglService;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.system.api.domain.SysUser;
|
import com.ruoyi.system.api.domain.getVolumeProductionRkQuery;
|
import com.ruoyi.system.api.feignClient.LogClient;
|
import com.ruoyi.system.api.feignClient.SysUserClient;
|
import io.swagger.models.auth.In;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
/**
|
* <p>
|
* 仓库管理 服务实现类
|
* </p>
|
*
|
* @author hjl
|
* @since 2024-06-25
|
*/
|
@Service
|
public class SlVolumeProductionCkglServiceImpl extends ServiceImpl<SlVolumeProductionCkglMapper, SlVolumeProductionCkgl> implements SlVolumeProductionCkglService {
|
@Resource
|
private SysUserClient sysUserClient;
|
|
@Resource
|
private SlStoreManagementMapper slStoreManagementMapper;
|
|
@Resource
|
private SlVolumeProductionCkMapper slVolumeProductionCkMapper;
|
|
@Resource
|
private SlVolumeProductionRkMapper slVolumeProductionRkMapper;
|
|
@Resource
|
private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
|
|
@Resource
|
private SlGoodsShelfMapper slGoodsShelfMapper;
|
|
@Resource
|
private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper;
|
|
@Resource
|
private LogClient logClient;
|
|
@Override
|
public PageDTO<VolumeProductionCkglVO> getslVolumeProductionCkglList(getslVolumeProductionCkglQuery VolumeProductionCkglQuery) {
|
|
Page<SlVolumeProductionCkgl> page = new Page<>(VolumeProductionCkglQuery.getPageCurr(), VolumeProductionCkglQuery.getPageSize());
|
getVolumeProductionRkQuery getVolume=new getVolumeProductionRkQuery();
|
getVolume.setSupplierPhone(VolumeProductionCkglQuery.getSupplierPhone());
|
getVolume.setSupplierName(VolumeProductionCkglQuery.getSupplierName());
|
List<SysUser> data1 = sysUserClient.getUserSupplierList(getVolume).getData();
|
Set<Long> goodsSkuIdList = null;
|
goodsSkuIdList = data1.stream().map(SysUser::getUserId)
|
.collect(Collectors.toSet());
|
|
LambdaQueryWrapper< SlVolumeProductionCkgl> wrapper1= Wrappers.lambdaQuery();
|
if (VolumeProductionCkglQuery.getPresentState()!=null &&VolumeProductionCkglQuery.getPresentState()!=0){
|
wrapper1.eq(SlVolumeProductionCkgl::getPresentState,VolumeProductionCkglQuery.getPresentState());
|
}
|
if (VolumeProductionCkglQuery.getAuditStatus()!=null &&VolumeProductionCkglQuery.getAuditStatus()!=0){
|
wrapper1.eq(SlVolumeProductionCkgl::getAuditStatus,VolumeProductionCkglQuery.getAuditStatus());
|
|
}
|
if (goodsSkuIdList.size()>0){
|
wrapper1.in(SlVolumeProductionCkgl::getSysId,goodsSkuIdList);
|
}
|
wrapper1.eq( SlVolumeProductionCkgl::getDelFlag,0);
|
wrapper1.orderByDesc(SlVolumeProductionCkgl::getCreateTime);
|
Page<SlVolumeProductionCkgl> page2 = this.page(page, wrapper1);
|
|
PageDTO<VolumeProductionCkglVO> SlGoodsShelfDTO = PageDTO.of(page2, VolumeProductionCkglVO .class);
|
List<VolumeProductionCkglVO> list2 = SlGoodsShelfDTO.getList();
|
for(VolumeProductionCkglVO list:list2){
|
SysUser data = sysUserClient.getSysUser(list.getSysId()).getData();
|
list.setNickName(data.getNickName());
|
list.setPhonenumber(data.getPhonenumber());
|
SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(list.getManagementId());
|
list.setStoreManagementName(slStoreManagement.getStoreManagementName());
|
}
|
return SlGoodsShelfDTO;
|
}
|
|
@Override
|
public String addslVolumeProductionCkgl(VolumeProductionCkglDTO volumeProductionCkglDTO) {
|
Long userid = SecurityUtils.getUserId();
|
if (volumeProductionCkglDTO.getId()==null){
|
SlVolumeProductionCkgl slVolumeProductionRkgl=new SlVolumeProductionCkgl();
|
slVolumeProductionRkgl.setAttachmentUrl(volumeProductionCkglDTO.getAttachmentUrl());
|
slVolumeProductionRkgl.setAuthorizationUrl(volumeProductionCkglDTO.getAuthorization());
|
slVolumeProductionRkgl.setSource(volumeProductionCkglDTO.getSource());
|
slVolumeProductionRkgl.setAuditStatus(1);
|
slVolumeProductionRkgl.setManagementId(volumeProductionCkglDTO.getManagementId());
|
slVolumeProductionRkgl.setPresentState(1);
|
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){
|
byId.setSource(volumeProductionCkglDTO.getSource());
|
}
|
if (volumeProductionCkglDTO.getAttachmentUrl()!=null){
|
byId.setAttachmentUrl(volumeProductionCkglDTO.getAttachmentUrl());
|
}
|
if (volumeProductionCkglDTO.getAuthorization()!=null){
|
byId.setAuthorizationUrl(volumeProductionCkglDTO.getAuthorization());
|
}
|
this.updateById(byId);
|
return volumeProductionCkglDTO.getId().toString();
|
}
|
}
|
|
@Override
|
public VolumeProductionCkglInfoVO getVolumeProductionCkglnfo(Long id) {
|
|
SlVolumeProductionCkgl byId = this.getById(id);
|
VolumeProductionCkglInfoVO v= BeanUtils.copyBean(byId, VolumeProductionCkglInfoVO.class);
|
SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
|
v.setStoreManagementName(slStoreManagement.getStoreManagementName());
|
SysUser data1 = sysUserClient.getSysUser(Long.valueOf(byId.getSysId())).getData();
|
v.setSysName(data1.getNickName());
|
v.setSysPhone(data1.getPhonenumber());
|
return v;
|
}
|
|
@Override
|
public VolumeProductionCkglInventoryVO getVolumeProductionCkglInventory(Long id) {
|
SlVolumeProductionCkgl byId = this.getById(id);
|
VolumeProductionCkglInventoryVO vo = new VolumeProductionCkglInventoryVO();
|
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 = "";
|
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 = "";
|
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 = "";
|
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));
|
|
|
LambdaQueryWrapper< SlVolumeProductionCk> wrapper2= Wrappers.lambdaQuery();
|
wrapper2.eq(SlVolumeProductionCk::getCkglId,id);
|
wrapper2.eq( SlVolumeProductionCk::getDelFlag,0);
|
wrapper2.orderByDesc(SlVolumeProductionCk::getCreateTime);
|
List<SlVolumeProductionCk> page2 = slVolumeProductionCkMapper.selectList(wrapper2);
|
List<ManagementimgVolumeProductionCkVO> SlGoodsShelfDTO=new ArrayList<>();
|
for(SlVolumeProductionCk list1:page2) {
|
ManagementimgVolumeProductionCkVO list=new ManagementimgVolumeProductionCkVO();
|
list.setId(list1.getId());
|
list.setCkNum(list1.getCkNum());
|
SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list1.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());
|
|
SlGoodsShelfDTO.add(list);
|
}
|
vo.setManagementimgVolumeProductionCkVOList(SlGoodsShelfDTO);
|
return vo;
|
}
|
|
@Override
|
public void ck(Long id) {
|
LambdaQueryWrapper<SlVolumeProductionCk> wrapper1 = Wrappers.lambdaQuery();
|
wrapper1.eq(SlVolumeProductionCk::getCkglId, id);
|
wrapper1.eq(SlVolumeProductionCk::getDelFlag, 0);
|
wrapper1.orderByDesc(SlVolumeProductionCk::getCreateTime);
|
List<SlVolumeProductionCk> page2 = slVolumeProductionCkMapper.selectList(wrapper1);
|
for (SlVolumeProductionCk list : page2) {
|
SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
|
Long num =slVolumeProductionRk.getRepertoryZhai()-Long.valueOf(list.getCkNum());
|
slVolumeProductionRk.setRepertoryZhai(num);
|
slVolumeProductionRkMapper.updateById(slVolumeProductionRk);
|
|
LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
|
wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId());
|
wrapper2.eq(ManagementGoodsMaterials::getManagementId,slVolumeProductionRk.getManagementId());
|
wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0);
|
ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2);
|
if (managementGoodsMaterials!=null){
|
Long repertoryZhai = managementGoodsMaterials.getRepertoryZhai();
|
Long re1=repertoryZhai-Long.valueOf(list.getCkNum());
|
Integer num1= managementGoodsMaterials.getRepertoryChu()+list.getCkNum();
|
managementGoodsMaterials.setRepertoryZhai(re1);
|
managementGoodsMaterials.setCheckNum(num1);
|
managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
|
}
|
}
|
SlVolumeProductionCkgl byId = this.getById(id);
|
byId.setAuditStatus(6);
|
this.updateById(byId);
|
logClient.savelong1();
|
|
}
|
|
@Override
|
public void gh(Long id) {
|
LambdaQueryWrapper<SlVolumeProductionCk> wrapper1 = Wrappers.lambdaQuery();
|
wrapper1.eq(SlVolumeProductionCk::getCkglId, id);
|
wrapper1.eq(SlVolumeProductionCk::getDelFlag, 0);
|
wrapper1.orderByDesc(SlVolumeProductionCk::getCreateTime);
|
List<SlVolumeProductionCk> page2 = slVolumeProductionCkMapper.selectList(wrapper1);
|
for (SlVolumeProductionCk list : page2) {
|
list.setIsGh(2);
|
slVolumeProductionCkMapper.updateById(list);
|
|
SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
|
Long num =slVolumeProductionRk.getRepertoryZhai()+Long.valueOf(list.getGuihNum());
|
slVolumeProductionRk.setRepertoryZhai(num);
|
slVolumeProductionRkMapper.updateById(slVolumeProductionRk);
|
|
LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
|
wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId());
|
wrapper2.eq(ManagementGoodsMaterials::getManagementId,slVolumeProductionRk.getManagementId());
|
wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0);
|
ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2);
|
if (managementGoodsMaterials!=null){
|
Long repertoryZhai = managementGoodsMaterials.getRepertoryZhai();
|
Long re1=repertoryZhai+Long.valueOf(list.getGuihNum());
|
Integer m=managementGoodsMaterials.getCheckNum()-list.getCkNum();
|
Integer m1=list.getCkNum()-list.getGuihNum();
|
Integer m2=managementGoodsMaterials.getRepertoryYishi()+m1;
|
managementGoodsMaterials.setRepertoryChu(m);
|
managementGoodsMaterials.setRepertoryZhai(re1);
|
managementGoodsMaterials.setRepertoryYishi(m2);
|
managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
|
}
|
}
|
SlVolumeProductionCkgl byId = this.getById(id);
|
byId.setAuditStatus(7);
|
byId.setPresentState(4);
|
byId.setEndTime(new Date());
|
this.updateById(byId);
|
}
|
}
|