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 | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 104 insertions(+), 12 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 b8448b4..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; @@ -20,6 +22,7 @@ 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; @@ -85,30 +88,84 @@ @Override 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(); + 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()); - 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.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(); + 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()); } @@ -123,9 +180,8 @@ 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){ @@ -142,20 +198,40 @@ @Override 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(); + 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){ - new SlVolumeProductionRkgl(); + slVolumeProductionRkgl = new SlVolumeProductionRkgl(); slVolumeProductionRkgl.setAttachmentUrl(volumeProductionRkglDTO.getAttachmentUrl()); slVolumeProductionRkgl.setAuthorizationUrl(volumeProductionRkglDTO.getAuthorization()); - slVolumeProductionRkgl.setAuditStatus(1); 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 = this.getById(volumeProductionRkglDTO.getId()); @@ -175,6 +251,19 @@ } if (volumeProductionRkglDTO.getAuthorization()!=null){ slVolumeProductionRkgl.setAuthorizationUrl(volumeProductionRkglDTO.getAuthorization()); + } + // 如果发起人是主任 主管 或 管理员 + 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); @@ -260,6 +349,8 @@ 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()); @@ -287,6 +378,7 @@ managementGoodsMaterials1.setRepertory(slGoodsMaterials.getRepertory()); managementGoodsMaterialsMapper.insert(managementGoodsMaterials1); } + slVolumeProductionRkMapper.updateById(list); } SlVolumeProductionRkgl byId = this.getById(id); byId.setPresentState(4); -- Gitblit v1.7.1