Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
service-campaign
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nguyen Ha
service-campaign
Commits
d42969f6
Commit
d42969f6
authored
Aug 21, 2019
by
=
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
hungtt-commit fix bug ojdbc version execute interactive
parent
1d26b209
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
110 additions
and
48 deletions
+110
-48
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignExecuteRepositoryImp.java
...pository/ccms_full/impl/CampaignExecuteRepositoryImp.java
+107
-46
src/main/java/com/viettel/campaign/web/dto/ContactCusResDTO.java
...n/java/com/viettel/campaign/web/dto/ContactCusResDTO.java
+3
-2
No files found.
src/main/java/com/viettel/campaign/repository/ccms_full/impl/CampaignExecuteRepositoryImp.java
View file @
d42969f6
...
...
@@ -14,10 +14,7 @@ import org.hibernate.SQLQuery;
import
org.hibernate.Session
;
import
org.hibernate.SessionFactory
;
import
org.hibernate.transform.Transformers
;
import
org.hibernate.type.DateType
;
import
org.hibernate.type.LongType
;
import
org.hibernate.type.ShortType
;
import
org.hibernate.type.StringType
;
import
org.hibernate.type.*
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -107,7 +104,10 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
ResultDTO
resultDTO
=
new
ResultDTO
();
List
<
ContactCusResDTO
>
list
=
new
ArrayList
<>();
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
try
{
// String sql = SQLBuilder.getSqlQueryById(Constants.SQL_MODULES.MODULE_EXECUTE, "get-execute-interactive");
StringBuilder
sql
=
new
StringBuilder
();
...
...
@@ -176,29 +176,52 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
sql
.
append
(
" select a.*, rownum row_ from data_temp a"
);
sql
.
append
(
" where a.callTime >= :p_call_time_from"
);
sql
.
append
(
" and a.callTime <= :p_call_time_to"
);
sql
.
append
(
" ),"
);
sql
.
append
(
" count_total as ("
);
sql
.
append
(
" select count(*) totalRow from data"
);
sql
.
append
(
" )"
);
sql
.
append
(
" select contactCustResultId, createTime, campaignCode, campaignName, userName, phoneNumber, customerName, startCall, contactStatus, surveyStatus, status, recordStatus, callTime
from data
"
);
sql
.
append
(
" select contactCustResultId, createTime, campaignCode, campaignName, userName, phoneNumber, customerName, startCall, contactStatus, surveyStatus, status, recordStatus, callTime
, totalRow from data, count_total
"
);
sql
.
append
(
" where :p_page_size = 0 or (row_ >= ((:p_page_number - 1) * :p_page_size + 1) and row_ < (:p_page_number * :p_page_size + 1))"
);
params
.
put
(
"p_company_site_id"
,
dto
.
getCompanySiteId
());
params
.
put
(
"p_customer_id"
,
dto
.
getCustomerId
());
params
.
put
(
"p_date_from"
,
dto
.
getFromDate
());
params
.
put
(
"p_date_to"
,
dto
.
getToDate
());
params
.
put
(
"p_list_compaign_type"
,
dto
.
getCampaignType
());
params
.
put
(
"p_list_contact_status"
,
dto
.
getContactStatus
());
params
.
put
(
"p_list_survey_status"
,
dto
.
getSurveyStatus
());
params
.
put
(
"p_list_record_status"
,
dto
.
getRecordStatus
());
params
.
put
(
"p_call_time_from"
,
dto
.
getCallTimeFrom
());
params
.
put
(
"p_call_time_to"
,
dto
.
getCallTimeTo
());
params
.
put
(
"p_list_campaign_id"
,
dto
.
getCampaignId
());
params
.
put
(
"p_phone_number"
,
dto
.
getPhoneNumber
());
params
.
put
(
"p_campaign_name"
,
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
())
?
null
:
dto
.
getCampaignName
().
toUpperCase
());
params
.
put
(
"p_user_name"
,
DataUtil
.
isNullOrEmpty
(
dto
.
getAgentId
())
?
null
:
dto
.
getAgentId
().
toUpperCase
());
params
.
put
(
"p_page_number"
,
dto
.
getPage
().
toString
());
params
.
put
(
"p_page_size"
,
dto
.
getPageSize
().
toString
());
list
=
namedParameterJdbcTemplate
.
query
(
sql
.
toString
(),
params
,
BeanPropertyRowMapper
.
newInstance
(
ContactCusResDTO
.
class
));
SQLQuery
query
=
session
.
createSQLQuery
(
sql
.
toString
());
query
.
setParameter
(
"p_company_site_id"
,
dto
.
getCompanySiteId
());
query
.
setParameter
(
"p_customer_id"
,
dto
.
getCustomerId
());
query
.
setParameter
(
"p_date_from"
,
dto
.
getFromDate
());
query
.
setParameter
(
"p_date_to"
,
dto
.
getToDate
());
query
.
setParameter
(
"p_list_compaign_type"
,
dto
.
getCampaignType
());
query
.
setParameter
(
"p_list_contact_status"
,
dto
.
getContactStatus
());
query
.
setParameter
(
"p_list_survey_status"
,
dto
.
getSurveyStatus
());
query
.
setParameter
(
"p_list_record_status"
,
dto
.
getRecordStatus
());
query
.
setParameter
(
"p_call_time_from"
,
dto
.
getCallTimeFrom
());
query
.
setParameter
(
"p_call_time_to"
,
dto
.
getCallTimeTo
());
query
.
setParameter
(
"p_list_campaign_id"
,
dto
.
getCampaignId
());
query
.
setParameter
(
"p_phone_number"
,
dto
.
getPhoneNumber
());
query
.
setParameter
(
"p_campaign_name"
,
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
())
?
null
:
dto
.
getCampaignName
().
toUpperCase
());
query
.
setParameter
(
"p_user_name"
,
DataUtil
.
isNullOrEmpty
(
dto
.
getAgentId
())
?
null
:
dto
.
getAgentId
().
toUpperCase
());
query
.
setParameter
(
"p_page_number"
,
dto
.
getPage
());
query
.
setParameter
(
"p_page_size"
,
dto
.
getPageSize
());
query
.
addScalar
(
"contactCustResultId"
,
new
LongType
());
query
.
addScalar
(
"createTime"
,
new
DateType
());
query
.
addScalar
(
"campaignCode"
,
new
StringType
());
query
.
addScalar
(
"campaignName"
,
new
StringType
());
query
.
addScalar
(
"userName"
,
new
StringType
());
query
.
addScalar
(
"phoneNumber"
,
new
StringType
());
query
.
addScalar
(
"customerName"
,
new
StringType
());
query
.
addScalar
(
"startCall"
,
new
DateType
());
query
.
addScalar
(
"contactStatus"
,
new
StringType
());
query
.
addScalar
(
"surveyStatus"
,
new
StringType
());
query
.
addScalar
(
"status"
,
new
StringType
());
query
.
addScalar
(
"callTime"
,
new
LongType
());
query
.
addScalar
(
"totalRow"
,
new
IntegerType
());
query
.
setResultTransformer
(
Transformers
.
aliasToBean
(
ContactCusResDTO
.
class
));
int
total
=
0
;
list
=
query
.
list
();
if
(
list
.
size
()
>
0
)
{
total
=
list
.
get
(
0
).
getTotalRow
();
}
for
(
ContactCusResDTO
contactCusResDTO
:
list
)
{
if
(!
"AGENT"
.
equals
(
dto
.
getRoleUser
()))
{
contactCusResDTO
.
setEnableEdit
(
true
);
...
...
@@ -214,7 +237,7 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
}
resultDTO
.
setListData
(
list
);
resultDTO
.
setTotalRow
(
list
.
size
()
);
resultDTO
.
setTotalRow
(
total
);
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
SUCCESS
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
SUCCESS
);
}
catch
(
Exception
e
)
{
...
...
@@ -222,6 +245,7 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
resultDTO
.
setErrorCode
(
Constants
.
ApiErrorCode
.
ERROR
);
resultDTO
.
setDescription
(
Constants
.
ApiErrorDesc
.
ERROR
);
}
finally
{
session
.
close
();
return
resultDTO
;
}
}
...
...
@@ -230,7 +254,11 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
@Transactional
(
DataSourceQualify
.
CCMS_FULL
)
public
List
<
ContactCusResDTO
>
getExcelInteractiveResult
(
CampaignRequestDTO
dto
)
{
List
<
ContactCusResDTO
>
list
=
new
ArrayList
<>();
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
SessionFactory
sessionFactory
=
HibernateUtil
.
getSessionFactory
();
Session
session
=
sessionFactory
.
openSession
();
session
.
beginTransaction
();
try
{
StringBuilder
sb
=
new
StringBuilder
();
...
...
@@ -302,27 +330,61 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
sb
.
append
(
" select campaignCode, createTime, campaignName, userName, phoneNumber, customerName, startCall, contactStatus, surveyStatus, status, recordStatus, callTime from data"
);
sb
.
append
(
" where :p_page_size = 0 or (row_ >= ((:p_page_number - 1) * :p_page_size + 1) and row_ < (:p_page_number * :p_page_size + 1))"
);
params
.
put
(
"p_company_site_id"
,
dto
.
getCompanySiteId
());
params
.
put
(
"p_customer_id"
,
dto
.
getCustomerId
());
params
.
put
(
"p_date_from"
,
dto
.
getFromDate
());
params
.
put
(
"p_date_to"
,
dto
.
getToDate
());
params
.
put
(
"p_list_compaign_type"
,
dto
.
getCampaignType
());
params
.
put
(
"p_list_contact_status"
,
dto
.
getContactStatus
());
params
.
put
(
"p_list_survey_status"
,
dto
.
getSurveyStatus
());
params
.
put
(
"p_list_record_status"
,
dto
.
getRecordStatus
());
params
.
put
(
"p_call_time_from"
,
dto
.
getCallTimeFrom
());
params
.
put
(
"p_call_time_to"
,
dto
.
getCallTimeTo
());
params
.
put
(
"p_list_campaign_id"
,
dto
.
getCampaignId
());
params
.
put
(
"p_phone_number"
,
dto
.
getPhoneNumber
());
params
.
put
(
"p_campaign_name"
,
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
())
?
null
:
dto
.
getCampaignName
().
toUpperCase
());
params
.
put
(
"p_user_name"
,
DataUtil
.
isNullOrEmpty
(
dto
.
getAgentId
())
?
null
:
dto
.
getAgentId
().
toUpperCase
());
params
.
put
(
"p_page_number"
,
dto
.
getPage
().
toString
());
params
.
put
(
"p_page_size"
,
"0"
);
list
=
namedParameterJdbcTemplate
.
query
(
sb
.
toString
(),
params
,
BeanPropertyRowMapper
.
newInstance
(
ContactCusResDTO
.
class
));
// params.put("p_company_site_id", dto.getCompanySiteId());
// params.put("p_customer_id", dto.getCustomerId());
// params.put("p_date_from", dto.getFromDate());
// params.put("p_date_to", dto.getToDate());
// params.put("p_list_compaign_type", dto.getCampaignType());
// params.put("p_list_contact_status", dto.getContactStatus());
// params.put("p_list_survey_status", dto.getSurveyStatus());
// params.put("p_list_record_status", dto.getRecordStatus());
// params.put("p_call_time_from", dto.getCallTimeFrom());
// params.put("p_call_time_to", dto.getCallTimeTo());
// params.put("p_list_campaign_id", dto.getCampaignId());
// params.put("p_phone_number", dto.getPhoneNumber());
// params.put("p_campaign_name", DataUtil.isNullOrEmpty(dto.getCampaignName()) ? null : dto.getCampaignName().toUpperCase());
// params.put("p_user_name", DataUtil.isNullOrEmpty(dto.getAgentId()) ? null : dto.getAgentId().toUpperCase());
// params.put("p_page_number", dto.getPage().toString());
// params.put("p_page_size", "0");
//
// list = namedParameterJdbcTemplate.query(sb.toString(), params, BeanPropertyRowMapper.newInstance(ContactCusResDTO.class));
SQLQuery
query
=
session
.
createSQLQuery
(
sb
.
toString
());
query
.
setParameter
(
"p_company_site_id"
,
dto
.
getCompanySiteId
());
query
.
setParameter
(
"p_customer_id"
,
dto
.
getCustomerId
());
query
.
setParameter
(
"p_date_from"
,
dto
.
getFromDate
());
query
.
setParameter
(
"p_date_to"
,
dto
.
getToDate
());
query
.
setParameter
(
"p_list_compaign_type"
,
dto
.
getCampaignType
());
query
.
setParameter
(
"p_list_contact_status"
,
dto
.
getContactStatus
());
query
.
setParameter
(
"p_list_survey_status"
,
dto
.
getSurveyStatus
());
query
.
setParameter
(
"p_list_record_status"
,
dto
.
getRecordStatus
());
query
.
setParameter
(
"p_call_time_from"
,
dto
.
getCallTimeFrom
());
query
.
setParameter
(
"p_call_time_to"
,
dto
.
getCallTimeTo
());
query
.
setParameter
(
"p_list_campaign_id"
,
dto
.
getCampaignId
());
query
.
setParameter
(
"p_phone_number"
,
dto
.
getPhoneNumber
());
query
.
setParameter
(
"p_campaign_name"
,
DataUtil
.
isNullOrEmpty
(
dto
.
getCampaignName
())
?
null
:
dto
.
getCampaignName
().
toUpperCase
());
query
.
setParameter
(
"p_user_name"
,
DataUtil
.
isNullOrEmpty
(
dto
.
getAgentId
())
?
null
:
dto
.
getAgentId
().
toUpperCase
());
query
.
setParameter
(
"p_page_number"
,
dto
.
getPage
());
query
.
setParameter
(
"p_page_size"
,
dto
.
getPageSize
());
query
.
addScalar
(
"createTime"
,
new
DateType
());
query
.
addScalar
(
"campaignCode"
,
new
StringType
());
query
.
addScalar
(
"campaignName"
,
new
StringType
());
query
.
addScalar
(
"userName"
,
new
StringType
());
query
.
addScalar
(
"phoneNumber"
,
new
StringType
());
query
.
addScalar
(
"customerName"
,
new
StringType
());
query
.
addScalar
(
"startCall"
,
new
DateType
());
query
.
addScalar
(
"contactStatus"
,
new
StringType
());
query
.
addScalar
(
"surveyStatus"
,
new
StringType
());
query
.
addScalar
(
"status"
,
new
StringType
());
query
.
addScalar
(
"callTime"
,
new
LongType
());
query
.
setResultTransformer
(
Transformers
.
aliasToBean
(
ContactCusResDTO
.
class
));
list
=
query
.
list
();
}
catch
(
Exception
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
}
finally
{
session
.
close
();
return
list
;
}
}
...
...
@@ -469,5 +531,4 @@ public class CampaignExecuteRepositoryImp implements CampaignExecuteRepository {
return
result
;
}
}
src/main/java/com/viettel/campaign/web/dto/ContactCusResDTO.java
View file @
d42969f6
...
...
@@ -5,14 +5,14 @@ import lombok.Getter;
import
lombok.NoArgsConstructor
;
import
lombok.Setter
;
import
java.io.Serializable
;
//
import java.io.Serializable;
import
java.util.Date
;
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public
class
ContactCusResDTO
implements
Serializable
{
public
class
ContactCusResDTO
{
private
Long
contactCustResultId
;
private
String
campaignCode
;
private
String
campaignName
;
...
...
@@ -27,4 +27,5 @@ public class ContactCusResDTO implements Serializable {
private
String
recordStatus
;
private
Long
callTime
;
private
Boolean
enableEdit
;
private
Integer
totalRow
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment