feat: bug-369 添加对产品线和数据权限的支持
This commit is contained in:
parent
fa2e24c163
commit
1f7d5728ce
|
|
@ -1,6 +1,7 @@
|
||||||
package com.nflg.mobilebroken.admin.controller;
|
package com.nflg.mobilebroken.admin.controller;
|
||||||
|
|
||||||
import com.nflg.mobilebroken.admin.annotation.ApiMark;
|
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.ApiResult;
|
||||||
import com.nflg.mobilebroken.common.pojo.PageData;
|
import com.nflg.mobilebroken.common.pojo.PageData;
|
||||||
import com.nflg.mobilebroken.common.pojo.request.DataRoleAddRequest;
|
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.request.RoleSearchRequest;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.DataRoleVO;
|
import com.nflg.mobilebroken.common.pojo.vo.DataRoleVO;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.SimpleVO;
|
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.IDataRoleService;
|
||||||
|
import com.nflg.mobilebroken.repository.service.IDictionaryItemService;
|
||||||
import com.nflg.mobilebroken.starter.annotation.MethodInfoMark;
|
import com.nflg.mobilebroken.starter.annotation.MethodInfoMark;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
|
@ -29,6 +32,19 @@ public class DataRoleController {
|
||||||
@Resource
|
@Resource
|
||||||
private IDataRoleService dataRoleService;
|
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 请求参数
|
* @param request 请求参数
|
||||||
|
|
|
||||||
|
|
@ -72,6 +72,12 @@ public class DeviceComponentController extends ControllerBase {
|
||||||
@PostMapping("getList")
|
@PostMapping("getList")
|
||||||
@ApiMark(moduleName = "机型部件管理", apiName = "获取设备机型列表")
|
@ApiMark(moduleName = "机型部件管理", apiName = "获取设备机型列表")
|
||||||
public ApiResult<PageData<DeviceTypeVO>> getList(@RequestBody DeviceComponentQuery query){
|
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());
|
List<DeviceComponent1VO> deviceComponents=deviceComponentService.getWithDeviceType(query.getModelNo(),query.getComponentSort());
|
||||||
Map<String,List<DeviceComponent1VO>> mps=deviceComponents.stream().collect(Collectors.groupingBy(DeviceComponent1VO::getDeviceType));
|
Map<String,List<DeviceComponent1VO>> mps=deviceComponents.stream().collect(Collectors.groupingBy(DeviceComponent1VO::getDeviceType));
|
||||||
AtomicInteger index= new AtomicInteger();
|
AtomicInteger index= new AtomicInteger();
|
||||||
|
|
@ -83,7 +89,9 @@ public class DeviceComponentController extends ControllerBase {
|
||||||
if (index.get() >= first && index.get() < last) {
|
if (index.get() >= first && index.get() < last) {
|
||||||
DeviceTypeVO vo=new DeviceTypeVO();
|
DeviceTypeVO vo=new DeviceTypeVO();
|
||||||
vo.setDeviceType(k);
|
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())
|
.setId(d.getId())
|
||||||
.setModelNo(d.getModelNo())
|
.setModelNo(d.getModelNo())
|
||||||
.setPartList(deviceComponentDetailService.getByModelNo(d.getModelNo()))).collect(Collectors.toList())
|
.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_TYPE ="AdvertisementType";
|
||||||
|
|
||||||
public static final String DICTIONARY_AD_POSITION ="AdvertisementPosition";
|
public static final String DICTIONARY_AD_POSITION ="AdvertisementPosition";
|
||||||
|
|
||||||
public static final String DICTIONARY_SERVICE = "SystemService";
|
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 lombok.Data;
|
||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class DataRoleItemRequest {
|
public class DataRoleItemRequest {
|
||||||
|
|
@ -19,4 +20,9 @@ public class DataRoleItemRequest {
|
||||||
*/
|
*/
|
||||||
@NotNull
|
@NotNull
|
||||||
private ProductionLinePermissionType type;
|
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.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.AdminUserSimpleVO;
|
import com.nflg.mobilebroken.common.pojo.vo.AdminUserSimpleVO;
|
||||||
import com.nflg.mobilebroken.repository.entity.AdminUser;
|
import com.nflg.mobilebroken.repository.entity.AdminUser;
|
||||||
|
import com.nflg.mobilebroken.repository.entity.DataRole;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -21,4 +22,6 @@ public interface AdminUserMapper extends BaseMapper<AdminUser> {
|
||||||
List<AdminUserSimpleVO> getSimples(List<Integer> userIds);
|
List<AdminUserSimpleVO> getSimples(List<Integer> userIds);
|
||||||
|
|
||||||
List<Integer> getTickerMangagers(List<String> titleCodes);
|
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.common.pojo.vo.AnonymousTicketSearchVO;
|
||||||
import com.nflg.mobilebroken.repository.entity.AnonymousTicket;
|
import com.nflg.mobilebroken.repository.entity.AnonymousTicket;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* Mapper 接口
|
* Mapper 接口
|
||||||
|
|
@ -16,5 +18,5 @@ import com.nflg.mobilebroken.repository.entity.AnonymousTicket;
|
||||||
*/
|
*/
|
||||||
public interface AnonymousTicketMapper extends BaseMapper<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
|
* @param query
|
||||||
* @return
|
* @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);
|
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();
|
void taskWarrantyStateNotStarted();
|
||||||
|
|
||||||
|
|
@ -46,4 +46,6 @@ public interface DeviceMapper extends BaseMapper<Device> {
|
||||||
List<ComponentInfo> getComponents(Integer componentId,String language);
|
List<ComponentInfo> getComponents(Integer componentId,String language);
|
||||||
|
|
||||||
List<DeviceAgentVO> getAgents();
|
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<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);
|
// 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);
|
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> getTickerMangagers();
|
||||||
|
|
||||||
List<Integer> getCQMIds();
|
List<Integer> getCQMIds();
|
||||||
|
|
||||||
|
List<Integer> getDataPermission(Integer userId,String moduleName);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,4 +38,6 @@ public interface IDeviceService extends IService<Device> {
|
||||||
void taskWarrantyStateNotOutsideWithinWarranty();
|
void taskWarrantyStateNotOutsideWithinWarranty();
|
||||||
|
|
||||||
List<DeviceAgentVO> getAgents();
|
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.CollectionUtil;
|
||||||
import cn.hutool.core.collection.ListUtil;
|
import cn.hutool.core.collection.ListUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.nflg.mobilebroken.common.constant.Constant;
|
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.STATE;
|
||||||
import com.nflg.mobilebroken.common.constant.UserState;
|
import com.nflg.mobilebroken.common.constant.UserState;
|
||||||
import com.nflg.mobilebroken.common.exception.NflgException;
|
import com.nflg.mobilebroken.common.exception.NflgException;
|
||||||
|
|
@ -70,6 +72,9 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||||
@Resource
|
@Resource
|
||||||
private IDataRoleService dataRoleService;
|
private IDataRoleService dataRoleService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IDictionaryItemService dictionaryItemService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public AdminUser getUser(String userName, String password) {
|
public AdminUser getUser(String userName, String password) {
|
||||||
AdminUser user = lambdaQuery()
|
AdminUser user = lambdaQuery()
|
||||||
|
|
@ -366,6 +371,33 @@ public class AdminUserServiceImpl extends ServiceImpl<AdminUserMapper, AdminUser
|
||||||
return baseMapper.getTickerMangagers(ListUtil.of(Constant.DICTIONARY_TYPE_TITLE_CQM));
|
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) {
|
private String getDepartmentName(Long departmentId) {
|
||||||
TBaseDepartment department = departmentService.lambdaQuery()
|
TBaseDepartment department = departmentService.lambdaQuery()
|
||||||
.eq(TBaseDepartment::getId, departmentId)
|
.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.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.AnonymousTicketAddRequest;
|
||||||
import com.nflg.mobilebroken.common.pojo.request.AnonymousTicketSearchRequest;
|
import com.nflg.mobilebroken.common.pojo.request.AnonymousTicketSearchRequest;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.AnonymousTicketInfoVO;
|
import com.nflg.mobilebroken.common.pojo.vo.AnonymousTicketInfoVO;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.AnonymousTicketSearchVO;
|
import com.nflg.mobilebroken.common.pojo.vo.AnonymousTicketSearchVO;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.DeviceInfoVO;
|
import com.nflg.mobilebroken.common.pojo.vo.DeviceInfoVO;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.FileUploadVO;
|
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.MultilingualUtil;
|
||||||
import com.nflg.mobilebroken.common.util.TicketUtil;
|
import com.nflg.mobilebroken.common.util.TicketUtil;
|
||||||
import com.nflg.mobilebroken.common.util.VUtils;
|
import com.nflg.mobilebroken.common.util.VUtils;
|
||||||
|
|
@ -54,6 +56,9 @@ public class AnonymousTicketServiceImpl extends ServiceImpl<AnonymousTicketMappe
|
||||||
@Resource
|
@Resource
|
||||||
private ITBasePartService partService;
|
private ITBasePartService partService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IAdminUserService adminUserService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public void add(AnonymousTicketAddRequest request) {
|
public void add(AnonymousTicketAddRequest request) {
|
||||||
|
|
@ -102,7 +107,8 @@ public class AnonymousTicketServiceImpl extends ServiceImpl<AnonymousTicketMappe
|
||||||
if (Objects.nonNull(request.getEndTime())) {
|
if (Objects.nonNull(request.getEndTime())) {
|
||||||
request.setEndTime(request.getEndTime().plusDays(1));
|
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
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,25 @@
|
||||||
package com.nflg.mobilebroken.repository.service.impl;
|
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.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.query.PageBaseQuery;
|
||||||
import com.nflg.mobilebroken.common.pojo.request.SearchDeviceRequest;
|
import com.nflg.mobilebroken.common.pojo.request.SearchDeviceRequest;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.DeviceAgentVO;
|
import com.nflg.mobilebroken.common.pojo.vo.DeviceAgentVO;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.DeviceInfoVO;
|
import com.nflg.mobilebroken.common.pojo.vo.DeviceInfoVO;
|
||||||
import com.nflg.mobilebroken.common.pojo.vo.DeviceVO;
|
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.AppUserUtil;
|
||||||
import com.nflg.mobilebroken.common.util.MultilingualUtil;
|
import com.nflg.mobilebroken.common.util.MultilingualUtil;
|
||||||
import com.nflg.mobilebroken.repository.entity.Device;
|
import com.nflg.mobilebroken.repository.entity.Device;
|
||||||
import com.nflg.mobilebroken.repository.mapper.DeviceMapper;
|
import com.nflg.mobilebroken.repository.mapper.DeviceMapper;
|
||||||
|
import com.nflg.mobilebroken.repository.service.IAdminUserService;
|
||||||
import com.nflg.mobilebroken.repository.service.IDeviceService;
|
import com.nflg.mobilebroken.repository.service.IDeviceService;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
@ -30,6 +35,9 @@ import java.util.Optional;
|
||||||
@Service
|
@Service
|
||||||
public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements IDeviceService {
|
public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> implements IDeviceService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private IAdminUserService adminUserService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DeviceInfoVO getByDeviceNo(String deviceNo) {
|
public DeviceInfoVO getByDeviceNo(String deviceNo) {
|
||||||
DeviceInfoVO vo = baseMapper.getByDeviceNo(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){
|
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){
|
public void batchDelByIds(@Param("ids") List<Integer> ids){
|
||||||
|
|
@ -49,15 +58,13 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<DeviceVO> searchDevice(SearchDeviceRequest request,String language) {
|
public Page<DeviceVO> searchDevice(SearchDeviceRequest request, String language) {
|
||||||
// IPage<Device> page = lambdaQuery()
|
List<Integer> productionLines = null;
|
||||||
// .like(StrUtil.isNotBlank(request.getDeviceNo()), Device::getDeviceNo, request.getDeviceNo())
|
if (StrUtil.equals(Constant.FROM_ADMIN, AppUserUtil.getFrom())) {
|
||||||
// .like(StrUtil.isNotBlank(request.getModelNo()), Device::getModelNo, request.getModelNo())
|
productionLines = adminUserService.getDataPermission(AppUserUtil.getUserId(), Constant.PERMISSION_DEVICE_SEARCH);
|
||||||
// .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));
|
|
||||||
List<Integer> companyIds = AppUserUtil.getCompanyIds();
|
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(){
|
public void taskWarrantyStateNotStarted(){
|
||||||
|
|
@ -76,4 +83,10 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
||||||
public List<DeviceAgentVO> getAgents() {
|
public List<DeviceAgentVO> getAgents() {
|
||||||
return baseMapper.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
|
@Override
|
||||||
public IPage<AdminTicketVO> searchPage(AdminTicketSearchRequest request) {
|
public IPage<AdminTicketVO> searchPage(AdminTicketSearchRequest request) {
|
||||||
Integer userId = AdminUserUtil.getUserId();
|
Integer userId = AdminUserUtil.getUserId();
|
||||||
if (Objects.nonNull(request.getFavouritesId())){
|
List<Integer> productionLines = adminUserService.getDataPermission(AdminUserUtil.getUserId(), Constant.PERMISSION_TICKET_MANAGE);
|
||||||
return baseMapper.searchByFavouritesId(userId,request.getFavouritesId(), new Page<>(request.getPage(), request.getPageSize()));
|
if (Objects.nonNull(request.getFavouritesId())) {
|
||||||
}else {
|
return baseMapper.searchByFavouritesId(userId, request.getFavouritesId(), productionLines, new Page<>(request.getPage(), request.getPageSize()));
|
||||||
|
} else {
|
||||||
if (Objects.nonNull(request.getEndTime())) {
|
if (Objects.nonNull(request.getEndTime())) {
|
||||||
request.setEndTime(request.getEndTime().plusDays(1));
|
request.setEndTime(request.getEndTime().plusDays(1));
|
||||||
}
|
}
|
||||||
List<Integer> tickerMangagers = adminUserService.getTickerMangagers();
|
List<Integer> tickerMangagers = adminUserService.getTickerMangagers();
|
||||||
request.setTicketManager(tickerMangagers.stream().anyMatch(uid -> Objects.equals(uid, userId)));
|
request.setTicketManager(tickerMangagers.stream().anyMatch(uid -> Objects.equals(uid, userId)));
|
||||||
if (request.getType() == 2) {
|
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) {
|
} 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);
|
return new Page<>(request.getPage(), request.getPageSize(), 0);
|
||||||
}
|
}
|
||||||
|
|
@ -269,13 +270,14 @@ public class TicketServiceImpl extends ServiceImpl<TicketMapper, Ticket> impleme
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<AdminTicketVO> exportSearch(AdminTicketSearchRequest request) {
|
public List<AdminTicketVO> exportSearch(AdminTicketSearchRequest request) {
|
||||||
|
List<Integer> productionLines = adminUserService.getDataPermission(AdminUserUtil.getUserId(), Constant.PERMISSION_TICKET_MANAGE);
|
||||||
if (request.getType() == 2) {
|
if (request.getType() == 2) {
|
||||||
return baseMapper.searchAllFromAdminAndFollow(request, AdminUserUtil.getUserId());
|
return baseMapper.searchAllFromAdminAndFollow(request, AdminUserUtil.getUserId(),productionLines);
|
||||||
} else if (request.getType() == 4) {
|
} else if (request.getType() == 4) {
|
||||||
Integer userId=AdminUserUtil.getUserId();
|
Integer userId=AdminUserUtil.getUserId();
|
||||||
List<Integer> tickerMangagers=adminUserService.getTickerMangagers();
|
List<Integer> tickerMangagers=adminUserService.getTickerMangagers();
|
||||||
request.setTicketManager(tickerMangagers.stream().anyMatch(uid -> Objects.equals(uid, userId)));
|
request.setTicketManager(tickerMangagers.stream().anyMatch(uid -> Objects.equals(uid, userId)));
|
||||||
return baseMapper.searchAllFromAdmin(request, userId);
|
return baseMapper.searchAllFromAdmin(request, userId,productionLines);
|
||||||
}
|
}
|
||||||
return Collections.emptyList();
|
return Collections.emptyList();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,4 +33,11 @@
|
||||||
#{titleCode}
|
#{titleCode}
|
||||||
</foreach>
|
</foreach>
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,12 @@
|
||||||
LEFT JOIN t_base_part p ON t.component_id=p.id
|
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
|
LEFT JOIN t_base_customer c ON c.agency_company_code=d.agent_code
|
||||||
<where>
|
<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!=''">
|
<if test="request.component!=null and request.component!=''">
|
||||||
AND t.component=#{request.component}
|
AND t.component=#{request.component}
|
||||||
</if>
|
</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
|
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
|
left join t_base_customer b on a.agent_code=b.agency_company_code
|
||||||
where data_valid_state=1
|
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"/>
|
<include refid="whr"/>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<update id="batchDelByIds">
|
<update id="batchDelByIds">
|
||||||
|
|
@ -71,6 +76,12 @@
|
||||||
<foreach collection="companyIds" open="(" close=")" item="companyId" separator=",">
|
<foreach collection="companyIds" open="(" close=")" item="companyId" separator=",">
|
||||||
#{companyId}
|
#{companyId}
|
||||||
</foreach>
|
</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!=''">
|
<if test="request.deviceNo!=null and request.deviceNo!=''">
|
||||||
and d.device_no LIKE concat('%', #{request.deviceNo}, '%')
|
and d.device_no LIKE concat('%', #{request.deviceNo}, '%')
|
||||||
</if>
|
</if>
|
||||||
|
|
@ -118,4 +129,17 @@
|
||||||
FROM device
|
FROM device
|
||||||
WHERE LENGTH(agent_code)>0
|
WHERE LENGTH(agent_code)>0
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,12 @@
|
||||||
<sql id="adminSearchWhereCondition">
|
<sql id="adminSearchWhereCondition">
|
||||||
<where>
|
<where>
|
||||||
t.state!=4
|
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">
|
<if test="!request.ticketManager">
|
||||||
AND (FIND_IN_SET(#{userId},t.handle)>0 OR fun_inAduit(t.id,#{userId})=1)
|
AND (FIND_IN_SET(#{userId},t.handle)>0 OR fun_inAduit(t.id,#{userId})=1)
|
||||||
</if>
|
</if>
|
||||||
|
|
@ -255,6 +261,14 @@
|
||||||
LEFT JOIN admin_user auc ON t.cqm=auc.id
|
LEFT JOIN admin_user auc ON t.cqm=auc.id
|
||||||
LEFT JOIN admin_user auh ON t.current_handle=auh.id
|
LEFT JOIN admin_user auh ON t.current_handle=auh.id
|
||||||
LEFT JOIN t_base_part p ON t.component_id=p.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
|
ORDER BY t.state,t.id DESC
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue