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 | 219 ++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 162 insertions(+), 57 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 33761db..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,6 +45,10 @@ @Resource private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper; + @Autowired + private SlAuditMapper slAuditMapper; + @Autowired + private SlAuditRecordMapper slAuditRecordMapper; @Override public PageDTO<SlStoreManagement> getStoreManagementList(StoreManagementQuery storeManagementQuery) { @@ -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()) @@ -184,73 +217,145 @@ if (!data.getUserType().equals("00")){ // 仓库管理员 根据仓库管理员的等级查询对应的仓库 switch (data.getRoleType()){ - case 3: - if (StoreManagementQuery.getStoreManagementGrade()!=null&&StoreManagementQuery.getStoreManagementGrade()!=0){ - wrapper.ge(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + 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.eq(SlStoreManagement::getStoreManagementGrade,3); - + // 没有选择仓库等级 根据登陆人等级来查询 + wrapper.ge(SlStoreManagement::getStoreManagementGrade,2); } - if (StoreManagementQuery.getCityCode()!=null && StoreManagementQuery.getCityCode()!=""){ - wrapper.eq(SlStoreManagement::getCityCode,StoreManagementQuery.getCityCode()); - }else if (StoreManagementQuery.getCountyCode()!=null){ - wrapper.eq(SlStoreManagement::getCountyCode,StoreManagementQuery.getCountyCode()); - wrapper.isNull(SlStoreManagement::getTownCode); - }else if (StoreManagementQuery.getTownCode()!=null){ - wrapper.eq(SlStoreManagement::getTownCode,StoreManagementQuery.getTownCode()); + + break; + case 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.isNull(SlStoreManagement::getCountyCode); + wrapper.ge(SlStoreManagement::getStoreManagementGrade,3); } break; case 4: - if (StoreManagementQuery.getStoreManagementGrade()!=null&&StoreManagementQuery.getStoreManagementGrade()!=0){ - wrapper.ge(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + 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::getStoreManagementGrade,4); - } - if (StoreManagementQuery.getCountyCode()!=null && StoreManagementQuery.getCountyCode()!=""){ - wrapper.eq(SlStoreManagement::getCountyCode,StoreManagementQuery.getCountyCode()); - }else{ + // 没有选择仓库等级 根据登陆人等级来查询 wrapper.eq(SlStoreManagement::getCountyCode,data.getCountyCode()); - wrapper.isNull(SlStoreManagement::getTownCode); + wrapper.ge(SlStoreManagement::getStoreManagementGrade,4); } break; case 5: - if (StoreManagementQuery.getStoreManagementGrade()!=null&&StoreManagementQuery.getStoreManagementGrade()!=0){ - wrapper.ge(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); - }else{ - wrapper.eq(SlStoreManagement::getStoreManagementGrade,5); - } - if (StoreManagementQuery.getTownCode()!=null && StoreManagementQuery.getTownCode()!=""){ - wrapper.eq(SlStoreManagement::getTownCode,StoreManagementQuery.getTownCode()); - }else{ - wrapper.eq(SlStoreManagement::getTownCode,data.getTownCode()); + 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: - if (StoreManagementQuery.getStoreManagementGrade()!=null&&StoreManagementQuery.getStoreManagementGrade()!=0){ - wrapper.ge(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + 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()!=0){ - wrapper.eq(SlStoreManagement::getStoreManagementGrade,StoreManagementQuery.getStoreManagementGrade()); + 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); + } } - 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()); - } + } } @@ -274,8 +379,6 @@ case 3: wrapper.ge(SlStoreManagement::getStoreManagementGrade,3); wrapper.eq(SlStoreManagement::getCityCode,data.getCityCode()); - - break; case 4: wrapper.eq(SlStoreManagement::getCountyCode,data.getCountyCode()); @@ -298,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