From b78ae331ff607e80bc43ce686c25ed2aaf586617 Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期四, 18 七月 2024 18:56:11 +0800 Subject: [PATCH] 森林防火 供应商管理 --- ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java | 207 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 199 insertions(+), 8 deletions(-) diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java index d0e4191..a1f01f0 100644 --- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java +++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java @@ -5,23 +5,27 @@ 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.SlGoodsShelf; -import com.ruoyi.management.domain.SlStoreManagement; -import com.ruoyi.management.domain.SlVolumeProductionRkgl; +import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.management.domain.*; import com.ruoyi.management.domain.dto.SupplierVolumeProductionRkglQuery; -import com.ruoyi.management.domain.vo.SlGoodsShelfVO; +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; +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.List; +import javax.xml.crypto.Data; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; /** * <p> @@ -41,11 +45,23 @@ @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) { Page<SlVolumeProductionRkgl> page = new Page<>(supplierVolumeProductionRkglQuery.getPageCurr(), supplierVolumeProductionRkglQuery.getPageSize()); LambdaQueryWrapper< SlVolumeProductionRkgl> wrapper1= Wrappers.lambdaQuery(); - wrapper1.like(SlVolumeProductionRkgl::getSupplierId,supplierVolumeProductionRkglQuery.getSupplierId()); + wrapper1.eq(SlVolumeProductionRkgl::getSupplierId,supplierVolumeProductionRkglQuery.getSupplierId()); wrapper1.eq( SlVolumeProductionRkgl::getDelFlag,0); wrapper1.orderByDesc(SlVolumeProductionRkgl::getCreateTime); Page<SlVolumeProductionRkgl> page2 = this.page(page, wrapper1); @@ -70,8 +86,183 @@ v.setStoreManagementName(slStoreManagement.getStoreManagementName()); SysUser data = sysUserClient.getSysUser(Long.valueOf(byId.getSupplierId())).getData(); v.setSupplierName(data.getNickName()); + v.setSupplierPhone(data.getPhonenumber()); SysUser data1 = sysUserClient.getSysUser(Long.valueOf(byId.getSysId())).getData(); v.setSysName(data1.getNickName()); + v.setSysPhone(data1.getPhonenumber()); return v; } + + @Override + public PageDTO<SupplierVolumeProductionRkglVO> getslVolumeProductionRkglList(getVolumeProductionRkQuery getVolumeProductionRkQuery) { + Page<SlVolumeProductionRkgl> page = new Page<>(getVolumeProductionRkQuery.getPageCurr(), getVolumeProductionRkQuery.getPageSize()); + + List<SysUser> data1 = sysUserClient.getUserSupplierList(getVolumeProductionRkQuery).getData(); + Set<Long> goodsSkuIdList = null; + goodsSkuIdList = data1.stream().map(SysUser::getUserId) + .collect(Collectors.toSet()); + + LambdaQueryWrapper< SlVolumeProductionRkgl> wrapper1= Wrappers.lambdaQuery(); + wrapper1.eq(SlVolumeProductionRkgl::getPresentState,getVolumeProductionRkQuery.getPresentState()); + wrapper1.eq(SlVolumeProductionRkgl::getAuditStatus,getVolumeProductionRkQuery.getAuditStatus()); + if (goodsSkuIdList.size()>0){ + wrapper1.in(SlVolumeProductionRkgl::getSysId,goodsSkuIdList); + } + wrapper1.eq( SlVolumeProductionRkgl::getDelFlag,0); + wrapper1.orderByDesc(SlVolumeProductionRkgl::getCreateTime); + Page<SlVolumeProductionRkgl> page2 = this.page(page, wrapper1); + + PageDTO<SupplierVolumeProductionRkglVO> SlGoodsShelfDTO = PageDTO.of(page2, SupplierVolumeProductionRkglVO.class); + List<SupplierVolumeProductionRkglVO> list2 = SlGoodsShelfDTO.getList(); + for(SupplierVolumeProductionRkglVO list:list2){ + SysUser data = sysUserClient.getSysUser(list.getSupplierId()).getData(); + list.setNickName(data.getNickName()); + list.setPhonenumber(data.getPhonenumber()); + SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(list.getManagementId()); + list.setStoreManagementName(slStoreManagement.getStoreManagementName()); + } + return SlGoodsShelfDTO; + } + + @Override + public void addVolumeProductionRkgl(VolumeProductionRkglDTO volumeProductionRkglDTO) { + Long userid = SecurityUtils.getUserId(); + if (volumeProductionRkglDTO.getId()!=null){ + SlVolumeProductionRkgl slVolumeProductionRkgl=new SlVolumeProductionRkgl(); + slVolumeProductionRkgl.setAttachmentUrl(volumeProductionRkglDTO.getAttachmentUrl()); + slVolumeProductionRkgl.setAuthorization(volumeProductionRkglDTO.getAuthorization()); + slVolumeProductionRkgl.setAuditStatus(1); + slVolumeProductionRkgl.setManagementId(volumeProductionRkglDTO.getManagementId()); + slVolumeProductionRkgl.setPresentState(1); + slVolumeProductionRkgl.setSupplierId(volumeProductionRkglDTO.getSupplierId()); + slVolumeProductionRkgl.setSource(volumeProductionRkglDTO.getSource()); + slVolumeProductionRkgl.setStartiTime(new Date()); + slVolumeProductionRkgl.setSysId(userid); + slVolumeProductionRkgl.setRemark(volumeProductionRkglDTO.getRemark()); + this.save(slVolumeProductionRkgl); + }else{ + SlVolumeProductionRkgl byId = this.getById(volumeProductionRkglDTO.getId()); + if (volumeProductionRkglDTO.getSource()!=null){ + byId.setSource(volumeProductionRkglDTO.getSource()); + } + if (volumeProductionRkglDTO.getRemark()!=null){ + byId.setRemark(volumeProductionRkglDTO.getRemark()); + } + if (volumeProductionRkglDTO.getSupplierId()!=null){ + byId.setSupplierId(volumeProductionRkglDTO.getSupplierId()); + } + if (volumeProductionRkglDTO.getAttachmentUrl()!=null){ + byId.setAttachmentUrl(volumeProductionRkglDTO.getAttachmentUrl()); + } + if (volumeProductionRkglDTO.getAuthorization()!=null){ + byId.setAuthorization(volumeProductionRkglDTO.getAuthorization()); + } + this.updateById(byId); + } + } + + @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()); + managementList.add(rkVO); + } + 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.setRepertorySum(re); + managementGoodsMaterials.setRepertoryZhai(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); + } + } + SlVolumeProductionRkgl byId = this.getById(id); + byId.setPresentState(4); + byId.setAuditStatus(6); + byId.setEndTime(new Date()); + this.updateById(byId); + } + } -- Gitblit v1.7.1