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.PageDTO;
|
import com.ruoyi.common.security.utils.SecurityUtils;
|
import com.ruoyi.management.domain.*;
|
import com.ruoyi.management.domain.dto.AuditRecordListQuery;
|
import com.ruoyi.management.domain.dto.SlAuditDTO;
|
import com.ruoyi.management.domain.vo.SlAuditVO;
|
import com.ruoyi.management.domain.vo.SlEquipmentVO;
|
import com.ruoyi.management.mapper.*;
|
import com.ruoyi.management.service.SlAuditService;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.ruoyi.management.service.SlStoreManagementService;
|
import com.ruoyi.system.api.domain.SysUser;
|
import com.ruoyi.system.api.domain.getVolumeProductionRkQuery;
|
import com.ruoyi.system.api.feignClient.SysUserClient;
|
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 SlAuditServiceImpl extends ServiceImpl<SlAuditMapper, SlAudit> implements SlAuditService {
|
@Resource
|
private SysUserClient sysUserClient;
|
|
@Resource
|
private SlStoreManagementService slStoreManagementService;
|
|
@Resource
|
private SlVolumeProductionRkglMapper slVolumeProductionRkglMapper;
|
|
@Resource
|
private SlVolumeProductionCkglMapper slVolumeProductionCKglMapper;
|
|
@Resource
|
private SlVolumeProductionZyglMapper slVolumeProductionZyglMapper;
|
|
@Resource
|
private SlAuditRecordMapper slAuditRecordMapper;
|
|
|
@Override
|
public PageDTO<SlAuditVO> getslAuditList(AuditRecordListQuery auditRecordListQuery) {
|
Long userid = SecurityUtils.getUserId();
|
SysUser data = sysUserClient.getSysUser(userid).getData();
|
getVolumeProductionRkQuery getVolumeProductionRkQuer=new getVolumeProductionRkQuery();
|
getVolumeProductionRkQuer.setSupplierName(auditRecordListQuery.getSysName());
|
getVolumeProductionRkQuer.setSupplierPhone(auditRecordListQuery.getSysPhone());
|
List<SysUser> data1 = sysUserClient.getUserSupplierList(getVolumeProductionRkQuer).getData();
|
Set<Long> goodsSkuIdList = null;
|
goodsSkuIdList = data1.stream().map(SysUser::getUserId)
|
.collect(Collectors.toSet());
|
|
Page<SlAudit> page = new Page<>(auditRecordListQuery.getPageCurr(), auditRecordListQuery.getPageSize());
|
LambdaQueryWrapper< SlAudit> wrapper= Wrappers.lambdaQuery();
|
if (goodsSkuIdList.size()>0){
|
wrapper.in(SlAudit::getSysId,goodsSkuIdList);
|
}else{
|
Set<Long> goodsSkuIdList1 =new HashSet<>();
|
goodsSkuIdList1.add(0L);
|
wrapper.in(SlAudit::getSysId,goodsSkuIdList1);
|
}
|
if (!data.getUserType().equals("00")){
|
wrapper.in(SlAudit::getShenhId,userid);
|
}
|
wrapper.eq(SlAudit::getType,auditRecordListQuery.getType());
|
wrapper.eq(SlAudit::getDelFlag,0);
|
wrapper.orderByDesc(SlAudit::getCreateTime);
|
Page<SlAudit> page1 = this.page(page, wrapper);
|
PageDTO<SlAuditVO> slEquipmentVOPageDTO = PageDTO.of(page1, SlAuditVO.class);
|
List<SlAuditVO> list = slEquipmentVOPageDTO.getList();
|
for (SlAuditVO sl:list){
|
SysUser data2 = sysUserClient.getSysUser(sl.getSysId()).getData();
|
sl.setSysPhone(data2.getPhonenumber());
|
sl.setSysName(data2.getNickName());
|
SlStoreManagement byId = slStoreManagementService.getById(sl.getManagementId());
|
sl.setStoreManagementName(byId.getStoreManagementName());
|
sl.setStoreManagementNo(byId.getStoreManagementNo());
|
if (sl.getZymanagementId()!=null){
|
SlStoreManagement byId1 = slStoreManagementService.getById(sl.getZymanagementId());
|
sl.setBstoreManagementName(byId1.getStoreManagementName());
|
sl.setBstoreManagementNo(byId1.getStoreManagementNo());
|
}
|
}
|
return slEquipmentVOPageDTO;
|
}
|
|
@Override
|
public void addslAudit(SlAuditDTO slAuditDTO) {
|
|
LambdaQueryWrapper< SlAudit> wrapper= Wrappers.lambdaQuery();
|
wrapper.eq(SlAudit::getRkId,slAuditDTO.getRkId());
|
wrapper.eq(SlAudit::getType,slAuditDTO.getType());
|
wrapper.eq( SlAudit::getDelFlag,0);
|
wrapper.orderByDesc(SlAudit::getCreateTime);
|
SlAudit page1 = this.getOne(wrapper);
|
if (page1!=null){
|
LambdaQueryWrapper<SlAuditRecord> wrapper1= Wrappers.lambdaQuery();
|
wrapper1.eq(SlAuditRecord::getAuditId,page1.getId());
|
List<SlAuditRecord> slAuditRecords = slAuditRecordMapper.selectList(wrapper1);
|
for (SlAuditRecord lAuditRecord:slAuditRecords){
|
slAuditRecordMapper.deleteById(lAuditRecord);
|
}
|
this.removeById(page1);
|
}
|
SlAudit slAudit=new SlAudit();
|
slAudit.setType(slAuditDTO.getType());
|
slAudit.setState(1);
|
slAudit.setCreateTime(new Date());
|
slAudit.setRkId(slAuditDTO.getRkId());
|
if (slAudit.getType()==1){
|
SlVolumeProductionRkgl slVolumeProductionRkgl = slVolumeProductionRkglMapper.selectById(slAuditDTO.getRkId());
|
slAudit.setSysId(slVolumeProductionRkgl.getSysId());
|
slAudit.setManagementId(slVolumeProductionRkgl.getManagementId());
|
SlStoreManagement byId = slStoreManagementService.getById(slVolumeProductionRkgl.getManagementId());
|
slAudit.setShenhId(byId.getAdministratorId());
|
this.save(slAudit);
|
SlAuditRecord slAuditRecord=new SlAuditRecord();
|
slAuditRecord.setAuditId(slAudit.getId());
|
slAuditRecord.setShenhId(byId.getAdministratorId());
|
slAuditRecord.setType(1);
|
slAuditRecord.setState(1);
|
slAuditRecordMapper.insert(slAuditRecord);
|
|
SlAuditRecord slAuditRecord1=new SlAuditRecord();
|
slAuditRecord1.setAuditId(slAudit.getId());
|
slAuditRecord1.setShenhId(byId.getCompetentId());
|
slAuditRecord1.setType(2);
|
slAuditRecord1.setState(1);
|
slAuditRecordMapper.insert(slAuditRecord1);
|
|
SlAuditRecord slAuditRecord2=new SlAuditRecord();
|
slAuditRecord2.setAuditId(slAudit.getId());
|
slAuditRecord2.setShenhId(byId.getDirectorId());
|
slAuditRecord2.setType(3);
|
slAuditRecord2.setState(1);
|
slAuditRecordMapper.insert(slAuditRecord2);
|
}
|
if (slAudit.getType()==2){
|
|
SlVolumeProductionCkgl slVolumeProductionCkgl = slVolumeProductionCKglMapper.selectById(slAuditDTO.getRkId());
|
slAudit.setSysId(slVolumeProductionCkgl.getSysId());
|
slAudit.setManagementId(slVolumeProductionCkgl.getManagementId());
|
SlStoreManagement byId = slStoreManagementService.getById(slVolumeProductionCkgl.getManagementId());
|
slAudit.setShenhId(byId.getAdministratorId());
|
this.save(slAudit);
|
SlAuditRecord slAuditRecord=new SlAuditRecord();
|
slAuditRecord.setAuditId(slAudit.getId());
|
slAuditRecord.setShenhId(byId.getAdministratorId());
|
slAuditRecord.setType(1);
|
slAuditRecord.setState(1);
|
slAuditRecordMapper.insert(slAuditRecord);
|
|
SlAuditRecord slAuditRecord1=new SlAuditRecord();
|
slAuditRecord1.setAuditId(slAudit.getId());
|
slAuditRecord1.setShenhId(byId.getCompetentId());
|
slAuditRecord1.setType(2);
|
slAuditRecord1.setState(1);
|
slAuditRecordMapper.insert(slAuditRecord1);
|
|
SlAuditRecord slAuditRecord2=new SlAuditRecord();
|
slAuditRecord2.setAuditId(slAudit.getId());
|
slAuditRecord2.setShenhId(byId.getDirectorId());
|
slAuditRecord2.setType(3);
|
slAuditRecord2.setState(1);
|
slAuditRecordMapper.insert(slAuditRecord2);
|
}
|
if (slAudit.getType()==3){
|
SlVolumeProductionZygl slVolumeProductionZygl = slVolumeProductionZyglMapper.selectById(slAuditDTO.getRkId());
|
slAudit.setSysId(slVolumeProductionZygl.getSysId());
|
slAudit.setManagementId(slVolumeProductionZygl.getManagementId());
|
slAudit.setZymanagementId(slVolumeProductionZygl.getBmanagementId());
|
SlStoreManagement byId = slStoreManagementService.getById(slVolumeProductionZygl.getManagementId());
|
slAudit.setShenhId(byId.getAdministratorId());
|
this.save(slAudit);
|
SlAuditRecord slAuditRecord=new SlAuditRecord();
|
slAuditRecord.setAuditId(slAudit.getId());
|
slAuditRecord.setShenhId(byId.getAdministratorId());
|
slAuditRecord.setType(1);
|
slAuditRecord.setState(1);
|
slAuditRecordMapper.insert(slAuditRecord);
|
|
SlAuditRecord slAuditRecord1=new SlAuditRecord();
|
slAuditRecord1.setAuditId(slAudit.getId());
|
slAuditRecord1.setShenhId(byId.getCompetentId());
|
slAuditRecord1.setType(2);
|
slAuditRecord1.setState(1);
|
slAuditRecordMapper.insert(slAuditRecord1);
|
|
SlAuditRecord slAuditRecord2=new SlAuditRecord();
|
slAuditRecord2.setAuditId(slAudit.getId());
|
slAuditRecord2.setShenhId(byId.getDirectorId());
|
slAuditRecord2.setType(3);
|
slAuditRecord2.setState(1);
|
slAuditRecordMapper.insert(slAuditRecord2);
|
}
|
|
}
|
}
|