Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
T
test
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
邬友楠
test
Commits
df363ab1
Commit
df363ab1
authored
Mar 09, 2021
by
雍欢
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改数据的时候,需要校验表单中的密级密级是否与表单、人员密级匹配
parent
65172649
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
96 additions
and
108 deletions
+96
-108
LeaveApplicationImpl.java
...om/huigou/demo/application/impl/LeaveApplicationImpl.java
+12
-22
AttachmentApplication.java
...bmp/doc/attachment/application/AttachmentApplication.java
+67
-79
AttachmentApplicationImpl.java
...ttachment/application/impl/AttachmentApplicationImpl.java
+17
-7
No files found.
huigou-demo/src/main/java/com/huigou/demo/application/impl/LeaveApplicationImpl.java
View file @
df363ab1
package
com
.
huigou
.
demo
.
application
.
impl
;
package
com
.
huigou
.
demo
.
application
.
impl
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
com.huigou.uasp.bpm.FlowBroker
;
import
com.huigou.util.ClassHelper
;
import
com.huigou.demo.application.LeaveApplication
;
import
com.huigou.demo.application.LeaveApplication
;
import
com.huigou.demo.domain.model.Leave
;
import
com.huigou.demo.domain.model.Leave
;
import
com.huigou.demo.domain.query.LeaveQuery
;
import
com.huigou.demo.domain.query.LeaveQuery
;
import
com.huigou.demo.mapper.LeaveMapper
;
import
com.huigou.demo.mapper.LeaveMapper
;
import
com.huigou.demo.repository.LeaveRepository
;
import
com.huigou.demo.repository.LeaveRepository
;
import
org.activiti.engine.RuntimeService
;
import
com.huigou.uasp.bmp.common.BizBillStatus
;
import
org.activiti.engine.TaskService
;
import
com.huigou.uasp.bmp.doc.attachment.application.AttachmentApplication
;
import
com.huigou.uasp.bmp.doc.attachment.application.SecrecyLevelComparator
;
import
com.huigou.uasp.bpm.FlowBroker
;
import
com.huigou.util.ClassHelper
;
import
org.activiti.engine.delegate.DelegateExecution
;
import
org.activiti.engine.delegate.DelegateExecution
;
import
org.activiti.engine.delegate.DelegateTask
;
import
org.activiti.engine.delegate.DelegateTask
;
import
org.activiti.engine.runtime.ProcessInstance
;
import
org.activiti.engine.task.Task
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -28,18 +26,7 @@ public class LeaveApplicationImpl extends FlowBroker implements LeaveApplication
...
@@ -28,18 +26,7 @@ public class LeaveApplicationImpl extends FlowBroker implements LeaveApplication
private
LeaveRepository
leaveRepository
;
private
LeaveRepository
leaveRepository
;
private
LeaveMapper
leaveMapper
;
private
LeaveMapper
leaveMapper
;
private
AttachmentApplication
attachmentApplication
;
@Autowired
private
RuntimeService
runtimeService
;
@Autowired
private
TaskService
taskService
;
public
void
test
()
{
Task
task
=
taskService
.
createTaskQuery
().
taskId
(
"taskId"
).
singleResult
();
ProcessInstance
pi
=
runtimeService
.
createProcessInstanceQuery
()
.
processInstanceId
(
task
.
getProcessInstanceId
())
.
singleResult
();
}
@Autowired
@Autowired
public
void
setLeaveRepository
(
LeaveRepository
leaveRepository
)
{
public
void
setLeaveRepository
(
LeaveRepository
leaveRepository
)
{
...
@@ -51,6 +38,10 @@ public class LeaveApplicationImpl extends FlowBroker implements LeaveApplication
...
@@ -51,6 +38,10 @@ public class LeaveApplicationImpl extends FlowBroker implements LeaveApplication
this
.
leaveMapper
=
leaveMapper
;
this
.
leaveMapper
=
leaveMapper
;
}
}
@Autowired
public
void
setAttachmentApplication
(
AttachmentApplication
attachmentApplication
)
{
this
.
attachmentApplication
=
attachmentApplication
;
}
@Override
@Override
public
Leave
loadLeaveById
(
String
id
)
{
public
Leave
loadLeaveById
(
String
id
)
{
...
@@ -70,15 +61,14 @@ public class LeaveApplicationImpl extends FlowBroker implements LeaveApplication
...
@@ -70,15 +61,14 @@ public class LeaveApplicationImpl extends FlowBroker implements LeaveApplication
if
(
leave
.
isNew
())
{
if
(
leave
.
isNew
())
{
leave
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
leave
.
setStatusId
(
BizBillStatus
.
APPLYING
.
getId
());
}
else
{
}
else
{
// 修改数据的时候,需要校验表单中的密级密级是否与表单、人员密级匹配
leave
=
(
Leave
)
commonDomainService
.
loadAndFillinProperties
(
leave
);
leave
=
(
Leave
)
commonDomainService
.
loadAndFillinProperties
(
leave
);
attachmentApplication
.
checkAttachmentSecretLevel
(
"demoLeave"
,
leave
.
getId
(),
leave
.
getSecretLevel
());
}
}
leave
=
leaveRepository
.
save
(
leave
);
return
leave
.
getId
();
return
leave
.
getId
();
}
}
@Override
@Override
protected
Map
<
String
,
Object
>
getProcessBizParams
(
String
bizId
)
{
protected
Map
<
String
,
Object
>
getProcessBizParams
(
String
bizId
)
{
// 返回业务数据给流程实例,
// 返回业务数据给流程实例,
...
...
huigou-uasp/src/main/java/com/huigou/uasp/bmp/doc/attachment/application/AttachmentApplication.java
View file @
df363ab1
...
@@ -17,72 +17,62 @@ public interface AttachmentApplication {
...
@@ -17,72 +17,62 @@ public interface AttachmentApplication {
/**
/**
* 保存附件配置
* 保存附件配置
*
*
* @param attachmentConfiguration
* @param attachmentConfiguration 附件配置实体
* 附件配置实体
* @return 附件配置ID
* @return
* 附件配置ID
*/
*/
String
saveAttachmentConfiguration
(
AttachmentConfiguration
attachmentConfiguration
);
String
saveAttachmentConfiguration
(
AttachmentConfiguration
attachmentConfiguration
);
/**
/**
* 加载附件配置
* 加载附件配置
*
*
* @param id
* @param id 附件配置ID
* 附件配置ID
* @return
* @return
*/
*/
AttachmentConfiguration
loadAttachmentConfiguration
(
String
id
);
AttachmentConfiguration
loadAttachmentConfiguration
(
String
id
);
/**
/**
* 删除附件配置
* 删除附件配置
*
*
* @param ids
* @param ids 附件配置ID列表
* 附件配置ID列表
*/
*/
void
deleteAttachmentConfigurations
(
List
<
String
>
ids
);
void
deleteAttachmentConfigurations
(
List
<
String
>
ids
);
/**
/**
* 移动附件配置
* 移动附件配置
*
*
* @param ids
* @param ids 附件配置ID列表
* 附件配置ID列表
* @param folderId 文件夹ID
* @param folderId
* 文件夹ID
*/
*/
void
moveAttachmentConfigurations
(
List
<
String
>
ids
,
String
folderId
);
void
moveAttachmentConfigurations
(
List
<
String
>
ids
,
String
folderId
);
/**
/**
* 分页查询附件配置
* 分页查询附件配置
*
*
* @param queryRequest
* @param queryRequest 查询参数
* 查询参数
* @return
* @return
*/
*/
Map
<
String
,
Object
>
slicedQueryAttachmentConfigurations
(
FolderAndCodeAndNameQueryRequest
queryRequest
);
Map
<
String
,
Object
>
slicedQueryAttachmentConfigurations
(
FolderAndCodeAndNameQueryRequest
queryRequest
);
/**
/**
* 删除附件配置明细
* 删除附件配置明细
*
*
* @param attachmentConfigurationId
* @param attachmentConfigurationId 附件配置ID
* 附件配置ID
* @param ids 附件配置明细ID列表
* @param ids
* 附件配置明细ID列表
*/
*/
void
deleteAttachmentConfigurationDetails
(
String
attachmentConfigurationId
,
List
<
String
>
ids
);
void
deleteAttachmentConfigurationDetails
(
String
attachmentConfigurationId
,
List
<
String
>
ids
);
/**
/**
* 分页查询附件配置 明细
* 分页查询附件配置 明细
*
*
* @param queryRequest
* @param queryRequest 查询请求参数
* 查询请求参数
* @return
* @return
*/
*/
Map
<
String
,
Object
>
slicedQueryAttachmentConfigurationDetails
(
ParentIdQueryRequest
queryRequest
);
Map
<
String
,
Object
>
slicedQueryAttachmentConfigurationDetails
(
ParentIdQueryRequest
queryRequest
);
/**
/**
* 保存附件
* 保存附件
*
*
* @param attachment
* @param attachment
* @return
* @return
*/
*/
...
@@ -90,90 +80,75 @@ public interface AttachmentApplication {
...
@@ -90,90 +80,75 @@ public interface AttachmentApplication {
/**
/**
* 删除附件
* 删除附件
*
*
* @param id
* @param id 附件ID
* 附件ID
* @param verifyCreator 验证创建人员
* @param verifyCreator
* 验证创建人员
*/
*/
void
deleteAttachment
(
String
id
,
Boolean
verifyCreator
);
void
deleteAttachment
(
String
id
,
Boolean
verifyCreator
);
/**
/**
* 根据ID列表删除附件
* 根据ID列表删除附件
*
*
* @param ids
* @param ids 附件ID列表
* 附件ID列表
* @param verifyCreator 验证创建人员
* @param verifyCreator
* 验证创建人员
*/
*/
void
deleteAttachmentsByIds
(
List
<
String
>
ids
,
Boolean
verifyCreator
);
void
deleteAttachmentsByIds
(
List
<
String
>
ids
,
Boolean
verifyCreator
);
/**
/**
* 通过业务ID删除附件
* 通过业务ID删除附件
*
*
* @param bizKindId
* @param bizKindId 业务类别ID
* 业务类别ID
* @param bizId 业务ID
* @param bizId
* @param verifyCreator 验证创建人员
* 业务ID
* @param verifyCreator
* 验证创建人员
*/
*/
void
deleteAttachmentsByBizId
(
String
bizKindId
,
String
bizId
,
boolean
verifyCreator
);
void
deleteAttachmentsByBizId
(
String
bizKindId
,
String
bizId
,
boolean
verifyCreator
);
/**
/**
* 加载附件
* 加载附件
*
*
* @param id
* @param id 附件ID
* 附件ID
* @return
* @return
*/
*/
Attachment
loadAttachment
(
String
id
);
Attachment
loadAttachment
(
String
id
);
/**
/**
* 保存附件排序号
* 保存附件排序号
*
*
* @param params
* @param params
*/
*/
void
updateAttachmentsSequence
(
Map
<
String
,
Integer
>
params
);
void
updateAttachmentsSequence
(
Map
<
String
,
Integer
>
params
);
/**
/**
* 查询附件
* 查询附件
*
*
* @param bizKindId
* @param bizKindId 业务类别ID
* 业务类别ID
* @param bizId 业务ID
* @param bizId
* 业务ID
* @return
* @return
*/
*/
List
<
Attachment
>
queryAttachments
(
String
bizKindId
,
String
bizId
);
List
<
Attachment
>
queryAttachments
(
String
bizKindId
,
String
bizId
);
/**
/**
* 查询分组的附件
* 查询分组的附件
*
*
* @param bizKindId
* @param bizKindId 业务类别ID
* 业务类别ID
* @param bizId 业务ID
* @param bizId
* 业务ID
* @return
* @return
*/
*/
List
<
AttachmentConfigurationDesc
>
queryGroupedAttachments
(
String
bizKindId
,
String
bizId
);
List
<
AttachmentConfigurationDesc
>
queryGroupedAttachments
(
String
bizKindId
,
String
bizId
);
/**
/**
* 附件是否存在
* 附件是否存在
*
*
* @param bizKindId
* @param bizKindId 业务类别ID
* 业务类别ID
* @param bizSubKindId 子业务类别ID
* @param bizSubKindId
* @param bizId 业务ID
* 子业务类别ID
* @param bizId
* 业务ID
* @return
* @return
*/
*/
boolean
attachmentExists
(
String
bizKindId
,
String
bizSubKindId
,
String
bizId
);
boolean
attachmentExists
(
String
bizKindId
,
String
bizSubKindId
,
String
bizId
);
/**
/**
* 附件是否存在
* 附件是否存在
*
*
* @param bizKindId
* @param bizKindId
* @param bizId
* @param bizId
* @return
* @return
...
@@ -182,20 +157,18 @@ public interface AttachmentApplication {
...
@@ -182,20 +157,18 @@ public interface AttachmentApplication {
/**
/**
* 按照附件ID附件复制
* 按照附件ID附件复制
*
*
* @param fileId
* @param fileId
* @param toBizCode
* @param toBizCode
* @param toBizIds
* @param toBizIds
* @param newOperator
* @param newOperator false使用附件本身的上传用户
* false使用附件本身的上传用户
* @param isCopyFile 是否拷贝一份新文件
* @param isCopyFile
* 是否拷贝一份新文件
*/
*/
void
copyAttachmentById
(
String
fileId
,
String
toBizCode
,
List
<
String
>
toBizIds
,
boolean
newOperator
,
boolean
isCopyFile
);
void
copyAttachmentById
(
String
fileId
,
String
toBizCode
,
List
<
String
>
toBizIds
,
boolean
newOperator
,
boolean
isCopyFile
);
/**
/**
* 按照附件ID附件复制
* 按照附件ID附件复制
*
*
* @param fileId
* @param fileId
* @param toBizCode
* @param toBizCode
* @param toBizId
* @param toBizId
...
@@ -204,21 +177,19 @@ public interface AttachmentApplication {
...
@@ -204,21 +177,19 @@ public interface AttachmentApplication {
/**
/**
* 附件复制
* 附件复制
*
*
* @param fromBizCode
* @param fromBizCode
* @param formBizId
* @param formBizId
* @param toBizCode
* @param toBizCode
* @param toBizId
* @param toBizId
* @param newOperator
* @param newOperator false使用附件本身的上传用户
* false使用附件本身的上传用户
* @param isCopyFile 是否拷贝一份新文件
* @param isCopyFile
* 是否拷贝一份新文件
*/
*/
void
copyAttachment
(
String
fromBizCode
,
String
formBizId
,
String
toBizCode
,
String
toBizId
,
boolean
newOperator
,
boolean
isCopyFile
);
void
copyAttachment
(
String
fromBizCode
,
String
formBizId
,
String
toBizCode
,
String
toBizId
,
boolean
newOperator
,
boolean
isCopyFile
);
/**
/**
* 附件复制
* 附件复制
*
*
* @param fromBizCode
* @param fromBizCode
* @param formBizId
* @param formBizId
* @param toBizCode
* @param toBizCode
...
@@ -226,4 +197,21 @@ public interface AttachmentApplication {
...
@@ -226,4 +197,21 @@ public interface AttachmentApplication {
*/
*/
void
copyAttachment
(
String
fromBizCode
,
String
formBizId
,
String
toBizCode
,
String
toBizId
);
void
copyAttachment
(
String
fromBizCode
,
String
formBizId
,
String
toBizCode
,
String
toBizId
);
/**
* 检查附件密级是否与人员密级、表单密级匹配
*
* @param attachment 附件
* @param formSecretLevel 表单密级
*/
void
checkAttachmentSecretLevel
(
Attachment
attachment
,
String
formSecretLevel
);
/**
* 检查附件密级是否与人员密级、表单密级匹配
*
* @param bizKindId bizKindId
* @param bizId bizKindId
* @param formSecretLevel 表单密级
*/
void
checkAttachmentSecretLevel
(
String
bizKindId
,
String
bizId
,
String
formSecretLevel
);
}
}
huigou-uasp/src/main/java/com/huigou/uasp/bmp/doc/attachment/application/impl/AttachmentApplicationImpl.java
View file @
df363ab1
...
@@ -165,7 +165,7 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
...
@@ -165,7 +165,7 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
throw
new
ApplicationException
(
"不能删除其他人上传的文件。"
);
throw
new
ApplicationException
(
"不能删除其他人上传的文件。"
);
}
}
}
}
checkAttachmentSecretLevel
(
attachment
);
checkAttachmentSecretLevel
(
attachment
,
null
);
attachment
.
setStatus
(
Attachment
.
Status
.
DELETED
.
getId
());
attachment
.
setStatus
(
Attachment
.
Status
.
DELETED
.
getId
());
}
}
...
@@ -200,7 +200,7 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
...
@@ -200,7 +200,7 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
public
Attachment
loadAttachment
(
String
id
)
{
public
Attachment
loadAttachment
(
String
id
)
{
this
.
checkIdNotBlank
(
id
);
this
.
checkIdNotBlank
(
id
);
Attachment
attachment
=
this
.
attachmentRepository
.
findOne
(
id
);
Attachment
attachment
=
this
.
attachmentRepository
.
findOne
(
id
);
checkAttachmentSecretLevel
(
attachment
);
checkAttachmentSecretLevel
(
attachment
,
null
);
return
attachment
;
return
attachment
;
}
}
...
@@ -209,7 +209,7 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
...
@@ -209,7 +209,7 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
public
void
updateAttachmentsSequence
(
Map
<
String
,
Integer
>
params
)
{
public
void
updateAttachmentsSequence
(
Map
<
String
,
Integer
>
params
)
{
Assert
.
notEmpty
(
params
,
"参数params不能为空。"
);
Assert
.
notEmpty
(
params
,
"参数params不能为空。"
);
params
.
keySet
().
stream
().
map
(
attachmentRepository:
:
findOne
)
params
.
keySet
().
stream
().
map
(
attachmentRepository:
:
findOne
)
.
forEach
(
this
::
checkAttachmentSecretLevel
);
.
forEach
(
attachment
->
checkAttachmentSecretLevel
(
attachment
,
null
)
);
this
.
commonDomainService
.
updateSequence
(
Attachment
.
class
,
params
);
this
.
commonDomainService
.
updateSequence
(
Attachment
.
class
,
params
);
}
}
...
@@ -231,8 +231,8 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
...
@@ -231,8 +231,8 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
return
attachments
;
return
attachments
;
}
}
p
rivate
void
checkAttachmentSecretLevel
(
Attachment
attachment
)
{
p
ublic
void
checkAttachmentSecretLevel
(
Attachment
attachment
,
String
formSecretLevel
)
{
if
(
attachment
==
null
)
{
if
(
attachment
==
null
||
StringUtils
.
isBlank
(
attachment
.
getSecretLevel
())
)
{
return
;
return
;
}
}
AttachmentConfiguration
attachmentConfiguration
=
attachmentConfigurationRepository
.
findByCode
(
attachment
.
getBizKindId
());
AttachmentConfiguration
attachmentConfiguration
=
attachmentConfigurationRepository
.
findByCode
(
attachment
.
getBizKindId
());
...
@@ -240,6 +240,16 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
...
@@ -240,6 +240,16 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
Person
person
=
orgApplication
.
loadPerson
(
ThreadLocalUtil
.
getOperator
().
getUserId
());
Person
person
=
orgApplication
.
loadPerson
(
ThreadLocalUtil
.
getOperator
().
getUserId
());
Assert
.
isTrue
(
matchingSecretLevel
(
person
,
attachment
),
String
.
format
(
"人员密级[%s]与附件密级[%s]不匹配"
,
person
.
getPersonSecurityGrade
(),
attachment
.
getSecretLevel
()));
Assert
.
isTrue
(
matchingSecretLevel
(
person
,
attachment
),
String
.
format
(
"人员密级[%s]与附件密级[%s]不匹配"
,
person
.
getPersonSecurityGrade
(),
attachment
.
getSecretLevel
()));
}
}
if
(
StringUtils
.
isNotBlank
(
formSecretLevel
))
{
boolean
formSecurityGradeThanAttachmentSecurityGrade
=
secrecyLevelComparator
.
compare
(
formSecretLevel
,
attachment
.
getSecretLevel
())
>
-
1
;
Assert
.
isTrue
(
formSecurityGradeThanAttachmentSecurityGrade
,
String
.
format
(
"表单密级[%s]与附件密级[%s]不匹配"
,
formSecretLevel
,
attachment
.
getSecretLevel
()));
}
}
@Override
public
void
checkAttachmentSecretLevel
(
String
bizKindId
,
String
bizId
,
String
formSecretLevel
)
{
attachmentRepository
.
findValidAttachments
(
bizKindId
,
bizId
)
.
forEach
(
attachment
->
checkAttachmentSecretLevel
(
attachment
,
formSecretLevel
));
}
}
/**
/**
...
@@ -325,7 +335,7 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
...
@@ -325,7 +335,7 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
String
sql
=
queryDescriptor
.
getSqlByName
(
"loadById"
);
String
sql
=
queryDescriptor
.
getSqlByName
(
"loadById"
);
Map
<
String
,
Object
>
map
=
this
.
sqlExecutorDao
.
queryToMap
(
sql
,
fileId
);
Map
<
String
,
Object
>
map
=
this
.
sqlExecutorDao
.
queryToMap
(
sql
,
fileId
);
Assert
.
notEmpty
(
map
,
"文件不存在,可能被其他用户删除或修改!"
);
Assert
.
notEmpty
(
map
,
"文件不存在,可能被其他用户删除或修改!"
);
checkAttachmentSecretLevel
(
attachmentRepository
.
findOne
(
fileId
));
checkAttachmentSecretLevel
(
attachmentRepository
.
findOne
(
fileId
)
,
null
);
BatchSqlUpdateDetail
batchInsertDetail
=
this
.
getBatchInsertDetail
();
BatchSqlUpdateDetail
batchInsertDetail
=
this
.
getBatchInsertDetail
();
String
path
=
null
;
String
path
=
null
;
Operator
op
=
ThreadLocalUtil
.
getVariable
(
"operator"
,
Operator
.
class
);
Operator
op
=
ThreadLocalUtil
.
getVariable
(
"operator"
,
Operator
.
class
);
...
@@ -369,7 +379,7 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
...
@@ -369,7 +379,7 @@ public class AttachmentApplicationImpl extends BaseApplication implements Attach
}
}
objs
.
stream
().
map
(
f
->
(
String
)
f
.
get
(
"id"
))
objs
.
stream
().
map
(
f
->
(
String
)
f
.
get
(
"id"
))
.
map
(
attachmentRepository:
:
findOne
)
.
map
(
attachmentRepository:
:
findOne
)
.
forEach
(
this
::
checkAttachmentSecretLevel
);
.
forEach
(
attachment
->
checkAttachmentSecretLevel
(
attachment
,
null
)
);
BatchSqlUpdateDetail
batchInsertDetail
=
this
.
getBatchInsertDetail
();
BatchSqlUpdateDetail
batchInsertDetail
=
this
.
getBatchInsertDetail
();
String
path
=
null
;
String
path
=
null
;
Operator
op
=
ThreadLocalUtil
.
getVariable
(
"operator"
,
Operator
.
class
);
Operator
op
=
ThreadLocalUtil
.
getVariable
(
"operator"
,
Operator
.
class
);
...
...
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