| | |
| | | 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.AddSlVolumeProductionCkDTO; |
| | | 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; |
| | |
| | | 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> |
| | |
| | | |
| | | @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 updSlVolumeProductionCk(List<SlVolumeProductionCkDTO> slVolumeProductionCkDTO) { |
| | | for (SlVolumeProductionCkDTO c:slVolumeProductionCkDTO){ |
| | | SlVolumeProductionCk byId = this.getById(c.getId()); |
| | | 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(AddSlVolumeProductionCkDTO addSlVolumeProductionCkDTO) { |
| | | List<Long> rkId = addSlVolumeProductionCkDTO.getRkId(); |
| | | for (Long m:rkId){ |
| | | SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m); |
| | | 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); |
| | | slVolumeProductionCk.setCkglId(addSlVolumeProductionCkDTO.getCkgl_id()); |
| | | 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); |
| | | } |
| | | } |
| | |
| | | |
| | | 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()); |
| | |
| | | } |
| | | 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; |
| | | } |
| | | } |