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
008be3f9
Commit
008be3f9
authored
Oct 10, 2025
by
hongguangwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
MVP1.7.16-法大大
parent
b44684ad
Show whitespace changes
Inline
Side-by-side
Showing
40 changed files
with
4011 additions
and
70 deletions
+4011
-70
TFascEditLog.java
...yifu/cloud/plus/v1/yifu/archives/entity/TFascEditLog.java
+80
-0
TFascHrField.java
...yifu/cloud/plus/v1/yifu/archives/entity/TFascHrField.java
+72
-0
TFascPushLog.java
...yifu/cloud/plus/v1/yifu/archives/entity/TFascPushLog.java
+116
-0
TFascTemplate.java
...ifu/cloud/plus/v1/yifu/archives/entity/TFascTemplate.java
+176
-0
TFascTemplateDetail.java
...oud/plus/v1/yifu/archives/entity/TFascTemplateDetail.java
+131
-0
TFascTemplateDetailExportVo.java
...plus/v1/yifu/archives/vo/TFascTemplateDetailExportVo.java
+98
-0
TFascTemplateDetailSearchVo.java
...plus/v1/yifu/archives/vo/TFascTemplateDetailSearchVo.java
+58
-0
TFascTemplateDetailUpdateVo.java
...plus/v1/yifu/archives/vo/TFascTemplateDetailUpdateVo.java
+96
-0
TFascTemplateExportVo.java
...cloud/plus/v1/yifu/archives/vo/TFascTemplateExportVo.java
+141
-0
TFascTemplateSearchVo.java
...cloud/plus/v1/yifu/archives/vo/TFascTemplateSearchVo.java
+58
-0
TFascTemplateUpdateVo.java
...cloud/plus/v1/yifu/archives/vo/TFascTemplateUpdateVo.java
+64
-0
FascController.java
...loud/plus/v1/yifu/archives/controller/FascController.java
+4
-4
TFascEditLogController.java
...s/v1/yifu/archives/controller/TFascEditLogController.java
+72
-0
TFascHrFieldController.java
...s/v1/yifu/archives/controller/TFascHrFieldController.java
+71
-0
TFascTemplateController.java
.../v1/yifu/archives/controller/TFascTemplateController.java
+133
-0
TFascTemplateDetailController.java
...fu/archives/controller/TFascTemplateDetailController.java
+146
-0
TFascEditLogMapper.java
...loud/plus/v1/yifu/archives/mapper/TFascEditLogMapper.java
+45
-0
TFascHrFieldMapper.java
...loud/plus/v1/yifu/archives/mapper/TFascHrFieldMapper.java
+45
-0
TFascPushLogMapper.java
...loud/plus/v1/yifu/archives/mapper/TFascPushLogMapper.java
+40
-0
TFascTemplateDetailMapper.java
...us/v1/yifu/archives/mapper/TFascTemplateDetailMapper.java
+51
-0
TFascTemplateMapper.java
...oud/plus/v1/yifu/archives/mapper/TFascTemplateMapper.java
+59
-0
TFascEditLogService.java
...ud/plus/v1/yifu/archives/service/TFascEditLogService.java
+43
-0
TFascHrFieldService.java
...ud/plus/v1/yifu/archives/service/TFascHrFieldService.java
+47
-0
TFascPushLogService.java
...ud/plus/v1/yifu/archives/service/TFascPushLogService.java
+43
-0
TFascTemplateDetailService.java
.../v1/yifu/archives/service/TFascTemplateDetailService.java
+61
-0
TFascTemplateService.java
...d/plus/v1/yifu/archives/service/TFascTemplateService.java
+50
-0
FascServiceImpl.java
...d/plus/v1/yifu/archives/service/impl/FascServiceImpl.java
+113
-13
TFascEditLogServiceImpl.java
...1/yifu/archives/service/impl/TFascEditLogServiceImpl.java
+54
-0
TFascHrFieldServiceImpl.java
...1/yifu/archives/service/impl/TFascHrFieldServiceImpl.java
+75
-0
TFascPushLogServiceImpl.java
...1/yifu/archives/service/impl/TFascPushLogServiceImpl.java
+58
-0
TFascTemplateDetailServiceImpl.java
...archives/service/impl/TFascTemplateDetailServiceImpl.java
+387
-0
TFascTemplateServiceImpl.java
.../yifu/archives/service/impl/TFascTemplateServiceImpl.java
+350
-0
FascConstants.java
...yifu/cloud/plus/v1/yifu/archives/utils/FascConstants.java
+40
-0
FascUtil.java
.../com/yifu/cloud/plus/v1/yifu/archives/utils/FascUtil.java
+187
-53
TFascEditLogMapper.xml
...ives-biz/src/main/resources/mapper/TFascEditLogMapper.xml
+101
-0
TFascHrFieldMapper.xml
...ives-biz/src/main/resources/mapper/TFascHrFieldMapper.xml
+76
-0
TFascPushLogMapper.xml
...ives-biz/src/main/resources/mapper/TFascPushLogMapper.xml
+114
-0
TFascTemplateDetailMapper.xml
...z/src/main/resources/mapper/TFascTemplateDetailMapper.xml
+209
-0
TFascTemplateMapper.xml
...ves-biz/src/main/resources/mapper/TFascTemplateMapper.xml
+224
-0
LocalDateTimeUtils.java
...oud/plus/v1/yifu/common/core/util/LocalDateTimeUtils.java
+23
-0
No files found.
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/entity/TFascEditLog.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
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 hgw
* @date 2025-10-09 10:39:43
*/
@Data
@TableName
(
"t_fasc_edit_log"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Schema
(
description
=
"法大大编辑日志表"
)
public
class
TFascEditLog
extends
BaseEntity
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@ExcelProperty
(
"id"
)
@Schema
(
description
=
"id"
)
private
String
id
;
/**
* 关联主表ID
*/
@ExcelAttribute
(
name
=
"关联主表ID"
,
isNotEmpty
=
true
,
errorInfo
=
"关联主表ID不能为空"
,
maxLength
=
32
)
@NotBlank
(
message
=
"关联主表ID不能为空"
)
@Length
(
max
=
32
,
message
=
"关联主表ID不能超过32个字符"
)
@ExcelProperty
(
"关联主表ID"
)
@Schema
(
description
=
"关联主表ID"
)
private
String
mainId
;
/**
* 类型1模板2映射
*/
@ExcelAttribute
(
name
=
"类型1模板2映射"
,
isNotEmpty
=
true
,
errorInfo
=
"类型1模板2映射不能为空"
,
maxLength
=
1
)
@NotBlank
(
message
=
"类型1模板2映射不能为空"
)
@Length
(
max
=
1
,
message
=
"类型1模板2映射不能超过1个字符"
)
@ExcelProperty
(
"类型1模板2映射"
)
@Schema
(
description
=
"类型1模板2映射"
)
private
String
mainType
;
/**
* 编辑内容
*/
@ExcelAttribute
(
name
=
"编辑内容"
,
isNotEmpty
=
true
,
errorInfo
=
"编辑内容不能为空"
,
maxLength
=
100
)
@NotBlank
(
message
=
"编辑内容不能为空"
)
@Length
(
max
=
100
,
message
=
"编辑内容不能超过100个字符"
)
@ExcelProperty
(
"编辑内容"
)
@Schema
(
description
=
"编辑内容"
)
private
String
editContent
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/entity/TFascHrField.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
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
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
/**
* 法大大专业版皖信字段表
*
* @author hgw
* @date 2025-09-30 16:29:27
*/
@Data
@TableName
(
"t_fasc_hr_field"
)
@Schema
(
description
=
"法大大专业版皖信字段表"
)
public
class
TFascHrField
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@ExcelProperty
(
"id"
)
@Schema
(
description
=
"id"
)
private
String
id
;
/**
* 皖信字段
*/
@ExcelAttribute
(
name
=
"皖信字段"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"皖信字段不能超过100个字符"
)
@ExcelProperty
(
"皖信字段"
)
@Schema
(
description
=
"皖信字段"
)
private
String
hrField
;
/**
* 皖信字段ID
*/
@ExcelAttribute
(
name
=
"皖信字段ID"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"皖信字段ID不能超过100个字符"
)
@ExcelProperty
(
"皖信字段ID"
)
@Schema
(
description
=
"皖信字段ID"
)
private
String
hrFieldId
;
/**
* 合同类型:标准合同、劳务协议、实习协议、非全日制、劳务派遣合同
*/
@ExcelAttribute
(
name
=
"合同类型"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"合同类型不能超过20个字符"
)
@ExcelProperty
(
"合同类型"
)
@Schema
(
description
=
"合同类型"
)
private
String
contractType
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/entity/TFascPushLog.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
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 hgw
* @date 2025-09-30 16:29:28
*/
@Data
@TableName
(
"t_fasc_push_log"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Schema
(
description
=
"法大大专业版推送日志表"
)
public
class
TFascPushLog
extends
BaseEntity
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@ExcelProperty
(
"id"
)
@Schema
(
description
=
"id"
)
private
String
id
;
/**
* 业务参考号
*/
@ExcelAttribute
(
name
=
"业务参考号"
,
isNotEmpty
=
true
,
errorInfo
=
"业务参考号不能为空"
,
maxLength
=
32
)
@NotBlank
(
message
=
"业务参考号不能为空"
)
@Length
(
max
=
32
,
message
=
"业务参考号不能超过32个字符"
)
@ExcelProperty
(
"业务参考号"
)
@Schema
(
description
=
"业务参考号"
)
private
String
transReferenceId
;
/**
* 返回的任务ID
*/
@ExcelAttribute
(
name
=
"返回的任务ID"
,
maxLength
=
32
)
@Length
(
max
=
32
,
message
=
"返回的任务ID不能超过32个字符"
)
@ExcelProperty
(
"返回的任务ID"
)
@Schema
(
description
=
"返回的任务ID"
)
private
String
signTaskId
;
/**
* 推送信息
*/
@ExcelAttribute
(
name
=
"推送信息"
)
@ExcelProperty
(
"推送信息"
)
@Schema
(
description
=
"推送信息"
)
private
String
pushData
;
/**
* 返回信息
*/
@ExcelAttribute
(
name
=
"返回信息"
)
@ExcelProperty
(
"返回信息"
)
@Schema
(
description
=
"返回信息"
)
private
String
returnData
;
/**
* 合同ID
*/
@ExcelAttribute
(
name
=
"合同ID"
,
maxLength
=
32
)
@Length
(
max
=
32
,
message
=
"合同ID不能超过32个字符"
)
@ExcelProperty
(
"合同ID"
)
@Schema
(
description
=
"合同ID"
)
private
String
contractId
;
/**
* 任务状态0推送中1成功2失败
*/
@ExcelAttribute
(
name
=
"任务状态0推送中1成功2失败"
,
maxLength
=
2
)
@Length
(
max
=
2
,
message
=
"任务状态0推送中1成功2失败不能超过2个字符"
)
@ExcelProperty
(
"任务状态0推送中1成功2失败"
)
@Schema
(
description
=
"任务状态0推送中1成功2失败"
)
private
String
taskStatus
;
/**
* 查询关键字
*/
@ExcelAttribute
(
name
=
"查询关键字"
,
maxLength
=
50
)
@Length
(
max
=
50
,
message
=
"查询关键字不能超过50个字符"
)
@ExcelProperty
(
"查询关键字"
)
@Schema
(
description
=
"查询关键字"
)
private
String
typeKey
;
/**
* 类型
*/
@ExcelAttribute
(
name
=
"类型"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"类型不能超过20个字符"
)
@ExcelProperty
(
"类型"
)
@Schema
(
description
=
"类型"
)
private
String
typeName
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/entity/TFascTemplate.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
entity
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
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
;
import
java.time.LocalDateTime
;
/**
* 法大大专业版模版表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
@Data
@TableName
(
"t_fasc_template"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Schema
(
description
=
"法大大专业版模版表"
)
public
class
TFascTemplate
extends
BaseEntity
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@ExcelProperty
(
"id"
)
@Schema
(
description
=
"id"
)
private
String
id
;
/**
* 公司主体
*/
@ExcelAttribute
(
name
=
"公司主体"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"公司主体不能超过100个字符"
)
@ExcelProperty
(
"公司主体"
)
@Schema
(
description
=
"公司主体"
)
private
String
companyName
;
/**
* 签署方
*/
@ExcelAttribute
(
name
=
"签署方"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"签署方不能超过100个字符"
)
@ExcelProperty
(
"签署方"
)
@Schema
(
description
=
"签署方"
)
private
String
signName
;
/**
* 签署方Openid
*/
@ExcelAttribute
(
name
=
"签署方Openid"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"签署方Openid不能超过100个字符"
)
@ExcelProperty
(
"签署方Openid"
)
@Schema
(
description
=
"签署方Openid"
)
private
String
signOpenId
;
/**
* 模版ID
*/
@ExcelAttribute
(
name
=
"模版ID"
,
isNotEmpty
=
true
,
errorInfo
=
"模版ID不能为空"
,
maxLength
=
100
)
@NotBlank
(
message
=
"模版ID不能为空"
)
@Length
(
max
=
100
,
message
=
"模版ID不能超过100个字符"
)
@ExcelProperty
(
"模版ID"
)
@Schema
(
description
=
"模版ID"
)
private
String
signTemplateId
;
/**
* 模版名称
*/
@ExcelAttribute
(
name
=
"模版名称"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"模版名称不能超过100个字符"
)
@ExcelProperty
(
"模版名称"
)
@Schema
(
description
=
"模版名称"
)
private
String
signTemplateName
;
/**
* 模版状态
* invalid: 停用;valid: 启用;creating:草稿
*/
@ExcelAttribute
(
name
=
"模版状态"
,
maxLength
=
20
)
@Length
(
max
=
20
,
message
=
"模版状态不能超过20个字符"
)
@ExcelProperty
(
"模版状态"
)
@Schema
(
description
=
"模版状态"
)
private
String
signTemplateStatus
;
/**
* 创建人
*/
@ExcelAttribute
(
name
=
"创建人"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"创建人不能超过100个字符"
)
@ExcelProperty
(
"创建人"
)
@Schema
(
description
=
"创建人"
)
private
String
creatorMemberName
;
/**
* 法大大模版创建时间
*/
@ExcelAttribute
(
name
=
"法大大模版创建时间"
,
isDate
=
true
)
@ExcelProperty
(
"法大大模版创建时间"
)
@Schema
(
description
=
"法大大模版创建时间"
)
private
LocalDateTime
fascCreateTime
;
/**
* 最新更新时间
*/
@ExcelAttribute
(
name
=
"最新更新时间"
,
isDate
=
true
)
@ExcelProperty
(
"最新更新时间"
)
@Schema
(
description
=
"最新更新时间"
)
private
LocalDateTime
fascUpdateTime
;
/**
* 关联用章名称
*/
@ExcelAttribute
(
name
=
"关联用章名称"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"关联用章名称不能超过100个字符"
)
@ExcelProperty
(
"关联用章名称"
)
@Schema
(
description
=
"关联用章名称"
)
private
String
zhangName
;
/**
* 是否免验证签0否1是
*/
@ExcelAttribute
(
name
=
"是否免验证签0否1是"
,
maxLength
=
1
,
isDataId
=
true
,
readConverterExp
=
"0=否,1=是"
)
@Length
(
max
=
1
,
message
=
"是否免验证签0否1是不能超过1个字符"
)
@ExcelProperty
(
"是否免验证签0否1是"
)
@Schema
(
description
=
"是否免验证签0否1是"
)
private
String
isMianQian
;
/**
* 皖信合同类型
*/
@ExcelAttribute
(
name
=
"皖信合同类型"
,
maxLength
=
32
)
@Length
(
max
=
32
,
message
=
"皖信合同类型不能超过32个字符"
)
@ExcelProperty
(
"皖信合同类型"
)
@Schema
(
description
=
"皖信合同类型"
)
private
String
contractType
;
/**
* 必填是否已配置0未配置1部分配置2已配置
*/
@ExcelAttribute
(
name
=
"必填是否已配置"
,
maxLength
=
1
,
isDataId
=
true
,
readConverterExp
=
"0=未配置,1=部分配置,2=已配置"
)
@Length
(
max
=
1
,
message
=
"必填是否已配置不能超过1个字符"
)
@ExcelProperty
(
"必填是否已配置0未配置1部分配置2已配置"
)
@Schema
(
description
=
"必填是否已配置0未配置1部分配置2已配置"
)
private
String
isMustEdit
;
@TableField
(
exist
=
false
)
@ExcelProperty
(
"当前必填已配置数量"
)
private
String
isMustNow
;
@TableField
(
exist
=
false
)
@ExcelProperty
(
"当前必填总数量"
)
private
String
isMustAll
;
/**
* 是否删除0否1是
*/
@ExcelAttribute
(
name
=
"是否删除0否1是"
,
maxLength
=
1
,
isDataId
=
true
,
readConverterExp
=
"0=否,1=是"
)
@Length
(
max
=
1
,
message
=
"是否删除0否1是不能超过1个字符"
)
@ExcelProperty
(
"是否删除0否1是"
)
@Schema
(
description
=
"是否删除0否1是"
)
private
String
deleteFlag
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/entity/TFascTemplateDetail.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
entity
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.baomidou.mybatisplus.annotation.*
;
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 hgw
* @date 2025-09-30 16:29:28
*/
@Data
@TableName
(
"t_fasc_template_detail"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@Schema
(
description
=
"法大大专业版模板映射表"
)
public
class
TFascTemplateDetail
extends
BaseEntity
{
/**
* id
*/
@TableId
(
type
=
IdType
.
ASSIGN_ID
)
@ExcelProperty
(
"id"
)
@Schema
(
description
=
"id"
)
private
String
id
;
/**
* 模板ID
*/
@ExcelAttribute
(
name
=
"模板ID"
,
isNotEmpty
=
true
,
errorInfo
=
"模板ID不能为空"
,
maxLength
=
100
)
@NotBlank
(
message
=
"模板ID不能为空"
)
@Length
(
max
=
100
,
message
=
"模板ID不能超过100个字符"
)
@ExcelProperty
(
"模板ID"
)
@Schema
(
description
=
"模板ID"
)
private
String
signTemplateId
;
/**
* 法大大字段
*/
@ExcelAttribute
(
name
=
"法大大字段"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"法大大字段不能超过100个字符"
)
@ExcelProperty
(
"法大大字段"
)
@Schema
(
description
=
"法大大字段"
)
private
String
fascField
;
/**
* 法大大字段ID
*/
@ExcelAttribute
(
name
=
"法大大字段ID"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"法大大字段ID不能超过100个字符"
)
@ExcelProperty
(
"法大大字段ID"
)
@Schema
(
description
=
"法大大字段ID"
)
private
String
fascFieldId
;
/**
* 是否必填0否1是
*/
@ExcelAttribute
(
name
=
"是否必填0否1是"
,
maxLength
=
1
,
isDataId
=
true
,
readConverterExp
=
"0=否,1=是"
)
@Length
(
max
=
1
,
message
=
"是否必填0否1是不能超过1个字符"
)
@ExcelProperty
(
"是否必填0否1是"
)
@Schema
(
description
=
"是否必填0否1是"
)
private
String
isMust
;
/**
* 是否删除0否1是
*/
@ExcelAttribute
(
name
=
"是否删除0否1是"
,
maxLength
=
1
,
isDataId
=
true
,
readConverterExp
=
"0=否,1=是"
)
@Length
(
max
=
1
,
message
=
"是否删除0否1是不能超过1个字符"
)
@ExcelProperty
(
"是否删除0否1是"
)
@Schema
(
description
=
"是否删除0否1是"
)
private
String
deleteFlag
;
/**
* 皖信字段
*/
@ExcelAttribute
(
name
=
"皖信字段"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"皖信字段不能超过100个字符"
)
@ExcelProperty
(
"皖信字段"
)
@Schema
(
description
=
"皖信字段"
)
@TableField
(
updateStrategy
=
FieldStrategy
.
IGNORED
)
private
String
hrField
;
/**
* 皖信字段ID
*/
@ExcelAttribute
(
name
=
"皖信字段ID"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"皖信字段ID不能超过100个字符"
)
@ExcelProperty
(
"皖信字段ID"
)
@Schema
(
description
=
"皖信字段ID"
)
@TableField
(
updateStrategy
=
FieldStrategy
.
IGNORED
)
private
String
hrFieldId
;
/**
* 是否已配置0未配置1已配置
*/
@ExcelAttribute
(
name
=
"是否已配置"
,
maxLength
=
3
,
isDataId
=
true
,
readConverterExp
=
"0=未配置,1=已配置"
)
@Length
(
max
=
3
,
message
=
"是否已配置不能超过3个字符"
)
@ExcelProperty
(
"是否已配置"
)
@Schema
(
description
=
"是否已配置0未配置1已配置"
)
private
String
isEdit
;
@TableField
(
exist
=
false
)
@Schema
(
description
=
"模版名称"
)
private
String
signTemplateName
;
// 模板状态: invalid: 停用;valid: 启用;creating:草稿
@TableField
(
exist
=
false
)
@Schema
(
description
=
"模版状态"
)
private
String
signTemplateStatus
;
@TableField
(
exist
=
false
)
@Schema
(
description
=
"对应皖信合同类型"
)
private
String
contractType
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/TFascTemplateDetailExportVo.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.write.style.ColumnWidth
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
/**
* 导出-法大大专业版模版映射表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
@Data
@ColumnWidth
(
10
)
public
class
TFascTemplateDetailExportVo
{
@ExcelAttribute
(
name
=
"法大大模版名称"
)
@ExcelProperty
(
"法大大模版名称"
)
private
String
signTemplateName
;
@ExcelAttribute
(
name
=
"模版ID"
,
isNotEmpty
=
true
,
errorInfo
=
"模版ID不能为空"
,
maxLength
=
100
)
@ExcelProperty
(
"模版ID"
)
private
String
signTemplateId
;
@ExcelAttribute
(
name
=
"模版状态"
)
@ExcelProperty
(
"模版状态"
)
private
String
signTemplateStatus
;
/**
* 法大大字段
*/
@ExcelAttribute
(
name
=
"法大大字段"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"法大大字段不能超过100个字符"
)
@ExcelProperty
(
"法大大字段"
)
@Schema
(
description
=
"法大大字段"
)
private
String
fascField
;
/**
* 法大大字段ID
*/
@ExcelAttribute
(
name
=
"法大大字段ID"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"法大大字段ID不能超过100个字符"
)
@ExcelProperty
(
"法大大字段ID"
)
@Schema
(
description
=
"法大大字段ID"
)
private
String
fascFieldId
;
/**
* 是否必填0否1是
*/
@ExcelAttribute
(
name
=
"是否必填"
,
maxLength
=
1
,
isDataId
=
true
,
readConverterExp
=
"0=否,1=是"
)
@ExcelProperty
(
"是否必填"
)
private
String
isMust
;
/**
* 是否删除0否1是
*/
@ExcelAttribute
(
name
=
"是否删除"
,
maxLength
=
1
,
isDataId
=
true
,
readConverterExp
=
"0=否,1=是"
)
@ExcelProperty
(
"是否删除"
)
private
String
deleteFlag
;
@ExcelAttribute
(
name
=
"对应皖信合同类型"
)
@ExcelProperty
(
"对应皖信合同类型"
)
private
String
contractType
;
/**
* 皖信字段
*/
@ExcelAttribute
(
name
=
"皖信字段"
,
maxLength
=
100
)
@ExcelProperty
(
"皖信字段"
)
private
String
hrField
;
/**
* 皖信字段ID
*/
@ExcelAttribute
(
name
=
"皖信字段ID"
,
maxLength
=
100
)
@ExcelProperty
(
"皖信字段ID"
)
private
String
hrFieldId
;
/**
* 是否已配置0未配置1已配置
*/
@ExcelAttribute
(
name
=
"是否已配置"
,
maxLength
=
3
,
isDataId
=
true
,
readConverterExp
=
"0=未配置,1=已配置"
)
@ExcelProperty
(
"是否已配置"
)
private
String
isEdit
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/TFascTemplateDetailSearchVo.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
vo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplateDetail
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* 法大大专业版模板映射表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
@Data
public
class
TFascTemplateDetailSearchVo
extends
TFascTemplateDetail
{
/**
* 多选导出或删除等操作
*/
@Schema
(
description
=
"选中ID,多个逗号分割"
)
private
String
ids
;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema
(
description
=
"创建时间区间"
)
private
LocalDateTime
[]
createTimes
;
/**
* @Author fxj
* 查询数据起
**/
@Schema
(
description
=
"查询limit 开始"
)
private
int
limitStart
;
/**
* @Author fxj
* 查询数据止
**/
@Schema
(
description
=
"查询limit 数据条数"
)
private
int
limitEnd
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/TFascTemplateDetailUpdateVo.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.core.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
;
/**
* 法大大专业版模版映射表_更新VO
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
@Data
public
class
TFascTemplateDetailUpdateVo
extends
RowIndex
implements
Serializable
{
//法大大模版名称、模版ID、法大大字段、法大大字段ID、对应皖信合同类型(同一个模版ID只能对应一种类型)、对应皖信字段、对应皖信字段ID
//法大大模版名称、模版ID、法大大字段、法大大字段ID、对应皖信字段、对应皖信字段ID
// 对应皖信合同类型——去掉该字段,影响更新效果(填了不校验,也不更新,会产生误解) 2025-09-30 17:32
/**
* 模版名称
*/
@NotBlank
(
message
=
"法大大模版名称 不能为空"
)
@Length
(
max
=
100
,
message
=
"法大大模版名称 不能超过100 个字符"
)
@ExcelAttribute
(
isNotEmpty
=
true
,
errorInfo
=
"法大大模版名称 不能为空"
,
name
=
"法大大模版名称"
,
maxLength
=
100
)
@Schema
(
description
=
"法大大模版名称"
)
@ExcelProperty
(
"法大大模版名称"
)
private
String
signTemplateName
;
/**
* 模版ID
*/
@NotBlank
(
message
=
"模版ID 不能为空"
)
@Length
(
max
=
100
,
message
=
"模版ID 不能超过100 个字符"
)
@ExcelAttribute
(
name
=
"模版ID"
,
isNotEmpty
=
true
,
errorInfo
=
"模版ID 不能为空"
,
maxLength
=
100
)
@Schema
(
description
=
"模版ID"
)
@ExcelProperty
(
"模版ID"
)
private
String
signTemplateId
;
/**
* 法大大字段
*/
@NotBlank
(
message
=
"法大大字段 不能为空"
)
@Length
(
max
=
100
,
message
=
"法大大字段 不能超过100 个字符"
)
@ExcelAttribute
(
isNotEmpty
=
true
,
errorInfo
=
"法大大字段 不能为空"
,
name
=
"法大大字段"
,
maxLength
=
100
)
@Schema
(
description
=
"法大大字段"
)
@ExcelProperty
(
"法大大字段"
)
private
String
fascField
;
/**
* 法大大字段ID
*/
@NotBlank
(
message
=
"法大大字段ID 不能为空"
)
@Length
(
max
=
100
,
message
=
"法大大字段ID 不能超过100 个字符"
)
@ExcelAttribute
(
isNotEmpty
=
true
,
errorInfo
=
"法大大字段ID 不能为空"
,
name
=
"法大大字段ID"
,
maxLength
=
100
)
@Schema
(
description
=
"法大大字段ID"
)
@ExcelProperty
(
"法大大字段ID"
)
private
String
fascFieldId
;
/**
* 对应皖信字段
*/
@NotBlank
(
message
=
"对应皖信字段 不能为空"
)
@Length
(
max
=
100
,
message
=
"对应皖信字段 不能超过100 个字符"
)
@ExcelAttribute
(
isNotEmpty
=
true
,
errorInfo
=
"对应皖信字段 不能为空"
,
name
=
"对应皖信字段"
,
maxLength
=
100
)
@Schema
(
description
=
"对应皖信字段"
)
@ExcelProperty
(
"对应皖信字段"
)
private
String
hrField
;
/**
* 对应皖信字段ID
*/
@NotBlank
(
message
=
"对应皖信字段ID 不能为空"
)
@Length
(
max
=
100
,
message
=
"对应皖信字段ID 不能超过100 个字符"
)
@ExcelAttribute
(
isNotEmpty
=
true
,
errorInfo
=
"对应皖信字段ID 不能为空"
,
name
=
"对应皖信字段ID"
,
maxLength
=
100
)
@Schema
(
description
=
"对应皖信字段ID"
)
@ExcelProperty
(
"对应皖信字段ID"
)
private
String
hrFieldId
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/TFascTemplateExportVo.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.alibaba.excel.annotation.write.style.ColumnWidth
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
org.hibernate.validator.constraints.Length
;
import
javax.validation.constraints.NotBlank
;
/**
* 导出-法大大专业版模版表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
@Data
@ColumnWidth
(
10
)
public
class
TFascTemplateExportVo
{
// 公司主体、签署方、签署方Openid、模版ID、模版名称、
/**
* 公司主体
*/
@ExcelAttribute
(
name
=
"公司主体"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"公司主体不能超过100个字符"
)
@ExcelProperty
(
"公司主体"
)
@Schema
(
description
=
"公司主体"
)
private
String
companyName
;
/**
* 签署方
*/
@ExcelAttribute
(
name
=
"签署方"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"签署方不能超过100个字符"
)
@ExcelProperty
(
"签署方"
)
@Schema
(
description
=
"签署方"
)
private
String
signName
;
/**
* 签署方Openid
*/
@ExcelAttribute
(
name
=
"签署方Openid"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"签署方Openid不能超过100个字符"
)
@ExcelProperty
(
"签署方Openid"
)
@Schema
(
description
=
"签署方Openid"
)
private
String
signOpenId
;
/**
* 模版ID
*/
@ExcelAttribute
(
name
=
"模版ID"
,
isNotEmpty
=
true
,
errorInfo
=
"模版ID不能为空"
,
maxLength
=
100
)
@NotBlank
(
message
=
"模版ID不能为空"
)
@Length
(
max
=
100
,
message
=
"模版ID不能超过100个字符"
)
@ExcelProperty
(
"模版ID"
)
@Schema
(
description
=
"模版ID"
)
private
String
signTemplateId
;
/**
* 模版名称
*/
@ExcelAttribute
(
name
=
"模版名称"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"模版名称不能超过100个字符"
)
@ExcelProperty
(
"模版名称"
)
@Schema
(
description
=
"模版名称"
)
private
String
signTemplateName
;
// 创建人、最新更新时间、关联用章名称、模版状态、是否免验证签、皖信合同类型、必填是否已配置
/**
* 创建人
*/
@ExcelAttribute
(
name
=
"创建人"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"创建人不能超过100个字符"
)
@ExcelProperty
(
"创建人"
)
@Schema
(
description
=
"创建人"
)
private
String
creatorMemberName
;
/**
* 最新更新时间
*/
@ExcelAttribute
(
name
=
"最新更新时间"
,
isDate
=
true
)
@ExcelProperty
(
"最新更新时间"
)
@Schema
(
description
=
"最新更新时间"
)
private
String
fascUpdateTime
;
/**
* 关联用章名称
*/
@ExcelAttribute
(
name
=
"关联用章名称"
,
maxLength
=
100
)
@Length
(
max
=
100
,
message
=
"关联用章名称不能超过100个字符"
)
@ExcelProperty
(
"关联用章名称"
)
@Schema
(
description
=
"关联用章名称"
)
private
String
zhangName
;
/**
* 模版状态
* invalid: 停用;valid: 启用;creating:草稿
*/
@ExcelAttribute
(
name
=
"模版状态"
,
maxLength
=
20
,
isDataId
=
true
,
readConverterExp
=
"invalid=停用,valid=启用,creating=草稿"
)
@Length
(
max
=
20
,
message
=
"模版状态不能超过20个字符"
)
@ExcelProperty
(
"模版状态"
)
@Schema
(
description
=
"模版状态"
)
private
String
signTemplateStatus
;
/**
* 是否免验证签0否1是
*/
@ExcelAttribute
(
name
=
"是否免验证签"
,
maxLength
=
1
,
isDataId
=
true
,
readConverterExp
=
"0=否,1=是"
)
@Length
(
max
=
1
,
message
=
"是否免验证签不能超过1个字符"
)
@ExcelProperty
(
"是否免验证签"
)
@Schema
(
description
=
"是否免验证签"
)
private
String
isMianQian
;
/**
* 皖信合同类型
*/
@ExcelAttribute
(
name
=
"皖信合同类型"
,
maxLength
=
32
)
@Length
(
max
=
32
,
message
=
"皖信合同类型不能超过32个字符"
)
@ExcelProperty
(
"皖信合同类型"
)
@Schema
(
description
=
"皖信合同类型"
)
private
String
contractType
;
/**
* 必填是否已配置0未配置1部分配置2已配置
*/
@ExcelAttribute
(
name
=
"必填是否已配置"
,
maxLength
=
1
,
isDataId
=
true
,
readConverterExp
=
"0=未配置,1=部分配置,2=已配置"
)
@Length
(
max
=
1
,
message
=
"必填是否已配置不能超过1个字符"
)
@ExcelProperty
(
"必填是否已配置"
)
@Schema
(
description
=
"必填是否已配置"
)
private
String
isMustEdit
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/TFascTemplateSearchVo.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
vo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate
;
import
io.swagger.v3.oas.annotations.media.Schema
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
/**
* 法大大专业版模板表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
@Data
public
class
TFascTemplateSearchVo
extends
TFascTemplate
{
/**
* 多选导出或删除等操作
*/
@Schema
(
description
=
"选中ID,多个逗号分割"
)
private
String
ids
;
/**
* 创建时间区间 [开始时间,结束时间]
*/
@Schema
(
description
=
"创建时间区间"
)
private
LocalDateTime
[]
createTimes
;
/**
* @Author fxj
* 查询数据起
**/
@Schema
(
description
=
"查询limit 开始"
)
private
int
limitStart
;
/**
* @Author fxj
* 查询数据止
**/
@Schema
(
description
=
"查询limit 数据条数"
)
private
int
limitEnd
;
}
yifu-archives/yifu-archives-api/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/vo/TFascTemplateUpdateVo.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute
;
import
com.yifu.cloud.plus.v1.yifu.common.core.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 hgw
* @date 2025-09-30 16:29:28
*/
@Data
public
class
TFascTemplateUpdateVo
extends
RowIndex
implements
Serializable
{
/**
* 模版ID
*/
@NotBlank
(
message
=
"模版ID 不能为空"
)
@Length
(
max
=
100
,
message
=
"模版ID 不能超过100 个字符"
)
@ExcelAttribute
(
name
=
"模版ID"
,
isNotEmpty
=
true
,
errorInfo
=
"模版ID 不能为空"
,
maxLength
=
100
)
@Schema
(
description
=
"模版ID"
)
@ExcelProperty
(
"模版ID"
)
private
String
signTemplateId
;
/**
* 模版名称
*/
@Length
(
max
=
100
,
message
=
"模版名称 不能超过100 个字符"
)
@ExcelAttribute
(
name
=
"模版名称"
,
isNotEmpty
=
true
,
errorInfo
=
"模版名称 不能为空"
,
maxLength
=
100
)
@Schema
(
description
=
"模版名称"
)
@ExcelProperty
(
"模版名称"
)
private
String
signTemplateName
;
/**
* 皖信合同类型
*/
@Length
(
max
=
32
,
message
=
"皖信合同类型 不能超过32 个字符"
)
@ExcelAttribute
(
name
=
"皖信合同类型"
,
isNotEmpty
=
true
,
errorInfo
=
"皖信合同类型 不能为空"
,
maxLength
=
32
)
@Schema
(
description
=
"皖信合同类型"
)
@ExcelProperty
(
"皖信合同类型"
)
private
String
contractType
;
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/FascController.java
View file @
008be3f9
...
@@ -2,14 +2,14 @@ package com.yifu.cloud.plus.v1.yifu.archives.controller;
...
@@ -2,14 +2,14 @@ package com.yifu.cloud.plus.v1.yifu.archives.controller;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.fasc.open.api.exception.ApiException
;
import
com.fasc.open.api.exception.ApiException
;
import
com.yifu.cloud.plus.v1.yifu.archives.config.FddConfigProperties
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.FddReqLog
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.FddReqLog
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.*
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.*
;
import
com.yifu.cloud.plus.v1.yifu.common.core.exception.CheckedException
;
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.util.R
;
import
com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprUpmsProperties
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.
extern.slf4j.Slf4j
;
import
lombok.
RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.boot.context.properties.EnableConfigurationProperties
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
@@ -24,11 +24,11 @@ import java.util.Map;
...
@@ -24,11 +24,11 @@ import java.util.Map;
* @auther huyc
* @auther huyc
* @date 2022/6/29
* @date 2022/6/29
*/
*/
@EnableConfigurationProperties
({
DaprUpmsProperties
.
class
})
@RestController
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/fasc"
)
@RequestMapping
(
"/fasc"
)
@Tag
(
name
=
"法大大专业版接口"
)
@Tag
(
name
=
"法大大专业版接口"
)
@Slf4j
@EnableConfigurationProperties
(
FddConfigProperties
.
class
)
public
class
FascController
{
public
class
FascController
{
@Autowired
@Autowired
...
...
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/TFascEditLogController.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascEditLog
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TFascEditLogService
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 法大大编辑日志表
*
* @author hgw
* @date 2025-10-09 10:39:43
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/tfasceditlog"
)
@Tag
(
name
=
"法大大编辑日志表管理"
)
public
class
TFascEditLogController
{
private
final
TFascEditLogService
tFascEditLogService
;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tFascEditLog 法大大编辑日志表
* @return
*/
@Operation
(
description
=
"简单分页查询"
)
@GetMapping
(
"/page"
)
public
R
<
IPage
<
TFascEditLog
>>
getTFascEditLogPage
(
Page
<
TFascEditLog
>
page
,
TFascEditLog
tFascEditLog
)
{
return
new
R
<>(
tFascEditLogService
.
getTFascEditLogPage
(
page
,
tFascEditLog
));
}
/**
* 不分页查询
*
* @param tFascEditLog 法大大编辑日志表
* @return
*/
@Operation
(
summary
=
"不分页查询"
,
description
=
"不分页查询"
)
@PostMapping
(
"/noPage"
)
public
R
<
List
<
TFascEditLog
>>
getTFascEditLogList
(
@RequestBody
TFascEditLog
tFascEditLog
)
{
return
R
.
ok
(
tFascEditLogService
.
getTFascEditLogList
(
tFascEditLog
));
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/TFascHrFieldController.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascHrField
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TFascHrFieldService
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
io.swagger.v3.oas.annotations.Operation
;
import
io.swagger.v3.oas.annotations.tags.Tag
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* 法大大专业版皖信字段表
*
* @author hgw
* @date 2025-09-30 16:29:27
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/tfaschrfield"
)
@Tag
(
name
=
"法大大专业版皖信字段表管理"
)
public
class
TFascHrFieldController
{
private
final
TFascHrFieldService
tFascHrFieldService
;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tFascHrField 法大大专业版皖信字段表
* @return
*/
@Operation
(
description
=
"简单分页查询"
)
@GetMapping
(
"/page"
)
public
R
<
IPage
<
TFascHrField
>>
getTFascHrFieldPage
(
Page
<
TFascHrField
>
page
,
TFascHrField
tFascHrField
)
{
return
new
R
<>(
tFascHrFieldService
.
getTFascHrFieldPage
(
page
,
tFascHrField
));
}
/**
* 不分页查询
*
* @param tFascHrField 法大大专业版皖信字段表
* @return
*/
@Operation
(
summary
=
"不分页查询"
,
description
=
"不分页查询"
)
@PostMapping
(
"/noPage"
)
public
R
<
List
<
TFascHrField
>>
getTFascHrFieldNoPage
(
@RequestBody
TFascHrField
tFascHrField
)
{
return
R
.
ok
(
tFascHrFieldService
.
noPageDiy
(
tFascHrField
));
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/TFascTemplateController.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TFascTemplateService
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateSearchVo
;
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.log.annotation.SysLog
;
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 hgw
* @date 2025-09-30 16:29:28
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/tfasctemplate"
)
@Tag
(
name
=
"法大大专业版模板表管理"
)
public
class
TFascTemplateController
{
private
final
TFascTemplateService
tFascTemplateService
;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tFascTemplate 法大大专业版模板表
* @return
*/
@Operation
(
description
=
"简单分页查询"
)
@GetMapping
(
"/page"
)
public
R
<
IPage
<
TFascTemplate
>>
getTFascTemplatePage
(
Page
<
TFascTemplate
>
page
,
TFascTemplateSearchVo
tFascTemplate
)
{
return
new
R
<>(
tFascTemplateService
.
getTFascTemplatePage
(
page
,
tFascTemplate
));
}
/**
* 不分页查询
*
* @param tFascTemplate 法大大专业版模板表
* @return
*/
@Operation
(
summary
=
"不分页查询"
,
description
=
"不分页查询"
)
@PostMapping
(
"/noPage"
)
public
R
<
List
<
TFascTemplate
>>
getTFascTemplateNoPage
(
@RequestBody
TFascTemplateSearchVo
tFascTemplate
)
{
return
R
.
ok
(
tFascTemplateService
.
noPageDiy
(
tFascTemplate
));
}
/**
* 通过id查询法大大专业版模板表
*
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询:hasPermission('archives_tfasctemplate_get')"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('archives_tfasctemplate_get')"
)
public
R
<
TFascTemplate
>
getById
(
@PathVariable
(
"id"
)
String
id
)
{
return
R
.
ok
(
tFascTemplateService
.
getById
(
id
));
}
/**
* 修改法大大专业版模板表
*
* @param tFascTemplate 法大大专业版模板表
* @return R
*/
@Operation
(
summary
=
"修改法大大专业版模板表"
,
description
=
"修改法大大专业版模板表:hasPermission('archives_tfasctemplate_edit')"
)
@SysLog
(
"修改法大大专业版模板表"
)
@PutMapping
@PreAuthorize
(
"@pms.hasPermission('archives_tfasctemplate_edit')"
)
public
R
<
Boolean
>
updateById
(
@RequestBody
TFascTemplate
tFascTemplate
)
{
return
R
.
ok
(
tFascTemplateService
.
updateById
(
tFascTemplate
));
}
/**
* 法大大专业版模板表 批量维护合同类型
*
* @author hgw
* @date 2025-09-30 16:29:28
**/
@SneakyThrows
@Operation
(
description
=
"批量维护合同类型 hasPermission('archives_tfasctemplate-batch-update')"
)
@SysLog
(
"批量维护合同类型"
)
@PostMapping
(
"/batchUpdate"
)
public
R
<
List
<
ErrorMessage
>>
batchUpdate
(
@RequestBody
MultipartFile
file
)
{
return
tFascTemplateService
.
batchUpdate
(
file
.
getInputStream
());
}
/**
* 法大大专业版模板表 批量导出
*
* @author hgw
* @date 2025-09-30 16:29:28
**/
@Operation
(
description
=
"导出法大大专业版模板表 hasPermission('archives_tfasctemplate-export')"
)
@PostMapping
(
"/export"
)
public
void
export
(
HttpServletResponse
response
,
@RequestBody
TFascTemplateSearchVo
searchVo
)
{
tFascTemplateService
.
listExport
(
response
,
searchVo
);
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/controller/TFascTemplateDetailController.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
controller
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplateDetail
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TFascTemplateDetailService
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateDetailSearchVo
;
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.log.annotation.SysLog
;
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 hgw
* @date 2025-09-30 16:29:28
*/
@RestController
@RequiredArgsConstructor
@RequestMapping
(
"/tfasctemplatedetail"
)
@Tag
(
name
=
"法大大专业版模板映射表管理"
)
public
class
TFascTemplateDetailController
{
private
final
TFascTemplateDetailService
tFascTemplateDetailService
;
/**
* 简单分页查询
*
* @param page 分页对象
* @param tFascTemplateDetail 法大大专业版模板映射表
* @return
*/
@Operation
(
description
=
"简单分页查询"
)
@GetMapping
(
"/page"
)
public
R
<
IPage
<
TFascTemplateDetail
>>
getTFascTemplateDetailPage
(
Page
<
TFascTemplateDetail
>
page
,
TFascTemplateDetailSearchVo
tFascTemplateDetail
)
{
return
new
R
<>(
tFascTemplateDetailService
.
getTFascTemplateDetailPage
(
page
,
tFascTemplateDetail
));
}
/**
* @Description: 重新刷新主模板表的必填是否已填
* @Author: hgw
* @Date: 2025/10/10 16:33
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
@Operation
(
description
=
"重新刷新主模板表的必填是否已填"
)
@SysLog
(
value
=
"重新刷新主模板表的必填是否已填"
)
@GetMapping
(
"/initFascTemplateIsMust"
)
public
R
<
String
>
initFascTemplateIsMust
(
@RequestParam
(
required
=
false
)
String
templateId
)
{
return
tFascTemplateDetailService
.
initFascTemplateIsMust
(
templateId
);
}
/**
* 不分页查询
*
* @param tFascTemplateDetail 法大大专业版模板映射表
* @return
*/
@Operation
(
summary
=
"不分页查询"
,
description
=
"不分页查询"
)
@PostMapping
(
"/noPage"
)
public
R
<
List
<
TFascTemplateDetail
>>
getTFascTemplateDetailNoPage
(
@RequestBody
TFascTemplateDetailSearchVo
tFascTemplateDetail
)
{
return
R
.
ok
(
tFascTemplateDetailService
.
noPageDiy
(
tFascTemplateDetail
));
}
/**
* 通过id查询法大大专业版模板映射表
*
* @param id id
* @return R
*/
@Operation
(
summary
=
"通过id查询"
,
description
=
"通过id查询:hasPermission('archives_tfasctemplatedetail_get')"
)
@GetMapping
(
"/{id}"
)
@PreAuthorize
(
"@pms.hasPermission('archives_tfasctemplatedetail_get')"
)
public
R
<
TFascTemplateDetail
>
getById
(
@PathVariable
(
"id"
)
String
id
)
{
return
R
.
ok
(
tFascTemplateDetailService
.
getById
(
id
));
}
/**
* 修改法大大专业版模板映射表
*
* @param tFascTemplateDetail 法大大专业版模板映射表
* @return R
*/
@Operation
(
summary
=
"修改法大大专业版模板映射表"
,
description
=
"修改法大大专业版模板映射表:hasPermission('archives_tfasctemplatedetail_edit')"
)
@SysLog
(
"修改法大大专业版模板映射表"
)
@PutMapping
@PreAuthorize
(
"@pms.hasPermission('archives_tfasctemplatedetail_edit')"
)
public
R
<
Boolean
>
updateById
(
@RequestBody
TFascTemplateDetail
tFascTemplateDetail
)
{
return
R
.
ok
(
tFascTemplateDetailService
.
updateById
(
tFascTemplateDetail
));
}
/**
* 法大大专业版模板映射表 批量维护
*
* @author hgw
* @date 2025-09-30 16:29:28
**/
@SneakyThrows
@Operation
(
description
=
"批量维护法大大专业版模板映射表 hasPermission('archives_tfasctemplatedetail-batch-update')"
)
@SysLog
(
"批量维护法大大专业版模板映射表"
)
@PostMapping
(
"/batchUpdateFascDetail"
)
public
R
<
List
<
ErrorMessage
>>
batchUpdateFascDetail
(
@RequestBody
MultipartFile
file
)
{
return
tFascTemplateDetailService
.
batchUpdateFascDetail
(
file
.
getInputStream
());
}
/**
* 法大大专业版模板映射表 批量导出
*
* @author hgw
* @date 2025-09-30 16:29:28
**/
@Operation
(
description
=
"导出法大大专业版模板映射表 hasPermission('archives_tfasctemplatedetail-export')"
)
@PostMapping
(
"/export"
)
@SysLog
(
"导出法大大专业版模板映射表"
)
public
void
export
(
HttpServletResponse
response
,
@RequestBody
TFascTemplateDetailSearchVo
searchVo
)
{
tFascTemplateDetailService
.
listExport
(
response
,
searchVo
);
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/mapper/TFascEditLogMapper.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
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.archives.entity.TFascEditLog
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 法大大编辑日志表
*
* @author hgw
* @date 2025-10-09 10:39:43
*/
@Mapper
public
interface
TFascEditLogMapper
extends
BaseMapper
<
TFascEditLog
>
{
/**
* 法大大编辑日志表简单分页查询
*
* @param tFascEditLog 法大大编辑日志表
* @return
*/
IPage
<
TFascEditLog
>
getTFascEditLogPage
(
Page
<
TFascEditLog
>
page
,
@Param
(
"tFascEditLog"
)
TFascEditLog
tFascEditLog
);
List
<
TFascEditLog
>
getTFascEditLogList
(
@Param
(
"tFascEditLog"
)
TFascEditLog
tFascEditLog
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/mapper/TFascHrFieldMapper.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascHrField
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
java.util.List
;
/**
* 法大大专业版皖信字段表
*
* @author hgw
* @date 2025-09-30 16:29:27
*/
@Mapper
public
interface
TFascHrFieldMapper
extends
BaseMapper
<
TFascHrField
>
{
/**
* 法大大专业版皖信字段表简单分页查询
* @param tFascHrField 法大大专业版皖信字段表
* @return
*/
IPage
<
TFascHrField
>
getTFascHrFieldPage
(
Page
<
TFascHrField
>
page
,
@Param
(
"tFascHrField"
)
TFascHrField
tFascHrField
);
List
<
TFascHrField
>
getTFascHrFieldList
(
@Param
(
"tFascHrField"
)
TFascHrField
tFascHrField
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/mapper/TFascPushLogMapper.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascPushLog
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
/**
* 法大大专业版推送日志表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
@Mapper
public
interface
TFascPushLogMapper
extends
BaseMapper
<
TFascPushLog
>
{
/**
* 法大大专业版推送日志表简单分页查询
* @param tFascPushLog 法大大专业版推送日志表
* @return
*/
IPage
<
TFascPushLog
>
getTFascPushLogPage
(
Page
<
TFascPushLog
>
page
,
@Param
(
"tFascPushLog"
)
TFascPushLog
tFascPushLog
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/mapper/TFascTemplateDetailMapper.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplateDetail
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateDetailExportVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateDetailSearchVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
java.util.List
;
/**
* 法大大专业版模板映射表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
@Mapper
public
interface
TFascTemplateDetailMapper
extends
BaseMapper
<
TFascTemplateDetail
>
{
/**
* 法大大专业版模板映射表简单分页查询
* @param tFascTemplateDetail 法大大专业版模板映射表
* @return
*/
IPage
<
TFascTemplateDetail
>
getTFascTemplateDetailPage
(
Page
<
TFascTemplateDetail
>
page
,
@Param
(
"tFascTemplateDetail"
)
TFascTemplateDetail
tFascTemplateDetail
);
List
<
TFascTemplateDetail
>
getTFascTemplateDetailList
(
@Param
(
"tFascTemplateDetail"
)
TFascTemplateDetail
tFascTemplateDetail
);
List
<
TFascTemplateDetailExportVo
>
getTFascTemplateDetailExport
(
@Param
(
"tFascTemplateDetail"
)
TFascTemplateDetailSearchVo
tFascTemplateDetail
,
@Param
(
"idList"
)
List
<
String
>
idList
);
Long
getTFascTemplateDetailExportCount
(
@Param
(
"tFascTemplateDetail"
)
TFascTemplateDetail
tFascTemplateDetail
,
@Param
(
"idList"
)
List
<
String
>
idList
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/mapper/TFascTemplateMapper.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
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.archives.entity.TFascTemplate
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateExportVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateSearchVo
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 法大大专业版模板表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
@Mapper
public
interface
TFascTemplateMapper
extends
BaseMapper
<
TFascTemplate
>
{
/**
* 法大大专业版模板表简单分页查询
* @param tFascTemplate 法大大专业版模板表
* @return
*/
IPage
<
TFascTemplate
>
getTFascTemplatePage
(
Page
<
TFascTemplate
>
page
,
@Param
(
"tFascTemplate"
)
TFascTemplate
tFascTemplate
);
List
<
TFascTemplate
>
getTFascTemplateList
(
@Param
(
"tFascTemplate"
)
TFascTemplate
tFascTemplate
);
List
<
TFascTemplateExportVo
>
getTFascTemplateExport
(
@Param
(
"tFascTemplate"
)
TFascTemplateSearchVo
tFascTemplate
,
@Param
(
"idList"
)
List
<
String
>
idList
);
/**
* @param
* @Description: 获取所有要更新是否必填的模板数据
* @Author: hgw
* @Date: 2025/10/9 18:59
* @return: java.util.List<com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate>
**/
List
<
TFascTemplate
>
getTFascTemplateResutList
(
@Param
(
"templateId"
)
String
templateId
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/TFascEditLogService.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
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.archives.entity.TFascEditLog
;
import
java.util.List
;
/**
* 法大大编辑日志表
*
* @author hgw
* @date 2025-10-09 10:39:43
*/
public
interface
TFascEditLogService
extends
IService
<
TFascEditLog
>
{
/**
* 法大大编辑日志表简单分页查询
*
* @param tFascEditLog 法大大编辑日志表
* @return
*/
IPage
<
TFascEditLog
>
getTFascEditLogPage
(
Page
<
TFascEditLog
>
page
,
TFascEditLog
tFascEditLog
);
List
<
TFascEditLog
>
getTFascEditLogList
(
TFascEditLog
searchVo
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/TFascHrFieldService.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
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.archives.entity.TFascHrField
;
import
java.util.List
;
import
java.util.Map
;
/**
* 法大大专业版皖信字段表
*
* @author hgw
* @date 2025-09-30 16:29:27
*/
public
interface
TFascHrFieldService
extends
IService
<
TFascHrField
>
{
/**
* 法大大专业版皖信字段表简单分页查询
*
* @param tFascHrField 法大大专业版皖信字段表
* @return
*/
IPage
<
TFascHrField
>
getTFascHrFieldPage
(
Page
<
TFascHrField
>
page
,
TFascHrField
tFascHrField
);
List
<
TFascHrField
>
noPageDiy
(
TFascHrField
tFascHrField
);
// 返回:合同类型,值为字段ID+_+字段 的Map
Map
<
String
,
Map
<
String
,
String
>>
getFieldAllMap
(
TFascHrField
tFascHrField
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/TFascPushLogService.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
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.archives.entity.TFascPushLog
;
import
java.util.List
;
/**
* 法大大专业版推送日志表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
public
interface
TFascPushLogService
extends
IService
<
TFascPushLog
>
{
/**
* 法大大专业版推送日志表简单分页查询
*
* @param tFascPushLog 法大大专业版推送日志表
* @return
*/
IPage
<
TFascPushLog
>
getTFascPushLogPage
(
Page
<
TFascPushLog
>
page
,
TFascPushLog
tFascPushLog
);
List
<
TFascPushLog
>
noPageDiy
(
TFascPushLog
searchVo
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/TFascTemplateDetailService.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplateDetail
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateDetailSearchVo
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.InputStream
;
import
java.util.List
;
/**
* 法大大专业版模板映射表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
public
interface
TFascTemplateDetailService
extends
IService
<
TFascTemplateDetail
>
{
/**
* 法大大专业版模板映射表简单分页查询
* @param tFascTemplateDetail 法大大专业版模板映射表
* @return
*/
IPage
<
TFascTemplateDetail
>
getTFascTemplateDetailPage
(
Page
<
TFascTemplateDetail
>
page
,
TFascTemplateDetailSearchVo
tFascTemplateDetail
);
// 获取列表
List
<
TFascTemplateDetail
>
getTFascTemplateDetailList
(
TFascTemplateDetail
tFascTemplateDetail
);
R
<
List
<
ErrorMessage
>>
batchUpdateFascDetail
(
InputStream
inputStream
);
void
listExport
(
HttpServletResponse
response
,
TFascTemplateDetailSearchVo
searchVo
);
/**
* @Description: 重新刷新主模板表的必填是否已填
* @Author: hgw
* @Date: 2025/10/10 16:35
* @return: com.yifu.cloud.plus.v1.yifu.common.core.util.R<java.lang.String>
**/
R
<
String
>
initFascTemplateIsMust
(
String
templateId
);
List
<
TFascTemplateDetail
>
noPageDiy
(
TFascTemplateDetailSearchVo
searchVo
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/TFascTemplateService.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.R
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateSearchVo
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.InputStream
;
import
java.util.List
;
/**
* 法大大专业版模板表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
public
interface
TFascTemplateService
extends
IService
<
TFascTemplate
>
{
/**
* 法大大专业版模板表简单分页查询
* @param tFascTemplate 法大大专业版模板表
* @return
*/
IPage
<
TFascTemplate
>
getTFascTemplatePage
(
Page
<
TFascTemplate
>
page
,
TFascTemplateSearchVo
tFascTemplate
);
R
<
List
<
ErrorMessage
>>
batchUpdate
(
InputStream
inputStream
);
void
listExport
(
HttpServletResponse
response
,
TFascTemplateSearchVo
searchVo
);
List
<
TFascTemplate
>
noPageDiy
(
TFascTemplateSearchVo
searchVo
);
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/FascServiceImpl.java
View file @
008be3f9
...
@@ -18,43 +18,143 @@ package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
...
@@ -18,43 +18,143 @@ package com.yifu.cloud.plus.v1.yifu.archives.service.impl;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.fasc.open.api.exception.ApiException
;
import
com.fasc.open.api.exception.ApiException
;
import
com.fasc.open.api.v5_1.res.template.DocumentInfo
;
import
com.fasc.open.api.v5_1.res.template.SignTemplateListInfo
;
import
com.fasc.open.api.v5_1.res.template.SignTemplateListInfo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.FddContractInfo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.FddContractInfo
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascEditLog
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplateDetail
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.FddContractInfoMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.FddContractInfoMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.
FascService
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.
*
;
import
com.yifu.cloud.plus.v1.yifu.archives.utils.FascUtil
;
import
com.yifu.cloud.plus.v1.yifu.archives.utils.FascUtil
;
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.util.R
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 法大大合同与员工合同信息
* 法大大专业版
* @author fxj
*
* @date 2022-06-29 16:21:51
* @author hgw
* @date 2025-9-29 14:37:03
*/
*/
@Log4j2
@Service
@Service
@RequiredArgsConstructor
@RequiredArgsConstructor
@Slf4j
public
class
FascServiceImpl
extends
ServiceImpl
<
FddContractInfoMapper
,
FddContractInfo
>
implements
FascService
{
public
class
FascServiceImpl
extends
ServiceImpl
<
FddContractInfoMapper
,
FddContractInfo
>
implements
FascService
{
@Autowired
private
final
FascUtil
fascUtil
;
private
FascUtil
fascUtil
;
private
final
TFascEditLogService
tFascEditLogService
;
private
final
TFascPushLogService
tFascPushLogService
;
private
final
TFascTemplateService
tFascTemplateService
;
private
final
TFascTemplateDetailService
tFascTemplateDetailService
;
@Override
@Override
public
R
<
String
>
getTemplate
(
String
templateName
)
throws
ApiException
{
public
R
<
String
>
getTemplate
(
String
templateName
)
throws
ApiException
{
// templateName 签署任务模板名称
// templateName 签署任务模板名称
List
<
SignTemplateListInfo
>
list
=
fascUtil
.
getTemplateList
(
templateName
);
List
<
SignTemplateListInfo
>
list
=
fascUtil
.
getTemplateList
(
templateName
,
tFascPushLogService
);
if
(
list
!=
null
&&
!
list
.
isEmpty
())
{
if
(
list
!=
null
&&
!
list
.
isEmpty
())
{
List
<
DocumentInfo
>
listDetail
=
fascUtil
.
getTemplateDetailList
(
list
);
List
<
TFascTemplate
>
tList
=
new
ArrayList
<>();
// TODO-存表里
List
<
TFascTemplateDetail
>
detailList
=
new
ArrayList
<>();
fascUtil
.
getTemplateDetailList
(
list
,
tList
,
detailList
,
tFascPushLogService
);
// 拉取到数据再更新:
if
(!
tList
.
isEmpty
()
&&
!
detailList
.
isEmpty
())
{
String
editContent1
=
"定时任务同步,拉取到数据"
;
String
editContent2
=
"定时任务同步,法大大无该数据"
;
List
<
TFascTemplate
>
updateMain
=
new
ArrayList
<>();
List
<
TFascTemplateDetail
>
updateDetail
=
new
ArrayList
<>();
List
<
TFascTemplate
>
allMain
=
tFascTemplateService
.
noPageDiy
(
null
);
List
<
TFascTemplateDetail
>
allDetail
=
tFascTemplateDetailService
.
getTFascTemplateDetailList
(
null
);
List
<
TFascEditLog
>
logList
=
new
ArrayList
<>();
if
(
allMain
==
null
||
allMain
.
isEmpty
())
{
// 都是新的:
tFascTemplateService
.
saveBatch
(
tList
);
tFascTemplateDetailService
.
saveOrUpdateBatch
(
detailList
);
for
(
TFascTemplate
t
:
tList
)
{
this
.
addFascLogToList
(
t
.
getId
(),
CommonConstants
.
ONE_STRING
,
editContent1
,
logList
);
}
for
(
TFascTemplateDetail
t
:
detailList
)
{
this
.
addFascLogToList
(
t
.
getId
(),
CommonConstants
.
TWO_STRING
,
editContent1
,
logList
);
}
}
else
{
// 混合老新数据
Map
<
String
,
TFascTemplate
>
oldMainMap
=
new
HashMap
<>();
Map
<
String
,
TFascTemplateDetail
>
oldDetailMap
=
new
HashMap
<>();
for
(
TFascTemplate
t
:
allMain
)
{
oldMainMap
.
put
(
t
.
getSignTemplateId
(),
t
);
}
for
(
TFascTemplateDetail
t
:
allDetail
)
{
oldDetailMap
.
put
(
t
.
getSignTemplateId
()
+
CommonConstants
.
DOWN_LINE_STRING
+
t
.
getFascFieldId
(),
t
);
}
// 主表:
TFascTemplate
oldMain
;
for
(
TFascTemplate
t
:
tList
)
{
oldMain
=
oldMainMap
.
get
(
t
.
getSignTemplateId
());
if
(
oldMain
!=
null
)
{
t
.
setId
(
oldMain
.
getId
());
}
this
.
addFascLogToList
(
t
.
getId
(),
CommonConstants
.
ONE_STRING
,
editContent1
,
logList
);
updateMain
.
add
(
t
);
oldMainMap
.
remove
(
t
.
getSignTemplateId
());
}
for
(
TFascTemplate
t
:
oldMainMap
.
values
())
{
this
.
addFascLogToList
(
t
.
getId
(),
CommonConstants
.
ONE_STRING
,
editContent2
,
logList
);
t
.
setDeleteFlag
(
CommonConstants
.
DELETE_FLAG
);
updateMain
.
add
(
t
);
}
// 映射表:
TFascTemplateDetail
oldDetail
;
for
(
TFascTemplateDetail
t
:
detailList
)
{
oldDetail
=
oldDetailMap
.
get
(
t
.
getSignTemplateId
()
+
CommonConstants
.
DOWN_LINE_STRING
+
t
.
getFascFieldId
());
if
(
oldDetail
!=
null
)
{
t
.
setId
(
oldDetail
.
getId
());
}
this
.
addFascLogToList
(
t
.
getId
(),
CommonConstants
.
TWO_STRING
,
editContent1
,
logList
);
updateDetail
.
add
(
t
);
oldDetailMap
.
remove
(
t
.
getSignTemplateId
()
+
CommonConstants
.
DOWN_LINE_STRING
+
t
.
getFascFieldId
());
}
for
(
TFascTemplateDetail
t
:
oldDetailMap
.
values
())
{
this
.
addFascLogToList
(
t
.
getId
(),
CommonConstants
.
TWO_STRING
,
editContent2
,
logList
);
t
.
setDeleteFlag
(
CommonConstants
.
DELETE_FLAG
);
updateDetail
.
add
(
t
);
}
}
// 更新日志
if
(!
logList
.
isEmpty
())
{
tFascEditLogService
.
saveBatch
(
logList
);
}
// 更新模板
if
(!
updateMain
.
isEmpty
())
{
tFascTemplateService
.
saveOrUpdateBatch
(
updateMain
);
}
// 更新模板映射
if
(!
updateDetail
.
isEmpty
())
{
tFascTemplateDetailService
.
saveOrUpdateBatch
(
updateDetail
);
}
// 重新刷新主模板表的必填是否已填
tFascTemplateDetailService
.
initFascTemplateIsMust
(
null
);
}
}
}
return
R
.
ok
();
return
R
.
ok
();
}
}
/**
* 向list里添加新日志
*/
private
void
addFascLogToList
(
String
mainId
,
String
mainType
,
String
editContent
,
List
<
TFascEditLog
>
logList
)
{
TFascEditLog
log
=
new
TFascEditLog
();
log
.
setMainId
(
mainId
);
log
.
setMainType
(
mainType
);
log
.
setEditContent
(
editContent
);
logList
.
add
(
log
);
}
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TFascEditLogServiceImpl.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
service
.
impl
;
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.yifu.archives.entity.TFascEditLog
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TFascEditLogMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TFascEditLogService
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* 法大大编辑日志表
*
* @author hgw
* @date 2025-10-09 10:39:43
*/
@Log4j2
@Service
public
class
TFascEditLogServiceImpl
extends
ServiceImpl
<
TFascEditLogMapper
,
TFascEditLog
>
implements
TFascEditLogService
{
/**
* 法大大编辑日志表简单分页查询
*
* @param tFascEditLog 法大大编辑日志表
* @return
*/
@Override
public
IPage
<
TFascEditLog
>
getTFascEditLogPage
(
Page
<
TFascEditLog
>
page
,
TFascEditLog
tFascEditLog
)
{
return
baseMapper
.
getTFascEditLogPage
(
page
,
tFascEditLog
);
}
@Override
public
List
<
TFascEditLog
>
getTFascEditLogList
(
TFascEditLog
searchVo
)
{
return
baseMapper
.
getTFascEditLogList
(
searchVo
);
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TFascHrFieldServiceImpl.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
service
.
impl
;
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.yifu.archives.entity.TFascHrField
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TFascHrFieldMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TFascHrFieldService
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Service
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 法大大专业版皖信字段表
*
* @author hgw
* @date 2025-09-30 16:29:27
*/
@Log4j2
@Service
public
class
TFascHrFieldServiceImpl
extends
ServiceImpl
<
TFascHrFieldMapper
,
TFascHrField
>
implements
TFascHrFieldService
{
/**
* 法大大专业版皖信字段表简单分页查询
* @param tFascHrField 法大大专业版皖信字段表
* @return
*/
@Override
public
IPage
<
TFascHrField
>
getTFascHrFieldPage
(
Page
<
TFascHrField
>
page
,
TFascHrField
tFascHrField
){
return
baseMapper
.
getTFascHrFieldPage
(
page
,
tFascHrField
);
}
@Override
public
List
<
TFascHrField
>
noPageDiy
(
TFascHrField
tFascHrField
)
{
return
baseMapper
.
getTFascHrFieldList
(
tFascHrField
);
}
@Override
public
Map
<
String
,
Map
<
String
,
String
>>
getFieldAllMap
(
TFascHrField
tFascHrField
)
{
List
<
TFascHrField
>
list
=
baseMapper
.
getTFascHrFieldList
(
tFascHrField
);
Map
<
String
,
Map
<
String
,
String
>>
contractTypeMap
=
new
HashMap
<>();
Map
<
String
,
String
>
fieldMap
;
if
(
list
!=
null
&&
!
list
.
isEmpty
())
{
for
(
TFascHrField
f
:
list
)
{
fieldMap
=
contractTypeMap
.
get
(
f
.
getContractType
());
if
(
fieldMap
==
null
)
{
fieldMap
=
new
HashMap
<>();
}
fieldMap
.
put
(
f
.
getHrFieldId
()
+
CommonConstants
.
DOWN_LINE_STRING
+
f
.
getHrField
(),
f
.
getId
());
contractTypeMap
.
put
(
f
.
getContractType
(),
fieldMap
);
}
}
return
contractTypeMap
;
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TFascPushLogServiceImpl.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
service
.
impl
;
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.archives.entity.TFascPushLog
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TFascPushLogMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TFascPushLogService
;
import
com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* 法大大专业版推送日志表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
@Log4j2
@Service
public
class
TFascPushLogServiceImpl
extends
ServiceImpl
<
TFascPushLogMapper
,
TFascPushLog
>
implements
TFascPushLogService
{
/**
* 法大大专业版推送日志表简单分页查询
* @param tFascPushLog 法大大专业版推送日志表
* @return
*/
@Override
public
IPage
<
TFascPushLog
>
getTFascPushLogPage
(
Page
<
TFascPushLog
>
page
,
TFascPushLog
tFascPushLog
){
return
baseMapper
.
getTFascPushLogPage
(
page
,
tFascPushLog
);
}
@Override
public
List
<
TFascPushLog
>
noPageDiy
(
TFascPushLog
searchVo
)
{
LambdaQueryWrapper
<
TFascPushLog
>
wrapper
=
Wrappers
.
lambdaQuery
();
wrapper
.
orderByDesc
(
BaseEntity:
:
getCreateTime
);
return
baseMapper
.
selectList
(
wrapper
);
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TFascTemplateDetailServiceImpl.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
service
.
impl
;
import
cn.hutool.core.util.ArrayUtil
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.EasyExcelFactory
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.context.AnalysisContext
;
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.archives.entity.TFascEditLog
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplateDetail
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TFascTemplateDetailMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TFascTemplateMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TFascEditLogService
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TFascHrFieldService
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TFascTemplateDetailService
;
import
com.yifu.cloud.plus.v1.yifu.archives.utils.FascConstants
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateDetailExportVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateDetailSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateDetailUpdateVo
;
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
lombok.RequiredArgsConstructor
;
import
lombok.extern.log4j.Log4j2
;
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.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 法大大专业版模板映射表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
@Log4j2
@Service
@RequiredArgsConstructor
public
class
TFascTemplateDetailServiceImpl
extends
ServiceImpl
<
TFascTemplateDetailMapper
,
TFascTemplateDetail
>
implements
TFascTemplateDetailService
{
private
final
TFascEditLogService
tFascEditLogService
;
private
final
TFascHrFieldService
tFascHrFieldService
;
private
final
TFascTemplateMapper
tFascTemplateMapper
;
/**
* 法大大专业版模板映射表简单分页查询
*
* @param tFascTemplateDetail 法大大专业版模板映射表
* @return
*/
@Override
public
IPage
<
TFascTemplateDetail
>
getTFascTemplateDetailPage
(
Page
<
TFascTemplateDetail
>
page
,
TFascTemplateDetailSearchVo
tFascTemplateDetail
)
{
return
baseMapper
.
getTFascTemplateDetailPage
(
page
,
tFascTemplateDetail
);
}
/**
* 法大大专业版模板映射表简单分页查询
*
* @param tFascTemplateDetail 法大大专业版模板映射表
* @return
*/
@Override
public
List
<
TFascTemplateDetail
>
getTFascTemplateDetailList
(
TFascTemplateDetail
tFascTemplateDetail
)
{
return
baseMapper
.
getTFascTemplateDetailList
(
tFascTemplateDetail
);
}
/**
* 法大大专业版模板映射表批量导出
*
* @param searchVo 法大大专业版模板映射表
* @return
*/
@Override
public
void
listExport
(
HttpServletResponse
response
,
TFascTemplateDetailSearchVo
searchVo
)
{
String
fileName
=
"法大大字段映射关系表"
+
DateUtil
.
getThisTime
()
+
".xlsx"
;
//获取要导出的列表
List
<
TFascTemplateDetailExportVo
>
list
=
new
ArrayList
<>();
List
<
String
>
idList
=
Common
.
getList
(
searchVo
.
getIds
());
long
count
=
baseMapper
.
getTFascTemplateDetailExportCount
(
searchVo
,
idList
);
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,然后文件流会自动关闭
ExcelWriter
excelWriter
=
EasyExcelFactory
.
write
(
out
,
TFascTemplateDetailExportVo
.
class
).
build
();
int
index
=
0
;
if
(
count
>
CommonConstants
.
ZERO_INT
)
{
WriteSheet
writeSheet
;
for
(
int
i
=
0
;
i
<=
count
;
i
+=
CommonConstants
.
EXCEL_EXPORT_LIMIT
)
{
// 获取实际记录
searchVo
.
setLimitStart
(
i
);
searchVo
.
setLimitEnd
(
CommonConstants
.
EXCEL_EXPORT_LIMIT
);
list
=
baseMapper
.
getTFascTemplateDetailExport
(
searchVo
,
idList
);
if
(
Common
.
isNotNull
(
list
))
{
writeSheet
=
EasyExcelFactory
.
writerSheet
(
"映射关系配置——列表字段"
+
index
).
build
();
excelWriter
.
write
(
list
,
writeSheet
);
index
++;
}
}
}
else
{
WriteSheet
writeSheet
=
EasyExcelFactory
.
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
);
}
}
}
@Override
public
List
<
TFascTemplateDetail
>
noPageDiy
(
TFascTemplateDetailSearchVo
searchVo
)
{
LambdaQueryWrapper
<
TFascTemplateDetail
>
wrapper
=
buildQueryWrapper
(
searchVo
);
if
(
searchVo
!=
null
)
{
List
<
String
>
idList
=
Common
.
getList
(
searchVo
.
getIds
());
if
(
Common
.
isNotNull
(
idList
))
{
wrapper
.
in
(
TFascTemplateDetail:
:
getId
,
idList
);
}
if
(
searchVo
.
getLimitStart
()
>=
0
&&
searchVo
.
getLimitEnd
()
>
0
)
{
wrapper
.
last
(
" limit "
+
searchVo
.
getLimitStart
()
+
","
+
searchVo
.
getLimitEnd
());
}
}
wrapper
.
orderByDesc
(
BaseEntity:
:
getCreateTime
);
return
baseMapper
.
selectList
(
wrapper
);
}
private
LambdaQueryWrapper
buildQueryWrapper
(
TFascTemplateDetailSearchVo
entity
)
{
LambdaQueryWrapper
<
TFascTemplateDetail
>
wrapper
=
Wrappers
.
lambdaQuery
();
if
(
ArrayUtil
.
isNotEmpty
(
entity
.
getCreateTimes
()))
{
wrapper
.
ge
(
TFascTemplateDetail:
:
getCreateTime
,
entity
.
getCreateTimes
()[
0
])
.
le
(
TFascTemplateDetail:
:
getCreateTime
,
entity
.
getCreateTimes
()[
1
]);
}
if
(
Common
.
isNotNull
(
entity
.
getCreateName
()))
{
wrapper
.
eq
(
TFascTemplateDetail:
:
getCreateName
,
entity
.
getCreateName
());
}
return
wrapper
;
}
/**
* @Description: 获取模板,key是id与_与名称的组合
* @Author: hgw
* @Date: 2025/10/9 9:33
* @return: java.util.Map<java.lang.String, com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate>
**/
private
Map
<
String
,
TFascTemplateDetail
>
getTemplateDetailMap
()
{
List
<
TFascTemplateDetail
>
list
=
baseMapper
.
getTFascTemplateDetailList
(
null
);
Map
<
String
,
TFascTemplateDetail
>
map
=
new
HashMap
<>();
if
(
Common
.
isNotNull
(
list
))
{
for
(
TFascTemplateDetail
t
:
list
)
{
map
.
put
(
t
.
getSignTemplateId
()
+
CommonConstants
.
DOWN_LINE_STRING
+
t
.
getSignTemplateName
()
+
CommonConstants
.
DOWN_LINE_STRING
+
t
.
getFascFieldId
()
+
CommonConstants
.
DOWN_LINE_STRING
+
t
.
getFascField
(),
t
);
}
}
return
map
;
}
@Override
public
R
<
List
<
ErrorMessage
>>
batchUpdateFascDetail
(
InputStream
inputStream
)
{
List
<
ErrorMessage
>
errorMessageList
=
new
ArrayList
<>();
ExcelUtil
<
TFascTemplateDetailUpdateVo
>
util1
=
new
ExcelUtil
<>(
TFascTemplateDetailUpdateVo
.
class
);
Map
<
String
,
TFascTemplateDetail
>
templateDetailMap
=
this
.
getTemplateDetailMap
();
Map
<
String
,
Map
<
String
,
String
>>
fieldAllMap
=
tFascHrFieldService
.
getFieldAllMap
(
null
);
// 写法2:
// 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
try
{
EasyExcel
.
read
(
inputStream
,
TFascTemplateDetailUpdateVo
.
class
,
new
ReadListener
<
TFascTemplateDetailUpdateVo
>()
{
/**
* 单次缓存的数据量
*/
public
static
final
int
BATCH_COUNT
=
CommonConstants
.
BATCH_COUNT
;
/**
*临时存储
*/
private
List
<
TFascTemplateDetailUpdateVo
>
cachedDataList
=
ListUtils
.
newArrayListWithExpectedSize
(
BATCH_COUNT
);
@Override
public
void
invoke
(
TFascTemplateDetailUpdateVo
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
());
updateTFascTemplate
(
cachedDataList
,
errorMessageList
,
templateDetailMap
,
fieldAllMap
);
log
.
info
(
"存储数据库成功!"
);
}
}).
sheet
().
doRead
();
}
catch
(
Exception
e
)
{
log
.
error
(
CommonConstants
.
IMPORT_DATA_ANALYSIS_ERROR
,
e
);
return
R
.
failed
(
CommonConstants
.
IMPORT_DATA_ANALYSIS_ERROR
);
}
for
(
ErrorMessage
message
:
errorMessageList
)
{
if
(!
CommonConstants
.
SAVE_SUCCESS
.
equals
(
message
.
getMessage
()))
{
return
R
.
ok
(
errorMessageList
);
}
}
return
R
.
ok
();
}
private
void
updateTFascTemplate
(
List
<
TFascTemplateDetailUpdateVo
>
excelVOList
,
List
<
ErrorMessage
>
errorMessageList
,
Map
<
String
,
TFascTemplateDetail
>
templateDetailMap
,
Map
<
String
,
Map
<
String
,
String
>>
fieldAllMap
)
{
TFascTemplateDetailUpdateVo
excel
;
TFascTemplateDetail
tUpdate
;
List
<
TFascTemplateDetail
>
tempUpdateList
=
new
ArrayList
<>();
List
<
TFascEditLog
>
logList
=
new
ArrayList
<>();
TFascEditLog
tFascEditLog
;
String
editContent
;
Map
<
String
,
String
>
fieldMap
;
for
(
int
i
=
0
;
i
<
excelVOList
.
size
();
i
++)
{
excel
=
excelVOList
.
get
(
i
);
if
(
Common
.
isEmpty
(
excel
.
getHrField
())
||
Common
.
isEmpty
(
excel
.
getHrFieldId
()))
{
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"对应皖信字段、对应皖信字段ID不可为空"
,
excel
));
}
else
{
tUpdate
=
templateDetailMap
.
get
(
excel
.
getSignTemplateId
()
+
CommonConstants
.
DOWN_LINE_STRING
+
excel
.
getSignTemplateName
()
+
CommonConstants
.
DOWN_LINE_STRING
+
excel
.
getFascFieldId
()
+
CommonConstants
.
DOWN_LINE_STRING
+
excel
.
getFascField
());
if
(
tUpdate
==
null
)
{
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"根据法大大模版名称、模版ID、法大大字段、法大大字段ID,未找到映射关系"
,
excel
));
}
else
if
(
Common
.
isEmpty
(
tUpdate
.
getContractType
()))
{
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"该法大大模版无合同类型,请先配置模板"
,
excel
));
}
else
{
fieldMap
=
fieldAllMap
.
get
(
tUpdate
.
getContractType
());
if
(
fieldMap
==
null
)
{
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"该合同类型“"
+
tUpdate
.
getContractType
()
+
"”无字段配置,请联系管理员配置表TFascHrField"
,
excel
));
}
else
{
if
(
fieldMap
.
get
(
excel
.
getHrFieldId
()
+
CommonConstants
.
DOWN_LINE_STRING
+
excel
.
getHrField
())
==
null
)
{
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"该合同类型下,未找到皖信字段"
,
excel
));
}
else
{
// 真正的更新:
tFascEditLog
=
new
TFascEditLog
();
tFascEditLog
.
setMainId
(
tUpdate
.
getId
());
tFascEditLog
.
setMainType
(
CommonConstants
.
TWO_STRING
);
if
(
excel
.
getHrField
().
equals
(
tUpdate
.
getHrField
())
&&
excel
.
getHrFieldId
().
equals
(
tUpdate
.
getHrFieldId
()))
{
editContent
=
"“皖信字段”由“"
+
tUpdate
.
getHrField
()
+
"”→“"
+
excel
.
getHrField
()
+
"”"
;
}
else
{
if
(
Common
.
isEmpty
(
tUpdate
.
getHrFieldId
()))
{
editContent
=
"“皖信字段”由“空”→“"
+
excel
.
getHrField
()
+
"”"
;
}
else
{
editContent
=
"“皖信字段”由“"
+
tUpdate
.
getHrField
()
+
"”→“"
+
excel
.
getHrField
()
+
"”"
;
}
tUpdate
.
setHrField
(
excel
.
getHrField
());
tUpdate
.
setHrFieldId
(
excel
.
getHrFieldId
());
if
(
Common
.
isEmpty
(
tUpdate
.
getIsEdit
())
||
tUpdate
.
getIsEdit
().
equals
(
CommonConstants
.
ZERO_STRING
))
{
tUpdate
.
setIsEdit
(
CommonConstants
.
ONE_STRING
);
editContent
+=
";“是否已配置”由“未配置”→“已配置”"
;
}
// 添加到更新list
tempUpdateList
.
add
(
tUpdate
);
}
tFascEditLog
.
setEditContent
(
editContent
);
logList
.
add
(
tFascEditLog
);
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
CommonConstants
.
SAVE_SUCCESS
));
}
}
}
}
}
if
(!
tempUpdateList
.
isEmpty
())
{
this
.
saveBatch
(
tempUpdateList
);
}
if
(!
logList
.
isEmpty
())
{
tFascEditLogService
.
saveBatch
(
logList
);
}
// 开始检测Bingo更新模板是否已配置:
this
.
initFascTemplateIsMust
(
null
);
}
@Override
public
R
<
String
>
initFascTemplateIsMust
(
String
templateId
)
{
// 先查找:
List
<
TFascTemplate
>
tFascTemplateList
=
tFascTemplateMapper
.
getTFascTemplateResutList
(
templateId
);
if
(
tFascTemplateList
!=
null
&&
!
tFascTemplateList
.
isEmpty
())
{
List
<
TFascTemplate
>
updateList
=
new
ArrayList
<>();
List
<
TFascEditLog
>
logList
=
new
ArrayList
<>();
TFascEditLog
tFascEditLog
;
String
editContent
;
// 0未配置1部分配置2已配置
String
isMustEditNew
;
for
(
TFascTemplate
t
:
tFascTemplateList
)
{
// 改变的,需要更新
if
(
Common
.
isNotNull
(
t
.
getIsMustEdit
())
&&
Common
.
isNotNull
(
t
.
getIsMustAll
())
&&
Common
.
isNotNull
(
t
.
getIsMustNow
()))
{
// 如果必填项没了,则默认为已配置
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
t
.
getIsMustAll
())
||
t
.
getIsMustAll
().
equals
(
t
.
getIsMustNow
()))
{
isMustEditNew
=
CommonConstants
.
TWO_STRING
;
}
else
if
(
CommonConstants
.
ZERO_STRING
.
equals
(
t
.
getIsMustNow
()))
{
isMustEditNew
=
CommonConstants
.
ZERO_STRING
;
}
else
{
isMustEditNew
=
CommonConstants
.
ONE_STRING
;
}
// 如果结果发生了变化,则更新:
if
(!
t
.
getIsMustEdit
().
equals
(
isMustEditNew
))
{
tFascEditLog
=
new
TFascEditLog
();
tFascEditLog
.
setMainId
(
t
.
getId
());
tFascEditLog
.
setMainType
(
CommonConstants
.
ONE_STRING
);
editContent
=
"“是否已配置”由“"
+
FascConstants
.
IS_MUST_EDIT_ARR
[
Integer
.
parseInt
(
t
.
getIsMustEdit
())]
+
"”→“"
+
FascConstants
.
IS_MUST_EDIT_ARR
[
Integer
.
parseInt
(
isMustEditNew
)]
+
"”"
;
tFascEditLog
.
setEditContent
(
editContent
);
logList
.
add
(
tFascEditLog
);
t
.
setIsMustEdit
(
isMustEditNew
);
updateList
.
add
(
t
);
}
}
}
if
(!
updateList
.
isEmpty
())
{
for
(
TFascTemplate
t
:
updateList
)
{
tFascTemplateMapper
.
updateById
(
t
);
}
}
if
(!
logList
.
isEmpty
())
{
tFascEditLogService
.
saveBatch
(
logList
);
}
}
return
R
.
ok
();
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/service/impl/TFascTemplateServiceImpl.java
0 → 100644
View file @
008be3f9
/*
* 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
.
archives
.
service
.
impl
;
import
cn.hutool.core.util.ArrayUtil
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.EasyExcelFactory
;
import
com.alibaba.excel.ExcelWriter
;
import
com.alibaba.excel.context.AnalysisContext
;
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.archives.entity.TFascEditLog
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplateDetail
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TFascTemplateDetailMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.mapper.TFascTemplateMapper
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TFascEditLogService
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TFascTemplateService
;
import
com.yifu.cloud.plus.v1.yifu.archives.utils.FascConstants
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateExportVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateSearchVo
;
import
com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateUpdateVo
;
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
lombok.RequiredArgsConstructor
;
import
lombok.extern.log4j.Log4j2
;
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.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* 法大大专业版模板表
*
* @author hgw
* @date 2025-09-30 16:29:28
*/
@Log4j2
@Service
@RequiredArgsConstructor
public
class
TFascTemplateServiceImpl
extends
ServiceImpl
<
TFascTemplateMapper
,
TFascTemplate
>
implements
TFascTemplateService
{
private
final
TFascEditLogService
tFascEditLogService
;
private
final
TFascTemplateDetailMapper
tFascTemplateDetailMapper
;
/**
* 法大大专业版模板表简单分页查询
*
* @param tFascTemplate 法大大专业版模板表
* @return
*/
@Override
public
IPage
<
TFascTemplate
>
getTFascTemplatePage
(
Page
<
TFascTemplate
>
page
,
TFascTemplateSearchVo
tFascTemplate
)
{
return
baseMapper
.
getTFascTemplatePage
(
page
,
tFascTemplate
);
}
/**
* 法大大专业版模板表批量导出
*
* @return
*/
@Override
public
void
listExport
(
HttpServletResponse
response
,
TFascTemplateSearchVo
searchVo
)
{
String
fileName
=
"法大大模版列表导出"
+
DateUtil
.
getThisTime
()
+
".xlsx"
;
//获取要导出的列表
List
<
TFascTemplateExportVo
>
list
=
new
ArrayList
<>();
List
<
String
>
idList
=
Common
.
getList
(
searchVo
.
getIds
());
long
count
=
noPageCountDiy
(
searchVo
,
idList
);
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,然后文件流会自动关闭
ExcelWriter
excelWriter
=
EasyExcelFactory
.
write
(
out
,
TFascTemplateExportVo
.
class
).
build
();
int
index
=
0
;
if
(
count
>
CommonConstants
.
ZERO_INT
)
{
WriteSheet
writeSheet
;
for
(
int
i
=
0
;
i
<=
count
;
i
+=
CommonConstants
.
EXCEL_EXPORT_LIMIT
)
{
// 获取实际记录
searchVo
.
setLimitStart
(
i
);
searchVo
.
setLimitEnd
(
CommonConstants
.
EXCEL_EXPORT_LIMIT
);
list
=
baseMapper
.
getTFascTemplateExport
(
searchVo
,
idList
);
if
(
Common
.
isNotNull
(
list
))
{
writeSheet
=
EasyExcelFactory
.
writerSheet
(
"法大大模版列表"
+
index
).
build
();
excelWriter
.
write
(
list
,
writeSheet
);
index
++;
}
}
}
else
{
WriteSheet
writeSheet
=
EasyExcelFactory
.
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
);
}
}
}
@Override
public
List
<
TFascTemplate
>
noPageDiy
(
TFascTemplateSearchVo
searchVo
)
{
LambdaQueryWrapper
<
TFascTemplate
>
wrapper
=
buildQueryWrapper
(
searchVo
);
if
(
searchVo
!=
null
)
{
List
<
String
>
idList
=
Common
.
getList
(
searchVo
.
getIds
());
if
(
Common
.
isNotNull
(
idList
))
{
wrapper
.
in
(
TFascTemplate:
:
getId
,
idList
);
}
wrapper
.
orderByDesc
(
BaseEntity:
:
getCreateTime
);
if
(
searchVo
.
getLimitStart
()
>=
0
&&
searchVo
.
getLimitEnd
()
>
0
)
{
wrapper
.
last
(
" limit "
+
searchVo
.
getLimitStart
()
+
","
+
searchVo
.
getLimitEnd
());
}
}
return
baseMapper
.
selectList
(
wrapper
);
}
private
Long
noPageCountDiy
(
TFascTemplateSearchVo
searchVo
,
List
<
String
>
idList
)
{
LambdaQueryWrapper
<
TFascTemplate
>
wrapper
=
buildQueryWrapper
(
searchVo
);
if
(
Common
.
isNotNull
(
idList
))
{
wrapper
.
in
(
TFascTemplate:
:
getId
,
idList
);
}
return
baseMapper
.
selectCount
(
wrapper
);
}
private
LambdaQueryWrapper
buildQueryWrapper
(
TFascTemplateSearchVo
entity
)
{
LambdaQueryWrapper
<
TFascTemplate
>
wrapper
=
Wrappers
.
lambdaQuery
();
if
(
entity
!=
null
)
{
if
(
ArrayUtil
.
isNotEmpty
(
entity
.
getCreateTimes
()))
{
wrapper
.
ge
(
TFascTemplate:
:
getCreateTime
,
entity
.
getCreateTimes
()[
0
])
.
le
(
TFascTemplate:
:
getCreateTime
,
entity
.
getCreateTimes
()[
1
]);
}
if
(
Common
.
isNotNull
(
entity
.
getCreateName
()))
{
wrapper
.
eq
(
TFascTemplate:
:
getCreateName
,
entity
.
getCreateName
());
}
}
wrapper
.
eq
(
TFascTemplate:
:
getDeleteFlag
,
CommonConstants
.
ZERO_STRING
);
return
wrapper
;
}
/**
* @Description: 获取模板,key是id与_与名称的组合
* @Author: hgw
* @Date: 2025/10/9 9:33
* @return: java.util.Map<java.lang.String, com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate>
**/
private
Map
<
String
,
TFascTemplate
>
getTemplateMap
()
{
List
<
TFascTemplate
>
list
=
baseMapper
.
getTFascTemplateList
(
null
);
Map
<
String
,
TFascTemplate
>
map
=
new
HashMap
<>();
if
(
Common
.
isNotNull
(
list
))
{
for
(
TFascTemplate
t
:
list
)
{
map
.
put
(
t
.
getSignTemplateId
()
+
CommonConstants
.
DOWN_LINE_STRING
+
t
.
getSignTemplateName
(),
t
);
}
}
return
map
;
}
@Override
public
R
<
List
<
ErrorMessage
>>
batchUpdate
(
InputStream
inputStream
)
{
List
<
ErrorMessage
>
errorMessageList
=
new
ArrayList
<>();
ExcelUtil
<
TFascTemplateUpdateVo
>
util1
=
new
ExcelUtil
<>(
TFascTemplateUpdateVo
.
class
);
Map
<
String
,
TFascTemplate
>
templateMap
=
this
.
getTemplateMap
();
// 写法2:
// 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
try
{
EasyExcel
.
read
(
inputStream
,
TFascTemplateUpdateVo
.
class
,
new
ReadListener
<
TFascTemplateUpdateVo
>()
{
/**
* 单次缓存的数据量
*/
public
static
final
int
BATCH_COUNT
=
CommonConstants
.
BATCH_COUNT
;
/**
*临时存储
*/
private
List
<
TFascTemplateUpdateVo
>
cachedDataList
=
ListUtils
.
newArrayListWithExpectedSize
(
BATCH_COUNT
);
@Override
public
void
invoke
(
TFascTemplateUpdateVo
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
());
updateTFascTemplate
(
cachedDataList
,
errorMessageList
,
templateMap
);
log
.
info
(
"存储数据库成功!"
);
}
}).
sheet
().
doRead
();
}
catch
(
Exception
e
)
{
log
.
error
(
CommonConstants
.
IMPORT_DATA_ANALYSIS_ERROR
,
e
);
return
R
.
failed
(
CommonConstants
.
IMPORT_DATA_ANALYSIS_ERROR
);
}
for
(
ErrorMessage
message
:
errorMessageList
)
{
if
(!
CommonConstants
.
SAVE_SUCCESS
.
equals
(
message
.
getMessage
()))
{
return
R
.
ok
(
errorMessageList
);
}
}
return
R
.
ok
();
}
private
void
updateTFascTemplate
(
List
<
TFascTemplateUpdateVo
>
excelVOList
,
List
<
ErrorMessage
>
errorMessageList
,
Map
<
String
,
TFascTemplate
>
templateMap
)
{
TFascTemplateUpdateVo
excel
;
// 合同类型Map
Map
<
String
,
String
>
contractNameMap
=
new
HashMap
<>();
for
(
String
contractName
:
FascConstants
.
CONTRACT_NAME_ARR
)
{
contractNameMap
.
put
(
contractName
,
contractName
);
}
TFascTemplate
tUpdate
;
List
<
TFascTemplate
>
tempUpdateList
=
new
ArrayList
<>();
List
<
TFascEditLog
>
logList
=
new
ArrayList
<>();
TFascEditLog
tFascEditLog
;
TFascEditLog
tFascEditLogDetail
;
String
editContent
;
String
detailEditContent
;
List
<
TFascTemplateDetail
>
detailList
;
List
<
TFascTemplateDetail
>
updateDetailList
=
new
ArrayList
<>();
TFascTemplateDetail
tFascTemplateDetail
;
for
(
int
i
=
0
;
i
<
excelVOList
.
size
();
i
++)
{
excel
=
excelVOList
.
get
(
i
);
if
(
Common
.
isEmpty
(
excel
.
getContractType
())
||
contractNameMap
.
get
(
excel
.
getContractType
())
==
null
)
{
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"皖信合同类型错误"
,
excel
));
}
else
{
tUpdate
=
templateMap
.
get
(
excel
.
getSignTemplateId
()
+
CommonConstants
.
DOWN_LINE_STRING
+
excel
.
getSignTemplateName
());
if
(
tUpdate
==
null
)
{
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
"根据模版ID、模版名称,未找到模板"
,
excel
));
}
else
{
tFascEditLog
=
new
TFascEditLog
();
tFascEditLog
.
setMainId
(
tUpdate
.
getId
());
tFascEditLog
.
setMainType
(
CommonConstants
.
ONE_STRING
);
if
(
excel
.
getContractType
().
equals
(
tUpdate
.
getContractType
()))
{
editContent
=
"“合同类型”由“"
+
tUpdate
.
getContractType
()
+
"”→“"
+
excel
.
getContractType
()
+
"”"
;
}
else
{
if
(
Common
.
isEmpty
(
tUpdate
.
getContractType
()))
{
editContent
=
"“合同类型”由“空”→“"
+
excel
.
getContractType
()
+
"”"
;
}
else
{
editContent
=
"“合同类型”由“"
+
tUpdate
.
getContractType
()
+
"”→“"
+
excel
.
getContractType
()
+
"”"
;
if
(
Common
.
isNotNull
(
tUpdate
.
getIsMustEdit
())
&&
tUpdate
.
getIsMustEdit
().
equals
(
CommonConstants
.
ONE_STRING
))
{
tUpdate
.
setIsMustEdit
(
CommonConstants
.
ZERO_STRING
);
editContent
+=
";“法大大必填是否已配置”由“已配置”→“未配置”"
;
}
// 合同类型变更,清空明细配置:
tFascTemplateDetail
=
new
TFascTemplateDetail
();
tFascTemplateDetail
.
setSignTemplateId
(
tUpdate
.
getSignTemplateId
());
detailList
=
tFascTemplateDetailMapper
.
getTFascTemplateDetailList
(
tFascTemplateDetail
);
if
(
detailList
!=
null
&&
!
detailList
.
isEmpty
())
{
for
(
TFascTemplateDetail
detail
:
detailList
)
{
if
(
Common
.
isNotNull
(
detail
.
getHrField
()))
{
tFascEditLogDetail
=
new
TFascEditLog
();
tFascEditLogDetail
.
setMainId
(
detail
.
getId
());
tFascEditLogDetail
.
setMainType
(
CommonConstants
.
TWO_STRING
);
detailEditContent
=
"“皖信字段”由“"
+
detail
.
getHrField
()
+
"”→“空”;“是否已配置”由“已配置”→“未配置”"
;
tFascEditLogDetail
.
setEditContent
(
detailEditContent
);
logList
.
add
(
tFascEditLogDetail
);
detail
.
setHrField
(
null
);
detail
.
setHrFieldId
(
null
);
detail
.
setIsEdit
(
CommonConstants
.
ZERO_STRING
);
updateDetailList
.
add
(
detail
);
}
}
}
}
tUpdate
.
setContractType
(
excel
.
getContractType
());
// 添加到更新list
tempUpdateList
.
add
(
tUpdate
);
}
tFascEditLog
.
setEditContent
(
editContent
);
logList
.
add
(
tFascEditLog
);
errorMessageList
.
add
(
new
ErrorMessage
(
excel
.
getRowIndex
(),
CommonConstants
.
SAVE_SUCCESS
));
}
}
}
// 更新模板
if
(!
tempUpdateList
.
isEmpty
())
{
this
.
saveBatch
(
tempUpdateList
);
}
// 更新日志
if
(!
logList
.
isEmpty
())
{
tFascEditLogService
.
saveBatch
(
logList
);
}
// 更新映射表
if
(!
updateDetailList
.
isEmpty
())
{
for
(
TFascTemplateDetail
detail
:
updateDetailList
)
{
tFascTemplateDetailMapper
.
updateById
(
detail
);
}
}
}
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/utils/FascConstants.java
0 → 100644
View file @
008be3f9
/*
* Copyright (c) 2020 yifu4cloud Authors. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com
.
yifu
.
cloud
.
plus
.
v1
.
yifu
.
archives
.
utils
;
/**
* @author lengleng
* @date 2019/2/1
*/
public
interface
FascConstants
{
/**
* 合同类型
*/
String
[]
CONTRACT_NAME_ARR
=
{
"标准合同"
,
"劳务协议"
,
"实习协议"
,
"非全日制"
,
"劳务派遣合同"
};
/**
* 必填是否已配置0未配置1部分配置2已配置
**/
String
[]
IS_MUST_EDIT_ARR
=
{
"未配置"
,
"部分配置"
,
"已配置"
};
// 控件类型是文本等,可以填写
String
FIELD_TEXT_TYPE
=
"text_single_line,text_multi_line,number,id_card,fill_date"
;
// 控件类型是印章
String
FIELD_ZHANG_TYPE
=
"corp_seal,corp_seal_cross_page"
;
//String FIELD_TYPE = "text_single_line,text_multi_line,number,id_card,fill_date,multi_radio,multi_checkbox,picture,select_box,table,verification_code,business_code";
}
yifu-archives/yifu-archives-biz/src/main/java/com/yifu/cloud/plus/v1/yifu/archives/utils/FascUtil.java
View file @
008be3f9
...
@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.utils;
...
@@ -2,6 +2,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.utils;
import
com.fasc.open.api.bean.base.BaseRes
;
import
com.fasc.open.api.bean.base.BaseRes
;
import
com.fasc.open.api.bean.common.OpenId
;
import
com.fasc.open.api.bean.common.OpenId
;
import
com.fasc.open.api.bean.common.TemplateField
;
import
com.fasc.open.api.exception.ApiException
;
import
com.fasc.open.api.exception.ApiException
;
import
com.fasc.open.api.v5_1.client.OpenApiClient
;
import
com.fasc.open.api.v5_1.client.OpenApiClient
;
import
com.fasc.open.api.v5_1.client.ServiceClient
;
import
com.fasc.open.api.v5_1.client.ServiceClient
;
...
@@ -15,9 +16,15 @@ import com.fasc.open.api.v5_1.res.template.SignTemplateDetailRes;
...
@@ -15,9 +16,15 @@ import com.fasc.open.api.v5_1.res.template.SignTemplateDetailRes;
import
com.fasc.open.api.v5_1.res.template.SignTemplateListInfo
;
import
com.fasc.open.api.v5_1.res.template.SignTemplateListInfo
;
import
com.fasc.open.api.v5_1.res.template.SignTemplateListRes
;
import
com.fasc.open.api.v5_1.res.template.SignTemplateListRes
;
import
com.yifu.cloud.plus.v1.yifu.archives.config.FascConfig
;
import
com.yifu.cloud.plus.v1.yifu.archives.config.FascConfig
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascPushLog
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate
;
import
com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplateDetail
;
import
com.yifu.cloud.plus.v1.yifu.archives.service.TFascPushLogService
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants
;
import
com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants
;
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.exception.CheckedException
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.Common
;
import
com.yifu.cloud.plus.v1.yifu.common.core.util.LocalDateTimeUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -69,49 +76,76 @@ public class FascUtil {
...
@@ -69,49 +76,76 @@ public class FascUtil {
}
}
/**
/**
* @Description: 获取模板
* @Author: hgw
* @Author: hgw
* @Date: 2025-9-25 14:11:06
* @Date: 2025/10/10 17:59
* @Description: 移除法大大专业版accossToken
* @return: java.util.List<com.fasc.open.api.v5_1.res.template.SignTemplateListInfo>
* @return: java.lang.String
**/
**/
public
void
removeFascToken
()
{
public
List
<
SignTemplateListInfo
>
getTemplateList
(
String
templateName
,
TFascPushLogService
tFascPushLogService
)
redisTemplate
.
delete
(
CacheConstants
.
FASC_ACCOSS_TOKEN
);
throws
ApiException
{
}
public
List
<
SignTemplateListInfo
>
getTemplateList
(
String
templateName
)
throws
ApiException
{
OpenApiClient
openApiClient
=
new
OpenApiClient
(
fascConfig
.
getAppId
(),
fascConfig
.
getAppSecret
(),
fascConfig
.
getAppUrl
());
OpenApiClient
openApiClient
=
new
OpenApiClient
(
fascConfig
.
getAppId
(),
fascConfig
.
getAppSecret
(),
fascConfig
.
getAppUrl
());
TemplateClient
templateClient
=
new
TemplateClient
(
openApiClient
)
;
TemplateClient
templateClient
=
new
TemplateClient
(
openApiClient
);
String
accessToken
=
this
.
getFascToken
(
openApiClient
);
String
accessToken
=
this
.
getFascToken
(
openApiClient
);
GetSignTemplateListReq
getSignTemplateListReq
=
new
GetSignTemplateListReq
()
;
GetSignTemplateListReq
getSignTemplateListReq
=
new
GetSignTemplateListReq
()
;
getSignTemplateListReq
.
setListPageNo
(
1
)
;
getSignTemplateListReq
.
setListPageNo
(
1
);
getSignTemplateListReq
.
setListPageSize
(
100
)
;
getSignTemplateListReq
.
setListPageSize
(
100
);
OpenId
ownerId
=
new
OpenId
()
;
OpenId
ownerId
=
new
OpenId
()
;
ownerId
.
setIdType
(
CacheConstants
.
FASC_ID_TYPE
)
;
ownerId
.
setIdType
(
CacheConstants
.
FASC_ID_TYPE
);
ownerId
.
setOpenId
(
fascConfig
.
getOpenId
())
;
ownerId
.
setOpenId
(
fascConfig
.
getOpenId
());
getSignTemplateListReq
.
setOwnerId
(
ownerId
)
;
getSignTemplateListReq
.
setOwnerId
(
ownerId
);
SignTemplateListFilterInfo
signTemplateListFilterInfo
=
new
SignTemplateListFilterInfo
();
SignTemplateListFilterInfo
signTemplateListFilterInfo
=
new
SignTemplateListFilterInfo
();
if
(
Common
.
isNotNull
(
templateName
))
{
if
(
Common
.
isNotNull
(
templateName
))
{
// 签署任务模板名称,如果传了该参数,会根据名称模糊匹配查询,长度最大100个字符。
// 签署任务模板名称,如果传了该参数,会根据名称模糊匹配查询,长度最大100个字符。
signTemplateListFilterInfo
.
setSignTemplateName
(
templateName
)
;
signTemplateListFilterInfo
.
setSignTemplateName
(
templateName
);
}
else
{
}
else
{
signTemplateListFilterInfo
.
setSignTemplateName
(
""
)
;
signTemplateListFilterInfo
.
setSignTemplateName
(
""
);
}
}
getSignTemplateListReq
.
setListFilter
(
signTemplateListFilterInfo
)
;
getSignTemplateListReq
.
setListFilter
(
signTemplateListFilterInfo
);
getSignTemplateListReq
.
setAccessToken
(
accessToken
)
;
getSignTemplateListReq
.
setAccessToken
(
accessToken
);
// 新增推送日志
TFascPushLog
pushLog
=
new
TFascPushLog
();
pushLog
.
setTransReferenceId
(
fascConfig
.
getOpenId
());
pushLog
.
setPushData
(
getSignTemplateListReq
.
toString
());
pushLog
.
setTaskStatus
(
CommonConstants
.
ZERO_STRING
);
pushLog
.
setTypeKey
(
"获取所有模板"
);
pushLog
.
setTypeName
(
"获取模板"
);
tFascPushLogService
.
save
(
pushLog
);
BaseRes
<
SignTemplateListRes
>
res
=
templateClient
.
getSignTemplateList
(
getSignTemplateListReq
)
;
BaseRes
<
SignTemplateListRes
>
res
=
templateClient
.
getSignTemplateList
(
getSignTemplateListReq
);
List
<
SignTemplateListInfo
>
list
=
null
;
List
<
SignTemplateListInfo
>
list
=
null
;
if
(
res
!=
null
&&
res
.
isSuccess
()
&&
res
.
getData
()
!=
null
&&
res
.
getData
().
getSignTemplates
()
!=
null
if
(
res
!=
null
)
{
// 更新日志
pushLog
.
setReturnData
(
res
.
toString
());
pushLog
.
setTaskStatus
(
res
.
isSuccess
()
?
CommonConstants
.
ONE_STRING
:
CommonConstants
.
TWO_STRING
);
tFascPushLogService
.
updateById
(
pushLog
);
if
(
res
.
isSuccess
()
&&
res
.
getData
()
!=
null
&&
res
.
getData
().
getSignTemplates
()
!=
null
&&
!
res
.
getData
().
getSignTemplates
().
isEmpty
())
{
&&
!
res
.
getData
().
getSignTemplates
().
isEmpty
())
{
list
=
res
.
getData
().
getSignTemplates
();
list
=
res
.
getData
().
getSignTemplates
();
if
(
res
.
getData
().
getListPageCount
()
!=
null
)
{
if
(
res
.
getData
().
getListPageCount
()
!=
null
)
{
int
listPageCount
=
res
.
getData
().
getListPageCount
();
int
listPageCount
=
res
.
getData
().
getListPageCount
();
// 超过1页的循环查询
// 超过1页的循环查询
if
(
listPageCount
>
1
)
{
if
(
listPageCount
>
1
)
{
for
(
int
i
=
2
;
i
<=
listPageCount
;
i
++)
{
for
(
int
i
=
2
;
i
<=
listPageCount
;
i
++)
{
getSignTemplateListReq
.
setListPageNo
(
i
)
;
getSignTemplateListReq
.
setListPageNo
(
i
);
res
=
templateClient
.
getSignTemplateList
(
getSignTemplateListReq
)
;
pushLog
=
new
TFascPushLog
();
pushLog
.
setTransReferenceId
(
fascConfig
.
getOpenId
());
pushLog
.
setPushData
(
getSignTemplateListReq
.
toString
());
pushLog
.
setTaskStatus
(
CommonConstants
.
ZERO_STRING
);
pushLog
.
setTypeKey
(
pushLog
.
getId
()
+
"获取所有模板"
+
i
);
pushLog
.
setTypeName
(
"分页循环获取模板"
);
tFascPushLogService
.
save
(
pushLog
);
res
=
templateClient
.
getSignTemplateList
(
getSignTemplateListReq
);
if
(
res
!=
null
)
{
// 更新日志
pushLog
.
setReturnData
(
res
.
toString
());
pushLog
.
setTaskStatus
(
res
.
isSuccess
()
?
CommonConstants
.
ONE_STRING
:
CommonConstants
.
TWO_STRING
);
tFascPushLogService
.
updateById
(
pushLog
);
if
(
res
.
getData
().
getSignTemplates
()
!=
null
&&
!
res
.
getData
().
getSignTemplates
().
isEmpty
())
{
if
(
res
.
getData
().
getSignTemplates
()
!=
null
&&
!
res
.
getData
().
getSignTemplates
().
isEmpty
())
{
list
.
addAll
(
res
.
getData
().
getSignTemplates
());
list
.
addAll
(
res
.
getData
().
getSignTemplates
());
}
}
...
@@ -119,42 +153,142 @@ public class FascUtil {
...
@@ -119,42 +153,142 @@ public class FascUtil {
}
}
}
}
}
}
}
}
return
list
;
return
list
;
}
}
public
List
<
DocumentInfo
>
getTemplateDetailList
(
List
<
SignTemplateListInfo
>
templateList
)
throws
ApiException
{
/**
* @Description: 获取明细映射
* @Author: hgw
* @Date: 2025/10/10 17:59
* @return: void
**/
public
void
getTemplateDetailList
(
List
<
SignTemplateListInfo
>
templateList
,
List
<
TFascTemplate
>
tList
,
List
<
TFascTemplateDetail
>
detailList
,
TFascPushLogService
tFascPushLogService
)
throws
ApiException
{
OpenApiClient
openApiClient
=
new
OpenApiClient
(
fascConfig
.
getAppId
(),
fascConfig
.
getAppSecret
(),
fascConfig
.
getAppUrl
());
OpenApiClient
openApiClient
=
new
OpenApiClient
(
fascConfig
.
getAppId
(),
fascConfig
.
getAppSecret
(),
fascConfig
.
getAppUrl
());
TemplateClient
templateClient
=
new
TemplateClient
(
openApiClient
)
;
TemplateClient
templateClient
=
new
TemplateClient
(
openApiClient
);
String
accessToken
=
this
.
getFascToken
(
openApiClient
);
String
accessToken
=
this
.
getFascToken
(
openApiClient
);
OpenId
openId
=
new
OpenId
()
;
OpenId
openId
=
new
OpenId
()
;
openId
.
setIdType
(
CacheConstants
.
FASC_ID_TYPE
)
;
openId
.
setIdType
(
CacheConstants
.
FASC_ID_TYPE
);
openId
.
setOpenId
(
fascConfig
.
getOpenId
())
;
openId
.
setOpenId
(
fascConfig
.
getOpenId
());
List
<
DocumentInfo
>
list
=
null
;
List
<
DocumentInfo
>
list
=
null
;
if
(
templateList
!=
null
&&
!
templateList
.
isEmpty
())
{
if
(
templateList
!=
null
&&
!
templateList
.
isEmpty
())
{
// 调用查询模板详情接口
// 调用查询模板详情接口
SignTemplateDetailReq
signTemplateDetailReq
;
SignTemplateDetailReq
signTemplateDetailReq
;
BaseRes
<
SignTemplateDetailRes
>
res
;
BaseRes
<
SignTemplateDetailRes
>
res
;
for
(
SignTemplateListInfo
signTemplateListInfo
:
templateList
)
{
TFascTemplate
template
;
if
(
signTemplateListInfo
!=
null
&&
signTemplateListInfo
.
getSignTemplateId
()
!=
null
)
{
TFascTemplateDetail
detail
;
String
signTemplateId
;
signTemplateDetailReq
=
new
SignTemplateDetailReq
()
;
String
fieldType
;
signTemplateDetailReq
.
setOwnerId
(
openId
)
;
String
isMust
;
signTemplateDetailReq
.
setSignTemplateId
(
signTemplateListInfo
.
getSignTemplateId
())
;
StringBuilder
zhangName
;
signTemplateDetailReq
.
setAccessToken
(
accessToken
)
;
for
(
SignTemplateListInfo
mainInfo
:
templateList
)
{
res
=
templateClient
.
getSignTemplateDetail
(
signTemplateDetailReq
)
;
if
(
mainInfo
!=
null
&&
mainInfo
.
getSignTemplateId
()
!=
null
)
{
if
(
res
!=
null
&&
res
.
isSuccess
()
&&
res
.
getData
()
!=
null
&&
res
.
getData
().
getDocs
()
!=
null
zhangName
=
new
StringBuilder
();
template
=
new
TFascTemplate
();
signTemplateId
=
mainInfo
.
getSignTemplateId
();
template
.
setSignTemplateId
(
signTemplateId
);
template
.
setSignTemplateName
(
mainInfo
.
getSignTemplateName
());
template
.
setSignTemplateStatus
(
mainInfo
.
getSignTemplateStatus
());
template
.
setFascCreateTime
(
LocalDateTimeUtils
.
coverStringToLDT
(
mainInfo
.
getCreateTime
()));
template
.
setUpdateTime
(
LocalDateTimeUtils
.
coverStringToLDT
(
mainInfo
.
getUpdateTime
()));
// 有可能不对:template.setCompanyName(mainInfo.getCatalogName());
template
.
setCompanyName
(
mainInfo
.
getCatalogName
());
template
.
setCreatorMemberName
(
mainInfo
.
getCreatorMemberName
());
template
.
setDeleteFlag
(
CommonConstants
.
NOT_DELETE_FLAG
);
tList
.
add
(
template
);
signTemplateDetailReq
=
new
SignTemplateDetailReq
();
signTemplateDetailReq
.
setOwnerId
(
openId
);
signTemplateDetailReq
.
setSignTemplateId
(
mainInfo
.
getSignTemplateId
());
signTemplateDetailReq
.
setAccessToken
(
accessToken
);
// 新增推送日志
TFascPushLog
pushLog
=
new
TFascPushLog
();
pushLog
.
setTransReferenceId
(
fascConfig
.
getOpenId
());
pushLog
.
setPushData
(
signTemplateDetailReq
.
toString
());
pushLog
.
setTaskStatus
(
CommonConstants
.
ZERO_STRING
);
pushLog
.
setTypeKey
(
"获取所有明细映射"
);
pushLog
.
setTypeName
(
"获取明细映射"
);
tFascPushLogService
.
save
(
pushLog
);
res
=
templateClient
.
getSignTemplateDetail
(
signTemplateDetailReq
);
if
(
res
!=
null
)
{
// 更新日志
pushLog
.
setReturnData
(
res
.
toString
());
pushLog
.
setTaskStatus
(
res
.
isSuccess
()
?
CommonConstants
.
ONE_STRING
:
CommonConstants
.
TWO_STRING
);
tFascPushLogService
.
updateById
(
pushLog
);
if
(
res
.
isSuccess
()
&&
res
.
getData
()
!=
null
&&
res
.
getData
().
getDocs
()
!=
null
&&
!
res
.
getData
().
getDocs
().
isEmpty
())
{
&&
!
res
.
getData
().
getDocs
().
isEmpty
())
{
if
(
list
==
null
)
{
if
(
list
==
null
)
{
list
=
new
ArrayList
<>();
list
=
new
ArrayList
<>();
}
}
list
.
addAll
(
res
.
getData
().
getDocs
());
// 循环文档(1,2,3)
for
(
DocumentInfo
doc
:
res
.
getData
().
getDocs
())
{
if
(
doc
.
getDocFields
()
!=
null
)
{
// 循环文档里的字段
for
(
TemplateField
fields
:
doc
.
getDocFields
())
{
fieldType
=
fields
.
getFieldType
();
if
(
Common
.
isNotNull
(
fieldType
))
{
if
(
FascConstants
.
FIELD_TEXT_TYPE
.
contains
(
fieldType
))
{
// 文本数字等控件
detail
=
new
TFascTemplateDetail
();
detail
.
setSignTemplateId
(
signTemplateId
);
detail
.
setFascField
(
fields
.
getFieldName
());
detail
.
setFascFieldId
(
fields
.
getFieldId
());
isMust
=
CommonConstants
.
ONE_STRING
;
if
(
this
.
isFieldNotRequired
(
fields
,
fieldType
))
{
isMust
=
CommonConstants
.
ZERO_STRING
;
}
detail
.
setIsMust
(
isMust
);
detail
.
setDeleteFlag
(
CommonConstants
.
NOT_DELETE_FLAG
);
detailList
.
add
(
detail
);
}
else
if
(
FascConstants
.
FIELD_ZHANG_TYPE
.
contains
(
fieldType
))
{
// 章控件
if
(
zhangName
.
length
()
>
0
)
{
zhangName
.
append
(
";"
);
}
zhangName
.
append
(
fields
.
getFieldName
());
}
}
}
}
}
}
}
template
.
setZhangName
(
zhangName
.
toString
());
}
}
}
}
}
}
}
}
return
list
;
/**
* @param fields 字段属性
* @param fieldType 字段类型
* @Description: 统一判断字段是否非必填
* @Author: hgw
* @Date: 2025/10/10 16:10
* @return: boolean
**/
private
boolean
isFieldNotRequired
(
TemplateField
fields
,
String
fieldType
)
{
switch
(
fieldType
)
{
case
"text_single_line"
:
return
fields
.
getFieldTextSingleLine
()
!=
null
&&
Boolean
.
FALSE
.
equals
(
fields
.
getFieldTextSingleLine
().
getRequired
());
case
"text_multi_line"
:
return
fields
.
getFieldTextMultiLine
()
!=
null
&&
Boolean
.
FALSE
.
equals
(
fields
.
getFieldTextMultiLine
().
getRequired
());
case
"number"
:
return
fields
.
getFieldNumber
()
!=
null
&&
Boolean
.
FALSE
.
equals
(
fields
.
getFieldNumber
().
getRequired
());
case
"id_card"
:
return
fields
.
getFieldIdCard
()
!=
null
&&
Boolean
.
FALSE
.
equals
(
fields
.
getFieldIdCard
().
getRequired
());
case
"fill_date"
:
return
fields
.
getFieldFillDate
()
!=
null
&&
Boolean
.
FALSE
.
equals
(
fields
.
getFieldFillDate
().
getRequired
());
default
:
return
false
;
}
}
}
}
}
yifu-archives/yifu-archives-biz/src/main/resources/mapper/TFascEditLogMapper.xml
0 → 100644
View file @
008be3f9
<?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.archives.mapper.TFascEditLogMapper"
>
<resultMap
id=
"tFascEditLogMap"
type=
"com.yifu.cloud.plus.v1.yifu.archives.entity.TFascEditLog"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"mainId"
column=
"main_id"
/>
<result
property=
"mainType"
column=
"main_type"
/>
<result
property=
"editContent"
column=
"edit_content"
/>
<result
property=
"createBy"
column=
"CREATE_BY"
/>
<result
property=
"createName"
column=
"CREATE_NAME"
/>
<result
property=
"createTime"
column=
"CREATE_TIME"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.id,
a.main_id,
a.main_type,
a.edit_content,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME
</sql>
<sql
id=
"tFascEditLog_where"
>
<if
test=
"tFascEditLog != null"
>
<if
test=
"tFascEditLog.id != null and tFascEditLog.id.trim() != ''"
>
AND a.id = #{tFascEditLog.id}
</if>
<if
test=
"tFascEditLog.mainId != null and tFascEditLog.mainId.trim() != ''"
>
AND a.main_id = #{tFascEditLog.mainId}
</if>
<if
test=
"tFascEditLog.mainType != null and tFascEditLog.mainType.trim() != ''"
>
AND a.main_type = #{tFascEditLog.mainType}
</if>
<if
test=
"tFascEditLog.editContent != null and tFascEditLog.editContent.trim() != ''"
>
AND a.edit_content = #{tFascEditLog.editContent}
</if>
<if
test=
"tFascEditLog.createBy != null and tFascEditLog.createBy.trim() != ''"
>
AND a.CREATE_BY = #{tFascEditLog.createBy}
</if>
<if
test=
"tFascEditLog.createName != null and tFascEditLog.createName.trim() != ''"
>
AND a.CREATE_NAME = #{tFascEditLog.createName}
</if>
<if
test=
"tFascEditLog.createTime != null"
>
AND a.CREATE_TIME = #{tFascEditLog.createTime}
</if>
<if
test=
"tFascEditLog.updateBy != null and tFascEditLog.updateBy.trim() != ''"
>
AND a.UPDATE_BY = #{tFascEditLog.updateBy}
</if>
<if
test=
"tFascEditLog.updateTime != null"
>
AND a.UPDATE_TIME = #{tFascEditLog.updateTime}
</if>
</if>
</sql>
<!--tFascEditLog简单分页查询-->
<select
id=
"getTFascEditLogPage"
resultMap=
"tFascEditLogMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_fasc_edit_log a
<where>
1=1
<include
refid=
"tFascEditLog_where"
/>
</where>
order by a.CREATE_TIME desc
</select>
<!--tFascEditLog简单分页查询-->
<select
id=
"getTFascEditLogList"
resultMap=
"tFascEditLogMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_fasc_edit_log a
<where>
1=1
<include
refid=
"tFascEditLog_where"
/>
</where>
order by a.CREATE_TIME desc
</select>
</mapper>
yifu-archives/yifu-archives-biz/src/main/resources/mapper/TFascHrFieldMapper.xml
0 → 100644
View file @
008be3f9
<?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.archives.mapper.TFascHrFieldMapper"
>
<resultMap
id=
"tFascHrFieldMap"
type=
"com.yifu.cloud.plus.v1.yifu.archives.entity.TFascHrField"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"hrField"
column=
"hr_field"
/>
<result
property=
"hrFieldId"
column=
"hr_field_id"
/>
<result
property=
"contractType"
column=
"contract_type"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.id,
a.hr_field,
a.hr_field_id,
a.contract_type
</sql>
<sql
id=
"tFascHrField_where"
>
<if
test=
"tFascHrField != null"
>
<if
test=
"tFascHrField.id != null and tFascHrField.id.trim() != ''"
>
AND a.id = #{tFascHrField.id}
</if>
<if
test=
"tFascHrField.hrField != null and tFascHrField.hrField.trim() != ''"
>
AND a.hr_field = #{tFascHrField.hrField}
</if>
<if
test=
"tFascHrField.hrFieldId != null and tFascHrField.hrFieldId.trim() != ''"
>
AND a.hr_field_id = #{tFascHrField.hrFieldId}
</if>
<if
test=
"tFascHrField.contractType != null and tFascHrField.contractType.trim() != ''"
>
AND a.contract_type = #{tFascHrField.contractType}
</if>
</if>
</sql>
<!--tFascHrField简单分页查询-->
<select
id=
"getTFascHrFieldPage"
resultMap=
"tFascHrFieldMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_fasc_hr_field a
<where>
1=1
<include
refid=
"tFascHrField_where"
/>
</where>
order by (a.id-0) asc
</select>
<!--tFascHrField简单分页查询-->
<select
id=
"getTFascHrFieldList"
resultMap=
"tFascHrFieldMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_fasc_hr_field a
<where>
1=1
<include
refid=
"tFascHrField_where"
/>
</where>
order by (a.id-0) asc
</select>
</mapper>
yifu-archives/yifu-archives-biz/src/main/resources/mapper/TFascPushLogMapper.xml
0 → 100644
View file @
008be3f9
<?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.archives.mapper.TFascPushLogMapper"
>
<resultMap
id=
"tFascPushLogMap"
type=
"com.yifu.cloud.plus.v1.yifu.archives.entity.TFascPushLog"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"transReferenceId"
column=
"trans_reference_id"
/>
<result
property=
"signTaskId"
column=
"sign_task_id"
/>
<result
property=
"pushData"
column=
"push_data"
/>
<result
property=
"returnData"
column=
"return_data"
/>
<result
property=
"contractId"
column=
"contract_id"
/>
<result
property=
"taskStatus"
column=
"task_status"
/>
<result
property=
"typeKey"
column=
"type_key"
/>
<result
property=
"typeName"
column=
"type_name"
/>
<result
property=
"createBy"
column=
"CREATE_BY"
/>
<result
property=
"createName"
column=
"CREATE_NAME"
/>
<result
property=
"createTime"
column=
"CREATE_TIME"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.id,
a.trans_reference_id,
a.sign_task_id,
a.push_data,
a.return_data,
a.contract_id,
a.task_status,
a.type_key,
a.type_name,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME
</sql>
<sql
id=
"tFascPushLog_where"
>
<if
test=
"tFascPushLog != null"
>
<if
test=
"tFascPushLog.id != null and tFascPushLog.id.trim() != ''"
>
AND a.id = #{tFascPushLog.id}
</if>
<if
test=
"tFascPushLog.transReferenceId != null and tFascPushLog.transReferenceId.trim() != ''"
>
AND a.trans_reference_id = #{tFascPushLog.transReferenceId}
</if>
<if
test=
"tFascPushLog.signTaskId != null and tFascPushLog.signTaskId.trim() != ''"
>
AND a.sign_task_id = #{tFascPushLog.signTaskId}
</if>
<if
test=
"tFascPushLog.pushData != null and tFascPushLog.pushData.trim() != ''"
>
AND a.push_data = #{tFascPushLog.pushData}
</if>
<if
test=
"tFascPushLog.returnData != null and tFascPushLog.returnData.trim() != ''"
>
AND a.return_data = #{tFascPushLog.returnData}
</if>
<if
test=
"tFascPushLog.contractId != null and tFascPushLog.contractId.trim() != ''"
>
AND a.contract_id = #{tFascPushLog.contractId}
</if>
<if
test=
"tFascPushLog.taskStatus != null and tFascPushLog.taskStatus.trim() != ''"
>
AND a.task_status = #{tFascPushLog.taskStatus}
</if>
<if
test=
"tFascPushLog.typeKey != null and tFascPushLog.typeKey.trim() != ''"
>
AND a.type_key = #{tFascPushLog.typeKey}
</if>
<if
test=
"tFascPushLog.typeName != null and tFascPushLog.typeName.trim() != ''"
>
AND a.type_name = #{tFascPushLog.typeName}
</if>
<if
test=
"tFascPushLog.createBy != null and tFascPushLog.createBy.trim() != ''"
>
AND a.CREATE_BY = #{tFascPushLog.createBy}
</if>
<if
test=
"tFascPushLog.createName != null and tFascPushLog.createName.trim() != ''"
>
AND a.CREATE_NAME = #{tFascPushLog.createName}
</if>
<if
test=
"tFascPushLog.createTime != null"
>
AND a.CREATE_TIME = #{tFascPushLog.createTime}
</if>
<if
test=
"tFascPushLog.updateBy != null and tFascPushLog.updateBy.trim() != ''"
>
AND a.UPDATE_BY = #{tFascPushLog.updateBy}
</if>
<if
test=
"tFascPushLog.updateTime != null"
>
AND a.UPDATE_TIME = #{tFascPushLog.updateTime}
</if>
</if>
</sql>
<!--tFascPushLog简单分页查询-->
<select
id=
"getTFascPushLogPage"
resultMap=
"tFascPushLogMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_fasc_push_log a
<where>
1=1
<include
refid=
"tFascPushLog_where"
/>
</where>
</select>
</mapper>
yifu-archives/yifu-archives-biz/src/main/resources/mapper/TFascTemplateDetailMapper.xml
0 → 100644
View file @
008be3f9
<?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.archives.mapper.TFascTemplateDetailMapper"
>
<resultMap
id=
"tFascTemplateDetailMap"
type=
"com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplateDetail"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"signTemplateId"
column=
"sign_template_id"
/>
<result
property=
"fascField"
column=
"fasc_field"
/>
<result
property=
"fascFieldId"
column=
"fasc_field_id"
/>
<result
property=
"isMust"
column=
"is_must"
/>
<result
property=
"deleteFlag"
column=
"delete_flag"
/>
<result
property=
"hrField"
column=
"hr_field"
/>
<result
property=
"hrFieldId"
column=
"hr_field_id"
/>
<result
property=
"isEdit"
column=
"is_edit"
/>
<result
property=
"createBy"
column=
"CREATE_BY"
/>
<result
property=
"createName"
column=
"CREATE_NAME"
/>
<result
property=
"createTime"
column=
"CREATE_TIME"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
/>
<result
property=
"signTemplateName"
column=
"sign_template_name"
/>
<result
property=
"signTemplateStatus"
column=
"sign_template_status"
/>
<result
property=
"contractType"
column=
"contract_type"
/>
</resultMap>
<resultMap
id=
"tFascTemplateDetailExportMap"
type=
"com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateDetailExportVo"
>
<result
property=
"signTemplateName"
column=
"sign_template_name"
/>
<result
property=
"signTemplateId"
column=
"sign_template_id"
/>
<result
property=
"signTemplateStatus"
column=
"sign_template_status"
/>
<result
property=
"fascField"
column=
"fasc_field"
/>
<result
property=
"fascFieldId"
column=
"fasc_field_id"
/>
<result
property=
"isMust"
column=
"is_must"
/>
<result
property=
"deleteFlag"
column=
"delete_flag"
/>
<result
property=
"contractType"
column=
"contract_type"
/>
<result
property=
"hrField"
column=
"hr_field"
/>
<result
property=
"hrFieldId"
column=
"hr_field_id"
/>
<result
property=
"isEdit"
column=
"is_edit"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.id,
a.sign_template_id,
a.fasc_field,
a.fasc_field_id,
a.is_must,
a.delete_flag,
a.hr_field,
a.hr_field_id,
a.is_edit,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME,
b.sign_template_name,
b.sign_template_status,
b.contract_type
</sql>
<sql
id=
"tFascTemplateDetail_where"
>
<if
test=
"tFascTemplateDetail != null"
>
<if
test=
"tFascTemplateDetail.id != null and tFascTemplateDetail.id.trim() != ''"
>
AND a.id = #{tFascTemplateDetail.id}
</if>
<if
test=
"tFascTemplateDetail.signTemplateId != null and tFascTemplateDetail.signTemplateId.trim() != ''"
>
AND a.sign_template_id = #{tFascTemplateDetail.signTemplateId}
</if>
<if
test=
"tFascTemplateDetail.fascField != null and tFascTemplateDetail.fascField.trim() != ''"
>
AND a.fasc_field like concat('%', #{tFascTemplateDetail.fascField}, '%')
</if>
<if
test=
"tFascTemplateDetail.fascFieldId != null and tFascTemplateDetail.fascFieldId.trim() != ''"
>
AND a.fasc_field_id = #{tFascTemplateDetail.fascFieldId}
</if>
<if
test=
"tFascTemplateDetail.isMust != null and tFascTemplateDetail.isMust.trim() != ''"
>
AND a.is_must = #{tFascTemplateDetail.isMust}
</if>
<if
test=
"tFascTemplateDetail.deleteFlag != null and tFascTemplateDetail.deleteFlag.trim() != ''"
>
AND a.delete_flag = #{tFascTemplateDetail.deleteFlag}
</if>
<if
test=
"tFascTemplateDetail.hrField != null and tFascTemplateDetail.hrField.trim() != ''"
>
AND a.hr_field like concat('%', #{tFascTemplateDetail.hrField}, '%')
</if>
<if
test=
"tFascTemplateDetail.hrFieldId != null and tFascTemplateDetail.hrFieldId.trim() != ''"
>
AND a.hr_field_id = #{tFascTemplateDetail.hrFieldId}
</if>
<if
test=
"tFascTemplateDetail.isEdit != null and tFascTemplateDetail.isEdit.trim() != ''"
>
AND a.is_edit = #{tFascTemplateDetail.isEdit}
</if>
<if
test=
"tFascTemplateDetail.createBy != null and tFascTemplateDetail.createBy.trim() != ''"
>
AND a.CREATE_BY = #{tFascTemplateDetail.createBy}
</if>
<if
test=
"tFascTemplateDetail.createName != null and tFascTemplateDetail.createName.trim() != ''"
>
AND a.CREATE_NAME = #{tFascTemplateDetail.createName}
</if>
<if
test=
"tFascTemplateDetail.createTime != null"
>
AND a.CREATE_TIME = #{tFascTemplateDetail.createTime}
</if>
<if
test=
"tFascTemplateDetail.updateBy != null and tFascTemplateDetail.updateBy.trim() != ''"
>
AND a.UPDATE_BY = #{tFascTemplateDetail.updateBy}
</if>
<if
test=
"tFascTemplateDetail.updateTime != null"
>
AND a.UPDATE_TIME = #{tFascTemplateDetail.updateTime}
</if>
<if
test=
"tFascTemplateDetail.signTemplateName != null and tFascTemplateDetail.signTemplateName.trim() != ''"
>
AND b.sign_template_name like concat('%', #{tFascTemplateDetail.signTemplateName}, '%')
</if>
<if
test=
"tFascTemplateDetail.signTemplateStatus != null and tFascTemplateDetail.signTemplateStatus.trim() != ''"
>
AND b.sign_template_status = #{tFascTemplateDetail.signTemplateStatus}
</if>
<if
test=
"tFascTemplateDetail.contractType != null and tFascTemplateDetail.contractType.trim() != ''"
>
AND b.contract_type = #{tFascTemplateDetail.contractType}
</if>
</if>
</sql>
<!--tFascTemplateDetail简单分页查询-->
<select
id=
"getTFascTemplateDetailPage"
resultMap=
"tFascTemplateDetailMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_fasc_template_detail a
left join t_fasc_template b on a.sign_template_id = b.sign_template_id
<where>
1=1
<include
refid=
"tFascTemplateDetail_where"
/>
</where>
ORDER BY a.CREATE_TIME ASC
</select>
<!--tFascTemplateDetail简单分页查询-->
<select
id=
"getTFascTemplateDetailList"
resultMap=
"tFascTemplateDetailMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_fasc_template_detail a
left join t_fasc_template b on a.sign_template_id = b.sign_template_id
<where>
1=1
<include
refid=
"tFascTemplateDetail_where"
/>
</where>
ORDER BY a.CREATE_TIME ASC
</select>
<!--导出-->
<select
id=
"getTFascTemplateDetailExport"
resultMap=
"tFascTemplateDetailExportMap"
>
SELECT
b.sign_template_name,
a.sign_template_id,
if(b.sign_template_status = 'valid', '启用', if(b.sign_template_status = 'invalid', '停用', '草稿')) sign_template_status,
a.fasc_field,
a.fasc_field_id,
if(a.is_must='0','否','是') is_must,
if(a.delete_flag='0','否','是') delete_flag,
b.contract_type,
a.hr_field,
a.hr_field_id,
if(a.is_edit='1','已配置','未配置') is_edit
FROM t_fasc_template_detail a
left join t_fasc_template b on a.sign_template_id = b.sign_template_id
<where>
1=1
<include
refid=
"tFascTemplateDetail_where"
/>
<if
test=
"idList != null and idList.size>0"
>
AND a.id in
<foreach
item=
"idStr"
index=
"index"
collection=
"idList"
open=
"("
separator=
","
close=
")"
>
#{idStr}
</foreach>
</if>
</where>
ORDER BY a.CREATE_TIME ASC
<if
test=
"tFascTemplateDetail != null"
>
<if
test=
"tFascTemplateDetail.limitStart != null"
>
limit #{tFascTemplateDetail.limitStart},#{tFascTemplateDetail.limitEnd}
</if>
</if>
</select>
<select
id=
"getTFascTemplateDetailExportCount"
resultType=
"java.lang.Long"
>
SELECT
count(1)
FROM t_fasc_template_detail a
left join t_fasc_template b on a.sign_template_id = b.sign_template_id
<where>
1=1
<include
refid=
"tFascTemplateDetail_where"
/>
<if
test=
"idList != null and idList.size>0"
>
AND a.id in
<foreach
item=
"idStr"
index=
"index"
collection=
"idList"
open=
"("
separator=
","
close=
")"
>
#{idStr}
</foreach>
</if>
</where>
</select>
</mapper>
yifu-archives/yifu-archives-biz/src/main/resources/mapper/TFascTemplateMapper.xml
0 → 100644
View file @
008be3f9
<?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.archives.mapper.TFascTemplateMapper"
>
<resultMap
id=
"tFascTemplateMap"
type=
"com.yifu.cloud.plus.v1.yifu.archives.entity.TFascTemplate"
>
<id
property=
"id"
column=
"id"
/>
<result
property=
"companyName"
column=
"company_name"
/>
<result
property=
"signName"
column=
"sign_name"
/>
<result
property=
"signOpenId"
column=
"sign_open_id"
/>
<result
property=
"signTemplateId"
column=
"sign_template_id"
/>
<result
property=
"signTemplateName"
column=
"sign_template_name"
/>
<result
property=
"signTemplateStatus"
column=
"sign_template_status"
/>
<result
property=
"creatorMemberName"
column=
"creator_member_name"
/>
<result
property=
"fascCreateTime"
column=
"fasc_create_time"
/>
<result
property=
"fascUpdateTime"
column=
"fasc_update_time"
/>
<result
property=
"zhangName"
column=
"zhang_name"
/>
<result
property=
"isMianQian"
column=
"is_mian_qian"
/>
<result
property=
"contractType"
column=
"contract_type"
/>
<result
property=
"isMustEdit"
column=
"is_must_edit"
/>
<result
property=
"createBy"
column=
"CREATE_BY"
/>
<result
property=
"createName"
column=
"CREATE_NAME"
/>
<result
property=
"createTime"
column=
"CREATE_TIME"
/>
<result
property=
"updateBy"
column=
"UPDATE_BY"
/>
<result
property=
"updateTime"
column=
"UPDATE_TIME"
/>
<!-- 非数据库字段,用来比较厚,更新日志 -->
<result
property=
"isMustNow"
column=
"is_must_now"
/>
<result
property=
"isMustAll"
column=
"is_must_all"
/>
</resultMap>
<resultMap
id=
"tFascTemplateExportMap"
type=
"com.yifu.cloud.plus.v1.yifu.archives.vo.TFascTemplateExportVo"
>
<result
property=
"companyName"
column=
"company_name"
/>
<result
property=
"signName"
column=
"sign_name"
/>
<result
property=
"signOpenId"
column=
"sign_open_id"
/>
<result
property=
"signTemplateId"
column=
"sign_template_id"
/>
<result
property=
"signTemplateName"
column=
"sign_template_name"
/>
<result
property=
"signTemplateStatus"
column=
"sign_template_status"
/>
<result
property=
"creatorMemberName"
column=
"creator_member_name"
/>
<result
property=
"fascUpdateTime"
column=
"fasc_update_time"
/>
<result
property=
"zhangName"
column=
"zhang_name"
/>
<result
property=
"isMianQian"
column=
"is_mian_qian"
/>
<result
property=
"contractType"
column=
"contract_type"
/>
<result
property=
"isMustEdit"
column=
"is_must_edit"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
a.id,
a.company_name,
a.sign_name,
a.sign_open_id,
a.sign_template_id,
a.sign_template_name,
a.sign_template_status,
a.creator_member_name,
a.fasc_create_time,
a.fasc_update_time,
a.zhang_name,
a.is_mian_qian,
a.contract_type,
a.is_must_edit,
a.CREATE_BY,
a.CREATE_NAME,
a.CREATE_TIME,
a.UPDATE_BY,
a.UPDATE_TIME
</sql>
<sql
id=
"tFascTemplate_where"
>
<if
test=
"tFascTemplate != null"
>
<if
test=
"tFascTemplate.id != null and tFascTemplate.id.trim() != ''"
>
AND a.id = #{tFascTemplate.id}
</if>
<if
test=
"tFascTemplate.companyName != null and tFascTemplate.companyName.trim() != ''"
>
AND a.company_name like concat('%', #{tFascTemplate.companyName}, '%')
</if>
<if
test=
"tFascTemplate.signName != null and tFascTemplate.signName.trim() != ''"
>
AND a.sign_name like concat('%', #{tFascTemplate.signName}, '%')
</if>
<if
test=
"tFascTemplate.signOpenId != null and tFascTemplate.signOpenId.trim() != ''"
>
AND a.sign_open_id = #{tFascTemplate.signOpenId}
</if>
<if
test=
"tFascTemplate.signTemplateId != null and tFascTemplate.signTemplateId.trim() != ''"
>
AND a.sign_template_id = #{tFascTemplate.signTemplateId}
</if>
<if
test=
"tFascTemplate.signTemplateName != null and tFascTemplate.signTemplateName.trim() != ''"
>
AND a.sign_template_name like concat('%', #{tFascTemplate.signTemplateName}, '%')
</if>
<if
test=
"tFascTemplate.signTemplateStatus != null and tFascTemplate.signTemplateStatus.trim() != ''"
>
AND a.sign_template_status = #{tFascTemplate.signTemplateStatus}
</if>
<if
test=
"tFascTemplate.creatorMemberName != null and tFascTemplate.creatorMemberName.trim() != ''"
>
AND a.creator_member_name like concat('%', #{tFascTemplate.creatorMemberName}, '%')
</if>
<if
test=
"tFascTemplate.fascCreateTime != null"
>
AND a.fasc_create_time = #{tFascTemplate.fascCreateTime}
</if>
<if
test=
"tFascTemplate.fascUpdateTime != null"
>
AND a.fasc_update_time = #{tFascTemplate.fascUpdateTime}
</if>
<if
test=
"tFascTemplate.zhangName != null and tFascTemplate.zhangName.trim() != ''"
>
AND a.zhang_name like concat('%', #{tFascTemplate.zhangName}, '%')
</if>
<if
test=
"tFascTemplate.isMianQian != null and tFascTemplate.isMianQian.trim() != ''"
>
AND a.is_mian_qian = #{tFascTemplate.isMianQian}
</if>
<if
test=
"tFascTemplate.contractType != null and tFascTemplate.contractType.trim() != ''"
>
AND a.contract_type = #{tFascTemplate.contractType}
</if>
<if
test=
"tFascTemplate.isMustEdit != null and tFascTemplate.isMustEdit.trim() != ''"
>
AND a.is_must_edit = #{tFascTemplate.isMustEdit}
</if>
<if
test=
"tFascTemplate.createBy != null and tFascTemplate.createBy.trim() != ''"
>
AND a.CREATE_BY = #{tFascTemplate.createBy}
</if>
<if
test=
"tFascTemplate.createName != null and tFascTemplate.createName.trim() != ''"
>
AND a.CREATE_NAME = #{tFascTemplate.createName}
</if>
<if
test=
"tFascTemplate.createTime != null"
>
AND a.CREATE_TIME = #{tFascTemplate.createTime}
</if>
<if
test=
"tFascTemplate.updateBy != null and tFascTemplate.updateBy.trim() != ''"
>
AND a.UPDATE_BY = #{tFascTemplate.updateBy}
</if>
<if
test=
"tFascTemplate.updateTime != null"
>
AND a.UPDATE_TIME = #{tFascTemplate.updateTime}
</if>
</if>
</sql>
<!--tFascTemplate简单分页查询-->
<select
id=
"getTFascTemplatePage"
resultMap=
"tFascTemplateMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_fasc_template a
<where>
a.delete_flag = '0'
<include
refid=
"tFascTemplate_where"
/>
</where>
ORDER BY a.fasc_create_time ASC
</select>
<!--tFascTemplate简单分页查询-->
<select
id=
"getTFascTemplateList"
resultMap=
"tFascTemplateMap"
>
SELECT
<include
refid=
"Base_Column_List"
/>
FROM t_fasc_template a
<where>
a.delete_flag = '0'
<include
refid=
"tFascTemplate_where"
/>
</where>
ORDER BY a.fasc_create_time ASC
</select>
<!--导出-->
<select
id=
"getTFascTemplateExport"
resultMap=
"tFascTemplateExportMap"
>
SELECT
a.company_name,
a.sign_name,
a.sign_open_id,
a.sign_template_id,
a.sign_template_name,
a.creator_member_name,
date_format(a.fasc_update_time, '%Y-%m-%d %H:%i:%s') fasc_update_time,
a.zhang_name,
if(a.sign_template_status = 'valid', '启用', if(a.sign_template_status = 'invalid', '停用', '草稿')) sign_template_status,
if(a.is_mian_qian='0','否','是') is_mian_qian,
a.contract_type,
if(a.is_must_edit = '2', '已配置', if(a.sign_template_status = '1', '部分配置', '未配置')) is_must_edit
FROM t_fasc_template a
<where>
a.delete_flag = '0'
<include
refid=
"tFascTemplate_where"
/>
<if
test=
"idList != null and idList.size>0"
>
AND a.id in
<foreach
item=
"idStr"
index=
"index"
collection=
"idList"
open=
"("
separator=
","
close=
")"
>
#{idStr}
</foreach>
</if>
</where>
ORDER BY a.fasc_create_time ASC
<if
test=
"tFascTemplate != null"
>
<if
test=
"tFascTemplate.limitStart != null"
>
limit #{tFascTemplate.limitStart},#{tFascTemplate.limitEnd}
</if>
</if>
</select>
<!--获取所有要更新是否必填的模板数据-->
<select
id=
"getTFascTemplateResutList"
resultMap=
"tFascTemplateMap"
>
SELECT
A.id,
A.sign_template_id,
A.is_must_edit,
-- 统计必填且有字段ID的数量
(SELECT COUNT(*) FROM t_fasc_template_detail B
WHERE B.delete_flag='0' and B.sign_template_id = A.sign_template_id
AND B.is_must = 1 AND B.hr_field_id IS NOT NULL AND B.hr_field_id != '') as is_must_now,
-- 统计总明细数量
(SELECT COUNT(*) FROM t_fasc_template_detail B
WHERE B.delete_flag='0' and B.sign_template_id = A.sign_template_id AND B.is_must = 1) as is_must_all
FROM t_fasc_template A WHERE A.delete_flag = '0'
<if
test=
"templateId != null and templateId.trim() != ''"
>
and A.sign_template_id = #{templateId}
</if>
</select>
</mapper>
yifu-common/yifu-common-core/src/main/java/com/yifu/cloud/plus/v1/yifu/common/core/util/LocalDateTimeUtils.java
View file @
008be3f9
...
@@ -394,4 +394,27 @@ public class LocalDateTimeUtils {
...
@@ -394,4 +394,27 @@ public class LocalDateTimeUtils {
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ofPattern
(
YEAR_MONTH_PATTERN
);
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ofPattern
(
YEAR_MONTH_PATTERN
);
return
dateTime
.
format
(
formatter
);
return
dateTime
.
format
(
formatter
);
}
}
/**
* @param time “Unix标准时间戳”是从1970年1月1日(UTC/GMT的午夜)开始所经过的毫秒数,数据类型为整数型
* @Description: 将整数型时间毫秒数,转化为LocalDateTime
* @Author: hgw
* @Date: 2025/10/10 11:27
* @return: java.time.LocalDateTime
**/
public
static
LocalDateTime
coverStringToLDT
(
String
time
)
{
if
(
time
==
null
)
{
return
null
;
}
LocalDateTime
dateTime
;
try
{
dateTime
=
Instant
.
ofEpochMilli
(
Long
.
parseLong
(
time
))
.
atZone
(
ZoneId
.
systemDefault
())
// 使用系统默认时区
.
toLocalDateTime
();
// 使用a进行后续操作
}
catch
(
NumberFormatException
e
)
{
dateTime
=
null
;
}
return
dateTime
;
}
}
}
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