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 | 213 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 171 insertions(+), 42 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 b01513e..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 @@ -13,12 +13,15 @@ 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.*; @@ -41,9 +44,6 @@ private SlStoreManagementMapper slStoreManagementMapper; @Resource - private SlVolumeProductionZyglMapper slVolumeProductionZyglMapper; - - @Resource private SlVolumeProductionRkMapper slVolumeProductionRkMapper; @Resource @@ -54,34 +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(); 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); @@ -136,6 +174,10 @@ 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()); @@ -144,7 +186,7 @@ v.setSysName(data1.getNickName()); v.setSysPhone(data1.getPhonenumber()); // 查询楼层数据 - SlStoreManagement slStoreManagement1 = slStoreManagementMapper.selectById(byId.getManagementId()); + SlStoreManagement slStoreManagement1 = slStoreManagementMapper.selectById(byId.getBmanagementId()); List<String> number = new ArrayList<>(); for (Integer i = 1; i <= slStoreManagement1.getStoreManagementNumber(); i++) { switch (i){ @@ -160,23 +202,49 @@ } } 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.getManagementId()) + .eq("store_management_id", byId.getBmanagementId()) .eq("store_management_number",managementimgVolumeProductionZyQuery.getStoreManagementNumber()); List<SlGoodsShelf> slGoodsShelves = slGoodsShelfMapper.selectList(eq); v.setGoodsShelfList(slGoodsShelves); - // 查询物资列表 - LambdaQueryWrapper<SlVolumeProductionRk> wrapper2= Wrappers.lambdaQuery(); - wrapper2.eq(SlVolumeProductionRk::getManagementId,byId.getBmanagementId()); - if (managementimgVolumeProductionZyQuery.getShelfId() == null){ - managementimgVolumeProductionZyQuery.setShelfId(slGoodsShelves.get(0).getId()); + // 根据转移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){ - wrapper2.eq(SlVolumeProductionRk::getStoreManagementNumber,1); + wrapper.eq(SlVolumeProductionZy::getStoreManagementNumber,1); + }else{ + wrapper.eq(SlVolumeProductionZy::getStoreManagementNumber,managementimgVolumeProductionZyQuery.getStoreManagementNumber()); } - wrapper2.eq(SlVolumeProductionRk::getShelfId,managementimgVolumeProductionZyQuery.getShelfId()); + 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); @@ -186,15 +254,39 @@ .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 (goodsSkuIdList.size()>0&&goodsSkuIdList!=null){ - wrapper1.in(SlVolumeProductionZy::getScrkId,goodsSkuIdList); + 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> SlGoodsShelfDTO = PageDTO.of(page2, com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO.class); - List<com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO> list2 = SlGoodsShelfDTO.getList(); + 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()); @@ -203,24 +295,28 @@ SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId()); list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); list.setIsConsume(slGoodsMaterials.getIsConsume()); - SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(slVolumeProductionRk.getShelfId()); + 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.setRkNumber(slVolumeProductionRk1.getRkNumber()); + list.setZyNumber(slVolumeProductionRk1.getRkNumber()); } + list.setZkNum(list.getRepertoryZhai()); } - v.setList(SlGoodsShelfDTO); + 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()); @@ -289,26 +385,34 @@ } @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){ - SlVolumeProductionRk slVolumeProductionRk=new SlVolumeProductionRk(); - slVolumeProductionRk.setMaterialsId(zy.getMaterialsId()); - slVolumeProductionRk.setStoreManagementNumber(zy.getStoreManagementNumber()); - slVolumeProductionRk.setManagementId(byId.getBmanagementId()); - slVolumeProductionRk.setRkNumber("CD-"+new Date().getTime()); - slVolumeProductionRk.setRkNum(Long.valueOf(zy.getZyNum())); - slVolumeProductionRk.setShelfId(zy.getShelfId()); - slVolumeProductionRk.setRepertoryZhai(Long.valueOf(zy.getZyNum())); - slVolumeProductionRk.setCreateTime(new Date()); - slVolumeProductionRkMapper.insert(slVolumeProductionRk); - zy.setScrkId(slVolumeProductionRk.getId()); - slVolumeProductionZyMapper.updateById(zy); + // 新入库ids + for (SlVolumeProductionZy zy : page2) { + // 将入库记录确认 + SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(zy.getScrkId()); + slVolumeProductionRk.setNewAddTime("1"); + slVolumeProductionRkMapper.updateById(slVolumeProductionRk); + // 确认转移之后扣库存 + SlVolumeProductionRk slVolumeProductionRk1 = slVolumeProductionRkMapper.selectById(zy.getRkId()); + slVolumeProductionRk1.setRepertoryZhai(slVolumeProductionRk1.getRepertoryZhai()-Long.valueOf(zy.getZyNum())); + slVolumeProductionRkMapper.updateById(slVolumeProductionRk1); + // 给被转移入仓库加库存数量 LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery(); wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,zy.getMaterialsId()); wrapper2.eq(ManagementGoodsMaterials::getManagementId,byId.getBmanagementId()); @@ -331,6 +435,31 @@ 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