Commit e70d70c7 authored by Vu Duy Anh's avatar Vu Duy Anh

anhvd accept merge

parents c664a0d1 25ad8ace
...@@ -551,6 +551,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -551,6 +551,8 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
sb.append(" select title columnName, customize_field_id customizeFieldId, 0 isFix from customize_fields, dual"); sb.append(" select title columnName, customize_field_id customizeFieldId, 0 isFix from customize_fields, dual");
sb.append(" where function_code = 'CUSTOMER'"); sb.append(" where function_code = 'CUSTOMER'");
sb.append(" and site_id = :p_company_site_id"); sb.append(" and site_id = :p_company_site_id");
sb.append(" and status = 1");
sb.append(" and active = 1");
sb.append(" and customize_field_id not in (select customize_field_id from campaign_customerlist_column where campaign_customerlist_column.campaign_id = :p_campaign_id)"); sb.append(" and customize_field_id not in (select customize_field_id from campaign_customerlist_column where campaign_customerlist_column.campaign_id = :p_campaign_id)");
params.put("p_company_site_id", dto.getCompanySiteId()); params.put("p_company_site_id", dto.getCompanySiteId());
params.put("p_campaign_id", dto.getCampaignId()); params.put("p_campaign_id", dto.getCampaignId());
...@@ -932,10 +934,15 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom { ...@@ -932,10 +934,15 @@ public class CampaignRepositoryImpl implements CampaignRepositoryCustom {
sb.append(" from campaign_customer"); sb.append(" from campaign_customer");
sb.append(" group by campaign_id"); sb.append(" group by campaign_id");
sb.append(" )"); sb.append(" )");
sb.append(" select a.*, b.customer_number campaignCustomer"); sb.append(" select b.campaign_id campaignId,");
sb.append(" from count_customer a"); sb.append(" nvl(a.totalIndividual, 0) totalIndividual,");
sb.append(" left join campaign b on a.campaignId = b.campaign_id"); sb.append(" nvl(a.totalNotInteractive, 0) totalNotInteractive,");
sb.append(" where a.campaignId = :p_campaign_id"); sb.append(" nvl(a.totalNotCall, 0) totalNotCall,");
sb.append(" nvl(a.totalCusInList, 0) totalCusInList,");
sb.append(" b.customer_number campaignCustomer");
sb.append(" from campaign b");
sb.append(" left join count_customer a on a.campaignId = b.campaign_id");
sb.append(" where b.campaign_id = :p_campaign_id");
params.put("p_campaign_id", dto.getCampaignId()); params.put("p_campaign_id", dto.getCampaignId());
params.put("p_company_site_id", dto.getCompanySiteId()); params.put("p_company_site_id", dto.getCompanySiteId());
list = namedParameterJdbcTemplate.query(sb.toString(), params, BeanPropertyRowMapper.newInstance(CampaignInformationDTO.class)); list = namedParameterJdbcTemplate.query(sb.toString(), params, BeanPropertyRowMapper.newInstance(CampaignInformationDTO.class));
......
...@@ -2025,31 +2025,23 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -2025,31 +2025,23 @@ public class CustomerServiceImpl implements CustomerService {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
try { try {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(" with status_customer as (\n" + sb.append(" with count_customer as (");
"select complete_value\n" + sb.append(" select campaign_id campaignId,");
"from campaign_complete_code\n" + sb.append(" sum(case");
"where complete_value <> 4\n" + sb.append(" when customer_list_id is null then 1");
" and is_finish <> 1\n" + sb.append(" else 0");
" and campaign_type = 1\n" + sb.append(" end) totalIndividual,");
" and company_site_id = :p_company_site_id\n" + sb.append(" sum(case");
"),\n" + sb.append(" when customer_list_id is not null then 1");
"count_customer as (\n" + sb.append(" else 0");
"select campaign_id campaignId,\n" + sb.append(" end) totalCusInList");
" sum(case\n" + sb.append(" from campaign_customer");
" when customer_list_id is null then 1\n" + sb.append(" group by campaign_id");
" else 0\n" + sb.append(" )");
" end) totalIndividual,\n" + sb.append(" select b.campaign_id campaignId, nvl(totalIndividual, 0) totalIndividual, nvl(totalCusInList, 0) totalCusInList, b.customer_number campaignCustomer");
" sum(case\n" + sb.append(" from campaign b");
" when customer_list_id is not null then 1\n" + sb.append(" left join count_customer a on a.campaignId = b.campaign_id");
" else 0\n" + sb.append(" where b.campaign_id = :p_campaign_id");
" end) totalCusInList\n" +
"from campaign_customer\n" +
"group by campaign_id\n" +
")\n" +
"select a.*, b.customer_number campaignCustomer\n" +
"from count_customer a\n" +
"left join campaign b on a.campaignId = b.campaign_id\n" +
"where a.campaignId = :p_campaign_id");
params.put("p_campaign_id", campaignCustomerDTO.getCampaignId()); params.put("p_campaign_id", campaignCustomerDTO.getCampaignId());
params.put("p_company_site_id", campaignCustomerDTO.getCompanySiteId()); params.put("p_company_site_id", campaignCustomerDTO.getCompanySiteId());
list = namedParameterJdbcTemplate.query(sb.toString(), params, BeanPropertyRowMapper.newInstance(CampaignInformationDTO.class)); list = namedParameterJdbcTemplate.query(sb.toString(), params, BeanPropertyRowMapper.newInstance(CampaignInformationDTO.class));
......
...@@ -5,14 +5,11 @@ ...@@ -5,14 +5,11 @@
*/ */
package com.viettel.campaign.utils; package com.viettel.campaign.utils;
import org.apache.log4j.Logger;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
/** /**
* *
...@@ -86,7 +83,7 @@ public class TimeZoneUtils { ...@@ -86,7 +83,7 @@ public class TimeZoneUtils {
public static String toDateStringWithTimeZone(Date date, TimeZone tz){ public static String toDateStringWithTimeZone(Date date, TimeZone tz){
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
sdf.setTimeZone(tz); sdf.setTimeZone(tz);
return sdf.format(date); return date == null ? null : sdf.format(date);
} }
public static TimeZone getZone(Long timeZone){ public static TimeZone getZone(Long timeZone){
......
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