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
e2f5885b
Commit
e2f5885b
authored
Dec 11, 2025
by
fangxinjiang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
户截止日期配置开发-fxj
parent
ca736415
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
1186 additions
and
0 deletions
+1186
-0
THouseHoldLimit.java
...ifu/cloud/plus/v1/yifu/social/entity/THouseHoldLimit.java
+121
-0
THouseHoldLimitExportVo.java
...cloud/plus/v1/yifu/social/vo/THouseHoldLimitExportVo.java
+112
-0
THouseHoldLimitSearchVo.java
...cloud/plus/v1/yifu/social/vo/THouseHoldLimitSearchVo.java
+63
-0
THouseHoldLimitVo.java
.../yifu/cloud/plus/v1/yifu/social/vo/THouseHoldLimitVo.java
+70
-0
THouseHoldLimitController.java
.../v1/yifu/social/controller/THouseHoldLimitController.java
+182
-0
THouseHoldLimitMapper.java
...oud/plus/v1/yifu/social/mapper/THouseHoldLimitMapper.java
+50
-0
THouseHoldLimitService.java
...d/plus/v1/yifu/social/service/THouseHoldLimitService.java
+52
-0
THouseHoldLimitServiceImpl.java
.../yifu/social/service/impl/THouseHoldLimitServiceImpl.java
+373
-0
THouseHoldLimitMapper.xml
...l-biz/src/main/resources/mapper/THouseHoldLimitMapper.xml
+163
-0
No files found.
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/entity/THouseHoldLimit.java
0 → 100644
View file @
e2f5885b
/*
* 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.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.constant.ExcelAttribute
;
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
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
/**
* 户截止日配置表
*
* @author fxj
* @date 2025-12-11 14:19:54
*/
@Data
@TableName
(
"t_house_hold_limit"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Schema
(
description
=
"户截止日配置表"
)
public
class
THouseHoldLimit
extends
BaseEntity
{
/**
* 主键
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@ExcelProperty
(
"主键"
)
@Schema
(
description
=
"主键"
)
private
String
id
;
/**
* 户名
*/
@ExcelAttribute
(
name
=
"户名"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"户名不能超过50个字符"
)
@ExcelProperty
(
"户名"
)
@Schema
(
description
=
"户名"
)
private
String
name
;
/**
* 户类型:0社保 1公积金
*/
@ExcelAttribute
(
name
=
"户类型:0社保 1公积金"
,
isNotEmpty
=
true
,
errorInfo
=
"户类型:0社保 1公积金不能为空"
,
maxLength
=
255
)
@NotBlank
(
message
=
"户类型:0社保 1公积金不能为空"
)
@Length
(
max
=
255
,
message
=
"户类型:0社保 1公积金不能超过255个字符"
)
@ExcelProperty
(
"户类型:0社保 1公积金"
)
@Schema
(
description
=
"户类型:0社保 1公积金"
)
private
String
type
;
/**
* 缴纳地-省
*/
@ExcelAttribute
(
name
=
"缴纳地-省"
,
maxLength
=
10
)
@Length
(
max
=
10
,
message
=
"缴纳地-省不能超过10个字符"
)
@ExcelProperty
(
"缴纳地-省"
)
@Schema
(
description
=
"缴纳地-省"
)
private
String
province
;
/**
* 缴纳地-市
*/
@ExcelAttribute
(
name
=
"缴纳地-市"
,
maxLength
=
10
)
@Length
(
max
=
10
,
message
=
"缴纳地-市不能超过10个字符"
)
@ExcelProperty
(
"缴纳地-市"
)
@Schema
(
description
=
"缴纳地-市"
)
private
String
city
;
/**
* 缴纳地-县
*/
@ExcelAttribute
(
name
=
"缴纳地-县"
,
maxLength
=
10
)
@Length
(
max
=
10
,
message
=
"缴纳地-县不能超过10个字符"
)
@ExcelProperty
(
"缴纳地-县"
)
@Schema
(
description
=
"缴纳地-县"
)
private
String
town
;
/**
* 户ID
*/
@ExcelAttribute
(
name
=
"户ID"
,
maxLength
=
32
)
@Length
(
max
=
32
,
message
=
"户ID不能超过32个字符"
)
@ExcelProperty
(
"户ID"
)
@Schema
(
description
=
"户ID"
)
private
String
houseHoldId
;
/**
* 派增截止(日)
*/
@ExcelAttribute
(
name
=
"派增截止(日)"
,
isNotEmpty
=
true
,
errorInfo
=
"派增截止(日)不能为空"
,
maxLength
=
2
)
@NotBlank
(
message
=
"派增截止(日)不能为空"
)
@Length
(
max
=
2
,
message
=
"派增截止(日)不能超过2个字符"
)
@ExcelProperty
(
"派增截止(日)"
)
@Schema
(
description
=
"派增截止(日)"
)
private
String
deadLineDay
;
/**
* 派增办理规则:0当月办当月生效 1 当月办次月生效
*/
@ExcelAttribute
(
name
=
"派增办理规则:0当月办当月生效 1 当月办次月生效"
,
isNotEmpty
=
true
,
errorInfo
=
"派增办理规则:0当月办当月生效 1 当月办次月生效不能为空"
,
maxLength
=
2
)
@NotBlank
(
message
=
"派增办理规则:0当月办当月生效 1 当月办次月生效不能为空"
)
@Length
(
max
=
2
,
message
=
"派增办理规则:0当月办当月生效 1 当月办次月生效不能超过2个字符"
)
@ExcelProperty
(
"派增办理规则:0当月办当月生效 1 当月办次月生效"
)
@Schema
(
description
=
"派增办理规则:0当月办当月生效 1 当月办次月生效"
)
private
String
addHandleRule
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/THouseHoldLimitExportVo.java
0 → 100644
View file @
e2f5885b
/*
* 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.ExcelIgnore
;
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.fasterxml.jackson.annotation.JsonIgnore
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
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
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* 户截止日配置表
*
* @author fxj
* @date 2025-12-11 14:19:54
*/
@Data
@Schema
(
description
=
"户截止日配置表"
)
public
class
THouseHoldLimitExportVo
implements
Serializable
{
/**
* 户名
*/
@ExcelAttribute
(
name
=
"户名"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ColumnWidth
(
10
)
@ExcelProperty
(
"户名"
)
@Schema
(
description
=
"户名"
)
private
String
name
;
/**
* 户类型:0社保 1公积金
*/
@ExcelAttribute
(
name
=
"户类型"
,
isDataId
=
true
,
readConverterExp
=
"0=社保,1=公积金"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ColumnWidth
(
10
)
@ExcelProperty
(
"户类型"
)
@Schema
(
description
=
"户类型"
)
private
String
type
;
/**
* 缴纳地
*/
@ExcelAttribute
(
name
=
"缴纳地"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ColumnWidth
(
10
)
@ExcelProperty
(
"缴纳地"
)
@Schema
(
description
=
"缴纳地"
)
private
String
province
;
/**
* 派增截止(日)
*/
@ExcelAttribute
(
name
=
"派增截止(日)"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ColumnWidth
(
15
)
@ExcelProperty
(
"派增截止(日)"
)
@Schema
(
description
=
"派增截止(日)"
)
private
String
deadLineDay
;
/**
* 派增办理规则:0当月办当月生效 1 当月办次月生效
*/
@ExcelAttribute
(
name
=
"派增办理规则"
,
isDataId
=
true
,
readConverterExp
=
"0=当月办当月生效,1=当月办次月生效"
)
@ExcelProperty
(
"派增办理规则"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ColumnWidth
(
15
)
@Schema
(
description
=
"派增办理规则"
)
private
String
addHandleRule
;
/**
* 创建者-姓名
*/
@Schema
(
description
=
"配置人"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ColumnWidth
(
10
)
@ExcelProperty
(
"配置人"
)
private
String
createName
;
/**
* 更新时间
*/
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
@HeadFontStyle
(
fontHeightInPoints
=
11
)
@ColumnWidth
(
20
)
@ExcelProperty
(
"最后一次更新时间"
)
@Schema
(
description
=
"最后一次更新时间"
)
private
LocalDateTime
updateTime
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/THouseHoldLimitSearchVo.java
0 → 100644
View file @
e2f5885b
/*
* 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.yifu.cloud.plus.v1.yifu.social.entity.THouseHoldLimit
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* 户截止日配置表
*
* @author fxj
* @date 2025-12-11 14:19:54
*/
@Data
public
class
THouseHoldLimitSearchVo
extends
THouseHoldLimit
{
/**
* 多选导出或删除等操作
*/
@Schema
(
description
=
"选中ID,多个逗号分割"
)
private
String
ids
;
/**
* 更新时间区间 [开始时间,结束时间]
*/
@Schema
(
description
=
"更新时间起"
)
private
LocalDateTime
updateTimeStart
;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema
(
description
=
"更新时间止"
)
private
LocalDateTime
updateTimeEnd
;
/**
* @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/THouseHoldLimitVo.java
0 → 100644
View file @
e2f5885b
/*
* 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.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
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
import
java.io.Serializable
;
/**
* 户截止日配置表
*
* @author fxj
* @date 2025-12-11 14:19:54
*/
@Data
public
class
THouseHoldLimitVo
extends
RowIndex
implements
Serializable
{
/**
* 户名
*/
@ExcelAttribute
(
name
=
"户名"
,
isNotEmpty
=
true
,
maxLength
=
50
)
@Schema
(
description
=
"户名"
)
@ExcelProperty
(
"户名"
)
private
String
name
;
/**
* 户类型:0社保 1公积金
*/
@ExcelAttribute
(
name
=
"户类型"
,
isNotEmpty
=
true
,
errorInfo
=
"户类型不能为空"
,
isDataId
=
true
,
readConverterExp
=
"0=社保,1=公积金"
)
@Schema
(
description
=
"户类型:0社保 1公积金"
)
@ExcelProperty
(
"户类型"
)
private
String
type
;
/**
* 派增截止(日)
*/
@ExcelAttribute
(
name
=
"派增截止(日)"
,
isInteger
=
true
,
isNotEmpty
=
true
,
errorInfo
=
"派增截止(日)不能为空"
,
maxLength
=
2
)
@Schema
(
description
=
"派增截止(日)"
)
@ExcelProperty
(
"派增截止(日)"
)
private
String
deadLineDay
;
/**
* 派增办理规则:0当月办当月生效 1 当月办次月生效
*/
@ExcelAttribute
(
name
=
"派增办理规则"
,
isNotEmpty
=
true
,
errorInfo
=
"派增办理规则不能为空"
,
isDataId
=
true
,
readConverterExp
=
"0=当月办当月生效,1=当月办次月生效"
)
@Schema
(
description
=
"派增办理规则:0当月办当月生效 1 当月办次月生效"
)
@ExcelProperty
(
"派增办理规则"
)
private
String
addHandleRule
;
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/controller/THouseHoldLimitController.java
0 → 100644
View file @
e2f5885b
/*
* 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.core.toolkit.Wrappers
;
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.Common
;
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.util.SecurityUtils
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.THouseHoldLimit
;
import
com.yifu.cloud.plus.v1.yifu.social.service.THouseHoldLimitService
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.THouseHoldLimitSearchVo
;
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-12-11 14:19:54
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/thouseholdlimit"
)
@Tag
(
name
=
"户截止日配置表管理"
)
public
class
THouseHoldLimitController
{
private
final
THouseHoldLimitService
tHouseHoldLimitService
;
private
final
static
String
ADD_UPDATE_REPEAT_ERROR
=
"对应户名及户类型的配置已存在!"
;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tHouseHoldLimit 户截止日配置表
* @return
*/
@Operation
(
description
=
"简单分页查询"
)
@GetMapping
(
"/page"
)
public
R
<
IPage
<
THouseHoldLimit
>>
getTHouseHoldLimitPage
(
Page
<
THouseHoldLimit
>
page
,
THouseHoldLimitSearchVo
tHouseHoldLimit
)
{
return
new
R
<>(
tHouseHoldLimitService
.
getTHouseHoldLimitPage
(
page
,
tHouseHoldLimit
));
}
/**
* 通过id查询户截止日配置表
*
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询:hasPermission('social_thouseholdlimit_get')"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('social_thouseholdlimit_get')"
)
public
R
<
THouseHoldLimit
>
getById
(
@PathVariable
(
"id"
)
String
id
)
{
return
R
.
ok
(
tHouseHoldLimitService
.
getById
(
id
));
}
/**
* 新增户截止日配置表
*
* @param tHouseHoldLimit 户截止日配置表
* @return R
*/
@Operation
(
summary
=
"新增户截止日配置表"
,
description
=
"新增户截止日配置表:hasPermission('social_thouseholdlimit_add')"
)
@SysLog
(
"新增户截止日配置表"
)
@PostMapping
@PreAuthorize
(
"@pms.hasPermission('social_thouseholdlimit_add')"
)
public
R
<
Boolean
>
save
(
@RequestBody
THouseHoldLimit
tHouseHoldLimit
)
{
//先查验是否已存在对应户名称和户类型的数据
THouseHoldLimit
houseHoldLimit
=
tHouseHoldLimitService
.
getOne
(
Wrappers
.<
THouseHoldLimit
>
query
().
lambda
()
.
eq
(
THouseHoldLimit:
:
getName
,
tHouseHoldLimit
.
getName
())
.
eq
(
THouseHoldLimit:
:
getType
,
tHouseHoldLimit
.
getType
())
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(
null
!=
houseHoldLimit
){
return
R
.
failed
(
ADD_UPDATE_REPEAT_ERROR
);
}
return
R
.
ok
(
tHouseHoldLimitService
.
save
(
tHouseHoldLimit
));
}
/**
* 修改户截止日配置表
*
* @param tHouseHoldLimit 户截止日配置表
* @return R
*/
@Operation
(
summary
=
"修改户截止日配置表"
,
description
=
"修改户截止日配置表:hasPermission('social_thouseholdlimit_edit')"
)
@SysLog
(
"修改户截止日配置表"
)
@PutMapping
@PreAuthorize
(
"@pms.hasPermission('social_thouseholdlimit_edit')"
)
public
R
<
Boolean
>
updateById
(
@RequestBody
THouseHoldLimit
tHouseHoldLimit
)
{
if
(
tHouseHoldLimit
.
getId
()
==
null
){
return
R
.
failed
(
CommonConstants
.
PARAM_INFO_ERROR
);
}
//先查验是否已存在对应户名称和户类型的数据
THouseHoldLimit
houseHoldLimit
=
tHouseHoldLimitService
.
getOne
(
Wrappers
.<
THouseHoldLimit
>
query
().
lambda
()
.
eq
(
THouseHoldLimit:
:
getName
,
tHouseHoldLimit
.
getName
())
.
eq
(
THouseHoldLimit:
:
getType
,
tHouseHoldLimit
.
getType
())
.
ne
(
THouseHoldLimit:
:
getId
,
tHouseHoldLimit
.
getId
())
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(
null
!=
houseHoldLimit
){
return
R
.
failed
(
ADD_UPDATE_REPEAT_ERROR
);
}
return
R
.
ok
(
tHouseHoldLimitService
.
updateById
(
tHouseHoldLimit
));
}
/**
* 通过id删除户截止日配置表
*
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id删除户截止日配置表"
,
description
=
"通过id删除户截止日配置表:hasPermission('social_thouseholdlimit_del')"
)
@SysLog
(
"通过id删除户截止日配置表"
)
@DeleteMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('social_thouseholdlimit_del')"
)
public
R
<
Boolean
>
removeById
(
@PathVariable
String
id
)
{
return
R
.
ok
(
tHouseHoldLimitService
.
removeById
(
id
));
}
/**
* 户截止日配置表 批量导入
*
* @author fxj
* @date 2025-12-11 14:19:54
**/
@SneakyThrows
@Operation
(
description
=
"批量新增户截止日配置表 hasPermission('social_thouseholdlimit-batch-import')"
)
@SysLog
(
"批量新增户截止日配置表"
)
@PostMapping
(
"/importListAdd"
)
public
R
<
List
<
ErrorMessage
>>
importListAdd
(
@RequestBody
MultipartFile
file
)
{
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(
Common
.
isEmpty
(
user
)){
return
R
.
failed
(
CommonConstants
.
USER_FAIL
);
}
return
tHouseHoldLimitService
.
importDiy
(
file
.
getInputStream
(),
user
);
}
/**
* 户截止日配置表 批量导出
*
* @author fxj
* @date 2025-12-11 14:19:54
**/
@Operation
(
description
=
"导出户截止日配置表 hasPermission('social_thouseholdlimit-export')"
)
@PostMapping
(
"/export"
)
public
void
export
(
HttpServletResponse
response
,
@RequestBody
THouseHoldLimitSearchVo
searchVo
)
{
tHouseHoldLimitService
.
listExport
(
response
,
searchVo
);
}
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/mapper/THouseHoldLimitMapper.java
0 → 100644
View file @
e2f5885b
/*
* 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.THouseHoldLimit
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.THouseHoldLimitExportVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.THouseHoldLimitSearchVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 户截止日配置表
*
* @author fxj
* @date 2025-12-11 14:19:54
*/
@Mapper
public
interface
THouseHoldLimitMapper
extends
BaseMapper
<
THouseHoldLimit
>
{
/**
* 户截止日配置表简单分页查询
*
* @param tHouseHoldLimit 户截止日配置表
* @return
*/
IPage
<
THouseHoldLimit
>
getTHouseHoldLimitPage
(
Page
<
THouseHoldLimit
>
page
,
@Param
(
"tHouseHoldLimit"
)
THouseHoldLimit
tHouseHoldLimit
);
List
<
THouseHoldLimitExportVo
>
exportDiy
(
@Param
(
"tHouseHoldLimit"
)
THouseHoldLimitSearchVo
searchVo
);
int
exportCountDiy
(
@Param
(
"tHouseHoldLimit"
)
THouseHoldLimitSearchVo
searchVo
);
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/THouseHoldLimitService.java
0 → 100644
View file @
e2f5885b
/*
* 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.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.IService
;
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.social.entity.THouseHoldLimit
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.THouseHoldLimitSearchVo
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.InputStream
;
import
java.util.List
;
/**
* 户截止日配置表
*
* @author fxj
* @date 2025-12-11 14:19:54
*/
public
interface
THouseHoldLimitService
extends
IService
<
THouseHoldLimit
>
{
/**
* 户截止日配置表简单分页查询
*
* @param tHouseHoldLimit 户截止日配置表
* @return
*/
IPage
<
THouseHoldLimit
>
getTHouseHoldLimitPage
(
Page
<
THouseHoldLimit
>
page
,
THouseHoldLimitSearchVo
tHouseHoldLimit
);
R
<
List
<
ErrorMessage
>>
importDiy
(
InputStream
inputStream
,
YifuUser
user
);
void
listExport
(
HttpServletResponse
response
,
THouseHoldLimitSearchVo
searchVo
);
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/THouseHoldLimitServiceImpl.java
0 → 100644
View file @
e2f5885b
/*
* 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
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ArrayUtil
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.context.AnalysisContext
;
import
com.alibaba.excel.exception.ExcelAnalysisException
;
import
com.alibaba.excel.metadata.data.ReadCellData
;
import
com.alibaba.excel.read.listener.ReadListener
;
import
com.alibaba.excel.read.metadata.holder.ReadRowHolder
;
import
com.alibaba.excel.util.ListUtils
;
import
com.alibaba.excel.write.metadata.WriteSheet
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.*
;
import
com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.THouseHoldLimit
;
import
com.yifu.cloud.plus.v1.yifu.social.mapper.SysHouseHoldInfoMapper
;
import
com.yifu.cloud.plus.v1.yifu.social.mapper.THouseHoldLimitMapper
;
import
com.yifu.cloud.plus.v1.yifu.social.service.THouseHoldLimitService
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.THouseHoldLimitExportVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.THouseHoldLimitSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.THouseHoldLimitVo
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.net.URLEncoder
;
import
java.time.LocalDateTime
;
import
java.util.*
;
/**
* 户截止日配置表
*
* @author fxj
* @date 2025-12-11 14:19:54
*/
@Log4j2
@Service
public
class
THouseHoldLimitServiceImpl
extends
ServiceImpl
<
THouseHoldLimitMapper
,
THouseHoldLimit
>
implements
THouseHoldLimitService
{
@Autowired
private
SysHouseHoldInfoMapper
sysHouseHoldInfoMapper
;
/**
* 户截止日配置表简单分页查询
*
* @param tHouseHoldLimit 户截止日配置表
* @return
*/
@Override
public
IPage
<
THouseHoldLimit
>
getTHouseHoldLimitPage
(
Page
<
THouseHoldLimit
>
page
,
THouseHoldLimitSearchVo
tHouseHoldLimit
)
{
return
baseMapper
.
getTHouseHoldLimitPage
(
page
,
tHouseHoldLimit
);
}
/**
* 户截止日配置表批量导出
*
* @param searchVo 户截止日配置表
* @return
*/
@Override
public
void
listExport
(
HttpServletResponse
response
,
THouseHoldLimitSearchVo
searchVo
)
{
String
fileName
=
"户截止日配置表批量导出"
+
DateUtil
.
getThisTime
()
+
".xlsx"
;
//获取要导出的列表
List
<
THouseHoldLimitExportVo
>
list
=
new
ArrayList
<>();
long
count
=
exportCountDiy
(
searchVo
);
ServletOutputStream
out
=
null
;
try
{
out
=
response
.
getOutputStream
();
response
.
setContentType
(
CommonConstants
.
MULTIPART_FORM_DATA
);
response
.
setCharacterEncoding
(
"utf-8"
);
response
.
setHeader
(
CommonConstants
.
CONTENT_DISPOSITION
,
CommonConstants
.
ATTACHMENT_FILENAME
+
URLEncoder
.
encode
(
fileName
,
CommonConstants
.
UTF8
));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
//EasyExcel.write(out, TEmpBadRecord.class).sheet("不良记录").doWrite(list);
ExcelWriter
excelWriter
=
EasyExcel
.
write
(
out
,
THouseHoldLimitExportVo
.
class
).
build
();
int
index
=
0
;
if
(
count
>
CommonConstants
.
ZERO_INT
)
{
for
(
int
i
=
0
;
i
<=
count
;
)
{
// 获取实际记录
searchVo
.
setLimitStart
(
i
);
searchVo
.
setLimitEnd
(
CommonConstants
.
EXCEL_EXPORT_LIMIT
);
list
=
exportDiy
(
searchVo
);
if
(
Common
.
isNotNull
(
list
))
{
ExcelUtil
<
THouseHoldLimitExportVo
>
util
=
new
ExcelUtil
<>(
THouseHoldLimitExportVo
.
class
);
for
(
THouseHoldLimitExportVo
vo
:
list
)
{
util
.
convertEntity
(
vo
,
null
,
null
,
null
);
}
}
if
(
Common
.
isNotNull
(
list
))
{
WriteSheet
writeSheet
=
EasyExcel
.
writerSheet
(
"户截止日配置表"
+
index
).
build
();
excelWriter
.
write
(
list
,
writeSheet
);
index
++;
}
i
=
i
+
CommonConstants
.
EXCEL_EXPORT_LIMIT
;
if
(
Common
.
isNotNull
(
list
))
{
list
.
clear
();
}
}
}
else
{
WriteSheet
writeSheet
=
EasyExcel
.
writerSheet
(
"户截止日配置表"
+
index
).
build
();
excelWriter
.
write
(
list
,
writeSheet
);
}
if
(
Common
.
isNotNull
(
list
))
{
list
.
clear
();
}
out
.
flush
();
excelWriter
.
finish
();
}
catch
(
Exception
e
)
{
log
.
error
(
"执行异常"
,
e
);
}
finally
{
try
{
if
(
null
!=
out
)
{
out
.
close
();
}
}
catch
(
IOException
e
)
{
log
.
error
(
"执行异常"
,
e
);
}
}
}
public
List
<
THouseHoldLimitExportVo
>
exportDiy
(
THouseHoldLimitSearchVo
searchVo
)
{
return
baseMapper
.
exportDiy
(
searchVo
);
}
private
int
exportCountDiy
(
THouseHoldLimitSearchVo
searchVo
)
{
return
baseMapper
.
exportCountDiy
(
searchVo
);
}
@Override
public
R
<
List
<
ErrorMessage
>>
importDiy
(
InputStream
inputStream
,
YifuUser
user
)
{
List
<
ErrorMessage
>
errorMessageList
=
new
ArrayList
<>();
//记录所有已存在的户名+户类型,包括EXCEL本身的
Map
<
String
,
String
>
map
=
new
HashMap
<>();
ExcelUtil
<
THouseHoldLimitVo
>
util1
=
new
ExcelUtil
<>(
THouseHoldLimitVo
.
class
);
;
// 写法2:
// 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
try
{
EasyExcel
.
read
(
inputStream
,
THouseHoldLimitVo
.
class
,
new
ReadListener
<
THouseHoldLimitVo
>()
{
/**
* 单次缓存的数据量
*/
public
static
final
int
BATCH_COUNT
=
CommonConstants
.
BATCH_COUNT
;
/**
*临时存储
*/
private
List
<
THouseHoldLimitVo
>
cachedDataList
=
ListUtils
.
newArrayListWithExpectedSize
(
BATCH_COUNT
);
/**
* 验证表头
**/
@Override
public
void
invokeHead
(
Map
<
Integer
,
ReadCellData
<?>>
headMap
,
AnalysisContext
context
)
{
// 定义期望的表头
Map
<
Integer
,
String
>
expectedHead
=
new
HashMap
<>();
expectedHead
.
put
(
0
,
"户名"
);
expectedHead
.
put
(
1
,
"户类型"
);
expectedHead
.
put
(
2
,
"派增截止(日)"
);
expectedHead
.
put
(
3
,
"派增办理规则"
);
// 验证表头
for
(
Map
.
Entry
<
Integer
,
String
>
entry
:
expectedHead
.
entrySet
())
{
String
actualValue
=
headMap
.
get
(
entry
.
getKey
()).
getStringValue
();
if
(
null
!=
headMap
&&
null
!=
headMap
.
get
(
entry
.
getKey
()))
{
actualValue
=
headMap
.
get
(
entry
.
getKey
()).
getStringValue
();
}
String
expectedValue
=
entry
.
getValue
();
if
(!
expectedValue
.
equals
(
actualValue
))
{
errorMessageList
.
add
(
new
ErrorMessage
(
entry
.
getKey
()
+
1
,
String
.
format
(
"第%d列表头验证失败,期望:'%s',实际:'%s'"
,
entry
.
getKey
()
+
1
,
expectedValue
,
actualValue
)));
throw
new
ExcelAnalysisException
(
String
.
format
(
"第%d列表头验证失败,期望:'%s',实际:'%s'"
,
entry
.
getKey
()
+
1
,
expectedValue
,
actualValue
)
);
}
}
}
@Override
public
void
invoke
(
THouseHoldLimitVo
data
,
AnalysisContext
context
)
{
ReadRowHolder
readRowHolder
=
context
.
readRowHolder
();
Integer
rowIndex
=
readRowHolder
.
getRowIndex
();
data
.
setRowIndex
(
rowIndex
+
1
);
ErrorMessage
errorMessage
=
util1
.
checkEntity
(
data
,
data
.
getRowIndex
());
if
(
Common
.
isNotNull
(
errorMessage
))
{
errorMessageList
.
add
(
errorMessage
);
}
else
{
cachedDataList
.
add
(
data
);
}
if
(
cachedDataList
.
size
()
>=
BATCH_COUNT
)
{
saveData
();
// 存储完成清理 list
cachedDataList
=
ListUtils
.
newArrayListWithExpectedSize
(
BATCH_COUNT
);
}
}
@Override
public
void
doAfterAllAnalysed
(
AnalysisContext
context
)
{
saveData
();
}
/**
* 加上存储数据库
*/
private
void
saveData
()
{
log
.
info
(
"{}条数据,开始存储数据库!"
,
cachedDataList
.
size
());
importTHouseHoldLimit
(
cachedDataList
,
errorMessageList
,
map
,
user
);
log
.
info
(
"存储数据库成功!"
);
}
}).
sheet
().
doRead
();
}
catch
(
Exception
e
)
{
log
.
error
(
CommonConstants
.
IMPORT_DATA_ANALYSIS_ERROR
,
e
);
if
(
Common
.
isNotKong
(
errorMessageList
)){
return
R
.
failed
(
errorMessageList
.
get
(
0
).
getMessage
());
}
else
{
return
R
.
failed
(
CommonConstants
.
IMPORT_DATA_ANALYSIS_ERROR
);
}
}
finally
{
if
(
Common
.
isNotNull
(
map
)){
map
.
clear
();
}
}
return
this
.
judgeAllMessage1
(
errorMessageList
);
}
/**
* @Author fxj
* @Description 全部成功就返回成功
* @Date 15:22 2025/12/11
* @Param
* @return
**/
private
R
<
List
<
ErrorMessage
>>
judgeAllMessage1
(
List
<
ErrorMessage
>
errorMessageList
)
{
if
(!
errorMessageList
.
isEmpty
())
{
if
(
errorMessageList
.
stream
().
allMatch
(
e
->
CommonConstants
.
SAVE_SUCCESS
.
equals
(
e
.
getMessage
())))
{
return
R
.
ok
();
}
else
{
return
R
.
failed
(
errorMessageList
);
}
}
return
R
.
ok
();
}
private
void
importTHouseHoldLimit
(
List
<
THouseHoldLimitVo
>
excelVOList
,
List
<
ErrorMessage
>
errorMessageList
,
Map
<
String
,
String
>
map
,
YifuUser
user
)
{
// 个性化校验逻辑
ErrorMessage
errorMsg
;
//获取户数据(启用)
Map
<
String
,
SysHouseHoldInfo
>
houseHoldMap
=
new
HashMap
<>();
List
<
SysHouseHoldInfo
>
houseHoldInfoList
=
sysHouseHoldInfoMapper
.
selectList
(
Wrappers
.<
SysHouseHoldInfo
>
query
().
lambda
()
.
eq
(
SysHouseHoldInfo:
:
getDelFlag
,
CommonConstants
.
ZERO_STRING
));
if
(
Common
.
isNotNull
(
houseHoldInfoList
))
{
for
(
SysHouseHoldInfo
houseHoldInfo
:
houseHoldInfoList
)
{
houseHoldMap
.
put
(
houseHoldInfo
.
getName
()+
houseHoldInfo
.
getType
(),
houseHoldInfo
);
}
}
THouseHoldLimit
holdLimit
=
null
;
SysHouseHoldInfo
houseHold
=
null
;
String
houseLimitRowIndex
=
null
;
THouseHoldLimit
limitInsert
=
null
;
// 执行数据插入操作 组装
for
(
int
i
=
0
;
i
<
excelVOList
.
size
();
i
++)
{
THouseHoldLimitVo
excel
=
excelVOList
.
get
(
i
);
houseHold
=
houseHoldMap
.
get
(
excel
.
getName
()+
excel
.
getType
());
if
(!
Common
.
isNotNull
(
houseHold
))
{
errorMsg
=
new
ErrorMessage
(
excel
.
getRowIndex
(),
"未找到该户名及户类型的数据"
,
excel
);
errorMessageList
.
add
(
errorMsg
);
continue
;
}
houseLimitRowIndex
=
map
.
get
(
excel
.
getName
()+
excel
.
getType
());
if
(
Common
.
isNotNull
(
houseLimitRowIndex
)){
errorMsg
=
new
ErrorMessage
(
excel
.
getRowIndex
(),
"该户名及户类型已存在EXCEL第"
+
houseLimitRowIndex
+
"行,请勿重复导入"
,
excel
);
errorMessageList
.
add
(
errorMsg
);
continue
;
}
holdLimit
=
baseMapper
.
selectOne
(
Wrappers
.<
THouseHoldLimit
>
query
().
lambda
()
.
eq
(
THouseHoldLimit:
:
getType
,
excel
.
getType
())
.
eq
(
THouseHoldLimit:
:
getName
,
excel
.
getName
())
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(
null
!=
holdLimit
){
errorMsg
=
new
ErrorMessage
(
excel
.
getRowIndex
(),
"该户名及户类型已存在"
,
excel
);
errorMessageList
.
add
(
errorMsg
);
continue
;
}
if
(
Common
.
isNotNull
(
excel
.
getDeadLineDay
())){
if
(!
Common
.
isNumber
(
excel
.
getDeadLineDay
())){
errorMsg
=
new
ErrorMessage
(
excel
.
getRowIndex
(),
"派增截止(日)只能是数字"
,
excel
);
errorMessageList
.
add
(
errorMsg
);
continue
;
}
if
(
Integer
.
parseInt
(
excel
.
getDeadLineDay
())
>
31
||
Integer
.
parseInt
(
excel
.
getDeadLineDay
())
<
1
){
errorMsg
=
new
ErrorMessage
(
excel
.
getRowIndex
(),
"派增截止(日)只能是1-31的数字"
,
excel
);
errorMessageList
.
add
(
errorMsg
);
continue
;
}
}
if
(
Common
.
isNotNull
(
excel
.
getAddHandleRule
())){
if
(!
CommonConstants
.
ZERO_STRING
.
equals
(
excel
.
getAddHandleRule
())
&&
!
CommonConstants
.
ONE_STRING
.
equals
(
excel
.
getAddHandleRule
())){
errorMsg
=
new
ErrorMessage
(
excel
.
getRowIndex
(),
"派增办理规则只能是'当月办当月生效'或'当月办次月生效'"
,
excel
);
errorMessageList
.
add
(
errorMsg
);
continue
;
}
}
if
(
Common
.
isNotNull
(
excel
.
getType
())){
if
(!
CommonConstants
.
ZERO_STRING
.
equals
(
excel
.
getType
())
&&
!
CommonConstants
.
ONE_STRING
.
equals
(
excel
.
getType
())){
errorMsg
=
new
ErrorMessage
(
excel
.
getRowIndex
(),
"户类型只能是'社保'或'公积金'"
,
excel
);
errorMessageList
.
add
(
errorMsg
);
continue
;
}
}
limitInsert
=
new
THouseHoldLimit
();
limitInsert
.
setHouseHoldId
(
houseHold
.
getId
());
limitInsert
.
setType
(
excel
.
getType
());
limitInsert
.
setDeadLineDay
(
excel
.
getDeadLineDay
());
limitInsert
.
setAddHandleRule
(
excel
.
getAddHandleRule
());
limitInsert
.
setName
(
excel
.
getName
());
limitInsert
.
setCreateBy
(
user
.
getId
());
limitInsert
.
setUpdateBy
(
user
.
getId
());
limitInsert
.
setCreateTime
(
LocalDateTime
.
now
());
limitInsert
.
setUpdateTime
(
LocalDateTime
.
now
());
limitInsert
.
setCreateName
(
user
.
getNickname
());
limitInsert
.
setProvince
(
houseHold
.
getProvince
());
limitInsert
.
setCity
(
houseHold
.
getCity
());
limitInsert
.
setTown
(
houseHold
.
getTown
());
map
.
put
(
excel
.
getName
()+
excel
.
getType
(),
excel
.
getRowIndex
().
toString
());
// 插入
if
(!
insertExcel
(
limitInsert
)){
errorMsg
=
new
ErrorMessage
(
excel
.
getRowIndex
(),
"导入异常"
,
excel
);
errorMessageList
.
add
(
errorMsg
);
continue
;
}
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
CommonConstants
.
SAVE_SUCCESS
,
excel
));
}
}
/**
* 插入excel record
*/
private
boolean
insertExcel
(
THouseHoldLimit
insert
)
{
return
baseMapper
.
insert
(
insert
)
>=
1
;
}
}
yifu-social/yifu-social-biz/src/main/resources/mapper/THouseHoldLimitMapper.xml
0 → 100644
View file @
e2f5885b
<?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.THouseHoldLimitMapper"
>
<resultMap
id=
"tHouseHoldLimitMap"
type=
"com.yifu.cloud.plus.v1.yifu.social.entity.THouseHoldLimit"
>
<id
property=
"id"
column=
"ID"
/>
<result
property=
"name"
column=
"NAME"
/>
<result
property=
"type"
column=
"TYPE"
/>
<result
property=
"province"
column=
"PROVINCE"
/>
<result
property=
"city"
column=
"CITY"
/>
<result
property=
"town"
column=
"TOWN"
/>
<result
property=
"houseHoldId"
column=
"HOUSE_HOLD_ID"
/>
<result
property=
"deadLineDay"
column=
"DEAD_LINE_DAY"
/>
<result
property=
"addHandleRule"
column=
"ADD_HANDLE_RULE"
/>
<result
property=
"createBy"
column=
"CREATE_BY"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"createTime"
column=
"CREATE_TIME"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
/>
<result
property=
"createName"
column=
"CREATE_NAME"
/>
</resultMap>
<resultMap
id=
"tHouseHoldLimitExportMap"
type=
"com.yifu.cloud.plus.v1.yifu.social.vo.THouseHoldLimitExportVo"
>
<result
property=
"name"
column=
"NAME"
/>
<result
property=
"type"
column=
"TYPE"
/>
<result
property=
"province"
column=
"PROVINCE"
/>
<result
property=
"deadLineDay"
column=
"DEAD_LINE_DAY"
/>
<result
property=
"addHandleRule"
column=
"ADD_HANDLE_RULE"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
/>
<result
property=
"createName"
column=
"CREATE_NAME"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.ID,
a.NAME,
a.TYPE,
a.PROVINCE,
a.CITY,
a.TOWN,
a.HOUSE_HOLD_ID,
a.DEAD_LINE_DAY,
a.ADD_HANDLE_RULE,
a.CREATE_BY,
a.UPDATE_BY,
a.CREATE_TIME,
a.UPDATE_TIME,
a.CREATE_NAME
</sql>
<sql
id=
"tHouseHoldLimit_where"
>
<if
test=
"tHouseHoldLimit != null"
>
<if
test=
"tHouseHoldLimit.id != null and tHouseHoldLimit.id.trim() != ''"
>
AND a.ID = #{tHouseHoldLimit.id}
</if>
<if
test=
"tHouseHoldLimit.name != null and tHouseHoldLimit.name.trim() != ''"
>
AND a.NAME = #{tHouseHoldLimit.name}
</if>
<if
test=
"tHouseHoldLimit.type != null and tHouseHoldLimit.type.trim() != ''"
>
AND a.TYPE = #{tHouseHoldLimit.type}
</if>
<if
test=
"tHouseHoldLimit.province != null and tHouseHoldLimit.province.trim() != ''"
>
AND a.PROVINCE = #{tHouseHoldLimit.province}
</if>
<if
test=
"tHouseHoldLimit.city != null and tHouseHoldLimit.city.trim() != ''"
>
AND a.CITY = #{tHouseHoldLimit.city}
</if>
<if
test=
"tHouseHoldLimit.town != null and tHouseHoldLimit.town.trim() != ''"
>
AND a.TOWN = #{tHouseHoldLimit.town}
</if>
<if
test=
"tHouseHoldLimit.houseHoldId != null and tHouseHoldLimit.houseHoldId.trim() != ''"
>
AND a.HOUSE_HOLD_ID = #{tHouseHoldLimit.houseHoldId}
</if>
<if
test=
"tHouseHoldLimit.deadLineDay != null and tHouseHoldLimit.deadLineDay.trim() != ''"
>
AND a.DEAD_LINE_DAY = #{tHouseHoldLimit.deadLineDay}
</if>
<if
test=
"tHouseHoldLimit.addHandleRule != null and tHouseHoldLimit.addHandleRule.trim() != ''"
>
AND a.ADD_HANDLE_RULE = #{tHouseHoldLimit.addHandleRule}
</if>
<if
test=
"tHouseHoldLimit.createBy != null and tHouseHoldLimit.createBy.trim() != ''"
>
AND a.CREATE_BY = #{tHouseHoldLimit.createBy}
</if>
<if
test=
"tHouseHoldLimit.updateBy != null and tHouseHoldLimit.updateBy.trim() != ''"
>
AND a.UPDATE_BY = #{tHouseHoldLimit.updateBy}
</if>
<if
test=
"tHouseHoldLimit.createTime != null"
>
AND a.CREATE_TIME = #{tHouseHoldLimit.createTime}
</if>
<if
test=
"tHouseHoldLimit.updateTime != null"
>
AND a.UPDATE_TIME = #{tHouseHoldLimit.updateTime}
</if>
<if
test=
"tHouseHoldLimit.updateTimeEnd != null"
>
AND a.UPDATE_TIME
<![CDATA[<=]]>
#{tHouseHoldLimit.updateTimeEnd}
</if>
<if
test=
"tHouseHoldLimit.updateTimeStart != null"
>
AND a.UPDATE_TIME
<![CDATA[>=]]>
#{tHouseHoldLimit.updateTimeStart}
</if>
<if
test=
"tHouseHoldLimit.createName != null and tHouseHoldLimit.createName.trim() != ''"
>
AND a.CREATE_NAME = #{tHouseHoldLimit.createName}
</if>
</if>
</sql>
<!--tHouseHoldLimit简单分页查询-->
<select
id=
"getTHouseHoldLimitPage"
resultMap=
"tHouseHoldLimitMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_house_hold_limit a
<where>
1=1
<include
refid=
"tHouseHoldLimit_where"
/>
</where>
</select>
<select
id=
"exportCountDiy"
resultType=
"int"
>
SELECT
count(1)
FROM t_house_hold_limit a
<where>
1=1
<include
refid=
"tHouseHoldLimit_where"
/>
</where>
</select>
<select
id=
"exportDiy"
resultMap=
"tHouseHoldLimitExportMap"
>
SELECT
a.NAME,
a.TYPE,
CONCAT_WS('-',p.AREA_NAME,c.AREA_NAME,t.AREA_NAME) as 'PROVINCE',
a.DEAD_LINE_DAY,
a.ADD_HANDLE_RULE,
a.UPDATE_TIME,
a.CREATE_NAME
FROM t_house_hold_limit a
LEFT JOIN sys_area p on p.id=a.PROVINCE
LEFT JOIN sys_area c on c.id=a.CITY
LEFT JOIN sys_area t on t.id=a.TOWN
<where>
1=1
<include
refid=
"tHouseHoldLimit_where"
/>
<if
test=
"tHouseHoldLimit != null"
>
<if
test=
"tHouseHoldLimit.limitStart != null"
>
limit #{tHouseHoldLimit.limitStart},#{tHouseHoldLimit.limitEnd}
</if>
</if>
</where>
</select>
</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