From 56dfe0d4bf81262622a1919cceb2b039fd356209 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 03 九月 2024 16:52:49 +0800 Subject: [PATCH] 代码提交 bug解决 --- ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkServiceImpl.java | 187 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 160 insertions(+), 27 deletions(-) diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkServiceImpl.java index d6cd6ed..51f38d3 100644 --- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkServiceImpl.java +++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkServiceImpl.java @@ -1,13 +1,13 @@ package com.ruoyi.management.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.*; -import com.ruoyi.management.domain.dto.ManagementimgVolumeProductionCkQuery; -import com.ruoyi.management.domain.dto.SlGoodsMaterialsSlVolumeProductionRkQuery; -import com.ruoyi.management.domain.dto.SlVolumeProductionCkDTO; +import com.ruoyi.management.domain.dto.*; +import com.ruoyi.management.domain.vo.InventoriesSuppliesInfoVO; import com.ruoyi.management.domain.vo.ManagementimgSlVolumeProductionCkVO; import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionCkVO; import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionRkVO; @@ -15,14 +15,21 @@ import com.ruoyi.management.mapper.SlGoodsShelfMapper; import com.ruoyi.management.mapper.SlVolumeProductionCkMapper; import com.ruoyi.management.mapper.SlVolumeProductionRkMapper; +import com.ruoyi.management.service.ManagementGoodsMaterialsService; import com.ruoyi.management.service.SlVolumeProductionCkService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.management.service.SlVolumeProductionCkglService; +import com.ruoyi.management.service.SlVolumeProductionRkService; import com.ruoyi.system.api.domain.SysUser; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.util.ArrayList; +import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -37,42 +44,102 @@ @Resource private SlVolumeProductionRkMapper slVolumeProductionRkMapper; + @Autowired + private SlVolumeProductionCkglService ckglService; @Resource private SlGoodsMaterialsMapper slGoodsMaterialsMapper; @Resource private SlGoodsShelfMapper slGoodsShelfMapper; + @Autowired + private ManagementGoodsMaterialsService managementGoodsMaterialsService; @Override public PageDTO<ManagementimgSlVolumeProductionCkVO> getManagementimgSlVolumeProductionCkList(SlGoodsMaterialsSlVolumeProductionRkQuery slGoodsMaterialsSlVolumeProductionRkQuery) { - Page<SlVolumeProductionCk> page = new Page<>(slGoodsMaterialsSlVolumeProductionRkQuery.getPageCurr(), slGoodsMaterialsSlVolumeProductionRkQuery.getPageSize()); - LambdaQueryWrapper< SlVolumeProductionCk> wrapper1= Wrappers.lambdaQuery(); - wrapper1.like(SlVolumeProductionCk::getMaterialsId,slGoodsMaterialsSlVolumeProductionRkQuery.getSlGoodsMaterialsid()); - wrapper1.eq( SlVolumeProductionCk::getDelFlag,0); - wrapper1.orderByDesc(SlVolumeProductionCk::getCreateTime); - Page<SlVolumeProductionCk> page2 = this.page(page, wrapper1); - PageDTO<ManagementimgSlVolumeProductionCkVO> SlGoodsShelfDTO = PageDTO.of(page2, ManagementimgSlVolumeProductionCkVO.class); - List<ManagementimgSlVolumeProductionCkVO> list2 = SlGoodsShelfDTO.getList(); - for(ManagementimgSlVolumeProductionCkVO list:list2) {{ - SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId()); - list.setRkNumber(slVolumeProductionRk.getRkNumber()); + + QueryWrapper<SlVolumeProductionRk> notNull = new QueryWrapper<SlVolumeProductionRk>() + + .eq("del_flag", "0") + .isNotNull("new_add_time"); + if (slGoodsMaterialsSlVolumeProductionRkQuery.getId()!=null){ + notNull.eq("management_id", slGoodsMaterialsSlVolumeProductionRkQuery.getId()); } - } - return SlGoodsShelfDTO; + if (slGoodsMaterialsSlVolumeProductionRkQuery.getSlGoodsMaterialsid()!=null){ + notNull.eq("materials_id", slGoodsMaterialsSlVolumeProductionRkQuery.getSlGoodsMaterialsid()); + } + if (slGoodsMaterialsSlVolumeProductionRkQuery.getStoreManagementNumber()!=null){ + notNull.eq("store_management_number", slGoodsMaterialsSlVolumeProductionRkQuery.getStoreManagementNumber()); + } + // 查询该仓库的入库记录 + List<Long> collect = slVolumeProductionRkMapper.selectList(notNull + ).stream().map(SlVolumeProductionRk::getId).collect(Collectors.toList()); + Page<SlVolumeProductionCk> page1 = new Page<>(slGoodsMaterialsSlVolumeProductionRkQuery.getPageCurr(), slGoodsMaterialsSlVolumeProductionRkQuery.getPageSize()); + LambdaQueryWrapper< SlVolumeProductionCk> wrapper2= Wrappers.lambdaQuery(); + wrapper2.like(SlVolumeProductionCk::getMaterialsId,slGoodsMaterialsSlVolumeProductionRkQuery.getSlGoodsMaterialsid()); + wrapper2.eq(SlVolumeProductionCk::getDelFlag,0); + wrapper2.isNotNull(SlVolumeProductionCk::getCkTime); + wrapper2.orderByDesc(SlVolumeProductionCk::getCreateTime); + if (!collect.isEmpty()){ + wrapper2.in(SlVolumeProductionCk::getRkId,collect); + } + Page<SlVolumeProductionCk> page3 = this.page(page1, wrapper2); + PageDTO<ManagementimgSlVolumeProductionCkVO> SlGoodsShelfDTO1 = PageDTO.of(page3, ManagementimgSlVolumeProductionCkVO.class); + List<ManagementimgSlVolumeProductionCkVO> list3 = SlGoodsShelfDTO1.getList(); + for(ManagementimgSlVolumeProductionCkVO list:list3) {{ + SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId()); + list.setRkNumber(slVolumeProductionRk.getRkNumber()); + } + } + return SlGoodsShelfDTO1; } @Override - public void addSlVolumeProductionCk(SlVolumeProductionCkDTO slVolumeProductionCkDTO) { - if (slVolumeProductionCkDTO.getId()==null){ + public void updSlVolumeProductionCk(List<AddSlVolumeProductionCkDTO> slVolumeProductionCkDTO) { + for (AddSlVolumeProductionCkDTO c:slVolumeProductionCkDTO){ + SlVolumeProductionCk byId = this.getById(c.getCkgl_id()); + byId.setCkNum(c.getCkNum()); + byId.setGuihNum(c.getGuihNum()); + this.updateById(byId); + + } + } + @Override + public void updSlVolumeProductionCk1(List<AddSlVolumeProductionCkDTO> slVolumeProductionCkDTO) { + for (AddSlVolumeProductionCkDTO c:slVolumeProductionCkDTO){ + SlVolumeProductionCk byId = this.getById(c.getCkgl_id()); + byId.setCkNum(c.getCkNum()); + byId.setGuihNum(c.getGuihNum()); + byId.setIsGh(2); + this.updateById(byId); +// Long ckglId = byId.getCkglId(); +// SlVolumeProductionCkgl byId1 = ckglService.getById(ckglId); +// byId1.setAuditStatus(1); +// byId1.setPresentState(1); +// ckglService.updateById(byId1); + + } + } + + @Override + public void addSlVolumeProductionCk(List<AddSlVolumeProductionCkDTO> addSlVolumeProductionCkDTO) { + List<SlVolumeProductionCk> list = this.lambdaQuery().eq(SlVolumeProductionCk::getCkglId, addSlVolumeProductionCkDTO.get(0).getCkgl_id()) + .eq(SlVolumeProductionCk::getDelFlag, "0").list(); + if (!list.isEmpty()){ + this.removeBatchByIds(list.stream().map(SlVolumeProductionCk::getId).collect(Collectors.toList())); + } + for (AddSlVolumeProductionCkDTO m:addSlVolumeProductionCkDTO){ + SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m.getRkId()); SlVolumeProductionCk slVolumeProductionCk=new SlVolumeProductionCk(); - slVolumeProductionCk.setCkglId(slVolumeProductionCkDTO.getId()); - slVolumeProductionCk.setRkId(slVolumeProductionCkDTO.getRkId()); - }else{ - SlVolumeProductionCk byId = this.getById(slVolumeProductionCkDTO.getId()); - byId.setCkNum(slVolumeProductionCkDTO.getCkNum()); - byId.setGuihNum(slVolumeProductionCkDTO.getGuihNum()); - this.updateById(byId); + slVolumeProductionCk.setRkId(m.getRkId()); + slVolumeProductionCk.setCkglId(m.getCkgl_id()); + slVolumeProductionCk.setState(1); + slVolumeProductionCk.setType(1); + slVolumeProductionCk.setCkNum(m.getCkNum()); + slVolumeProductionCk.setGuihNum(m.getGuihNum()); + slVolumeProductionCk.setMaterialsId(slVolumeProductionRk.getMaterialsId()); + slVolumeProductionCk.setCreateTime(new Date()); + this.save(slVolumeProductionCk); } } @@ -87,8 +154,8 @@ PageDTO<ManagementimgVolumeProductionCkVO> SlGoodsShelfDTO = PageDTO.of(page2, ManagementimgVolumeProductionCkVO.class); List<ManagementimgVolumeProductionCkVO> list2 = SlGoodsShelfDTO.getList(); - for(ManagementimgVolumeProductionCkVO list:list2) {{ - + for(ManagementimgVolumeProductionCkVO list:list2) { + { SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId()); list.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber()); list.setRkNumber(slVolumeProductionRk.getRkNumber()); @@ -130,4 +197,70 @@ } return SlGoodsShelfDTO; } + + @Autowired + private SlVolumeProductionRkService slVolumeProductionRkService; + @Override + public PageDTO<InventoriesSuppliesInfoVO> getMaterialByManagementIdList(GetMaterialsByManagementIdQuery query) { + List<InventoriesSuppliesInfoVO> res = new ArrayList<>(); + Page<SlVolumeProductionRk> page = new Page<>(query.getPageCurr(), query.getPageSize()); + QueryWrapper<ManagementGoodsMaterials> wrapper1 = new QueryWrapper<>(); + wrapper1.eq("del_flag","0"); + wrapper1.eq("management_id",query.getManagementId()); + // 获取对应仓库下所有入库的物资ids + List<Long> collect = managementGoodsMaterialsService.list(wrapper1).stream().map(ManagementGoodsMaterials::getGoodsMaterialsId).collect(Collectors.toList()); + QueryWrapper<SlGoodsMaterials> wrapper2 = new QueryWrapper<>(); + if (StringUtils.hasLength(query.getMaterialsName())){ + wrapper2.like("goods_materials_name",query.getMaterialsName()); + } + if (query.getIsConsume()!=null){ + wrapper2.eq("is_consume",query.getIsConsume()); + } + wrapper2.eq("del_flag","0"); + if (collect.isEmpty())collect.add(-1L); + wrapper2.in("id",collect); + List<Long> collect1 = slGoodsMaterialsMapper.selectList(wrapper2).stream().map(SlGoodsMaterials::getId).collect(Collectors.toList()); + QueryWrapper<SlVolumeProductionRk> wrapper = new QueryWrapper<>(); + if (collect1.isEmpty())collect1.add(-1L); + wrapper.in("materials_id",collect1); + wrapper.eq("management_id",query.getManagementId()); + wrapper.eq("del_flag","0"); + wrapper.isNotNull("new_add_time"); + + Page<SlVolumeProductionRk> page2 = slVolumeProductionRkService.page(page, wrapper); + List<SlVolumeProductionRk> list = page2.getRecords(); + + PageDTO<InventoriesSuppliesInfoVO> slGoodsMaterialsVO = PageDTO.of(page2, InventoriesSuppliesInfoVO.class); + for (SlVolumeProductionRk slVolumeProductionRk : list) { + SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId()); + StringBuilder stringBuilder = new StringBuilder(); + for (String s : slVolumeProductionRk.getShelfId().split(",")) { + SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(s); + if (slGoodsShelf!=null){ + stringBuilder.append(slGoodsShelf.getGoodsShelfName()).append(","); + } + } + + SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(slVolumeProductionRk.getShelfId()); + if (slGoodsMaterials == null || slGoodsShelf == null){ + continue; + } + InventoriesSuppliesInfoVO inventoriesSuppliesInfoVO = new InventoriesSuppliesInfoVO(); + inventoriesSuppliesInfoVO.setId(slVolumeProductionRk.getId()); + inventoriesSuppliesInfoVO.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); + inventoriesSuppliesInfoVO.setIsConsume(slGoodsMaterials.getIsConsume()); + inventoriesSuppliesInfoVO.setRkNumber(slVolumeProductionRk.getRkNumber()); + inventoriesSuppliesInfoVO.setRkModel(slVolumeProductionRk.getRkModel()); + inventoriesSuppliesInfoVO.setRkId(slVolumeProductionRk.getId()); + inventoriesSuppliesInfoVO.setZkNum(slVolumeProductionRk.getRepertoryZhai()); + inventoriesSuppliesInfoVO.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber()); + // 去除最后一位字符 + if (StringUtils.hasLength(stringBuilder.toString())){ + inventoriesSuppliesInfoVO.setGoodsShelfName(stringBuilder.substring(0, stringBuilder.length() - 1)); + } + res.add(inventoriesSuppliesInfoVO); + } + slGoodsMaterialsVO.setList(res); + return slGoodsMaterialsVO; + } } -- Gitblit v1.7.1