From 7bbce72b03664f56400fe7e70e8dcd4ea737a8da Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期五, 02 八月 2024 14:19:30 +0800 Subject: [PATCH] 代码提交 bug解决 --- ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java | 287 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 285 insertions(+), 2 deletions(-) diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java index 4f3a059..9f1925c 100644 --- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java +++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java @@ -1,10 +1,33 @@ package com.ruoyi.management.service.impl; -import com.ruoyi.management.domain.SlVolumeProductionZy; -import com.ruoyi.management.mapper.SlVolumeProductionZyMapper; +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.common.security.utils.SecurityUtils; +import com.ruoyi.management.domain.*; +import com.ruoyi.management.domain.dto.*; +import com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO; +import com.ruoyi.management.domain.vo.*; +import com.ruoyi.management.mapper.*; +import com.ruoyi.management.service.SlAuditRecordService; +import com.ruoyi.management.service.SlAuditService; +import com.ruoyi.management.service.SlStoreManagementService; import com.ruoyi.management.service.SlVolumeProductionZyService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.api.domain.SysUser; +import com.ruoyi.system.api.domain.getVolumeProductionRkQuery; +import com.ruoyi.system.api.feignClient.SysUserClient; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; /** * <p> @@ -17,4 +40,264 @@ @Service public class SlVolumeProductionZyServiceImpl extends ServiceImpl<SlVolumeProductionZyMapper, SlVolumeProductionZy> implements SlVolumeProductionZyService { + @Resource + private SlVolumeProductionRkMapper slVolumeProductionRkMapper; + @Resource + private SlVolumeProductionRkglMapper slVolumeProductionRkglMapper; + @Resource + private SlGoodsMaterialsMapper slGoodsMaterialsMapper; + + @Resource + private SlVolumeProductionZyglMapper slVolumeProductionZyglMapper; + @Resource + private SlGoodsShelfMapper slGoodsShelfMapper; + @Autowired + private SlStoreManagementService service; + @Override + public PageDTO<getVolumeProductionzyCodeVO> getVolumeProductionzyCode(VolumeProductionZygCodeQuery volumeProductionZygCodeQuery) { + + SlVolumeProductionZygl slVolumeProductionZygl = slVolumeProductionZyglMapper.selectById(volumeProductionZygCodeQuery.getVolumeProductionzylId()); + + LambdaQueryWrapper<SlVolumeProductionRk> wrapper2= Wrappers.lambdaQuery(); + wrapper2.eq(SlVolumeProductionRk::getManagementId,slVolumeProductionZygl.getBmanagementId()); + wrapper2.eq(SlVolumeProductionRk::getStoreManagementNumber,volumeProductionZygCodeQuery.getStoreManagementNumber()); + wrapper2.eq(SlVolumeProductionRk::getShelfId,volumeProductionZygCodeQuery.getShelfId()); + wrapper2.eq( SlVolumeProductionRk::getDelFlag,0); + wrapper2.orderByDesc(SlVolumeProductionRk::getCreateTime); + List<SlVolumeProductionRk> page1 = slVolumeProductionRkMapper.selectList(wrapper2); + + Set<Long> goodsSkuIdList = null; + goodsSkuIdList = page1.stream().map(SlVolumeProductionRk::getId) + .collect(Collectors.toSet()); + + + Page<SlVolumeProductionZy> page = new Page<>(volumeProductionZygCodeQuery.getPageCurr(), volumeProductionZygCodeQuery.getPageSize()); + LambdaQueryWrapper< SlVolumeProductionZy> wrapper1= Wrappers.lambdaQuery(); + wrapper1.eq(SlVolumeProductionZy::getZyglId,volumeProductionZygCodeQuery.getVolumeProductionzylId()); + if (goodsSkuIdList.size()>0&&goodsSkuIdList!=null){ + wrapper1.in(SlVolumeProductionZy::getScrkId,goodsSkuIdList); + } + wrapper1.eq( SlVolumeProductionZy::getDelFlag,0); + wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime); + Page<SlVolumeProductionZy> page2 = this.page(page, wrapper1); + PageDTO<getVolumeProductionzyCodeVO> SlGoodsShelfDTO = PageDTO.of(page2, getVolumeProductionzyCodeVO.class); + List<getVolumeProductionzyCodeVO> list2 = SlGoodsShelfDTO.getList(); + for(getVolumeProductionzyCodeVO list:list2) { + SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getScrkId()); + SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId()); + list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); + list.setIsConsume(slGoodsMaterials.getIsConsume()); + } + return SlGoodsShelfDTO; + + } + + @Resource + private SlAuditService slAuditService; + @Resource + private SlAuditRecordService slAuditRecordService; + @Override + public void addSlVolumeProductionZy(ADDZYDTO addaddSlVolumeProductionZyDTO) { + if (addaddSlVolumeProductionZyDTO.getId()==null){ + // 新增转移管理 + Long userid = SecurityUtils.getUserId(); + SlVolumeProductionZygl slVolumeProductionZygl=new SlVolumeProductionZygl(); + slVolumeProductionZygl.setAttachmentUrl(addaddSlVolumeProductionZyDTO.getAttachmentUrl()); + slVolumeProductionZygl.setAuthorizationUrl(addaddSlVolumeProductionZyDTO.getAuthorization()); + slVolumeProductionZygl.setSource(addaddSlVolumeProductionZyDTO.getSource()); + slVolumeProductionZygl.setManagementId(addaddSlVolumeProductionZyDTO.getManagementId()); + slVolumeProductionZygl.setBmanagementId(addaddSlVolumeProductionZyDTO.getBmanagementId()); + slVolumeProductionZygl.setSysId(userid); + slVolumeProductionZygl.setStartiTime(new Date()); + slVolumeProductionZygl.setAuditStatus(1); + slVolumeProductionZygl.setPresentState(1); + slVolumeProductionZyglMapper.insert(slVolumeProductionZygl); + addaddSlVolumeProductionZyDTO.setId(slVolumeProductionZygl.getId()); + + // 新增 + List<AddZYIdsDTO> rkId = addaddSlVolumeProductionZyDTO.getAddZYIdsDTOS(); + for (AddZYIdsDTO m:rkId){ + SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m.getRkId()); + // todo 目前还不知道转移管理存不存供应商id +// Long volumeProductionRkglId = slVolumeProductionRk.getVolumeProductionRkglId(); +// SlVolumeProductionRkgl slVolumeProductionRkgl = slVolumeProductionRkglMapper.selectById(volumeProductionRkglId); + SlVolumeProductionZy slVolumeProductionZy=new SlVolumeProductionZy(); + slVolumeProductionZy.setRkId(m.getRkId()); + slVolumeProductionZy.setZyglId(slVolumeProductionZygl.getId()); + slVolumeProductionZy.setState(1); + slVolumeProductionZy.setMaterialsId(slVolumeProductionRk.getMaterialsId()); + slVolumeProductionZy.setZyNum(m.getZyNum()); + slVolumeProductionZy.setCreateTime(new Date()); + slVolumeProductionZy.setStoreManagementNumber(m.getStoreManagementNumber()); + slVolumeProductionZy.setShelfId(m.getShelfId()); + slVolumeProductionZy.setRkId(m.getRkId()); +// slVolumeProductionZy.setSupplierId(slVolumeProductionRkgl.getSupplierId()); + this.save(slVolumeProductionZy); + } + }else{ + // 修改 + SlVolumeProductionZygl byId = slVolumeProductionZyglMapper.selectById(addaddSlVolumeProductionZyDTO.getId()); + if (addaddSlVolumeProductionZyDTO.getSource()!=null){ + byId.setSource(addaddSlVolumeProductionZyDTO.getSource()); + } + if (addaddSlVolumeProductionZyDTO.getAttachmentUrl()!=null){ + byId.setAttachmentUrl(addaddSlVolumeProductionZyDTO.getAttachmentUrl()); + } + if (addaddSlVolumeProductionZyDTO.getAuthorization()!=null){ + byId.setAuthorizationUrl(addaddSlVolumeProductionZyDTO.getAuthorization()); + } + slVolumeProductionZyglMapper.updateById(byId); + for (AddZYIdsDTO z:addaddSlVolumeProductionZyDTO.getAddZYIdsDTOS()){ + QueryWrapper<SlVolumeProductionZy> slVolumeProductionZyQueryWrapper = new QueryWrapper<>(); + slVolumeProductionZyQueryWrapper.eq("zygl_id",addaddSlVolumeProductionZyDTO.getId()); + slVolumeProductionZyQueryWrapper.eq("rk_id",z.getRkId()); + SlVolumeProductionZy one = this.getOne(slVolumeProductionZyQueryWrapper); + if (one!=null){ + one.setZyNum(z.getZyNum()); + + } + this.updateById(one); + } + } + // 添加/修改审核记录 + LambdaQueryWrapper< SlAudit> wrapper= Wrappers.lambdaQuery(); + if (addaddSlVolumeProductionZyDTO.getId()!=null){ + wrapper.eq(SlAudit::getRkId,addaddSlVolumeProductionZyDTO.getId()); + } + wrapper.eq(SlAudit::getType,3); + wrapper.eq( SlAudit::getDelFlag,0); + wrapper.orderByDesc(SlAudit::getCreateTime); + SlAudit page1 = slAuditService.getOne(wrapper); + if (page1!=null){ + LambdaQueryWrapper<SlAuditRecord> wrapper1= Wrappers.lambdaQuery(); + wrapper1.eq(SlAuditRecord::getAuditId,page1.getId()); + List<SlAuditRecord> slAuditRecords = slAuditRecordService.list(wrapper1); + for (SlAuditRecord lAuditRecord:slAuditRecords){ + slAuditRecordService.removeById(lAuditRecord.getId()); + } + slAuditService.removeById(page1); + } + SlAudit slAudit=new SlAudit(); + slAudit.setType(3); + slAudit.setState(1); + slAudit.setCreateTime(new Date()); + slAudit.setRkId(addaddSlVolumeProductionZyDTO.getId()); + if (slAudit.getType()==3){ + SlVolumeProductionZygl slVolumeProductionZygl = slVolumeProductionZyglMapper.selectById(addaddSlVolumeProductionZyDTO.getId()); + slAudit.setSysId(slVolumeProductionZygl.getSysId()); + slAudit.setManagementId(slVolumeProductionZygl.getManagementId()); + slAudit.setZymanagementId(slVolumeProductionZygl.getBmanagementId()); + SlStoreManagement byId = slStoreManagementService.getById(slVolumeProductionZygl.getManagementId()); + slAudit.setShenhId(byId.getAdministratorId()); + slAuditService.save(slAudit); + SlAuditRecord slAuditRecord=new SlAuditRecord(); + slAuditRecord.setAuditId(slAudit.getId()); + slAuditRecord.setShenhId(byId.getAdministratorId()); + slAuditRecord.setType(1); + slAuditRecord.setState(1); + slAuditRecord.setCreateTime(new Date()); + slAuditRecordService.save(slAuditRecord); + + SlAuditRecord slAuditRecord1=new SlAuditRecord(); + slAuditRecord1.setAuditId(slAudit.getId()); + slAuditRecord1.setShenhId(byId.getCompetentId()); + slAuditRecord1.setType(2); + slAuditRecord1.setState(1); + slAuditRecord1.setCreateTime(new Date()); + slAuditRecordService.save(slAuditRecord1); + + SlAuditRecord slAuditRecord2=new SlAuditRecord(); + slAuditRecord2.setAuditId(slAudit.getId()); + slAuditRecord2.setShenhId(byId.getDirectorId()); + slAuditRecord2.setType(3); + slAuditRecord2.setState(1); + slAuditRecord2.setCreateTime(new Date()); + slAuditRecordService.save(slAuditRecord2); + } + } + @Resource + private SlStoreManagementService slStoreManagementService; + @Override + public void updSlVolumeProductionZy(List<UpdaddSlVolumeProductionZyDTO> updaddSlVolumeProductionZyDTO) { + for (UpdaddSlVolumeProductionZyDTO z:updaddSlVolumeProductionZyDTO){ + SlVolumeProductionZy byId = this.getById(z.getId()); + byId.setZyNum(z.getZyNum()); + this.updateById(byId); + } + + } + + @Override + public PageDTO<ManagementimgVolumeProductionZyVO> getSlVolumeProductionZyList(ManagementimgVolumeProductionZyQuery managementimgVolumeProductionZyQuery) { + SlVolumeProductionZygl slVolumeProductionZygl = slVolumeProductionZyglMapper.selectById(managementimgVolumeProductionZyQuery.getVolumeProductionzyglId()); + LambdaQueryWrapper<SlVolumeProductionRk> wrapper2= Wrappers.lambdaQuery(); + wrapper2.eq(SlVolumeProductionRk::getManagementId,slVolumeProductionZygl.getBmanagementId()); + wrapper2.eq(SlVolumeProductionRk::getStoreManagementNumber,managementimgVolumeProductionZyQuery.getStoreManagementNumber()); + wrapper2.eq(SlVolumeProductionRk::getShelfId,managementimgVolumeProductionZyQuery.getShelfId()); + wrapper2.eq( SlVolumeProductionRk::getDelFlag,0); + wrapper2.orderByDesc(SlVolumeProductionRk::getCreateTime); + List<SlVolumeProductionRk> page1 = slVolumeProductionRkMapper.selectList(wrapper2); + + Set<Long> goodsSkuIdList = null; + goodsSkuIdList = page1.stream().map(SlVolumeProductionRk::getId) + .collect(Collectors.toSet()); + + + Page<SlVolumeProductionZy> page = new Page<>(managementimgVolumeProductionZyQuery.getPageCurr(), managementimgVolumeProductionZyQuery.getPageSize()); + LambdaQueryWrapper< SlVolumeProductionZy> wrapper1= Wrappers.lambdaQuery(); + wrapper1.eq(SlVolumeProductionZy::getZyglId,managementimgVolumeProductionZyQuery.getVolumeProductionzyglId()); + if (goodsSkuIdList.size()>0&&goodsSkuIdList!=null){ + wrapper1.in(SlVolumeProductionZy::getScrkId,goodsSkuIdList); + } + wrapper1.eq( SlVolumeProductionZy::getDelFlag,0); + wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime); + Page<SlVolumeProductionZy> page2 = this.page(page, wrapper1); + PageDTO<ManagementimgVolumeProductionZyVO> SlGoodsShelfDTO = PageDTO.of(page2, ManagementimgVolumeProductionZyVO.class); + List<ManagementimgVolumeProductionZyVO> list2 = SlGoodsShelfDTO.getList(); + for(ManagementimgVolumeProductionZyVO 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()); + if(list.getScrkId()!=null){ + SlVolumeProductionRk slVolumeProductionRk1 = slVolumeProductionRkMapper.selectById(list.getScrkId()); + list.setStoreManagementNumber(slVolumeProductionRk1.getStoreManagementNumber()); + list.setRkNumber(slVolumeProductionRk1.getRkNumber()); + } + } + return SlGoodsShelfDTO; + } + + @Override + public NumberAndShelfVO getNumberAndShelfByManagementId(QueryDTO dto) { + NumberAndShelfVO numberAndShelfVO = new NumberAndShelfVO(); + SlStoreManagement byId = service.getById(dto.getManagementId()); + List<String> number = new ArrayList<>(); + for (Integer i = 1; i <= byId.getStoreManagementNumber(); i++) { + switch (i){ + case 1: + number.add("一层"); + break; + case 2: + number.add("二层"); + break; + case 3: + number.add("三层"); + break; + } + } + numberAndShelfVO.setNumber(number); + QueryWrapper<SlGoodsShelf> eq = new QueryWrapper<SlGoodsShelf>() + .eq("del_flag", "0") + .eq("store_management_id", dto.getManagementId()) + .eq("store_management_number",dto.getManagementNumber()); + List<SlGoodsShelf> slGoodsShelves = slGoodsShelfMapper.selectList(eq); + numberAndShelfVO.setGoodsShelfList(slGoodsShelves); + return numberAndShelfVO; + } } -- Gitblit v1.7.1