Commit 4185a1d8 authored by Phạm Duy Phi's avatar Phạm Duy Phi

commit

parent 2db2c01b
...@@ -12,8 +12,8 @@ import javax.validation.constraints.NotNull; ...@@ -12,8 +12,8 @@ import javax.validation.constraints.NotNull;
@Setter @Setter
public class CampaignCustomerList { public class CampaignCustomerList {
@Id @Id
@GeneratedValue(generator = "campaign_customerlist_seq") @GeneratedValue(generator = "campaign_customer_seq")
@SequenceGenerator(name = "campaign_customerlist_seq", sequenceName = "campaign_customerlist_seq", allocationSize = 1) @SequenceGenerator(name = "campaign_customer_seq", sequenceName = "campaign_customer_seq", allocationSize = 1)
@Basic(optional = false) @Basic(optional = false)
@NotNull @NotNull
@Column(name = "CAMPAIGN_CUSTOMERLIST_ID") @Column(name = "CAMPAIGN_CUSTOMERLIST_ID")
......
...@@ -100,6 +100,13 @@ public class CustomerServiceImpl implements CustomerService { ...@@ -100,6 +100,13 @@ public class CustomerServiceImpl implements CustomerService {
query.addScalar("ipccStatus", new StringType()); query.addScalar("ipccStatus", new StringType());
query.addScalar("mobileNumber", new StringType()); query.addScalar("mobileNumber", new StringType());
query.addScalar("email", new StringType()); query.addScalar("email", new StringType());
query.addScalar("title", new StringType());
query.addScalar("type", new StringType());
query.addScalar("valueCombobox", new StringType());
query.addScalar("valueCheckbox", new ShortType());
query.addScalar("valueDate", new DateType());
query.addScalar("valueNumber", new LongType());
query.addScalar("valueText", new StringType());
query.setResultTransformer(Transformers.aliasToBean(CustomerCustomDTO.class)); query.setResultTransformer(Transformers.aliasToBean(CustomerCustomDTO.class));
int count = 0; int count = 0;
......
...@@ -3,6 +3,8 @@ package com.viettel.campaign.web.dto; ...@@ -3,6 +3,8 @@ package com.viettel.campaign.web.dto;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.util.Date;
@Getter @Getter
@Setter @Setter
public class CustomerCustomDTO { public class CustomerCustomDTO {
...@@ -21,4 +23,11 @@ public class CustomerCustomDTO { ...@@ -21,4 +23,11 @@ public class CustomerCustomDTO {
String ipccStatus; String ipccStatus;
String mobileNumber; String mobileNumber;
String email; String email;
String title;
String type;
String valueCombobox;
Short valueCheckbox;
Date valueDate;
Long valueNumber;
String valueText;
} }
-- select
-- a.CUSTOMER_LIST_MAPPING_ID customerListMappingId,
-- a.COMPANY_SITE_ID companySiteId,
-- a.CUSTOMER_LIST_ID customerListId,
-- a.CUSTOMER_ID customerId,
-- b.NAME name,
-- b.DESCRIPTION description,
-- b.COMPANY_NAME companyName,
-- b.CUSTOMER_TYPE customerType,
-- b.CURRENT_ADDRESS currentAddress,
-- b.CALL_ALLOWED callAllowed,
-- b.EMAIL_ALLOWED emailAllowed,
-- b.SMS_ALLOWED smsAllowed,
-- b.IPCC_STATUS ipccStatus,
-- c.MOBILE mobileNumber,
-- d.EMAIL email
-- from CUSTOMER_LIST_MAPPING a
-- join CUSTOMER b on a.CUSTOMER_ID = b.CUSTOMER_ID
-- left join (SELECT CUSTOMER_ID, LISTAGG(CONTACT, ', ') WITHIN GROUP (ORDER BY NULL) AS MOBILE
-- FROM CUSTOMER_CONTACT WHERE CONTACT_TYPE = 5 GROUP BY CUSTOMER_ID) c on b.CUSTOMER_ID = c.CUSTOMER_ID
-- left join (SELECT CUSTOMER_ID, LISTAGG(CONTACT, ', ') WITHIN GROUP (ORDER BY NULL) AS EMAIL
-- FROM CUSTOMER_CONTACT WHERE CONTACT_TYPE = 2 GROUP BY CUSTOMER_ID) d on b.CUSTOMER_ID = d.CUSTOMER_ID
-- where 1 = 1
-- and COMPANY_SITE_ID = :p_company_site_id
-- and CUSTOMER_LIST_ID = :p_customer_list_id
-- test dynamic field
select select
a.CUSTOMER_LIST_MAPPING_ID customerListMappingId, a.CUSTOMER_LIST_MAPPING_ID customerListMappingId,
a.COMPANY_SITE_ID companySiteId, a.COMPANY_SITE_ID companySiteId,
...@@ -13,13 +41,26 @@ select ...@@ -13,13 +41,26 @@ select
b.SMS_ALLOWED smsAllowed, b.SMS_ALLOWED smsAllowed,
b.IPCC_STATUS ipccStatus, b.IPCC_STATUS ipccStatus,
c.MOBILE mobileNumber, c.MOBILE mobileNumber,
d.EMAIL email d.EMAIL email,
e.TITLE title,
f.TYPE type,
h.VALUE_COMBOBOX valueCombobox,
e.VALUE_CHECKBOX valueCheckbox,
e.VALUE_DATE valueDate,
e.VALUE_NUMBER valueNumber,
e.VALUE_TEXT valueText
from CUSTOMER_LIST_MAPPING a from CUSTOMER_LIST_MAPPING a
join CUSTOMER b on a.CUSTOMER_ID = b.CUSTOMER_ID join CUSTOMER b on a.CUSTOMER_ID = b.CUSTOMER_ID
left join (SELECT CUSTOMER_ID, LISTAGG(CONTACT, ', ') WITHIN GROUP (ORDER BY NULL) AS MOBILE left join (SELECT CUSTOMER_ID, LISTAGG(CONTACT, ', ') WITHIN GROUP (ORDER BY NULL) AS MOBILE
FROM CUSTOMER_CONTACT WHERE CONTACT_TYPE = 5 GROUP BY CUSTOMER_ID) c on b.CUSTOMER_ID = c.CUSTOMER_ID FROM CUSTOMER_CONTACT WHERE CONTACT_TYPE = 5 GROUP BY CUSTOMER_ID) c on b.CUSTOMER_ID = c.CUSTOMER_ID
left join (SELECT CUSTOMER_ID, LISTAGG(CONTACT, ', ') WITHIN GROUP (ORDER BY NULL) AS EMAIL left join (SELECT CUSTOMER_ID, LISTAGG(CONTACT, ', ') WITHIN GROUP (ORDER BY NULL) AS EMAIL
FROM CUSTOMER_CONTACT WHERE CONTACT_TYPE = 2 GROUP BY CUSTOMER_ID) d on b.CUSTOMER_ID = d.CUSTOMER_ID FROM CUSTOMER_CONTACT WHERE CONTACT_TYPE = 2 GROUP BY CUSTOMER_ID) d on b.CUSTOMER_ID = d.CUSTOMER_ID
left join CUSTOMIZE_FIELD_OBJECT e on b.CUSTOMER_ID = e.OBJECT_ID
left join CUSTOMIZE_FIELDS f on e.CUSTOMIZE_FIELDS_ID = f.CUSTOMIZE_FIELD_ID
left join (SELECT FIELD_OPTION_VALUE_ID, NAME AS VALUE_COMBOBOX
FROM CUSTOMIZE_FIELD_OPTION_VALUE) h on h.FIELD_OPTION_VALUE_ID = e.FIELD_OPTION_VALUE_ID
where 1 = 1 where 1 = 1
and COMPANY_SITE_ID = :p_company_site_id and a.COMPANY_SITE_ID = :p_company_site_id
and CUSTOMER_LIST_ID = :p_customer_list_id and a.CUSTOMER_LIST_ID = :p_customer_list_id
and e.FUNCTION_CODE = 'CUSTOMER'
order by a.CUSTOMER_ID
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