Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-backend
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
AutogeneralShanghai
yd-backend
Commits
a083a905
Commit
a083a905
authored
Apr 25, 2021
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
我的团队寿险数据统计N22问题3
parent
ad29ce1d
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
163 additions
and
49 deletions
+163
-49
yd-api/src/main/java/com/yd/api/practitioner/service/impl/PractitionerServiceImpl.java
+44
-37
yd-api/src/main/java/com/yd/dal/entity/customer/practitioner/SubordinateSystemMemberInfoE.java
+9
-0
yd-api/src/main/java/com/yd/dal/mapper/customer/AclPractitionerMapper.java
+5
-0
yd-api/src/main/java/com/yd/dal/service/customer/AclPractitionerDALService.java
+6
-2
yd-api/src/main/java/com/yd/dal/service/customer/impl/AclPractitionerDALServiceImpl.java
+12
-2
yd-api/src/main/java/com/yd/rmi/n22/salary/service/impl/N22SalaryServiceImpl.java
+0
-7
yd-api/src/main/java/com/yd/rmi/n22/staff/service/N22StaffService.java
+7
-0
yd-api/src/main/java/com/yd/rmi/n22/staff/service/impl/N22StaffServiceImpl.java
+20
-0
yd-api/src/main/resources/mapper/customer/AclPractitionerMapper.xml
+60
-1
No files found.
yd-api/src/main/java/com/yd/api/practitioner/service/impl/PractitionerServiceImpl.java
View file @
a083a905
...
@@ -2618,21 +2618,15 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -2618,21 +2618,15 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
if
(
myStaffSearchResponseVO
.
getResponseBody
()
==
null
||
CollectionUtils
.
isEmpty
(
myStaffSearchResponseVO
.
getResponseBody
().
getStaffArray
()))
{
if
(
myStaffSearchResponseVO
.
getResponseBody
()
==
null
||
CollectionUtils
.
isEmpty
(
myStaffSearchResponseVO
.
getResponseBody
().
getStaffArray
()))
{
throw
new
Exception
(
"N22查询我管的人错误"
);
throw
new
Exception
(
"N22查询我管的人错误"
);
}
}
List
<
String
>
n
ameList
=
new
ArrayList
<>();
List
<
String
>
loginN
ameList
=
new
ArrayList
<>();
for
(
MyStaff
myStaff
:
staffArray
)
{
for
(
MyStaff
myStaff
:
staffArray
)
{
nameList
.
add
(
myStaff
.
getManage_StaffName
());
loginNameList
.
add
(
myStaff
.
getManage_LoginName
());
}
// 2.查询所有辅导的人
List
<
AclPractitioner
>
practitionerList
=
aclPractitionerDALService
.
findByIds
(
this
.
getPractitionerIdList
(
practitionerId
,
null
));
for
(
AclPractitioner
item
:
practitionerList
){
nameList
.
add
(
item
.
getName
());
}
}
System
.
out
.
println
(
nameList
);
// 3.通过姓名查询手机号
List
<
PractitionerInfo
>
practitionerInfoList
=
aclPractitionerDALService
.
findPractitionerInfoByNameList
(
nameList
);
// 4.根据Agent_id当前经纪人的佣金明细
System
.
out
.
println
(
loginNameList
);
// 4.1.根据查询时间范围获取查询开始时间和结束时间
// 2.根据Agent_id当前经纪人的佣金明细
// 2.1.根据查询时间范围获取查询开始时间和结束时间
String
startTime
;
String
startTime
;
String
endTime
;
String
endTime
;
if
(
Integer
.
valueOf
(
"1"
)
==
time
)
{
if
(
Integer
.
valueOf
(
"1"
)
==
time
)
{
...
@@ -2651,36 +2645,49 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -2651,36 +2645,49 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
searchStaffAchievementRequestBody
.
setPolicystatus
(
"201"
);
searchStaffAchievementRequestBody
.
setPolicystatus
(
"201"
);
searchStaffAchievementRequestBody
.
setIssuedatestart
(
startTime
);
searchStaffAchievementRequestBody
.
setIssuedatestart
(
startTime
);
searchStaffAchievementRequestBody
.
setIssuedateend
(
endTime
);
searchStaffAchievementRequestBody
.
setIssuedateend
(
endTime
);
SearchStaffAchievementResponseVO
searchStaffAchievementResponseVO
=
n22SalaryService
.
searchStaffAchievement
(
searchStaffAchievementRequestBody
);
// 2.2.根据loginName循环查询N22业绩接口
if
(!
"查询成功"
.
equals
(
searchStaffAchievementResponseVO
.
getResponseHead
().
getMessage
())){
throw
new
Exception
(
"N22寿险业绩统计查询错误"
);
}
List
<
Achieve
>
achieveList
=
searchStaffAchievementResponseVO
.
getResponseBody
().
getAchieveList
();
// 5.交集
List
<
Achieve
>
intersection
=
achieveList
.
stream
().
filter
(
item
->
nameList
.
contains
(
item
.
getDescription
())).
collect
(
toList
());
System
.
out
.
println
(
"看看交集"
);
System
.
out
.
println
(
intersection
);
// 6.组装
List
<
SubordinateSystemMemberInfoE
>
subordinateSystemMemberInfoEList
=
new
ArrayList
<>();
List
<
SubordinateSystemMemberInfoE
>
subordinateSystemMemberInfoEList
=
new
ArrayList
<>();
SubordinateSystemMemberInfoE
info
=
null
;
SubordinateSystemMemberInfoE
info
=
null
;
String
name
=
""
;
Achieve
achieve
=
null
;
for
(
PractitionerInfo
item
:
practitionerInfoList
)
{
List
<
String
>
mobileList
=
new
ArrayList
<>();
name
=
item
.
getName
();
for
(
String
loginName
:
loginNameList
)
{
for
(
Achieve
achieve
:
intersection
)
{
searchStaffAchievementRequestBody
.
setAgent_id
(
loginName
);
if
(
name
.
equals
(
achieve
.
getDescription
()))
{
SearchStaffAchievementResponseVO
searchStaffAchievementResponseVO
=
n22SalaryService
.
searchStaffAchievement
(
searchStaffAchievementRequestBody
);
if
(!
"查询成功"
.
equals
(
searchStaffAchievementResponseVO
.
getResponseHead
().
getMessage
()))
{
throw
new
Exception
(
"N22寿险业绩统计查询错误"
);
}
List
<
Achieve
>
resultList
=
searchStaffAchievementResponseVO
.
getResponseBody
().
getAchieveList
();
if
(
CollectionUtils
.
isNotEmpty
(
resultList
))
{
achieve
=
resultList
.
get
(
0
);
info
=
new
SubordinateSystemMemberInfoE
();
info
=
new
SubordinateSystemMemberInfoE
();
BeanUtils
.
copyProperties
(
item
,
info
);
info
.
setCount
(
achieve
.
getSucNumber
());
info
.
setFyp
(
achieve
.
getFYP
());
info
.
setFyc
(
achieve
.
getFYC
());
info
.
setName
(
achieve
.
getDescription
());
info
.
setLoginName
(
loginName
);
// 查询N22的电话号码
Staff
staff1
=
n22StaffService
.
queryN22StaffByLoginName
(
loginName
);
if
(
staff1
!=
null
)
{
info
.
setMobileNo
(
staff1
.
getMobile
());
mobileList
.
add
(
staff1
.
getMobile
());
}
subordinateSystemMemberInfoEList
.
add
(
info
);
}
}
info
.
setCount
(
achieve
.
getSucNumber
());
// 3.通过姓名查询手机号
info
.
setFyp
(
achieve
.
getFYP
());
List
<
PractitionerInfo
>
practitionerInfoList
=
aclPractitionerDALService
.
findPractitionerInfoByMobileList
(
mobileList
);
info
.
setFyc
(
achieve
.
getFYC
());
info
.
setName
(
achieve
.
getDescription
());
subordinateSystemMemberInfoEList
.
add
(
info
);
for
(
SubordinateSystemMemberInfoE
infoE
:
subordinateSystemMemberInfoEList
)
{
for
(
PractitionerInfo
item
:
practitionerInfoList
)
{
if
(
infoE
.
getLoginName
().
equals
(
item
.
getName
()))
{
BeanUtils
.
copyProperties
(
item
,
infoE
);
}
}
}
}
}
}
...
@@ -2695,7 +2702,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -2695,7 +2702,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
Integer
count
;
Integer
count
;
//4、根据id查询出所有的成员的fyc和fyp
//4、根据id查询出所有的成员的fyc和fyp
for
(
SubordinateSystemMemberInfoE
item
:
subordinateSystemMemberInfoEList
){
for
(
SubordinateSystemMemberInfoE
item
:
subordinateSystemMemberInfoEList
){
mobileNoForMember
=
getMobileNo
(
item
.
getMobileNo
()
);
mobileNoForMember
=
item
.
getMobileNo
(
);
if
(
memberInfoMap
.
containsKey
(
mobileNoForMember
)){
if
(
memberInfoMap
.
containsKey
(
mobileNoForMember
)){
memberInfo
=
memberInfoMap
.
get
(
mobileNoForMember
);
memberInfo
=
memberInfoMap
.
get
(
mobileNoForMember
);
fyp
=
memberInfo
.
getFyp
();
fyp
=
memberInfo
.
getFyp
();
...
...
yd-api/src/main/java/com/yd/dal/entity/customer/practitioner/SubordinateSystemMemberInfoE.java
View file @
a083a905
...
@@ -9,6 +9,7 @@ public class SubordinateSystemMemberInfoE {
...
@@ -9,6 +9,7 @@ public class SubordinateSystemMemberInfoE {
private
Double
fyc
;
private
Double
fyc
;
private
Integer
count
;
private
Integer
count
;
private
String
mobileNo
;
private
String
mobileNo
;
private
String
loginName
;
public
Long
getPractitionerId
()
{
public
Long
getPractitionerId
()
{
return
practitionerId
;
return
practitionerId
;
...
@@ -73,4 +74,12 @@ public class SubordinateSystemMemberInfoE {
...
@@ -73,4 +74,12 @@ public class SubordinateSystemMemberInfoE {
public
void
setMobileNo
(
String
mobileNo
)
{
public
void
setMobileNo
(
String
mobileNo
)
{
this
.
mobileNo
=
mobileNo
;
this
.
mobileNo
=
mobileNo
;
}
}
public
String
getLoginName
()
{
return
loginName
;
}
public
void
setLoginName
(
String
loginName
)
{
this
.
loginName
=
loginName
;
}
}
}
yd-api/src/main/java/com/yd/dal/mapper/customer/AclPractitionerMapper.java
View file @
a083a905
...
@@ -81,5 +81,9 @@ public interface AclPractitionerMapper {
...
@@ -81,5 +81,9 @@ public interface AclPractitionerMapper {
List
<
AclPractitioner
>
queryAllLifePractitioner
();
List
<
AclPractitioner
>
queryAllLifePractitioner
();
List
<
PractitionerInfo
>
findPractitionerInfoByPractitionerCode
(
List
<
String
>
paramList
);
List
<
PractitionerInfo
>
findPractitionerInfoByNameList
(
List
<
String
>
nameList
);
List
<
PractitionerInfo
>
findPractitionerInfoByNameList
(
List
<
String
>
nameList
);
List
<
PractitionerInfo
>
findPractitionerInfoByMobileList
(
List
<
String
>
mobileList
);
}
}
\ No newline at end of file
yd-api/src/main/java/com/yd/dal/service/customer/AclPractitionerDALService.java
View file @
a083a905
...
@@ -66,10 +66,10 @@ public interface AclPractitionerDALService {
...
@@ -66,10 +66,10 @@ public interface AclPractitionerDALService {
/**
/**
* 经纪人基本信息查询
* 经纪人基本信息查询
* @param
name
List
* @param
param
List
* @return
* @return
*/
*/
List
<
PractitionerInfo
>
findPractitionerInfoBy
NameList
(
List
<
String
>
name
List
);
List
<
PractitionerInfo
>
findPractitionerInfoBy
PractitionerCode
(
List
<
String
>
param
List
);
/**
/**
* 通过经纪人id查找经纪人
* 通过经纪人id查找经纪人
...
@@ -203,4 +203,8 @@ public interface AclPractitionerDALService {
...
@@ -203,4 +203,8 @@ public interface AclPractitionerDALService {
* @return
* @return
*/
*/
List
<
AclPractitioner
>
queryAllLifePractitioner
();
List
<
AclPractitioner
>
queryAllLifePractitioner
();
List
<
PractitionerInfo
>
findPractitionerInfoByNameList
(
List
<
String
>
nameList
);
List
<
PractitionerInfo
>
findPractitionerInfoByMobileList
(
List
<
String
>
mobileList
);
}
}
yd-api/src/main/java/com/yd/dal/service/customer/impl/AclPractitionerDALServiceImpl.java
View file @
a083a905
...
@@ -74,8 +74,8 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
...
@@ -74,8 +74,8 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
}
}
@Override
@Override
public
List
<
PractitionerInfo
>
findPractitionerInfoBy
NameList
(
List
<
String
>
name
List
)
{
public
List
<
PractitionerInfo
>
findPractitionerInfoBy
PractitionerCode
(
List
<
String
>
param
List
)
{
return
aclPractitionerMapper
.
findPractitionerInfoBy
NameList
(
name
List
);
return
aclPractitionerMapper
.
findPractitionerInfoBy
PractitionerCode
(
param
List
);
}
}
@Override
@Override
...
@@ -216,4 +216,14 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
...
@@ -216,4 +216,14 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
public
List
<
AclPractitioner
>
queryAllLifePractitioner
()
{
public
List
<
AclPractitioner
>
queryAllLifePractitioner
()
{
return
aclPractitionerMapper
.
queryAllLifePractitioner
();
return
aclPractitionerMapper
.
queryAllLifePractitioner
();
}
}
@Override
public
List
<
PractitionerInfo
>
findPractitionerInfoByNameList
(
List
<
String
>
nameList
)
{
return
aclPractitionerMapper
.
findPractitionerInfoByNameList
(
nameList
);
}
@Override
public
List
<
PractitionerInfo
>
findPractitionerInfoByMobileList
(
List
<
String
>
mobileList
)
{
return
aclPractitionerMapper
.
findPractitionerInfoByMobileList
(
mobileList
);
}
}
}
yd-api/src/main/java/com/yd/rmi/n22/salary/service/impl/N22SalaryServiceImpl.java
View file @
a083a905
...
@@ -15,8 +15,6 @@ import java.util.*;
...
@@ -15,8 +15,6 @@ import java.util.*;
@Service
@Service
public
class
N22SalaryServiceImpl
implements
N22SalaryService
{
public
class
N22SalaryServiceImpl
implements
N22SalaryService
{
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
N22SalaryServiceImpl
.
class
);
@Autowired
@Autowired
private
SystemConfigService
systemConfigService
;
private
SystemConfigService
systemConfigService
;
...
@@ -29,13 +27,10 @@ public class N22SalaryServiceImpl implements N22SalaryService {
...
@@ -29,13 +27,10 @@ public class N22SalaryServiceImpl implements N22SalaryService {
obj
.
put
(
"requestHead"
,
requestHead
);
obj
.
put
(
"requestHead"
,
requestHead
);
obj
.
put
(
"requestBody"
,
salaryDetailsSearchRequestBody
);
obj
.
put
(
"requestBody"
,
salaryDetailsSearchRequestBody
);
logger
.
info
(
"N22佣金明细查询请求报文:"
+
obj
.
toString
());
String
url
=
systemConfigService
.
getSingleConfigValue
(
"N22_URL_Salary_Details_Search"
);
String
url
=
systemConfigService
.
getSingleConfigValue
(
"N22_URL_Salary_Details_Search"
);
String
result
=
N22Utils
.
postTransaction
(
url
,
obj
.
toString
());
String
result
=
N22Utils
.
postTransaction
(
url
,
obj
.
toString
());
logger
.
info
(
"N22佣金明细查询响应报文:"
+
result
);
SalaryDetailsSearchResponseVO
response
=
JSONObject
.
parseObject
(
result
,
SalaryDetailsSearchResponseVO
.
class
);
SalaryDetailsSearchResponseVO
response
=
JSONObject
.
parseObject
(
result
,
SalaryDetailsSearchResponseVO
.
class
);
return
response
;
return
response
;
...
@@ -50,8 +45,6 @@ public class N22SalaryServiceImpl implements N22SalaryService {
...
@@ -50,8 +45,6 @@ public class N22SalaryServiceImpl implements N22SalaryService {
obj
.
put
(
"requestHead"
,
requestHead
);
obj
.
put
(
"requestHead"
,
requestHead
);
obj
.
put
(
"requestBody"
,
searchStaffAchievementRequestBody
);
obj
.
put
(
"requestBody"
,
searchStaffAchievementRequestBody
);
logger
.
info
(
"N22寿险业绩统计查询请求报文:"
+
obj
.
toString
());
// String url = systemConfigService.getSingleConfigValue("N22_URL_Salary_Details_Search");
// String url = systemConfigService.getSingleConfigValue("N22_URL_Salary_Details_Search");
...
...
yd-api/src/main/java/com/yd/rmi/n22/staff/service/N22StaffService.java
View file @
a083a905
...
@@ -12,5 +12,12 @@ public interface N22StaffService {
...
@@ -12,5 +12,12 @@ public interface N22StaffService {
*/
*/
Staff
queryN22StaffByMobileNo
(
String
mobileNo
);
Staff
queryN22StaffByMobileNo
(
String
mobileNo
);
/**
* 根据N22员工编号查询N22经纪人信息
* @param loginName
* @return
*/
Staff
queryN22StaffByLoginName
(
String
loginName
);
MyStaffSearchResponseVO
myStaffSearch
(
MyStaffSearchRequestBody
myStaffSearchRequestBody
);
MyStaffSearchResponseVO
myStaffSearch
(
MyStaffSearchRequestBody
myStaffSearchRequestBody
);
}
}
yd-api/src/main/java/com/yd/rmi/n22/staff/service/impl/N22StaffServiceImpl.java
View file @
a083a905
...
@@ -60,6 +60,26 @@ public class N22StaffServiceImpl implements N22StaffService {
...
@@ -60,6 +60,26 @@ public class N22StaffServiceImpl implements N22StaffService {
}
}
@Override
@Override
public
Staff
queryN22StaffByLoginName
(
String
loginName
)
{
GetStaffNewRequestBody
getStaffNewRequestBody
=
new
GetStaffNewRequestBody
();
getStaffNewRequestBody
.
setLoginname
(
loginName
);
GetStaffNewResponseVO
resp
=
this
.
getStaffNew
(
getStaffNewRequestBody
);
Staff
staff
=
null
;
if
(
resp
!=
null
){
if
(
"查询成功"
.
equals
(
resp
.
getResponseHead
().
getMessage
())){
List
<
Staff
>
staffList
=
resp
.
getResponseBody
().
getStaff
();
if
(
staffList
.
size
()
>
0
)
{
staff
=
staffList
.
get
(
0
);
}
}
}
return
staff
;
}
@Override
public
MyStaffSearchResponseVO
myStaffSearch
(
MyStaffSearchRequestBody
myStaffSearchRequestBody
)
{
public
MyStaffSearchResponseVO
myStaffSearch
(
MyStaffSearchRequestBody
myStaffSearchRequestBody
)
{
JSONObject
obj
=
new
JSONObject
();
//传参
JSONObject
obj
=
new
JSONObject
();
//传参
...
...
yd-api/src/main/resources/mapper/customer/AclPractitionerMapper.xml
View file @
a083a905
...
@@ -1719,7 +1719,7 @@
...
@@ -1719,7 +1719,7 @@
and p.is_active=1
and p.is_active=1
</select>
</select>
<select
id=
"findPractitionerInfoBy
NameList
"
resultMap=
"practitioner_info_map"
>
<select
id=
"findPractitionerInfoBy
PractitionerCode
"
resultMap=
"practitioner_info_map"
>
select
select
p.customer_id as customerId,
p.customer_id as customerId,
p.id as practitionerId,
p.id as practitionerId,
...
@@ -1741,6 +1741,35 @@
...
@@ -1741,6 +1741,35 @@
left join ag_acl_practitioner_subordinate_system sys on p.subordinate_system_id = sys.id
left join ag_acl_practitioner_subordinate_system sys on p.subordinate_system_id = sys.id
left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
left join ag_md_drop_options o on s.practitioner_level = o.id
left join ag_md_drop_options o on s.practitioner_level = o.id
where p.practitioner_code in
<foreach
collection=
"list"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
and p.is_active = 1
</select>
<select
id=
"findPractitionerInfoByNameList"
resultMap=
"practitioner_info_map"
>
select
p.customer_id as customerId,
p.id as practitionerId,
p.name as name,
p.gender as gender,
s.practitioner_type_id as practitionerType,
sys.name as subsystem,
o.drop_option_code as levelCode,
o.drop_option_name as levelName,
b.branch_name as insurerBranchName,
p.subordinate_system_id as subordinateId,
p.wechat_id as weChatId,
p.qq_id as qqId,
p.practitioner_reg_no as practitionerRegNo,
p.mobile_no,
p.can_see_salary_list as canSeeSalaryList
from ag_acl_practitioner p
left join ag_acl_insurer_branch b on p.insurer_branch_id = b.id
left join ag_acl_practitioner_subordinate_system sys on p.subordinate_system_id = sys.id
left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
left join ag_md_drop_options o on s.practitioner_level = o.id
where p.name in
where p.name in
<foreach
collection=
"list"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
<foreach
collection=
"list"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
#{item}
...
@@ -1749,4 +1778,33 @@
...
@@ -1749,4 +1778,33 @@
</select>
</select>
<select
id=
"findPractitionerInfoByMobileList"
resultMap=
"practitioner_info_map"
>
select
p.customer_id as customerId,
p.id as practitionerId,
p.name as name,
p.gender as gender,
s.practitioner_type_id as practitionerType,
sys.name as subsystem,
o.drop_option_code as levelCode,
o.drop_option_name as levelName,
b.branch_name as insurerBranchName,
p.subordinate_system_id as subordinateId,
p.wechat_id as weChatId,
p.qq_id as qqId,
p.practitioner_reg_no as practitionerRegNo,
p.mobile_no,
p.can_see_salary_list as canSeeSalaryList
from ag_acl_practitioner p
left join ag_acl_insurer_branch b on p.insurer_branch_id = b.id
left join ag_acl_practitioner_subordinate_system sys on p.subordinate_system_id = sys.id
left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
left join ag_md_drop_options o on s.practitioner_level = o.id
where p.mobile_no in
<foreach
collection=
"list"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item,typeHandler=com.yd.util.deshandler.DESTypeHandler}
</foreach>
and p.is_active = 1
</select>
</mapper>
</mapper>
\ No newline at end of file
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