| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | |
| | | @Resource |
| | | private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper; |
| | | @Autowired |
| | | private SlAuditMapper slAuditMapper; |
| | | @Autowired |
| | | private SlAuditRecordMapper slAuditRecordMapper; |
| | | |
| | | @Override |
| | | public PageDTO<SlStoreManagement> getStoreManagementList(StoreManagementQuery storeManagementQuery) { |
| | |
| | | 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()) |
| | |
| | | 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()); |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | case 3: |
| | | wrapper.ge(SlStoreManagement::getStoreManagementGrade,3); |
| | | wrapper.eq(SlStoreManagement::getCityCode,data.getCityCode()); |
| | | |
| | | |
| | | break; |
| | | case 4: |
| | | wrapper.eq(SlStoreManagement::getCountyCode,data.getCountyCode()); |
| | |
| | | } |
| | | |
| | | 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); |