Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jilinzhongdianrenqun
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
吴超
jilinzhongdianrenqun
Commits
da6656c1
Commit
da6656c1
authored
Nov 15, 2025
by
wuchao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加双属地管理
parent
bef36eac
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
1282 行增加
和
0 行删除
+1282
-0
src/main/java/com/scpyun/platform/jilinsscgsdp/service/impl/KeyPersonRatingDualServiceImpl.java
+500
-0
src/main/java/com/scpyun/platform/jilinsscgsdp/service/impl/KeyPersonVisitRecordServiceImpl.java
+1
-0
src/main/java/com/scpyun/platform/jilinsscgsdp/utils/DataScopeUtil.java
+20
-0
src/main/resources/mybatis/mappers/standard/jilinsscgsdp/KeyPersonRatingDualDao.xml
+761
-0
没有找到文件。
src/main/java/com/scpyun/platform/jilinsscgsdp/service/impl/KeyPersonRatingDualServiceImpl.java
0 → 100644
View file @
da6656c1
package
com
.
scpyun
.
platform
.
jilinsscgsdp
.
service
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.scpyun.base.bean.Page
;
import
com.scpyun.base.core.annotation.Api
;
import
com.scpyun.base.core.annotation.ApiOperation
;
import
com.scpyun.base.core.exception.CustomException
;
import
com.scpyun.base.core.utils.StringUtils
;
import
com.scpyun.base.db.service.CommonService
;
import
com.scpyun.platform.jilinsscgsdp.utils.DataScopeUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.UUID
;
@Api
(
"双属地管理"
)
@Service
(
"keyPersonRatingDual"
)
public
class
KeyPersonRatingDualServiceImpl
{
@Autowired
private
CommonService
commonService
;
private
static
final
String
SUCCESS
=
"success"
;
private
static
final
String
NAMESPACE
=
"com.scpyun.platform.standard.jilinsscgsdp.keyPersonRatingDual."
;
@ApiOperation
(
value
=
"推送tab列表"
,
desc
=
"查询我辖区内发起的推送记录"
)
public
Page
<
Map
<
String
,
Object
>>
selectPushList
(
Page
<
Map
<
String
,
Object
>>
page
)
{
page
.
setParams
(
DataScopeUtil
.
resetUser
(
page
.
getParams
()));
Map
<
String
,
Object
>
params
=
normalizePageParams
(
page
);
OperatorContext
operator
=
resolveOperator
(
params
.
get
(
"_user"
));
ensureArea
(
operator
);
params
.
put
(
"operator_area_id"
,
operator
.
getAreaId
());
params
.
put
(
"push_type"
,
"0"
);
params
.
put
(
"sys_type"
,
resolveCategory
(
params
));
page
.
setParams
(
params
);
return
commonService
.
findPage
(
NAMESPACE
+
"selectPushList"
,
page
);
}
@ApiOperation
(
value
=
"虎丘当前登录人信息"
,
desc
=
"查询当前登录人信息"
)
public
Map
<
String
,
Object
>
selectCurrentUserInfo
(
Map
<
String
,
Object
>
map
)
{
return
DataScopeUtil
.
resetUser
(
map
);
}
@ApiOperation
(
value
=
"转发tab列表"
,
desc
=
"查询我辖区内发起的转发记录"
)
public
Page
<
Map
<
String
,
Object
>>
selectForwardList
(
Page
<
Map
<
String
,
Object
>>
page
)
{
page
.
setParams
(
DataScopeUtil
.
resetUser
(
page
.
getParams
()));
Map
<
String
,
Object
>
params
=
normalizePageParams
(
page
);
OperatorContext
operator
=
resolveOperator
(
params
.
get
(
"_user"
));
ensureArea
(
operator
);
params
.
put
(
"operator_area_id"
,
operator
.
getAreaId
());
params
.
put
(
"push_type"
,
"1"
);
params
.
put
(
"sys_type"
,
resolveCategory
(
params
));
page
.
setParams
(
params
);
return
commonService
.
findPage
(
NAMESPACE
+
"selectForwardList"
,
page
);
}
@ApiOperation
(
value
=
"待接收列表"
,
desc
=
"查询推送/转发给我辖区的记录"
)
public
Page
<
Map
<
String
,
Object
>>
selectPendingList
(
Page
<
Map
<
String
,
Object
>>
page
)
{
page
.
setParams
(
DataScopeUtil
.
resetUser
(
page
.
getParams
()));
Map
<
String
,
Object
>
params
=
normalizePageParams
(
page
);
OperatorContext
operator
=
resolveOperator
(
params
.
get
(
"_user"
));
ensureArea
(
operator
);
params
.
put
(
"operator_area_id"
,
operator
.
getAreaId
());
params
.
put
(
"sys_type"
,
resolveCategory
(
params
));
page
.
setParams
(
params
);
return
commonService
.
findPage
(
NAMESPACE
+
"selectPendingList"
,
page
);
}
@ApiOperation
(
value
=
"接收中人员列表"
,
desc
=
"查询当前归属于我辖区的人员(D2)"
)
public
Page
<
Map
<
String
,
Object
>>
selectReceivingList
(
Page
<
Map
<
String
,
Object
>>
page
)
{
page
.
setParams
(
DataScopeUtil
.
resetUser
(
page
.
getParams
()));
Map
<
String
,
Object
>
params
=
normalizePageParams
(
page
);
OperatorContext
operator
=
resolveOperator
(
params
.
get
(
"_user"
));
ensureArea
(
operator
);
params
.
put
(
"operator_area_id"
,
operator
.
getAreaId
());
params
.
put
(
"sys_type"
,
resolveCategory
(
params
));
page
.
setParams
(
params
);
return
commonService
.
findPage
(
NAMESPACE
+
"selectReceivingList"
,
page
);
}
@ApiOperation
(
value
=
"被接收人员列表"
,
desc
=
"查询我辖区发出的并被其他区域接收的人员"
)
public
Page
<
Map
<
String
,
Object
>>
selectBeReceivedList
(
Page
<
Map
<
String
,
Object
>>
page
)
{
page
.
setParams
(
DataScopeUtil
.
resetUser
(
page
.
getParams
()));
Map
<
String
,
Object
>
params
=
normalizePageParams
(
page
);
OperatorContext
operator
=
resolveOperator
(
params
.
get
(
"_user"
));
ensureArea
(
operator
);
params
.
put
(
"operator_area_id"
,
operator
.
getAreaId
());
params
.
put
(
"sys_type"
,
resolveCategory
(
params
));
page
.
setParams
(
params
);
return
commonService
.
findPage
(
NAMESPACE
+
"selectBeReceivedList"
,
page
);
}
@ApiOperation
(
value
=
"推送人员选择列表"
,
desc
=
"查询本辖区可推送的重点人员"
)
public
Page
<
Map
<
String
,
Object
>>
selectBelongPersonList
(
Page
<
Map
<
String
,
Object
>>
page
)
{
page
.
setParams
(
DataScopeUtil
.
resetUser
(
page
.
getParams
()));
Map
<
String
,
Object
>
params
=
normalizePageParams
(
page
);
OperatorContext
operator
=
resolveOperator
(
params
.
get
(
"_user"
));
ensureArea
(
operator
);
params
.
put
(
"operator_area_id"
,
operator
.
getAreaId
());
params
.
put
(
"sys_type"
,
resolveCategory
(
params
));
page
.
setParams
(
params
);
return
commonService
.
findPage
(
NAMESPACE
+
"selectBelongPersonList"
,
page
);
}
@ApiOperation
(
value
=
"推送/转发详情"
,
desc
=
"根据记录ID获取完整信息"
)
public
Map
<
String
,
Object
>
getDualDetail
(
Map
<
String
,
Object
>
map
)
{
map
=
DataScopeUtil
.
resetUser
(
map
);
Map
<
String
,
Object
>
params
=
normalizeParams
(
map
);
if
(
StringUtils
.
isEmpty
(
StringUtils
.
toString
(
params
.
get
(
"id"
))))
{
throw
new
CustomException
(
"记录ID不可为空"
);
}
Map
<
String
,
Object
>
detail
=
commonService
.
getObject
(
NAMESPACE
+
"getDualDetail"
,
params
);
if
(
detail
==
null
)
{
throw
new
CustomException
(
"未查询到记录"
);
}
return
detail
;
}
@ApiOperation
(
value
=
"发起推送/转发"
,
desc
=
"推送tab及转发操作共用"
)
public
String
savePush
(
Map
<
String
,
Object
>
map
)
{
map
=
DataScopeUtil
.
resetUser
(
map
);
Map
<
String
,
Object
>
params
=
normalizeParams
(
map
);
OperatorContext
operator
=
resolveOperator
(
params
.
get
(
"_user"
));
ensureArea
(
operator
);
String
keyPersonId
=
StringUtils
.
toString
(
params
.
get
(
"key_person_id"
));
String
sysType
=
resolveCategory
(
params
);
String
pushType
=
StringUtils
.
isEmpty
(
StringUtils
.
toString
(
params
.
get
(
"push_type"
)))
?
"0"
:
StringUtils
.
toString
(
params
.
get
(
"push_type"
));
String
targetAreaId
=
StringUtils
.
toString
(
params
.
get
(
"recvie_area_id"
));
String
targetStreetId
=
StringUtils
.
toString
(
params
.
get
(
"recvie_street_id"
));
if
(
StringUtils
.
isEmpty
(
keyPersonId
))
{
throw
new
CustomException
(
"请选择重点人员"
);
}
if
(
StringUtils
.
isEmpty
(
targetAreaId
))
{
throw
new
CustomException
(
"请选择推送区县"
);
}
if
(
StringUtils
.
isEmpty
(
targetStreetId
))
{
throw
new
CustomException
(
"请选择推送街道"
);
}
if
(
operator
.
getAreaId
().
equals
(
targetAreaId
))
{
throw
new
CustomException
(
"不可推送至本区域"
);
}
params
.
put
(
"key_person_id"
,
keyPersonId
);
params
.
put
(
"sys_type"
,
sysType
);
Map
<
String
,
Object
>
record
=
new
HashMap
<>();
Map
<
String
,
Object
>
personBase
=
commonService
.
getObject
(
NAMESPACE
+
"getPersonBase"
,
params
);
if
(
personBase
==
null
)
{
throw
new
CustomException
(
"未查询到重点人员"
);
}
Map
<
String
,
Object
>
dualCtx
=
commonService
.
getObject
(
NAMESPACE
+
"getDualContextByKeyPersonId"
,
params
);
Object
pendingObj
=
commonService
.
getObject
(
NAMESPACE
+
"countPendingPush"
,
params
);
String
pendingStr
=
StringUtils
.
toString
(
pendingObj
);
int
pendingCount
=
StringUtils
.
isEmpty
(
pendingStr
)
?
0
:
Integer
.
parseInt
(
pendingStr
);
if
(
pendingCount
>
0
)
{
throw
new
CustomException
(
"当前人员已有待接收记录,请勿重复发起"
);
}
Date
now
=
new
Date
();
record
.
put
(
"id"
,
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
));
record
.
put
(
"key_person_id"
,
keyPersonId
);
record
.
put
(
"sys_type"
,
sysType
);
record
.
put
(
"push_type"
,
pushType
);
record
.
put
(
"push_status"
,
"1"
);
record
.
put
(
"push_reason"
,
params
.
get
(
"push_reason"
));
record
.
put
(
"push_time"
,
now
);
record
.
put
(
"push_user"
,
operator
.
getUserId
());
record
.
put
(
"create_user"
,
operator
.
getUserId
());
record
.
put
(
"create_time"
,
now
);
record
.
put
(
"update_user"
,
operator
.
getUserId
());
record
.
put
(
"update_time"
,
now
);
record
.
put
(
"recvie_region"
,
StringUtils
.
toString
(
params
.
get
(
"recvie_region"
)));
record
.
put
(
"recvie_city_id"
,
params
.
get
(
"recvie_city_id"
));
record
.
put
(
"recvie_area_id"
,
targetAreaId
);
record
.
put
(
"recvie_street_id"
,
targetStreetId
);
record
.
put
(
"recvie_community_id"
,
params
.
get
(
"recvie_community_id"
));
if
(
"0"
.
equals
(
pushType
))
{
// 首次推送,取人员所属区域作为归属&推送方
if
(
dualCtx
!=
null
)
{
throw
new
CustomException
(
"该人员已在外部归属,无法再次推送"
);
}
String
belongRegion
=
StringUtils
.
toString
(
personBase
.
get
(
"region"
));
record
.
put
(
"belong_region"
,
belongRegion
);
record
.
put
(
"belong_city_id"
,
personBase
.
get
(
"city_id"
));
record
.
put
(
"belong_area_id"
,
personBase
.
get
(
"area_id"
));
record
.
put
(
"belong_street_id"
,
personBase
.
get
(
"street_id"
));
record
.
put
(
"belong_community_id"
,
personBase
.
get
(
"community_id"
));
record
.
put
(
"belong_user_id"
,
operator
.
getUserId
());
record
.
put
(
"push_region"
,
belongRegion
);
record
.
put
(
"push_city_id"
,
personBase
.
get
(
"city_id"
));
record
.
put
(
"push_area_id"
,
personBase
.
get
(
"area_id"
));
record
.
put
(
"push_street_id"
,
personBase
.
get
(
"street_id"
));
record
.
put
(
"push_community_id"
,
personBase
.
get
(
"community_id"
));
}
else
{
if
(
dualCtx
==
null
)
{
throw
new
CustomException
(
"当前人员不在双属地列表,无法转发"
);
}
if
(!
operator
.
getAreaId
().
equals
(
StringUtils
.
toString
(
dualCtx
.
get
(
"area_id"
))))
{
throw
new
CustomException
(
"仅当前接收区域可转发"
);
}
if
(
targetAreaId
.
equals
(
StringUtils
.
toString
(
dualCtx
.
get
(
"belong_area_id"
))))
{
throw
new
CustomException
(
"转发不可回归归属地,请使用退回操作"
);
}
String
belongRegion
=
StringUtils
.
toString
(
dualCtx
.
get
(
"belong_region"
));
record
.
put
(
"belong_region"
,
belongRegion
);
record
.
put
(
"belong_city_id"
,
dualCtx
.
get
(
"belong_city_id"
));
record
.
put
(
"belong_area_id"
,
dualCtx
.
get
(
"belong_area_id"
));
record
.
put
(
"belong_street_id"
,
dualCtx
.
get
(
"belong_street_id"
));
record
.
put
(
"belong_community_id"
,
dualCtx
.
get
(
"belong_community_id"
));
String
belongUser
=
StringUtils
.
toString
(
dualCtx
.
get
(
"belong_user_id"
));
record
.
put
(
"belong_user_id"
,
StringUtils
.
isEmpty
(
belongUser
)
?
operator
.
getUserId
()
:
belongUser
);
record
.
put
(
"push_region"
,
dualCtx
.
get
(
"region"
));
record
.
put
(
"push_city_id"
,
dualCtx
.
get
(
"city_id"
));
record
.
put
(
"push_area_id"
,
dualCtx
.
get
(
"area_id"
));
record
.
put
(
"push_street_id"
,
dualCtx
.
get
(
"street_id"
));
record
.
put
(
"push_community_id"
,
dualCtx
.
get
(
"community_id"
));
}
if
(
commonService
.
insert
(
NAMESPACE
+
"insertDualRecord"
,
record
)
!=
1
)
{
throw
new
CustomException
(
"保存推送失败"
);
}
if
(
"1"
.
equals
(
pushType
)
&&
dualCtx
!=
null
)
{
Map
<
String
,
Object
>
turnParams
=
new
HashMap
<>();
turnParams
.
put
(
"id"
,
dualCtx
.
get
(
"id"
));
turnParams
.
put
(
"turn_status"
,
"1"
);
turnParams
.
put
(
"update_user"
,
operator
.
getUserId
());
turnParams
.
put
(
"update_time"
,
now
);
commonService
.
update
(
NAMESPACE
+
"updateDualPersonTurnStatus"
,
turnParams
);
}
return
SUCCESS
;
}
@ApiOperation
(
value
=
"撤回推送/转发"
,
desc
=
"仅待接收状态可撤回"
)
public
String
revokePush
(
Map
<
String
,
Object
>
map
)
{
map
=
DataScopeUtil
.
resetUser
(
map
);
Map
<
String
,
Object
>
params
=
normalizeParams
(
map
);
OperatorContext
operator
=
resolveOperator
(
params
.
get
(
"_user"
));
ensureArea
(
operator
);
String
id
=
StringUtils
.
toString
(
params
.
get
(
"id"
));
if
(
StringUtils
.
isEmpty
(
id
))
{
throw
new
CustomException
(
"记录ID不可为空"
);
}
Map
<
String
,
Object
>
record
=
commonService
.
getObject
(
NAMESPACE
+
"getDualRecordById"
,
params
);
if
(
record
==
null
)
{
throw
new
CustomException
(
"未查询到记录"
);
}
if
(!
"1"
.
equals
(
StringUtils
.
toString
(
record
.
get
(
"push_status"
))))
{
throw
new
CustomException
(
"仅待接收状态可撤回"
);
}
if
(!
operator
.
getAreaId
().
equals
(
StringUtils
.
toString
(
record
.
get
(
"push_area_id"
))))
{
throw
new
CustomException
(
"无权撤回他区记录"
);
}
Map
<
String
,
Object
>
update
=
new
HashMap
<>();
update
.
put
(
"id"
,
id
);
update
.
put
(
"update_user"
,
operator
.
getUserId
());
update
.
put
(
"update_time"
,
new
Date
());
if
(
commonService
.
update
(
NAMESPACE
+
"revokeDualRecord"
,
update
)
!=
1
)
{
throw
new
CustomException
(
"撤回失败"
);
}
if
(
"1"
.
equals
(
StringUtils
.
toString
(
record
.
get
(
"push_type"
))))
{
Map
<
String
,
Object
>
turnParams
=
new
HashMap
<>();
turnParams
.
put
(
"key_person_id"
,
record
.
get
(
"key_person_id"
));
turnParams
.
put
(
"turn_status"
,
"0"
);
turnParams
.
put
(
"update_user"
,
operator
.
getUserId
());
turnParams
.
put
(
"update_time"
,
new
Date
());
commonService
.
update
(
NAMESPACE
+
"resetDualPersonTurnStatus"
,
turnParams
);
}
return
SUCCESS
;
}
@ApiOperation
(
value
=
"同意接收"
,
desc
=
"待接收tab操作"
)
public
String
acceptPush
(
Map
<
String
,
Object
>
map
)
{
map
=
DataScopeUtil
.
resetUser
(
map
);
Map
<
String
,
Object
>
params
=
normalizeParams
(
map
);
OperatorContext
operator
=
resolveOperator
(
params
.
get
(
"_user"
));
ensureArea
(
operator
);
String
id
=
StringUtils
.
toString
(
params
.
get
(
"id"
));
if
(
StringUtils
.
isEmpty
(
id
))
{
throw
new
CustomException
(
"记录ID不可为空"
);
}
String
communityId
=
StringUtils
.
toString
(
params
.
get
(
"recvie_community_id"
));
if
(
StringUtils
.
isEmpty
(
communityId
))
{
throw
new
CustomException
(
"请选择社区信息"
);
}
Map
<
String
,
Object
>
record
=
commonService
.
getObject
(
NAMESPACE
+
"getDualRecordById"
,
params
);
if
(
record
==
null
)
{
throw
new
CustomException
(
"未查询到记录"
);
}
if
(!
"1"
.
equals
(
StringUtils
.
toString
(
record
.
get
(
"push_status"
))))
{
throw
new
CustomException
(
"当前状态不可接收"
);
}
if
(!
operator
.
getAreaId
().
equals
(
StringUtils
.
toString
(
record
.
get
(
"recvie_area_id"
))))
{
throw
new
CustomException
(
"仅目标区域可接收"
);
}
Date
now
=
new
Date
();
Map
<
String
,
Object
>
update
=
new
HashMap
<>();
update
.
put
(
"id"
,
id
);
update
.
put
(
"recvie_community_id"
,
communityId
);
update
.
put
(
"audit_user"
,
operator
.
getUserId
());
update
.
put
(
"audit_time"
,
now
);
update
.
put
(
"recvie_time"
,
now
);
update
.
put
(
"update_user"
,
operator
.
getUserId
());
update
.
put
(
"update_time"
,
now
);
if
(
commonService
.
update
(
NAMESPACE
+
"acceptDualRecord"
,
update
)
!=
1
)
{
throw
new
CustomException
(
"接收失败"
);
}
Map
<
String
,
Object
>
ctx
=
new
HashMap
<>();
ctx
.
put
(
"key_person_id"
,
record
.
get
(
"key_person_id"
));
Map
<
String
,
Object
>
dualCtx
=
commonService
.
getObject
(
NAMESPACE
+
"getDualContextByKeyPersonId"
,
ctx
);
Map
<
String
,
Object
>
personUpsert
=
new
HashMap
<>();
if
(
dualCtx
==
null
)
{
personUpsert
.
put
(
"id"
,
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
));
personUpsert
.
put
(
"create_user"
,
operator
.
getUserId
());
personUpsert
.
put
(
"create_time"
,
now
);
personUpsert
.
put
(
"key_person_id"
,
record
.
get
(
"key_person_id"
));
personUpsert
.
put
(
"sys_type"
,
record
.
get
(
"sys_type"
));
}
else
{
personUpsert
.
put
(
"id"
,
dualCtx
.
get
(
"id"
));
personUpsert
.
put
(
"update_user"
,
operator
.
getUserId
());
personUpsert
.
put
(
"update_time"
,
now
);
}
personUpsert
.
put
(
"dual_id"
,
id
);
personUpsert
.
put
(
"region"
,
record
.
get
(
"recvie_region"
));
personUpsert
.
put
(
"city_id"
,
record
.
get
(
"recvie_city_id"
));
personUpsert
.
put
(
"area_id"
,
record
.
get
(
"recvie_area_id"
));
personUpsert
.
put
(
"street_id"
,
record
.
get
(
"recvie_street_id"
));
personUpsert
.
put
(
"community_id"
,
communityId
);
personUpsert
.
put
(
"turn_status"
,
"0"
);
if
(
dualCtx
==
null
)
{
if
(
commonService
.
insert
(
NAMESPACE
+
"insertDualPerson"
,
personUpsert
)
!=
1
)
{
throw
new
CustomException
(
"写入归属表失败"
);
}
}
else
{
if
(
commonService
.
update
(
NAMESPACE
+
"updateDualPerson"
,
personUpsert
)
!=
1
)
{
throw
new
CustomException
(
"更新归属表失败"
);
}
}
return
SUCCESS
;
}
@ApiOperation
(
value
=
"拒绝接收"
,
desc
=
"待接收tab操作"
)
public
String
rejectPush
(
Map
<
String
,
Object
>
map
)
{
map
=
DataScopeUtil
.
resetUser
(
map
);
Map
<
String
,
Object
>
params
=
normalizeParams
(
map
);
OperatorContext
operator
=
resolveOperator
(
params
.
get
(
"_user"
));
ensureArea
(
operator
);
String
id
=
StringUtils
.
toString
(
params
.
get
(
"id"
));
if
(
StringUtils
.
isEmpty
(
id
))
{
throw
new
CustomException
(
"记录ID不可为空"
);
}
String
reason
=
StringUtils
.
toString
(
params
.
get
(
"reject_reason"
));
if
(
StringUtils
.
isEmpty
(
reason
))
{
throw
new
CustomException
(
"请填写拒绝原因"
);
}
Map
<
String
,
Object
>
record
=
commonService
.
getObject
(
NAMESPACE
+
"getDualRecordById"
,
params
);
if
(
record
==
null
)
{
throw
new
CustomException
(
"未查询到记录"
);
}
if
(!
"1"
.
equals
(
StringUtils
.
toString
(
record
.
get
(
"push_status"
))))
{
throw
new
CustomException
(
"当前状态不可拒绝"
);
}
if
(!
operator
.
getAreaId
().
equals
(
StringUtils
.
toString
(
record
.
get
(
"recvie_area_id"
))))
{
throw
new
CustomException
(
"仅目标区域可拒绝"
);
}
Date
now
=
new
Date
();
Map
<
String
,
Object
>
update
=
new
HashMap
<>();
update
.
put
(
"id"
,
id
);
update
.
put
(
"reject_reason"
,
reason
);
update
.
put
(
"audit_user"
,
operator
.
getUserId
());
update
.
put
(
"audit_time"
,
now
);
update
.
put
(
"update_user"
,
operator
.
getUserId
());
update
.
put
(
"update_time"
,
now
);
if
(
commonService
.
update
(
NAMESPACE
+
"rejectDualRecord"
,
update
)
!=
1
)
{
throw
new
CustomException
(
"拒绝失败"
);
}
if
(
"1"
.
equals
(
StringUtils
.
toString
(
record
.
get
(
"push_type"
))))
{
Map
<
String
,
Object
>
turnParams
=
new
HashMap
<>();
turnParams
.
put
(
"key_person_id"
,
record
.
get
(
"key_person_id"
));
turnParams
.
put
(
"turn_status"
,
"0"
);
turnParams
.
put
(
"update_user"
,
operator
.
getUserId
());
turnParams
.
put
(
"update_time"
,
now
);
commonService
.
update
(
NAMESPACE
+
"resetDualPersonTurnStatus"
,
turnParams
);
}
return
SUCCESS
;
}
@ApiOperation
(
value
=
"退回人员"
,
desc
=
"接收中tab退回归属地"
)
public
String
returnPerson
(
Map
<
String
,
Object
>
map
)
{
map
=
DataScopeUtil
.
resetUser
(
map
);
Map
<
String
,
Object
>
params
=
normalizeParams
(
map
);
OperatorContext
operator
=
resolveOperator
(
params
.
get
(
"_user"
));
ensureArea
(
operator
);
String
dualPersonId
=
StringUtils
.
toString
(
params
.
get
(
"dual_person_id"
));
if
(
StringUtils
.
isEmpty
(
dualPersonId
))
{
throw
new
CustomException
(
"缺少归属记录ID"
);
}
Map
<
String
,
Object
>
dualPerson
=
commonService
.
getObject
(
NAMESPACE
+
"getDualPersonById"
,
params
);
if
(
dualPerson
==
null
)
{
throw
new
CustomException
(
"未找到归属记录"
);
}
if
(!
operator
.
getAreaId
().
equals
(
StringUtils
.
toString
(
dualPerson
.
get
(
"area_id"
))))
{
throw
new
CustomException
(
"仅当前接收区域可退回"
);
}
String
dualId
=
StringUtils
.
toString
(
dualPerson
.
get
(
"dual_id"
));
if
(
StringUtils
.
isEmpty
(
dualId
))
{
throw
new
CustomException
(
"归属数据异常,缺少推送记录"
);
}
Date
now
=
new
Date
();
Map
<
String
,
Object
>
update
=
new
HashMap
<>();
update
.
put
(
"id"
,
dualId
);
update
.
put
(
"return_reason"
,
params
.
get
(
"return_reason"
));
update
.
put
(
"return_user"
,
operator
.
getUserId
());
update
.
put
(
"return_time"
,
now
);
update
.
put
(
"update_user"
,
operator
.
getUserId
());
update
.
put
(
"update_time"
,
now
);
if
(
commonService
.
update
(
NAMESPACE
+
"returnDualRecord"
,
update
)
!=
1
)
{
throw
new
CustomException
(
"退回失败"
);
}
if
(
commonService
.
delete
(
NAMESPACE
+
"deleteDualPerson"
,
dualPerson
)
!=
1
)
{
throw
new
CustomException
(
"删除归属记录失败"
);
}
return
SUCCESS
;
}
private
Map
<
String
,
Object
>
normalizePageParams
(
Page
<
Map
<
String
,
Object
>>
page
)
{
Map
<
String
,
Object
>
params
=
page
.
getParams
()
==
null
?
new
HashMap
<>()
:
new
HashMap
<>(
page
.
getParams
());
Object
inner
=
params
.
get
(
"params"
);
if
(
inner
instanceof
Map
)
{
@SuppressWarnings
(
"unchecked"
)
Map
<
String
,
Object
>
innerParams
=
(
Map
<
String
,
Object
>)
inner
;
Map
<
String
,
Object
>
merged
=
new
HashMap
<>(
params
);
merged
.
remove
(
"params"
);
merged
.
putAll
(
innerParams
);
params
=
merged
;
}
page
.
setParams
(
params
);
return
params
;
}
private
Map
<
String
,
Object
>
normalizeParams
(
Map
<
String
,
Object
>
map
)
{
return
map
==
null
?
new
HashMap
<>()
:
new
HashMap
<>(
map
);
}
private
OperatorContext
resolveOperator
(
Object
userObj
)
{
if
(
userObj
==
null
)
{
throw
new
CustomException
(
"未获取到登录信息"
);
}
JSONObject
json
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
userObj
));
Map
<
String
,
String
>
pos
=
DataScopeUtil
.
getPosition
(
userObj
);
OperatorContext
ctx
=
new
OperatorContext
();
ctx
.
setUserId
(
json
.
getString
(
"id"
));
if
(
pos
!=
null
)
{
ctx
.
setAreaId
(
pos
.
get
(
"area_id"
));
}
return
ctx
;
}
private
void
ensureArea
(
OperatorContext
operator
)
{
if
(
operator
==
null
||
StringUtils
.
isEmpty
(
operator
.
getAreaId
()))
{
throw
new
CustomException
(
"未定位到所属区县,无法执行操作"
);
}
}
private
String
resolveCategory
(
Map
<
String
,
Object
>
params
)
{
Object
sysType
=
params
.
get
(
"sys_type"
);
if
(
sysType
==
null
)
{
sysType
=
params
.
get
(
"rating_dict_type"
);
}
if
(
sysType
==
null
)
{
sysType
=
params
.
get
(
"category"
);
}
if
(
sysType
==
null
)
{
throw
new
CustomException
(
"缺少重点人员类别"
);
}
String
value
=
StringUtils
.
toString
(
sysType
);
params
.
put
(
"sys_type"
,
value
);
return
value
;
}
private
static
class
OperatorContext
{
private
String
userId
;
private
String
areaId
;
public
String
getUserId
()
{
return
userId
;
}
public
void
setUserId
(
String
userId
)
{
this
.
userId
=
userId
;
}
public
String
getAreaId
()
{
return
areaId
;
}
public
void
setAreaId
(
String
areaId
)
{
this
.
areaId
=
areaId
;
}
}
}
src/main/java/com/scpyun/platform/jilinsscgsdp/service/impl/KeyPersonVisitRecordServiceImpl.java
View file @
da6656c1
...
...
@@ -25,6 +25,7 @@ public class KeyPersonVisitRecordServiceImpl {
@ApiOperation
(
value
=
"回访记录列表"
,
desc
=
"回访记录列表(含数据范围、排序)"
)
public
Page
<
Map
<
String
,
Object
>>
findVisitRecordList
(
Page
<
Map
<
String
,
Object
>>
page
)
{
Map
<
String
,
Object
>
params
=
page
.
getParams
()
==
null
?
new
HashMap
<>()
:
page
.
getParams
();
// 兼容前端入参 { params:{...}, pageNo, pageSize },有些网关会再包一层 params
Object
inner
=
params
.
get
(
"params"
);
...
...
src/main/java/com/scpyun/platform/jilinsscgsdp/utils/DataScopeUtil.java
View file @
da6656c1
...
...
@@ -108,6 +108,26 @@ public class DataScopeUtil {
return
false
;
}
public
static
Map
<
String
,
Object
>
resetUser
(
Map
<
String
,
Object
>
map
)
{
Object
_user
=
map
.
get
(
"_user"
);
Map
queryMap
=
new
HashMap
();
JSONObject
user
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
_user
));
String
company_id
=
user
.
getString
(
"company_id"
);
if
(
company_id
.
length
()
==
12
)
{
user
.
put
(
"area_id"
,
company_id
);
map
.
put
(
"_user"
,
user
);
return
map
;
}
queryMap
.
put
(
"id"
,
company_id
);
Map
<
String
,
Object
>
result
=
commonService
.
getObject
(
namespace
+
"selectOfficeById"
,
queryMap
);
String
id
=
result
.
get
(
"id"
).
toString
();
String
area_id
=
result
.
get
(
"area_id"
).
toString
();
user
.
put
(
"area_id"
,
area_id
);
map
.
put
(
"_user"
,
user
);
return
map
;
}
public
static
CommonService
getCommonService
()
{
return
commonService
;
...
...
src/main/resources/mybatis/mappers/standard/jilinsscgsdp/KeyPersonRatingDualDao.xml
0 → 100644
View file @
da6656c1
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//oos.juyouhx.com//DTD Mapper 3.0//EN" "http://oss.juyouhx.com/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.scpyun.platform.standard.jilinsscgsdp.keyPersonRatingDual"
name=
"双属地管理"
>
<sql
id=
"personUnion"
>
SELECT
id,
sys_type,
name,
CAST(AES_DECRYPT(FROM_BASE64(card_no),'*#id#') AS CHAR) AS card_no,
city_id,
area_id,
street_id,
community_id
FROM jl_key_person
UNION ALL
SELECT
id,
sys_type,
name,
CAST(AES_DECRYPT(FROM_BASE64(card_no),'*#id#') AS CHAR) AS card_no,
city_id,
area_id,
street_id,
community_id
FROM jl_key_person_minor
</sql>
<!-- 推送tab列表(push_type=0) -->
<select
id=
"selectPushList"
parameterType=
"page"
resultType=
"map"
>
SELECT
dualRecord.id,
dualRecord.key_person_id,
dualRecord.sys_type,
dualRecord.push_status,
dualRecord.push_reason,
dualRecord.push_type,
dualRecord.push_time,
dualRecord.push_user,
dualRecord.recvie_region,
dualRecord.recvie_city_id,
dualRecord.recvie_area_id,
dualRecord.recvie_street_id,
dualRecord.recvie_community_id,
person.name,
person.card_no,
recCity.name AS recvie_city_name,
recArea.name AS recvie_area_name,
recStreet.name AS recvie_street_name,
recCommunity.name AS recvie_community_name,
pushUser.name AS push_user_name,
auditUser.name AS audit_user_name,
returnUser.name AS return_user_name
FROM jl_key_person_rating_dual dualRecord
LEFT JOIN (
<include
refid=
"personUnion"
/>
) person ON person.id = dualRecord.key_person_id
LEFT JOIN sys_office recCity ON recCity.id = dualRecord.recvie_city_id
LEFT JOIN sys_office recArea ON recArea.id = dualRecord.recvie_area_id
LEFT JOIN sys_office recStreet ON recStreet.id = dualRecord.recvie_street_id
LEFT JOIN sys_office recCommunity ON recCommunity.id = dualRecord.recvie_community_id
LEFT JOIN sys_user pushUser ON pushUser.id = dualRecord.push_user
LEFT JOIN sys_user auditUser ON auditUser.id = dualRecord.audit_user
LEFT JOIN sys_user returnUser ON returnUser.id = dualRecord.return_user
<where>
AND dualRecord.sys_type = #{params.sys_type}
AND dualRecord.push_type = '0'
AND dualRecord.push_area_id = #{params.operator_area_id}
<if
test=
"params.name != null and params.name != ''"
>
AND person.name LIKE CONCAT('%', #{params.name}, '%')
</if>
<if
test=
"params.card_no != null and params.card_no != ''"
>
AND person.card_no = #{params.card_no}
</if>
<if
test=
"params.city_id != null and params.city_id != ''"
>
AND dualRecord.recvie_city_id = #{params.city_id}
</if>
<if
test=
"params.area_id != null and params.area_id != ''"
>
AND dualRecord.recvie_area_id = #{params.area_id}
</if>
<if
test=
"params.street_id != null and params.street_id != ''"
>
AND dualRecord.recvie_street_id = #{params.street_id}
</if>
<if
test=
"params.community_id != null and params.community_id != ''"
>
AND dualRecord.recvie_community_id = #{params.community_id}
</if>
<if
test=
"params.push_status != null and params.push_status != ''"
>
AND dualRecord.push_status = #{params.push_status}
</if>
<!-- 数据范围 -->
<if
test=
"params.scope_grade != null and params.scope_grade != ''"
>
<choose>
<when
test=
'params.scope_grade == "3"'
>
AND person.city_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "4"'
>
AND person.area_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "5"'
>
AND person.street_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "6"'
>
AND person.community_id = #{params._user.area_id}
</when>
</choose>
</if>
</where>
ORDER BY dualRecord.create_time DESC
</select>
<!-- 转发tab列表(push_type=1) -->
<select
id=
"selectForwardList"
parameterType=
"page"
resultType=
"map"
>
SELECT
dualRecord.id,
dualRecord.key_person_id,
dualRecord.sys_type,
dualRecord.push_status,
dualRecord.push_reason,
dualRecord.push_type,
dualRecord.push_time,
dualRecord.push_user,
dualRecord.recvie_region,
dualRecord.recvie_city_id,
dualRecord.recvie_area_id,
dualRecord.recvie_street_id,
dualRecord.recvie_community_id,
dualRecord.audit_time,
person.name,
person.card_no,
recCity.name AS recvie_city_name,
recArea.name AS recvie_area_name,
recStreet.name AS recvie_street_name,
recCommunity.name AS recvie_community_name,
pushUser.name AS push_user_name,
auditUser.name AS audit_user_name
FROM jl_key_person_rating_dual dualRecord
LEFT JOIN (
<include
refid=
"personUnion"
/>
) person ON person.id = dualRecord.key_person_id
LEFT JOIN sys_office recCity ON recCity.id = dualRecord.recvie_city_id
LEFT JOIN sys_office recArea ON recArea.id = dualRecord.recvie_area_id
LEFT JOIN sys_office recStreet ON recStreet.id = dualRecord.recvie_street_id
LEFT JOIN sys_office recCommunity ON recCommunity.id = dualRecord.recvie_community_id
LEFT JOIN sys_user pushUser ON pushUser.id = dualRecord.push_user
LEFT JOIN sys_user auditUser ON auditUser.id = dualRecord.audit_user
<where>
AND dualRecord.sys_type = #{params.sys_type}
AND dualRecord.push_type = '1'
AND dualRecord.push_area_id = #{params.operator_area_id}
<if
test=
"params.name != null and params.name != ''"
>
AND person.name LIKE CONCAT('%', #{params.name}, '%')
</if>
<if
test=
"params.card_no != null and params.card_no != ''"
>
AND person.card_no = #{params.card_no}
</if>
<if
test=
"params.city_id != null and params.city_id != ''"
>
AND dualRecord.recvie_city_id = #{params.city_id}
</if>
<if
test=
"params.area_id != null and params.area_id != ''"
>
AND dualRecord.recvie_area_id = #{params.area_id}
</if>
<if
test=
"params.street_id != null and params.street_id != ''"
>
AND dualRecord.recvie_street_id = #{params.street_id}
</if>
<if
test=
"params.community_id != null and params.community_id != ''"
>
AND dualRecord.recvie_community_id = #{params.community_id}
</if>
<if
test=
"params.push_status != null and params.push_status != ''"
>
AND dualRecord.push_status = #{params.push_status}
</if>
<!-- 数据范围 -->
<if
test=
"params.scope_grade != null and params.scope_grade != ''"
>
<choose>
<when
test=
'params.scope_grade == "3"'
>
AND person.city_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "4"'
>
AND person.area_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "5"'
>
AND person.street_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "6"'
>
AND person.community_id = #{params._user.area_id}
</when>
</choose>
</if>
</where>
ORDER BY dualRecord.create_time DESC
</select>
<!-- 待接收tab -->
<select
id=
"selectPendingList"
parameterType=
"page"
resultType=
"map"
>
SELECT
dualRecord.id,
dualRecord.key_person_id,
dualRecord.sys_type,
dualRecord.push_status,
dualRecord.push_reason,
dualRecord.reject_reason,
dualRecord.push_type,
dualRecord.push_time,
dualRecord.audit_time,
dualRecord.recvie_region,
dualRecord.recvie_city_id,
dualRecord.recvie_area_id,
dualRecord.recvie_street_id,
dualRecord.recvie_community_id,
pushCity.name AS push_city_name,
pushArea.name AS push_area_name,
pushStreet.name AS push_street_name,
pushCommunity.name AS push_community_name,
person.name,
person.card_no,
pushUser.name AS push_user_name,
auditUser.name AS audit_user_name
FROM jl_key_person_rating_dual dualRecord
LEFT JOIN (
<include
refid=
"personUnion"
/>
) person ON person.id = dualRecord.key_person_id
LEFT JOIN sys_office pushCity ON pushCity.id = dualRecord.push_city_id
LEFT JOIN sys_office pushArea ON pushArea.id = dualRecord.push_area_id
LEFT JOIN sys_office pushStreet ON pushStreet.id = dualRecord.push_street_id
LEFT JOIN sys_office pushCommunity ON pushCommunity.id = dualRecord.push_community_id
LEFT JOIN sys_user pushUser ON pushUser.id = dualRecord.push_user
LEFT JOIN sys_user auditUser ON auditUser.id = dualRecord.audit_user
<where>
AND dualRecord.sys_type = #{params.sys_type}
AND dualRecord.recvie_area_id = #{params.operator_area_id}
<if
test=
"params.name != null and params.name != ''"
>
AND person.name LIKE CONCAT('%', #{params.name}, '%')
</if>
<if
test=
"params.card_no != null and params.card_no != ''"
>
AND person.card_no = #{params.card_no}
</if>
<if
test=
"params.city_id != null and params.city_id != ''"
>
AND dualRecord.push_city_id = #{params.city_id}
</if>
<if
test=
"params.area_id != null and params.area_id != ''"
>
AND dualRecord.push_area_id = #{params.area_id}
</if>
<if
test=
"params.street_id != null and params.street_id != ''"
>
AND dualRecord.push_street_id = #{params.street_id}
</if>
<if
test=
"params.community_id != null and params.community_id != ''"
>
AND dualRecord.push_community_id = #{params.community_id}
</if>
<if
test=
"params.push_status != null and params.push_status != ''"
>
AND dualRecord.push_status = #{params.push_status}
</if>
<!-- 数据范围 -->
<if
test=
"params.scope_grade != null and params.scope_grade != ''"
>
<choose>
<when
test=
'params.scope_grade == "3"'
>
AND person.city_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "4"'
>
AND person.area_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "5"'
>
AND person.street_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "6"'
>
AND person.community_id = #{params._user.area_id}
</when>
</choose>
</if>
</where>
ORDER BY dualRecord.create_time DESC
</select>
<!-- 接收中人员tab(D2当前归属为我) -->
<select
id=
"selectReceivingList"
parameterType=
"page"
resultType=
"map"
>
SELECT
dp.id AS dual_person_id,
dp.key_person_id,
dp.sys_type,
dp.turn_status,
dp.dual_id,
dp.region,
dp.city_id,
dp.area_id,
dp.street_id,
dp.community_id,
person.name,
person.card_no,
city.name AS city_name,
area.name AS area_name,
street.name AS street_name,
community.name AS community_name,
dualRecord.belong_city_id,
dualRecord.belong_area_id,
dualRecord.belong_street_id,
dualRecord.belong_community_id,
belongCity.name AS belong_city_name,
belongArea.name AS belong_area_name,
belongStreet.name AS belong_street_name,
belongCommunity.name AS belong_community_name,
dualRecord.push_reason,
dualRecord.push_status,
dualRecord.push_type
FROM jl_key_person_rating_dual_person dp
LEFT JOIN jl_key_person_rating_dual dualRecord ON dualRecord.id = dp.dual_id
LEFT JOIN (
<include
refid=
"personUnion"
/>
) person ON person.id = dp.key_person_id
LEFT JOIN sys_office city ON city.id = dp.city_id
LEFT JOIN sys_office area ON area.id = dp.area_id
LEFT JOIN sys_office street ON street.id = dp.street_id
LEFT JOIN sys_office community ON community.id = dp.community_id
LEFT JOIN sys_office belongCity ON belongCity.id = dualRecord.belong_city_id
LEFT JOIN sys_office belongArea ON belongArea.id = dualRecord.belong_area_id
LEFT JOIN sys_office belongStreet ON belongStreet.id = dualRecord.belong_street_id
LEFT JOIN sys_office belongCommunity ON belongCommunity.id = dualRecord.belong_community_id
<where>
AND dp.area_id = #{params.operator_area_id}
AND dp.sys_type = #{params.sys_type}
<if
test=
"params.name != null and params.name != ''"
>
AND person.name LIKE CONCAT('%', #{params.name}, '%')
</if>
<if
test=
"params.card_no != null and params.card_no != ''"
>
AND person.card_no = #{params.card_no}
</if>
<if
test=
"params.city_id != null and params.city_id != ''"
>
AND dp.city_id = #{params.city_id}
</if>
<if
test=
"params.area_id != null and params.area_id != ''"
>
AND dp.area_id = #{params.area_id}
</if>
<if
test=
"params.street_id != null and params.street_id != ''"
>
AND dp.street_id = #{params.street_id}
</if>
<if
test=
"params.community_id != null and params.community_id != ''"
>
AND dp.community_id = #{params.community_id}
</if>
<if
test=
"params.turn_status != null and params.turn_status != ''"
>
AND dp.turn_status = #{params.turn_status}
</if>
<!-- 数据范围 -->
<if
test=
"params.scope_grade != null and params.scope_grade != ''"
>
<choose>
<when
test=
'params.scope_grade == "3"'
>
AND dp.city_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "4"'
>
AND dp.area_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "5"'
>
AND dp.street_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "6"'
>
AND dp.community_id = #{params._user.area_id}
</when>
</choose>
</if>
</where>
ORDER BY dp.update_time DESC, dp.create_time DESC
</select>
<!-- 被接收人员tab(我辖区发出的,当前在他区) -->
<select
id=
"selectBeReceivedList"
parameterType=
"page"
resultType=
"map"
>
SELECT
dp.key_person_id,
dp.sys_type,
dp.dual_id,
person.name,
person.card_no,
city.name AS recvie_city_name,
area.name AS recvie_area_name,
street.name AS recvie_street_name,
community.name AS recvie_community_name
FROM jl_key_person_rating_dual_person dp
INNER JOIN jl_key_person_rating_dual dualRecord ON dualRecord.id = dp.dual_id
LEFT JOIN (
<include
refid=
"personUnion"
/>
) person ON person.id = dp.key_person_id
LEFT JOIN sys_office city ON city.id = dp.city_id
LEFT JOIN sys_office area ON area.id = dp.area_id
LEFT JOIN sys_office street ON street.id = dp.street_id
LEFT JOIN sys_office community ON community.id = dp.community_id
<where>
AND dualRecord.belong_area_id = #{params.operator_area_id}
AND dp.sys_type = #{params.sys_type}
<if
test=
"params.name != null and params.name != ''"
>
AND person.name LIKE CONCAT('%', #{params.name}, '%')
</if>
<if
test=
"params.card_no != null and params.card_no != ''"
>
AND person.card_no = #{params.card_no}
</if>
<if
test=
"params.city_id != null and params.city_id != ''"
>
AND dp.city_id = #{params.city_id}
</if>
<if
test=
"params.area_id != null and params.area_id != ''"
>
AND dp.area_id = #{params.area_id}
</if>
<if
test=
"params.street_id != null and params.street_id != ''"
>
AND dp.street_id = #{params.street_id}
</if>
<if
test=
"params.community_id != null and params.community_id != ''"
>
AND dp.community_id = #{params.community_id}
</if>
<!-- 数据范围 -->
<if
test=
"params.scope_grade != null and params.scope_grade != ''"
>
<choose>
<when
test=
'params.scope_grade == "3"'
>
AND dp.city_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "4"'
>
AND dp.area_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "5"'
>
AND dp.street_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "6"'
>
AND dp.community_id = #{params._user.area_id}
</when>
</choose>
</if>
</where>
ORDER BY dp.update_time DESC, dp.create_time DESC
</select>
<!-- 推送人员选择 -->
<select
id=
"selectBelongPersonList"
parameterType=
"page"
resultType=
"map"
>
SELECT
p.id AS key_person_id,
p.name,
CAST(AES_DECRYPT(FROM_BASE64(p.card_no),'*#id#') AS CHAR) AS card_no,
p.city_id,
p.area_id,
p.street_id,
p.community_id,
p.sys_type,
city.name AS city_name,
area.name AS area_name,
street.name AS street_name,
community.name AS community_name
FROM
<choose>
<when
test=
'params.sys_type == "6"'
>
jl_key_person_minor p
</when>
<otherwise>
jl_key_person p
</otherwise>
</choose>
LEFT JOIN sys_office city ON city.id = p.city_id
LEFT JOIN sys_office area ON area.id = p.area_id
LEFT JOIN sys_office street ON street.id = p.street_id
LEFT JOIN sys_office community ON community.id = p.community_id
<where>
AND p.area_id = #{params.operator_area_id}
<if
test=
"params.name != null and params.name != ''"
>
AND p.name LIKE CONCAT('%', #{params.name}, '%')
</if>
<if
test=
"params.card_no != null and params.card_no != ''"
>
AND p.card_no = TO_BASE64(AES_ENCRYPT(#{params.card_no},'*#id#'))
</if>
<if
test=
"params.street_id != null and params.street_id != ''"
>
AND p.street_id = #{params.street_id}
</if>
<if
test=
"params.community_id != null and params.community_id != ''"
>
AND p.community_id = #{params.community_id}
</if>
AND NOT EXISTS (
SELECT 1 FROM jl_key_person_rating_dual dualRecord
WHERE dualRecord.key_person_id = p.id
AND dualRecord.push_status = '1'
)
AND NOT EXISTS (
SELECT 1 FROM jl_key_person_rating_dual_person dp
WHERE dp.key_person_id = p.id
)
<!-- 数据范围 -->
<if
test=
"params.scope_grade != null and params.scope_grade != ''"
>
<choose>
<when
test=
'params.scope_grade == "3"'
>
AND p.city_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "4"'
>
AND p.area_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "5"'
>
AND p.street_id = #{params._user.area_id}
</when>
<when
test=
'params.scope_grade == "6"'
>
AND p.community_id = #{params._user.area_id}
</when>
</choose>
</if>
</where>
ORDER BY p.create_date DESC
</select>
<select
id=
"getDualDetail"
parameterType=
"map"
resultType=
"map"
>
SELECT
dualRecord.*,
person.name AS person_name,
person.card_no,
pushCity.name AS push_city_name,
pushArea.name AS push_area_name,
pushStreet.name AS push_street_name,
pushCommunity.name AS push_community_name,
recCity.name AS recvie_city_name,
recArea.name AS recvie_area_name,
recStreet.name AS recvie_street_name,
recCommunity.name AS recvie_community_name,
belongCity.name AS belong_city_name,
belongArea.name AS belong_area_name,
belongStreet.name AS belong_street_name,
belongCommunity.name AS belong_community_name,
pushUser.name AS push_user_name,
auditUser.name AS audit_user_name,
returnUser.name AS return_user_name
FROM jl_key_person_rating_dual dualRecord
LEFT JOIN (
<include
refid=
"personUnion"
/>
) person ON person.id = dualRecord.key_person_id
LEFT JOIN sys_office pushCity ON pushCity.id = dualRecord.push_city_id
LEFT JOIN sys_office pushArea ON pushArea.id = dualRecord.push_area_id
LEFT JOIN sys_office pushStreet ON pushStreet.id = dualRecord.push_street_id
LEFT JOIN sys_office pushCommunity ON pushCommunity.id = dualRecord.push_community_id
LEFT JOIN sys_office recCity ON recCity.id = dualRecord.recvie_city_id
LEFT JOIN sys_office recArea ON recArea.id = dualRecord.recvie_area_id
LEFT JOIN sys_office recStreet ON recStreet.id = dualRecord.recvie_street_id
LEFT JOIN sys_office recCommunity ON recCommunity.id = dualRecord.recvie_community_id
LEFT JOIN sys_office belongCity ON belongCity.id = dualRecord.belong_city_id
LEFT JOIN sys_office belongArea ON belongArea.id = dualRecord.belong_area_id
LEFT JOIN sys_office belongStreet ON belongStreet.id = dualRecord.belong_street_id
LEFT JOIN sys_office belongCommunity ON belongCommunity.id = dualRecord.belong_community_id
LEFT JOIN sys_user pushUser ON pushUser.id = dualRecord.push_user
LEFT JOIN sys_user auditUser ON auditUser.id = dualRecord.audit_user
LEFT JOIN sys_user returnUser ON returnUser.id = dualRecord.return_user
WHERE dualRecord.id = #{id}
</select>
<select
id=
"getDualRecordById"
parameterType=
"map"
resultType=
"map"
>
SELECT *
FROM jl_key_person_rating_dual
WHERE id = #{id}
</select>
<select
id=
"getDualPersonById"
parameterType=
"map"
resultType=
"map"
>
SELECT *
FROM jl_key_person_rating_dual_person
WHERE id = #{dual_person_id}
</select>
<select
id=
"getPersonBase"
parameterType=
"map"
resultType=
"map"
>
SELECT
id,
sys_type,
region,
city_id,
area_id,
street_id,
community_id
FROM
<choose>
<when
test=
'sys_type == "6"'
>
jl_key_person_minor
</when>
<otherwise>
jl_key_person
</otherwise>
</choose>
WHERE id = #{key_person_id}
</select>
<select
id=
"getDualContextByKeyPersonId"
parameterType=
"map"
resultType=
"map"
>
SELECT
dp.*,
dualRecord.belong_region,
dualRecord.belong_city_id,
dualRecord.belong_area_id,
dualRecord.belong_street_id,
dualRecord.belong_community_id,
dualRecord.belong_user_id
FROM jl_key_person_rating_dual_person dp
LEFT JOIN jl_key_person_rating_dual dualRecord ON dualRecord.id = dp.dual_id
WHERE dp.key_person_id = #{key_person_id}
ORDER BY dp.update_time DESC, dp.create_time DESC
LIMIT 1
</select>
<select
id=
"countPendingPush"
parameterType=
"map"
resultType=
"string"
>
SELECT COUNT(1) FROM jl_key_person_rating_dual
WHERE key_person_id = #{key_person_id}
AND push_status = '1'
</select>
<insert
id=
"insertDualRecord"
parameterType=
"map"
>
INSERT INTO jl_key_person_rating_dual(
id,
key_person_id,
sys_type,
belong_user_id,
belong_region,
belong_city_id,
belong_area_id,
belong_street_id,
belong_community_id,
push_region,
push_city_id,
push_area_id,
push_street_id,
push_community_id,
recvie_region,
recvie_city_id,
recvie_area_id,
recvie_street_id,
recvie_community_id,
push_status,
push_reason,
push_type,
push_time,
push_user,
create_user,
create_time,
update_user,
update_time
) VALUES (
#{id},
#{key_person_id},
#{sys_type},
#{belong_user_id},
#{belong_region},
#{belong_city_id},
#{belong_area_id},
#{belong_street_id},
#{belong_community_id},
#{push_region},
#{push_city_id},
#{push_area_id},
#{push_street_id},
#{push_community_id},
#{recvie_region},
#{recvie_city_id},
#{recvie_area_id},
#{recvie_street_id},
#{recvie_community_id},
#{push_status},
#{push_reason},
#{push_type},
#{push_time},
#{push_user},
#{create_user},
#{create_time},
#{update_user},
#{update_time}
)
</insert>
<update
id=
"revokeDualRecord"
parameterType=
"map"
>
UPDATE jl_key_person_rating_dual
SET push_status = '0',
update_user = #{update_user},
update_time = #{update_time}
WHERE id = #{id}
AND push_status = '1'
</update>
<update
id=
"acceptDualRecord"
parameterType=
"map"
>
UPDATE jl_key_person_rating_dual
SET push_status = '2',
recvie_community_id = #{recvie_community_id},
audit_user = #{audit_user},
audit_time = #{audit_time},
update_user = #{update_user},
update_time = #{update_time}
WHERE id = #{id}
</update>
<update
id=
"rejectDualRecord"
parameterType=
"map"
>
UPDATE jl_key_person_rating_dual
SET push_status = '3',
reject_reason = #{reject_reason},
audit_user = #{audit_user},
audit_time = #{audit_time},
update_user = #{update_user},
update_time = #{update_time}
WHERE id = #{id}
</update>
<update
id=
"returnDualRecord"
parameterType=
"map"
>
UPDATE jl_key_person_rating_dual
SET push_status = '4',
return_reason = #{return_reason},
return_user = #{return_user},
return_time = #{return_time},
update_user = #{update_user},
update_time = #{update_time}
WHERE id = #{id}
</update>
<insert
id=
"insertDualPerson"
parameterType=
"map"
>
INSERT INTO jl_key_person_rating_dual_person(
id,
key_person_id,
sys_type,
dual_id,
region,
city_id,
area_id,
street_id,
community_id,
turn_status,
create_user,
create_time
) VALUES (
#{id},
#{key_person_id},
#{sys_type},
#{dual_id},
#{region},
#{city_id},
#{area_id},
#{street_id},
#{community_id},
#{turn_status},
#{create_user},
#{create_time}
)
</insert>
<update
id=
"updateDualPerson"
parameterType=
"map"
>
UPDATE jl_key_person_rating_dual_person
SET dual_id = #{dual_id},
region = #{region},
city_id = #{city_id},
area_id = #{area_id},
street_id = #{street_id},
community_id = #{community_id},
turn_status = #{turn_status},
update_user = #{update_user},
update_time = #{update_time}
WHERE id = #{id}
</update>
<update
id=
"updateDualPersonTurnStatus"
parameterType=
"map"
>
UPDATE jl_key_person_rating_dual_person
SET turn_status = #{turn_status},
update_user = #{update_user},
update_time = #{update_time}
WHERE id = #{id}
</update>
<update
id=
"resetDualPersonTurnStatus"
parameterType=
"map"
>
UPDATE jl_key_person_rating_dual_person
SET turn_status = #{turn_status},
update_user = #{update_user},
update_time = #{update_time}
WHERE key_person_id = #{key_person_id}
</update>
<delete
id=
"deleteDualPerson"
parameterType=
"map"
>
DELETE FROM jl_key_person_rating_dual_person
WHERE id = #{id}
</delete>
</mapper>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论