Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yifu-mvp
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fangxinjiang
yifu-mvp
Commits
39d65859
Commit
39d65859
authored
Oct 16, 2025
by
hongguangwu
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/MVP1.7.16' into MVP1.7.16
parents
bf51de7b
2af1d1aa
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
1503 additions
and
18 deletions
+1503
-18
TAutoSocialRuleRel.java
...loud/plus/v1/yifu/archives/entity/TAutoSocialRuleRel.java
+45
-0
TDispatchInfoPreVo.java
...fu/cloud/plus/v1/yifu/archives/vo/TDispatchInfoPreVo.java
+8
-0
EmployeeRegistrationPreServiceImpl.java
...ives/service/impl/EmployeeRegistrationPreServiceImpl.java
+1
-1
TAutoSocialRuleRelMapper.xml
...iz/src/main/resources/mapper/TAutoSocialRuleRelMapper.xml
+11
-1
EmployeeRegistrationServiceImpl.java
.../v1/csp/service/impl/EmployeeRegistrationServiceImpl.java
+12
-6
SocialTask.java
...n/java/com/yifu/cloud/plus/v1/job/compont/SocialTask.java
+13
-0
TDispatchInfoPre.java
...fu/cloud/plus/v1/yifu/social/entity/TDispatchInfoPre.java
+18
-0
TSocialAlertInfo.java
...fu/cloud/plus/v1/yifu/social/entity/TSocialAlertInfo.java
+189
-0
TDispatchInfoPreExportVo.java
...loud/plus/v1/yifu/social/vo/TDispatchInfoPreExportVo.java
+1
-2
TSocialAlertInfoSearchVo.java
...loud/plus/v1/yifu/social/vo/TSocialAlertInfoSearchVo.java
+56
-0
TSocialAlertInfoVo.java
...yifu/cloud/plus/v1/yifu/social/vo/TSocialAlertInfoVo.java
+109
-0
TSocialAlertInfoController.java
...v1/yifu/social/controller/TSocialAlertInfoController.java
+189
-0
TSocialAlertInfoMapper.java
...ud/plus/v1/yifu/social/mapper/TSocialAlertInfoMapper.java
+49
-0
TSocialfundHouseResMapper.java
...plus/v1/yifu/social/mapper/TSocialfundHouseResMapper.java
+9
-0
TSocialAlertInfoService.java
.../plus/v1/yifu/social/service/TSocialAlertInfoService.java
+52
-0
TDispatchInfoPreServiceImpl.java
...yifu/social/service/impl/TDispatchInfoPreServiceImpl.java
+4
-1
TDispatchInfoServiceImpl.java
...v1/yifu/social/service/impl/TDispatchInfoServiceImpl.java
+79
-4
TSocialAlertInfoServiceImpl.java
...yifu/social/service/impl/TSocialAlertInfoServiceImpl.java
+385
-0
TDispatchInfoPreMapper.xml
...-biz/src/main/resources/mapper/TDispatchInfoPreMapper.xml
+8
-2
TSocialAlertInfoMapper.xml
...-biz/src/main/resources/mapper/TSocialAlertInfoMapper.xml
+240
-0
TSocialFundInfoMapper.xml
...l-biz/src/main/resources/mapper/TSocialFundInfoMapper.xml
+1
-0
TSocialfundHouseResMapper.xml
...z/src/main/resources/mapper/TSocialfundHouseResMapper.xml
+24
-1
No files found.
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/entity/TAutoSocialRuleRel.java
View file @
39d65859
...
@@ -18,6 +18,7 @@
...
@@ -18,6 +18,7 @@
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
entity
;
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
entity
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.write.style.HeadFontStyle
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.TableName
;
...
@@ -29,6 +30,7 @@ import lombok.EqualsAndHashCode;
...
@@ -29,6 +30,7 @@ import lombok.EqualsAndHashCode;
import
org.hibernate.validator.constraints.Length
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
java.math.BigDecimal
;
/**
/**
* 社保购买规则明细表
* 社保购买规则明细表
...
@@ -150,5 +152,48 @@ public class TAutoSocialRuleRel extends BaseEntity {
...
@@ -150,5 +152,48 @@ public class TAutoSocialRuleRel extends BaseEntity {
@Schema
(
description
=
"项目ID"
)
@Schema
(
description
=
"项目ID"
)
private
String
deptId
;
private
String
deptId
;
/**
* 缴纳地-省(社保或公积金)
*/
@ExcelAttribute
(
name
=
"缴纳地-省(社保或公积金)"
)
@Schema
(
description
=
"缴纳地-省(社保或公积金)"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"缴纳地-省(社保或公积金)"
)
private
Integer
province
;
/**
* 缴纳地-市(社保或公积金)
*/
@ExcelAttribute
(
name
=
"缴纳地-市(社保或公积金)"
)
@Schema
(
description
=
"缴纳地-市(社保或公积金)"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"缴纳地-市(社保或公积金)"
)
private
Integer
city
;
/**
* 缴纳地-县(社保或公积金)
*/
@ExcelAttribute
(
name
=
"缴纳地-县(社保或公积金)"
)
@Schema
(
description
=
"缴纳地-县(社保或公积金)"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"缴纳地-县(社保或公积金)"
)
private
Integer
town
;
/**
* 基数上限(社保或公积金)
*/
@ExcelAttribute
(
name
=
"基数上限(社保或公积金)"
)
@Schema
(
description
=
"基数上限(社保或公积金)"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"基数上限(社保或公积金)"
)
private
BigDecimal
upperLimit
;
/**
* 基数下限(社保或公积金)
*/
@ExcelAttribute
(
name
=
"基数下限(社保或公积金)"
)
@Schema
(
description
=
"基数下限(社保或公积金)"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"基数下限(社保或公积金)"
)
private
BigDecimal
lowerLimit
;
}
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/TDispatchInfoPreVo.java
View file @
39d65859
...
@@ -41,6 +41,14 @@ public class TDispatchInfoPreVo extends RowIndex implements Serializable {
...
@@ -41,6 +41,14 @@ public class TDispatchInfoPreVo extends RowIndex implements Serializable {
@Schema
(
description
=
"员工身份证"
)
@Schema
(
description
=
"员工身份证"
)
@ExcelProperty
(
"员工身份证"
)
@ExcelProperty
(
"员工身份证"
)
private
String
empIdcard
;
private
String
empIdcard
;
/**
* 手机号码
*/
@ExcelAttribute
(
name
=
"手机号码"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"手机号码不能超过20个字符"
)
@ExcelProperty
(
"手机号码"
)
@Schema
(
description
=
"手机号码"
)
private
String
phone
;
/**
/**
* 社保购买状态,0待确认,1待派单,2派单失败,3待审核,4审核不通过,5待办理,6办理中,7办理成功,8办理失败,9部分办理失败
* 社保购买状态,0待确认,1待派单,2派单失败,3待审核,4审核不通过,5待办理,6办理中,7办理成功,8办理失败,9部分办理失败
*/
*/
...
...
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/EmployeeRegistrationPreServiceImpl.java
View file @
39d65859
...
@@ -763,7 +763,7 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
...
@@ -763,7 +763,7 @@ public class EmployeeRegistrationPreServiceImpl extends ServiceImpl<EmployeeRegi
}
}
//1.9.16社保自动化校验逻辑
//1.9.16社保自动化校验逻辑
if
(
employeeRegistrationPre
.
getServerItem
().
contains
(
"社保
购买
"
))
{
if
(
employeeRegistrationPre
.
getServerItem
().
contains
(
"社保"
))
{
//根据身份证号码和项目编号查询合同
//根据身份证号码和项目编号查询合同
TEmployeeAutoRegistCheckVo
cardVo
=
new
TEmployeeAutoRegistCheckVo
();
TEmployeeAutoRegistCheckVo
cardVo
=
new
TEmployeeAutoRegistCheckVo
();
cardVo
.
setEmpIdcard
(
employeeRegistrationPre
.
getEmpIdcard
());
cardVo
.
setEmpIdcard
(
employeeRegistrationPre
.
getEmpIdcard
());
...
...
yifu-archives/yifu-archives-biz/src/main/resources/mapper/TAutoSocialRuleRelMapper.xml
View file @
39d65859
...
@@ -42,6 +42,11 @@
...
@@ -42,6 +42,11 @@
<result
property=
"createTime"
column=
"CREATE_TIME"
/>
<result
property=
"createTime"
column=
"CREATE_TIME"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
/>
<result
property=
"upperLimit"
column=
"UPPER_LIMIT"
/>
<result
property=
"lowerLimit"
column=
"LOWER_LIMIT"
/>
<result
property=
"province"
column=
"PROVINCE"
/>
<result
property=
"city"
column=
"CITY"
/>
<result
property=
"town"
column=
"TOWN"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
a.ID,
a.ID,
...
@@ -62,7 +67,12 @@
...
@@ -62,7 +67,12 @@
a.UPDATE_BY,
a.UPDATE_BY,
a.UPDATE_NAME,
a.UPDATE_NAME,
a.UPDATE_TIME,
a.UPDATE_TIME,
a.CONFIG_HOUSE_NAME
a.CONFIG_HOUSE_NAME,
a.PROVINCE,
a.CITY,
a.TOWN,
a.UPPER_LIMIT,
a.LOWER_LIMIT
</sql>
</sql>
<sql
id=
"tAutoSocialRuleRel_where"
>
<sql
id=
"tAutoSocialRuleRel_where"
>
<if
test=
"tAutoSocialRuleRel != null"
>
<if
test=
"tAutoSocialRuleRel != null"
>
...
...
yifu-csp/yifu-csp-biz/src/main/java/com/yifu/cloud/plus/v1/csp/service/impl/EmployeeRegistrationServiceImpl.java
View file @
39d65859
...
@@ -643,7 +643,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
...
@@ -643,7 +643,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
}
}
}
}
//1.9.16社保自动化校验逻辑
//1.9.16社保自动化校验逻辑
if
(
preVo
.
getServerItem
().
contains
(
"社保
购买
"
))
{
if
(
preVo
.
getServerItem
().
contains
(
"社保"
))
{
//根据身份证号码和项目编号查询合同
//根据身份证号码和项目编号查询合同
R
<
Boolean
>
socialFlag
=
socialDaprUtils
.
selectExitEmpSocial
(
cardVo
);
R
<
Boolean
>
socialFlag
=
socialDaprUtils
.
selectExitEmpSocial
(
cardVo
);
//是否已签署为是需要判断合同是否在用或者流程中
//是否已签署为是需要判断合同是否在用或者流程中
...
@@ -706,7 +706,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
...
@@ -706,7 +706,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
initContractPreInfo
(
registration
,
preVo
.
getEmployeeContractPreVos
(),
user
,
domainR
.
getData
());
initContractPreInfo
(
registration
,
preVo
.
getEmployeeContractPreVos
(),
user
,
domainR
.
getData
());
}
}
//服务类型包含社保购买时
//服务类型包含社保购买时
if
(
preVo
.
getServerItem
().
contains
(
"社保
购买
"
)
&&
(
null
!=
preVo
.
getExitSocialInfoList
()
if
(
preVo
.
getServerItem
().
contains
(
"社保"
)
&&
(
null
!=
preVo
.
getExitSocialInfoList
()
||
null
!=
preVo
.
getDispatchInfoPreVo
()))
{
||
null
!=
preVo
.
getDispatchInfoPreVo
()))
{
//生成社保待购买或者已购买数据
//生成社保待购买或者已购买数据
if
(
null
!=
preVo
.
getDispatchInfoPreVo
())
{
if
(
null
!=
preVo
.
getDispatchInfoPreVo
())
{
...
@@ -990,7 +990,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
...
@@ -990,7 +990,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
}
}
//1.9.16社保自动化校验逻辑
//1.9.16社保自动化校验逻辑
if
(
preVo
.
getServerItem
().
contains
(
"社保
购买
"
)
&&
null
!=
preVo
.
getDispatchInfoPreVo
())
{
if
(
preVo
.
getServerItem
().
contains
(
"社保"
)
&&
null
!=
preVo
.
getDispatchInfoPreVo
())
{
//根据身份证号码和项目编号查询合同
//根据身份证号码和项目编号查询合同
flag
=
socialDaprUtils
.
selectExitEmpSocial
(
cardVo
);
flag
=
socialDaprUtils
.
selectExitEmpSocial
(
cardVo
);
//是否已签署为否需要判断是否在用或者流程中的合同
//是否已签署为否需要判断是否在用或者流程中的合同
...
@@ -1044,7 +1044,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
...
@@ -1044,7 +1044,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
initContractPreInfo
(
registration
,
employeeContractPreVo
,
user
,
domainR
.
getData
());
initContractPreInfo
(
registration
,
employeeContractPreVo
,
user
,
domainR
.
getData
());
}
}
//服务类型包含社保购买时
//服务类型包含社保购买时
if
(
preVo
.
getServerItem
().
contains
(
"社保
购买
"
)
&&
(
null
!=
preVo
.
getExitSocialInfoList
()
if
(
preVo
.
getServerItem
().
contains
(
"社保"
)
&&
(
null
!=
preVo
.
getExitSocialInfoList
()
||
null
!=
preVo
.
getDispatchInfoPreVo
()))
{
||
null
!=
preVo
.
getDispatchInfoPreVo
()))
{
//生成社保待购买或者已购买数据
//生成社保待购买或者已购买数据
if
(
null
!=
preVo
.
getDispatchInfoPreVo
())
{
if
(
null
!=
preVo
.
getDispatchInfoPreVo
())
{
...
@@ -1206,7 +1206,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
...
@@ -1206,7 +1206,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
initContractPreInfo
(
registrationNow
,
employeeContractPreVo
,
user
,
domainR
.
getData
());
initContractPreInfo
(
registrationNow
,
employeeContractPreVo
,
user
,
domainR
.
getData
());
}
}
//服务类型包含社保购买时
//服务类型包含社保购买时
if
(
preVo
.
getServerItem
().
contains
(
"社保
购买
"
)
&&
(
null
!=
preVo
.
getExitSocialInfoList
()
if
(
preVo
.
getServerItem
().
contains
(
"社保"
)
&&
(
null
!=
preVo
.
getExitSocialInfoList
()
||
null
!=
preVo
.
getDispatchInfoPreVo
()))
{
||
null
!=
preVo
.
getDispatchInfoPreVo
()))
{
//生成社保待购买或者已购买数据
//生成社保待购买或者已购买数据
initSocialPreInfo
(
registrationNow
,
preVo
.
getDispatchInfoPreVo
(),
user
,
domainR
.
getData
());
initSocialPreInfo
(
registrationNow
,
preVo
.
getDispatchInfoPreVo
(),
user
,
domainR
.
getData
());
...
@@ -1713,6 +1713,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
...
@@ -1713,6 +1713,7 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
preVo
.
setJoinLeaveDate
(
registration
.
getJoinLeaveDate
());
preVo
.
setJoinLeaveDate
(
registration
.
getJoinLeaveDate
());
preVo
.
setDeptNo
(
registration
.
getDeptNo
());
preVo
.
setDeptNo
(
registration
.
getDeptNo
());
preVo
.
setEmpName
(
registration
.
getEmployeeName
());
preVo
.
setEmpName
(
registration
.
getEmployeeName
());
preVo
.
setPhone
(
registration
.
getEmpPhone
());
preVo
.
setPosition
(
registration
.
getPosition
());
preVo
.
setPosition
(
registration
.
getPosition
());
preVo
.
setEmpIdcard
(
registration
.
getEmpIdcard
());
preVo
.
setEmpIdcard
(
registration
.
getEmpIdcard
());
preVo
.
setCreateBy
(
user
.
getId
());
preVo
.
setCreateBy
(
user
.
getId
());
...
@@ -1720,13 +1721,18 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
...
@@ -1720,13 +1721,18 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
preVo
.
setUpdateBy
(
user
.
getId
());
preVo
.
setUpdateBy
(
user
.
getId
());
preVo
.
setTypeSub
(
CommonConstants
.
ZERO_STRING
);
preVo
.
setTypeSub
(
CommonConstants
.
ZERO_STRING
);
preVo
.
setProcessStatus
(
CommonConstants
.
ZERO_STRING
);
preVo
.
setProcessStatus
(
CommonConstants
.
ZERO_STRING
);
preVo
.
setDispatchItem
(
"养老、医疗、生育、失业、工伤、大病"
);
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
preVo
.
getIsCreateDate
())
&&
Common
.
isEmpty
(
preVo
.
getSocialStartDate
()))
{
preVo
.
setSocialStartDate
(
registration
.
getJoinLeaveDate
());
}
//如果自动触发派增为是,计算派单发起时间和派单确认时间
//如果自动触发派增为是,计算派单发起时间和派单确认时间
if
(
Common
.
isNotNull
(
preVo
.
getIsAutoDis
())
&&
CommonConstants
.
ZERO_STRING
.
equals
(
preVo
.
getIsAutoDis
())
if
(
Common
.
isNotNull
(
preVo
.
getIsAutoDis
())
&&
CommonConstants
.
ZERO_STRING
.
equals
(
preVo
.
getIsAutoDis
())
&&
Common
.
isNotNull
(
preVo
.
getExpectedCollectionType
()))
{
&&
Common
.
isNotNull
(
preVo
.
getExpectedCollectionType
()))
{
TEmployeeContractDateVo
vo
=
new
TEmployeeContractDateVo
();
TEmployeeContractDateVo
vo
=
new
TEmployeeContractDateVo
();
vo
.
setMonthAfter
(
Integer
.
parseInt
(
preVo
.
getExpectedCollectionType
()));
vo
.
setMonthAfter
(
Integer
.
parseInt
(
preVo
.
getExpectedCollectionType
()));
vo
.
setYearAfter
(
0
);
vo
.
setYearAfter
(
0
);
vo
.
setRegistDate
(
preVo
.
getJoinLeaveDate
());
vo
.
setRegistDate
(
registration
.
getJoinLeaveDate
());
Date
date
=
this
.
addYearsMonths
(
vo
);
Date
date
=
this
.
addYearsMonths
(
vo
);
TEmployeeInsuranceWorkDayVo
dayVo
=
new
TEmployeeInsuranceWorkDayVo
();
TEmployeeInsuranceWorkDayVo
dayVo
=
new
TEmployeeInsuranceWorkDayVo
();
dayVo
.
setType
(
CommonConstants
.
TWO_STRING
);
dayVo
.
setType
(
CommonConstants
.
TWO_STRING
);
...
...
yifu-job/yifu-job-api/src/main/java/com/yifu/cloud/plus/v1/job/compont/SocialTask.java
View file @
39d65859
...
@@ -314,4 +314,17 @@ public class SocialTask {
...
@@ -314,4 +314,17 @@ public class SocialTask {
"/tdispatchinfopre/inner/pushDisConfrimSocial"
,
""
,
Void
.
class
,
SecurityConstants
.
FROM_IN
);
"/tdispatchinfopre/inner/pushDisConfrimSocial"
,
""
,
Void
.
class
,
SecurityConstants
.
FROM_IN
);
log
.
info
(
"-------------每天三点二十批量派单社保-定时任务开始------------"
);
log
.
info
(
"-------------每天三点二十批量派单社保-定时任务开始------------"
);
}
}
/**
* 每天10点推送社保办理失败的信息给申请人,异常给地址办理人员
* @author fangxj
* @param
* @return void
*/
public
void
pushSocialhandleFailMessage
()
{
log
.
info
(
"-------------每天10点推送社保办理失败的信息给申请人,异常给地址办理人员开始------------"
);
HttpDaprUtil
.
invokeMethodPost
(
daprProperties
.
getAppUrl
(),
daprProperties
.
getAppId
(),
"/tsocialalertinfo/inner/createAndSendSocialAlert"
,
""
,
Void
.
class
,
SecurityConstants
.
FROM_IN
);
log
.
info
(
"-------------每天10点推送社保办理失败的信息给申请人,异常给地址办理人员结束------------"
);
}
}
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/entity/TDispatchInfoPre.java
View file @
39d65859
...
@@ -49,6 +49,14 @@ public class TDispatchInfoPre extends BaseEntity {
...
@@ -49,6 +49,14 @@ public class TDispatchInfoPre extends BaseEntity {
@ExcelProperty
(
"身份证号"
)
@ExcelProperty
(
"身份证号"
)
@Schema
(
description
=
"身份证号"
)
@Schema
(
description
=
"身份证号"
)
private
String
empIdcard
;
private
String
empIdcard
;
/**
* 手机号码
*/
@ExcelAttribute
(
name
=
"手机号码"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"手机号码不能超过20个字符"
)
@ExcelProperty
(
"手机号码"
)
@Schema
(
description
=
"手机号码"
)
private
String
phone
;
/**
/**
* 社保购买状态,0待确认,1待派单,2派单失败,3待审核,4审核不通过,5待办理,6办理中,7办理成功,8办理失败,9部分办理失败
* 社保购买状态,0待确认,1待派单,2派单失败,3待审核,4审核不通过,5待办理,6办理中,7办理成功,8办理失败,9部分办理失败
*/
*/
...
@@ -385,7 +393,16 @@ public class TDispatchInfoPre extends BaseEntity {
...
@@ -385,7 +393,16 @@ public class TDispatchInfoPre extends BaseEntity {
@Schema
(
description
=
"派单id"
)
@Schema
(
description
=
"派单id"
)
private
String
dispatcherId
;
private
String
dispatcherId
;
/**
* 社保公积金查询id
*/
@ExcelAttribute
(
name
=
"社保公积金查询id"
)
@ExcelProperty
(
"社保公积金查询id"
)
@Schema
(
description
=
"社保公积金查询id"
)
private
String
socialFundId
;
@Schema
(
description
=
"发起失败原因"
)
@Schema
(
description
=
"发起失败原因"
)
@TableField
(
updateStrategy
=
FieldStrategy
.
IGNORED
)
private
String
errorInfo
;
private
String
errorInfo
;
@Schema
(
description
=
"发起失败时间"
)
@Schema
(
description
=
"发起失败时间"
)
...
@@ -393,6 +410,7 @@ public class TDispatchInfoPre extends BaseEntity {
...
@@ -393,6 +410,7 @@ public class TDispatchInfoPre extends BaseEntity {
private
Date
errorTime
;
private
Date
errorTime
;
@Schema
(
description
=
"派单审核/办理不通过原因"
)
@Schema
(
description
=
"派单审核/办理不通过原因"
)
@TableField
(
updateStrategy
=
FieldStrategy
.
IGNORED
)
private
String
errorBackInfo
;
private
String
errorBackInfo
;
/**
/**
...
...
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/entity/TSocialAlertInfo.java
0 → 100644
View file @
39d65859
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
entity
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.write.style.ColumnWidth
;
import
com.alibaba.excel.annotation.write.style.HeadFontStyle
;
import
com.baomidou.mybatisplus.annotation.*
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
java.time.LocalDateTime
;
/**
* @author fxj
* @Description 社保办理失败通知信息
* @date 2025-10-15 14:50:53
*/
@Data
@TableName
(
"t_social_alert_info"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Schema
(
description
=
"社保办理失败通知信息"
)
public
class
TSocialAlertInfo
extends
BaseEntity
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@ExcelProperty
(
"id"
)
@Schema
(
description
=
"id"
)
private
String
id
;
/**
* 项目编码
*/
@ExcelAttribute
(
name
=
"项目编码"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"项目编码不能超过50个字符"
)
@ExcelProperty
(
"项目编码"
)
@Schema
(
description
=
"项目编码"
)
private
String
deptNo
;
/**
* 项目名称
*/
@ExcelAttribute
(
name
=
"项目名称"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"项目名称不能超过100个字符"
)
@ExcelProperty
(
"项目名称"
)
@Schema
(
description
=
"项目名称"
)
private
String
deptName
;
/**
* 类型:0社保1公积金
*/
@ExcelAttribute
(
name
=
"类型:0社保1公积金"
,
maxLength
=
255
)
@Length
(
max
=
255
,
message
=
"类型:0社保1公积金不能超过255个字符"
)
@ExcelProperty
(
"类型:0社保1公积金"
)
@Schema
(
description
=
"类型:0社保1公积金"
)
private
String
type
;
/**
* 员工姓名
*/
@ExcelAttribute
(
name
=
"员工姓名"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"员工姓名不能超过20个字符"
)
@ExcelProperty
(
"员工姓名"
)
@Schema
(
description
=
"员工姓名"
)
private
String
empName
;
/**
* 员工身份证
*/
@ExcelAttribute
(
name
=
"员工身份证"
,
maxLength
=
30
)
@Length
(
max
=
30
,
message
=
"员工身份证不能超过30个字符"
)
@ExcelProperty
(
"员工身份证"
)
@Schema
(
description
=
"员工身份证"
)
private
String
empIdcard
;
/**
* 失败原因
*/
@ExcelAttribute
(
name
=
"失败原因"
,
maxLength
=
200
)
@Length
(
max
=
200
,
message
=
"失败原因不能超过200个字符"
)
@ExcelProperty
(
"失败原因"
)
@Schema
(
description
=
"失败原因"
)
private
String
reason
;
/**
* 接收人
*/
@ExcelAttribute
(
name
=
"接收人"
,
maxLength
=
36
)
@Length
(
max
=
36
,
message
=
"接收人不能超过36个字符"
)
@ExcelProperty
(
"接收人"
)
@Schema
(
description
=
"接收人"
)
private
String
receiveUser
;
/**
* 办理事时间
*/
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@Schema
(
description
=
"办理事时间"
)
private
LocalDateTime
handleTime
;
/**
* 户名称
*/
@ExcelAttribute
(
name
=
"户名称"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"户名称不能超过20个字符"
)
@ExcelProperty
(
"户名称"
)
@Schema
(
description
=
"户名称"
)
private
String
houseHoldName
;
/**
* 缴纳地-省
*/
@ExcelAttribute
(
name
=
"社保缴纳地-省"
,
maxLength
=
32
,
isArea
=
true
,
needExport
=
true
)
@Schema
(
description
=
"社保缴纳地-省"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"社保缴纳地-省"
)
private
String
socialProvince
;
/**
* 缴纳地-市
*/
@ExcelAttribute
(
name
=
"社保缴纳地-市"
,
maxLength
=
32
,
isArea
=
true
,
parentField
=
"socialProvince"
,
needExport
=
true
)
@Schema
(
description
=
"社保缴纳地-市"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"社保缴纳地-市"
)
private
String
socialCity
;
/**
* 缴纳地-县
*/
@ExcelAttribute
(
name
=
"社保缴纳地-县"
,
maxLength
=
32
,
isArea
=
true
,
parentField
=
"socialCity"
,
needExport
=
true
)
@Schema
(
description
=
"社保缴纳地-县"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"社保缴纳地-县"
)
private
String
socialTown
;
/**
* 公积金缴纳地-省
*/
@ExcelAttribute
(
name
=
"公积金缴纳地-省"
,
maxLength
=
32
,
isArea
=
true
,
needExport
=
true
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"公积金缴纳地-省"
)
private
String
fundProvince
;
/**
* 公积金缴纳地-市
*/
@ExcelAttribute
(
name
=
"公积金缴纳地-市"
,
maxLength
=
32
,
isArea
=
true
,
parentField
=
"fundProvince"
,
needExport
=
true
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"公积金缴纳地-市"
)
private
String
fundCity
;
/**
* 公积金缴纳地-县
*/
@ExcelAttribute
(
name
=
"公积金缴纳地-县"
,
maxLength
=
32
,
isArea
=
true
,
parentField
=
"fundCity"
,
needExport
=
true
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ExcelProperty
(
"公积金缴纳地-县"
)
private
String
fundTown
;
/**
* 派单ID
*/
@ExcelAttribute
(
name
=
"派单ID"
,
maxLength
=
32
)
@ExcelProperty
(
"派单ID"
)
private
String
dispatchId
;
/**
* 申请人
*/
@ExcelAttribute
(
name
=
"申请人"
,
maxLength
=
32
)
@ExcelProperty
(
"申请人"
)
private
String
applyName
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/TDispatchInfoPreExportVo.java
View file @
39d65859
...
@@ -2,7 +2,6 @@ package com.yifu.cloud.plus.v1.yifu.social.vo;
...
@@ -2,7 +2,6 @@ package com.yifu.cloud.plus.v1.yifu.social.vo;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -16,7 +15,7 @@ import java.time.LocalDateTime;
...
@@ -16,7 +15,7 @@ import java.time.LocalDateTime;
* @date 2025-09-30 16:40:07
* @date 2025-09-30 16:40:07
*/
*/
@Data
@Data
public
class
TDispatchInfoPreExportVo
extends
RowIndex
implements
Serializable
{
public
class
TDispatchInfoPreExportVo
implements
Serializable
{
/**
/**
* 项目名称
* 项目名称
*/
*/
...
...
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/TSocialAlertInfoSearchVo.java
0 → 100644
View file @
39d65859
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
vo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialAlertInfo
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* @author fxj
* @date 2025-10-15 14:50:53
*/
@Data
public
class
TSocialAlertInfoSearchVo
extends
TSocialAlertInfo
{
/**
* 多选导出或删除等操作
*/
@Schema
(
description
=
"选中ID,多个逗号分割"
)
private
String
ids
;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema
(
description
=
"创建时间区间"
)
private
LocalDateTime
[]
createTimes
;
/**
* @Author fxj
* 查询数据起
**/
@Schema
(
description
=
"查询limit 开始"
)
private
int
limitStart
;
/**
* @Author fxj
* 查询数据止
**/
@Schema
(
description
=
"查询limit 数据条数"
)
private
int
limitEnd
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/TSocialAlertInfoVo.java
0 → 100644
View file @
39d65859
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
/**
* @author fxj
* @date 2025-10-15 14:50:53
*/
@Data
public
class
TSocialAlertInfoVo
extends
RowIndex
implements
Serializable
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@NotBlank
(
message
=
"id 不能为空"
)
@Length
(
max
=
32
,
message
=
"id 不能超过32 个字符"
)
@ExcelAttribute
(
name
=
"id"
,
isNotEmpty
=
true
,
errorInfo
=
"id 不能为空"
,
maxLength
=
32
)
@Schema
(
description
=
"id"
)
@ExcelProperty
(
"id"
)
private
String
id
;
/**
* 项目编码
*/
@Length
(
max
=
50
,
message
=
"项目编码 不能超过50 个字符"
)
@ExcelAttribute
(
name
=
"项目编码"
,
maxLength
=
50
)
@Schema
(
description
=
"项目编码"
)
@ExcelProperty
(
"项目编码"
)
private
String
deptNo
;
/**
* 项目名称
*/
@Length
(
max
=
100
,
message
=
"项目名称 不能超过100 个字符"
)
@ExcelAttribute
(
name
=
"项目名称"
,
maxLength
=
100
)
@Schema
(
description
=
"项目名称"
)
@ExcelProperty
(
"项目名称"
)
private
String
deptName
;
/**
* 类型:0社保1公积金
*/
@Length
(
max
=
255
,
message
=
"类型:0社保1公积金 不能超过255 个字符"
)
@ExcelAttribute
(
name
=
"类型:0社保1公积金"
,
maxLength
=
255
)
@Schema
(
description
=
"类型:0社保1公积金"
)
@ExcelProperty
(
"类型:0社保1公积金"
)
private
String
type
;
/**
* 员工姓名
*/
@Length
(
max
=
20
,
message
=
"员工姓名 不能超过20 个字符"
)
@ExcelAttribute
(
name
=
"员工姓名"
,
maxLength
=
20
)
@Schema
(
description
=
"员工姓名"
)
@ExcelProperty
(
"员工姓名"
)
private
String
empName
;
/**
* 员工身份证
*/
@Length
(
max
=
30
,
message
=
"员工身份证 不能超过30 个字符"
)
@ExcelAttribute
(
name
=
"员工身份证"
,
maxLength
=
30
)
@Schema
(
description
=
"员工身份证"
)
@ExcelProperty
(
"员工身份证"
)
private
String
empIdcard
;
/**
* 失败原因
*/
@Length
(
max
=
200
,
message
=
"失败原因 不能超过200 个字符"
)
@ExcelAttribute
(
name
=
"失败原因"
,
maxLength
=
200
)
@Schema
(
description
=
"失败原因"
)
@ExcelProperty
(
"失败原因"
)
private
String
reason
;
/**
* 接收人
*/
@Length
(
max
=
36
,
message
=
"接收人 不能超过36 个字符"
)
@ExcelAttribute
(
name
=
"接收人"
,
maxLength
=
36
)
@Schema
(
description
=
"接收人"
)
@ExcelProperty
(
"接收人"
)
private
String
receiveUser
;
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/controller/TSocialAlertInfoController.java
0 → 100644
View file @
39d65859
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
import
com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog
;
import
com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner
;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialAlertInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.service.TSocialAlertInfoService
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TSocialAlertInfoSearchVo
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.RequiredArgsConstructor
;
import
lombok.SneakyThrows
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
/**
* @author fxj
* @date 2025-10-15 14:50:53
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/tsocialalertinfo"
)
@Tag
(
name
=
"社保办理失败通知信息"
)
public
class
TSocialAlertInfoController
{
private
final
TSocialAlertInfoService
tSocialAlertInfoService
;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tSocialAlertInfo
* @return
*/
@Operation
(
description
=
"简单分页查询"
)
@GetMapping
(
"/page"
)
public
R
<
IPage
<
TSocialAlertInfo
>>
getTSocialAlertInfoPage
(
Page
<
TSocialAlertInfo
>
page
,
TSocialAlertInfoSearchVo
tSocialAlertInfo
)
{
return
new
R
<>(
tSocialAlertInfoService
.
getTSocialAlertInfoPage
(
page
,
tSocialAlertInfo
));
}
/**
* 不分页查询
*
* @param tSocialAlertInfo
* @return
*/
@Operation
(
summary
=
"不分页查询"
,
description
=
"不分页查询"
)
@PostMapping
(
"/noPage"
)
public
R
<
List
<
TSocialAlertInfo
>>
getTSocialAlertInfoNoPage
(
@RequestBody
TSocialAlertInfoSearchVo
tSocialAlertInfo
)
{
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(
null
==
user
||
null
==
user
.
getId
()){
return
R
.
failed
(
CommonConstants
.
USER_FAIL
);
}
tSocialAlertInfo
.
setReceiveUser
(
user
.
getId
());
return
R
.
ok
(
tSocialAlertInfoService
.
noPageDiy
(
tSocialAlertInfo
));
}
/**
* 通过id查询
*
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询:hasPermission('social_tsocialalertinfo_get')"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('social_tsocialalertinfo_get')"
)
public
R
<
TSocialAlertInfo
>
getById
(
@PathVariable
(
"id"
)
String
id
)
{
return
R
.
ok
(
tSocialAlertInfoService
.
getById
(
id
));
}
/**
* 新增
*
* @param tSocialAlertInfo
* @return R
*/
@Operation
(
summary
=
"新增"
,
description
=
"新增:hasPermission('social_tsocialalertinfo_add')"
)
@SysLog
(
"新增"
)
@PostMapping
@PreAuthorize
(
"@pms.hasPermission('social_tsocialalertinfo_add')"
)
public
R
<
Boolean
>
save
(
@RequestBody
TSocialAlertInfo
tSocialAlertInfo
)
{
return
R
.
ok
(
tSocialAlertInfoService
.
save
(
tSocialAlertInfo
));
}
/**
* 修改
*
* @param tSocialAlertInfo
* @return R
*/
@Operation
(
summary
=
"修改"
,
description
=
"修改:hasPermission('social_tsocialalertinfo_edit')"
)
@SysLog
(
"修改"
)
@PutMapping
@PreAuthorize
(
"@pms.hasPermission('social_tsocialalertinfo_edit')"
)
public
R
<
Boolean
>
updateById
(
@RequestBody
TSocialAlertInfo
tSocialAlertInfo
)
{
return
R
.
ok
(
tSocialAlertInfoService
.
updateById
(
tSocialAlertInfo
));
}
/**
* 通过id删除
*
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id删除"
,
description
=
"通过id删除:hasPermission('social_tsocialalertinfo_del')"
)
@SysLog
(
"通过id删除"
)
@DeleteMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('social_tsocialalertinfo_del')"
)
public
R
<
Boolean
>
removeById
(
@PathVariable
String
id
)
{
return
R
.
ok
(
tSocialAlertInfoService
.
removeById
(
id
));
}
/**
* 批量导入
*
* @author fxj
* @date 2025-10-15 14:50:53
**/
@SneakyThrows
@Operation
(
description
=
"批量新增 hasPermission('social_tsocialalertinfo-batch-import')"
)
@SysLog
(
"批量新增"
)
@PostMapping
(
"/importListAdd"
)
@PreAuthorize
(
"@pms.hasPermission('social_tsocialalertinfo-batch-import')"
)
public
R
<
List
<
ErrorMessage
>>
importListAdd
(
@RequestBody
MultipartFile
file
)
{
return
tSocialAlertInfoService
.
importDiy
(
file
.
getInputStream
());
}
/**
* 批量导出
*
* @author fxj
* @date 2025-10-15 14:50:53
**/
@Operation
(
description
=
"导出 hasPermission('social_tsocialalertinfo-export')"
)
@PostMapping
(
"/export"
)
@PreAuthorize
(
"@pms.hasPermission('social_tsocialalertinfo-export')"
)
public
void
export
(
HttpServletResponse
response
,
@RequestBody
TSocialAlertInfoSearchVo
searchVo
)
{
tSocialAlertInfoService
.
listExport
(
response
,
searchVo
);
}
/**
* @Author fxj
* @Description 每天刷新办理失败的数据 并发送给申请人,如果申请人异常发给地市办理人,如果地市办理人异常 不处理
* @Date 15:14 2025/10/15
* @Param
* @return
**/
@Operation
(
description
=
"每天刷新办理失败的数据"
)
@Inner
@PostMapping
(
"/inner/createAndSendSocialAlert"
)
public
void
createAndSendSocialAlert
()
{
tSocialAlertInfoService
.
createAndSendSocialAlert
();
}
@Operation
(
description
=
"每天刷新办理失败的数据"
)
@PostMapping
(
"/createAndSendSocialAlert2"
)
public
void
createAndSendSocialAlert2
()
{
tSocialAlertInfoService
.
createAndSendSocialAlert
();
}
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/mapper/TSocialAlertInfoMapper.java
0 → 100644
View file @
39d65859
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialAlertInfo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* @author fxj
* @date 2025-10-15 14:50:53
*/
@Mapper
public
interface
TSocialAlertInfoMapper
extends
BaseMapper
<
TSocialAlertInfo
>
{
/**
* 简单分页查询
*
* @param tSocialAlertInfo
* @return
*/
IPage
<
TSocialAlertInfo
>
getTSocialAlertInfoPage
(
Page
<
TSocialAlertInfo
>
page
,
@Param
(
"tSocialAlertInfo"
)
TSocialAlertInfo
tSocialAlertInfo
);
List
<
TSocialAlertInfo
>
getTSocialAlertInfoList
();
List
<
TSocialAlertInfo
>
getTFundAlertInfoList
();
void
deleteCUrrentDayData
();
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/mapper/TSocialfundHouseResMapper.java
View file @
39d65859
...
@@ -21,10 +21,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...
@@ -21,10 +21,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialfundHouseRes
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialfundHouseRes
;
import
org.apache.ibatis.annotations.MapKey
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 社保公积金户权限配置表
* 社保公积金户权限配置表
...
@@ -58,4 +60,11 @@ public interface TSocialfundHouseResMapper extends BaseMapper<TSocialfundHouseRe
...
@@ -58,4 +60,11 @@ public interface TSocialfundHouseResMapper extends BaseMapper<TSocialfundHouseRe
List
<
String
>
getSocialListByUserId
(
@Param
(
"userId"
)
String
userId
);
List
<
String
>
getSocialListByUserId
(
@Param
(
"userId"
)
String
userId
);
/**
* 获取户名称与用户ID的映射关系
* key: 户名称(HOUSEHOLD)
* value: 用户ID列表,多个ID使用逗号分隔
* @return 户名称与用户ID的映射关系Map
*/
List
<
Map
<
String
,
String
>>
getHouseHoldUserMap
();
}
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/TSocialAlertInfoService.java
0 → 100644
View file @
39d65859
/*
* Copyright (c) 2018-2025, lengleng All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* Neither the name of the yifu4cloud.com developer nor the names of its
* contributors may be used to endorse or promote products derived from
* this software without specific prior written permission.
* Author: lengleng (wangiegie@gmail.com)
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialAlertInfo
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TSocialAlertInfoSearchVo
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.InputStream
;
import
java.util.List
;
/**
*
*
* @author fxj
* @date 2025-10-15 14:50:53
*/
public
interface
TSocialAlertInfoService
extends
IService
<
TSocialAlertInfo
>
{
/**
* 简单分页查询
* @param tSocialAlertInfo
* @return
*/
IPage
<
TSocialAlertInfo
>
getTSocialAlertInfoPage
(
Page
<
TSocialAlertInfo
>
page
,
TSocialAlertInfoSearchVo
tSocialAlertInfo
);
R
<
List
<
ErrorMessage
>>
importDiy
(
InputStream
inputStream
);
void
listExport
(
HttpServletResponse
response
,
TSocialAlertInfoSearchVo
searchVo
);
List
<
TSocialAlertInfo
>
noPageDiy
(
TSocialAlertInfoSearchVo
searchVo
);
void
createAndSendSocialAlert
();
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/TDispatchInfoPreServiceImpl.java
View file @
39d65859
...
@@ -203,6 +203,9 @@ public class TDispatchInfoPreServiceImpl extends ServiceImpl<TDispatchInfoPreMap
...
@@ -203,6 +203,9 @@ public class TDispatchInfoPreServiceImpl extends ServiceImpl<TDispatchInfoPreMap
if
(
Common
.
isNotNull
(
preVo
.
getExpectedConfirmTime
()))
{
if
(
Common
.
isNotNull
(
preVo
.
getExpectedConfirmTime
()))
{
pre
.
setExpectedConfirmTime
(
LocalDateTimeUtils
.
dateToLocalDateTime
(
preVo
.
getExpectedConfirmTime
()));
pre
.
setExpectedConfirmTime
(
LocalDateTimeUtils
.
dateToLocalDateTime
(
preVo
.
getExpectedConfirmTime
()));
}
}
if
(
Common
.
isEmpty
(
pre
.
getDispatchItem
()))
{
preVo
.
setDispatchItem
(
"养老、医疗、生育、失业、工伤、大病"
);
}
//如果自动触发派增为是,计算派单发起时间和派单确认时间
//如果自动触发派增为是,计算派单发起时间和派单确认时间
if
(
Common
.
isNotNull
(
preVo
.
getIsAutoDis
())
&&
CommonConstants
.
ZERO_STRING
.
equals
(
preVo
.
getIsAutoDis
())
if
(
Common
.
isNotNull
(
preVo
.
getIsAutoDis
())
&&
CommonConstants
.
ZERO_STRING
.
equals
(
preVo
.
getIsAutoDis
())
&&
Common
.
isNotNull
(
preVo
.
getExpectedCollectionType
())
&&
Common
.
isEmpty
(
preVo
.
getExpectedCollectionTime
()))
{
&&
Common
.
isNotNull
(
preVo
.
getExpectedCollectionType
())
&&
Common
.
isEmpty
(
preVo
.
getExpectedCollectionTime
()))
{
...
@@ -339,7 +342,7 @@ public class TDispatchInfoPreServiceImpl extends ServiceImpl<TDispatchInfoPreMap
...
@@ -339,7 +342,7 @@ public class TDispatchInfoPreServiceImpl extends ServiceImpl<TDispatchInfoPreMap
if
(
Common
.
isNotNull
(
disList
))
{
if
(
Common
.
isNotNull
(
disList
))
{
//调用批量派单接口100条处理一次,同原合同派单保持一致
//调用批量派单接口100条处理一次,同原合同派单保持一致
List
<
ErrorMessage
>
errorMessageList
=
new
ArrayList
<>();
List
<
ErrorMessage
>
errorMessageList
=
new
ArrayList
<>();
dispatchInfoService
.
importTDispatchInfo
(
excelVO
List
,
errorMessageList
,
user
,
null
,
new
HashMap
<>());
dispatchInfoService
.
importTDispatchInfo
(
dis
List
,
errorMessageList
,
user
,
null
,
new
HashMap
<>());
if
(!
errorMessageList
.
stream
().
allMatch
(
message
->
message
.
getMessage
().
equals
(
CommonConstants
.
SAVE_SUCCESS
)))
{
if
(!
errorMessageList
.
stream
().
allMatch
(
message
->
message
.
getMessage
().
equals
(
CommonConstants
.
SAVE_SUCCESS
)))
{
errorMessageListAll
.
addAll
(
errorMessageList
);
errorMessageListAll
.
addAll
(
errorMessageList
);
//更新社保状态为2发起失败
//更新社保状态为2发起失败
...
...
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/TDispatchInfoServiceImpl.java
View file @
39d65859
...
@@ -40,6 +40,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...
@@ -40,6 +40,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
import
com.google.gson.JsonObject
;
import
com.google.gson.JsonObject
;
import
com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysArea
;
import
com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysArea
;
import
com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysUser
;
import
com.yifu.cloud.plus.v1.yifu.admin.api.vo.AllUserNaVo
;
import
com.yifu.cloud.plus.v1.yifu.admin.api.vo.AllUserNaVo
;
import
com.yifu.cloud.plus.v1.yifu.admin.api.vo.AreaVo
;
import
com.yifu.cloud.plus.v1.yifu.admin.api.vo.AreaVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo
;
...
@@ -174,6 +175,9 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
...
@@ -174,6 +175,9 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
@Autowired
@Autowired
private
TSocialFriendBackLogService
socialFriendBackLogService
;
private
TSocialFriendBackLogService
socialFriendBackLogService
;
@Autowired
private
WxConfig
wxConfig
;
/**
/**
* 派单信息记录表简单分页查询
* 派单信息记录表简单分页查询
*
*
...
@@ -650,7 +654,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
...
@@ -650,7 +654,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
// 开始插入各种数据了
// 开始插入各种数据了
insertAllInfo
(
excelVOList
,
errorMessageList
,
empVoMap
,
res
,
socialsMap
,
fundsMap
,
socialFundAddMap
,
dispatchMap
,
excelVOTemp
,
dispatchPart
,
injury
);
insertAllInfo
(
excelVOList
,
errorMessageList
,
empVoMap
,
res
,
socialsMap
,
fundsMap
,
socialFundAddMap
,
dispatchMap
,
excelVOTemp
,
dispatchPart
,
injury
);
// 清理map list 等数据
// 清理map list 等数据
Common
.
clear
(
excelVOList
);
//
Common.clear(excelVOList);
Common
.
clear
(
empAddsMap
);
Common
.
clear
(
empAddsMap
);
Common
.
clear
(
contractsMap
);
Common
.
clear
(
contractsMap
);
Common
.
clear
(
projectsMap
);
Common
.
clear
(
projectsMap
);
...
@@ -1139,7 +1143,8 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
...
@@ -1139,7 +1143,8 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
TDispatchInfoPre
dispatchInfoPre
=
dispatchInfoPreMapper
.
selectById
(
preId
);
TDispatchInfoPre
dispatchInfoPre
=
dispatchInfoPreMapper
.
selectById
(
preId
);
if
(
Common
.
isNotNull
(
dispatchInfoPre
))
{
if
(
Common
.
isNotNull
(
dispatchInfoPre
))
{
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
THREE_STRING
);
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
THREE_STRING
);
dispatchInfoPre
.
setDispatcherId
(
socialFund
.
getId
());
dispatchInfoPre
.
setDispatcherId
(
socialFund
.
getDispatchId
());
dispatchInfoPre
.
setSocialFundId
(
socialFund
.
getId
());
dispatchInfoPre
.
setErrorInfo
(
null
);
dispatchInfoPre
.
setErrorInfo
(
null
);
dispatchInfoPre
.
setErrorTime
(
null
);
dispatchInfoPre
.
setErrorTime
(
null
);
dispatchInfoPreMapper
.
updateById
(
dispatchInfoPre
);
dispatchInfoPreMapper
.
updateById
(
dispatchInfoPre
);
...
@@ -3688,7 +3693,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
...
@@ -3688,7 +3693,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
if
(
null
!=
socialInfo
)
{
if
(
null
!=
socialInfo
)
{
//派单审核通过更新社保待购买表的状态
//派单审核通过更新社保待购买表的状态
TDispatchInfoPre
dispatchInfoPre
=
dispatchInfoPreMapper
.
selectOne
(
Wrappers
.<
TDispatchInfoPre
>
query
().
lambda
()
TDispatchInfoPre
dispatchInfoPre
=
dispatchInfoPreMapper
.
selectOne
(
Wrappers
.<
TDispatchInfoPre
>
query
().
lambda
()
.
eq
(
TDispatchInfoPre:
:
get
Dispatcher
Id
,
sf
.
getId
())
.
eq
(
TDispatchInfoPre:
:
get
SocialFund
Id
,
sf
.
getId
())
.
eq
(
TDispatchInfoPre:
:
getProcessStatus
,
CommonConstants
.
THREE_STRING
)
.
eq
(
TDispatchInfoPre:
:
getProcessStatus
,
CommonConstants
.
THREE_STRING
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
// 派增审核
// 派增审核
...
@@ -3704,6 +3709,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
...
@@ -3704,6 +3709,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
//审核通过更新状态
//审核通过更新状态
if
(
Common
.
isNotNull
(
dispatchInfoPre
))
{
if
(
Common
.
isNotNull
(
dispatchInfoPre
))
{
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
FIVE_STRING
);
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
FIVE_STRING
);
dispatchInfoPre
.
setErrorBackInfo
(
null
);
dispatchInfoPreMapper
.
updateById
(
dispatchInfoPre
);
dispatchInfoPreMapper
.
updateById
(
dispatchInfoPre
);
}
}
//派增审核不通过 需要处理预估数据
//派增审核不通过 需要处理预估数据
...
@@ -3723,6 +3729,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
...
@@ -3723,6 +3729,7 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
FOUR_STRING
);
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
FOUR_STRING
);
dispatchInfoPre
.
setErrorBackInfo
(
auditRemark
);
dispatchInfoPre
.
setErrorBackInfo
(
auditRemark
);
dispatchInfoPreMapper
.
updateById
(
dispatchInfoPre
);
dispatchInfoPreMapper
.
updateById
(
dispatchInfoPre
);
sendDisFalureMessageToWx
(
dispatchInfoPre
);
}
}
}
}
socialInfo
.
setAuditTime
(
now
);
socialInfo
.
setAuditTime
(
now
);
...
@@ -4422,23 +4429,50 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
...
@@ -4422,23 +4429,50 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
}
}
//针对社保自动化过来的数据,办理更新待购买数据状态
//针对社保自动化过来的数据,办理更新待购买数据状态
TDispatchInfoPre
dispatchInfoPre
=
dispatchInfoPreMapper
.
selectOne
(
Wrappers
.<
TDispatchInfoPre
>
query
().
lambda
()
TDispatchInfoPre
dispatchInfoPre
=
dispatchInfoPreMapper
.
selectOne
(
Wrappers
.<
TDispatchInfoPre
>
query
().
lambda
()
.
eq
(
TDispatchInfoPre:
:
get
Dispatcher
Id
,
sf
.
getId
())
.
eq
(
TDispatchInfoPre:
:
get
SocialFund
Id
,
sf
.
getId
())
.
eq
(
TDispatchInfoPre:
:
getProcessStatus
,
CommonConstants
.
FIVE_STRING
)
.
eq
(
TDispatchInfoPre:
:
getProcessStatus
,
CommonConstants
.
FIVE_STRING
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(
Common
.
isNotNull
(
dispatchInfoPre
))
{
if
(
Common
.
isNotNull
(
dispatchInfoPre
))
{
//此处状态可能会更新为 办理成功 办理中 部分办理失败和办理失败
//此处状态可能会更新为 办理成功 办理中 部分办理失败和办理失败
if
(
sf
.
getSocialStatus
().
equals
(
CommonConstants
.
TWO_STRING
))
{
if
(
sf
.
getSocialStatus
().
equals
(
CommonConstants
.
TWO_STRING
))
{
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
SIX_STRING
);
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
SIX_STRING
);
dispatchInfoPre
.
setErrorBackInfo
(
null
);
}
}
if
(
sf
.
getSocialStatus
().
equals
(
CommonConstants
.
FOUR_STRING
))
{
if
(
sf
.
getSocialStatus
().
equals
(
CommonConstants
.
FOUR_STRING
))
{
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
NINE_STRING
);
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
NINE_STRING
);
dispatchInfoPre
.
setErrorBackInfo
(
handleRemark
);
dispatchInfoPre
.
setErrorBackInfo
(
handleRemark
);
StringBuffer
errorTemp
=
new
StringBuffer
();
//针对部分办理失败更新社保待购买的派单项
if
(
CommonConstants
.
TWO_STRING
.
equals
(
sf
.
getPensionHandle
()))
{
errorTemp
.
append
(
DispatchConstants
.
DISPATCH_PENSION
);
}
if
(
CommonConstants
.
TWO_STRING
.
equals
(
sf
.
getMedicalHandle
()))
{
errorTemp
.
append
(
DispatchConstants
.
DISPATCH_MEDICAL
);
}
if
(
CommonConstants
.
TWO_STRING
.
equals
(
sf
.
getBirthHandle
()))
{
errorTemp
.
append
(
DispatchConstants
.
DISPATCH_BIRTH
);
}
if
(
CommonConstants
.
TWO_STRING
.
equals
(
sf
.
getWorkInjuryHandle
()))
{
errorTemp
.
append
(
DispatchConstants
.
DISPATCH_INJURY
);
}
if
(
CommonConstants
.
TWO_STRING
.
equals
(
sf
.
getUnemployHandle
()))
{
errorTemp
.
append
(
DispatchConstants
.
DISPATCH_UNEMP
);
}
if
(
CommonConstants
.
TWO_STRING
.
equals
(
sf
.
getBigailmentHandle
()))
{
errorTemp
.
append
(
DispatchConstants
.
DISPATCH_BIGMAILMENT
);
}
if
(
Common
.
isNotNull
(
errorTemp
.
toString
()))
{
dispatchInfoPre
.
setDispatchItem
(
errorTemp
.
deleteCharAt
(
errorTemp
.
length
()
-
1
).
toString
());
}
sendDisFalureMessageToWx
(
dispatchInfoPre
);
}
}
if
(
sf
.
getSocialStatus
().
equals
(
CommonConstants
.
FIVE_STRING
))
{
if
(
sf
.
getSocialStatus
().
equals
(
CommonConstants
.
FIVE_STRING
))
{
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
EIGHT_STRING
);
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
EIGHT_STRING
);
dispatchInfoPre
.
setErrorBackInfo
(
handleRemark
);
dispatchInfoPre
.
setErrorBackInfo
(
handleRemark
);
sendDisFalureMessageToWx
(
dispatchInfoPre
);
}
}
if
(
sf
.
getSocialStatus
().
equals
(
CommonConstants
.
THREE_STRING
))
{
if
(
sf
.
getSocialStatus
().
equals
(
CommonConstants
.
THREE_STRING
))
{
dispatchInfoPre
.
setErrorBackInfo
(
null
);
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
SEVEN_STRING
);
dispatchInfoPre
.
setProcessStatus
(
CommonConstants
.
SEVEN_STRING
);
}
}
dispatchInfoPreMapper
.
updateById
(
dispatchInfoPre
);
dispatchInfoPreMapper
.
updateById
(
dispatchInfoPre
);
...
@@ -8784,4 +8818,45 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
...
@@ -8784,4 +8818,45 @@ public class TDispatchInfoServiceImpl extends ServiceImpl<TDispatchInfoMapper, T
}
}
return
R
.
failed
(
"未找到反馈文件"
);
return
R
.
failed
(
"未找到反馈文件"
);
}
}
//发送企业微信待办
private
void
sendDisFalureMessageToWx
(
TDispatchInfoPre
pre
)
{
//获取前端客服
SysUser
user
;
if
(
Common
.
isEmpty
(
pre
.
getCustomerUserLoginName
()))
{
return
;
}
R
<
SysUser
>
res
=
upmsDaprUtils
.
getSimpleUserByLoginName
(
pre
.
getCustomerUserLoginName
());
if
(
Common
.
isNotNull
(
res
)
&&
Common
.
isNotNull
(
res
.
getData
()))
{
user
=
res
.
getData
();
}
else
{
return
;
}
StringBuilder
sendUser
=
null
;
if
(
Common
.
isNotKong
(
user
.
getWxMessage
()))
{
sendUser
=
new
StringBuilder
(
user
.
getWxMessage
());
}
if
(
sendUser
!=
null
)
{
RestTemplate
restTemplate
=
new
RestTemplate
();
Map
<
String
,
Object
>
requestMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
textcard
=
new
HashMap
<>();
String
authUrl
=
String
.
format
(
SecurityConstants
.
WX_GET_MESSAGE_AUTH_URL
,
wxConfig
.
getCorpid
(),
wxConfig
.
getDomainName
()
+
"/auth/oauth/wxLogin"
,
"68"
+
pre
.
getId
());
StringBuilder
description
=
new
StringBuilder
();
String
title
=
"作业自动化——社保办理失败提醒"
;
description
.
append
(
pre
.
getEmpName
()).
append
(
"-"
).
append
(
pre
.
getEmpIdcard
()).
append
(
"-"
)
.
append
(
pre
.
getPhone
()).
append
(
",社保派单审核/办理失败"
).
append
(
"<br>"
);
description
.
append
(
"请及时处理,以免产生用工风险!"
).
append
(
"<br>"
);
textcard
.
put
(
"title"
,
title
);
textcard
.
put
(
"url"
,
authUrl
);
textcard
.
put
(
"description"
,
description
.
toString
());
requestMap
.
put
(
"touser"
,
sendUser
);
requestMap
.
put
(
"agentid"
,
wxConfig
.
getAgentid
());
requestMap
.
put
(
"msgtype"
,
"textcard"
);
requestMap
.
put
(
"textcard"
,
textcard
);
// 必须加上header说明
if
(!
wxConfig
.
sendTextCard
(
restTemplate
,
requestMap
))
{
wxConfig
.
sendTextCard
(
restTemplate
,
requestMap
);
}
}
}
}
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/TSocialAlertInfoServiceImpl.java
0 → 100644
View file @
39d65859
This diff is collapsed.
Click to expand it.
yifu-social/yifu-social-biz/src/main/resources/mapper/TDispatchInfoPreMapper.xml
View file @
39d65859
...
@@ -53,6 +53,7 @@
...
@@ -53,6 +53,7 @@
<result
property=
"contractStatus"
column=
"CONTRACT_STATUS"
/>
<result
property=
"contractStatus"
column=
"CONTRACT_STATUS"
/>
<result
property=
"contractId"
column=
"CONTRACT_ID"
/>
<result
property=
"contractId"
column=
"CONTRACT_ID"
/>
<result
property=
"dispatcherId"
column=
"DISPATCHER_ID"
/>
<result
property=
"dispatcherId"
column=
"DISPATCHER_ID"
/>
<result
property=
"socialFundId"
column=
"SOCIAL_FUND_ID"
/>
<result
property=
"createBy"
column=
"CREATE_BY"
/>
<result
property=
"createBy"
column=
"CREATE_BY"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"createName"
column=
"CREATE_NAME"
/>
<result
property=
"createName"
column=
"CREATE_NAME"
/>
...
@@ -63,6 +64,7 @@
...
@@ -63,6 +64,7 @@
<result
property=
"errorBackInfo"
column=
"error_back_info"
/>
<result
property=
"errorBackInfo"
column=
"error_back_info"
/>
<result
property=
"errorTime"
column=
"error_time"
/>
<result
property=
"errorTime"
column=
"error_time"
/>
<result
property=
"position"
column=
"position"
/>
<result
property=
"position"
column=
"position"
/>
<result
property=
"phone"
column=
"phone"
/>
</resultMap>
</resultMap>
<resultMap
id=
"tDispatchInfoPreExportMap"
type=
"com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreExportVo"
>
<resultMap
id=
"tDispatchInfoPreExportMap"
type=
"com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchInfoPreExportVo"
>
...
@@ -131,7 +133,7 @@
...
@@ -131,7 +133,7 @@
a.CREATE_NAME,
a.CREATE_NAME,
a.UPDATE_TIME,
a.UPDATE_TIME,
a.CREATE_TIME,
a.CREATE_TIME,
a.DELETE_FLAG,error_info,error_time,a.DISPATCHER_ID,a.error_back_info,a.position
a.DELETE_FLAG,error_info,error_time,a.DISPATCHER_ID,a.error_back_info,a.position
,SOCIAL_FUND_ID,a.phone
</sql>
</sql>
<sql
id=
"tDispatchInfoPre_where"
>
<sql
id=
"tDispatchInfoPre_where"
>
<if
test=
"tDispatchInfoPre != null"
>
<if
test=
"tDispatchInfoPre != null"
>
...
@@ -203,6 +205,9 @@
...
@@ -203,6 +205,9 @@
<if
test=
"tDispatchInfoPre.contractStatus != null and tDispatchInfoPre.contractStatus.trim() != ''"
>
<if
test=
"tDispatchInfoPre.contractStatus != null and tDispatchInfoPre.contractStatus.trim() != ''"
>
AND a.CONTRACT_STATUS = #{tDispatchInfoPre.contractStatus}
AND a.CONTRACT_STATUS = #{tDispatchInfoPre.contractStatus}
</if>
</if>
<if
test=
"tDispatchInfoPre.failType != null and tDispatchInfoPre.failType.trim() != ''"
>
AND a.error_info is not null
</if>
<if
test=
"tDispatchInfoPre.authSql != null and tDispatchInfoPre.authSql.trim() != ''"
>
<if
test=
"tDispatchInfoPre.authSql != null and tDispatchInfoPre.authSql.trim() != ''"
>
${tDispatchInfoPre.authSql}
${tDispatchInfoPre.authSql}
</if>
</if>
...
@@ -290,7 +295,7 @@
...
@@ -290,7 +295,7 @@
(@i :=@i+1) as rowIndex,
(@i :=@i+1) as rowIndex,
a.EMP_NAME empName,
a.EMP_NAME empName,
a.EMP_IDCARD empIdcard,
a.EMP_IDCARD empIdcard,
a.dept_no
deptNo
,
a.dept_no
settleDomainCode
,
a.RECORD_BASE recordBase,
a.RECORD_BASE recordBase,
a.SOCIAL_HOUSEHOLD_NAME socialHousehold,
a.SOCIAL_HOUSEHOLD_NAME socialHousehold,
if(a.IS_CREATE_DATE = '0',a.SOCIAL_START_DATE,a.PENSION_START) as pensionStart,
if(a.IS_CREATE_DATE = '0',a.SOCIAL_START_DATE,a.PENSION_START) as pensionStart,
...
@@ -307,6 +312,7 @@
...
@@ -307,6 +312,7 @@
if(a.PAYMENT_TYPE = '1',BIRTH_CARDINAL,null) as birthCardinal,
if(a.PAYMENT_TYPE = '1',BIRTH_CARDINAL,null) as birthCardinal,
if(a.PAYMENT_TYPE = '1',BIGAILMENT_CARDINAL,null) as bigailmentCardinal,
if(a.PAYMENT_TYPE = '1',BIGAILMENT_CARDINAL,null) as bigailmentCardinal,
a.id preId,
a.id preId,
a.TRUST_REMARK trustRemark,
a.CUSTOMER_USER_LOGIN_NAME as preLoginName,
a.CUSTOMER_USER_LOGIN_NAME as preLoginName,
if(#{type} = '1',concat('手动派单-',a.customer_username),concat('自动化派单-',a.customer_username)) preName
if(#{type} = '1',concat('手动派单-',a.customer_username),concat('自动化派单-',a.customer_username)) preName
FROM t_dispatch_info_pre a,(select @i:=0) as itable
FROM t_dispatch_info_pre a,(select @i:=0) as itable
...
...
yifu-social/yifu-social-biz/src/main/resources/mapper/TSocialAlertInfoMapper.xml
0 → 100644
View file @
39d65859
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Copyright (c) 2018-2025, lengleng All rights reserved.
~
~ Redistribution and use in source and binary forms, with or without
~ modification, are permitted provided that the following conditions are met:
~
~ Redistributions of source code must retain the above copyright notice,
~ this list of conditions and the following disclaimer.
~ Redistributions in binary form must reproduce the above copyright
~ notice, this list of conditions and the following disclaimer in the
~ documentation and/or other materials provided with the distribution.
~ Neither the name of the yifu4cloud.com developer nor the names of its
~ contributors may be used to endorse or promote products derived from
~ this software without specific prior written permission.
~ Author: lengleng (wangiegie@gmail.com)
~
-->
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialAlertInfoMapper"
>
<resultMap
id=
"tSocialAlertInfoMap"
type=
"com.yifu.cloud.plus.v1.yifu.social.entity.TSocialAlertInfo"
>
<id
property=
"id"
column=
"ID"
/>
<result
property=
"deptNo"
column=
"DEPT_NO"
/>
<result
property=
"deptName"
column=
"DEPT_NAME"
/>
<result
property=
"type"
column=
"TYPE"
/>
<result
property=
"empName"
column=
"EMP_NAME"
/>
<result
property=
"empIdcard"
column=
"EMP_IDCARD"
/>
<result
property=
"reason"
column=
"REASON"
/>
<result
property=
"receiveUser"
column=
"RECEIVE_USER"
/>
<result
property=
"createBy"
column=
"CREATE_BY"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"createName"
column=
"CREATE_NAME"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
/>
<result
property=
"createTime"
column=
"CREATE_TIME"
/>
<result
property=
"handleTime"
column=
"HANDLE_TIME"
/>
<result
property=
"houseHoldName"
column=
"HOUSE_HOLD_NAME"
/>
<result
property=
"socialProvince"
column=
"SOCIAL_PROVINCE"
/>
<result
property=
"socialCity"
column=
"SOCIAL_CITY"
/>
<result
property=
"socialTown"
column=
"SOCIAL_TOWN"
/>
<result
property=
"fundProvince"
column=
"FUND_PROVINCE"
/>
<result
property=
"fundCity"
column=
"FUND_CITY"
/>
<result
property=
"fundTown"
column=
"FUND_TOWN"
/>
<result
property=
"dispatchId"
column=
"DISPATCH_ID"
/>
<result
property=
"applyName"
column=
"APPLY_NAME"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.ID,
a.DEPT_NO,
a.DEPT_NAME,
a.TYPE,
a.EMP_NAME,
a.EMP_IDCARD,
a.REASON,
a.RECEIVE_USER,
a.CREATE_BY,
a.UPDATE_BY,
a.CREATE_NAME,
a.UPDATE_TIME,
a.CREATE_TIME,
a.HOUSE_HOLD_NAME,
a.SOCIAL_PROVINCE,
a.SOCIAL_CITY,
a.SOCIAL_TOWN,
a.FUND_PROVINCE,
a.FUND_CITY,
a.FUND_TOWN,
a.HANDLE_TIME,
a.DISPATCH_ID,a.APPLY_NAME
</sql>
<sql
id=
"tSocialAlertInfo_where"
>
<if
test=
"tSocialAlertInfo != null"
>
<if
test=
"tSocialAlertInfo.id != null and tSocialAlertInfo.id.trim() != ''"
>
AND a.ID = #{tSocialAlertInfo.id}
</if>
<if
test=
"tSocialAlertInfo.deptNo != null and tSocialAlertInfo.deptNo.trim() != ''"
>
AND a.DEPT_NO = #{tSocialAlertInfo.deptNo}
</if>
<if
test=
"tSocialAlertInfo.deptName != null and tSocialAlertInfo.deptName.trim() != ''"
>
AND a.DEPT_NAME = #{tSocialAlertInfo.deptName}
</if>
<if
test=
"tSocialAlertInfo.type != null and tSocialAlertInfo.type.trim() != ''"
>
AND a.TYPE = #{tSocialAlertInfo.type}
</if>
<if
test=
"tSocialAlertInfo.empName != null and tSocialAlertInfo.empName.trim() != ''"
>
AND a.EMP_NAME = #{tSocialAlertInfo.empName}
</if>
<if
test=
"tSocialAlertInfo.empIdcard != null and tSocialAlertInfo.empIdcard.trim() != ''"
>
AND a.EMP_IDCARD = #{tSocialAlertInfo.empIdcard}
</if>
<if
test=
"tSocialAlertInfo.reason != null and tSocialAlertInfo.reason.trim() != ''"
>
AND a.REASON = #{tSocialAlertInfo.reason}
</if>
<if
test=
"tSocialAlertInfo.receiveUser != null and tSocialAlertInfo.receiveUser.trim() != ''"
>
AND a.RECEIVE_USER = #{tSocialAlertInfo.receiveUser}
</if>
<if
test=
"tSocialAlertInfo.createBy != null and tSocialAlertInfo.createBy.trim() != ''"
>
AND a.CREATE_BY = #{tSocialAlertInfo.createBy}
</if>
<if
test=
"tSocialAlertInfo.updateBy != null and tSocialAlertInfo.updateBy.trim() != ''"
>
AND a.UPDATE_BY = #{tSocialAlertInfo.updateBy}
</if>
<if
test=
"tSocialAlertInfo.createName != null and tSocialAlertInfo.createName.trim() != ''"
>
AND a.CREATE_NAME = #{tSocialAlertInfo.createName}
</if>
<if
test=
"tSocialAlertInfo.updateTime != null"
>
AND a.UPDATE_TIME = #{tSocialAlertInfo.updateTime}
</if>
<if
test=
"tSocialAlertInfo.createTime != null"
>
AND a.CREATE_TIME = #{tSocialAlertInfo.createTime}
</if>
</if>
</sql>
<!--tSocialAlertInfo简单分页查询-->
<select
id=
"getTSocialAlertInfoPage"
resultMap=
"tSocialAlertInfoMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_social_alert_info a
<where>
1=1
<include
refid=
"tSocialAlertInfo_where"
/>
</where>
</select>
<!--tSocialAlertInfo数据获取-->
<select
id=
"getTSocialAlertInfoList"
resultMap=
"tSocialAlertInfoMap"
>
SELECT
di.SETTLE_DOMAIN_CODE as DEPT_NO,
di.SETTLE_DOMAIN_NAME as DEPT_NAME,
di.TYPE AS TYPE,
di.EMP_NAME AS EMP_NAME,
di.EMP_IDCARD AS EMP_IDCARD,
di.CREATE_NAME AS APPLY_NAME,
di.CREATE_BY AS CREATE_BY,
di.CREATE_BY AS RECEIVE_USER,
di.SOCIAL_HOUSEHOLD_NAME as HOUSE_HOLD_NAME,
di.SOCIAL_PROVINCE as SOCIAL_PROVINCE,
di.SOCIAL_CITY as SOCIAL_CITY,
di.SOCIAL_TOWN as SOCIAL_TOWN,
NULL as FUND_PROVINCE,
NULL as FUND_CITY,
NULL as FUND_TOWN,
di.id as DISPATCH_ID,
CASE
WHEN di.TYPE =0 THEN si.HANDLE_TIME
WHEN di.TYPE =1 THEN si.REDUCE_HANDLE_TIME
ELSE NULL
END AS HANDLE_TIME,
CASE
WHEN di.SOCIAL_HANDLE_STATUS IN ('2', '3') THEN di.SOCIAL_HANDLE_REMARK
ELSE NULL
END AS REASON
FROM
t_dispatch_info as di
LEFT JOIN
(
SELECT
ID,
HANDLE_TIME,
REDUCE_HANDLE_TIME
FROM t_social_info
WHERE
CREATE_TIME > DATE_SUB(CURDATE(), INTERVAL 4 MONTH)
) AS si ON di.SOCIAL_ID = si.ID
WHERE
(
(si.HANDLE_TIME >= DATE_SUB(CURDATE(), INTERVAL 100 DAY)
AND si.HANDLE_TIME
<![CDATA[ <= ]]>
CONCAT(CURDATE(), ' 10:00:00'))
OR
(si.REDUCE_HANDLE_TIME >= DATE_SUB(CURDATE(), INTERVAL 100 DAY)
AND si.REDUCE_HANDLE_TIME
<![CDATA[ <= ]]>
CONCAT(CURDATE(), ' 10:00:00'))
)
AND di.SOCIAL_HANDLE_STATUS IN ('2', '3')
AND di.DELETE_FLAG = '0' AND di.TYPE=0
</select>
<!--tSocialAlertInfo数据获取-->
<select
id=
"getTFundAlertInfoList"
resultMap=
"tSocialAlertInfoMap"
>
SELECT
di.SETTLE_DOMAIN_CODE as DEPT_NO,
di.SETTLE_DOMAIN_NAME as DEPT_NAME,
di.TYPE AS TYPE,
di.EMP_NAME AS EMP_NAME,
di.EMP_IDCARD AS EMP_IDCARD,
di.CREATE_NAME AS APPLY_NAME,
di.CREATE_BY AS CREATE_BY,
di.CREATE_BY AS RECEIVE_USER,
di.PROVIDENT_HOUSEHOLD_NAME as HOUSE_HOLD_NAME,
NULL as SOCIAL_PROVINCE,
NULL as SOCIAL_CITY,
NULL as SOCIAL_TOWN,
di.FUND_PROVINCE as FUND_PROVINCE,
di.FUND_CITY as FUND_CITY,
di.FUND_TOWN as FUND_TOWN,
di.id as DISPATCH_ID,
CASE
WHEN di.TYPE =0 THEN pf.HANDLE_TIME
WHEN di.TYPE =1 THEN pf.REDUCE_HANDLE_TIME
ELSE NULL
END AS HANDLE_TIME,
CASE
WHEN di.FUND_HANDLE_STATUS = '2' THEN di.FUND_HANDLE_REMARK
ELSE NULL
END AS REASON
FROM
t_dispatch_info as di
LEFT JOIN
(
SELECT
HANDLE_TIME,
ID,
REDUCE_HANDLE_TIME
FROM t_provident_fund
WHERE
CREATE_TIME > DATE_SUB(CURDATE(), INTERVAL 4 MONTH )
) AS pf ON di.FUND_ID = pf.ID
WHERE
(
(pf.HANDLE_TIME >= DATE_SUB(CURDATE(), INTERVAL 100 DAY)
AND pf.HANDLE_TIME
<![CDATA[ <= ]]>
CONCAT(CURDATE(), ' 10:00:00'))
OR
(pf.REDUCE_HANDLE_TIME >= DATE_SUB(CURDATE(), INTERVAL 100 DAY)
AND pf.REDUCE_HANDLE_TIME
<![CDATA[ <= ]]>
CONCAT(CURDATE(), ' 10:00:00'))
)
AND di.FUND_HANDLE_STATUS = '2'
AND di.DELETE_FLAG = '0' AND di.TYPE=1
</select>
<delete
id=
"deleteCUrrentDayData"
>
delete from t_social_alert_info where CREATE_TIME >= CONCAT(CURDATE(), ' 10:00:00')
</delete>
</mapper>
\ No newline at end of file
yifu-social/yifu-social-biz/src/main/resources/mapper/TSocialFundInfoMapper.xml
View file @
39d65859
...
@@ -1238,6 +1238,7 @@
...
@@ -1238,6 +1238,7 @@
<select
id=
"selectSocialFundInfoCountByEmpIdcard"
resultType=
"java.lang.Long"
>
<select
id=
"selectSocialFundInfoCountByEmpIdcard"
resultType=
"java.lang.Long"
>
SELECT count(1)
SELECT count(1)
FROM t_social_fund_info a
FROM t_social_fund_info a
inner join t_dispatch_info d on a.DISPATCH_ID = d.ID
where a.EMP_IDCARD = #{empIdcard}
where a.EMP_IDCARD = #{empIdcard}
and a.social_status in ('0', '1', '2', '3', '4', '6', '7', '9', '11', '12')
and a.social_status in ('0', '1', '2', '3', '4', '6', '7', '9', '11', '12')
</select>
</select>
...
...
yifu-social/yifu-social-biz/src/main/resources/mapper/TSocialfundHouseResMapper.xml
View file @
39d65859
...
@@ -129,5 +129,28 @@
...
@@ -129,5 +129,28 @@
<select
id=
"getSocialListByUserId"
resultType=
"java.lang.String"
>
<select
id=
"getSocialListByUserId"
resultType=
"java.lang.String"
>
SELECT a.SOCIAL_HOUSEHOLD FROM t_socialfund_house_res a WHERE user_id = #{userId} AND STATUS = '0' AND AUTH_TYPE = '1' AND HOUSE_NAME_TYPE = '0'
SELECT a.SOCIAL_HOUSEHOLD FROM t_socialfund_house_res a WHERE user_id = #{userId} AND STATUS = '0' AND AUTH_TYPE = '1' AND HOUSE_NAME_TYPE = '0'
</select>
</select>
<select
id=
"getHouseHoldUserMap"
resultType=
"java.util.Map"
>
<!--
查询各个户籍/公积金账户对应的用户ID列表
条件:
- STATUS = '0': 有效状态
- AUTH_TYPE = '1': 授权类型为1
- HOUSE_NAME_TYPE = '0': 社保户籍类型 或 HOUSE_NAME_TYPE = '1': 公积金户籍类型
-->
SELECT x.HOUSEHOLD as 'key',GROUP_CONCAT(DISTINCT x.USER_ID) as 'value'
FROM
(
SELECT a.SOCIAL_HOUSEHOLD as HOUSEHOLD,a.USER_ID
FROM t_socialfund_house_res a
WHERE STATUS = '0' AND AUTH_TYPE = '1' AND HOUSE_NAME_TYPE = '0'
UNION ALL
SELECT a.FUND_HOUSEHOLD as HOUSEHOLD,a.USER_ID
FROM t_socialfund_house_res a
WHERE STATUS = '0' AND AUTH_TYPE = '1' AND HOUSE_NAME_TYPE = '1'
) AS x
WHERE x.HOUSEHOLD IS NOT NULL
GROUP BY x.HOUSEHOLD
</select>
</mapper>
</mapper>
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