From 3fa04e2d1e41455b84b1bba63429a4513f44e74e Mon Sep 17 00:00:00 2001 From: rentaiming <806181062@qq.com> Date: 星期一, 22 七月 2024 19:01:57 +0800 Subject: [PATCH] 森林防火 供应商管理 --- ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java | 84 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 83 insertions(+), 1 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 eaa79d3..9b7cb78 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 @@ -4,16 +4,29 @@ 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.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 org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * <p> @@ -26,6 +39,13 @@ @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){ @@ -33,6 +53,7 @@ slGoodsMaterials.setGoodsMaterialsName(slGoodsMaterialsDTO.getGoodsMaterialsName()); slGoodsMaterials.setIsConsume(slGoodsMaterialsDTO.getIsConsume()); slGoodsMaterials.setRepertory(slGoodsMaterialsDTO.getRepertory()); + this.save(slGoodsMaterials); }else{ SlGoodsMaterials byId = this.getById(slGoodsMaterialsDTO.getId()); if (slGoodsMaterialsDTO.getGoodsMaterialsName()!=null){ @@ -40,6 +61,16 @@ } 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); + } + } if (slGoodsMaterialsDTO.getIsConsume()!=null){ byId.setIsConsume(slGoodsMaterialsDTO.getIsConsume()); @@ -52,7 +83,9 @@ public PageDTO<SlGoodsMaterialsVO> getGoodSmaterialsList(SlGoodsMaterialsQuery slGoodsMaterialsQuery) { Page<SlGoodsMaterials> page = new Page<>(slGoodsMaterialsQuery.getPageCurr(), slGoodsMaterialsQuery.getPageSize()); LambdaQueryWrapper< SlGoodsMaterials> wrapper= Wrappers.lambdaQuery(); - wrapper.eq(SlGoodsMaterials::getGoodsMaterialsName,slGoodsMaterialsQuery.getGoodsMaterialsName()); + if (slGoodsMaterialsQuery.getGoodsMaterialsName()!=null&&slGoodsMaterialsQuery.getGoodsMaterialsName()!=""){ + wrapper.eq(SlGoodsMaterials::getGoodsMaterialsName,slGoodsMaterialsQuery.getGoodsMaterialsName()); + } if (slGoodsMaterialsQuery.getIsConsume()!=0){ wrapper.eq(SlGoodsMaterials::getIsConsume,slGoodsMaterialsQuery.getIsConsume()); } @@ -61,4 +94,53 @@ 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()!=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; + } } -- Gitblit v1.7.1