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/SlVolumeProductionZyglServiceImpl.java | 274 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 240 insertions(+), 34 deletions(-) diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyglServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyglServiceImpl.java index b27f77c..6a3903b 100644 --- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyglServiceImpl.java +++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyglServiceImpl.java @@ -1,22 +1,27 @@ 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.BeanUtils; 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.ManagementimgVolumeProductionZyQuery; import com.ruoyi.management.domain.dto.SlVolumeProductionZyDTO; import com.ruoyi.management.domain.dto.SlVolumeProductionZyQuery; import com.ruoyi.management.domain.vo.*; import com.ruoyi.management.mapper.*; +import com.ruoyi.management.service.SlAuditService; import com.ruoyi.management.service.SlVolumeProductionZyglService; 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 com.sun.org.apache.bcel.internal.generic.NEW; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.util.*; @@ -39,9 +44,6 @@ private SlStoreManagementMapper slStoreManagementMapper; @Resource - private SlVolumeProductionZyglMapper slVolumeProductionZyglMapper; - - @Resource private SlVolumeProductionRkMapper slVolumeProductionRkMapper; @Resource @@ -52,29 +54,72 @@ @Resource private SlVolumeProductionZyMapper slVolumeProductionZyMapper; + @Resource + private SlVolumeProductionCkMapper slVolumeProductionCkMapper; @Resource private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper; + @Resource + private SlAuditService slAuditService; @Override public PageDTO<VolumeProductionzZyglVO> getVolumeProductionzZyglList(SlVolumeProductionZyQuery slVolumeProductionZyQuery) { + Long userId = SecurityUtils.getUserId(); + + List<Long> managementIds = new ArrayList<>(); + List<SlStoreManagement> slStoreManagements = slStoreManagementMapper.selectList(new LambdaQueryWrapper<SlStoreManagement>() + .eq(SlStoreManagement::getDelFlag, "0")); + for (SlStoreManagement slStoreManagement : slStoreManagements) { + List<String> list = Arrays.asList(slStoreManagement.getAdministratorId().split(",")); + List<String> list1 = Arrays.asList(slStoreManagement.getCompetentId().split(",")); + List<String> list2 = Arrays.asList(slStoreManagement.getDirectorId().split(",")); + if (list.contains(userId.toString()) || list1.contains(userId.toString()) || list2.contains(userId.toString())){ + managementIds.add(slStoreManagement.getId()); + } + + } + LambdaQueryWrapper< SlVolumeProductionZygl> wrapper1= Wrappers.lambdaQuery(); Page<SlVolumeProductionZygl> page = new Page<>(slVolumeProductionZyQuery.getPageCurr(), slVolumeProductionZyQuery.getPageSize()); getVolumeProductionRkQuery getVolume=new getVolumeProductionRkQuery(); - getVolume.setSupplierPhone(slVolumeProductionZyQuery.getSupplierPhone()); - getVolume.setSupplierName(slVolumeProductionZyQuery.getSupplierName()); + getVolume.setSupplierPhone(slVolumeProductionZyQuery.getPhonenumber()); + getVolume.setSupplierName(slVolumeProductionZyQuery.getNickName()); + SysUser data2 = sysUserClient.getSysUser(userId).getData(); + if (data2!=null){ + if (!data2.getUserType().equals("00")){ + switch (data2.getRoleType()){ + case 3: + case 4: + case 5: + case 6: + if (!managementIds.isEmpty()){ + wrapper1.in(SlVolumeProductionZygl::getManagementId,managementIds); + }else{ + return PageDTO.empty(page); + } + break; + } + } + } List<SysUser> data1 = sysUserClient.getUserSupplierList(getVolume).getData(); Set<Long> goodsSkuIdList = null; goodsSkuIdList = data1.stream().map(SysUser::getUserId) .collect(Collectors.toSet()); - - LambdaQueryWrapper< SlVolumeProductionZygl> wrapper1= Wrappers.lambdaQuery(); - wrapper1.eq(SlVolumeProductionZygl::getPresentState,slVolumeProductionZyQuery.getPresentState()); - wrapper1.eq(SlVolumeProductionZygl::getAuditStatus,slVolumeProductionZyQuery.getAuditStatus()); + if (slVolumeProductionZyQuery.getPresentState()!=null){ + wrapper1.eq(SlVolumeProductionZygl::getPresentState,slVolumeProductionZyQuery.getPresentState()); + } + if (slVolumeProductionZyQuery.getAuditStatus()!=null){ + wrapper1.eq(SlVolumeProductionZygl::getAuditStatus,slVolumeProductionZyQuery.getAuditStatus()); + } if (goodsSkuIdList.size()>0){ wrapper1.in(SlVolumeProductionZygl::getSysId,goodsSkuIdList); + }else{ + Page<SlVolumeProductionZygl> page2 = new Page<SlVolumeProductionZygl>(); + PageDTO<VolumeProductionzZyglVO> SlGoodsShelfDTO = PageDTO.of(page2, VolumeProductionzZyglVO .class); + return SlGoodsShelfDTO; } wrapper1.eq( SlVolumeProductionZygl::getDelFlag,0); - wrapper1.orderByDesc(SlVolumeProductionZygl::getCreateTime); +// wrapper1.ne(SlVolumeProductionZygl::getAuditStatus,7); + wrapper1.orderByDesc(SlVolumeProductionZygl::getStartiTime); Page<SlVolumeProductionZygl> page2 = this.page(page, wrapper1); PageDTO<VolumeProductionzZyglVO> SlGoodsShelfDTO = PageDTO.of(page2, VolumeProductionzZyglVO .class); @@ -87,15 +132,15 @@ list.setStoreManagementName(slStoreManagement.getStoreManagementName()); SlStoreManagement bslStoreManagement = slStoreManagementMapper.selectById(list.getBmanagementId()); - list.setStoreManagementName(bslStoreManagement.getStoreManagementName()); + list.setBstoreManagementName(bslStoreManagement.getStoreManagementName()); } return SlGoodsShelfDTO; } @Override - public void addsVolumeProductionzZygl(SlVolumeProductionZyDTO slVolumeProductionZyDTO) { + public String addsVolumeProductionzZygl(SlVolumeProductionZyDTO slVolumeProductionZyDTO) { Long userid = SecurityUtils.getUserId(); - if (slVolumeProductionZyDTO.getId()!=null){ + if (slVolumeProductionZyDTO.getId()==null){ SlVolumeProductionZygl slVolumeProductionZygl=new SlVolumeProductionZygl(); slVolumeProductionZygl.setAttachmentUrl(slVolumeProductionZyDTO.getAttachmentUrl()); slVolumeProductionZygl.setAuthorizationUrl(slVolumeProductionZyDTO.getAuthorization()); @@ -106,6 +151,8 @@ slVolumeProductionZygl.setStartiTime(new Date()); slVolumeProductionZygl.setAuditStatus(1); slVolumeProductionZygl.setPresentState(1); + this.save(slVolumeProductionZygl); + return slVolumeProductionZygl.getId().toString(); }else { SlVolumeProductionZygl byId = this.getById(slVolumeProductionZyDTO.getId()); if (slVolumeProductionZyDTO.getSource()!=null){ @@ -118,13 +165,19 @@ byId.setAuthorizationUrl(slVolumeProductionZyDTO.getAuthorization()); } this.updateById(byId); + return slVolumeProductionZyDTO.getId().toString(); } + } @Override - public VolumeProductionZyglInfoVO getVolumeProductionzZyglnfo(Long id) { - SlVolumeProductionZygl byId = this.getById(id); + public VolumeProductionZyglInfoVO getVolumeProductionzZyglnfo(ManagementimgVolumeProductionZyQuery managementimgVolumeProductionZyQuery) { + SlVolumeProductionZygl byId = this.getById(managementimgVolumeProductionZyQuery.getVolumeProductionzyglId()); VolumeProductionZyglInfoVO v= BeanUtils.copyBean(byId, VolumeProductionZyglInfoVO.class); + SlStoreManagement slStoreManagement2 = slStoreManagementMapper.selectById(byId.getManagementId()); + v.setZhuren(slStoreManagement2.getDirectorId()); + v.setZhuguan(slStoreManagement2.getCompetentId()); + v.setGuanliyuan(slStoreManagement2.getAdministratorId()); SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId()); v.setStoreManagementName(slStoreManagement.getStoreManagementName()); SlStoreManagement bslStoreManagement = slStoreManagementMapper.selectById(byId.getBmanagementId()); @@ -132,15 +185,138 @@ SysUser data1 = sysUserClient.getSysUser(Long.valueOf(byId.getSysId())).getData(); v.setSysName(data1.getNickName()); v.setSysPhone(data1.getPhonenumber()); + // 查询楼层数据 + SlStoreManagement slStoreManagement1 = slStoreManagementMapper.selectById(byId.getBmanagementId()); + List<String> number = new ArrayList<>(); + for (Integer i = 1; i <= slStoreManagement1.getStoreManagementNumber(); i++) { + switch (i){ + case 1: + number.add("一层"); + break; + case 2: + number.add("二层"); + break; + case 3: + number.add("三层"); + break; + } + } + v.setNumber(number); + if (managementimgVolumeProductionZyQuery.getStoreManagementNumber()==null){ + managementimgVolumeProductionZyQuery.setStoreManagementNumber(1); + } + QueryWrapper<SlGoodsShelf> eq = new QueryWrapper<SlGoodsShelf>() + .eq("del_flag", "0") + .eq("store_management_id", byId.getBmanagementId()) + .eq("store_management_number",managementimgVolumeProductionZyQuery.getStoreManagementNumber()); + List<SlGoodsShelf> slGoodsShelves = slGoodsShelfMapper.selectList(eq); + v.setGoodsShelfList(slGoodsShelves); + // 根据转移id 查询转移数据 收集入库ids + LambdaQueryWrapper<SlVolumeProductionZy> wrapper = Wrappers.lambdaQuery(); + wrapper.eq(SlVolumeProductionZy::getZyglId, byId.getId()); + wrapper.eq(SlVolumeProductionZy::getDelFlag, 0); + if (managementimgVolumeProductionZyQuery.getShelfId()==null){ + if (!slGoodsShelves.isEmpty()){ + wrapper.eq(SlVolumeProductionZy::getShelfId,slGoodsShelves.get(0).getId()); + } + }else{ + wrapper.eq(SlVolumeProductionZy::getShelfId,managementimgVolumeProductionZyQuery.getShelfId()); + } + if (managementimgVolumeProductionZyQuery.getStoreManagementNumber()==null){ + wrapper.eq(SlVolumeProductionZy::getStoreManagementNumber,1); + }else{ + wrapper.eq(SlVolumeProductionZy::getStoreManagementNumber,managementimgVolumeProductionZyQuery.getStoreManagementNumber()); + } + List<Long> collect = new ArrayList<>(); + + if (StringUtils.hasLength(byId.getAuthorizationUrl())){ + collect = slVolumeProductionZyMapper.selectList(wrapper) + .stream().map(SlVolumeProductionZy::getScrkId).collect(Collectors.toList()); + }else{ + collect = slVolumeProductionZyMapper.selectList(wrapper) + .stream().map(SlVolumeProductionZy::getRkId).collect(Collectors.toList()); + } + // 入库ids + + if (collect.isEmpty()){ + // 如果为空 那么插入-1 不查询数据 + collect.add(-1L); + } + // 查询物资列表 + LambdaQueryWrapper<SlVolumeProductionRk> wrapper2= Wrappers.lambdaQuery(); + wrapper2.in(SlVolumeProductionRk::getId,collect); + 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::getDelFlag,0); + wrapper1.eq(SlVolumeProductionZy::getZyglId,managementimgVolumeProductionZyQuery.getVolumeProductionzyglId()); + if (managementimgVolumeProductionZyQuery.getShelfId()==null){ + if (!slGoodsShelves.isEmpty()) { + wrapper1.eq(SlVolumeProductionZy::getShelfId, slGoodsShelves.get(0).getId()); + } + }else{ + wrapper1.eq(SlVolumeProductionZy::getShelfId,managementimgVolumeProductionZyQuery.getShelfId()); + } + if (managementimgVolumeProductionZyQuery.getStoreManagementNumber()==null){ + wrapper1.eq(SlVolumeProductionZy::getStoreManagementNumber,1); + }else{ + wrapper1.eq(SlVolumeProductionZy::getStoreManagementNumber,managementimgVolumeProductionZyQuery.getStoreManagementNumber()); + } + + if (goodsSkuIdList.isEmpty()){ + goodsSkuIdList.add(-1L); + } + // 已经确认了转移 + if (StringUtils.hasLength(byId.getAuthorizationUrl())){ + wrapper1.in(SlVolumeProductionZy::getScrkId,goodsSkuIdList); + + }else{ + wrapper1.in(SlVolumeProductionZy::getRkId,goodsSkuIdList); + + } + + + wrapper1.eq( SlVolumeProductionZy::getDelFlag,0); + wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime); + Page<SlVolumeProductionZy> page2 = slVolumeProductionZyMapper.selectPage(page, wrapper1); + PageDTO<com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO> sl = PageDTO.of(page2, com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO.class); + List<com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO> list2 = sl.getList(); + for(com.ruoyi.management.domain.dto.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(list.getShelfId()); + list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); + list.setShelfId(slGoodsShelf.getId()); + if(list.getScrkId()!=null){ + SlVolumeProductionRk slVolumeProductionRk1 = slVolumeProductionRkMapper.selectById(list.getScrkId()); + list.setStoreManagementNumber(slVolumeProductionRk1.getStoreManagementNumber()); + list.setZyNumber(slVolumeProductionRk1.getRkNumber()); + } + list.setZkNum(list.getRepertoryZhai()); + } + v.setList(sl); return v; } @Override - public VolumeProductionZyglInventoryVO getVolumeProductionZyglnventory(Integer id) { + public VolumeProductionZyglInventoryVO getVolumeProductionZyglnventory(String id) { SlVolumeProductionZygl byId = this.getById(id); VolumeProductionZyglInventoryVO vo = new VolumeProductionZyglInventoryVO(); - SysUser data = sysUserClient.getSysUser(byId.getId()).getData(); + + + SysUser data = sysUserClient.getSysUser(byId.getSysId()).getData(); vo.setSysPhone(data.getPhonenumber()); vo.setSysName(data.getNickName()); vo.setStartiTime(byId.getStartiTime()); @@ -209,29 +385,36 @@ } @Override - public void zy(Integer id) { + public void zy(Long id,String authorizationUrl) { + SlAudit one = slAuditService.lambdaQuery().eq(SlAudit::getType, 3).eq(SlAudit::getRkId, id).eq(SlAudit::getDelFlag, "0").one(); + if (one!=null){ + one.setState(6); + slAuditService.updateById(one); + } SlVolumeProductionZygl byId = this.getById(id); + byId.setAuthorizationUrl(authorizationUrl); + byId.setAuditStatus(6); + byId.setPresentState(4); + byId.setEndTime(new Date()); + this.updateById(byId); LambdaQueryWrapper<SlVolumeProductionZy> wrapper1 = Wrappers.lambdaQuery(); wrapper1.eq(SlVolumeProductionZy::getZyglId, id); wrapper1.eq(SlVolumeProductionZy::getDelFlag, 0); wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime); List<SlVolumeProductionZy> page2 = slVolumeProductionZyMapper.selectList(wrapper1); - for (SlVolumeProductionZy zy:page2){ + // 新入库ids + for (SlVolumeProductionZy zy : page2) { + // 将入库记录确认 + SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(zy.getScrkId()); + slVolumeProductionRk.setNewAddTime("1"); + slVolumeProductionRkMapper.updateById(slVolumeProductionRk); + // 确认转移之后扣库存 SlVolumeProductionRk slVolumeProductionRk1 = slVolumeProductionRkMapper.selectById(zy.getRkId()); - SlVolumeProductionRk slVolumeProductionRk=new SlVolumeProductionRk(); - slVolumeProductionRk.setMaterialsId(slVolumeProductionRk1.getMaterialsId()); - slVolumeProductionRk.setStoreManagementNumber(slVolumeProductionRk1.getStoreManagementNumber()); - slVolumeProductionRk.setManagementId(byId.getBmanagementId()); - slVolumeProductionRk.setRkNumber("CD-"+new Date().getTime()); - slVolumeProductionRk.setRkNum(Long.valueOf(zy.getZyNum())); - slVolumeProductionRk.setShelfId(slVolumeProductionRk1.getShelfId()); - slVolumeProductionRk.setRepertoryZhai(Long.valueOf(zy.getZyNum())); - slVolumeProductionRk.setCreateTime(new Date()); - slVolumeProductionRkMapper.insert(slVolumeProductionRk); - zy.setScrkId(slVolumeProductionRk.getId()); - + slVolumeProductionRk1.setRepertoryZhai(slVolumeProductionRk1.getRepertoryZhai()-Long.valueOf(zy.getZyNum())); + slVolumeProductionRkMapper.updateById(slVolumeProductionRk1); + // 给被转移入仓库加库存数量 LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery(); - wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,slVolumeProductionRk1.getMaterialsId()); + wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,zy.getMaterialsId()); wrapper2.eq(ManagementGoodsMaterials::getManagementId,byId.getBmanagementId()); wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0); ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2); @@ -246,14 +429,37 @@ }else{ ManagementGoodsMaterials managementGoodsMaterials1=new ManagementGoodsMaterials(); managementGoodsMaterials1.setManagementId(byId.getBmanagementId()); - managementGoodsMaterials1.setGoodsMaterialsId(slVolumeProductionRk1.getMaterialsId()); + managementGoodsMaterials1.setGoodsMaterialsId(zy.getMaterialsId()); + managementGoodsMaterials1.setRepertoryZhai(Long.valueOf(zy.getZyNum())); + managementGoodsMaterials1.setRepertorySum(Long.valueOf(zy.getZyNum())); + managementGoodsMaterials1.setCreateTime(new Date()); + managementGoodsMaterialsMapper.insert(managementGoodsMaterials1); + } + // 给转出仓库减去库存 + LambdaQueryWrapper<ManagementGoodsMaterials> wrapper3 = Wrappers.lambdaQuery(); + wrapper3.eq(ManagementGoodsMaterials::getGoodsMaterialsId,zy.getMaterialsId()); + wrapper3.eq(ManagementGoodsMaterials::getManagementId,byId.getManagementId()); + wrapper3.eq(ManagementGoodsMaterials::getDelFlag, 0); + ManagementGoodsMaterials managementGoodsMaterials3 = managementGoodsMaterialsMapper.selectOne(wrapper3); + if (managementGoodsMaterials3!=null){ + Long repertorySum = managementGoodsMaterials3.getRepertorySum(); + Long repertoryZhai = managementGoodsMaterials3.getRepertoryZhai(); + Long re=repertorySum-Long.valueOf(zy.getZyNum()); + Long re1=repertoryZhai-Long.valueOf(zy.getZyNum()); + managementGoodsMaterials3.setRepertorySum(re); + managementGoodsMaterials3.setRepertoryZhai(re1); + managementGoodsMaterialsMapper.updateById(managementGoodsMaterials3); + }else{ + ManagementGoodsMaterials managementGoodsMaterials1=new ManagementGoodsMaterials(); + managementGoodsMaterials1.setManagementId(byId.getBmanagementId()); + managementGoodsMaterials1.setGoodsMaterialsId(zy.getMaterialsId()); managementGoodsMaterials1.setRepertoryZhai(Long.valueOf(zy.getZyNum())); managementGoodsMaterials1.setRepertorySum(Long.valueOf(zy.getZyNum())); managementGoodsMaterials1.setCreateTime(new Date()); managementGoodsMaterialsMapper.insert(managementGoodsMaterials1); } - } + } } -- Gitblit v1.7.1