feat: bug-369 添加对产品线和数据权限的支持
This commit is contained in:
parent
fa2e24c163
commit
1f7d5728ce
|
|
@ -1,6 +1,7 @@
|
|||
package com.nflg.mobilebroken.admin.controller;
|
||||
|
||||
import com.nflg.mobilebroken.admin.annotation.ApiMark;
|
||||
import com.nflg.mobilebroken.common.constant.Constant;
|
||||
import com.nflg.mobilebroken.common.pojo.ApiResult;
|
||||
import com.nflg.mobilebroken.common.pojo.PageData;
|
||||
import com.nflg.mobilebroken.common.pojo.request.DataRoleAddRequest;
|
||||
|
|
@ -9,7 +10,9 @@ import com.nflg.mobilebroken.common.pojo.request.EnableRoleRequest;
|
|||
import com.nflg.mobilebroken.common.pojo.request.RoleSearchRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.DataRoleVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.SimpleVO;
|
||||
import com.nflg.mobilebroken.repository.entity.DictionaryItem;
|
||||
import com.nflg.mobilebroken.repository.service.IDataRoleService;
|
||||
import com.nflg.mobilebroken.repository.service.IDictionaryItemService;
|
||||
import com.nflg.mobilebroken.starter.annotation.MethodInfoMark;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
|
|
@ -29,6 +32,19 @@ public class DataRoleController {
|
|||
@Resource
|
||||
private IDataRoleService dataRoleService;
|
||||
|
||||
@Resource
|
||||
private IDictionaryItemService dictionaryItemService;
|
||||
|
||||
/**
|
||||
* 获取数据权限模块列表
|
||||
* @return 模块列表
|
||||
*/
|
||||
@GetMapping("getModules")
|
||||
@ApiMark(moduleName = "数据权限角色管理", apiName = "获取数据权限模块列表",isPublic = true)
|
||||
private ApiResult<List<DictionaryItem>> getModules(){
|
||||
return ApiResult.success(dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_DATAPERMISSION));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增角色
|
||||
* @param request 请求参数
|
||||
|
|
|
|||
|
|
@ -72,6 +72,12 @@ public class DeviceComponentController extends ControllerBase {
|
|||
@PostMapping("getList")
|
||||
@ApiMark(moduleName = "机型部件管理", apiName = "获取设备机型列表")
|
||||
public ApiResult<PageData<DeviceTypeVO>> getList(@RequestBody DeviceComponentQuery query){
|
||||
List<String> modelNos = deviceService.getModelNoPermission(AdminUserUtil.getUserId());
|
||||
if (StrUtil.isNotBlank(query.getModelNo())){
|
||||
if (!modelNos.contains(query.getModelNo())){
|
||||
return ApiResult.success(new PageData<>());
|
||||
}
|
||||
}
|
||||
List<DeviceComponent1VO> deviceComponents=deviceComponentService.getWithDeviceType(query.getModelNo(),query.getComponentSort());
|
||||
Map<String,List<DeviceComponent1VO>> mps=deviceComponents.stream().collect(Collectors.groupingBy(DeviceComponent1VO::getDeviceType));
|
||||
AtomicInteger index= new AtomicInteger();
|
||||
|
|
@ -83,7 +89,9 @@ public class DeviceComponentController extends ControllerBase {
|
|||
if (index.get() >= first && index.get() < last) {
|
||||
DeviceTypeVO vo=new DeviceTypeVO();
|
||||
vo.setDeviceType(k);
|
||||
vo.setItems(v.stream().map(d -> new DeviceComponentVO()
|
||||
vo.setItems(v.stream()
|
||||
.filter(it->modelNos.contains(it.getModelNo()))
|
||||
.map(d -> new DeviceComponentVO()
|
||||
.setId(d.getId())
|
||||
.setModelNo(d.getModelNo())
|
||||
.setPartList(deviceComponentDetailService.getByModelNo(d.getModelNo()))).collect(Collectors.toList())
|
||||
|
|
|
|||
|
|
@ -126,5 +126,16 @@ public class Constant {
|
|||
public static final String DICTIONARY_AD_TYPE ="AdvertisementType";
|
||||
|
||||
public static final String DICTIONARY_AD_POSITION ="AdvertisementPosition";
|
||||
|
||||
public static final String DICTIONARY_SERVICE = "SystemService";
|
||||
|
||||
public static String PERMISSION_DEVICE_SEARCH="设备查询";
|
||||
|
||||
public static String PERMISSION_DEVICE_MANAGE="设备管理";
|
||||
|
||||
public static String PERMISSION_TICKET_MANAGE="工单管理";
|
||||
|
||||
public static String PERMISSION_MODEL_MANAGE="机型管理";
|
||||
|
||||
public static String DICTIONARY_DATAPERMISSION="DataPermissionModule";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import com.nflg.mobilebroken.common.constant.ProductionLinePermissionType;
|
|||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class DataRoleItemRequest {
|
||||
|
|
@ -19,4 +20,9 @@ public class DataRoleItemRequest {
|
|||
*/
|
||||
@NotNull
|
||||
private ProductionLinePermissionType type;
|
||||
|
||||
/**
|
||||
* 产品线ID列表
|
||||
*/
|
||||
private List<Integer> productionLineIds;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,80 +0,0 @@
|
|||
package com.nflg.mobilebroken.product.controller;
|
||||
|
||||
import com.nflg.mobilebroken.common.pojo.ApiResult;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.*;
|
||||
import com.nflg.mobilebroken.common.util.MultilingualUtil;
|
||||
import com.nflg.mobilebroken.repository.service.IProductModelService;
|
||||
import com.nflg.mobilebroken.repository.service.IProductSeriesService;
|
||||
import com.nflg.mobilebroken.repository.service.IProductTypeService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 系列
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/data")
|
||||
public class DataController extends BaseController{
|
||||
|
||||
@Resource
|
||||
private IProductSeriesService productSeriesService;
|
||||
|
||||
@Resource
|
||||
private IProductTypeService productTypeService;
|
||||
|
||||
@Resource
|
||||
private IProductModelService productModelService;
|
||||
|
||||
/**
|
||||
* 获取产品系列列表
|
||||
*/
|
||||
@GetMapping("/getSeries")
|
||||
public ApiResult<List<ProductSeriesVO>> getSeries(){
|
||||
return ApiResult.success(productSeriesService.get(MultilingualUtil.getLanguage()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取产品类型列表
|
||||
* @param seriesId 产品系列id
|
||||
*/
|
||||
@GetMapping("/getType")
|
||||
public ApiResult<List<ProductTypeVO>> getType(@Valid @RequestParam @NotNull Integer seriesId){
|
||||
return ApiResult.success(productTypeService.get(seriesId,MultilingualUtil.getLanguage()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取产品机型列表
|
||||
* @param typeId 产品类型id
|
||||
*/
|
||||
@GetMapping("/getModel")
|
||||
public ApiResult<List<ProductModelVO>> getModel(@Valid @RequestParam @NotNull Integer typeId){
|
||||
return ApiResult.success(productModelService.get(typeId,MultilingualUtil.getLanguage()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取产品机型详情
|
||||
* @param modelId 产品机型id
|
||||
*/
|
||||
@GetMapping("/getModelInfo")
|
||||
public ApiResult<ProductModelInfoVO> getModelInfo(@Valid @RequestParam @NotNull Integer modelId){
|
||||
return ApiResult.success(productModelService.getInfo(modelId,MultilingualUtil.getLanguage()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取产品机型参数列表
|
||||
* @param modelId 产品机型id
|
||||
*/
|
||||
@GetMapping("/getModelParams")
|
||||
public ApiResult<ProductModelParamsVO> getModelParams(@Valid @RequestParam @NotNull Integer modelId){
|
||||
return ApiResult.success(productModelService.getParams(modelId,MultilingualUtil.getLanguage()));
|
||||
}
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ package com.nflg.mobilebroken.repository.mapper;
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.AdminUserSimpleVO;
|
||||
import com.nflg.mobilebroken.repository.entity.AdminUser;
|
||||
import com.nflg.mobilebroken.repository.entity.DataRole;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -21,4 +22,6 @@ public interface AdminUserMapper extends BaseMapper<AdminUser> {
|
|||
List<AdminUserSimpleVO> getSimples(List<Integer> userIds);
|
||||
|
||||
List<Integer> getTickerMangagers(List<String> titleCodes);
|
||||
|
||||
DataRole getDataPermission(Integer userId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@ import com.nflg.mobilebroken.common.pojo.request.AnonymousTicketSearchRequest;
|
|||
import com.nflg.mobilebroken.common.pojo.vo.AnonymousTicketSearchVO;
|
||||
import com.nflg.mobilebroken.repository.entity.AnonymousTicket;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
|
|
@ -16,5 +18,5 @@ import com.nflg.mobilebroken.repository.entity.AnonymousTicket;
|
|||
*/
|
||||
public interface AnonymousTicketMapper extends BaseMapper<AnonymousTicket> {
|
||||
|
||||
IPage<AnonymousTicketSearchVO> search(AnonymousTicketSearchRequest request, IPage<?> objectPage);
|
||||
IPage<AnonymousTicketSearchVO> search(AnonymousTicketSearchRequest request, List<Integer> productionLines, IPage<?> objectPage);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,11 +31,11 @@ public interface DeviceMapper extends BaseMapper<Device> {
|
|||
* @param query
|
||||
* @return
|
||||
*/
|
||||
Page<Device> getList(@Param("page") Page<PageBaseQuery> page, PageBaseQuery query);
|
||||
Page<Device> getList(@Param("page") Page<PageBaseQuery> page, PageBaseQuery query,List<Integer> productionLines);
|
||||
|
||||
void batchDelByIds(@Param("ids")List<Integer> ids);
|
||||
|
||||
Page<DeviceVO> searchDevice(SearchDeviceRequest request, List<Integer> companyIds,String language, Page<?> page);
|
||||
Page<DeviceVO> searchDevice(SearchDeviceRequest request, List<Integer> companyIds,List<Integer> productionLines,String language, Page<?> page);
|
||||
|
||||
void taskWarrantyStateNotStarted();
|
||||
|
||||
|
|
@ -46,4 +46,6 @@ public interface DeviceMapper extends BaseMapper<Device> {
|
|||
List<ComponentInfo> getComponents(Integer componentId,String language);
|
||||
|
||||
List<DeviceAgentVO> getAgents();
|
||||
|
||||
List<String> getModelNoPermission(List<Integer> productionLines);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,17 +27,17 @@ public interface TicketMapper extends BaseMapper<Ticket> {
|
|||
|
||||
IPage<TicketVO> searchArea(IPage<?> page, TicketSearchRequest request, String companyId, Integer userId,String language,Boolean isPrimary,String companyCode);
|
||||
|
||||
IPage<AdminTicketVO> searchFromAdmin(AdminTicketSearchRequest request, Integer userId, IPage<?> page);
|
||||
IPage<AdminTicketVO> searchFromAdmin(AdminTicketSearchRequest request, Integer userId,List<Integer> productionLines, IPage<?> page);
|
||||
|
||||
// void completeTicket(List<Integer> ids, Integer userId);
|
||||
|
||||
List<AdminTicketVO> searchAllFromAdmin(AdminTicketSearchRequest request, Integer userId);
|
||||
List<AdminTicketVO> searchAllFromAdmin(AdminTicketSearchRequest request, Integer userId,List<Integer> productionLines);
|
||||
|
||||
IPage<AdminTicketVO> searchFromAdminAndFollow(AdminTicketSearchRequest request, Integer userId, IPage<?> page);
|
||||
IPage<AdminTicketVO> searchFromAdminAndFollow(AdminTicketSearchRequest request, Integer userId,List<Integer> productionLines, IPage<?> page);
|
||||
|
||||
List<AdminTicketVO> searchAllFromAdminAndFollow(AdminTicketSearchRequest request, Integer userId);
|
||||
List<AdminTicketVO> searchAllFromAdminAndFollow(AdminTicketSearchRequest request, Integer userId,List<Integer> productionLines);
|
||||
|
||||
List<TicketVO> getAdminFavorites(Integer userId,Integer favoritesId);
|
||||
|
||||
IPage<AdminTicketVO> searchByFavouritesId(Integer userId, Integer favouritesId, Page<?> page);
|
||||
IPage<AdminTicketVO> searchByFavouritesId(Integer userId, Integer favouritesId,List<Integer> productionLines, Page<?> page);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,4 +54,6 @@ public interface IAdminUserService extends IService<AdminUser> {
|
|||
List<Integer> getTickerMangagers();
|
||||
|
||||
List<Integer> getCQMIds();
|
||||
|
||||
List<Integer> getDataPermission(Integer userId,String moduleName);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,4 +38,6 @@ public interface IDeviceService extends IService<Device> {
|
|||
void taskWarrantyStateNotOutsideWithinWarranty();
|
||||
|
||||
List<DeviceAgentVO> getAgents();
|
||||
|
||||
List<String> getModelNoPermission(Integer userId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@ package com.nflg.mobilebroken.repository.service.impl;
|
|||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.collection.ListUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.mobilebroken.common.constant.Constant;
|
||||
import com.nflg.mobilebroken.common.constant.ProductionLinePermissionType;
|
||||
import com.nflg.mobilebroken.common.constant.STATE;
|
||||
import com.nflg.mobilebroken.common.constant.UserState;
|
||||
import com.nflg.mobilebroken.common.exception.NflgException;
|
||||
|
|
@ -70,6 +72,9 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
|||
@Resource
|
||||
private IDataRoleService dataRoleService;
|
||||
|
||||
@Resource
|
||||
private IDictionaryItemService dictionaryItemService;
|
||||
|
||||
@Override
|
||||
public AdminUser getUser(String userName, String password) {
|
||||
AdminUser user = lambdaQuery()
|
||||
|
|
@ -366,6 +371,33 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
|||
return baseMapper.getTickerMangagers(ListUtil.of(Constant.DICTIONARY_TYPE_TITLE_CQM));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Integer> getDataPermission(Integer userId,String moduleName) {
|
||||
AdminUser adminUser=getById(userId);
|
||||
List<Integer> defaultProductionLineIds = Collections.singletonList(adminUser.getProductionLineId());
|
||||
DataRole dr = baseMapper.getDataPermission(userId);
|
||||
if (Objects.isNull(dr)) {
|
||||
return defaultProductionLineIds;
|
||||
}
|
||||
List<DictionaryItem> items = dictionaryItemService.getListByDictionaryCode(Constant.DICTIONARY_DATAPERMISSION);
|
||||
DictionaryItem item = items.stream().filter(it -> Objects.equals(it.getName(), moduleName)).findFirst().orElse(null);
|
||||
if (Objects.isNull(item)){
|
||||
return defaultProductionLineIds;
|
||||
}
|
||||
List<DataRoleItemRequest> configs = JSONUtil.toList(dr.getConfig(), DataRoleItemRequest.class);
|
||||
DataRoleItemRequest cfg=configs.stream().filter(c -> Objects.equals(c.getModuleId(), item.getId())).findFirst().orElse(null);
|
||||
if (Objects.isNull(cfg)){
|
||||
return defaultProductionLineIds;
|
||||
}else if (Objects.equals(cfg.getType().getType(), ProductionLinePermissionType.ShowMe.getType())){
|
||||
return null;
|
||||
}else if (Objects.equals(cfg.getType().getType(), ProductionLinePermissionType.ShowOwned.getType())){
|
||||
return defaultProductionLineIds;
|
||||
}else if (Objects.equals(cfg.getType().getType(), ProductionLinePermissionType.Customize.getType())){
|
||||
return cfg.getProductionLineIds();
|
||||
}
|
||||
return defaultProductionLineIds;
|
||||
}
|
||||
|
||||
private String getDepartmentName(Long departmentId) {
|
||||
TBaseDepartment department = departmentService.lambdaQuery()
|
||||
.eq(TBaseDepartment::getId, departmentId)
|
||||
|
|
|
|||
|
|
@ -5,12 +5,14 @@ import cn.hutool.core.util.StrUtil;
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.mobilebroken.common.constant.Constant;
|
||||
import com.nflg.mobilebroken.common.pojo.request.AnonymousTicketAddRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.request.AnonymousTicketSearchRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.AnonymousTicketInfoVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.AnonymousTicketSearchVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.DeviceInfoVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.FileUploadVO;
|
||||
import com.nflg.mobilebroken.common.util.AdminUserUtil;
|
||||
import com.nflg.mobilebroken.common.util.MultilingualUtil;
|
||||
import com.nflg.mobilebroken.common.util.TicketUtil;
|
||||
import com.nflg.mobilebroken.common.util.VUtils;
|
||||
|
|
@ -54,6 +56,9 @@ public class AnonymousTicketServiceImpl extends ServiceImpl<AnonymousTicketMappe
|
|||
@Resource
|
||||
private ITBasePartService partService;
|
||||
|
||||
@Resource
|
||||
private IAdminUserService adminUserService;
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void add(AnonymousTicketAddRequest request) {
|
||||
|
|
@ -102,7 +107,8 @@ public class AnonymousTicketServiceImpl extends ServiceImpl<AnonymousTicketMappe
|
|||
if (Objects.nonNull(request.getEndTime())) {
|
||||
request.setEndTime(request.getEndTime().plusDays(1));
|
||||
}
|
||||
return baseMapper.search(request,new Page<>(request.getPage(), request.getPageSize()));
|
||||
List<Integer> productionLines = adminUserService.getDataPermission(AdminUserUtil.getUserId(), Constant.PERMISSION_TICKET_MANAGE);
|
||||
return baseMapper.search(request,productionLines, new Page<>(request.getPage(), request.getPageSize()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -1,20 +1,25 @@
|
|||
package com.nflg.mobilebroken.repository.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.nflg.mobilebroken.common.constant.Constant;
|
||||
import com.nflg.mobilebroken.common.pojo.query.PageBaseQuery;
|
||||
import com.nflg.mobilebroken.common.pojo.request.SearchDeviceRequest;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.DeviceAgentVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.DeviceInfoVO;
|
||||
import com.nflg.mobilebroken.common.pojo.vo.DeviceVO;
|
||||
import com.nflg.mobilebroken.common.util.AdminUserUtil;
|
||||
import com.nflg.mobilebroken.common.util.AppUserUtil;
|
||||
import com.nflg.mobilebroken.common.util.MultilingualUtil;
|
||||
import com.nflg.mobilebroken.repository.entity.Device;
|
||||
import com.nflg.mobilebroken.repository.mapper.DeviceMapper;
|
||||
import com.nflg.mobilebroken.repository.service.IAdminUserService;
|
||||
import com.nflg.mobilebroken.repository.service.IDeviceService;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
|
@ -30,6 +35,9 @@ import java.util.Optional;
|
|||
@Service
|
||||
public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements IDeviceService {
|
||||
|
||||
@Resource
|
||||
private IAdminUserService adminUserService;
|
||||
|
||||
@Override
|
||||
public DeviceInfoVO getByDeviceNo(String deviceNo) {
|
||||
DeviceInfoVO vo = baseMapper.getByDeviceNo(deviceNo);
|
||||
|
|
@ -41,7 +49,8 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
|||
|
||||
|
||||
public Page<Device> getList(@Param("page") Page<PageBaseQuery> page, PageBaseQuery query){
|
||||
return this.getBaseMapper().getList(page,query);
|
||||
List<Integer> productionLines = adminUserService.getDataPermission(AdminUserUtil.getUserId(),Constant.PERMISSION_DEVICE_MANAGE);
|
||||
return this.getBaseMapper().getList(page,query,productionLines);
|
||||
}
|
||||
|
||||
public void batchDelByIds(@Param("ids") List<Integer> ids){
|
||||
|
|
@ -49,15 +58,13 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
|||
}
|
||||
|
||||
@Override
|
||||
public Page<DeviceVO> searchDevice(SearchDeviceRequest request,String language) {
|
||||
// IPage<Device> page = lambdaQuery()
|
||||
// .like(StrUtil.isNotBlank(request.getDeviceNo()), Device::getDeviceNo, request.getDeviceNo())
|
||||
// .like(StrUtil.isNotBlank(request.getModelNo()), Device::getModelNo, request.getModelNo())
|
||||
// .between(Objects.nonNull(request.getStartTime()), Device::getShipmentDate, request.getStartTime(), request.getEndTime())
|
||||
// .page(new Page<>(request.getPage(), request.getPageSize()));
|
||||
// return PageUtil.convert(page, d -> Convert.convert(DeviceVO.class, d));
|
||||
public Page<DeviceVO> searchDevice(SearchDeviceRequest request, String language) {
|
||||
List<Integer> productionLines = null;
|
||||
if (StrUtil.equals(Constant.FROM_ADMIN, AppUserUtil.getFrom())) {
|
||||
productionLines = adminUserService.getDataPermission(AppUserUtil.getUserId(), Constant.PERMISSION_DEVICE_SEARCH);
|
||||
}
|
||||
List<Integer> companyIds = AppUserUtil.getCompanyIds();
|
||||
return baseMapper.searchDevice(request, companyIds,language ,new Page<>(request.getPage(), request.getPageSize()));
|
||||
return baseMapper.searchDevice(request, companyIds, productionLines, language, new Page<>(request.getPage(), request.getPageSize()));
|
||||
}
|
||||
|
||||
public void taskWarrantyStateNotStarted(){
|
||||
|
|
@ -76,4 +83,10 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
|||
public List<DeviceAgentVO> getAgents() {
|
||||
return baseMapper.getAgents();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getModelNoPermission(Integer userId) {
|
||||
List<Integer> productionLines = adminUserService.getDataPermission(AdminUserUtil.getUserId(),Constant.PERMISSION_MODEL_MANAGE);
|
||||
return baseMapper.getModelNoPermission(productionLines);
|
||||
}
|
||||
}
|
||||
|
|
@ -156,18 +156,19 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
|
|||
@Override
|
||||
public IPage<AdminTicketVO> searchPage(AdminTicketSearchRequest request) {
|
||||
Integer userId = AdminUserUtil.getUserId();
|
||||
if (Objects.nonNull(request.getFavouritesId())){
|
||||
return baseMapper.searchByFavouritesId(userId,request.getFavouritesId(), new Page<>(request.getPage(), request.getPageSize()));
|
||||
}else {
|
||||
List<Integer> productionLines = adminUserService.getDataPermission(AdminUserUtil.getUserId(), Constant.PERMISSION_TICKET_MANAGE);
|
||||
if (Objects.nonNull(request.getFavouritesId())) {
|
||||
return baseMapper.searchByFavouritesId(userId, request.getFavouritesId(), productionLines, new Page<>(request.getPage(), request.getPageSize()));
|
||||
} else {
|
||||
if (Objects.nonNull(request.getEndTime())) {
|
||||
request.setEndTime(request.getEndTime().plusDays(1));
|
||||
}
|
||||
List<Integer> tickerMangagers = adminUserService.getTickerMangagers();
|
||||
request.setTicketManager(tickerMangagers.stream().anyMatch(uid -> Objects.equals(uid, userId)));
|
||||
if (request.getType() == 2) {
|
||||
return baseMapper.searchFromAdminAndFollow(request, userId, new Page<>(request.getPage(), request.getPageSize()));
|
||||
return baseMapper.searchFromAdminAndFollow(request, userId,productionLines, new Page<>(request.getPage(), request.getPageSize()));
|
||||
} else if (request.getType() == 4) {
|
||||
return baseMapper.searchFromAdmin(request, userId, new Page<>(request.getPage(), request.getPageSize()));
|
||||
return baseMapper.searchFromAdmin(request, userId,productionLines, new Page<>(request.getPage(), request.getPageSize()));
|
||||
}
|
||||
return new Page<>(request.getPage(), request.getPageSize(), 0);
|
||||
}
|
||||
|
|
@ -269,13 +270,14 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
|
|||
|
||||
@Override
|
||||
public List<AdminTicketVO> exportSearch(AdminTicketSearchRequest request) {
|
||||
List<Integer> productionLines = adminUserService.getDataPermission(AdminUserUtil.getUserId(), Constant.PERMISSION_TICKET_MANAGE);
|
||||
if (request.getType() == 2) {
|
||||
return baseMapper.searchAllFromAdminAndFollow(request, AdminUserUtil.getUserId());
|
||||
return baseMapper.searchAllFromAdminAndFollow(request, AdminUserUtil.getUserId(),productionLines);
|
||||
} else if (request.getType() == 4) {
|
||||
Integer userId=AdminUserUtil.getUserId();
|
||||
List<Integer> tickerMangagers=adminUserService.getTickerMangagers();
|
||||
request.setTicketManager(tickerMangagers.stream().anyMatch(uid -> Objects.equals(uid, userId)));
|
||||
return baseMapper.searchAllFromAdmin(request, userId);
|
||||
return baseMapper.searchAllFromAdmin(request, userId,productionLines);
|
||||
}
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,4 +33,11 @@
|
|||
#{titleCode}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<select id="getDataPermission" resultType="com.nflg.mobilebroken.repository.entity.DataRole">
|
||||
select dr.*
|
||||
from admin_user au
|
||||
inner join data_role dr on au.data_role_id=dr.id
|
||||
where au.id=#{userId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,12 @@
|
|||
LEFT JOIN t_base_part p ON t.component_id=p.id
|
||||
LEFT JOIN t_base_customer c ON c.agency_company_code=d.agent_code
|
||||
<where>
|
||||
<if test="productionLines!=null">
|
||||
AND d.production_line_id IN
|
||||
<foreach item="plId" collection="productionLines" separator="," open="(" close=")">
|
||||
#{plId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="request.component!=null and request.component!=''">
|
||||
AND t.component=#{request.component}
|
||||
</if>
|
||||
|
|
|
|||
|
|
@ -48,8 +48,13 @@
|
|||
select a.id, device_no, device_name, device_type, device_type_sub, model_no, customer_id, customer_name, device_state, agent_code, agent_name, shipment_date, warranty_state, start_warranty_date, warranty_month, data_valid_state, source_from, create_by, create_time, update_by, update_time, remark ,b.area_code ,b.area_name from device a
|
||||
left join t_base_customer b on a.agent_code=b.agency_company_code
|
||||
where data_valid_state=1
|
||||
<if test="productionLines!=null">
|
||||
AND a.production_line_id in
|
||||
<foreach collection="productionLines" open="(" close=")" item="plId" separator=",">
|
||||
#{plId}
|
||||
</foreach>
|
||||
</if>
|
||||
<include refid="whr"/>
|
||||
|
||||
</select>
|
||||
|
||||
<update id="batchDelByIds">
|
||||
|
|
@ -71,6 +76,12 @@
|
|||
<foreach collection="companyIds" open="(" close=")" item="companyId" separator=",">
|
||||
#{companyId}
|
||||
</foreach>
|
||||
<if test="productionLines!=null">
|
||||
AND d.production_line_id in
|
||||
<foreach collection="productionLines" open="(" close=")" item="plId" separator=",">
|
||||
#{plId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="request.deviceNo!=null and request.deviceNo!=''">
|
||||
and d.device_no LIKE concat('%', #{request.deviceNo}, '%')
|
||||
</if>
|
||||
|
|
@ -118,4 +129,17 @@
|
|||
FROM device
|
||||
WHERE LENGTH(agent_code)>0
|
||||
</select>
|
||||
|
||||
<select id="getModelNoPermission" resultType="java.lang.String">
|
||||
select *
|
||||
from device
|
||||
<where>
|
||||
<if test="productionLines!=null">
|
||||
AND production_line_id in
|
||||
<foreach collection="productionLines" open="(" close=")" item="plId" separator=",">
|
||||
#{plId}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -38,6 +38,12 @@
|
|||
<sql id="adminSearchWhereCondition">
|
||||
<where>
|
||||
t.state!=4
|
||||
<if test="productionLines!=null">
|
||||
AND d.production_line_id in
|
||||
<foreach item="plId" collection="productionLines" separator="," open="(" close=")">
|
||||
#{plId}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="!request.ticketManager">
|
||||
AND (FIND_IN_SET(#{userId},t.handle)>0 OR fun_inAduit(t.id,#{userId})=1)
|
||||
</if>
|
||||
|
|
@ -255,6 +261,14 @@
|
|||
LEFT JOIN admin_user auc ON t.cqm=auc.id
|
||||
LEFT JOIN admin_user auh ON t.current_handle=auh.id
|
||||
LEFT JOIN t_base_part p ON t.component_id=p.id
|
||||
<where>
|
||||
<if test="productionLines!=null">
|
||||
AND d.production_line_id in
|
||||
<foreach item="plId" collection="productionLines" separator="," open="(" close=")">
|
||||
#{plId}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY t.state,t.id DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue