diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/TicketMapper.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/TicketMapper.java index 884f3d49..69ffb302 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/TicketMapper.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/TicketMapper.java @@ -25,7 +25,7 @@ public interface TicketMapper extends BaseMapper { IPage searchFollow(IPage page, TicketSearchRequest request, Integer userId,String language); - IPage searchArea(IPage page, TicketSearchRequest request, List companyIds, Integer userId,String language); + IPage searchArea(IPage page, TicketSearchRequest request, String companyId, Integer userId,String language,Boolean isPrimary,String companyCode); IPage searchFromAdmin(AdminTicketSearchRequest request, Integer userId, IPage page); diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java index d83f92eb..93144c53 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TicketServiceImpl.java @@ -59,6 +59,9 @@ public class TicketServiceImpl extends ServiceImpl impleme @Resource private ITicketSolutionService ticketSolutionService; + @Resource + private ITBaseCustomerService customerService; + @Transactional @Override public Ticket add(TicketAddRequest request, Integer userId) { @@ -132,7 +135,15 @@ public class TicketServiceImpl extends ServiceImpl impleme }else if (request.getType()==2){ return baseMapper.searchFollow(new Page<>(request.getPage(), request.getPageSize()), request, user.getId(),language); }else if (request.getType()==3) { - return baseMapper.searchArea(new Page<>(request.getPage(), request.getPageSize()), request, user.getCompanyIds(), user.getId(),language); + String companyCode = ""; + if (!user.getIsPrimary()){ + TBaseCustomer customer=customerService.getById(user.getCompanyIds().get(0)); + if (Objects.nonNull(customer)){ + companyCode = customer.getAgencyCompanyCode(); + } + } + return baseMapper.searchArea(new Page<>(request.getPage(), request.getPageSize()), request + , StrUtil.join(",",user.getCompanyIds()), user.getId(),language,user.getIsPrimary(),companyCode); } return null; } diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml index 77b95b4e..662e4a98 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml @@ -123,10 +123,14 @@ LEFT JOIN ticket_evaluate te ON t.id=te.ticket_id AND t.state=2 LEFT JOIN t_base_part p ON t.component_id=p.id LEFT JOIN t_base_language_data l ON p.id=l.source_id AND l.language_code=#{language} - WHERE t.state!=4 AND u.company_id IN - - #{companyId} - + LEFT JOIN v_device vd ON t.device_no=vd.device_no + WHERE t.state!=4 + + AND FIND_IN_SET(#{companyId},u.company_id) AND vd.agent_code=#{companyCode} + + + AND (u.id=#{userId} OR FIND_IN_SET(u.company_id,#{companyId})) + ORDER BY t.id DESC