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/SlVolumeProductionRkglServiceImpl.java | 193 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 159 insertions(+), 34 deletions(-) diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java index 43888ca..ea59871 100644 --- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java +++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java @@ -1,10 +1,12 @@ 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.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.management.domain.*; import com.ruoyi.management.domain.dto.SupplierVolumeProductionRkglQuery; @@ -18,7 +20,9 @@ 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.LogClient; import com.ruoyi.system.api.feignClient.SysUserClient; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -57,6 +61,9 @@ @Resource private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper; + @Resource + private LogClient logClient; + @Override public PageDTO<SupplierVolumeProductionRkglVO> getSupplierVolumeProductionRkglList(SupplierVolumeProductionRkglQuery supplierVolumeProductionRkglQuery) { Page<SlVolumeProductionRkgl> page = new Page<>(supplierVolumeProductionRkglQuery.getPageCurr(), supplierVolumeProductionRkglQuery.getPageSize()); @@ -79,93 +86,196 @@ } @Override - public VolumeProductionRkgInfoVO getVolumeProductionRkgInfo(Integer id) { + public VolumeProductionRkgInfoVO getVolumeProductionRkgInfo(Long id) { SlVolumeProductionRkgl byId = this.getById(id); + // 根据仓库id 查询仓库管理员 VolumeProductionRkgInfoVO v=BeanUtils.copyBean(byId, VolumeProductionRkgInfoVO.class); SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId()); + v.setZhuren(slStoreManagement.getDirectorId()); + v.setZhuguan(slStoreManagement.getCompetentId()); + v.setGuanliyuan(slStoreManagement.getAdministratorId()); v.setStoreManagementName(slStoreManagement.getStoreManagementName()); - SysUser data = sysUserClient.getSysUser(Long.valueOf(byId.getSupplierId())).getData(); - v.setSupplierName(data.getNickName()); - v.setSupplierPhone(data.getPhonenumber()); - SysUser data1 = sysUserClient.getSysUser(Long.valueOf(byId.getSysId())).getData(); - v.setSysName(data1.getNickName()); - v.setSysPhone(data1.getPhonenumber()); + if (byId.getSupplierId()!=null){ + SysUser data = sysUserClient.getSysUser(Long.valueOf(byId.getSupplierId())).getData(); + if (data!=null){ + v.setSupplierName(data.getNickName()); + v.setSupplierPhone(data.getPhonenumber()); + } + } + v.setSupplierId(byId.getSupplierId()); + if (byId.getSysId()!=null){ + SysUser data1 = sysUserClient.getSysUser(Long.valueOf(byId.getSysId())).getData(); + if (data1!=null){ + v.setSysName(data1.getNickName()); + v.setSysPhone(data1.getPhonenumber()); + } + } + v.setAuthorization(byId.getAuthorizationUrl()); + v.setReason(byId.getReasonsRefusal()); return v; } - + @Autowired + private TokenService tokenService; @Override public PageDTO<SupplierVolumeProductionRkglVO> getslVolumeProductionRkglList(getVolumeProductionRkQuery getVolumeProductionRkQuery) { Page<SlVolumeProductionRkgl> page = new Page<>(getVolumeProductionRkQuery.getPageCurr(), getVolumeProductionRkQuery.getPageSize()); List<SysUser> data1 = sysUserClient.getUserSupplierList(getVolumeProductionRkQuery).getData(); Set<Long> goodsSkuIdList = null; + List<Long> managementIds = new ArrayList<>(); goodsSkuIdList = data1.stream().map(SysUser::getUserId) .collect(Collectors.toSet()); - + Long userid = tokenService.getLoginUser().getUserid(); + SysUser data2 = sysUserClient.getSysUser(userid).getData(); LambdaQueryWrapper< SlVolumeProductionRkgl> wrapper1= Wrappers.lambdaQuery(); - wrapper1.eq(SlVolumeProductionRkgl::getPresentState,getVolumeProductionRkQuery.getPresentState()); - wrapper1.eq(SlVolumeProductionRkgl::getAuditStatus,getVolumeProductionRkQuery.getAuditStatus()); + QueryWrapper<SlStoreManagement> storeManagementGrade = new QueryWrapper<SlStoreManagement>() + .eq("del_flag", "0"); + if (data2!=null){ + if (!data2.getUserType().equals("00")){ + // 仓库管理员 根据仓库管理员的等级查询对应的仓库 + switch (data2.getRoleType()){ + case 3: + storeManagementGrade.ge("store_management_grade",3); + storeManagementGrade.eq("city_code",data2.getCityCode()); + managementIds = slStoreManagementMapper.selectList(storeManagementGrade).stream() + .map(SlStoreManagement::getId).collect(Collectors.toList()); + break; + case 4: + storeManagementGrade.ge("store_management_grade",4); + storeManagementGrade.eq("county_code",data2.getCountyCode()); + managementIds = slStoreManagementMapper.selectList(storeManagementGrade).stream() + .map(SlStoreManagement::getId).collect(Collectors.toList()); + break; + case 5: + storeManagementGrade.ge("store_management_grade",5); + storeManagementGrade.eq("town_code",data2.getTownCode()); + managementIds = slStoreManagementMapper.selectList(storeManagementGrade).stream() + .map(SlStoreManagement::getId).collect(Collectors.toList()); + break; + case 6: + storeManagementGrade.eq("store_management_grade",6); + storeManagementGrade.eq("town_code",data2.getTownCode()); + managementIds = slStoreManagementMapper.selectList(storeManagementGrade).stream() + .map(SlStoreManagement::getId).collect(Collectors.toList()); + break; + } + + } + + } + if (!managementIds.isEmpty()){ + wrapper1.in(SlVolumeProductionRkgl::getManagementId,managementIds); + } + if (getVolumeProductionRkQuery.getPresentState()!=null && getVolumeProductionRkQuery.getPresentState()!=0){ + wrapper1.eq(SlVolumeProductionRkgl::getPresentState,getVolumeProductionRkQuery.getPresentState()); + } + if (getVolumeProductionRkQuery.getAuditStatus()!=null && getVolumeProductionRkQuery.getAuditStatus()!=0) { + wrapper1.eq(SlVolumeProductionRkgl::getAuditStatus, getVolumeProductionRkQuery.getAuditStatus()); + } if (goodsSkuIdList.size()>0){ + wrapper1.in(SlVolumeProductionRkgl::getSysId,goodsSkuIdList); + }else{ + goodsSkuIdList=new HashSet<>(); + goodsSkuIdList.add(0l); wrapper1.in(SlVolumeProductionRkgl::getSysId,goodsSkuIdList); } wrapper1.eq( SlVolumeProductionRkgl::getDelFlag,0); - wrapper1.orderByDesc(SlVolumeProductionRkgl::getCreateTime); + wrapper1.orderByDesc(SlVolumeProductionRkgl::getStartiTime); Page<SlVolumeProductionRkgl> page2 = this.page(page, wrapper1); - PageDTO<SupplierVolumeProductionRkglVO> SlGoodsShelfDTO = PageDTO.of(page2, SupplierVolumeProductionRkglVO.class); List<SupplierVolumeProductionRkglVO> list2 = SlGoodsShelfDTO.getList(); for(SupplierVolumeProductionRkglVO list:list2){ - SysUser data = sysUserClient.getSysUser(list.getSupplierId()).getData(); + SysUser data = sysUserClient.getSysUser(list.getSysId()).getData(); list.setNickName(data.getNickName()); list.setPhonenumber(data.getPhonenumber()); SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(list.getManagementId()); - list.setStoreManagementName(slStoreManagement.getStoreManagementName()); + if (slStoreManagement!=null){ + list.setStoreManagementName(slStoreManagement.getStoreManagementName()); + } } return SlGoodsShelfDTO; } @Override - public void addVolumeProductionRkgl(VolumeProductionRkglDTO volumeProductionRkglDTO) { + public Long addVolumeProductionRkgl(VolumeProductionRkglDTO volumeProductionRkglDTO) { + SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(volumeProductionRkglDTO.getManagementId()); + String directorId = slStoreManagement.getDirectorId(); + String competentId = slStoreManagement.getCompetentId(); + String administratorId = slStoreManagement.getAdministratorId(); Long userid = SecurityUtils.getUserId(); - if (volumeProductionRkglDTO.getId()!=null){ - SlVolumeProductionRkgl slVolumeProductionRkgl=new SlVolumeProductionRkgl(); + List<String> list1 = Arrays.asList(administratorId.split(",")); + List<String> list2 = Arrays.asList(competentId.split(",")); + List<String> list3 = Arrays.asList(directorId.split(",")); + SlVolumeProductionRkgl slVolumeProductionRkgl=null; + if (volumeProductionRkglDTO.getId()==null){ + slVolumeProductionRkgl = new SlVolumeProductionRkgl(); slVolumeProductionRkgl.setAttachmentUrl(volumeProductionRkglDTO.getAttachmentUrl()); - slVolumeProductionRkgl.setAuthorization(volumeProductionRkglDTO.getAuthorization()); - slVolumeProductionRkgl.setAuditStatus(1); + slVolumeProductionRkgl.setAuthorizationUrl(volumeProductionRkglDTO.getAuthorization()); slVolumeProductionRkgl.setManagementId(volumeProductionRkglDTO.getManagementId()); + slVolumeProductionRkgl.setAuditStatus(1); slVolumeProductionRkgl.setPresentState(1); slVolumeProductionRkgl.setSupplierId(volumeProductionRkglDTO.getSupplierId()); slVolumeProductionRkgl.setSource(volumeProductionRkglDTO.getSource()); slVolumeProductionRkgl.setStartiTime(new Date()); slVolumeProductionRkgl.setSysId(userid); slVolumeProductionRkgl.setRemark(volumeProductionRkglDTO.getRemark()); + // 如果发起人是主任 主管 或 管理员 + if (list1.contains(userid.toString())){ + slVolumeProductionRkgl.setAuditStatus(1); + slVolumeProductionRkgl.setPresentState(2); + } + if (list2.contains(userid.toString())){ + slVolumeProductionRkgl.setAuditStatus(1); + slVolumeProductionRkgl.setPresentState(3); + } + if (list3.contains(userid.toString())){ + slVolumeProductionRkgl.setAuditStatus(3); + slVolumeProductionRkgl.setPresentState(4); + } this.save(slVolumeProductionRkgl); }else{ - SlVolumeProductionRkgl byId = this.getById(volumeProductionRkglDTO.getId()); + slVolumeProductionRkgl = this.getById(volumeProductionRkglDTO.getId()); + slVolumeProductionRkgl.setPresentState(1); + slVolumeProductionRkgl.setAuditStatus(1); if (volumeProductionRkglDTO.getSource()!=null){ - byId.setSource(volumeProductionRkglDTO.getSource()); + slVolumeProductionRkgl.setSource(volumeProductionRkglDTO.getSource()); } if (volumeProductionRkglDTO.getRemark()!=null){ - byId.setRemark(volumeProductionRkglDTO.getRemark()); + slVolumeProductionRkgl.setRemark(volumeProductionRkglDTO.getRemark()); } if (volumeProductionRkglDTO.getSupplierId()!=null){ - byId.setSupplierId(volumeProductionRkglDTO.getSupplierId()); + slVolumeProductionRkgl.setSupplierId(volumeProductionRkglDTO.getSupplierId()); } if (volumeProductionRkglDTO.getAttachmentUrl()!=null){ - byId.setAttachmentUrl(volumeProductionRkglDTO.getAttachmentUrl()); + slVolumeProductionRkgl.setAttachmentUrl(volumeProductionRkglDTO.getAttachmentUrl()); } if (volumeProductionRkglDTO.getAuthorization()!=null){ - byId.setAuthorization(volumeProductionRkglDTO.getAuthorization()); + slVolumeProductionRkgl.setAuthorizationUrl(volumeProductionRkglDTO.getAuthorization()); } - this.updateById(byId); + // 如果发起人是主任 主管 或 管理员 + if (list1.contains(userid.toString())){ + slVolumeProductionRkgl.setAuditStatus(1); + slVolumeProductionRkgl.setPresentState(2); + } + if (list2.contains(userid.toString())){ + slVolumeProductionRkgl.setAuditStatus(1); + slVolumeProductionRkgl.setPresentState(3); + } + if (list3.contains(userid.toString())){ + slVolumeProductionRkgl.setAuditStatus(3); + slVolumeProductionRkgl.setPresentState(4); + } + this.updateById(slVolumeProductionRkgl); + } + return slVolumeProductionRkgl.getId(); } @Override - public VolumeProductionRkgInventoryVO getVolumeProductionRkgInventory(Integer id) { + public VolumeProductionRkgInventoryVO getVolumeProductionRkgInventory(Long id) { SlVolumeProductionRkgl byId = this.getById(id); VolumeProductionRkgInventoryVO vo = new VolumeProductionRkgInventoryVO(); - 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()); @@ -173,7 +283,7 @@ vo.setStoreManagementName(slStoreManagement.getStoreManagementName()); String directorId = slStoreManagement.getDirectorId(); List<String> stri = Arrays.asList(directorId.split(",")); - String str1 = null; + String str1 =""; if (stri.size() > 0) { for (String str : stri) { SysUser data1 = sysUserClient.getSysUser(Long.valueOf(str)).getData(); @@ -184,7 +294,7 @@ String competentId = slStoreManagement.getCompetentId(); List<String> stri1 = Arrays.asList(competentId.split(",")); - String str11 = null; + String str11 = ""; if (stri1.size() > 0) { for (String str : stri1) { SysUser data1 = sysUserClient.getSysUser(Long.valueOf(str)).getData(); @@ -195,7 +305,7 @@ String administratorId = slStoreManagement.getAdministratorId(); List<String> stri11 = Arrays.asList(administratorId.split(",")); - String str111 = null; + String str111 = ""; if (stri11.size() > 0) { for (String str : stri11) { SysUser data1 = sysUserClient.getSysUser(Long.valueOf(str)).getData(); @@ -211,6 +321,7 @@ wrapper1.eq(SlVolumeProductionRk::getVolumeProductionRkglId, byId.getId()); wrapper1.eq(SlVolumeProductionRk::getDelFlag, 0); wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime); + SysUser data1 = sysUserClient.getSysUser(byId.getSupplierId()).getData(); List<SlVolumeProductionRk> page2 = slVolumeProductionRkMapper.selectList(wrapper1); for (SlVolumeProductionRk list : page2) { ManagementimgVolumeProductionRkVO rkVO = new ManagementimgVolumeProductionRkVO(); @@ -220,26 +331,34 @@ rkVO.setRkModel(list.getRkModel()); rkVO.setRkNum(list.getRkNum()); rkVO.setRkPice(list.getRkPice()); - rkVO.setStoreManagementNumber(rkVO.getStoreManagementNumber()); + rkVO.setStoreManagementNumber(list.getStoreManagementNumber()); SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); rkVO.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); + rkVO.setSupplierName(data1.getNickName()); + managementList.add(rkVO); } + vo.setManagementimgVolumeProductionRkVOList(managementList); return vo; } @Override - public void rk(Integer id) { + public void rk(Long id) { LambdaQueryWrapper<SlVolumeProductionRk> wrapper1 = Wrappers.lambdaQuery(); wrapper1.eq(SlVolumeProductionRk::getVolumeProductionRkglId, id); wrapper1.eq(SlVolumeProductionRk::getDelFlag, 0); wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime); List<SlVolumeProductionRk> page2 = slVolumeProductionRkMapper.selectList(wrapper1); for (SlVolumeProductionRk list : page2) { + list.setNewAddTime("1"); + list.setSmerwmNum(list.getErwmNum()); LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery(); wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId()); wrapper2.eq(ManagementGoodsMaterials::getManagementId,list.getManagementId()); wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0); ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2); + + SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId()); + if (managementGoodsMaterials!=null){ Long repertorySum = managementGoodsMaterials.getRepertorySum(); Long repertoryZhai = managementGoodsMaterials.getRepertoryZhai(); @@ -247,6 +366,7 @@ Long re1=repertoryZhai+list.getRkNum(); managementGoodsMaterials.setRepertorySum(re); managementGoodsMaterials.setRepertoryZhai(re1); + managementGoodsMaterials.setRepertory(slGoodsMaterials.getRepertory()); managementGoodsMaterialsMapper.updateById(managementGoodsMaterials); }else{ ManagementGoodsMaterials managementGoodsMaterials1=new ManagementGoodsMaterials(); @@ -254,14 +374,19 @@ managementGoodsMaterials1.setGoodsMaterialsId(list.getMaterialsId()); managementGoodsMaterials1.setRepertoryZhai(list.getRkNum()); managementGoodsMaterials1.setRepertorySum(list.getRkNum()); + managementGoodsMaterials1.setCreateTime(new Date()); + managementGoodsMaterials1.setRepertory(slGoodsMaterials.getRepertory()); managementGoodsMaterialsMapper.insert(managementGoodsMaterials1); } + slVolumeProductionRkMapper.updateById(list); } SlVolumeProductionRkgl byId = this.getById(id); byId.setPresentState(4); byId.setAuditStatus(6); byId.setEndTime(new Date()); this.updateById(byId); + + logClient.savelong(); } } -- Gitblit v1.7.1