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/SlStoreManagementServiceImpl.java | 218 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 186 insertions(+), 32 deletions(-) diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlStoreManagementServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlStoreManagementServiceImpl.java index 88eb02f..600df28 100644 --- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlStoreManagementServiceImpl.java +++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlStoreManagementServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.management.service.impl; +import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.A; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -8,21 +9,18 @@ import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.common.security.utils.SecurityUtils; -import com.ruoyi.management.domain.ManagementGoodsMaterials; -import com.ruoyi.management.domain.SlStoreManagement; +import com.ruoyi.management.domain.*; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ruoyi.management.domain.SlVolumeProductionRk; import com.ruoyi.management.domain.dto.QStoreManagementQuery; import com.ruoyi.management.domain.dto.StoreManagementDTO; import com.ruoyi.management.domain.dto.StoreManagementQuery; import com.ruoyi.management.domain.vo.SlGoodsShelfVO; import com.ruoyi.management.domain.vo.SlStoreManagementInventoryVO; -import com.ruoyi.management.mapper.ManagementGoodsMaterialsMapper; -import com.ruoyi.management.mapper.SlStoreManagementMapper; -import com.ruoyi.management.mapper.SlVolumeProductionRkMapper; -import com.ruoyi.management.mapper.SlVolumeProductionRkglMapper; +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.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; @@ -47,19 +45,23 @@ @Resource private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper; + @Autowired + private SlAuditMapper slAuditMapper; + @Autowired + private SlAuditRecordMapper slAuditRecordMapper; @Override public PageDTO<SlStoreManagement> getStoreManagementList(StoreManagementQuery storeManagementQuery) { Page<SlStoreManagement> page = new Page<>(storeManagementQuery.getPageCurr(), storeManagementQuery.getPageSize()); LambdaQueryWrapper< SlStoreManagement> wrapper= Wrappers.lambdaQuery(); if (storeManagementQuery.getStoreManagementName()!=null&&storeManagementQuery.getStoreManagementName()!=""){ - wrapper.eq(SlStoreManagement::getStoreManagementName,storeManagementQuery.getStoreManagementName()); + wrapper.like(SlStoreManagement::getStoreManagementName,storeManagementQuery.getStoreManagementName()); } - if(storeManagementQuery.getStoreManagementNo()!=null&&storeManagementQuery.getStoreManagementNo()!=""){ - wrapper.eq(SlStoreManagement::getStoreManagementNo,storeManagementQuery.getStoreManagementNo()); + if(storeManagementQuery.getStoreManagementNo()!=null&&storeManagementQuery.getStoreManagementNo()!="" ){ + wrapper.like(SlStoreManagement::getStoreManagementNo,storeManagementQuery.getStoreManagementNo()); } - if ( storeManagementQuery.getStoreManagementGrade()!=null &&!storeManagementQuery.getStoreManagementGrade().equals("0") ){ + if ( storeManagementQuery.getStoreManagementGrade()!=null &&!storeManagementQuery.getStoreManagementGrade().equals("0") ){ String[] split = storeManagementQuery.getStoreManagementGrade().split(","); List<Integer> arr=new ArrayList<>(); for(int i=0;i<split.length;i++){ @@ -105,6 +107,37 @@ this.save(slStoreManagement); }else { SlStoreManagement slStoreManagement = this.getById(storeManagementDTO.getId()); + if (!(slStoreManagement.getAdministratorId().equals(storeManagementDTO.getAdministratorId()) + && slStoreManagement.getCompetentId().equals(storeManagementDTO.getCompetentId()) + && slStoreManagement.getDirectorId().equals(storeManagementDTO.getDirectorId()))){ + // 如果修改了 主任 主管 管理员id 那么需要将正在走审批流程的单子全部修改 + List<SlAudit> list1 =slAuditMapper.selectList(new LambdaQueryWrapper<SlAudit>().eq(SlAudit::getManagementId, storeManagementDTO.getId()) + .eq(SlAudit::getDelFlag, "0").ne(SlAudit::getState, 4)); + for (SlAudit slAudit : list1) { + List<SlAuditRecord> list = slAuditRecordMapper.selectList(new LambdaQueryWrapper<SlAuditRecord>() + .eq(SlAuditRecord::getAuditId, slAudit.getId()) + .eq(SlAuditRecord::getDelFlag, "0")); + for (SlAuditRecord slAuditRecord : list) { + if (slAuditRecord.getType() == 1){ + if (slAuditRecord.getState()!=2){ + slAuditRecord.setShenhId(storeManagementDTO.getAdministratorId()); + } + } + if (slAuditRecord.getType() == 2){ + if (slAuditRecord.getState()!=2){ + slAuditRecord.setShenhId(storeManagementDTO.getCompetentId()); + } + } + if (slAuditRecord.getType() == 3){ + if (slAuditRecord.getState()!=2){ + slAuditRecord.setShenhId(storeManagementDTO.getDirectorId()); + } + } + slAuditRecordMapper.updateById(slAuditRecord); + } + } + } + List<SlStoreManagement> list = this.list(new QueryWrapper<SlStoreManagement>() .eq("store_management_grade", storeManagementDTO.getStoreManagementGrade()) .eq("store_management_no", storeManagementDTO.getStoreManagementNo()) @@ -176,18 +209,6 @@ @Override public List<SlStoreManagement> QueryStoreManagementList(QStoreManagementQuery StoreManagementQuery) { LambdaQueryWrapper< SlStoreManagement> wrapper= Wrappers.lambdaQuery(); - if (StoreManagementQuery.getCityCode()!=null && StoreManagementQuery.getCityCode()!=""){ - wrapper.eq(SlStoreManagement::getCityCode,StoreManagementQuery.getCityCode()); - } - if (StoreManagementQuery.getCountyCode()!=null && StoreManagementQuery.getCountyCode()!=""){ - wrapper.eq(SlStoreManagement::getCountyCode,StoreManagementQuery.getCountyCode()); - } - if (StoreManagementQuery.getTownCode()!=null && StoreManagementQuery.getTownCode()!=""){ - wrapper.eq(SlStoreManagement::getTownCode,StoreManagementQuery.getTownCode()); - } - if (StoreManagementQuery.getStoreManagementGrade()!=null&&StoreManagementQuery.getStoreManagementGrade()!=0){ - wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); - } wrapper.eq(SlStoreManagement::getDelFlag,0); wrapper.orderByDesc(SlStoreManagement::getCreateTime); Long userid = tokenService.getLoginUser().getUserid(); @@ -196,18 +217,143 @@ if (!data.getUserType().equals("00")){ // 仓库管理员 根据仓库管理员的等级查询对应的仓库 switch (data.getRoleType()){ + case 2: + if (StoreManagementQuery.getStoreManagementGrade()!=null&&StoreManagementQuery.getStoreManagementGrade()!=""){ + if (StoreManagementQuery.getTownCode()!=null && StoreManagementQuery.getTownCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getTownCode,StoreManagementQuery.getTownCode()); + }else if (StoreManagementQuery.getCountyCode()!=null && StoreManagementQuery.getCountyCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getCountyCode,StoreManagementQuery.getCountyCode()); + }else if (StoreManagementQuery.getCityCode()!=null && StoreManagementQuery.getCityCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getCityCode,StoreManagementQuery.getCityCode()); + }else{ + String[] split = StoreManagementQuery.getStoreManagementGrade().split(","); + // 如果没指定所在地 查所有 + wrapper.in(SlStoreManagement::getStoreManagementGrade,split); + } + }else{ + // 没有选择仓库等级 根据登陆人等级来查询 + wrapper.ge(SlStoreManagement::getStoreManagementGrade,2); + } + + break; case 3: - wrapper.ge(SlStoreManagement::getStoreManagementGrade,3); + if (StoreManagementQuery.getStoreManagementGrade()!=null&&StoreManagementQuery.getStoreManagementGrade()!=""){ + if (StoreManagementQuery.getTownCode()!=null&& StoreManagementQuery.getTownCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getTownCode,StoreManagementQuery.getTownCode()); + }else if (StoreManagementQuery.getCountyCode()!=null && StoreManagementQuery.getCountyCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getCountyCode,StoreManagementQuery.getCountyCode()); + }else if (StoreManagementQuery.getCityCode()!=null && StoreManagementQuery.getCityCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getCityCode,StoreManagementQuery.getCityCode()); + }else{ + // 如果没指定所在地 查所有 + String[] split = StoreManagementQuery.getStoreManagementGrade().split(","); + // 如果没指定所在地 查所有 + wrapper.in(SlStoreManagement::getStoreManagementGrade,split); + wrapper.eq(SlStoreManagement::getCityCode,data.getCityCode()); + + } + }else{ + // 没有选择仓库等级 根据登陆人等级来查询 并且根据登陆人所在市来查询 + wrapper.eq(SlStoreManagement::getCityCode,data.getCityCode()); + wrapper.ge(SlStoreManagement::getStoreManagementGrade,3); + } break; case 4: - wrapper.ge(SlStoreManagement::getStoreManagementGrade,4); + if (StoreManagementQuery.getStoreManagementGrade()!=null&&StoreManagementQuery.getStoreManagementGrade()!=""){ + if (StoreManagementQuery.getTownCode()!=null && StoreManagementQuery.getTownCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getTownCode,StoreManagementQuery.getTownCode()); + }else if (StoreManagementQuery.getCountyCode()!=null && StoreManagementQuery.getCountyCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getCountyCode,StoreManagementQuery.getCountyCode()); + }else if (StoreManagementQuery.getCityCode()!=null && StoreManagementQuery.getCityCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getCityCode,StoreManagementQuery.getCityCode()); + }else{ + // 如果没指定所在地 查所有 + String[] split = StoreManagementQuery.getStoreManagementGrade().split(","); + // 如果没指定所在地 查所有 + wrapper.in(SlStoreManagement::getStoreManagementGrade,split); + wrapper.eq(SlStoreManagement::getCountyCode,data.getCountyCode()); + } + }else{ + // 没有选择仓库等级 根据登陆人等级来查询 + wrapper.eq(SlStoreManagement::getCountyCode,data.getCountyCode()); + wrapper.ge(SlStoreManagement::getStoreManagementGrade,4); + } break; case 5: - wrapper.ge(SlStoreManagement::getStoreManagementGrade,5); + if (StoreManagementQuery.getStoreManagementGrade()!=null&&StoreManagementQuery.getStoreManagementGrade()!=""){ + if (StoreManagementQuery.getTownCode()!=null && StoreManagementQuery.getTownCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getTownCode,StoreManagementQuery.getTownCode()); + }else if (StoreManagementQuery.getCountyCode()!=null && StoreManagementQuery.getCountyCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getCountyCode,StoreManagementQuery.getCountyCode()); + }else if (StoreManagementQuery.getCityCode()!=null && StoreManagementQuery.getCityCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getCityCode,StoreManagementQuery.getCityCode()); + }else{ + // 如果没指定所在地 查所有 + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getTownCode,data.getTownCode()); + + } + }else{ + // 没有选择仓库等级 根据登陆人等级来查询 + wrapper.eq(SlStoreManagement::getTownCode,data.getTownCode()); + wrapper.eq(SlStoreManagement::getStoreManagementGrade,5); + } break; case 6: - wrapper.eq(SlStoreManagement::getStoreManagementGrade,6); + if (StoreManagementQuery.getStoreManagementGrade()!=null&&StoreManagementQuery.getStoreManagementGrade()!=""){ + if (StoreManagementQuery.getTownCode()!=null&& StoreManagementQuery.getTownCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getTownCode,StoreManagementQuery.getTownCode()); + }else if (StoreManagementQuery.getCountyCode()!=null && StoreManagementQuery.getCountyCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getCountyCode,StoreManagementQuery.getCountyCode()); + }else if (StoreManagementQuery.getCityCode()!=null && StoreManagementQuery.getCityCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getCityCode,StoreManagementQuery.getCityCode()); + }else{ + // 如果没指定所在地 查所有 + String[] split = StoreManagementQuery.getStoreManagementGrade().split(","); + // 如果没指定所在地 查所有 + wrapper.in(SlStoreManagement::getStoreManagementGrade,split); + wrapper.eq(SlStoreManagement::getTownCode,data.getTownCode()); + } + }else{ + // 没有选择仓库等级 根据登陆人等级来查询 + wrapper.eq(SlStoreManagement::getTownCode,data.getTownCode()); + wrapper.eq(SlStoreManagement::getStoreManagementGrade,6); + } break; + } + + }else { + if (StoreManagementQuery.getStoreManagementGrade()!=null&&StoreManagementQuery.getStoreManagementGrade()!="" ){ + if (StoreManagementQuery.getTownCode()!=null && StoreManagementQuery.getTownCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getTownCode,StoreManagementQuery.getTownCode()); + }else if (StoreManagementQuery.getCountyCode()!=null && StoreManagementQuery.getCountyCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getCountyCode,StoreManagementQuery.getCountyCode()); + }else if (StoreManagementQuery.getCityCode()!=null && StoreManagementQuery.getCityCode()!=""){ + wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + wrapper.eq(SlStoreManagement::getCityCode,StoreManagementQuery.getCityCode()); + }else { + // 如果没指定所在地 查所有 + String[] split = StoreManagementQuery.getStoreManagementGrade().split(","); + // 如果没指定所在地 查所有 + wrapper.in(SlStoreManagement::getStoreManagementGrade,split); + } } } @@ -232,15 +378,21 @@ switch (data.getRoleType()){ case 3: wrapper.ge(SlStoreManagement::getStoreManagementGrade,3); + wrapper.eq(SlStoreManagement::getCityCode,data.getCityCode()); break; case 4: + wrapper.eq(SlStoreManagement::getCountyCode,data.getCountyCode()); + wrapper.ge(SlStoreManagement::getStoreManagementGrade,4); break; case 5: + wrapper.eq(SlStoreManagement::getTownCode,data.getTownCode()); + wrapper.ge(SlStoreManagement::getStoreManagementGrade,5); break; case 6: wrapper.eq(SlStoreManagement::getStoreManagementGrade,6); + wrapper.eq(SlStoreManagement::getTownCode,data.getTownCode()); break; } } @@ -249,12 +401,14 @@ } if ( storeManagementQuery.getStoreManagementGrade()!=null&&!storeManagementQuery.getStoreManagementGrade().equals("0")){ - String[] split = storeManagementQuery.getStoreManagementGrade().split(","); - List<Integer> arr=new ArrayList<>(); - for(int i=0;i<split.length;i++){ - arr.add(Integer.valueOf(split[i])); + if (!storeManagementQuery.getStoreManagementGrade().contains("0")){ + String[] split = storeManagementQuery.getStoreManagementGrade().split(","); + List<Integer> arr=new ArrayList<>(); + for(int i=0;i<split.length;i++){ + arr.add(Integer.valueOf(split[i])); + } + wrapper.in(SlStoreManagement::getStoreManagementGrade,arr); } - wrapper.in(SlStoreManagement::getStoreManagementGrade,arr); } wrapper.eq( SlStoreManagement::getDelFlag,0); wrapper.orderByDesc(SlStoreManagement::getCreateTime); -- Gitblit v1.7.1