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 | 233 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 217 insertions(+), 16 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 efac311..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,23 +1,35 @@ 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.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; +import com.ruoyi.management.mapper.SlGoodsMaterialsMapper; +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> @@ -32,34 +44,223 @@ @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()); + + QueryWrapper<SlVolumeProductionRk> notNull = new QueryWrapper<SlVolumeProductionRk>() + + .eq("del_flag", "0") + .isNotNull("new_add_time"); + if (slGoodsMaterialsSlVolumeProductionRkQuery.getId()!=null){ + notNull.eq("management_id", slGoodsMaterialsSlVolumeProductionRkQuery.getId()); + } + 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 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.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); + } + } + + @Override + public PageDTO<ManagementimgVolumeProductionCkVO> getSlVolumeProductionCkList(ManagementimgVolumeProductionCkQuery managementimgVolumeProductionCkQuery) { + Page<SlVolumeProductionCk> page = new Page<>(managementimgVolumeProductionCkQuery.getPageCurr(), managementimgVolumeProductionCkQuery.getPageSize()); LambdaQueryWrapper< SlVolumeProductionCk> wrapper1= Wrappers.lambdaQuery(); - wrapper1.like(SlVolumeProductionCk::getMaterialsId,slGoodsMaterialsSlVolumeProductionRkQuery.getSlGoodsMaterialsid()); + wrapper1.eq(SlVolumeProductionCk::getCkglId,managementimgVolumeProductionCkQuery.getVolumeProductionCKglId()); 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) {{ + + PageDTO<ManagementimgVolumeProductionCkVO> SlGoodsShelfDTO = PageDTO.of(page2, ManagementimgVolumeProductionCkVO.class); + List<ManagementimgVolumeProductionCkVO> list2 = SlGoodsShelfDTO.getList(); + for(ManagementimgVolumeProductionCkVO list:list2) { + { SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId()); + list.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber()); list.setRkNumber(slVolumeProductionRk.getRkNumber()); - } + list.setRepertoryZhai(slVolumeProductionRk.getRepertoryZhai()); + SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId()); + list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); + list.setIsConsume(slGoodsMaterials.getIsConsume()); + SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(slVolumeProductionRk.getShelfId()); + list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); + } } return SlGoodsShelfDTO; } @Override - public void addSlVolumeProductionCk(SlVolumeProductionCkDTO slVolumeProductionCkDTO) { - if (slVolumeProductionCkDTO.getId()==null){ - SlVolumeProductionCk slVolumeProductionCk=new SlVolumeProductionCk(); - slVolumeProductionCk.setRkId(slVolumeProductionCkDTO.getRkId()); - }else{ - SlVolumeProductionCk byId = this.getById(slVolumeProductionCkDTO.getId()); - byId.setCkNum(slVolumeProductionCkDTO.getCkNum()); - this.updateById(byId); + public List<ManagementimgVolumeProductionCkVO> SlVolumeProductionCkList(ManagementimgVolumeProductionCkQuery managementimgVolumeProductionCkQuery) { + LambdaQueryWrapper< SlVolumeProductionCk> wrapper1= Wrappers.lambdaQuery(); + wrapper1.eq(SlVolumeProductionCk::getCkglId,managementimgVolumeProductionCkQuery.getVolumeProductionCKglId()); + wrapper1.eq( SlVolumeProductionCk::getDelFlag,0); + wrapper1.orderByDesc(SlVolumeProductionCk::getCreateTime); + List<SlVolumeProductionCk> page2 = this.list(wrapper1); + List<ManagementimgVolumeProductionCkVO> SlGoodsShelfDTO=new ArrayList<>(); + for(SlVolumeProductionCk list1:page2) {{ + ManagementimgVolumeProductionCkVO list=new ManagementimgVolumeProductionCkVO(); + list.setId(list1.getId()); + list.setCkNum(list1.getCkNum()); + SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list1.getRkId()); + list.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber()); + list.setRkNumber(slVolumeProductionRk.getRkNumber()); + list.setRepertoryZhai(slVolumeProductionRk.getRepertoryZhai()); + SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId()); + list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); + list.setIsConsume(slGoodsMaterials.getIsConsume()); + SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(slVolumeProductionRk.getShelfId()); + list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); + + SlGoodsShelfDTO.add(list); + } } + 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