Commit 82b23ea9 authored by Phạm Duy Phi's avatar Phạm Duy Phi

phipd commit

parent 705d15ea
...@@ -9,7 +9,7 @@ import java.util.List; ...@@ -9,7 +9,7 @@ import java.util.List;
public interface AgentsService { public interface AgentsService {
ResultDTO getAgentsByAgentId(String agentId); ResultDTO getAgentsByAgentId(String agentId);
ResultDTO getAllAgentByCompanySiteId(int page, int pageSize, Long companySiteId); ResultDTO getAllAgentByCompanySiteId(int page, int pageSize, Long companySiteId, Long campaignId);
ResultDTO getAllAgentSelectedByCompanySiteId(int page, int pageSize, Long companySiteId, Long campaignId); ResultDTO getAllAgentSelectedByCompanySiteId(int page, int pageSize, Long companySiteId, Long campaignId);
...@@ -17,7 +17,7 @@ public interface AgentsService { ...@@ -17,7 +17,7 @@ public interface AgentsService {
ResultDTO deleteCampaignAgentById(List<Long> campaignAgentId); ResultDTO deleteCampaignAgentById(List<Long> campaignAgentId);
ResultDTO searchCampaignAgentByName(int page, int pageSize, Long companySiteId, String userName, String fullName); ResultDTO searchCampaignAgentByName(int page, int pageSize, Long campaignId, Long companySiteId, String userName, String fullName);
ResultDTO searchCampaignAgentSelectByName(int page, int pageSize, Long companySiteId, Long campaignId, String userName, String fullName); ResultDTO searchCampaignAgentSelectByName(int page, int pageSize, Long companySiteId, Long campaignId, String userName, String fullName);
......
...@@ -62,7 +62,7 @@ public class AgentsServiceImpl implements AgentsService { ...@@ -62,7 +62,7 @@ public class AgentsServiceImpl implements AgentsService {
@Override @Override
@Transactional(DataSourceQualify.ACD_FULL) @Transactional(DataSourceQualify.ACD_FULL)
public ResultDTO getAllAgentByCompanySiteId(int page, int pageSize, Long companySiteId) { public ResultDTO getAllAgentByCompanySiteId(int page, int pageSize, Long companySiteId, Long campaignId) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
...@@ -83,36 +83,41 @@ public class AgentsServiceImpl implements AgentsService { ...@@ -83,36 +83,41 @@ public class AgentsServiceImpl implements AgentsService {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("SELECT"); sb.append("SELECT");
sb.append(" a.USER_ID userId,"); sb.append(" vu.USER_ID userId,");
sb.append(" a.USER_NAME userName,"); sb.append(" vu.USER_NAME userName,");
sb.append(" a.STATUS status,"); sb.append(" vu.STATUS status,");
sb.append(" a.FULL_NAME fullName,"); sb.append(" vu.FULL_NAME fullName,");
sb.append(" a.COMPANY_SITE_ID companySiteId,"); sb.append(" vu.COMPANY_SITE_ID companySiteId,");
sb.append(" b.FILTER_TYPE filterType,"); sb.append(" r.ROLE_CODE roleCode");
sb.append(" b.CAMPAIGN_AGENT_ID campaignAgentId,"); sb.append(" FROM VSA_USERS vu");
sb.append(" d.ROLE_CODE roleCode"); sb.append(" INNER JOIN USER_ROLE ur on vu.USER_ID = ur.USER_ID");
sb.append(" FROM VSA_USERS a"); sb.append(" INNER JOIN ROLE r on ur.ROLE_ID = r.ROLE_ID");
sb.append(" LEFT JOIN CAMPAIGN_AGENT b on a.USER_ID = b.AGENT_ID");
sb.append(" INNER JOIN USER_ROLE c on a.USER_ID = c.USER_ID");
sb.append(" INNER JOIN ROLE d on c.ROLE_ID = d.ROLE_ID");
sb.append(" WHERE 1 = 1"); sb.append(" WHERE 1 = 1");
sb.append(" AND a.COMPANY_SITE_ID = :p_company_site_id"); sb.append(" AND vu.COMPANY_SITE_ID = :p_company_site_id");
sb.append(" AND a.STATUS = 1"); sb.append(" AND vu.STATUS = 1");
sb.append(" AND b.AGENT_ID IS NULL"); sb.append(" AND r.ROLE_CODE IN ('AGENT', 'SUPERVISOR')");
sb.append(" AND d.ROLE_CODE IN ('AGENT', 'SUPERVISOR')"); sb.append(" AND vu.USER_ID NOT IN (SELECT vu.USER_ID userId");
sb.append(" ORDER BY UPPER(a.FULL_NAME)"); sb.append(" FROM VSA_USERS vu");
sb.append(" LEFT JOIN CAMPAIGN_AGENT ca on vu.USER_ID = ca.AGENT_ID");
sb.append(" INNER JOIN USER_ROLE ur on vu.USER_ID = ur.USER_ID");
sb.append(" INNER JOIN ROLE r on ur.ROLE_ID = r.ROLE_ID");
sb.append(" WHERE 1 = 1");
sb.append(" AND vu.COMPANY_SITE_ID = :p_company_site_id");
sb.append(" AND vu.STATUS = 1");
sb.append(" AND ca.CAMPAIGN_ID = :p_campaign_id");
sb.append(" AND r.ROLE_CODE IN ('AGENT', 'SUPERVISOR'))");
sb.append(" ORDER BY UPPER(vu.FULL_NAME)");
SQLQuery query = session.createSQLQuery(sb.toString()); SQLQuery query = session.createSQLQuery(sb.toString());
query.setParameter("p_company_site_id", companySiteId); query.setParameter("p_company_site_id", companySiteId);
query.setParameter("p_campaign_id", campaignId);
query.addScalar("userId", new LongType()); query.addScalar("userId", new LongType());
query.addScalar("userName", new StringType()); query.addScalar("userName", new StringType());
query.addScalar("status", new ShortType()); query.addScalar("status", new ShortType());
query.addScalar("fullName", new StringType()); query.addScalar("fullName", new StringType());
query.addScalar("companySiteId", new LongType()); query.addScalar("companySiteId", new LongType());
query.addScalar("filterType", new ShortType());
query.addScalar("campaignAgentId", new LongType());
query.addScalar("roleCode", new StringType()); query.addScalar("roleCode", new StringType());
query.setResultTransformer(Transformers.aliasToBean(VSAUsersDTO.class)); query.setResultTransformer(Transformers.aliasToBean(VSAUsersDTO.class));
...@@ -276,7 +281,7 @@ public class AgentsServiceImpl implements AgentsService { ...@@ -276,7 +281,7 @@ public class AgentsServiceImpl implements AgentsService {
} }
@Override @Override
public ResultDTO searchCampaignAgentByName(int page, int pageSize, Long companySiteId, String userName, String fullName) { public ResultDTO searchCampaignAgentByName(int page, int pageSize, Long campaignId, Long companySiteId, String userName, String fullName) {
ResultDTO resultDTO = new ResultDTO(); ResultDTO resultDTO = new ResultDTO();
SessionFactory sessionFactory = HibernateUtil.getSessionFactory(); SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
...@@ -320,12 +325,13 @@ public class AgentsServiceImpl implements AgentsService { ...@@ -320,12 +325,13 @@ public class AgentsServiceImpl implements AgentsService {
sqlStrBuilder.append(" AND d.ROLE_CODE IN ('AGENT', 'SUPERVISOR')"); sqlStrBuilder.append(" AND d.ROLE_CODE IN ('AGENT', 'SUPERVISOR')");
sqlStrBuilder.append(" AND a.STATUS = 1"); sqlStrBuilder.append(" AND a.STATUS = 1");
sqlStrBuilder.append(" AND b.AGENT_ID IS NULL"); sqlStrBuilder.append(" AND (b.CAMPAIGN_ID IS NULL OR b.CAMPAIGN_ID <> :p_campaign_id)");
sqlStrBuilder.append(" ORDER BY UPPER(a.FULL_NAME)"); sqlStrBuilder.append(" ORDER BY UPPER(a.FULL_NAME)");
SQLQuery query = session.createSQLQuery(sqlStrBuilder.toString()); SQLQuery query = session.createSQLQuery(sqlStrBuilder.toString());
query.setParameter("p_company_site_id", companySiteId); query.setParameter("p_company_site_id", companySiteId);
query.setParameter("p_campaign_id", campaignId);
if (!DataUtil.isNullOrEmpty(userName)) { if (!DataUtil.isNullOrEmpty(userName)) {
query.setParameter("p_user_name", "%" + query.setParameter("p_user_name", "%" +
......
...@@ -33,8 +33,8 @@ public class AgentsController { ...@@ -33,8 +33,8 @@ public class AgentsController {
@GetMapping("/findAll") @GetMapping("/findAll")
@ResponseBody @ResponseBody
public ResponseEntity<ResultDTO> listAgentByCompanySiteId(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize, @RequestParam("companySiteId") Long companySiteId) { public ResponseEntity<ResultDTO> listAgentByCompanySiteId(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize, @RequestParam("companySiteId") Long companySiteId, @RequestParam("campaignId") Long campaignId) {
ResultDTO result = agentsService.getAllAgentByCompanySiteId(page, pageSize, companySiteId); ResultDTO result = agentsService.getAllAgentByCompanySiteId(page, pageSize, companySiteId, campaignId);
return new ResponseEntity<>(result, HttpStatus.OK); return new ResponseEntity<>(result, HttpStatus.OK);
} }
...@@ -63,8 +63,8 @@ public class AgentsController { ...@@ -63,8 +63,8 @@ public class AgentsController {
@GetMapping("/searchCampaignAgent") @GetMapping("/searchCampaignAgent")
@ResponseBody @ResponseBody
public ResponseEntity<ResultDTO> searchCampaignAgent(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize, @RequestParam("companySiteId") Long companySiteId, @RequestParam("userName") String userName, @RequestParam("fullName") String fullName) { public ResponseEntity<ResultDTO> searchCampaignAgent(@RequestParam("page") int page, @RequestParam("pageSize") int pageSize, @RequestParam("campaignId") Long campaignId, @RequestParam("companySiteId") Long companySiteId, @RequestParam("userName") String userName, @RequestParam("fullName") String fullName) {
ResultDTO result = agentsService.searchCampaignAgentByName(page, pageSize, companySiteId, userName, fullName); ResultDTO result = agentsService.searchCampaignAgentByName(page, pageSize, campaignId, companySiteId, userName, fullName);
return new ResponseEntity<>(result, HttpStatus.OK); return new ResponseEntity<>(result, HttpStatus.OK);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment