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
020a113e
Commit
020a113e
authored
Jan 06, 2023
by
hongguangwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
B端的 社保、薪资等
parent
849219e6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
3953 additions
and
8 deletions
+3953
-8
SettleAdditionTypeEnum.java
...ud/plus/v1/business/vo/settle/SettleAdditionTypeEnum.java
+40
-0
TBusSettleController.java
...s/v1/business/controller/settle/TBusSettleController.java
+142
-0
TBusSettleMapper.java
...loud/plus/v1/business/mapper/settle/TBusSettleMapper.java
+37
-0
TBusSettleService.java
...ud/plus/v1/business/service/settle/TBusSettleService.java
+45
-0
TBusSettleServiceImpl.java
...1/business/service/settle/impl/TBusSettleServiceImpl.java
+199
-0
TBusSettleMapper.xml
...siness-biz/src/main/resources/mapper/TBusSettleMapper.xml
+71
-0
ExcelAttributeConstants.java
...v1/yifu/common/core/constant/ExcelAttributeConstants.java
+2
-0
SalaryAccountAndItemVo.java
.../cloud/plus/v1/yifu/salary/vo/SalaryAccountAndItemVo.java
+136
-0
SettlementFormVo.java
...m/yifu/cloud/plus/v1/yifu/salary/vo/SettlementFormVo.java
+56
-0
BusinessSalaryController.java
...s/v1/yifu/salary/controller/BusinessSalaryController.java
+236
-0
TSalaryAccountMapper.java
...loud/plus/v1/yifu/salary/mapper/TSalaryAccountMapper.java
+34
-0
TSalaryAccountService.java
...ud/plus/v1/yifu/salary/service/TSalaryAccountService.java
+33
-0
TSalaryAccountServiceImpl.java
...1/yifu/salary/service/impl/TSalaryAccountServiceImpl.java
+42
-0
TSalaryAccountMapper.xml
...ry-biz/src/main/resources/mapper/TSalaryAccountMapper.xml
+106
-0
TPaymentInfo.java
...m/yifu/cloud/plus/v1/yifu/social/entity/TPaymentInfo.java
+6
-0
FundAddAndReduceVo.java
...yifu/cloud/plus/v1/yifu/social/vo/FundAddAndReduceVo.java
+69
-0
PaymentBusinessPageDetail.java
...oud/plus/v1/yifu/social/vo/PaymentBusinessPageDetail.java
+46
-0
PaymentBusinessPageVo.java
...u/cloud/plus/v1/yifu/social/vo/PaymentBusinessPageVo.java
+272
-0
SocialAddAndReduceVo.java
...fu/cloud/plus/v1/yifu/social/vo/SocialAddAndReduceVo.java
+71
-0
SocialAndFundBusinessPageVo.java
...d/plus/v1/yifu/social/vo/SocialAndFundBusinessPageVo.java
+42
-0
SocialAndFundReduceBusinessVo.java
...plus/v1/yifu/social/vo/SocialAndFundReduceBusinessVo.java
+36
-0
TPaymentAllInfoVo.java
.../yifu/cloud/plus/v1/yifu/social/vo/TPaymentAllInfoVo.java
+531
-0
DispatchBusinessController.java
...v1/yifu/social/controller/DispatchBusinessController.java
+255
-0
TPaymentInfoMapper.java
.../cloud/plus/v1/yifu/social/mapper/TPaymentInfoMapper.java
+73
-4
TPaymentInfoService.java
...loud/plus/v1/yifu/social/service/TPaymentInfoService.java
+62
-3
TProvidentFundService.java
...ud/plus/v1/yifu/social/service/TProvidentFundService.java
+10
-0
TSocialInfoService.java
...cloud/plus/v1/yifu/social/service/TSocialInfoService.java
+10
-0
TPaymentInfoServiceImpl.java
.../v1/yifu/social/service/impl/TPaymentInfoServiceImpl.java
+371
-0
TProvidentFundServiceImpl.java
...1/yifu/social/service/impl/TProvidentFundServiceImpl.java
+149
-0
TSocialInfoServiceImpl.java
...s/v1/yifu/social/service/impl/TSocialInfoServiceImpl.java
+186
-1
TPaymentInfoMapper.xml
...cial-biz/src/main/resources/mapper/TPaymentInfoMapper.xml
+585
-0
No files found.
yifu-business/yifu-business-api/src/main/java/com/yifu/cloud/plus/v1/business/vo/settle/SettleAdditionTypeEnum.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
vo
.
settle
;
import
lombok.Getter
;
import
org.apache.commons.lang.StringUtils
;
/**
* @description: SettleAdditionTypeEnum 结算相关附件类型
* @author: wangweiguo
* @date: 2021/8/19
*/
@Getter
public
enum
SettleAdditionTypeEnum
{
SETTLE_RECORD
(
"结算单"
,
0
),
PROVE_SOCIAL
(
"流水证明_社保"
,
1
),
PROVE_FUND
(
"流水证明_公积金"
,
2
),
PROVE_SALARY_RECORD
(
"流水证明_代发工资单"
,
3
),
PROVE_MEAL_FEE
(
"流水证明_餐补"
,
4
),
PROVE_GIFT_BAG
(
"流水证明_春节大礼包"
,
5
);
private
String
typeName
;
private
int
type
;
SettleAdditionTypeEnum
(
String
typeName
,
int
type
)
{
this
.
typeName
=
typeName
;
this
.
type
=
type
;
}
public
static
SettleAdditionTypeEnum
getTypeEnumByFileName
(
String
fileName
)
{
for
(
SettleAdditionTypeEnum
setteAdditionTypeEnum
:
values
())
{
if
(!
StringUtils
.
contains
(
fileName
,
setteAdditionTypeEnum
.
typeName
))
{
continue
;
}
return
setteAdditionTypeEnum
;
}
return
null
;
}
}
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/controller/settle/TBusSettleController.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
controller
.
settle
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.business.entity.settle.TBusSettle
;
import
com.yifu.cloud.plus.v1.business.service.settle.TBusSettleService
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
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
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.time.LocalDateTime
;
import
java.util.List
;
/**
* B端结算表
*
* @author hgw
* @date 2021-08-16 15:58:09
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/tbussettle"
)
@Tag
(
name
=
"B端结算表"
)
public
class
TBusSettleController
{
private
final
TBusSettleService
tBusSettleService
;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tBusSettle B端结算表
* @return
*/
@Operation
(
summary
=
"简单分页查询"
)
@GetMapping
(
"/page"
)
public
R
<
IPage
<
TBusSettle
>>
getTBusSettlePage
(
Page
<
TBusSettle
>
page
,
TBusSettle
tBusSettle
)
{
return
new
R
<>(
tBusSettleService
.
getTBusSettlePage
(
page
,
tBusSettle
));
}
/**
* 列表,可用来查重
*
* @param tBusSettle B端结算表
* @return
*/
@Operation
(
summary
=
"列表,可用来查重"
)
@GetMapping
(
"/getTBusSettleList"
)
public
R
<
List
<
TBusSettle
>>
getTBusSettleList
(
TBusSettle
tBusSettle
)
{
return
new
R
<>(
tBusSettleService
.
getTBusSettleList
(
tBusSettle
));
}
/**
* 通过id查询单条记录
*
* @param id
* @return R
*/
@Operation
(
summary
=
"id查询"
)
@GetMapping
(
"/{id}"
)
public
R
<
TBusSettle
>
getById
(
@PathVariable
(
"id"
)
String
id
)
{
return
new
R
<>(
tBusSettleService
.
getById
(
id
));
}
/**
* 新增记录
*
* @param tBusSettle
* @return R
*/
@Operation
(
summary
=
"新增(yifu-hro-business:tbussettle_add)"
)
@PostMapping
@PreAuthorize
(
"@pms.hasPermission('yifu-hro-business:tbussettle_add')"
)
public
R
<
Boolean
>
save
(
@RequestBody
TBusSettle
tBusSettle
)
{
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(
user
!=
null
&&
user
.
getId
()
!=
null
)
{
tBusSettle
.
setCreateTime
(
LocalDateTime
.
now
());
tBusSettle
.
setCreateUserId
(
String
.
valueOf
(
user
.
getId
()));
tBusSettle
.
setCreateUserName
(
user
.
getNickname
());
return
new
R
<>(
tBusSettleService
.
save
(
tBusSettle
));
}
else
{
return
R
.
failed
(
"未获取到登录人信息!"
);
}
}
/**
* 修改记录
*
* @param tBusSettle
* @return R
*/
@Operation
(
summary
=
"修改(yifu-hro-business:tbussettle_edit)"
)
@SysLog
(
"修改B端结算表"
)
@PutMapping
@PreAuthorize
(
"@pms.hasPermission('yifu-hro-business:tbussettle_edit')"
)
public
R
<
Boolean
>
update
(
@RequestBody
TBusSettle
tBusSettle
)
{
return
new
R
<>(
tBusSettleService
.
updateById
(
tBusSettle
));
}
/**
* 通过id删除一条记录
*
* @param id
* @return R
*/
@Operation
(
summary
=
"假删除(yifu-hro-business:tbussettle_del)"
)
@SysLog
(
"假删除B端结算表"
)
@DeleteMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('yifu-hro-business:tbussettle_del')"
)
public
R
<
Boolean
>
removeById
(
@PathVariable
String
id
)
{
TBusSettle
tBusSettle
=
new
TBusSettle
();
tBusSettle
.
setId
(
id
);
tBusSettle
.
setDeleteFlag
(
CommonConstants
.
ONE_INT
);
return
new
R
<>(
tBusSettleService
.
updateById
(
tBusSettle
));
}
/**
* @param file zip文件包
* @description: 解析zip文件包中的多个附件,并生成结算记录
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
* @author: wangweiguo
* @date: 2021/8/19
*/
@Operation
(
summary
=
"导入:(yifu-hro-business:import_zip)"
)
@PostMapping
(
"/importZip"
)
@PreAuthorize
(
"@pms.hasPermission('yifu-hro-business:import_zip')"
)
//@ApiImplicitParam(value = "zip文件", name = "file", paramType = "form", required = true)
public
R
<
Boolean
>
importZip
(
@RequestParam
(
"file"
)
MultipartFile
file
)
{
return
this
.
tBusSettleService
.
importZip
(
file
);
}
}
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/mapper/settle/TBusSettleMapper.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
mapper
.
settle
;
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.business.entity.settle.TBusSettle
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* B端结算表
*
* @author hgw
* @date 2021-08-16 15:58:09
*/
@Mapper
public
interface
TBusSettleMapper
extends
BaseMapper
<
TBusSettle
>
{
/**
* B端结算表简单分页查询
*
* @param tBusSettle B端结算表
* @return
*/
IPage
<
TBusSettle
>
getTBusSettlePage
(
Page
<
TBusSettle
>
page
,
@Param
(
"tBusSettle"
)
TBusSettle
tBusSettle
);
/**
* @param tBusSettle
* @Description: 列表
* @Author: hgw
* @Date: 2021/8/16 16:37
* @return: java.util.List<com.yifu.cloud.v1.hrobusiness.api.entity.settle.TBusSettle>
**/
List
<
TBusSettle
>
getTBusSettleList
(
@Param
(
"tBusSettle"
)
TBusSettle
tBusSettle
);
}
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/service/settle/TBusSettleService.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
service
.
settle
;
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.business.entity.settle.TBusSettle
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
org.springframework.web.multipart.MultipartFile
;
import
java.util.List
;
/**
* B端结算表
*
* @author hgw
* @date 2021-08-16 15:58:09
*/
public
interface
TBusSettleService
extends
IService
<
TBusSettle
>
{
/**
* B端结算表简单分页查询
*
* @param tBusSettle B端结算表
* @return
*/
IPage
<
TBusSettle
>
getTBusSettlePage
(
Page
<
TBusSettle
>
page
,
TBusSettle
tBusSettle
);
/**
* @param tBusSettle
* @Description: 列表
* @Author: hgw
* @Date: 2021/8/16 16:37
* @return: java.util.List<com.yifu.cloud.v1.hrobusiness.api.entity.settle.TBusSettle>
**/
List
<
TBusSettle
>
getTBusSettleList
(
TBusSettle
tBusSettle
);
/**
* @description: 解析zip文件包中的多个附件,并生成结算记录
* @param file zip文件包
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
* @author: wangweiguo
* @date: 2021/8/19
*/
R
<
Boolean
>
importZip
(
MultipartFile
file
);
}
yifu-business/yifu-business-biz/src/main/java/com/yifu/cloud/plus/v1/business/service/settle/impl/TBusSettleServiceImpl.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
business
.
service
.
settle
.
impl
;
import
cn.hutool.core.io.FileTypeUtil
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.util.CharsetUtil
;
import
cn.hutool.core.util.ZipUtil
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yifu.cloud.plus.v1.business.entity.settle.TBusSettle
;
import
com.yifu.cloud.plus.v1.business.mapper.settle.TBusSettleMapper
;
import
com.yifu.cloud.plus.v1.business.service.settle.TBusSettleService
;
import
com.yifu.cloud.plus.v1.business.service.system.TBusAttaInfoService
;
import
com.yifu.cloud.plus.v1.business.vo.BusFileVo
;
import
com.yifu.cloud.plus.v1.business.vo.settle.SettleAdditionTypeEnum
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.exception.CheckedException
;
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.security.util.SecurityUtils
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.fileupload.FileItem
;
import
org.apache.commons.fileupload.FileItemFactory
;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.commons.CommonsMultipartFile
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.UUID
;
/**
* B端结算表
*
* @author hgw
* @date 2021-08-16 15:58:09
*/
@AllArgsConstructor
@Slf4j
@Service
public
class
TBusSettleServiceImpl
extends
ServiceImpl
<
TBusSettleMapper
,
TBusSettle
>
implements
TBusSettleService
{
private
final
TBusAttaInfoService
busAttaInfoService
;
public
static
final
String
DEPART_ALREADY_EXIST_MONTH_DATA
=
"该部门该结算月份已有数据,若要更新,请先将原数据删除后,再次导入!"
;
public
static
final
String
SETTLE_MONTH_MATCH
=
"([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(0[1-9]{1}|1[0-2]{1})"
;
public
static
final
String
FILE_NAME_DATE_FORMAT_ERROR
=
"文件名格式中日期格式错误!"
;
public
static
final
String
SAVE_SETTLE_ERROR
=
"保存结算记录出错"
;
public
static
final
String
FILE_NAME_ERROT
=
"命名格式不规范"
;
public
static
final
String
HRB_SETTLE_FILE_PATH
=
"hrb/settle"
;
public
static
final
String
ZIP_FILE_NAME_VALID_FAILD
=
"zip压缩文件名格式不正确"
;
public
static
final
String
ZIP_EXTRACT_ERROR
=
"结算管理导入zip文件解压功能出错"
;
/**
* B端结算表简单分页查询
*
* @param tBusSettle B端结算表
* @return
*/
@Override
public
IPage
<
TBusSettle
>
getTBusSettlePage
(
Page
<
TBusSettle
>
page
,
TBusSettle
tBusSettle
)
{
return
baseMapper
.
getTBusSettlePage
(
page
,
tBusSettle
);
}
@Override
public
List
<
TBusSettle
>
getTBusSettleList
(
TBusSettle
tBusSettle
)
{
return
baseMapper
.
getTBusSettleList
(
tBusSettle
);
}
/**
* @param file zip文件包
* @description: 解析zip文件包中的多个附件,并生成结算记录
* @return: com.yifu.cloud.v1.common.core.util.R<java.lang.Boolean>
* @author: wangweiguo
* @date: 2021/8/19
*/
@Override
@Transactional
public
R
<
Boolean
>
importZip
(
MultipartFile
file
)
{
File
unzip
=
null
;
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(
null
==
user
)
{
return
R
.
failed
(
"用户未登录"
);
}
File
etractFile
=
null
;
try
{
String
fileType
=
FileTypeUtil
.
getType
(
file
.
getInputStream
());
if
(!
StringUtils
.
equalsIgnoreCase
(
fileType
,
CommonConstants
.
ZIP_TYPE
))
{
return
R
.
failed
(
"导入的文件格式不正确"
);
}
String
[]
destoryName
=
StringUtils
.
split
(
StringUtils
.
removeEndIgnoreCase
(
file
.
getOriginalFilename
()
,
CommonConstants
.
SPOT
.
concat
(
fileType
)),
CommonConstants
.
DOWN_LINE_CHAR
);
if
(
null
!=
destoryName
&&
destoryName
.
length
==
2
)
{
TBusSettle
busSettle
=
this
.
lambdaQuery
()
.
eq
(
TBusSettle:
:
getSettleMonth
,
destoryName
[
1
])
.
eq
(
TBusSettle:
:
getAccountDeptName
,
destoryName
[
0
])
.
eq
(
TBusSettle:
:
getDeleteFlag
,
CommonConstants
.
ZERO_INT
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
).
one
();
if
(
null
!=
busSettle
)
{
return
R
.
failed
(
DEPART_ALREADY_EXIST_MONTH_DATA
);
}
etractFile
=
new
File
(
UUID
.
randomUUID
().
toString
());
unzip
=
ZipUtil
.
unzip
(
file
.
getInputStream
(),
etractFile
,
CharsetUtil
.
CHARSET_GBK
);
// 正常解压后创建结算记录
busSettle
=
new
TBusSettle
();
busSettle
.
setAccountDeptName
(
destoryName
[
0
]);
busSettle
.
setSettleMonth
(
destoryName
[
1
]);
busSettle
.
setCreateUserId
(
String
.
valueOf
(
user
.
getId
()));
busSettle
.
setCreateUserName
(
user
.
getNickname
());
busSettle
.
setCreateTime
(
LocalDateTime
.
now
());
if
(!
busSettle
.
getSettleMonth
().
matches
(
SETTLE_MONTH_MATCH
))
{
return
R
.
failed
(
FILE_NAME_DATE_FORMAT_ERROR
);
}
boolean
saveBusSettleSuccess
=
this
.
save
(
busSettle
);
if
(!
saveBusSettleSuccess
)
{
return
R
.
failed
(
SAVE_SETTLE_ERROR
);
}
List
<
File
>
files
=
FileUtil
.
loopFiles
(
unzip
);
for
(
File
fl
:
files
)
{
String
fileName
=
FileUtil
.
getName
(
fl
);
SettleAdditionTypeEnum
settleAdditionTypeEnum
=
SettleAdditionTypeEnum
.
getTypeEnumByFileName
(
fileName
);
if
(
null
==
settleAdditionTypeEnum
)
{
runTimeExceptionDiy
(
fileName
+
":"
+
FILE_NAME_ERROT
);
}
R
<
BusFileVo
>
busFileVoR
=
this
.
busAttaInfoService
.
uploadFile
(
fileCovertMultipartFile
(
fl
)
,
HRB_SETTLE_FILE_PATH
,
settleAdditionTypeEnum
.
getType
(),
busSettle
.
getId
());
if
(!
R
.
isSuccess
(
busFileVoR
))
{
runTimeExceptionDiy
(
busFileVoR
.
getMsg
());
}
}
}
else
{
return
R
.
failed
(
ZIP_FILE_NAME_VALID_FAILD
);
}
}
catch
(
IOException
e
)
{
runTimeExceptionDiy
(
ZIP_EXTRACT_ERROR
.
concat
(
": "
).
concat
(
e
.
getCause
().
toString
()));
}
finally
{
if
(
etractFile
!=
null
)
{
FileUtil
.
del
(
etractFile
);
}
}
return
R
.
ok
();
}
private
static
void
runTimeExceptionDiy
(
String
errorInfo
)
{
throw
new
CheckedException
(
errorInfo
);
}
/**
* File转MultipartFile
*
* @param file 需要转换的文件
* @description: File转MultipartFile
* @return: org.springframework.web.multipart.MultipartFile
* @author: wangweiguo
* @date: 2021/8/19
*/
private
MultipartFile
fileCovertMultipartFile
(
File
file
)
{
FileItemFactory
factory
=
new
DiskFileItemFactory
(
16
,
null
);
String
textFieldName
=
"textField"
;
FileItem
item
=
factory
.
createItem
(
textFieldName
,
"text/plain"
,
true
,
file
.
getName
());
int
bytesRead
=
0
;
byte
[]
buffer
=
new
byte
[
8192
];
try
{
FileInputStream
fis
=
new
FileInputStream
(
file
);
OutputStream
os
=
item
.
getOutputStream
();
while
((
bytesRead
=
fis
.
read
(
buffer
,
0
,
8192
))
!=
-
1
)
{
os
.
write
(
buffer
,
0
,
bytesRead
);
}
os
.
close
();
fis
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
new
CommonsMultipartFile
(
item
);
}
}
yifu-business/yifu-business-biz/src/main/resources/mapper/TBusSettleMapper.xml
0 → 100644
View file @
020a113e
<?xml version="1.0" encoding="UTF-8"?>
<!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.business.mapper.settle.TBusSettleMapper"
>
<resultMap
id=
"tBusSettleMap"
type=
"com.yifu.cloud.plus.v1.business.entity.settle.TBusSettle"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"accountDeptName"
column=
"account_dept_name"
/>
<result
property=
"settleMonth"
column=
"settle_month"
/>
<result
property=
"createUserId"
column=
"create_user_id"
/>
<result
property=
"createUserName"
column=
"create_user_name"
/>
<result
property=
"createTime"
column=
"create_time"
/>
<result
property=
"deleteFlag"
column=
"delete_flag"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.id,
a.account_dept_name,
a.settle_month,
a.create_user_id,
a.create_user_name,
a.create_time,
a.delete_flag
</sql>
<sql
id=
"tBusSettle_where"
>
<if
test=
"tBusSettle != null"
>
<if
test=
"tBusSettle.id != null and tBusSettle.id.trim() != ''"
>
AND a.id = #{tBusSettle.id}
</if>
<if
test=
"tBusSettle.accountDeptName != null and tBusSettle.accountDeptName.trim() != ''"
>
AND a.account_dept_name like concat('%',#{tBusSettle.accountDeptName},'%')
</if>
<if
test=
"tBusSettle.settleMonth != null and tBusSettle.settleMonth.trim() != ''"
>
AND a.settle_month = #{tBusSettle.settleMonth}
</if>
<if
test=
"tBusSettle.createUserId != null and tBusSettle.createUserId.trim() != ''"
>
AND a.create_user_id = #{tBusSettle.createUserId}
</if>
<if
test=
"tBusSettle.createUserName != null and tBusSettle.createUserName.trim() != ''"
>
AND a.create_user_name = #{tBusSettle.createUserName}
</if>
<if
test=
"tBusSettle.createTime != null"
>
AND a.create_time = #{tBusSettle.createTime}
</if>
<if
test=
"tBusSettle.deleteFlag != null"
>
AND a.delete_flag = #{tBusSettle.deleteFlag}
</if>
</if>
</sql>
<!--tBusSettle简单分页查询-->
<select
id=
"getTBusSettlePage"
resultMap=
"tBusSettleMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_bus_settle a
<where>
a.delete_flag = 0
<include
refid=
"tBusSettle_where"
/>
</where>
ORDER BY a.create_time desc
</select>
<!--tBusSettle简单查询list-->
<select
id=
"getTBusSettleList"
resultMap=
"tBusSettleMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_bus_settle a
<where>
a.delete_flag = 0
<include
refid=
"tBusSettle_where"
/>
</where>
ORDER BY a.create_time desc
</select>
</mapper>
yifu-common/yifu-common-core/src/main/java/com/yifu/cloud/plus/v1/yifu/common/core/constant/ExcelAttributeConstants.java
View file @
020a113e
...
...
@@ -152,4 +152,6 @@ public class ExcelAttributeConstants {
// B端人员使用的
public
static
final
String
CUSTOMER
=
"customer"
;
public
static
final
String
HOUSEHOLD
=
"household"
;
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/vo/SalaryAccountAndItemVo.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
vo
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
* @Description: B端-结算单Vo
* @Author: hgw
* @Date: 2020-8-21 11:31:03
* @return:
**/
@Getter
@Setter
public
class
SalaryAccountAndItemVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 主键
*/
@Schema
(
description
=
"主键"
,
name
=
"id"
)
private
String
id
;
/**
* 工资表id
*/
@Schema
(
description
=
"工资表id"
,
name
=
"salaryFormId"
)
private
String
salaryFormId
;
/**
* 工资月
*/
@Schema
(
description
=
"工资月"
,
name
=
"salaryDate"
)
private
String
salaryDate
;
/**
* 员工姓名
*/
@Schema
(
description
=
"员工姓名"
,
name
=
"empName"
)
private
String
empName
;
/**
* 员工身份证号
*/
@Schema
(
description
=
"员工身份证号"
,
name
=
"empIdcard"
)
private
String
empIdcard
;
/**
* 工资发放时间(0立即发、1暂停发)
*/
@Schema
(
description
=
"工资发放时间(0立即发、1暂停发)"
,
name
=
"salaryGiveTime"
)
private
String
salaryGiveTime
;
/**
* 发放状态 0: 未发放 1: 发放成功 2:发放失败
*/
@Schema
(
description
=
"发放状态 0: 未发放 1: 发放成功 2:发放失败"
,
name
=
"distributionFlag"
)
private
String
distributionFlag
;
/**
* 社保扣缴月份
*/
@Schema
(
description
=
"社保扣缴月份"
,
name
=
"deduSocialMonth"
)
private
String
deduSocialMonth
;
/**
* 公积金扣缴月份
*/
@Schema
(
description
=
"公积金扣缴月份"
,
name
=
"deduProvidentMonth"
)
private
String
deduProvidentMonth
;
/**
* 财务类型 0:工资;1:绩效;2:其他
*/
@Schema
(
description
=
"财务类型 0:工资;1:绩效;2:其他"
,
name
=
"salaryType"
)
private
String
salaryType
;
/**
* 结算月
*/
@Schema
(
description
=
"结算月"
,
name
=
"settlementMonth"
)
private
String
settlementMonth
;
/**
* 应发工资
*/
@Schema
(
description
=
"应发工资"
,
name
=
"relaySalary"
)
private
String
relaySalary
;
/**
* 实发工资
*/
@Schema
(
description
=
"实发工资"
,
name
=
"actualSalarySum"
)
private
String
actualSalarySum
;
/**
* 个税
*/
@Schema
(
description
=
"个税"
,
name
=
"salaryTax"
)
private
String
salaryTax
;
/**
* 年
*/
@Schema
(
description
=
"年"
,
name
=
"years"
)
private
String
years
;
/**
* 单位社保
*/
@Schema
(
description
=
"单位社保"
,
name
=
"unitSocial"
)
private
String
unitSocial
;
/**
* 个人社保
*/
@Schema
(
description
=
"个人社保"
,
name
=
"personalSocial"
)
private
String
personalSocial
;
/**
* 单位公积金
*/
@Schema
(
description
=
"单位公积金"
,
name
=
"unitFund"
)
private
String
unitFund
;
/**
* 个人公积金
*/
@Schema
(
description
=
"个人公积金"
,
name
=
"personalFund"
)
private
String
personalFund
;
/**
* 发放时间
*/
@Schema
(
description
=
"发放时间"
,
name
=
"revenueTime"
)
private
Date
revenueTime
;
/**
* 工资组成部分明细
*/
private
List
<
TSalaryAccountItem
>
saiList
=
new
ArrayList
<>();
}
yifu-salary/yifu-salary-api/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/vo/SettlementFormVo.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
vo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
/**
* @Description: B端-结算单Vo
* @Author: hgw
* @Date: 2020-8-21 11:31:03
* @return:
**/
@Getter
@Setter
public
class
SettlementFormVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/*
* 工资月份
**/
@Schema
(
description
=
"工资月份"
,
name
=
"salaryMonth"
)
private
String
salaryMonth
;
/*
* 发薪人次
**/
@Schema
(
description
=
"发薪人次"
,
name
=
"personTime"
)
private
String
personTime
;
/*
* 应发工资
**/
@Schema
(
description
=
"应发工资"
,
name
=
"salarySum"
)
private
String
salarySum
;
/*
* 实发工资
**/
@Schema
(
description
=
"实发工资"
,
name
=
"cardPay"
)
private
String
cardPay
;
/*
* 年
**/
@Schema
(
description
=
"年"
,
name
=
"years"
)
private
String
years
;
/*
* 人工成本
**/
@Schema
(
description
=
"人工成本"
,
name
=
"laborCosts"
)
private
String
laborCosts
;
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/controller/BusinessSalaryController.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
salary
.
controller
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
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.constant.ServiceNameConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil
;
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.dapr.util.MenuUtil
;
import
com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccountItem
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryStandard
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountItemService
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountService
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryStandardService
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryAccountAndItemVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.SettlementFormVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryStandardSearchVo
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.AllArgsConstructor
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.Date
;
import
java.util.List
;
/**
* B端工资接口
*
* @author hgw
* @date 2020-8-19 09:39:06
*/
@RestController
@AllArgsConstructor
@RequestMapping
(
"/customerBusiness/businessSalary"
)
@Tag
(
name
=
"B端工资接口"
)
public
class
BusinessSalaryController
{
// 工资表服务
private
final
TSalaryStandardService
tSalaryStandardService
;
// 工资报表服务
private
final
TSalaryAccountService
tSalaryAccountService
;
// 工资明细
private
final
TSalaryAccountItemService
tSalaryAccountItemService
;
private
final
MenuUtil
menuUtil
;
// 工资明细属性
private
static
final
String
JAVA_FIED_NAME
=
"JAVA_FIED_NAME"
;
// 应发
private
static
final
String
RELAY_SALARY
=
"relaySalary"
;
// 实发
private
static
final
String
ACTUAL_SALARY_SUM
=
"actualSalarySum"
;
// 个税
private
static
final
String
SALARY_TAX
=
"salaryTax"
;
// 单位社保
private
static
final
String
UNIT_SOCIAL
=
"unitSocial"
;
// 个人社保
private
static
final
String
PERSONAL_SOCIAL
=
"personalSocial"
;
// 单位社保
private
static
final
String
UNIT_FUND
=
"unitFund"
;
// 个人公积金
private
static
final
String
PERSONAL_FUND
=
"personalFund"
;
/**
* @param page 分页
* @param settlementFormVo 结算单vo
* @Description: B端薪酬第一个统计列表
* @Author: hgw
* @Date: 2020-8-21 16:17:51
* @return: com.yifu.cloud.v1.common.core.util.R<com.baomidou.mybatisplus.core.metadata.IPage < com.yifu.cloud.v1.hrms.api.vo.SettlementFormVo>>
**/
@Operation
(
description
=
"1薪酬首列表-分页查询"
)
@GetMapping
(
"/getSettlementFormVoPage"
)
public
R
<
IPage
<
SettlementFormVo
>>
getSettlementFormVoPage
(
Page
<
SettlementFormVo
>
page
,
SettlementFormVo
settlementFormVo
)
{
if
(
Boolean
.
TRUE
.
equals
(
Common
.
isEmpty
(
settlementFormVo
.
getYears
())))
{
// 当前年份
String
curYear
=
DateUtil
.
getYear
(
new
Date
());
settlementFormVo
.
setYears
(
curYear
);
}
YifuUser
user
=
SecurityUtils
.
getUser
();
if
(
user
==
null
)
{
return
R
.
failed
(
"请登录!"
);
}
List
<
String
>
settleDepartIdList
=
null
;
if
(!
SecurityUtils
.
isHaveAllOrg
(
ServiceNameConstants
.
CLIENT_ID_HR_B
,
user
))
{
settleDepartIdList
=
user
.
getSettleIdList
();
if
(
settleDepartIdList
==
null
||
settleDepartIdList
.
isEmpty
())
{
return
R
.
failed
(
"无结算主体权限,请联系管理员分配!"
);
}
}
return
new
R
<>(
tSalaryAccountService
.
getSettlementFormVoPage
(
page
,
settlementFormVo
,
settleDepartIdList
));
}
/**
* @param page 分页信息
* @param tSalaryStandard 工资表
* @Description: 工资列表-分页查询
* @Author: hgw
* @Date: 2020-8-21 16:17:45
* @return: com.yifu.cloud.v1.common.core.util.R<com.baomidou.mybatisplus.core.metadata.IPage < com.yifu.cloud.v1.hrms.api.entity.TSalaryStandard>>
**/
@Operation
(
description
=
"2工资列表-分页查询(salaryMonth必传)"
)
@GetMapping
(
"/getSalaryStandardPage"
)
public
R
<
IPage
<
TSalaryStandard
>>
getSalaryStandardPage
(
Page
<
TSalaryStandard
>
page
,
TSalaryStandardSearchVo
tSalaryStandard
,
String
createTimeStart
,
String
createTimeEnd
,
String
revenueTimeStart
,
String
revenueTimeEnd
)
{
if
(
Boolean
.
TRUE
.
equals
(
Common
.
isEmpty
(
tSalaryStandard
.
getSalaryMonth
())))
{
tSalaryStandard
.
setSalaryMonth
(
"-1"
);
}
tSalaryStandard
.
setDeleteFlag
(
CommonConstants
.
ZERO_INT
);
YifuUser
user
=
SecurityUtils
.
getUser
();
menuUtil
.
setAuthSql
(
user
,
tSalaryStandard
);
return
new
R
<>(
tSalaryStandardService
.
getTSalaryStandardPageApply
(
page
,
tSalaryStandard
));
}
/**
* 工资详情-报账列表-分页查询
*
* @param page 分页对象
* @param salaryAccountAndItemVo 工资详情-报账列表-分页查询
* @return
* @Author: hgw
* @Date: 2020-8-21 16:16:24
*/
@Operation
(
description
=
"3工资详情-报账列表-分页查询(salaryFormId必传)"
)
@GetMapping
(
"/getSalaryAccountAndItemVoPage"
)
public
R
<
IPage
<
SalaryAccountAndItemVo
>>
getSalaryAccountPage
(
Page
<
SalaryAccountAndItemVo
>
page
,
SalaryAccountAndItemVo
salaryAccountAndItemVo
)
{
if
(
Boolean
.
TRUE
.
equals
(
Common
.
isEmpty
(
salaryAccountAndItemVo
.
getSalaryFormId
())))
{
salaryAccountAndItemVo
.
setSalaryFormId
(
CommonConstants
.
ZERO_STRING
);
}
// 分页报账以及详情数据
IPage
<
SalaryAccountAndItemVo
>
accountPage
=
getSalaryAccountAndItemVoIPage
(
page
,
salaryAccountAndItemVo
);
return
new
R
<>(
accountPage
);
}
/**
* @param salaryAccountId 报账id
* @Description: 获取报账明细
* @Author: hgw
* @Date: 2020/8/21 17:39
* @return: java.util.List<com.yifu.cloud.v1.hrms.api.entity.TSalaryAccountItem>
**/
private
List
<
TSalaryAccountItem
>
gettSalaryAccountItemList
(
String
salaryAccountId
)
{
TSalaryAccountItem
item
=
new
TSalaryAccountItem
();
item
.
setSalaryAccountId
(
salaryAccountId
);
QueryWrapper
<
TSalaryAccountItem
>
queryWrapperAi
=
new
QueryWrapper
<>();
queryWrapperAi
.
setEntity
(
item
);
queryWrapperAi
.
ne
(
JAVA_FIED_NAME
,
RELAY_SALARY
);
queryWrapperAi
.
ne
(
JAVA_FIED_NAME
,
ACTUAL_SALARY_SUM
);
queryWrapperAi
.
ne
(
JAVA_FIED_NAME
,
SALARY_TAX
);
queryWrapperAi
.
ne
(
JAVA_FIED_NAME
,
UNIT_SOCIAL
);
queryWrapperAi
.
ne
(
JAVA_FIED_NAME
,
PERSONAL_SOCIAL
);
queryWrapperAi
.
ne
(
JAVA_FIED_NAME
,
UNIT_FUND
);
queryWrapperAi
.
ne
(
JAVA_FIED_NAME
,
PERSONAL_FUND
);
return
tSalaryAccountItemService
.
list
(
queryWrapperAi
);
}
/**
* 工资详情-报账列表-分页查询
*
* @param page 分页对象
* @param salaryAccountAndItemVo 工资详情-报账列表-分页查询
* @return
* @Author: hgw
* @Date: 2020-8-21 16:16:24
*/
@Operation
(
description
=
"3.2人员-报账列表(empIdcard必传)"
)
@GetMapping
(
"/getAccountByIdCardPage"
)
public
R
<
IPage
<
SalaryAccountAndItemVo
>>
getAccountByIdCardPage
(
Page
<
SalaryAccountAndItemVo
>
page
,
SalaryAccountAndItemVo
salaryAccountAndItemVo
)
{
if
(
Boolean
.
TRUE
.
equals
(
Common
.
isEmpty
(
salaryAccountAndItemVo
.
getEmpIdcard
())))
{
salaryAccountAndItemVo
.
setEmpIdcard
(
"-1"
);
}
if
(
Boolean
.
TRUE
.
equals
(
Common
.
isEmpty
(
salaryAccountAndItemVo
.
getYears
())))
{
// 当前年份
String
curYear
=
DateUtil
.
getYear
(
new
Date
());
salaryAccountAndItemVo
.
setYears
(
curYear
);
}
// 发放状态 0: 未发放 1: 发放成功 2:发放失败
salaryAccountAndItemVo
.
setDistributionFlag
(
CommonConstants
.
ONE_STRING
);
// 分页报账以及详情数据
IPage
<
SalaryAccountAndItemVo
>
accountPage
=
getSalaryAccountAndItemVoIPage
(
page
,
salaryAccountAndItemVo
);
return
new
R
<>(
accountPage
);
}
/**
* @param page 分页
* @param salaryAccountAndItemVo 报账信息
* @Description: 获取报账分页数据
* @Author: hgw
* @Date: 2020/8/21 17:42
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.yifu.cloud.v1.hrms.api.vo.SalaryAccountAndItemVo>
**/
private
IPage
<
SalaryAccountAndItemVo
>
getSalaryAccountAndItemVoIPage
(
Page
<
SalaryAccountAndItemVo
>
page
,
SalaryAccountAndItemVo
salaryAccountAndItemVo
)
{
IPage
<
SalaryAccountAndItemVo
>
accountPage
=
tSalaryAccountService
.
getSalaryAccountAndItemVoPage
(
page
,
salaryAccountAndItemVo
);
// 报账列表
List
<
SalaryAccountAndItemVo
>
accountList
=
accountPage
.
getRecords
();
if
(
accountList
!=
null
&&
!
accountList
.
isEmpty
())
{
// 获取报账明细
for
(
SalaryAccountAndItemVo
a
:
accountList
)
{
a
.
setSaiList
(
gettSalaryAccountItemList
(
a
.
getId
()));
}
}
return
accountPage
;
}
/**
* @param salaryFormId 工资id
* @Description: 工资详情-上面的统计
* @Author: hgw
* @Date: 2020/8/21 17:54
* @return: com.yifu.cloud.v1.common.core.util.R<com.yifu.cloud.v1.hrms.api.vo.SettlementFormVo>
**/
@Operation
(
description
=
"3.3工资详情-上面的统计(salaryFormId必传)"
)
@GetMapping
(
"/getSettlementStasticsBySalaryFormId"
)
public
R
<
SettlementFormVo
>
getSettlementStasticsBySalaryFormId
(
String
salaryFormId
)
{
if
(
Boolean
.
TRUE
.
equals
(
Common
.
isEmpty
(
salaryFormId
)))
{
salaryFormId
=
CommonConstants
.
ZERO_STRING
;
}
// 分页报账以及详情数据
SettlementFormVo
settlementFormVo
=
tSalaryAccountService
.
getSettlementFormVoBySalaryFormId
(
salaryFormId
);
return
new
R
<>(
settlementFormVo
);
}
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/mapper/TSalaryAccountMapper.java
View file @
020a113e
...
...
@@ -24,6 +24,8 @@ import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpSalaryParamVo;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.THaveSalaryNosocial
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.AccountCheckVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryAccountAndItemVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.SettlementFormVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryAccountSearchVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -129,4 +131,36 @@ public interface TSalaryAccountMapper extends BaseMapper<TSalaryAccount> {
* @return: void
**/
void
backSalaryBySalaryId
(
@Param
(
"salaryId"
)
String
salaryId
);
/**
* @param page 分页
* @param settlementFormVo 结算单Vo
* @Description: B端薪酬第一个统计列表
* @Author: hgw
* @Date: 2020/8/21 11:38
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.yifu.cloud.v1.hrms.api.vo.SettlementFormVo>
**/
IPage
<
SettlementFormVo
>
getSettlementFormVoPage
(
Page
<
SettlementFormVo
>
page
,
@Param
(
"settlementFormVo"
)
SettlementFormVo
settlementFormVo
,
@Param
(
"settleDepartIdList"
)
List
<
String
>
settleDepartIdList
);
/**
* @param salaryFormId 结算单id
* @Description: 工资详情-上面的统计
* @Author: hgw
* @Date: 2020-8-21 17:55:24
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.yifu.cloud.v1.hrms.api.vo.SettlementFormVo>
**/
SettlementFormVo
getSettlementFormVoBySalaryFormId
(
@Param
(
"salaryFormId"
)
String
salaryFormId
);
/**
* @param page
* @param salaryAccountAndItemVo
* @Description: 获取报账以及薪资
* @Author: hgw
* @Date: 2020/8/21 15:32
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.yifu.cloud.v1.hrms.api.vo.SalaryAccountAndItemVo>
**/
IPage
<
SalaryAccountAndItemVo
>
getSalaryAccountAndItemVoPage
(
Page
<
SalaryAccountAndItemVo
>
page
,
@Param
(
"salaryAccountAndItemVo"
)
SalaryAccountAndItemVo
salaryAccountAndItemVo
);
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/TSalaryAccountService.java
View file @
020a113e
...
...
@@ -24,6 +24,8 @@ import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpSalaryParamVo;
import
com.yifu.cloud.plus.v1.yifu.insurances.vo.EkpSocialViewVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.THaveSalaryNosocial
;
import
com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryAccountAndItemVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.SettlementFormVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryAccountSearchVo
;
import
javax.servlet.http.HttpServletResponse
;
...
...
@@ -133,4 +135,35 @@ public interface TSalaryAccountService extends IService<TSalaryAccount> {
* @return: R
**/
void
updateSalarySettleStatus
(
List
<
EkpSocialViewVo
>
viewVo
);
/**
* @param page 分页
* @param settlementFormVo 结算单Vo
* @Description: B端薪酬第一个统计列表
* @Author: hgw
* @Date: 2020/8/21 11:38
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.yifu.cloud.v1.hrms.api.vo.SettlementFormVo>
**/
IPage
<
SettlementFormVo
>
getSettlementFormVoPage
(
Page
<
SettlementFormVo
>
page
,
SettlementFormVo
settlementFormVo
,
List
<
String
>
settleDepartIdList
);
/**
* @param salaryFormId 结算单id
* @Description: 工资详情-上面的统计
* @Author: hgw
* @Date: 2020-8-21 17:55:24
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.yifu.cloud.v1.hrms.api.vo.SettlementFormVo>
**/
SettlementFormVo
getSettlementFormVoBySalaryFormId
(
String
salaryFormId
);
/**
* @param page
* @param salaryAccountAndItemVo
* @Description: 获取报账以及薪资
* @Author: hgw
* @Date: 2020/8/21 15:32
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.yifu.cloud.v1.hrms.api.vo.SalaryAccountAndItemVo>
**/
IPage
<
SalaryAccountAndItemVo
>
getSalaryAccountAndItemVoPage
(
Page
<
SalaryAccountAndItemVo
>
page
,
SalaryAccountAndItemVo
salaryAccountAndItemVo
);
}
yifu-salary/yifu-salary-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/salary/service/impl/TSalaryAccountServiceImpl.java
View file @
020a113e
...
...
@@ -34,6 +34,8 @@ import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount;
import
com.yifu.cloud.plus.v1.yifu.salary.mapper.TSalaryAccountMapper
;
import
com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccountService
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.AccountCheckVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryAccountAndItemVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.SettlementFormVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryAccountSearchVo
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Service
;
...
...
@@ -255,4 +257,44 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper,
}
}
/**
* @param page 分页
* @param settlementFormVo 结算单Vo
* @Description: B端薪酬第一个统计列表
* @Author: hgw
* @Date: 2020/8/21 11:38
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.yifu.cloud.v1.hrms.api.vo.SettlementFormVo>
**/
@Override
public
IPage
<
SettlementFormVo
>
getSettlementFormVoPage
(
Page
<
SettlementFormVo
>
page
,
SettlementFormVo
settlementFormVo
,
List
<
String
>
settleDepartIdList
){
return
baseMapper
.
getSettlementFormVoPage
(
page
,
settlementFormVo
,
settleDepartIdList
);
}
/**
* @param salaryFormId 结算单id
* @Description: 工资详情-上面的统计
* @Author: hgw
* @Date: 2020-8-21 17:55:24
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.yifu.cloud.v1.hrms.api.vo.SettlementFormVo>
**/
@Override
public
SettlementFormVo
getSettlementFormVoBySalaryFormId
(
String
salaryFormId
)
{
return
baseMapper
.
getSettlementFormVoBySalaryFormId
(
salaryFormId
);
}
/**
* @param page
* @param salaryAccountAndItemVo
* @Description: 获取报账以及薪资
* @Author: hgw
* @Date: 2020/8/21 15:32
* @return: com.baomidou.mybatisplus.core.metadata.IPage<com.yifu.cloud.v1.hrms.api.vo.SalaryAccountAndItemVo>
**/
@Override
public
IPage
<
SalaryAccountAndItemVo
>
getSalaryAccountAndItemVoPage
(
Page
<
SalaryAccountAndItemVo
>
page
,
SalaryAccountAndItemVo
salaryAccountAndItemVo
)
{
return
baseMapper
.
getSalaryAccountAndItemVoPage
(
page
,
salaryAccountAndItemVo
);
}
}
yifu-salary/yifu-salary-biz/src/main/resources/mapper/TSalaryAccountMapper.xml
View file @
020a113e
...
...
@@ -98,6 +98,37 @@
<result
property=
"payCollectFlag"
column=
"PAY_SETTLE_FLAG"
/>
</resultMap>
<!-- B端薪酬第一个统计列表 -->
<resultMap
id=
"settlementFormVoMap"
type=
"com.yifu.cloud.plus.v1.yifu.salary.vo.SettlementFormVo"
>
<result
property=
"salaryMonth"
column=
"SALARY_MONTH"
/>
<result
property=
"personTime"
column=
"PERSON_TIME"
/>
<result
property=
"salarySum"
column=
"SALARY_SUM"
/>
<result
property=
"cardPay"
column=
"CARD_PAY"
/>
<result
property=
"laborCosts"
column=
"LABOR_COSTS"
/>
</resultMap>
<!-- B端工资报账信息 -->
<resultMap
id=
"salaryAccountAndItemVoMap"
type=
"com.yifu.cloud.plus.v1.yifu.salary.vo.SalaryAccountAndItemVo"
>
<id
property=
"id"
column=
"ID"
/>
<result
property=
"salaryDate"
column=
"SALARY_DATE"
/>
<result
property=
"empName"
column=
"EMP_NAME"
/>
<result
property=
"empIdcard"
column=
"EMP_IDCARD"
/>
<result
property=
"salaryGiveTime"
column=
"SALARY_GIVE_TIME"
/>
<result
property=
"distributionFlag"
column=
"DISTRIBUTION_FLAG"
/>
<result
property=
"deduSocialMonth"
column=
"DEDU_SOCIAL_MONTH"
/>
<result
property=
"deduProvidentMonth"
column=
"DEDU_PROVIDENT_MONTH"
/>
<result
property=
"salaryType"
column=
"SALARY_TYPE"
/>
<result
property=
"settlementMonth"
column=
"SETTLEMENT_MONTH"
/>
<result
property=
"relaySalary"
column=
"RELAY_SALARY"
/>
<result
property=
"actualSalarySum"
column=
"ACTUAL_SALARY_SUM"
/>
<result
property=
"salaryTax"
column=
"SALARY_TAX"
/>
<result
property=
"unitSocial"
column=
"UNIT_SOCIAL"
/>
<result
property=
"personalSocial"
column=
"PERSONAL_SOCIAL"
/>
<result
property=
"unitFund"
column=
"UNIT_FUND"
/>
<result
property=
"personalFund"
column=
"PERSONAL_FUND"
/>
<result
property=
"revenueTime"
column=
"REVENUE_TIME"
/>
</resultMap>
<!-- 对接EKP的参数 -->
<resultMap
id=
"ekpSalaryParamVoMap"
type=
"com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpSalaryParamVo"
>
<result
property=
"fd_3b10af838eab5c"
column=
"fd_3b10af838eab5c"
/>
...
...
@@ -848,4 +879,79 @@
<update
id=
"backSalaryBySalaryId"
>
update t_salary_account a set a.SEND_STATUS = '0' where a.SALARY_FORM_ID = #{salaryId}
</update>
<!-- B端薪酬第一个统计列表 -->
<select
id=
"getSettlementFormVoPage"
resultMap=
"settlementFormVoMap"
>
select s.SALARY_MONTH,count(1) PERSON_TIME,sum(ifnull(s.RELAY_SALARY,0)) SALARY_SUM,sum(ifnull(s.ACTUAL_SALARY,0)) CARD_PAY
from t_salary_account s
where s.SALARY_MONTH like '${settlementFormVo.years}%'
<if
test=
"settleDepartIdList != null"
>
AND s.DEPT_ID in
<foreach
collection=
"settleDepartIdList"
item=
"ids"
open=
"("
separator=
","
close=
")"
>
#{ids}
</foreach>
</if>
and s.DELETE_FLAG=0
GROUP BY s.SALARY_MONTH desc
</select>
<!-- B端工资详情-上面的统计 -->
<select
id=
"getSettlementFormVoBySalaryFormId"
resultMap=
"settlementFormVoMap"
>
SELECT
count(1) PERSON_TIME,
sum(ifnull(s.RELAY_SALARY,0)) SALARY_SUM,
sum(ifnull(s.ACTUAL_SALARY,0)) CARD_PAY,
sum(ifnull(s.RELAY_SALARY,0)) + sum(ifnull(s.UNIT_SOCIAL, 0)) + sum(ifnull(s.UNIT_FUND, 0)) LABOR_COSTS
FROM
t_salary_account s
where s.SALARY_FORM_ID = #{salaryFormId}
GROUP BY s.SALARY_FORM_ID
</select>
<!--获取报账以及薪资 -->
<select
id=
"getSalaryAccountAndItemVoPage"
resultMap=
"salaryAccountAndItemVoMap"
>
select a.id,a.SALARY_MONTH SALARY_DATE,a.EMP_NAME,a.EMP_IDCARD,a.SALARY_GIVE_TIME
,a.DISTRIBUTION_FLAG,a.DEDU_SOCIAL_MONTH,a.DEDU_PROVIDENT_MONTH
,a.FORM_TYPE SALARY_TYPE,a.SETTLEMENT_MONTH
,a.RELAY_SALARY RELAY_SALARY
,a.ACTUAL_SALARY ACTUAL_SALARY_SUM
,a.SALARY_TAX SALARY_TAX
,a.UNIT_SOCIAL UNIT_SOCIAL
,a.PERSON_SOCIAL PERSONAL_SOCIAL
,a.UNIT_FUND UNIT_FUND
,a.PERSON_FUND PERSONAL_FUND
,a.SEND_TIME REVENUE_TIME
from t_salary_account a
where a.DELETE_FLAG = 0
<if
test=
"salaryAccountAndItemVo.salaryFormId != null and salaryAccountAndItemVo.salaryFormId.trim() != ''"
>
AND a.SALARY_FORM_ID = #{salaryAccountAndItemVo.salaryFormId}
</if>
<if
test=
"salaryAccountAndItemVo.empName != null and salaryAccountAndItemVo.empName.trim() != ''"
>
AND a.EMP_NAME = #{salaryAccountAndItemVo.empName}
</if>
<if
test=
"salaryAccountAndItemVo.empIdcard != null and salaryAccountAndItemVo.empIdcard.trim() != ''"
>
AND a.EMP_IDCARD = #{salaryAccountAndItemVo.empIdcard}
</if>
<if
test=
"salaryAccountAndItemVo.salaryGiveTime != null and salaryAccountAndItemVo.salaryGiveTime.trim() != ''"
>
AND a.SALARY_GIVE_TIME = #{salaryAccountAndItemVo.salaryGiveTime}
</if>
<if
test=
"salaryAccountAndItemVo.distributionFlag != null and salaryAccountAndItemVo.distributionFlag.trim() != ''"
>
AND a.DISTRIBUTION_FLAG = #{salaryAccountAndItemVo.distributionFlag}
</if>
<if
test=
"salaryAccountAndItemVo.deduSocialMonth != null and salaryAccountAndItemVo.deduSocialMonth.trim() != ''"
>
AND a.DEDU_SOCIAL_MONTH = #{salaryAccountAndItemVo.deduSocialMonth}
</if>
<if
test=
"salaryAccountAndItemVo.deduProvidentMonth != null and salaryAccountAndItemVo.deduProvidentMonth.trim() != ''"
>
AND a.DEDU_PROVIDENT_MONTH = #{salaryAccountAndItemVo.deduProvidentMonth}
</if>
<if
test=
"salaryAccountAndItemVo.salaryType != null and salaryAccountAndItemVo.salaryType.trim() != ''"
>
AND a.FORM_TYPE = #{salaryAccountAndItemVo.salaryType}
</if>
<if
test=
"salaryAccountAndItemVo.settlementMonth != null and salaryAccountAndItemVo.settlementMonth.trim() != ''"
>
AND a.SETTLEMENT_MONTH = #{salaryAccountAndItemVo.settlementMonth}
</if>
<if
test=
"salaryAccountAndItemVo.years != null and salaryAccountAndItemVo.years.trim() != ''"
>
AND a.SALARY_MONTH like concat(#{salaryAccountAndItemVo.years},'%')
</if>
</select>
</mapper>
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/entity/TPaymentInfo.java
View file @
020a113e
...
...
@@ -714,5 +714,11 @@ public class TPaymentInfo extends BaseEntity {
@ExcelIgnore
private
String
bjSameFlg
;
/**
* B端按年查询专用
*/
@TableField
(
exist
=
false
)
@ExcelIgnore
private
String
likeYear
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/FundAddAndReduceVo.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
vo
;
import
lombok.Data
;
/**
* 返回公积金派增和派减数据
* @Author fxj
* @Date 2020-08-25
**/
@Data
public
class
FundAddAndReduceVo
{
/**
* 公积金办理单位
**/
private
String
fundHouse
;
/**
* 公积金缴纳地-省
**/
private
Integer
fundProvince
;
/**
* 公积金缴纳地-市
**/
private
Integer
fundCity
;
/**
* 公积金缴纳地-县
**/
private
Integer
fundTown
;
/**
* 公积金办理单位-派减
**/
private
String
fundHouseReduce
;
/**
* 公积金缴纳地-省-派减
**/
private
Integer
fundProvinceReduce
;
/**
* 公积金缴纳地-市-派减
**/
private
Integer
fundCityReduce
;
/**
* 公积金缴纳地-县-派减
**/
private
Integer
fundTownReduce
;
/**
* 公积金派增办理状态 0 派单开始 1办理成功 2办理失败
**/
private
String
fundAddStatus
;
/**
* 公积金派减办理状态 0 派单开始 1 办理成功 2 办理失败
**/
private
String
fundReduceStatus
;
/**
* 公积金派增时间
**/
private
String
fundStartDate
;
/**
* 公积金派减时间
**/
private
String
fundEndDate
;
/**
* 公积金派增派单时间
**/
private
String
fundAddDispatchDate
;
/**
* 公积金派减派单时间
**/
private
String
fundReduceDispatchDate
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/PaymentBusinessPageDetail.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
vo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* 获取对应单位或结算主体权限下的缴费库统计情况
* @Author fxj
* @Date 2020-08-31
**/
@Data
public
class
PaymentBusinessPageDetail
{
/**
* 账单人数 退费不计数
**/
@Schema
(
description
=
"账单人数"
,
name
=
"personalSum"
)
private
Integer
personalCount
;
/**
* 增员
**/
@Schema
(
description
=
"增员"
,
name
=
"personalSum"
)
private
Integer
personalAdd
;
/**
* 减员
**/
@Schema
(
description
=
"减员"
,
name
=
"personalSum"
)
private
Integer
personalReduce
;
/**
* 个人合计
**/
@Schema
(
description
=
"个人合计"
,
name
=
"personalSum"
)
private
BigDecimal
personalSum
;
/**
* 单位合计
**/
@Schema
(
description
=
"单位合计"
,
name
=
"unitSum"
)
private
BigDecimal
unitSum
;
/**
* 合计
**/
@Schema
(
description
=
"合计"
,
name
=
"sum"
)
private
BigDecimal
sum
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/PaymentBusinessPageVo.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
vo
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* 个人社保公积金账单列表对象
* @Author fxj
* @Date 2020-08-25
**/
@Data
public
class
PaymentBusinessPageVo
{
/**
* 员工姓名
**/
@Schema
(
description
=
"员工姓名"
,
name
=
"empName"
)
private
String
empName
;
/**
* 员工ID
**/
@Schema
(
description
=
"员工ID"
,
name
=
"empName"
)
private
String
empId
;
/**
* 缴费月份
**/
@Schema
(
description
=
"缴费月份"
,
name
=
"month"
)
private
String
month
;
/**
* 结算主体ID
**/
private
String
settleDomainId
;
/**
* 社保个人缴费
**/
@Schema
(
description
=
"社保个人缴费"
,
name
=
"socialPersonalSum"
)
private
BigDecimal
socialPersonalSum
;
/**
* 社保公司合计
**/
@Schema
(
description
=
"社保公司合计"
,
name
=
"socialUnitSum"
)
private
BigDecimal
socialUnitSum
;
/**
* 公积金个人合计
**/
@Schema
(
description
=
"公积金个人合计"
,
name
=
"fundPersonalSum"
)
private
BigDecimal
fundPersonalSum
;
/**
* 公积金公司合计
**/
@Schema
(
description
=
"公积金公司合计"
,
name
=
"fundUnitSum"
)
private
BigDecimal
fundUnitSum
;
/**
* 个人合计
**/
@Schema
(
description
=
"个人合计"
,
name
=
"personalSum"
)
private
BigDecimal
personalSum
;
/**
* 单位合计
**/
@Schema
(
description
=
"单位合计"
,
name
=
"unitSum"
)
private
BigDecimal
unitSum
;
/**
* 合计
**/
@Schema
(
description
=
"合计"
,
name
=
"sum"
)
private
BigDecimal
sum
;
/***************************社保明细**************************/
/**
* 单位社保补缴利息
*/
@Schema
(
description
=
"单位社保补缴利息"
,
name
=
"companyAccrual"
)
private
BigDecimal
companyAccrual
;
/**
* 个人社保补缴利息
*/
@Schema
(
description
=
"个人社保补缴利息"
,
name
=
"personalAccrual"
)
private
BigDecimal
personalAccrual
;
/**
* 单位养老基数
*/
@Schema
(
description
=
"养老基数"
,
name
=
"unitPensionSet"
)
private
BigDecimal
unitPensionSet
;
/**
* 单位医疗基数
*/
@Schema
(
description
=
"医保基数"
,
name
=
"unitMedicalSet"
)
private
BigDecimal
unitMedicalSet
;
/**
* 单位失业基数
*/
@Schema
(
description
=
"失业基数"
,
name
=
"unitUnemploymentSet"
)
private
BigDecimal
unitUnemploymentSet
;
/**
* 单位工伤基数
*/
@Schema
(
description
=
"工伤基数"
,
name
=
"unitInjurySet"
)
private
BigDecimal
unitInjurySet
;
/**
* 单位生育基数
*/
@Schema
(
description
=
"生育基数"
,
name
=
"unitBirthSet"
)
private
BigDecimal
unitBirthSet
;
/**
* 个人养老基数
*/
@Schema
(
description
=
"个人养老基数"
,
name
=
"personalPensionSet"
)
private
BigDecimal
personalPensionSet
;
/**
* 个人医疗基数
*/
@Schema
(
description
=
"个人医疗基数"
,
name
=
"personalMedicalSet"
)
private
BigDecimal
personalMedicalSet
;
/**
* 个人失业基数
*/
@Schema
(
description
=
"个人失业基数"
,
name
=
"personalUnemploymentSet"
)
private
BigDecimal
personalUnemploymentSet
;
/**
* 单位养老比例
*/
@Schema
(
description
=
"单位养老比例"
,
name
=
"unitPensionPer"
)
private
BigDecimal
unitPensionPer
;
/**
* 单位医疗比例
*/
@Schema
(
description
=
"单位医疗比例"
,
name
=
"unitMedicalPer"
)
private
BigDecimal
unitMedicalPer
;
/**
* 单位失业比例
*/
@Schema
(
description
=
"单位失业比例"
,
name
=
"unitUnemploymentPer"
)
private
BigDecimal
unitUnemploymentPer
;
/**
* 单位工伤比例
*/
@Schema
(
description
=
"单位工伤比例"
,
name
=
"unitInjuryPer"
)
private
BigDecimal
unitInjuryPer
;
/**
* 单位生育比例
*/
@Schema
(
description
=
"单位生育比例"
,
name
=
"unitBirthPer"
)
private
BigDecimal
unitBirthPer
;
/**
* 个人养老比例
*/
@Schema
(
description
=
"个人养老比例"
,
name
=
"personalPensionPer"
)
private
BigDecimal
personalPensionPer
;
/**
* 个人医疗比例
*/
@Schema
(
description
=
"个人医疗比例"
,
name
=
"personalMedicalPer"
)
private
BigDecimal
personalMedicalPer
;
/**
* 个人失业比例
*/
@Schema
(
description
=
"个人失业比例"
,
name
=
"personalUnemploymentPer"
)
private
BigDecimal
personalUnemploymentPer
;
/**
* 单位大病比例
*/
@Schema
(
description
=
"单位大病比例"
,
name
=
"unitBigailmentPer"
)
private
BigDecimal
unitBigailmentPer
;
/**
* 个人大病比例
*/
@Schema
(
description
=
"个人大病比例"
,
name
=
"personalBigailmentPer"
)
private
BigDecimal
personalBigailmentPer
;
/**
* 单位养老金额
*/
@Schema
(
description
=
"养老单位缴费"
,
name
=
"unitPensionMoney"
)
private
BigDecimal
unitPensionMoney
;
/**
* 单位医疗金额
*/
@Schema
(
description
=
"医保单位缴费"
,
name
=
"unitMedicalMoney"
)
private
BigDecimal
unitMedicalMoney
;
/**
* 单位失业金额
*/
@Schema
(
description
=
"失业单位缴费"
,
name
=
"unitUnemploymentMoney"
)
private
BigDecimal
unitUnemploymentMoney
;
/**
* 单位工伤金额
*/
@Schema
(
description
=
"工伤缴费"
,
name
=
"unitInjuryMoney"
)
private
BigDecimal
unitInjuryMoney
;
/**
* 单位生育金额
*/
@Schema
(
description
=
"生育缴费"
,
name
=
"unitBirthMoney"
)
private
BigDecimal
unitBirthMoney
;
/**
* 单位大病金额
*/
@Schema
(
description
=
"单位医疗救助金"
,
name
=
"unitBigmailmentMoney"
)
private
BigDecimal
unitBigmailmentMoney
;
/**
* 个人养老金额
*/
@Schema
(
description
=
"养老个人缴费"
,
name
=
"personalPensionMoney"
)
private
BigDecimal
personalPensionMoney
;
/**
* 个人医疗金额
*/
@Schema
(
description
=
"医保个人缴费"
,
name
=
"personalMedicalMoney"
)
private
BigDecimal
personalMedicalMoney
;
/**
* 个人失业金额
*/
@Schema
(
description
=
"失业个人缴费"
,
name
=
"personalUnemploymentMoney"
)
private
BigDecimal
personalUnemploymentMoney
;
/**
* 个人大病金额
*/
@Schema
(
description
=
"个人医疗救助金"
,
name
=
"personalBigmailmentMoney"
)
private
BigDecimal
personalBigmailmentMoney
;
/************************公积金明细***************************/
/**
* 公积金编号
*/
@Schema
(
description
=
"公积金编号"
,
name
=
"providentNo"
)
private
String
providentNo
;
/**
* 单位公积金基数
*/
@Schema
(
description
=
"公积金单边基数"
,
name
=
"unitProvidentSet"
)
private
BigDecimal
unitProvidentSet
;
/**
* 单边公积金比例
*/
@Schema
(
description
=
"公积金单边比例"
,
name
=
"providentPercent"
)
private
BigDecimal
providentPercent
;
/**
* 个人公积金基数
*/
@Schema
(
description
=
"个人公积金基数"
,
name
=
"personalProidentSet"
)
private
BigDecimal
personalProidentSet
;
/**
* 个人退费
*/
@Schema
(
description
=
"个人退费"
,
name
=
"personalRefund"
)
private
BigDecimal
personalRefund
;
/**
* 公司退费
*/
@Schema
(
description
=
"公司退费"
,
name
=
"unitRefund"
)
private
BigDecimal
unitRefund
;
/**
* 兼职工伤基数
*/
@Schema
(
description
=
"兼职工伤基数"
,
name
=
"injuryAloneSet"
)
private
BigDecimal
injuryAloneSet
;
/**
* 兼职工伤比例
*/
@Schema
(
description
=
"兼职工伤比例"
,
name
=
"injuryAlonePer"
)
private
BigDecimal
injuryAlonePer
;
/**
* 兼职工伤金额
*/
@Schema
(
description
=
"兼职工伤金额"
,
name
=
"injuryAloneMoney"
)
private
BigDecimal
injuryAloneMoney
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/SocialAddAndReduceVo.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
vo
;
import
lombok.Data
;
/**
* 返回社保派增和派减数据
* @Author fxj
* @Date 2020-08-25
**/
@Data
public
class
SocialAddAndReduceVo
{
/**
* 社保办理单位
**/
private
String
socialHouse
;
/**
* 社保办理单位- 派减
**/
private
String
socialHouseReduce
;
/**
* 社保缴纳地-省
**/
private
Integer
socialProvince
;
/**
* 社保缴纳地-市
**/
private
Integer
socialCity
;
/**
* 社保缴纳地-县
**/
private
Integer
socialTown
;
/**
* 社保缴纳地-省- 派减
**/
private
Integer
socialProvinceReduce
;
/**
* 社保缴纳地-市- 派减
**/
private
Integer
socialCityReduce
;
/**
* 社保缴纳地-县- 派减
**/
private
Integer
socialTownReduce
;
/**
* 社保派增办理状态 0 派单开始 1 办理中 2 办理成功 3 办理失败 4 部分办理成功
**/
private
String
socialAddStatus
;
/**
* 社保派减办理状态 0 派单开始 1 办理中 2 办理成功 3 办理失败
**/
private
String
socialReduceStatus
;
/**
* 社保派增时间
**/
private
String
socialStartDate
;
/**
* 社保派减时间
**/
private
String
socialEndDate
;
/**
* 社保派增派单时间
**/
private
String
socialAddDispatchDate
;
/**
* 社保派减派单时间
**/
private
String
socialReduceDispatchDate
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/SocialAndFundBusinessPageVo.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
vo
;
import
lombok.Data
;
import
java.math.BigDecimal
;
/**
* 社保公积金列表数据统计
* @Author fxj
* @Date 2020-08-28
**/
@Data
public
class
SocialAndFundBusinessPageVo
{
/**
* 月份
**/
private
String
month
;
/**
* 人数
**/
private
Integer
peopleCount
;
/**
* 个人缴费合计
**/
private
BigDecimal
personalSum
;
/**
* 单位缴费合计
**/
private
BigDecimal
unitSum
;
/**
* 单位ID
**/
private
String
unitId
;
/**
* 结算主体ID
**/
private
String
settleDomainId
;
/**
* 查询条件年
**/
private
String
year
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/SocialAndFundReduceBusinessVo.java
0 → 100644
View file @
020a113e
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
social
.
vo
;
import
lombok.Data
;
/**
*
* @Author fxj
* @Date 2020-09-01
**/
@Data
public
class
SocialAndFundReduceBusinessVo
{
/**
* 员工姓名
**/
private
String
empName
;
/**
* 离职日期
**/
private
String
leaveDate
;
/**
* 社保状态
**/
private
String
socialStatus
;
/**
* 公积金状态
**/
private
String
fundStatus
;
/**
* 社保派减日期
**/
private
String
socialReduceDate
;
/**
* 公积金派减日期
**/
private
String
fundReduceDate
;
}
yifu-social/yifu-social-api/src/main/java/com/yifu/cloud/plus/v1/yifu/social/vo/TPaymentAllInfoVo.java
0 → 100644
View file @
020a113e
This diff is collapsed.
Click to expand it.
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/controller/DispatchBusinessController.java
0 → 100644
View file @
020a113e
This diff is collapsed.
Click to expand it.
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/mapper/TPaymentInfoMapper.java
View file @
020a113e
...
...
@@ -24,10 +24,7 @@ import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoBatchVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoExportVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.*
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
...
...
@@ -240,4 +237,76 @@ public interface TPaymentInfoMapper extends BaseMapper<TPaymentInfo> {
*/
long
getTPaymentFundIncomeCount
(
@Param
(
"tPaymentInfo"
)
TPaymentInfoSearchVo
searchVo
,
@Param
(
"userId"
)
String
userId
);
/**
* B端使用,查询缴费库信息
* @Author fxj
* @Date 2019-10-12
* @param paymentInfo
* @param settleDomainIds
* @param idsStr
* @param empIds
* @return
**/
List
<
TPaymentAllInfoVo
>
getPaymentAllInfoList
(
@Param
(
"tPaymentInfo"
)
TPaymentInfo
paymentInfo
,
@Param
(
"settleDomainIds"
)
List
<
String
>
settleDomainIds
,
@Param
(
"idsStr"
)
List
<
String
>
idsStr
,
@Param
(
"empIds"
)
List
<
String
>
empIds
);
/**
* B端社保公积金列表查询
* @Author fxj
* @Date 2020-08-28
* @param socialAndFundBusinessPageVo
* @param settleDomainIds
* @return
**/
List
<
SocialAndFundBusinessPageVo
>
getSocialAndFundBusinessDataPage
(
@Param
(
"socialAndFundBusinessPageVo"
)
SocialAndFundBusinessPageVo
socialAndFundBusinessPageVo
,
@Param
(
"settleDomainIds"
)
List
<
String
>
settleDomainIds
);
/**
* B端社保公积金列表查询
* @Author fxj
* @Date 2020-08-28
* @param socialAndFundBusinessPageVo
* @param settleDomainIds
* @return
**/
List
<
SocialAndFundBusinessPageVo
>
getSocialAndFundBusinessDataCount
(
@Param
(
"socialAndFundBusinessPageVo"
)
SocialAndFundBusinessPageVo
socialAndFundBusinessPageVo
,
@Param
(
"settleDomainIds"
)
List
<
String
>
settleDomainIds
);
// B端
List
<
String
>
getSocialOrFundAddEmpIds
(
@Param
(
"month"
)
String
month
,
@Param
(
"settleDomainId"
)
String
settleDomainId
,
@Param
(
"settleDomainIds"
)
List
<
String
>
settleDomainIds
);
// B端
IPage
<
PaymentBusinessPageVo
>
getPaymentBusinessPageVo
(
Page
page
,
@Param
(
"paymentBusinessPageVo"
)
PaymentBusinessPageVo
paymentBusinessPageVo
,
@Param
(
"settleDomainIds"
)
List
<
String
>
settleDomainIds
,
@Param
(
"empIds"
)
List
<
String
>
empIds
);
/**
* B端-获取派增社保或公积金人数
* @Author fxj
* @Date 2020-08-31
* @param month
* @param settleDomainId
* @param settleDomainIds
* @param type 0 获取所有办理成功状态的社保和公积金人数 1 获取所有本月派增办理成功的社保或公积金人数
* @return
**/
int
getSocialOrFundAddCount
(
@Param
(
"month"
)
String
month
,
@Param
(
"settleDomainId"
)
String
settleDomainId
,
@Param
(
"settleDomainIds"
)
List
<
String
>
settleDomainIds
,
@Param
(
"type"
)
Integer
type
);
/**
* B端
* @Author fxj
* @Date 2020-08-31
* @param month
* @param settleDomainId
* @param settleDomainIds
* @return
**/
int
getSocialOrFundReduceCount
(
@Param
(
"month"
)
String
month
,
@Param
(
"settleDomainId"
)
String
settleDomainId
,
@Param
(
"settleDomainIds"
)
List
<
String
>
settleDomainIds
);
IPage
<
SocialAndFundReduceBusinessVo
>
getSocialAndFundReduceInfo
(
Page
page
,
@Param
(
"month"
)
String
month
,
@Param
(
"settleDomainId"
)
String
settleDomainId
,
@Param
(
"settleDomainIds"
)
List
<
String
>
settleDomainIds
);
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/TPaymentInfoService.java
View file @
020a113e
...
...
@@ -25,9 +25,7 @@ import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo
;
import
com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TPaymentInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.ChangeDeptVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.*
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.InputStream
;
...
...
@@ -171,4 +169,65 @@ public interface TPaymentInfoService extends IService<TPaymentInfo> {
void
updateSocialSettleStatus
(
List
<
EkpSocialViewVo
>
viewVo
);
// hgw2023-1-6 10:42:06:以下:B端相关接口:
/**
* hgwB端相关接口-按年查询指定人的缴费库数据
* @Author fxj
* @Date 2020-08-25
* @param year
* @param empId
* @return
**/
List
<
PaymentBusinessPageVo
>
getPaymentByYearAndEmpId
(
String
year
,
String
empId
);
/**
* hgwB端相关接口-按年月查询指定人的缴费库数据:年月格式 yyyyMM
* @Author fxj
* @Date 2020-08-25
* @param month
* @param empId
* @return
**/
PaymentBusinessPageVo
getPaymentByMonthAndEmpId
(
String
month
,
String
empId
);
/**
* hgwB端相关接口-B端社保公积金列表查询
* @Author fxj
* @Date 2020-08-28
* @param page
* @param socialAndFundBusinessPageVo
* @param settleDomainIds
* @return
**/
List
<
SocialAndFundBusinessPageVo
>
getSocialAndFundBusinessPage
(
Page
<
SocialAndFundBusinessPageVo
>
page
,
SocialAndFundBusinessPageVo
socialAndFundBusinessPageVo
,
List
<
String
>
settleDomainIds
);
/**
* hgwB端相关接口-按月查询对应权限的缴费库数据
* @Author fxj
* @Date 2020-08-25
* @param paymentBusinessPageVo
* @param settleDomainIds
* @param type
* @return
**/
IPage
<
PaymentBusinessPageVo
>
getPaymentByMonthAndAuth
(
Page
<
PaymentBusinessPageVo
>
page
,
PaymentBusinessPageVo
paymentBusinessPageVo
,
List
<
String
>
settleDomainIds
,
String
type
);
/**
* hgwB端相关接口-按年月查询指定结算主体或权限内的缴费库数据统计
* @Author fxj
* @Date 2020-08-31
* @param month
* @param settleDomainId
* @return
**/
PaymentBusinessPageDetail
getPaymentBusinessPageDetailByMonthAndAuth
(
String
month
,
String
settleDomainId
,
List
<
String
>
settleDomainIds
);
/**
* hgwB端相关接口-查询派减的社保和公积金的分页数据
* @Author fxj
* @Date 2020-08-31
* @param page
* @param month
* @param settleDomainId
* @return
**/
IPage
<
SocialAndFundReduceBusinessVo
>
getSocialAndFundReduceInfo
(
Page
<
SocialAndFundReduceBusinessVo
>
page
,
String
month
,
String
settleDomainId
,
List
<
String
>
settleDomainIds
);
// hgw2023-1-6 10:42:06:以上:B端相关接口
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/TProvidentFundService.java
View file @
020a113e
...
...
@@ -23,6 +23,7 @@ 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.social.entity.TProvidentFund
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.FundAddAndReduceVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TProvidentFundSearchVo
;
import
javax.servlet.http.HttpServletResponse
;
...
...
@@ -47,4 +48,13 @@ public interface TProvidentFundService extends IService<TProvidentFund> {
void
listExport
(
HttpServletResponse
response
,
TProvidentFundSearchVo
searchVo
);
List
<
TProvidentFund
>
noPageDiy
(
TProvidentFundSearchVo
searchVo
);
/**
* B端使用-通过ID查询员工对应的派增派减数据
* @Author fxj
* @Date 2020-08-25
* @param empId
* @return
**/
FundAddAndReduceVo
getAddOrReduceInfoByEmpId
(
String
empId
);
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/TSocialInfoService.java
View file @
020a113e
...
...
@@ -23,6 +23,7 @@ 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.social.entity.TSocialInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.SocialAddAndReduceVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TSocialInfoSearchVo
;
import
javax.servlet.http.HttpServletResponse
;
...
...
@@ -47,4 +48,13 @@ public interface TSocialInfoService extends IService<TSocialInfo> {
void
listExport
(
HttpServletResponse
response
,
TSocialInfoSearchVo
searchVo
);
List
<
TSocialInfo
>
noPageDiy
(
TSocialInfoSearchVo
searchVo
);
/**
* B端使用-通过ID查询员工对应的派增派减数据
* @Author fxj
* @Date 2020-08-25
* @param empId
* @return
**/
SocialAddAndReduceVo
getAddOrReduceInfoByEmpId
(
String
empId
);
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/TPaymentInfoServiceImpl.java
View file @
020a113e
This diff is collapsed.
Click to expand it.
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/TProvidentFundServiceImpl.java
View file @
020a113e
...
...
@@ -33,11 +33,17 @@ 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.mybatis.base.BaseEntity
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TProvidentFund
;
import
com.yifu.cloud.plus.v1.yifu.social.mapper.SysHouseHoldInfoMapper
;
import
com.yifu.cloud.plus.v1.yifu.social.mapper.TDispatchInfoMapper
;
import
com.yifu.cloud.plus.v1.yifu.social.mapper.TProvidentFundMapper
;
import
com.yifu.cloud.plus.v1.yifu.social.service.TProvidentFundService
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.FundAddAndReduceVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TProvidentFundSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TProvidentFundVo
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Service
;
...
...
@@ -54,9 +60,15 @@ import java.util.List;
* @author fxj
* @date 2022-07-15 11:38:05
*/
@AllArgsConstructor
@Log4j2
@Service
public
class
TProvidentFundServiceImpl
extends
ServiceImpl
<
TProvidentFundMapper
,
TProvidentFund
>
implements
TProvidentFundService
{
private
final
TDispatchInfoMapper
dispatchInfoMapper
;
private
final
SysHouseHoldInfoMapper
sysHouseHoldInfoMapper
;
/**
* 公积金信息简单分页查询
* @param tProvidentFund 公积金信息
...
...
@@ -244,4 +256,141 @@ public class TProvidentFundServiceImpl extends ServiceImpl<TProvidentFundMapper,
BeanUtil
.
copyProperties
(
excel
,
insert
);
this
.
save
(
insert
);
}
/**
* 通过ID查询员工对应的派增派减数据
* @Author fxj
* @Date 2020-08-25
* @param empId
* @return
**/
@Override
public
FundAddAndReduceVo
getAddOrReduceInfoByEmpId
(
String
empId
)
{
FundAddAndReduceVo
fundAddAndReduceVo
=
new
FundAddAndReduceVo
();
TProvidentFund
fund
=
null
;
TDispatchInfo
dispatchInfoAdd
=
dispatchInfoMapper
.
selectOne
(
Wrappers
.<
TDispatchInfo
>
query
().
lambda
()
.
eq
(
TDispatchInfo:
:
getEmpId
,
empId
)
.
eq
(
TDispatchInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
)
.
eq
(
TDispatchInfo:
:
getType
,
CommonConstants
.
ZERO_STRING
)
.
isNotNull
(
TDispatchInfo:
:
getFundId
)
.
orderByDesc
(
TDispatchInfo:
:
getCreateTime
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(
null
!=
dispatchInfoAdd
){
fund
=
baseMapper
.
selectById
(
dispatchInfoAdd
.
getFundId
());
initFundAddAndReduce
(
fundAddAndReduceVo
,
fund
,
dispatchInfoAdd
);
if
(
null
!=
dispatchInfoAdd
.
getCreateTime
()){
fundAddAndReduceVo
.
setFundAddDispatchDate
(
LocalDateTimeUtils
.
formatTime
(
dispatchInfoAdd
.
getCreateTime
()
,
LocalDateTimeUtils
.
DATE_TIME_PATTERN_DEFAULT
));
}
}
TDispatchInfo
dispatchInfoReduce
=
dispatchInfoMapper
.
selectOne
(
Wrappers
.<
TDispatchInfo
>
query
().
lambda
()
.
eq
(
TDispatchInfo:
:
getEmpId
,
empId
)
.
eq
(
TDispatchInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
)
.
eq
(
TDispatchInfo:
:
getType
,
CommonConstants
.
ONE_STRING
)
.
isNotNull
(
TDispatchInfo:
:
getFundId
)
.
orderByDesc
(
TDispatchInfo:
:
getCreateTime
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(
null
!=
dispatchInfoReduce
){
fund
=
baseMapper
.
selectById
(
dispatchInfoReduce
.
getFundId
());
initFundAddAndReduce
(
fundAddAndReduceVo
,
fund
,
dispatchInfoReduce
);
if
(
Common
.
isNotNull
(
dispatchInfoReduce
.
getFundReduceDate
()))
{
fundAddAndReduceVo
.
setFundEndDate
(
DateUtil
.
formatDate
(
dispatchInfoReduce
.
getFundReduceDate
()));
}
if
(
null
!=
dispatchInfoReduce
.
getCreateTime
()){
fundAddAndReduceVo
.
setFundReduceDispatchDate
(
LocalDateTimeUtils
.
formatTime
(
dispatchInfoReduce
.
getCreateTime
(),
LocalDateTimeUtils
.
DATE_TIME_PATTERN_DEFAULT
));
}
}
return
fundAddAndReduceVo
;
}
/**
* 初始化社保派增派减数据
* @Author fxj
* @Date 2020-08-25
* @param fundAddAndReduceVo
* @param fund
* @param dispatchInfo
* @return
**/
private
void
initFundAddAndReduce
(
FundAddAndReduceVo
fundAddAndReduceVo
,
TProvidentFund
fund
,
TDispatchInfo
dispatchInfo
)
{
SysHouseHoldInfo
houseHoldInfo
=
null
;
if
(
null
!=
fund
)
{
if
(
null
!=
fund
.
getProvidentHousehold
()){
houseHoldInfo
=
sysHouseHoldInfoMapper
.
selectById
(
fund
.
getProvidentHousehold
());
}
// 派增派单状态处理 待提交和待审核都属于派单开始
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
dispatchInfo
.
getType
())){
fundAddAndReduceVo
.
setFundHouse
(
null
==
houseHoldInfo
?
""
:
houseHoldInfo
.
getName
());
fundAddAndReduceVo
.
setFundProvince
(
Common
.
isNotNull
(
fund
.
getFundProvince
())?
Integer
.
parseInt
(
fund
.
getFundProvince
()):
null
);
fundAddAndReduceVo
.
setFundCity
(
Common
.
isNotNull
(
fund
.
getFundCity
())?
Integer
.
parseInt
(
fund
.
getFundCity
()):
null
);
fundAddAndReduceVo
.
setFundTown
(
Common
.
isNotNull
(
fund
.
getFundTown
())?
Integer
.
parseInt
(
fund
.
getFundTown
()):
null
);
if
(
null
!=
fund
.
getProvidentStart
())
{
fundAddAndReduceVo
.
setFundStartDate
(
DateUtil
.
formatDate
(
fund
.
getProvidentStart
()));
}
initFundAddStatus
(
fundAddAndReduceVo
,
dispatchInfo
);
// 派减派单状态处理 待提交和待审核都属于派单开始
}
else
{
fundAddAndReduceVo
.
setFundHouseReduce
(
null
==
houseHoldInfo
?
""
:
houseHoldInfo
.
getName
());
fundAddAndReduceVo
.
setFundProvinceReduce
(
Common
.
isNotNull
(
fund
.
getFundProvince
())?
Integer
.
parseInt
(
fund
.
getFundProvince
()):
null
);
fundAddAndReduceVo
.
setFundCityReduce
(
Common
.
isNotNull
(
fund
.
getFundCity
())?
Integer
.
parseInt
(
fund
.
getFundCity
()):
null
);
fundAddAndReduceVo
.
setFundTownReduce
(
Common
.
isNotNull
(
fund
.
getFundTown
())?
Integer
.
parseInt
(
fund
.
getFundTown
()):
null
);
if
(
null
!=
fund
.
getProvidentStart
())
{
fundAddAndReduceVo
.
setFundStartDate
(
DateUtil
.
formatDate
(
fund
.
getProvidentStart
()));
}
initFundReduceStatus
(
fundAddAndReduceVo
,
dispatchInfo
);
}
}
}
/**
* 初始化公积金派减状态
* @Author fxj
* @Date 2020-08-25
* @param fundAddAndReduceVo
* @param dispatchInfo
* @return
**/
private
void
initFundReduceStatus
(
FundAddAndReduceVo
fundAddAndReduceVo
,
TDispatchInfo
dispatchInfo
)
{
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
dispatchInfo
.
getStatus
())
||
CommonConstants
.
ONE_STRING
.
equals
(
dispatchInfo
.
getStatus
())
||
CommonConstants
.
THREE_STRING
.
equals
(
dispatchInfo
.
getStatus
())
||
CommonConstants
.
TWO_STRING
.
equals
(
dispatchInfo
.
getStatus
()))
{
fundAddAndReduceVo
.
setFundReduceStatus
(
CommonConstants
.
ZERO_STRING
);
}
// 办理成功
if
(
CommonConstants
.
ONE_STRING
.
equals
(
dispatchInfo
.
getFundHandleStatus
()))
{
fundAddAndReduceVo
.
setFundReduceStatus
(
CommonConstants
.
ONE_STRING
);
}
// 办理失败
if
(
CommonConstants
.
TWO_STRING
.
equals
(
dispatchInfo
.
getFundHandleStatus
()))
{
fundAddAndReduceVo
.
setFundReduceStatus
(
CommonConstants
.
TWO_STRING
);
}
// 部分办理失败 TODO
}
/**
* 初始化公积金派增办理状态
* @Author fxj
* @Date 2020-08-25
* @param fundAddAndReduceVo
* @param dispatchInfo
* @return
**/
private
void
initFundAddStatus
(
FundAddAndReduceVo
fundAddAndReduceVo
,
TDispatchInfo
dispatchInfo
)
{
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
dispatchInfo
.
getStatus
())
||
CommonConstants
.
ONE_STRING
.
equals
(
dispatchInfo
.
getStatus
())
||
CommonConstants
.
THREE_STRING
.
equals
(
dispatchInfo
.
getStatus
())
||
CommonConstants
.
TWO_STRING
.
equals
(
dispatchInfo
.
getStatus
()))
{
fundAddAndReduceVo
.
setFundAddStatus
(
CommonConstants
.
ZERO_STRING
);
}
// 办理成功
if
(
CommonConstants
.
ONE_STRING
.
equals
(
dispatchInfo
.
getFundHandleStatus
()))
{
fundAddAndReduceVo
.
setFundAddStatus
(
CommonConstants
.
ONE_STRING
);
}
// 办理失败
if
(
CommonConstants
.
TWO_STRING
.
equals
(
dispatchInfo
.
getFundHandleStatus
()))
{
fundAddAndReduceVo
.
setFundAddStatus
(
CommonConstants
.
TWO_STRING
);
}
}
}
yifu-social/yifu-social-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/social/service/impl/TSocialInfoServiceImpl.java
View file @
020a113e
...
...
@@ -33,11 +33,17 @@ 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.mybatis.base.BaseEntity
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TDispatchInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.entity.TSocialInfo
;
import
com.yifu.cloud.plus.v1.yifu.social.mapper.SysHouseHoldInfoMapper
;
import
com.yifu.cloud.plus.v1.yifu.social.mapper.TDispatchInfoMapper
;
import
com.yifu.cloud.plus.v1.yifu.social.mapper.TSocialInfoMapper
;
import
com.yifu.cloud.plus.v1.yifu.social.service.TSocialInfoService
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.SocialAddAndReduceVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TSocialInfoSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.social.vo.TSocialInfoVo
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Service
;
...
...
@@ -54,9 +60,15 @@ import java.util.List;
* @author fxj
* @date 2022-07-15 11:38:05
*/
@AllArgsConstructor
@Log4j2
@Service
public
class
TSocialInfoServiceImpl
extends
ServiceImpl
<
TSocialInfoMapper
,
TSocialInfo
>
implements
TSocialInfoService
{
private
final
TDispatchInfoMapper
dispatchInfoMapper
;
private
final
SysHouseHoldInfoMapper
sysHouseHoldInfoMapper
;
/**
* 社保明细表简单分页查询
* @param tSocialInfo 社保明细表
...
...
@@ -114,7 +126,7 @@ public class TSocialInfoServiceImpl extends ServiceImpl<TSocialInfoMapper, TSoci
WriteSheet
writeSheet
=
EasyExcel
.
writerSheet
(
"社保明细表"
+
index
).
build
();
excelWriter
.
write
(
list
,
writeSheet
);
}
if
(
Common
.
isNotNull
(
list
)){
if
(
Common
.
isNotNull
(
list
)){
list
.
clear
();
}
out
.
flush
();
...
...
@@ -243,4 +255,177 @@ public class TSocialInfoServiceImpl extends ServiceImpl<TSocialInfoMapper, TSoci
BeanUtil
.
copyProperties
(
excel
,
insert
);
this
.
save
(
insert
);
}
/**
* 通过ID查询员工对应的派增派减数据
* @Author fxj
* @Date 2020-08-25
* @param empId
* @return
**/
@Override
public
SocialAddAndReduceVo
getAddOrReduceInfoByEmpId
(
String
empId
)
{
SocialAddAndReduceVo
socialAddAndReduceVo
=
new
SocialAddAndReduceVo
();
TSocialInfo
socialInfo
;
TDispatchInfo
dispatchInfoAdd
=
dispatchInfoMapper
.
selectOne
(
Wrappers
.<
TDispatchInfo
>
query
().
lambda
()
.
eq
(
TDispatchInfo:
:
getEmpId
,
empId
)
.
eq
(
TDispatchInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
)
.
eq
(
TDispatchInfo:
:
getType
,
CommonConstants
.
ZERO_STRING
)
.
isNotNull
(
TDispatchInfo:
:
getSocialId
)
.
orderByDesc
(
TDispatchInfo:
:
getCreateTime
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(
null
!=
dispatchInfoAdd
){
socialInfo
=
baseMapper
.
selectById
(
dispatchInfoAdd
.
getSocialId
());
initSocialAddAndReduce
(
socialAddAndReduceVo
,
socialInfo
,
dispatchInfoAdd
);
if
(
null
!=
dispatchInfoAdd
.
getCreateTime
()){
socialAddAndReduceVo
.
setSocialAddDispatchDate
(
LocalDateTimeUtils
.
formatTime
(
dispatchInfoAdd
.
getCreateTime
(),
LocalDateTimeUtils
.
DATE_TIME_PATTERN_DEFAULT
));
}
}
TDispatchInfo
dispatchInfoReduce
=
dispatchInfoMapper
.
selectOne
(
Wrappers
.<
TDispatchInfo
>
query
().
lambda
()
.
eq
(
TDispatchInfo:
:
getEmpId
,
empId
)
.
eq
(
TDispatchInfo:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
)
.
eq
(
TDispatchInfo:
:
getType
,
CommonConstants
.
ONE_STRING
)
.
isNotNull
(
TDispatchInfo:
:
getSocialId
)
.
orderByDesc
(
TDispatchInfo:
:
getCreateTime
)
.
last
(
CommonConstants
.
LAST_ONE_SQL
));
if
(
null
!=
dispatchInfoReduce
){
socialInfo
=
baseMapper
.
selectById
(
dispatchInfoReduce
.
getSocialId
());
initSocialAddAndReduce
(
socialAddAndReduceVo
,
socialInfo
,
dispatchInfoReduce
);
if
(
Common
.
isNotNull
(
dispatchInfoReduce
.
getSocialReduceDate
()))
{
socialAddAndReduceVo
.
setSocialEndDate
(
DateUtil
.
formatDate
(
dispatchInfoReduce
.
getSocialReduceDate
()));
}
if
(
null
!=
dispatchInfoReduce
.
getCreateTime
()){
socialAddAndReduceVo
.
setSocialReduceDispatchDate
(
LocalDateTimeUtils
.
formatTime
(
dispatchInfoReduce
.
getCreateTime
(),
LocalDateTimeUtils
.
DATE_TIME_PATTERN_DEFAULT
));
}
}
return
socialAddAndReduceVo
;
}
/**
* 初始化社保派增派减数据
* @Author fxj
* @Date 2020-08-25
* @param socialAddAndReduceVo
* @param socialInfo
* @param dispatchInfo
* @return
**/
private
void
initSocialAddAndReduce
(
SocialAddAndReduceVo
socialAddAndReduceVo
,
TSocialInfo
socialInfo
,
TDispatchInfo
dispatchInfo
)
{
// 初始化户和区域数据
initSocialHouseAndAddress
(
socialAddAndReduceVo
,
socialInfo
,
dispatchInfo
.
getType
());
// 派增派单状态处理 待提交和待审核都属于派单开始
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
dispatchInfo
.
getType
())){
initSocialAddStatus
(
socialAddAndReduceVo
,
dispatchInfo
);
// 派减派单状态处理 待提交和待审核都属于派单开始
}
else
{
initSocialReduceStatus
(
socialAddAndReduceVo
,
dispatchInfo
);
}
}
/**
* 初始化派增派减地址
* @Author fxj
* @Date 2020-08-25
* @param socialAddAndReduceVo
* @param socialInfo
* @param type
* @param houseHoldInfo
* @return
**/
private
void
initSocialAddress
(
SocialAddAndReduceVo
socialAddAndReduceVo
,
TSocialInfo
socialInfo
,
String
type
,
SysHouseHoldInfo
houseHoldInfo
)
{
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
type
)){
socialAddAndReduceVo
.
setSocialHouse
(
null
==
houseHoldInfo
?
""
:
houseHoldInfo
.
getName
());
socialAddAndReduceVo
.
setSocialProvince
(
Common
.
isNotNull
(
socialInfo
.
getSocialProvince
())?
Integer
.
parseInt
(
socialInfo
.
getSocialProvince
()):
null
);
socialAddAndReduceVo
.
setSocialCity
(
Common
.
isNotNull
(
socialInfo
.
getSocialCity
())?
Integer
.
parseInt
(
socialInfo
.
getSocialCity
()):
null
);
socialAddAndReduceVo
.
setSocialTown
(
Common
.
isNotNull
(
socialInfo
.
getSocialTown
())?
Integer
.
parseInt
(
socialInfo
.
getSocialTown
()):
null
);
if
(
null
!=
socialInfo
.
getSocialStartDate
())
{
socialAddAndReduceVo
.
setSocialStartDate
(
DateUtil
.
formatDate
(
socialInfo
.
getSocialStartDate
()));
}
}
else
{
socialAddAndReduceVo
.
setSocialHouseReduce
(
null
==
houseHoldInfo
?
""
:
houseHoldInfo
.
getName
());
socialAddAndReduceVo
.
setSocialProvinceReduce
(
Common
.
isNotNull
(
socialInfo
.
getSocialProvince
())?
Integer
.
parseInt
(
socialInfo
.
getSocialProvince
()):
null
);
socialAddAndReduceVo
.
setSocialCityReduce
(
Common
.
isNotNull
(
socialInfo
.
getSocialCity
())?
Integer
.
parseInt
(
socialInfo
.
getSocialCity
()):
null
);
socialAddAndReduceVo
.
setSocialTownReduce
(
Common
.
isNotNull
(
socialInfo
.
getSocialTown
())?
Integer
.
parseInt
(
socialInfo
.
getSocialTown
()):
null
);
if
(
null
!=
socialInfo
.
getSocialStartDate
())
{
socialAddAndReduceVo
.
setSocialStartDate
(
DateUtil
.
formatDate
(
socialInfo
.
getSocialStartDate
()));
}
}
}
/**
* 初始化社保派减办理状态
* @Author fxj
* @Date 2020-08-25
* @param socialAddAndReduceVo
* @param dispatchInfo
* @return
**/
private
void
initSocialAddStatus
(
SocialAddAndReduceVo
socialAddAndReduceVo
,
TDispatchInfo
dispatchInfo
)
{
//new:社保办理状态 0 未办理 1 全部办理成功(原-已办理) 2 全部办理失败(原-办理失败) 3已派减 4办理中 (20210609派单拆分新增fxj) 5部分办理失败 (20210609派单拆分新增fxj)
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
dispatchInfo
.
getStatus
())
||
CommonConstants
.
ONE_STRING
.
equals
(
dispatchInfo
.
getStatus
())
||
CommonConstants
.
THREE_STRING
.
equals
(
dispatchInfo
.
getStatus
()))
{
socialAddAndReduceVo
.
setSocialAddStatus
(
CommonConstants
.
ZERO_STRING
);
// 审核不通过和 审核通过 都属于办理中
}
else
if
(
CommonConstants
.
TWO_STRING
.
equals
(
dispatchInfo
.
getStatus
()))
{
socialAddAndReduceVo
.
setSocialAddStatus
(
CommonConstants
.
ONE_STRING
);
}
// 办理成功
if
(
CommonConstants
.
ONE_STRING
.
equals
(
dispatchInfo
.
getSocialHandleStatus
()))
{
socialAddAndReduceVo
.
setSocialAddStatus
(
CommonConstants
.
TWO_STRING
);
}
// 办理失败
if
(
CommonConstants
.
TWO_STRING
.
equals
(
dispatchInfo
.
getSocialHandleStatus
()))
{
socialAddAndReduceVo
.
setSocialAddStatus
(
CommonConstants
.
THREE_STRING
);
}
// 部分办理失败
if
(
CommonConstants
.
FIVE_STRING
.
equals
(
dispatchInfo
.
getSocialHandleStatus
()))
{
socialAddAndReduceVo
.
setSocialAddStatus
(
CommonConstants
.
FOUR_STRING
);
}
}
/**
* 初始化社保户和社保缴纳地
* @Author fxj
* @Date 2020-08-25
* @param socialAddAndReduceVo
* @param socialInfo
* @param type
* @return
**/
private
void
initSocialHouseAndAddress
(
SocialAddAndReduceVo
socialAddAndReduceVo
,
TSocialInfo
socialInfo
,
String
type
)
{
if
(
null
!=
socialInfo
)
{
SysHouseHoldInfo
houseHoldInfo
=
null
;
if
(
null
!=
socialInfo
.
getSocialHousehold
())
{
houseHoldInfo
=
sysHouseHoldInfoMapper
.
selectById
(
socialInfo
.
getSocialHousehold
());
}
initSocialAddress
(
socialAddAndReduceVo
,
socialInfo
,
type
,
houseHoldInfo
);
}
}
/**
* 初始化派增办理状态
* @Author fxj
* @Date 2020-08-25
* @param socialAddAndReduceVo
* @param dispatchInfo
* @return
**/
private
void
initSocialReduceStatus
(
SocialAddAndReduceVo
socialAddAndReduceVo
,
TDispatchInfo
dispatchInfo
)
{
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
dispatchInfo
.
getStatus
())
||
CommonConstants
.
ONE_STRING
.
equals
(
dispatchInfo
.
getStatus
())
||
CommonConstants
.
THREE_STRING
.
equals
(
dispatchInfo
.
getStatus
()))
{
socialAddAndReduceVo
.
setSocialReduceStatus
(
CommonConstants
.
ZERO_STRING
);
// 审核不通过和 审核通过 都属于办理中
}
else
if
(
CommonConstants
.
TWO_STRING
.
equals
(
dispatchInfo
.
getStatus
()))
{
socialAddAndReduceVo
.
setSocialReduceStatus
(
CommonConstants
.
ONE_STRING
);
}
// 办理成功
if
(
CommonConstants
.
ONE_STRING
.
equals
(
dispatchInfo
.
getSocialHandleStatus
()))
{
socialAddAndReduceVo
.
setSocialReduceStatus
(
CommonConstants
.
TWO_STRING
);
}
// 办理失败
if
(
CommonConstants
.
TWO_STRING
.
equals
(
dispatchInfo
.
getSocialHandleStatus
()))
{
socialAddAndReduceVo
.
setSocialReduceStatus
(
CommonConstants
.
THREE_STRING
);
}
}
}
yifu-social/yifu-social-biz/src/main/resources/mapper/TPaymentInfoMapper.xml
View file @
020a113e
This diff is collapsed.
Click to expand it.
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