Commit 7f5f3288 authored by Tu Bach's avatar Tu Bach

no message

parent 4de7e1ef
...@@ -391,12 +391,10 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -391,12 +391,10 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("SELECT CC.CUSTOMER_ID AS customerId"); sb.append("SELECT CC.CUSTOMER_ID AS customerId");
sb.append(" FROM CAMPAIGN_CUSTOMER CC"); sb.append(" FROM CAMPAIGN_CUSTOMER CC");
sb.append(" LEFT JOIN CCMS_FULL.RECEIVE_CUST_LOG CL ON CC.CUSTOMER_ID = CL.CUSTOMER_ID");
sb.append(" WHERE CC.CAMPAIGN_ID = :campaignId"); sb.append(" WHERE CC.CAMPAIGN_ID = :campaignId");
sb.append(" AND CC.COMPANY_SITE_ID = :companySiteId"); sb.append(" AND CC.COMPANY_SITE_ID = :companySiteId");
sb.append(" AND CC.IN_CAMPAIGN_STATUS = 1"); sb.append(" AND CC.IN_CAMPAIGN_STATUS = 1");
sb.append(" AND CL.CUSTOMER_ID IS NULL"); sb.append(" AND CC.CUSTOMER_ID NOT IN (SELECT CUSTOMER_ID FROM RECEIVE_CUST_LOG WHERE END_TIME IS NULL)");
sb.append(" AND CL.END_TIME IS NULL");
sb.append(" AND EXISTS(SELECT 1"); sb.append(" AND EXISTS(SELECT 1");
sb.append(" FROM CCMS_FULL.CAMPAIGN_COMPLETE_CODE CCC"); sb.append(" FROM CCMS_FULL.CAMPAIGN_COMPLETE_CODE CCC");
sb.append(" WHERE CC.STATUS = CCC.COMPLETE_VALUE"); sb.append(" WHERE CC.STATUS = CCC.COMPLETE_VALUE");
...@@ -411,13 +409,11 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -411,13 +409,11 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
StringBuilder sb2 = new StringBuilder(); StringBuilder sb2 = new StringBuilder();
sb2.append("SELECT CC.CUSTOMER_ID AS customerId"); sb2.append("SELECT CC.CUSTOMER_ID AS customerId");
sb2.append(" FROM CCMS_FULL.CAMPAIGN_CUSTOMER CC"); sb2.append(" FROM CCMS_FULL.CAMPAIGN_CUSTOMER CC");
sb2.append(" LEFT JOIN CCMS_FULL.RECEIVE_CUST_LOG CL ON CC.CUSTOMER_ID = CL.CUSTOMER_ID");
sb2.append(" LEFT JOIN ACD_FULL.AGENTS AG ON CC.AGENT_ID = AG.AGENT_ID AND CC.CAMPAIGN_ID = AG.CURRENT_CAMPAIGN_ID"); sb2.append(" LEFT JOIN ACD_FULL.AGENTS AG ON CC.AGENT_ID = AG.AGENT_ID AND CC.CAMPAIGN_ID = AG.CURRENT_CAMPAIGN_ID");
sb2.append(" WHERE CC.CAMPAIGN_ID = :campaignId"); sb2.append(" WHERE CC.CAMPAIGN_ID = :campaignId");
sb2.append(" AND CC.COMPANY_SITE_ID = :companySiteId"); sb2.append(" AND CC.COMPANY_SITE_ID = :companySiteId");
sb2.append(" AND CC.IN_CAMPAIGN_STATUS = 1"); sb2.append(" AND CC.IN_CAMPAIGN_STATUS = 1");
sb2.append(" AND CL.CUSTOMER_ID IS NULL"); sb2.append(" AND CC.CUSTOMER_ID NOT IN (SELECT CUSTOMER_ID FROM RECEIVE_CUST_LOG WHERE END_TIME IS NULL)");
sb2.append(" AND CL.END_TIME IS NULL");
sb2.append(" AND EXISTS(SELECT 1"); sb2.append(" AND EXISTS(SELECT 1");
sb2.append(" FROM CCMS_FULL.CAMPAIGN_COMPLETE_CODE CCC"); sb2.append(" FROM CCMS_FULL.CAMPAIGN_COMPLETE_CODE CCC");
sb2.append(" WHERE CC.STATUS = CCC.COMPLETE_VALUE"); sb2.append(" WHERE CC.STATUS = CCC.COMPLETE_VALUE");
...@@ -432,12 +428,10 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -432,12 +428,10 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
StringBuilder sb3 = new StringBuilder(); StringBuilder sb3 = new StringBuilder();
sb3.append("SELECT CC.CUSTOMER_ID AS customerId"); sb3.append("SELECT CC.CUSTOMER_ID AS customerId");
sb3.append(" FROM CAMPAIGN_CUSTOMER CC"); sb3.append(" FROM CAMPAIGN_CUSTOMER CC");
sb3.append(" LEFT JOIN RECEIVE_CUST_LOG CL ON CC.CUSTOMER_ID = CL.CUSTOMER_ID");
sb3.append(" WHERE CC.CAMPAIGN_ID = :campaignId"); sb3.append(" WHERE CC.CAMPAIGN_ID = :campaignId");
sb3.append(" AND CC.COMPANY_SITE_ID = :companySiteId"); sb3.append(" AND CC.COMPANY_SITE_ID = :companySiteId");
sb3.append(" AND CC.IN_CAMPAIGN_STATUS = 1"); sb3.append(" AND CC.IN_CAMPAIGN_STATUS = 1");
sb3.append(" AND CL.CUSTOMER_ID IS NULL"); sb3.append(" AND CC.CUSTOMER_ID NOT IN (SELECT CUSTOMER_ID FROM RECEIVE_CUST_LOG WHERE END_TIME IS NULL)");
sb3.append(" AND CL.END_TIME IS NULL");
sb3.append(" AND EXISTS(SELECT 1"); sb3.append(" AND EXISTS(SELECT 1");
sb3.append(" FROM CCMS_FULL.CAMPAIGN_COMPLETE_CODE CCC"); sb3.append(" FROM CCMS_FULL.CAMPAIGN_COMPLETE_CODE CCC");
sb3.append(" WHERE CC.STATUS = CCC.COMPLETE_VALUE"); sb3.append(" WHERE CC.STATUS = CCC.COMPLETE_VALUE");
...@@ -451,12 +445,10 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -451,12 +445,10 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
sb4.append("SELECT CC.CUSTOMER_ID AS customerId "); sb4.append("SELECT CC.CUSTOMER_ID AS customerId ");
sb4.append(" FROM CAMPAIGN_CUSTOMER CC"); sb4.append(" FROM CAMPAIGN_CUSTOMER CC");
sb4.append(" INNER JOIN CUSTOMER C ON CC.CUSTOMER_ID = C.CUSTOMER_ID"); sb4.append(" INNER JOIN CUSTOMER C ON CC.CUSTOMER_ID = C.CUSTOMER_ID");
sb4.append(" LEFT JOIN RECEIVE_CUST_LOG CL ON CC.CUSTOMER_ID = CL.CUSTOMER_ID");
sb4.append(" WHERE CC.CAMPAIGN_ID = :campaignId"); sb4.append(" WHERE CC.CAMPAIGN_ID = :campaignId");
sb4.append(" AND CC.COMPANY_SITE_ID = :companySiteId"); sb4.append(" AND CC.COMPANY_SITE_ID = :companySiteId");
sb4.append(" AND CC.IN_CAMPAIGN_STATUS = 1"); sb4.append(" AND CC.IN_CAMPAIGN_STATUS = 1");
sb4.append(" AND CL.CUSTOMER_ID IS NULL"); sb4.append(" AND CC.CUSTOMER_ID NOT IN (SELECT CUSTOMER_ID FROM RECEIVE_CUST_LOG WHERE END_TIME IS NULL)");
sb4.append(" AND CL.END_TIME IS NULL");
sb4.append(" AND CC.STATUS = 0"); sb4.append(" AND CC.STATUS = 0");
sb4.append(" AND C.STATUS = 1"); sb4.append(" AND C.STATUS = 1");
sb4.append(" AND C.CALL_ALLOWED = 1"); sb4.append(" AND C.CALL_ALLOWED = 1");
...@@ -465,12 +457,12 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -465,12 +457,12 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
StringBuilder sb5 = new StringBuilder(); StringBuilder sb5 = new StringBuilder();
sb5.append("SELECT CC.CUSTOMER_ID AS customerId"); sb5.append("SELECT CC.CUSTOMER_ID AS customerId");
sb5.append(" FROM CAMPAIGN_CUSTOMER CC"); sb5.append(" FROM CAMPAIGN_CUSTOMER CC");
sb5.append(" LEFT JOIN CCMS_FULL.RECEIVE_CUST_LOG CL ON CC.CUSTOMER_ID = CL.CUSTOMER_ID"); sb5.append(" INNER JOIN CAMPAIGN CA ON CC.CAMPAIGN_ID = CA.CAMPAIGN_ID");
sb5.append(" INNER JOIN CUSTOMER CU ON CC.CUSTOMER_ID = CU.CUSTOMER_ID");
sb5.append(" WHERE CC.CAMPAIGN_ID = :campaignId"); sb5.append(" WHERE CC.CAMPAIGN_ID = :campaignId");
sb5.append(" AND CC.COMPANY_SITE_ID = :companySiteId"); sb5.append(" AND CC.COMPANY_SITE_ID = :companySiteId");
sb5.append(" AND CC.IN_CAMPAIGN_STATUS = 1"); sb5.append(" AND CC.IN_CAMPAIGN_STATUS = 1");
sb5.append(" AND CL.CUSTOMER_ID IS NULL"); sb5.append(" AND CC.CUSTOMER_ID NOT IN (SELECT CUSTOMER_ID FROM RECEIVE_CUST_LOG WHERE END_TIME IS NULL)");
sb5.append(" AND CL.END_TIME IS NULL");
sb5.append(" AND EXISTS(SELECT 1"); sb5.append(" AND EXISTS(SELECT 1");
sb5.append(" FROM CCMS_FULL.CAMPAIGN_COMPLETE_CODE CCC"); sb5.append(" FROM CCMS_FULL.CAMPAIGN_COMPLETE_CODE CCC");
sb5.append(" WHERE CC.STATUS = CCC.COMPLETE_VALUE"); sb5.append(" WHERE CC.STATUS = CCC.COMPLETE_VALUE");
...@@ -478,10 +470,10 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -478,10 +470,10 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
sb5.append(" AND IS_FINISH = 0"); sb5.append(" AND IS_FINISH = 0");
sb5.append(" AND COMPLETE_TYPE = 1"); sb5.append(" AND COMPLETE_TYPE = 1");
sb5.append(" AND COMPANY_SITE_ID = :companySiteId)"); sb5.append(" AND COMPANY_SITE_ID = :companySiteId)");
sb5.append(" AND CC.RECALL_COUNT < C.MAX_RECALL"); sb5.append(" AND CC.RECALL_COUNT < CA.MAX_RECALL");
sb5.append(" AND C.STATUS = 1"); sb5.append(" AND CU.STATUS = 1");
sb5.append(" AND C.CALL_ALLOWED = 1"); sb5.append(" AND CU.CALL_ALLOWED = 1");
sb5.append(" AND C.IPCC_STATUS = 'active'"); sb5.append(" AND CU.IPCC_STATUS = 'active'");
String getExecuteCus1Str = sb.toString(); String getExecuteCus1Str = sb.toString();
String getExecuteCus2Str = sb2.toString(); String getExecuteCus2Str = sb2.toString();
...@@ -489,40 +481,46 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService { ...@@ -489,40 +481,46 @@ public class CampaignExecuteServiceImp implements CampaignExecuteService {
String getExecuteCus4Str = sb4.toString(); String getExecuteCus4Str = sb4.toString();
String getExecuteCus5Str = sb5.toString(); String getExecuteCus5Str = sb5.toString();
// Khách hàng đến thời điểm hẹn gọi lại và là khách hàng mà chính NSD hẹn gọi lại try {
List<CampaignCustomerDTO> lst1 = campaignCustomerRepository.getDataCampaignCustomer(dto, getExecuteCus1Str); // Khách hàng đến thời điểm hẹn gọi lại và là khách hàng mà chính NSD hẹn gọi lại
if (lst1.size() > 0) { List<CampaignCustomerDTO> lst1 = campaignCustomerRepository.getDataCampaignCustomer(dto, getExecuteCus1Str);
lst = lst1; if (lst1.size() > 0) {
} else { lst = lst1;
// Khách hàng đến thời điểm hẹn gọi lại và không là khách hàng mà NSD dùng hẹn gọi lại nhưng TVV hẹn gọi lại không đăng nhập hoặc không thực hiện chiến dịch hiện tại
List<CampaignCustomerDTO> lst2 = campaignCustomerRepository.getDataCampaignCustomer(dto, getExecuteCus2Str);
if (lst2.size() > 0) {
lst = lst2;
} else { } else {
// Khách hàng là khách hàng hẹn gọi lại nhưng thời gian hẹn gọi lại đã quá thời gian hẹn gọi lại + dung sai // Khách hàng đến thời điểm hẹn gọi lại và không là khách hàng mà NSD dùng hẹn gọi lại nhưng TVV hẹn gọi lại không đăng nhập hoặc không thực hiện chiến dịch hiện tại
List<CampaignCustomerDTO> lst3 = campaignCustomerRepository.getDataCampaignCustomer(dto, getExecuteCus3Str); List<CampaignCustomerDTO> lst2 = campaignCustomerRepository.getDataCampaignCustomer(dto, getExecuteCus2Str);
if (lst3.size() > 0) { if (lst2.size() > 0) {
lst = lst3; lst = lst2;
} else { } else {
// Khách hàng mới // Khách hàng là khách hàng hẹn gọi lại nhưng thời gian hẹn gọi lại đã quá thời gian hẹn gọi lại + dung sai
List<CampaignCustomerDTO> lst4 = campaignCustomerRepository.getDataCampaignCustomer(dto, getExecuteCus4Str); List<CampaignCustomerDTO> lst3 = campaignCustomerRepository.getDataCampaignCustomer(dto, getExecuteCus3Str);
if (lst4.size() > 0) { if (lst3.size() > 0) {
lst = lst4; lst = lst3;
} else { } else {
// Khách hàng không liên lạc được nhưng chưa phải là cuộc gọi kết thúc và có số lần đã gọi < Số lần gọi tối đa được cấu hình và khoảng cách giữa 2 lần gọi < thời gian tương tác giữa 2 lần gọi được cấu hình // Khách hàng mới
List<CampaignCustomerDTO> lst5 = campaignCustomerRepository.getDataCampaignCustomer(dto, getExecuteCus5Str); List<CampaignCustomerDTO> lst4 = campaignCustomerRepository.getDataCampaignCustomer(dto, getExecuteCus4Str);
lst = lst5; if (lst4.size() > 0) {
lst = lst4;
} else {
// Khách hàng không liên lạc được nhưng chưa phải là cuộc gọi kết thúc và có số lần đã gọi < Số lần gọi tối đa được cấu hình và khoảng cách giữa 2 lần gọi < thời gian tương tác giữa 2 lần gọi được cấu hình
List<CampaignCustomerDTO> lst5 = campaignCustomerRepository.getDataCampaignCustomer(dto, getExecuteCus5Str);
lst = lst5;
}
} }
} }
} }
}
if (lst != null) { if (lst != null) {
result.setErrorCode(Constants.ApiErrorCode.SUCCESS); result.setErrorCode(Constants.ApiErrorCode.SUCCESS);
result.setDescription(Constants.ApiErrorDesc.SUCCESS); result.setDescription(Constants.ApiErrorDesc.SUCCESS);
result.setListData(lst); result.setListData(lst);
//result.setData(data); //result.setData(data);
} else { } else {
result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR);
}
} catch (Exception e) {
logger.error(e.getMessage());
result.setErrorCode(Constants.ApiErrorCode.ERROR); result.setErrorCode(Constants.ApiErrorCode.ERROR);
result.setDescription(Constants.ApiErrorDesc.ERROR); result.setDescription(Constants.ApiErrorDesc.ERROR);
} }
......
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