Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
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
项目统一框架
amos-boot-biz
Commits
8d810fb4
Commit
8d810fb4
authored
Dec 21, 2023
by
caotao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
改造登记业务代码调整
parent
0bb5f83e
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
243 additions
and
115 deletions
+243
-115
JgChangeRegistrationReformDto.java
...boot/module/jg/api/dto/JgChangeRegistrationReformDto.java
+1
-1
JgChangeRegistrationReform.java
...boot/module/jg/api/entity/JgChangeRegistrationReform.java
+13
-0
WorkFlowStatusEnum.java
...oin/amos/boot/module/jg/api/enums/WorkFlowStatusEnum.java
+9
-1
JgChangeRegistrationReformController.java
.../biz/controller/JgChangeRegistrationReformController.java
+3
-3
JgChangeRegistrationReformServiceImpl.java
...z/service/impl/JgChangeRegistrationReformServiceImpl.java
+216
-109
IdxBizJgRegisterInfoMapper.java
...oot/module/ymt/api/mapper/IdxBizJgRegisterInfoMapper.java
+1
-1
No files found.
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/JgChangeRegistrationReformDto.java
View file @
8d810fb4
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
...
...
@@ -110,7 +111,6 @@ public class JgChangeRegistrationReformDto extends BaseDto {
@ApiModelProperty
(
value
=
"任务发起人id"
)
private
String
promoter
;
private
List
<
String
>
roleIds
;
private
String
dataType
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgChangeRegistrationReform.java
View file @
8d810fb4
...
...
@@ -202,4 +202,17 @@ public class JgChangeRegistrationReform extends BaseEntity {
@TableField
(
value
=
"promoter"
)
private
String
promoter
;
/**
* 改造质量证明材料
*/
@TableField
(
value
=
"transformation_quality_certificate"
)
private
String
transformationQualityCertificate
;
/**
*改造监督检验证书
*/
@TableField
(
value
=
"renovation_supervisioninspection_certificate"
)
private
String
renovationSupervisioninspectionCertificate
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/enums/WorkFlowStatusEnum.java
View file @
8d810fb4
...
...
@@ -33,7 +33,15 @@ public enum WorkFlowStatusEnum {
CANCEL_SUBMIT
(
"使用单位提交"
,
"cancelSubmit"
,
"使用单位待提交"
,
"一级受理已驳回"
,
"使用单位提交已撤回"
),
CANCEL_RECEIVE
(
"一级受理"
,
"cancelReceive"
,
"一级待受理"
,
"二级受理已驳回"
,
"一级受理已撤回"
),
CANCEL_PRELIMINARY
(
"二级受理"
,
"cancelPreliminary"
,
"二级待受理"
,
"三级受理已驳回"
,
"二级受理已撤回"
),
CANCEL_REEXAMINE
(
"三级受理"
,
"cancelReexamine"
,
"三级待受理"
,
""
,
""
);
CANCEL_REEXAMINE
(
"三级受理"
,
"cancelReexamine"
,
"三级待受理"
,
""
,
""
),
/**
* 改造登记流程
*/
CHANGE_SUBMIT
(
"使用单位提交"
,
"changeSubmit"
,
"使用单位待提交"
,
"一级受理已驳回"
,
"使用单位提交已撤回"
),
CHANGE_RECEIVE
(
"一级受理"
,
"changeReceive"
,
"一级待受理"
,
"二级受理已驳回"
,
"一级受理已撤回"
),
CHANGE_PRELIMINARY
(
"二级受理"
,
"changePreliminary"
,
"二级待受理"
,
"三级受理已驳回"
,
"二级受理已撤回"
),
CHANGE_REEXAMINE
(
"三级受理"
,
"changeReexamine"
,
"三级待受理"
,
""
,
""
);
private
final
String
name
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/controller/JgChangeRegistrationReformController.java
View file @
8d810fb4
...
...
@@ -55,7 +55,7 @@ public class JgChangeRegistrationReformController extends BaseController {
@PostMapping
(
value
=
"/flowExecute"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"执行流程"
,
notes
=
"执行流程"
)
public
ResponseModel
<
Object
>
flowExecute
(
@RequestBody
JSONObject
map
)
{
jgChangeRegistrationReformServiceImpl
.
flowExecute
(
Long
.
valueOf
(
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
))),
String
.
valueOf
(
map
.
get
(
"instanceId"
)),
String
.
valueOf
(
map
.
get
(
"operate"
)),
String
.
valueOf
(
map
.
get
(
"comment"
))
,
true
);
jgChangeRegistrationReformServiceImpl
.
flowExecute
(
Long
.
valueOf
(
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
))),
String
.
valueOf
(
map
.
get
(
"instanceId"
)),
String
.
valueOf
(
map
.
get
(
"operate"
)),
String
.
valueOf
(
map
.
get
(
"comment"
)));
return
ResponseHelper
.
buildResponse
(
"ok"
);
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
...
...
@@ -114,8 +114,8 @@ public class JgChangeRegistrationReformController extends BaseController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取详情"
,
notes
=
"获取详情"
)
@GetMapping
(
value
=
"/getDetail"
)
public
ResponseModel
<
Map
<
String
,
Object
>>
getDetail
(
@RequestParam
(
"
id"
)
String
i
d
)
{
return
ResponseHelper
.
buildResponse
(
jgChangeRegistrationReformServiceImpl
.
getDetail
(
i
d
));
public
ResponseModel
<
Map
<
String
,
Object
>>
getDetail
(
@RequestParam
(
"
currentDocumentId"
)
String
currentDocumentId
,
@RequestParam
(
"equipId"
)
String
equipI
d
)
{
return
ResponseHelper
.
buildResponse
(
jgChangeRegistrationReformServiceImpl
.
getDetail
(
currentDocumentId
,
equipI
d
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/JgChangeRegistrationReformServiceImpl.java
View file @
8d810fb4
...
...
@@ -9,14 +9,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto
;
import
com.yeejoin.amos.boot.module.jg.api.entity.*
;
import
com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.
Use
StatusEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.
WorkFlow
StatusEnum
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.*
;
import
com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationReformService
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationReformDto
;
import
com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgRegisterInfoService
;
import
com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgTechParamsElevator
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.InspectionDetectionInfo
;
...
...
@@ -26,6 +26,7 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.*
;
import
com.yeejoin.amos.boot.module.ymt.api.service.ICreateCodeService
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.feign.workflow.Workflow
;
import
com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO
;
import
com.yeejoin.amos.feign.workflow.model.AjaxResult
;
...
...
@@ -43,7 +44,6 @@ import java.util.ArrayList;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* 改造变更登记服务实现类
...
...
@@ -54,6 +54,8 @@ import java.util.stream.Collectors;
@Service
public
class
JgChangeRegistrationReformServiceImpl
extends
BaseService
<
JgChangeRegistrationReformDto
,
JgChangeRegistrationReform
,
JgChangeRegistrationReformMapper
>
implements
IJgChangeRegistrationReformService
{
@Autowired
IIdxBizJgRegisterInfoService
idxBizJgRegisterInfoService
;
@Autowired
WorkFlowFeignService
workFlowFeginService
;
@Autowired
...
...
@@ -101,36 +103,58 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
@Transactional
public
void
save
(
JSONObject
map
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
UseInfo
useInfo
=
new
UseInfo
();
BeanUtil
.
copyProperties
(
map
,
useInfo
);
LambdaQueryWrapper
<
UseInfo
>
lambda
=
new
QueryWrapper
<
UseInfo
>().
lambda
();
lambda
.
eq
(
UseInfo:
:
getRecord
,
map
.
get
(
"
equipI
d"
));
lambda
.
eq
(
UseInfo:
:
getRecord
,
map
.
get
(
"
recor
d"
));
// 更新使用信息
useInfoMapper
.
update
(
useInfo
,
lambda
);
InspectionDetectionInfo
inspectionDetectionInfo
=
new
InspectionDetectionInfo
();
BeanUtil
.
copyProperties
(
map
,
inspectionDetectionInfo
);
LambdaQueryWrapper
<
InspectionDetectionInfo
>
inspectionLambda
=
new
QueryWrapper
<
InspectionDetectionInfo
>().
lambda
();
inspectionLambda
.
eq
(
InspectionDetectionInfo:
:
getRecord
,
map
.
get
(
"
equipI
d"
));
inspectionLambda
.
eq
(
InspectionDetectionInfo:
:
getRecord
,
map
.
get
(
"
recor
d"
));
// 更新检验检测信息
inspectionDetectionInfoMapper
.
update
(
inspectionDetectionInfo
,
inspectionLambda
);
// 使用登记信息
JgChangeRegistrationReform
jgChangeRegistrationReform
=
new
JgChangeRegistrationReform
();
LambdaQueryWrapper
<
OtherInfo
>
otherLambda
=
new
QueryWrapper
<
OtherInfo
>().
lambda
();
otherLambda
.
eq
(
OtherInfo:
:
getRecord
,
map
.
get
(
"
equipI
d"
));
otherLambda
.
eq
(
OtherInfo:
:
getRecord
,
map
.
get
(
"
recor
d"
));
OtherInfo
otherInfo
=
otherInfoMapper
.
selectOne
(
otherLambda
);
String
supervisoryCode
=
otherInfo
.
getSupervisoryCode
();
jgChangeRegistrationReform
.
setSupervisoryCode
(
supervisoryCode
);
jgChangeRegistrationReform
.
setUseUnitName
(
useInfo
.
getUseUnitName
());
jgChangeRegistrationReform
.
setUseUnitCreditCode
(
useInfo
.
getUseUnitCreditCode
());
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"transformationQualityCertificate"
))){
jgChangeRegistrationReform
.
setTransformationQualityCertificate
(
JSONObject
.
toJSONString
(
map
.
get
(
"transformationQualityCertificate"
)));
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"renovationSupervisioninspectionCertificate"
)))
{
jgChangeRegistrationReform
.
setRenovationSupervisioninspectionCertificate
(
JSONObject
.
toJSONString
(
map
.
get
(
"renovationSupervisioninspectionCertificate"
)));
}
// 使用单位提交
jgChangeRegistrationReform
.
setUseUnitCreditCode
(
reginParams
.
getCompany
().
getCompanyCode
());
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"inspectUnitCreditCode"
)))
{
jgChangeRegistrationReform
.
setInspectUnitCreditCode
(
map
.
get
(
"inspectUnitCreditCode"
).
toString
());
}
else
{
jgChangeRegistrationReform
.
setInspectUnitCreditCode
(
reginParams
.
getCompany
().
getCompanyCode
());
}
if
(!
ObjectUtils
.
isEmpty
(
map
.
get
(
"inspectOrgName"
)))
{
jgChangeRegistrationReform
.
setInspectUnitName
(
map
.
get
(
"inspectOrgName"
).
toString
());
JgRegistrationHistory
jgRegistrationHistory
=
new
JgRegistrationHistory
();
}
else
{
jgChangeRegistrationReform
.
setInspectUnitName
(
reginParams
.
getCompany
().
getCompanyName
());
}
if
(
map
.
containsKey
(
"receiveCompanyCode"
))
{
jgChangeRegistrationReform
.
setReceiveCompanyCode
(
String
.
valueOf
(
map
.
getString
(
"receiveCompanyCode"
)));
}
else
{
jgChangeRegistrationReform
.
setReceiveCompanyCode
(
"610000"
);
}
JgRegistrationHistory
jgRegistrationHistory
=
new
JgRegistrationHistory
();
//使用登记编号
jgRegistrationHistory
.
setUseRegistrationCode
(
idxBizJgRegisterInfoMapper
.
getUseOrgCodeByEquip
(
map
.
get
(
"
equipI
d"
).
toString
()));
jgRegistrationHistory
.
setUseRegistrationCode
(
idxBizJgRegisterInfoMapper
.
getUseOrgCodeByEquip
(
map
.
get
(
"
recor
d"
).
toString
()));
//登记类别
jgRegistrationHistory
.
setRegistrationClass
(
"改造登记"
);
//设备id
jgRegistrationHistory
.
setEquId
(
map
.
get
(
"
equipI
d"
).
toString
());
jgRegistrationHistory
.
setEquId
(
map
.
get
(
"
recor
d"
).
toString
());
//修改数据
jgRegistrationHistory
.
setChangeData
(
JSONObject
.
toJSONString
(
map
));
//设备监管码
...
...
@@ -141,18 +165,17 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgChangeRegistrationReform
.
setUseUnitCreditCode
(
null
);
jgChangeRegistrationReform
.
setSequenceNbr
(
Long
.
valueOf
(
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
))));
this
.
getBaseMapper
().
updateById
(
jgChangeRegistrationReform
);
jgRegistrationHistory
.
setSequenceNbr
(
jgRegistrationHistoryMapper
.
getSequenceNbrByEquidAndDocumentId
(
map
.
get
(
"
equipId"
).
toString
(),
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
))));
jgRegistrationHistory
.
setSequenceNbr
(
jgRegistrationHistoryMapper
.
getSequenceNbrByEquidAndDocumentId
(
map
.
get
(
"
record"
).
toString
(),
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
))));
jgRegistrationHistoryMapper
.
updateById
(
jgRegistrationHistory
);
}
else
{
// 业务管理设备信息保存
JgChangeRegistrationReformEq
jgChangeRegistrationReformEq
=
new
JgChangeRegistrationReformEq
();
jgChangeRegistrationReformEq
.
setEquId
(
map
.
get
(
"equipId"
).
toString
());
// jgRelationEquip.setBusinessType(String.valueOf(BusinessTypeEnum.USAGE_REGISTRATION.getCode()));
jgChangeRegistrationReformEq
.
setEquId
(
map
.
get
(
"record"
).
toString
());
List
<
String
>
applicationFormCode
=
iCreateCodeService
.
createApplicationFormCode
(
ApplicationFormTypeEnum
.
GZBG
.
getCode
(),
1
);
jgChangeRegistrationReform
.
setApplyNo
(
applicationFormCode
.
get
(
0
));
jgChangeRegistrationReform
.
setAuditStatus
(
"待提交"
);
jgChangeRegistrationReform
.
setStatus
(
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getName
());
jgChangeRegistrationReform
.
setAuditStatus
(
WorkFlowStatusEnum
.
CHANGE_SUBMIT
.
getPass
()
);
jgChangeRegistrationReform
.
setStatus
(
WorkFlowStatusEnum
.
CHANGE_SUBMIT
.
getPass
());
this
.
save
(
jgChangeRegistrationReform
);
jgChangeRegistrationReformEq
.
setEquipTransferId
(
jgChangeRegistrationReform
.
getSequenceNbr
().
toString
());
jgChangeRegistrationReformEqMapper
.
insert
(
jgChangeRegistrationReformEq
);
...
...
@@ -168,20 +191,14 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
}
else
{
// 启动并执行流程
instanceId
=
startByVariable
();
jgChangeRegistrationReform
.
setInstanceStatus
(
"1460532889249755137"
);
jgChangeRegistrationReform
.
setUseUnitCreditCode
(
"91610131628001738N"
);
jgChangeRegistrationReform
.
setReceiveCompanyCode
(
"610000"
);
updateExecuteIds
(
instanceId
,
jgChangeRegistrationReform
.
getSequenceNbr
(),
"0"
);
}
if
(!
ObjectUtils
.
isEmpty
(
instanceId
))
{
// 执行流程
String
status
=
flowExecute
(
jgChangeRegistrationReform
.
getSequenceNbr
(),
instanceId
,
"0"
,
""
,
true
);
jgChangeRegistrationReform
.
setAuditStatus
(
"已提交"
);
jgChangeRegistrationReform
.
setStatus
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
flowExecute
(
jgChangeRegistrationReform
.
getSequenceNbr
(),
instanceId
,
"0"
,
""
);
updateExecuteIds
(
instanceId
,
jgChangeRegistrationReform
.
getSequenceNbr
(),
"0"
);
}
jgChangeRegistrationReform
.
setInstanceId
(
instanceId
);
this
.
getBaseMapper
().
updateById
(
jgChangeRegistrationReform
);
}
}
...
...
@@ -201,30 +218,22 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
return
instanceId
;
}
public
String
flowExecute
(
Long
id
,
String
instanceId
,
String
operate
,
String
comment
,
Boolean
update
)
{
public
void
updateExecuteIds
(
String
instanceId
,
Long
sequenceNbr
,
String
operate
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
String
role
=
""
;
String
task
Name
=
"流程结束"
;
String
task
Code
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
()
;
ArrayList
<
String
>
roleList
=
new
ArrayList
<>();
JgChangeRegistrationReform
jgChangeRegistrationReform
=
this
.
getBaseMapper
().
selectById
(
sequenceNbr
);
try
{
JSONObject
task
=
workFlowFeginService
.
getTaskNoAuth
(
instanceId
);
JSONObject
taskMessage
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
task
.
get
(
"data"
)));
String
taskId
=
taskMessage
.
getString
(
"id"
);
//组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
dto
.
setTaskId
(
taskId
);
dto
.
setComment
(
comment
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
operate
);
dto
.
setVariable
(
map
);
//执行流程
Workflow
.
taskClient
.
completeByTask
(
taskId
,
dto
);
// 查询下节点任务
JSONObject
taskNoAuth
=
workFlowFeginService
.
getTaskNoAuth
(
instanceId
);
if
(!
ObjectUtils
.
isEmpty
(
taskNoAuth
.
get
(
"data"
)))
{
JSONObject
nextTask
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
taskNoAuth
.
get
(
"data"
)));
String
nextTaskId
=
nextTask
.
getString
(
"id"
);
taskName
=
nextTask
.
getString
(
"name"
);
FeignClientResult
<
JSONObject
>
nodeInfo
=
workFlowFeginService
.
getNodeInfo
(
nextTaskId
);
JSONObject
result
=
nodeInfo
.
getResult
();
Map
<
String
,
Object
>
taskInfo
=
(
Map
<
String
,
Object
>)
result
.
get
(
"taskInfo"
);
taskCode
=
String
.
valueOf
(
taskInfo
.
get
(
"taskDefinitionKey"
));
AjaxResult
taskGroupName
=
Workflow
.
taskClient
.
getTaskGroupName
(
nextTaskId
);
JSONArray
data
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
taskGroupName
.
get
(
"data"
)));
for
(
Object
datum
:
data
)
{
...
...
@@ -236,47 +245,135 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
if
(!
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
().
equals
(
taskCode
))
{
role
=
String
.
join
(
","
,
roleList
);
if
(
update
)
{
Boolean
rollBack
=
"1"
.
equals
(
operate
)
?
true
:
false
;
updateStatus
(
id
,
instanceId
,
taskName
,
role
,
rollBack
);
}
return
role
;
}
public
void
updateStatus
(
Long
id
,
String
instanceId
,
String
taskName
,
String
role
,
Boolean
rollBack
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
LambdaQueryWrapper
<
JgChangeRegistrationReform
>
lambda
=
new
QueryWrapper
<
JgChangeRegistrationReform
>().
lambda
();
lambda
.
eq
(
JgChangeRegistrationReform:
:
getSequenceNbr
,
id
);
JgChangeRegistrationReform
jgChangeRegistrationReform
=
this
.
getBaseMapper
().
selectOne
(
lambda
);
if
(
"流程结束"
.
equals
(
taskName
))
{
JgChangeRegistrationReformEq
jgChangeRegistrationReformEq
=
jgChangeRegistrationReformEqMapper
.
selectOne
(
new
QueryWrapper
<
JgChangeRegistrationReformEq
>().
eq
(
"equip_transfer_id"
,
jgChangeRegistrationReform
.
getSequenceNbr
()));
jgChangeRegistrationReform
.
setStatus
(
taskName
);
jgChangeRegistrationReform
.
setAuditStatus
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
//交换历史数据与新增数据
updateTechparamsByEquIdAndCurrentDoucumentId
(
jgChangeRegistrationReformEq
.
getEquId
(),
jgChangeRegistrationReform
.
getSequenceNbr
().
toString
(),
jgChangeRegistrationReform
.
getSupervisoryCode
());
}
else
{
jgChangeRegistrationReform
.
setNextExecutorIds
(
role
);
jgChangeRegistrationReform
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
jgChangeRegistrationReform
.
setInstanceId
(
instanceId
);
if
(!
ObjectUtils
.
isEmpty
(
jgChangeRegistrationReform
.
getInstanceStatus
()))
{
jgChangeRegistrationReform
.
setInstanceStatus
(
jgChangeRegistrationReform
.
getInstanceStatus
()
+
","
+
role
);
}
else
{
jgChangeRegistrationReform
.
setInstanceStatus
(
role
);
}
UseStatusEnum
message
=
UseStatusEnum
.
getMessage
(
taskName
);
jgChangeRegistrationReform
.
setStatus
(
message
.
getPass
());
if
(
"0"
.
equals
(
operate
))
{
// 通过操作
jgChangeRegistrationReform
.
setAuditStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getPass
());
jgChangeRegistrationReform
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getPass
());
}
else
{
// 驳回操作
jgChangeRegistrationReform
.
setAuditStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getReject
());
jgChangeRegistrationReform
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getReject
());
jgChangeRegistrationReform
.
setPromoter
(
null
);
}
if
(
rollBack
)
{
this
.
getBaseMapper
().
update
(
jgChangeRegistrationReform
,
lambda
);
this
.
getBaseMapper
().
updatePromoter
(
jgChangeRegistrationReform
.
getSequenceNbr
());
}
else
{
this
.
getBaseMapper
().
update
(
jgChangeRegistrationReform
,
lambda
);
jgChangeRegistrationReform
.
setAuditStatus
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
jgChangeRegistrationReform
.
setStatus
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
JgChangeRegistrationReformEq
jgChangeRegistrationReformEq
=
jgChangeRegistrationReformEqMapper
.
selectOne
(
new
QueryWrapper
<
JgChangeRegistrationReformEq
>().
eq
(
"equip_transfer_id"
,
jgChangeRegistrationReform
.
getSequenceNbr
()));
updateTechparamsByEquIdAndCurrentDoucumentId
(
jgChangeRegistrationReformEq
.
getEquId
(),
jgChangeRegistrationReform
.
getSequenceNbr
().
toString
(),
jgChangeRegistrationReform
.
getSupervisoryCode
());
}
this
.
getBaseMapper
().
updateById
(
jgChangeRegistrationReform
);
}
// public String flowExecute(Long id, String instanceId, String operate, String comment, Boolean update) {
// String role = "";
// String taskName = "流程结束";
// ArrayList<String> roleList = new ArrayList<>();
// try {
// JSONObject task = workFlowFeginService.getTaskNoAuth(instanceId);
// JSONObject taskMessage = JSON.parseObject(JSON.toJSONString(task.get("data")));
// String taskId = taskMessage.getString("id");
// //组装信息
// TaskResultDTO dto = new TaskResultDTO();
// dto.setResultCode("approvalStatus");
// dto.setTaskId(taskId);
// dto.setComment(comment);
// HashMap<String, Object> map = new HashMap<>();
// map.put("approvalStatus", operate);
// dto.setVariable(map);
// //执行流程
// Workflow.taskClient.completeByTask(taskId, dto);
// // 查询下节点任务
// JSONObject taskNoAuth = workFlowFeginService.getTaskNoAuth(instanceId);
// if (!ObjectUtils.isEmpty(taskNoAuth.get("data"))) {
// JSONObject nextTask = JSON.parseObject(JSON.toJSONString(taskNoAuth.get("data")));
// String nextTaskId = nextTask.getString("id");
// taskName = nextTask.getString("name");
// AjaxResult taskGroupName = Workflow.taskClient.getTaskGroupName(nextTaskId);
// JSONArray data = JSON.parseArray(JSON.toJSONString(taskGroupName.get("data")));
// for (Object datum : data) {
// if (((Map) datum).containsKey("groupId")) {
// roleList.add(((Map) datum).get("groupId").toString());
// }
// }
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
// role = String.join(",", roleList);
// if (update) {
// Boolean rollBack = "1".equals(operate) ? true : false;
// updateStatus(id, instanceId, taskName, role, rollBack);
// }
// return role;
// }
public
void
flowExecute
(
Long
id
,
String
instanceId
,
String
operate
,
String
comment
)
{
try
{
JSONObject
task
=
workFlowFeginService
.
getTaskNoAuth
(
instanceId
);
JSONObject
taskMessage
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
task
.
get
(
"data"
)));
String
taskId
=
taskMessage
.
getString
(
"id"
);
//组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
dto
.
setTaskId
(
taskId
);
dto
.
setComment
(
comment
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
operate
);
dto
.
setVariable
(
map
);
//执行流程
Workflow
.
taskClient
.
completeByTask
(
taskId
,
dto
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
// 更新下一步执行人
updateExecuteIds
(
instanceId
,
id
,
operate
);
}
// public void updateStatus(Long id, String instanceId, String taskName, String role, Boolean rollBack) {
// ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
// LambdaQueryWrapper<JgChangeRegistrationReform> lambda = new QueryWrapper<JgChangeRegistrationReform>().lambda();
// lambda.eq(JgChangeRegistrationReform::getSequenceNbr, id);
// JgChangeRegistrationReform jgChangeRegistrationReform = this.getBaseMapper().selectOne(lambda);
// if ("流程结束".equals(taskName)) {
// JgChangeRegistrationReformEq jgChangeRegistrationReformEq = jgChangeRegistrationReformEqMapper.selectOne(new QueryWrapper<JgChangeRegistrationReformEq>().eq("equip_transfer_id", jgChangeRegistrationReform.getSequenceNbr()));
// jgChangeRegistrationReform.setStatus("已完成");
// jgChangeRegistrationReform.setAuditStatus(RenovationRegistrationWorkFlowStatusEnum.COMPLETE.getName());
//
// //交换历史数据与新增数据
// updateTechparamsByEquIdAndCurrentDoucumentId(jgChangeRegistrationReformEq.getEquId(), jgChangeRegistrationReform.getSequenceNbr().toString(), jgChangeRegistrationReform.getSupervisoryCode());
// } else {
// jgChangeRegistrationReform.setNextExecutorIds(role);
// jgChangeRegistrationReform.setPromoter(reginParams.getUserModel().getUserId());
// if (!ObjectUtils.isEmpty(jgChangeRegistrationReform.getInstanceStatus())) {
// jgChangeRegistrationReform.setInstanceStatus(jgChangeRegistrationReform.getInstanceStatus() + "," + role);
// } else {
// jgChangeRegistrationReform.setInstanceStatus(role);
// }
// }
// if (rollBack) {
// jgChangeRegistrationReform.setAuditStatus(RenovationRegistrationWorkFlowStatusEnum.getMessage(taskName).getReject());
// this.getBaseMapper().update(jgChangeRegistrationReform, lambda);
// this.getBaseMapper().updatePromoter(jgChangeRegistrationReform.getSequenceNbr());
// } else {
// jgChangeRegistrationReform.setAuditStatus(RenovationRegistrationWorkFlowStatusEnum.getMessage(taskName).getPass());
// this.getBaseMapper().update(jgChangeRegistrationReform, lambda);
// }
// }
public
void
withdraw
(
String
instanceId
)
{
String
taskName
=
""
;
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
String
taskCode
=
""
;
JgChangeRegistrationReform
jgChangeRegistrationReform
=
new
JgChangeRegistrationReform
();
LambdaQueryWrapper
<
JgChangeRegistrationReform
>
lambda
=
new
QueryWrapper
<
JgChangeRegistrationReform
>().
lambda
();
lambda
.
eq
(
JgChangeRegistrationReform:
:
getInstanceId
,
instanceId
);
...
...
@@ -285,9 +382,12 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
workFlowFeginService
.
rollBack
(
instanceId
);
JSONObject
taskNoAuth
=
workFlowFeginService
.
getTaskNoAuth
(
instanceId
);
JSONObject
nextTask
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
taskNoAuth
.
get
(
"data"
)));
taskName
=
nextTask
.
getString
(
"name"
);
if
(!
ObjectUtils
.
isEmpty
(
taskNoAuth
.
get
(
"data"
)))
{
String
nextTaskId
=
nextTask
.
getString
(
"id"
);
FeignClientResult
<
JSONObject
>
nodeInfo
=
workFlowFeginService
.
getNodeInfo
(
nextTaskId
);
JSONObject
result
=
nodeInfo
.
getResult
();
Map
<
String
,
Object
>
taskInfo
=
(
Map
<
String
,
Object
>)
result
.
get
(
"taskInfo"
);
taskCode
=
String
.
valueOf
(
taskInfo
.
get
(
"taskDefinitionKey"
));
AjaxResult
taskGroupName
=
Workflow
.
taskClient
.
getTaskGroupName
(
nextTaskId
);
JSONArray
data
=
JSON
.
parseArray
(
JSON
.
toJSONString
(
taskGroupName
.
get
(
"data"
)));
for
(
Object
datum
:
data
)
{
...
...
@@ -299,14 +399,15 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
if
(!
ObjectUtils
.
isEmpty
(
task
Nam
e
))
{
UseStatusEnum
message
=
UseStatusEnum
.
getMessage
(
taskName
);
jgChangeRegistrationReform
.
setStatus
(
message
.
getPass
());
if
(!
ObjectUtils
.
isEmpty
(
task
Cod
e
))
{
jgChangeRegistrationReform
.
setAuditStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getRollBack
()
);
jgChangeRegistrationReform
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getRollBack
());
}
String
join
=
String
.
join
(
","
,
roleList
);
JgChangeRegistrationReform
jgChangeRegistrationReform1
=
this
.
getBaseMapper
().
selectOne
(
lambda
);
this
.
updateStatus
(
jgChangeRegistrationReform1
.
getSequenceNbr
(),
instanceId
,
taskName
,
join
,
true
);
jgChangeRegistrationReform
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
jgChangeRegistrationReform
.
setNextExecutorIds
(
join
);
this
.
update
(
jgChangeRegistrationReform
,
lambda
);
}
public
void
deleteBatch
(
List
<
Long
>
ids
)
{
...
...
@@ -322,23 +423,25 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgChangeRegistrationReformEqMapper
.
update
(
jgChangeRegistrationReformEq
,
lambda1
);
}
public
Map
<
String
,
Object
>
getDetail
(
String
id
)
{
Map
<
String
,
Object
>
detail
=
this
.
baseMapper
.
getDetail
(
id
);
Map
<
String
,
Object
>
inspectDetail
=
this
.
baseMapper
.
getInspectDetail
(
id
);
Map
<
String
,
Object
>
useDetail
=
this
.
baseMapper
.
getUseDetail
(
id
);
if
(
detail
.
get
(
"status"
).
equals
(
"已完成"
)){
}
else
{
public
Map
<
String
,
Object
>
getDetail
(
String
currentDocumentId
,
String
equipId
)
{
JgChangeRegistrationReform
jgChangeRegistrationReform
=
this
.
getBaseMapper
().
selectById
(
currentDocumentId
);
Map
<
String
,
Object
>
detail
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
jgChangeRegistrationReform
),
Map
.
class
);
Map
<
String
,
Object
>
originalData
=
new
HashMap
<>();
}
detail
.
putAll
(
inspectDetail
);
detail
.
putAll
(
useDetail
);
detail
.
putAll
(
useDetail
);
detail
.
put
(
"proDuctPhoto"
,
JSON
.
parse
(
String
.
valueOf
(
detail
.
get
(
"proDuctPhoto"
))));
detail
.
put
(
"factoryStandard"
,
JSON
.
parse
(
String
.
valueOf
(
detail
.
get
(
"factoryStandard"
))));
detail
.
put
(
"productQualityYieldProve"
,
JSON
.
parse
(
String
.
valueOf
(
detail
.
get
(
"productQualityYieldProve"
))));
detail
.
put
(
"insUseMaintainExplanin"
,
JSON
.
parse
(
String
.
valueOf
(
detail
.
get
(
"insUseMaintainExplanin"
))));
detail
.
put
(
"inspectReport"
,
JSON
.
parse
(
String
.
valueOf
(
detail
.
get
(
"inspectReport"
))));
if
((
detail
.
get
(
"status"
).
equals
(
"已完成"
)
||
detail
.
get
(
"status"
).
equals
(
"流程结束"
)))
{
originalData
=
idxBizJgRegisterInfoService
.
getDetailFieldCamelCaseByRecord
(
equipId
);
originalData
.
remove
(
"sequenceNbr"
);
detail
.
put
(
"transformationQualityCertificate"
,
JSONObject
.
parse
(
detail
.
get
(
"transformationQualityCertificate"
).
toString
()));
detail
.
put
(
"renovationSupervisioninspectionCertificate"
,
JSONObject
.
parse
(
detail
.
get
(
"renovationSupervisioninspectionCertificate"
).
toString
()));
}
else
{
JgRegistrationHistory
jgRegistrationHistory
=
jgRegistrationHistoryMapper
.
selectOne
(
new
QueryWrapper
<
JgRegistrationHistory
>()
.
eq
(
"equ_id"
,
equipId
)
.
eq
(
"current_document_id"
,
currentDocumentId
)
.
eq
(
"registration_class"
,
"改造登记"
));
originalData
=
JSONObject
.
parseObject
(
jgRegistrationHistory
.
getChangeData
(),
Map
.
class
);
originalData
.
remove
(
"sequenceNbr"
);
}
detail
.
putAll
(
originalData
);
return
detail
;
}
...
...
@@ -357,56 +460,60 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
/**
* 流程完成之后互换数据并更新设备状态
*
* @param equipId
* @param currentDocumentId
*/
public
void
updateTechparamsByEquIdAndCurrentDoucumentId
(
String
equipId
,
String
currentDocumentId
,
String
supervisoryCode
)
{
String
newUseRegistrationCertificateNumber
=
getCode
(
supervisoryCode
);
IdxBizJgTechParamsElevator
idxBizJgTechParamsElevator
=
idxBizJgTechParamsElevatorMapper
.
selectOne
(
new
QueryWrapper
<
IdxBizJgTechParamsElevator
>().
eq
(
"RECORD"
,
equipId
));
JgRegistrationHistory
jgRegistrationHistory
=
jgRegistrationHistoryMapper
.
selectOne
(
new
QueryWrapper
<
JgRegistrationHistory
>()
.
eq
(
"equ_id"
,
equipId
)
.
eq
(
"current_document_id"
,
currentDocumentId
)
.
eq
(
"registration_class"
,
"改造登记"
));
public
void
updateTechparamsByEquIdAndCurrentDoucumentId
(
String
equipId
,
String
currentDocumentId
,
String
supervisoryCode
)
{
String
newUseRegistrationCertificateNumber
=
getCode
(
supervisoryCode
);
IdxBizJgTechParamsElevator
idxBizJgTechParamsElevator
=
idxBizJgTechParamsElevatorMapper
.
selectOne
(
new
QueryWrapper
<
IdxBizJgTechParamsElevator
>().
eq
(
"RECORD"
,
equipId
));
JgRegistrationHistory
jgRegistrationHistory
=
jgRegistrationHistoryMapper
.
selectOne
(
new
QueryWrapper
<
JgRegistrationHistory
>()
.
eq
(
"equ_id"
,
equipId
)
.
eq
(
"current_document_id"
,
currentDocumentId
)
.
eq
(
"registration_class"
,
"改造登记"
));
if
(!
ObjectUtils
.
isEmpty
(
idxBizJgTechParamsElevator
)&&!
ObjectUtils
.
isEmpty
(
jgRegistrationHistory
))
{
if
(!
ObjectUtils
.
isEmpty
(
idxBizJgTechParamsElevator
)
&&
!
ObjectUtils
.
isEmpty
(
jgRegistrationHistory
))
{
//历史数据
String
historyData
=
JSONObject
.
toJSONString
(
idxBizJgTechParamsElevator
);
//当前数据
String
newData
=
jgRegistrationHistory
.
getChangeData
();
//将历史数据更新到技术参数表中
IdxBizJgTechParamsElevator
idxBizJgTechParamsElevatorNew
=
JSONObject
.
parseObject
(
newData
,
IdxBizJgTechParamsElevator
.
class
);
BeanUtil
.
copyProperties
(
idxBizJgTechParamsElevatorNew
,
idxBizJgTechParamsElevator
,
"sequenceNbr"
,
"record"
);
IdxBizJgTechParamsElevator
idxBizJgTechParamsElevatorNew
=
JSONObject
.
parseObject
(
newData
,
IdxBizJgTechParamsElevator
.
class
);
BeanUtil
.
copyProperties
(
idxBizJgTechParamsElevatorNew
,
idxBizJgTechParamsElevator
,
"sequenceNbr"
,
"record"
);
idxBizJgTechParamsElevatorMapper
.
updateById
(
idxBizJgTechParamsElevator
);
//将历史数据回填到历史记录表中
jgRegistrationHistory
.
setChangeData
(
historyData
);
jgRegistrationHistory
.
setStatus
(
"history"
);
jgRegistrationHistoryMapper
.
updateById
(
jgRegistrationHistory
);
makeEquipmentsInvalid
(
equipId
,
currentDocumentId
);
makeEquipmentsInvalid
(
equipId
,
currentDocumentId
);
//更新使用注册登记证编号
idxBizJgRegisterInfoMapper
.
updateUseOrgCodeByEquip
(
equipId
,
newUseRegistrationCertificateNumber
);
idxBizJgRegisterInfoMapper
.
updateUseOrgCodeByEquip
(
equipId
,
newUseRegistrationCertificateNumber
);
//es中的编号信息
Map
<
String
,
Map
<
String
,
Object
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
map1
=
new
HashMap
<>();
map1
.
put
(
"USE_ORG_CODE"
,
newUseRegistrationCertificateNumber
);
resultMap
.
put
(
equipId
,
map1
);
Map
<
String
,
Map
<
String
,
Object
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
map1
=
new
HashMap
<>();
map1
.
put
(
"USE_ORG_CODE"
,
newUseRegistrationCertificateNumber
);
resultMap
.
put
(
equipId
,
map1
);
tzsServiceFeignClient
.
commonUpdateEsDataByIds
(
resultMap
);
}
}
/*
* 获取电梯的原始技术参数
* @param equipId
*/
public
Map
<
String
,
Object
>
getOriginalTechParams
(
String
equipId
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
IdxBizJgTechParamsElevator
idxBizJgTechParamsElevator
=
idxBizJgTechParamsElevatorMapper
.
selectOne
(
new
QueryWrapper
<
IdxBizJgTechParamsElevator
>().
eq
(
"RECORD"
,
equipId
));
if
(!
ObjectUtils
.
isEmpty
(
idxBizJgTechParamsElevator
))
{
result
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
idxBizJgTechParamsElevator
),
Map
.
class
);
public
Map
<
String
,
Object
>
getOriginalTechParams
(
String
equipId
)
{
Map
<
String
,
Object
>
result
=
new
HashMap
<>();
IdxBizJgTechParamsElevator
idxBizJgTechParamsElevator
=
idxBizJgTechParamsElevatorMapper
.
selectOne
(
new
QueryWrapper
<
IdxBizJgTechParamsElevator
>().
eq
(
"RECORD"
,
equipId
));
if
(!
ObjectUtils
.
isEmpty
(
idxBizJgTechParamsElevator
))
{
result
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
idxBizJgTechParamsElevator
),
Map
.
class
);
result
.
remove
(
"sequenceNbr"
);
}
return
result
;
}
/**
* 参数为监管码
*
* @param supervisoryCode
* @return
*/
...
...
amos-boot-system-tzs/amos-boot-module-ymt/amos-boot-module-ymt-api/src/main/java/com/yeejoin/amos/boot/module/ymt/api/mapper/IdxBizJgRegisterInfoMapper.java
View file @
8d810fb4
...
...
@@ -13,7 +13,7 @@ import org.apache.ibatis.annotations.Select;
*/
public
interface
IdxBizJgRegisterInfoMapper
extends
BaseMapper
<
IdxBizJgRegisterInfo
>
{
@Select
(
"select
use_org_code from idx_biz_jg_register_info where record
= #{equipCode}"
)
@Select
(
"select
\"USE_ORG_CODE\" from idx_biz_jg_register_info where \"RECORD\"
= #{equipCode}"
)
String
getUseOrgCodeByEquip
(
@Param
(
"equipCode"
)
String
equipCode
);
@Select
(
"update idx_biz_jg_register_info set \"USE_ORG_CODE\" = #{useOrgCode} where \"RECORD\" = #{equipCode}"
)
...
...
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