From ad663df3b38b873d79fff48570dfb56b69697ac6 Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期二, 30 七月 2024 16:06:56 +0800 Subject: [PATCH] 森林防火 供应商管理 --- ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 151 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java index 0b69191..dd657cc 100644 --- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java +++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java @@ -1,10 +1,34 @@ 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.management.domain.ManagementGoodsMaterials; import com.ruoyi.management.domain.SlGoodsMaterials; +import com.ruoyi.management.domain.SlStoreManagement; +import com.ruoyi.management.domain.SlVolumeProductionRk; +import com.ruoyi.management.domain.dto.SlGoodsMaterialsDTO; +import com.ruoyi.management.domain.dto.SlGoodsMaterialsQuery; +import com.ruoyi.management.domain.dto.StoreManagementGoodSmaterialsQuery; +import com.ruoyi.management.domain.vo.SlGoodsMaterialsVO; +import com.ruoyi.management.domain.vo.SlGoodsShelfVO; +import com.ruoyi.management.domain.vo.StoreManagementGoodSmaterialsVO; +import com.ruoyi.management.mapper.ManagementGoodsMaterialsMapper; import com.ruoyi.management.mapper.SlGoodsMaterialsMapper; +import com.ruoyi.management.mapper.SlVolumeProductionRkMapper; +import com.ruoyi.management.service.ManagementGoodsMaterialsService; import com.ruoyi.management.service.SlGoodsMaterialsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.management.service.SlVolumeProductionRkService; +import io.micrometer.core.instrument.binder.BaseUnits; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * <p> @@ -17,4 +41,131 @@ @Service public class SlGoodsMaterialsServiceImpl extends ServiceImpl<SlGoodsMaterialsMapper, SlGoodsMaterials> implements SlGoodsMaterialsService { + @Resource + private SlVolumeProductionRkMapper slVolumeProductionRkMapper; + + @Resource + private ManagementGoodsMaterialsService managementGoodsMaterialsService; + + + @Override + public void addSlGoodsShelf(SlGoodsMaterialsDTO slGoodsMaterialsDTO) { + if(slGoodsMaterialsDTO.getId()==null){ + SlGoodsMaterials slGoodsMaterials=new SlGoodsMaterials(); + slGoodsMaterials.setGoodsMaterialsName(slGoodsMaterialsDTO.getGoodsMaterialsName()); + slGoodsMaterials.setIsConsume(slGoodsMaterialsDTO.getIsConsume()); + slGoodsMaterials.setGoodsMaterialsNo(slGoodsMaterialsDTO.getGoodsMaterialsNo()); + slGoodsMaterials.setRepertory(slGoodsMaterialsDTO.getRepertory()); + this.save(slGoodsMaterials); + }else{ + SlGoodsMaterials byId = this.getById(slGoodsMaterialsDTO.getId()); + if (slGoodsMaterialsDTO.getGoodsMaterialsName()!=null){ + byId.setGoodsMaterialsName(slGoodsMaterialsDTO.getGoodsMaterialsName()); + } + if (slGoodsMaterialsDTO.getRepertory()!=null){ + byId.setRepertory(slGoodsMaterialsDTO.getRepertory()); + LambdaQueryWrapper<ManagementGoodsMaterials> wrapper3= Wrappers.lambdaQuery(); + wrapper3.eq(ManagementGoodsMaterials::getGoodsMaterialsId,byId.getId()); + wrapper3.eq( ManagementGoodsMaterials::getDelFlag,0); + wrapper3.orderByDesc(ManagementGoodsMaterials::getCreateTime); + List<ManagementGoodsMaterials> page1 = managementGoodsMaterialsService.list(wrapper3); + for (ManagementGoodsMaterials pg:page1){ + pg.setRepertory(slGoodsMaterialsDTO.getRepertory()); + managementGoodsMaterialsService.updateById(pg); + } + + } + byId.setGoodsMaterialsNo(slGoodsMaterialsDTO.getGoodsMaterialsNo()); + if (slGoodsMaterialsDTO.getIsConsume()!=null){ + byId.setIsConsume(slGoodsMaterialsDTO.getIsConsume()); + } + this.updateById(byId); + } + } + + @Override + public PageDTO<SlGoodsMaterialsVO> getGoodSmaterialsList(SlGoodsMaterialsQuery slGoodsMaterialsQuery) { + Page<SlGoodsMaterials> page = new Page<>(slGoodsMaterialsQuery.getPageCurr(), slGoodsMaterialsQuery.getPageSize()); + LambdaQueryWrapper< SlGoodsMaterials> wrapper= Wrappers.lambdaQuery(); + if (slGoodsMaterialsQuery.getGoodsMaterialsName()!=null&&slGoodsMaterialsQuery.getGoodsMaterialsName()!=""){ + wrapper.eq(SlGoodsMaterials::getGoodsMaterialsName,slGoodsMaterialsQuery.getGoodsMaterialsName()); + } + if (slGoodsMaterialsQuery.getIsConsume()!=0){ + wrapper.eq(SlGoodsMaterials::getIsConsume,slGoodsMaterialsQuery.getIsConsume()); + } + wrapper.eq( SlGoodsMaterials::getDelFlag,0); + wrapper.orderByDesc(SlGoodsMaterials::getCreateTime); + Page<SlGoodsMaterials> page1 = this.page(page, wrapper); + return PageDTO.of(page1,SlGoodsMaterialsVO.class); + } + + @Override + public PageDTO<StoreManagementGoodSmaterialsVO> getStoreManagementGoodSmaterialsOne(StoreManagementGoodSmaterialsQuery storeManagementGoodSmaterialsQuery) { + LambdaQueryWrapper<SlVolumeProductionRk> wrappers= Wrappers.lambdaQuery(); + wrappers.eq(SlVolumeProductionRk::getManagementId,storeManagementGoodSmaterialsQuery.getStoreManagementId()); + List<SlVolumeProductionRk> slVolumeProductionRks = slVolumeProductionRkMapper.selectList(wrappers); + Set<Long> slVolumeProductionIdList = null; + slVolumeProductionIdList = slVolumeProductionRks.stream().map(SlVolumeProductionRk::getMaterialsId) + .collect(Collectors.toSet()); + + LambdaQueryWrapper< SlGoodsMaterials> wrapper1 =Wrappers.lambdaQuery(); + if (storeManagementGoodSmaterialsQuery.getIsConsume()!=null&&storeManagementGoodSmaterialsQuery.getIsConsume()!=0){ + wrapper1.eq(SlGoodsMaterials::getIsConsume,storeManagementGoodSmaterialsQuery.getIsConsume()); + } + if (storeManagementGoodSmaterialsQuery.getGoodsMaterialsName()!=null){ + wrapper1.like(SlGoodsMaterials::getGoodsMaterialsName,storeManagementGoodSmaterialsQuery.getGoodsMaterialsName()); + } + List<SlGoodsMaterials> list1 = this.list(wrapper1); + + Set<Long> SlGoodsMaterialsList = null; + SlGoodsMaterialsList = list1.stream().map(SlGoodsMaterials::getId) + .collect(Collectors.toSet()); + + + Page<ManagementGoodsMaterials> page = new Page<>(storeManagementGoodSmaterialsQuery.getPageCurr(), storeManagementGoodSmaterialsQuery.getPageSize()); + LambdaQueryWrapper< ManagementGoodsMaterials> wrapper= Wrappers.lambdaQuery(); + + if (slVolumeProductionIdList.size()>0){ + wrapper.in(ManagementGoodsMaterials::getManagementId,slVolumeProductionIdList); + } + if (SlGoodsMaterialsList.size()>0){ + wrapper.in(ManagementGoodsMaterials::getGoodsMaterialsId,SlGoodsMaterialsList); + } + wrapper.eq( ManagementGoodsMaterials::getDelFlag,0); + wrapper.orderByDesc(ManagementGoodsMaterials::getCreateTime); + Page<ManagementGoodsMaterials> page1 = managementGoodsMaterialsService.page(page, wrapper); + PageDTO<StoreManagementGoodSmaterialsVO> storeManagementGoodSmaterialsVOPageDTO = PageDTO.of(page1, StoreManagementGoodSmaterialsVO.class); + List<StoreManagementGoodSmaterialsVO> list = storeManagementGoodSmaterialsVOPageDTO.getList(); + for (StoreManagementGoodSmaterialsVO li:list){ + Double storeManagementGoodSmaterialsOne = slVolumeProductionRkMapper.getStoreManagementGoodSmaterialsOne(li.getGoodsMaterialsId()); + SlGoodsMaterials byId = this.getById(li.getGoodsMaterialsId()); + li.setGoodsMaterialsName(byId.getGoodsMaterialsName()); + li.setIsConsume(byId.getIsConsume()); + li.setAveragePrice(storeManagementGoodSmaterialsOne); + } + + + return storeManagementGoodSmaterialsVOPageDTO; + } + + @Override + public StoreManagementGoodSmaterialsVO getSmaterialsOne(StoreManagementGoodSmaterialsQuery storeManagementGoodSmaterialsQuery) { + LambdaQueryWrapper< ManagementGoodsMaterials> wrapper= Wrappers.lambdaQuery(); + + + wrapper.eq(ManagementGoodsMaterials::getGoodsMaterialsId,storeManagementGoodSmaterialsQuery.getGoodsMaterialsId()); + + wrapper.eq( ManagementGoodsMaterials::getDelFlag,0); + wrapper.orderByDesc(ManagementGoodsMaterials::getCreateTime); + ManagementGoodsMaterials page1 = managementGoodsMaterialsService.getOne(wrapper); + StoreManagementGoodSmaterialsVO storeManagementGoodSmaterialsVO = BeanUtils.copyBean(page1, StoreManagementGoodSmaterialsVO.class); + Double storeManagementGoodSmaterialsOne = slVolumeProductionRkMapper.getStoreManagementGoodSmaterialsOne(storeManagementGoodSmaterialsVO.getGoodsMaterialsId()); + SlGoodsMaterials byId = this.getById(storeManagementGoodSmaterialsVO.getGoodsMaterialsId()); + storeManagementGoodSmaterialsVO.setGoodsMaterialsName(byId.getGoodsMaterialsName()); + storeManagementGoodSmaterialsVO.setIsConsume(byId.getIsConsume()); + storeManagementGoodSmaterialsVO.setAveragePrice(storeManagementGoodSmaterialsOne); + return storeManagementGoodSmaterialsVO; + } + + } -- Gitblit v1.7.1