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
ee153f51
Commit
ee153f51
authored
Jul 09, 2024
by
麻笑宇
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/develop_tzs_register_to_0715' into…
Merge remote-tracking branch 'origin/develop_tzs_register_to_0715' into develop_tzs_register_to_0715
parents
71c9c051
1457e7cc
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
420 additions
and
102 deletions
+420
-102
JgCertificateChangeRecordDto.java
.../boot/module/jg/api/dto/JgCertificateChangeRecordDto.java
+3
-0
JgScrapCancelEqDto.java
...ejoin/amos/boot/module/jg/api/dto/JgScrapCancelEqDto.java
+8
-0
JgCertificateChangeRecord.java
.../boot/module/jg/api/entity/JgCertificateChangeRecord.java
+6
-0
JgScrapCancelEq.java
...ejoin/amos/boot/module/jg/api/entity/JgScrapCancelEq.java
+15
-0
CancelTypeEnum.java
...yeejoin/amos/boot/module/jg/api/enums/CancelTypeEnum.java
+2
-2
CertificateStatusEnum.java
.../amos/boot/module/jg/api/enums/CertificateStatusEnum.java
+32
-0
JgUseRegistrationController.java
...module/jg/biz/controller/JgUseRegistrationController.java
+5
-8
JgVehicleInformationController.java
...ule/jg/biz/controller/JgVehicleInformationController.java
+13
-0
JgInstallationNoticeServiceImpl.java
.../jg/biz/service/impl/JgInstallationNoticeServiceImpl.java
+13
-1
JgScrapCancelServiceImpl.java
.../module/jg/biz/service/impl/JgScrapCancelServiceImpl.java
+210
-55
JgUseRegistrationServiceImpl.java
...ule/jg/biz/service/impl/JgUseRegistrationServiceImpl.java
+11
-12
JgVehicleInformationServiceImpl.java
.../jg/biz/service/impl/JgVehicleInformationServiceImpl.java
+78
-0
use-registration-form.ftl
...iz/src/main/resources/templates/use-registration-form.ftl
+24
-24
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/JgCertificateChangeRecordDto.java
View file @
ee153f51
...
...
@@ -62,4 +62,7 @@ public class JgCertificateChangeRecordDto extends BaseModel {
@ApiModelProperty
(
value
=
"设备类别"
)
private
String
equCategory
;
@ApiModelProperty
(
value
=
"跳转路径"
)
private
String
routePath
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/JgScrapCancelEqDto.java
View file @
ee153f51
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
dto
;
import
com.alibaba.fastjson.JSONArray
;
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
;
...
...
@@ -27,4 +29,10 @@ public class JgScrapCancelEqDto extends BaseDto {
@ApiModelProperty
(
value
=
"设备id"
)
private
String
equId
;
@ApiModelProperty
(
value
=
"使用登记id"
)
private
String
certificateSeq
;
@ApiModelProperty
(
value
=
"设备信息"
)
private
JSONArray
equipInfo
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgCertificateChangeRecord.java
View file @
ee153f51
...
...
@@ -107,4 +107,10 @@ public class JgCertificateChangeRecord extends BaseEntity {
@TableField
(
"EQU_CATEGORY"
)
private
String
equCategory
;
/**
* 跳转路径
*/
@TableField
(
"route_path"
)
private
String
routePath
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgScrapCancelEq.java
View file @
ee153f51
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
entity
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
...
...
@@ -34,4 +36,17 @@ public class JgScrapCancelEq extends BaseEntity {
@TableField
(
"equ_id"
)
private
String
equId
;
/**
* 使用登记id
*/
@TableField
(
"certificate_seq"
)
private
String
certificateSeq
;
/**
* 设备信息
*/
@TableField
(
"equip_info"
)
private
String
equipInfo
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/enums/CancelTypeEnum.java
View file @
ee153f51
...
...
@@ -8,11 +8,11 @@ public enum CancelTypeEnum {
/**
* 报废注销
*/
SCRAPPED
(
"1"
,
"报废
注销
"
),
SCRAPPED
(
"1"
,
"报废"
),
/**
* 移装注销
*/
TRANSFER
(
"2"
,
"
移装
注销"
);
TRANSFER
(
"2"
,
"注销"
);
private
final
String
code
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/enums/CertificateStatusEnum.java
0 → 100644
View file @
ee153f51
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.HashMap
;
import
java.util.Map
;
@AllArgsConstructor
@Getter
public
enum
CertificateStatusEnum
{
/**
* 设备状态枚举
*
*/
YIDENGJI
(
"已登记"
,
0
),
YIZHUXIAO
(
"已注销"
,
1
);
String
name
;
Integer
code
;
public
static
Map
<
Integer
,
String
>
getName
=
new
HashMap
<>();
public
static
Map
<
String
,
Integer
>
getCode
=
new
HashMap
<>();
static
{
for
(
CertificateStatusEnum
e
:
CertificateStatusEnum
.
values
()){
getName
.
put
(
e
.
code
,
e
.
name
);
getCode
.
put
(
e
.
name
,
e
.
code
);
}
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/controller/JgUseRegistrationController.java
View file @
ee153f51
...
...
@@ -33,7 +33,7 @@ import java.util.*;
* @date 2023-12-12
*/
@RestController
@Api
(
tags
=
"Api"
)
@Api
(
tags
=
"
使用登记
Api"
)
@RequestMapping
(
value
=
"/jg-use-registration"
)
public
class
JgUseRegistrationController
extends
BaseController
{
...
...
@@ -250,17 +250,14 @@ public class JgUseRegistrationController extends BaseController {
/**
* 使用登记流程错误数据处理
* @param
sequenceNbr sequenceNbr
* @param
applyNo applyNo
* @return s
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/yunWei/handleErrorForm"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"使用登记流程错误数据处理"
,
notes
=
"使用登记流程错误数据处理"
)
public
ResponseModel
<
Object
>
handleErrorForm
(
@RequestParam
(
"sequenceNbr"
)
Long
sequenceNbr
,
@RequestParam
(
"nextTaskId"
)
String
nextTaskId
,
@RequestParam
(
"instanceId"
)
String
instanceId
)
{
jgUseRegistrationServiceImpl
.
handleErrorForm
(
sequenceNbr
,
instanceId
,
nextTaskId
);
return
ResponseHelper
.
buildResponse
(
"ok"
);
public
ResponseModel
<
Object
>
handleErrorForm
(
@RequestParam
(
"applyNo"
)
String
applyNo
)
{
jgUseRegistrationServiceImpl
.
handleErrorForm
(
applyNo
);
return
ResponseHelper
.
buildResponse
(
"申请单【"
+
applyNo
+
"】处理成功"
);
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/controller/JgVehicleInformationController.java
View file @
ee153f51
...
...
@@ -206,4 +206,17 @@ public class JgVehicleInformationController extends BaseController {
JgVehicleInformation
result
=
jgVehicleInformationServiceImpl
.
cancelApplication
(
vehicleInformationDto
.
getSequenceNbr
(),
vehicleInformationDto
.
getCancelReason
());
return
ResponseHelper
.
buildResponse
(
result
);
}
/**
* 车用气瓶流程错误数据处理
* @param applyNo applyNo
* @return s
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/yunWei/handleErrorVehicleForm"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"车用气瓶流程错误数据处理"
,
notes
=
"车用气瓶流程错误数据处理"
)
public
ResponseModel
<
Object
>
handleErrorVehicleForm
(
@RequestParam
(
"applyNo"
)
String
applyNo
)
{
jgVehicleInformationServiceImpl
.
handleErrorVehicleForm
(
applyNo
);
return
ResponseHelper
.
buildResponse
(
"申请单【"
+
applyNo
+
"】处理成功"
);
}
}
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/JgInstallationNoticeServiceImpl.java
View file @
ee153f51
...
...
@@ -302,6 +302,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
if
(
Objects
.
isNull
(
noticeDto
)
||
StringUtils
.
isEmpty
(
submitType
))
{
throw
new
IllegalArgumentException
(
"参数不能为空"
);
}
try
{
// 字段转换
this
.
convertField
(
noticeDto
);
JgInstallationNotice
notice
=
this
.
getById
(
noticeDto
.
getSequenceNbr
());
...
...
@@ -407,6 +408,17 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
this
.
updateById
(
bean
);
}
return
noticeDto
;
}
catch
(
BadRequest
|
LocalBadRequest
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
this
.
rollBackForDelRedisData
();
throw
e
;
}
catch
(
Exception
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
this
.
rollBackForDelRedisData
();
throw
new
BadRequest
(
"安装告知保存失败!"
);
}
finally
{
FlowingEquipRedisContext
.
clean
();
}
}
private
void
checkRepeatUsed
(
String
submitType
,
JgInstallationNotice
jgInstallationNotice
)
{
...
...
@@ -465,7 +477,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
for
(
Long
sequenceNbr
:
sequenceNbrs
)
{
// 删除待办 + 中止流程
JgInstallationNotice
jgInstallationNotice
=
this
.
baseMapper
.
selectById
(
sequenceNbr
);
commonService
.
deleteTaskModel
(
String
.
valueOf
(
sequenceNbr
),
jgInstallationNotice
.
getInstanceId
());
commonService
.
deleteTaskModel
(
String
.
valueOf
(
sequenceNbr
),
jgInstallationNotice
.
getInstanceId
());
// 删除业务单
jgInstallationNotice
.
setIsDelete
(
true
);
this
.
getBaseMapper
().
deleteById
(
sequenceNbr
);
...
...
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/JgScrapCancelServiceImpl.java
View file @
ee153f51
...
...
@@ -2,24 +2,21 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
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.*
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancel
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancelEq
;
import
com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.CancelTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgRegistrationHistoryMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgScrapCancelEqMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgScrapCancelMapper
;
import
com.yeejoin.amos.boot.module.jg.api.entity.*
;
import
com.yeejoin.amos.boot.module.jg.api.enums.*
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.*
;
import
com.yeejoin.amos.boot.module.jg.api.service.IJgRegistrationHistoryService
;
import
com.yeejoin.amos.boot.module.jg.api.service.IJgScrapCancelService
;
import
com.yeejoin.amos.boot.module.jg.api.vo.SortVo
;
import
com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient
;
...
...
@@ -28,16 +25,15 @@ import com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService;
import
com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.OtherInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.SuperviseInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.*
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.*
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.model.TaskV2Model
;
import
com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO
;
import
com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO
;
import
com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO
;
import
com.yeejoin.amos.feign.workflow.model.TaskResultDTO
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -48,6 +44,7 @@ import org.springframework.transaction.annotation.Transactional;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
...
...
@@ -71,7 +68,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
private
static
final
String
SUBMIT_TYPE_FLOW
=
"1"
;
private
static
final
String
PAGE_KEY
=
"jgScrapCancelAdd"
;
private
static
final
String
template
=
"
来自%s【%s】【%s】的业务办理
,【申请单号:%s】"
;
private
static
final
String
template
=
"
%s发起%s%s业务申请
,【申请单号:%s】"
;
@Autowired
WorkFlowFeignService
workFlowFeginService
;
@Autowired
...
...
@@ -104,6 +101,17 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
@Autowired
private
RedissonClient
redissonClient
;
@Autowired
private
JgUseRegistrationManageServiceImpl
jgUseRegistrationManageService
;
@Autowired
private
JgUseRegistrationManageMapper
jgUseRegistrationManageMapper
;
@Autowired
private
JgCertificateChangeRecordServiceImpl
certificateChangeRecordService
;
@Autowired
private
JgCertificateChangeRecordEqServiceImpl
jgCertificateChangeRecordEqServiceImpl
;
/**
* 移装移装注销/报废注销判断
*
...
...
@@ -163,15 +171,14 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
@SuppressWarnings
({
"Duplicates"
,
"rawtypes"
})
@Transactional
(
rollbackFor
=
Exception
.
class
)
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
public
JgScrapCancel
save
(
String
submitType
,
Map
<
String
,
Object
>
mapParams
)
{
ReginParams
reginParams
=
this
.
getSelectedOrgInfo
();
Map
<
String
,
Object
>
noticeParams
=
(
Map
)
mapParams
.
get
(
PAGE_KEY
);
String
equipId
=
String
.
valueOf
(
noticeParams
.
get
(
"record"
));
String
[]
receiveOrg
=
String
.
valueOf
(
noticeParams
.
get
(
"receiveOrgCreditCode"
)).
split
(
"_"
);
noticeParams
.
remove
(
"record"
);
String
[]
taskName
=
new
String
[]{
"流程结束"
};
JgScrapCancelDto
model
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
noticeParams
),
JgScrapCancelDto
.
class
);
model
.
setSEQUENCE_NBR
(
equipId
);
model
.
setReceiveOrgCode
(
receiveOrg
[
0
]);
model
.
setReceiveCompanyCode
(
receiveOrg
[
0
]);
model
.
setReceiveOrgName
(
receiveOrg
[
1
]);
...
...
@@ -183,8 +190,6 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
log
.
error
(
" 获取告知单号失败"
);
throw
new
RuntimeException
();
}
HashMap
<
String
,
Object
>
deviceMap
=
new
HashMap
<>();
deviceMap
.
put
(
"SEQUENCE_NBR"
,
model
.
getSEQUENCE_NBR
());
String
instanceId
=
""
;
String
nextTaskId
=
""
;
...
...
@@ -221,26 +226,15 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
nextUserIds
=
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
();
this
.
buildRoleList
(
processTaskDTOS
,
roleListNext
,
roleListAll
);
}
JgScrapCancelEq
jgRelationEquip
=
new
JgScrapCancelEq
();
JgScrapCancel
jgScrapCancel
=
new
JgScrapCancel
();
BeanUtils
.
copyProperties
(
model
,
jgScrapCancel
);
String
applyNo
=
applyNoList
.
get
(
0
);
LambdaQueryWrapper
<
OtherInfo
>
otherLambda
=
new
QueryWrapper
<
OtherInfo
>().
lambda
();
otherLambda
.
eq
(
OtherInfo:
:
getRecord
,
deviceMap
.
get
(
"SEQUENCE_NBR"
));
OtherInfo
otherInfo
=
otherInfoMapper
.
selectOne
(
otherLambda
);
if
(!
ObjectUtils
.
isEmpty
(
otherInfo
))
{
String
supervisoryCode
=
otherInfo
.
getSupervisoryCode
();
jgScrapCancel
.
setSupervisoryCode
(
supervisoryCode
);
}
jgScrapCancel
.
setApplyNo
(
applyNo
);
jgScrapCancel
.
setCreateDate
(
new
Date
());
jgScrapCancel
.
setNextExecuteIds
(
String
.
join
(
","
,
roleListNext
));
jgScrapCancel
.
setInstanceStatus
(
String
.
join
(
","
,
roleListAll
));
jgScrapCancel
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
jgScrapCancel
.
setNextTaskId
(
Objects
.
isNull
(
workflowResultDtos
)
?
null
:
workflowResultDtos
.
get
(
0
).
getNextTaskId
());
jgRelationEquip
.
setEquId
((
String
)
deviceMap
.
get
(
"SEQUENCE_NBR"
));
jgRelationEquip
.
setEquipTransferId
(
applyNo
);
if
(!
StringUtils
.
isEmpty
(
instanceId
))
{
jgScrapCancel
.
setInstanceId
(
instanceId
);
jgScrapCancel
.
setNextTaskId
(
nextTaskId
);
...
...
@@ -255,20 +249,71 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
this
.
save
(
jgScrapCancel
);
// 新增代办
this
.
createTaskModel
(
jgScrapCancel
,
taskName
[
0
],
submitType
,
nextUserIds
);
jgRelationEquip
.
setEquipTransferId
(
String
.
valueOf
(
jgScrapCancel
.
getSequenceNbr
()));
jgScrapCancelEqService
.
save
(
jgRelationEquip
);
// 保存设备关系表
saveEquip
(
noticeParams
,
jgScrapCancel
);
String
equListName
=
EquipmentClassifityEnum
.
getNameByCode
(
jgScrapCancel
.
getEquList
());
jgScrapCancel
.
setEquListDesc
(
equListName
);
jgScrapCancel
.
setCancelTypeDesc
(
getRegistrationClass
(
jgScrapCancel
.
getCancelType
()));
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
noticeParams
));
commonService
.
saveExecuteFlowData2Redis
(
instanceId
,
buildInstanceRuntimeData
(
jgScrapCancel
));
save2HisData
(
noticeParams
,
equipId
,
jgRelationEquip
,
jgScrapCancel
);
save2HisData
(
jsonObject
,
jgScrapCancel
);
return
jgScrapCancel
;
}
//单位维度设备处理
private
void
saveEquip
(
Map
<
String
,
Object
>
noticeParams
,
JgScrapCancel
jgScrapCancel
)
{
List
<
JgScrapCancelEq
>
JgScrapCancelEqList
=
new
ArrayList
<>();
// 判断是否是报废气瓶业务处理
if
(
CancelTypeEnum
.
SCRAPPED
.
getCode
().
equals
(
noticeParams
.
get
(
"cancelType"
))
&&
CylinderTypeEnum
.
CYLINDER
.
getCode
().
equals
(
noticeParams
.
get
(
"EQU_CATEGORY_CODE"
)))
{
// 证ids
List
<
String
>
certificates
=
(
List
<
String
>)
noticeParams
.
get
(
"sequenceNbrs"
);
if
(
ObjectUtils
.
isEmpty
(
certificates
))
{
throw
new
BadRequest
(
"请选择使用登记证"
);
}
LambdaQueryWrapper
<
JgUseRegistrationManage
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
();
lambdaQueryWrapper
.
in
(
JgUseRegistrationManage:
:
getSequenceNbr
,
certificates
.
stream
().
map
(
Long:
:
parseLong
).
collect
(
Collectors
.
toList
()));
List
<
JgUseRegistrationManage
>
jgUseRegistrationManageList
=
jgUseRegistrationManageMapper
.
selectList
(
lambdaQueryWrapper
);
List
<
Map
<
String
,
Object
>>
list
=
(
List
<
Map
<
String
,
Object
>>)
noticeParams
.
get
(
"equipments"
);
if
(
ObjectUtils
.
isEmpty
(
list
))
{
throw
new
BadRequest
(
"请选择设备"
);
}
for
(
JgUseRegistrationManage
jgUseRegistrationManage
:
jgUseRegistrationManageList
)
{
JgScrapCancelEq
jgScrapCancelEq
=
new
JgScrapCancelEq
();
jgScrapCancelEq
.
setCertificateSeq
(
jgUseRegistrationManage
.
getSequenceNbr
().
toString
());
jgScrapCancelEq
.
setEquipInfo
(
JSON
.
parseArray
(
JSONObject
.
toJSONString
(
list
.
stream
().
filter
(
item
->
item
.
get
(
"USE_ORG_CODE"
).
toString
().
equals
(
jgUseRegistrationManage
.
getUseRegistrationCode
())).
collect
(
Collectors
.
toList
()))).
toString
());
jgScrapCancelEq
.
setEquipTransferId
(
String
.
valueOf
(
jgScrapCancel
.
getSequenceNbr
()));
JgScrapCancelEqList
.
add
(
jgScrapCancelEq
);
}
}
else
{
List
<
Map
<
String
,
Object
>>
certificates
=
new
ArrayList
<>();
// 证列表
if
(
CylinderTypeEnum
.
SPECIAL_CYLINDER
.
getCode
().
equals
(
noticeParams
.
get
(
"EQU_CATEGORY_CODE"
)))
{
certificates
=
(
List
<
Map
<
String
,
Object
>>)
noticeParams
.
get
(
"cylCertificates"
);
}
else
{
certificates
=
(
List
<
Map
<
String
,
Object
>>)
noticeParams
.
get
(
"certificates"
);
}
if
(
ObjectUtils
.
isEmpty
(
certificates
))
{
throw
new
BadRequest
(
"请选择使用登记证"
);
}
// 使用登记证表idList
List
<
String
>
registrationIdList
=
certificates
.
stream
().
map
(
item
->
item
.
get
(
"sequenceNbr"
).
toString
()).
collect
(
Collectors
.
toList
());
List
<
JSONObject
>
equipmentList
=
jgUseRegistrationManageService
.
queryEquByCertificateSeqList
(
registrationIdList
.
stream
().
map
(
Long:
:
parseLong
).
collect
(
Collectors
.
toList
()));
for
(
Map
<
String
,
Object
>
certificate
:
certificates
)
{
JgScrapCancelEq
jgScrapCancelEq
=
new
JgScrapCancelEq
();
jgScrapCancelEq
.
setCertificateSeq
(
certificate
.
get
(
"sequenceNbr"
).
toString
());
jgScrapCancelEq
.
setEquipInfo
(
JSON
.
parseArray
(
String
.
valueOf
(
equipmentList
.
stream
().
filter
(
item
->
item
.
get
(
"USE_ORG_CODE"
).
toString
().
equals
(
certificate
.
get
(
"useRegistrationCode"
))).
collect
(
Collectors
.
toList
()))).
toString
());
jgScrapCancelEq
.
setEquipTransferId
(
String
.
valueOf
(
jgScrapCancel
.
getSequenceNbr
()));
JgScrapCancelEqList
.
add
(
jgScrapCancelEq
);
}
}
jgScrapCancelEqService
.
saveBatch
(
JgScrapCancelEqList
);
}
private
void
save2HisData
(
Map
<
String
,
Object
>
noticeParams
,
String
equipId
,
JgScrapCancelEq
jgRelationEquip
,
JgScrapCancel
jgScrapCancel
)
{
noticeParams
.
put
(
"record"
,
equipId
);
commonService
.
saveOrUpdateHistory
(
jgScrapCancel
.
getCancelTypeDesc
(),
new
JSONObject
(
noticeParams
),
jgRelationEquip
.
getEquId
(),
jgScrapCancel
.
getSequenceNbr
().
toString
());
private
void
save2HisData
(
JSONObject
jsonObject
,
JgScrapCancel
jgScrapCancel
)
{
commonService
.
saveOrUpdateHistory
(
jgScrapCancel
.
getCancelTypeDesc
(),
jsonObject
,
null
,
jgScrapCancel
.
getSequenceNbr
().
toString
());
}
private
void
createTaskModel
(
JgScrapCancel
scrapCancel
,
String
taskName
,
String
submitType
,
String
nextUserIds
)
{
...
...
@@ -278,7 +323,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
taskModelDto
.
setFlowCreateDate
(
scrapCancel
.
getCreateDate
());
taskModelDto
.
setTaskName
(
taskName
);
taskModelDto
.
setTaskCode
(
scrapCancel
.
getApplyNo
());
taskModelDto
.
setTaskContent
(
this
.
buildTaskContent
(
scrapCancel
.
getEquList
(),
scrapCancel
.
get
SupervisoryCode
(),
scrapCancel
.
get
CancelType
(),
scrapCancel
.
getApplyNo
()));
taskModelDto
.
setTaskContent
(
this
.
buildTaskContent
(
scrapCancel
.
getEquList
(),
scrapCancel
.
getCancelType
(),
scrapCancel
.
getApplyNo
()));
taskModelDto
.
setTaskDesc
(
""
);
taskModelDto
.
setTaskType
(
businessTypeJudgment
(
scrapCancel
.
getCancelType
()).
getCode
());
taskModelDto
.
setTaskTypeLabel
(
businessTypeJudgment
(
scrapCancel
.
getCancelType
()).
getName
());
...
...
@@ -291,7 +336,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
taskModelDto
.
setFlowStatusLabel
(
scrapCancel
.
getAuditStatus
());
taskModelDto
.
setStartUserId
(
scrapCancel
.
getCreateUserId
());
taskModelDto
.
setFlowCode
(
scrapCancel
.
getNextTaskId
());
taskModelDto
.
setStartUser
(
reginParams
.
getUserModel
().
getReal
Name
());
taskModelDto
.
setStartUser
(
scrapCancel
.
getRecUser
Name
());
taskModelDto
.
setStartUserCompanyName
(
scrapCancel
.
getUseUnitName
());
taskModelDto
.
setNextExecuteUser
(
scrapCancel
.
getNextExecuteIds
());
taskModelDto
.
setStartDate
(
scrapCancel
.
getCreateDate
()
==
null
?
new
Date
()
:
scrapCancel
.
getCreateDate
());
...
...
@@ -302,7 +347,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
TaskMessageDto
taskMessageDto
=
new
TaskMessageDto
();
BeanUtils
.
copyProperties
(
scrapCancel
,
taskMessageDto
);
taskModelDto
.
setModel
(
taskMessageDto
);
taskModelDto
.
setTaskContent
(
this
.
buildTaskContent
(
scrapCancel
.
getEquList
(),
scrapCancel
.
getSupervisoryCode
(),
scrapCancel
.
getCancelType
(),
scrapCancel
.
getApplyNo
()));
// taskModelDto.setTaskContent(this.buildTaskContent(scrapCancel.getEquList
(), scrapCancel.getCancelType(), scrapCancel.getApplyNo()));
taskModelDto
.
setTaskCode
(
scrapCancel
.
getApplyNo
());
taskModelDto
.
setTaskType
(
businessTypeJudgment
(
scrapCancel
.
getCancelType
()).
getCode
());
taskModelDto
.
setNextExecuteUser
(
scrapCancel
.
getNextExecuteIds
());
...
...
@@ -326,11 +371,13 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
*
* @return 摘要
*/
private
String
buildTaskContent
(
String
equList
,
String
supervisoryCode
,
String
cancelType
,
String
applyNo
)
{
//
来自电梯【X3100-123456】【移装注销】的业务办理
【申请单号:ABCD0000001】
String
type
=
"1"
.
equals
(
cancelType
)
?
"报废
注销"
:
"移装
注销"
;
private
String
buildTaskContent
(
String
equList
,
String
cancelType
,
String
applyNo
)
{
//
XXX发起了电梯注销业务申请,
【申请单号:ABCD0000001】
String
type
=
"1"
.
equals
(
cancelType
)
?
"报废
"
:
"
注销"
;
String
equListName
=
EquipmentClassifityEnum
.
getNameByCode
(
equList
);
return
String
.
format
(
template
,
equListName
,
Objects
.
isNull
(
supervisoryCode
)
?
"无"
:
supervisoryCode
,
type
,
applyNo
);
ReginParams
reginParams
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
String
userName
=
reginParams
.
getUserModel
().
getRealName
();
return
String
.
format
(
template
,
userName
,
equListName
,
type
,
applyNo
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
...
@@ -353,7 +400,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
}
}
}
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
public
JgScrapCancelDto
updateInfo
(
String
submitType
,
JgScrapCancelDto
jgScrapCancelDto
,
String
op
,
JSONObject
pageData
)
{
if
(
Objects
.
isNull
(
jgScrapCancelDto
)
||
StringUtils
.
isEmpty
(
submitType
))
{
...
...
@@ -465,7 +512,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
// 先更新之前的待办
TaskV2Model
taskV2Model
=
updateTaskModel
(
jgScrapCancelDto
,
operate
);
taskV2Model
.
setTaskDesc
(
""
);
taskV2Model
.
setTaskContent
(
this
.
buildTaskContent
(
jgScrapCancelDto
.
getEquList
(),
jgScrapCancelDto
.
getSupervisoryCode
(),
jgScrapCancelDto
.
getCancelType
(),
jgScrapCancelDto
.
getApplyNo
()));
// taskV2Model.setTaskContent(this.buildTaskContent(jgScrapCancelDto.getEquList
(), jgScrapCancelDto.getCancelType(), jgScrapCancelDto.getApplyNo()));
taskV2Model
.
setTaskName
(
taskName
);
taskV2Model
.
setTaskCode
(
jgScrapCancelDto
.
getApplyNo
());
taskV2Model
.
setRelationId
(
jgScrapCancelDto
.
getInstanceId
());
...
...
@@ -475,7 +522,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
taskV2Model
.
setFlowStatus
(
this
.
getTaskStatusByName
(
jgScrapCancelDto
.
getAuditStatus
()));
taskV2Model
.
setFlowStatusLabel
(
jgScrapCancelDto
.
getAuditStatus
());
taskV2Model
.
setTaskType
(
businessTypeJudgment
(
jgScrapCancelDto
.
getCancelType
()).
getCode
());
taskV2Model
.
setStartUser
(
jgScrapCancelDto
.
getRecUserName
());
//
taskV2Model.setStartUser(jgScrapCancelDto.getRecUserName());
taskV2Model
.
setTaskTypeLabel
(
businessTypeJudgment
(
jgScrapCancelDto
.
getCancelType
()).
getName
());
taskV2Model
.
setStartDate
(
jgScrapCancelDto
.
getCreateDate
());
taskV2Model
.
setStartUserId
(
jgScrapCancelDto
.
getCreateUserId
());
...
...
@@ -549,13 +596,30 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
Map
<
String
,
Object
>
beanMap
=
BeanUtil
.
beanToMap
(
scrapCancel
,
false
,
true
);
beanMap
.
put
(
"cancelCertificateList"
,
JSON
.
parse
(
scrapCancel
.
getCancelCertificate
()));
beanMap
.
put
(
"otherAccessories"
,
JSON
.
parse
(
scrapCancel
.
getOtherAccessories
()));
JgRegistrationHistory
jgRegistrationHistory
=
jgRegistrationHistoryMapper
.
selectOne
(
new
LambdaQueryWrapper
<
JgRegistrationHistory
>().
eq
(
JgRegistrationHistory:
:
getCurrentDocumentId
,
sequenceNbr
));
// 根据不同类型返回不同的字段、用于台套设备、气瓶、车用气瓶
if
(
jgRegistrationHistory
!=
null
){
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
jgRegistrationHistory
.
getChangeData
());
if
(
CylinderTypeEnum
.
SPECIAL_CYLINDER
.
getCode
().
equals
(
jsonObject
.
get
(
"EQU_CATEGORY_CODE"
)))
{
beanMap
.
put
(
"cylCertificates"
,
JSONArray
.
parse
(
jsonObject
.
get
(
"cylCertificates"
).
toString
()));
beanMap
.
put
(
"EQU_CATEGORY_CODE"
,
CylinderTypeEnum
.
SPECIAL_CYLINDER
.
getCode
());
}
else
if
(
CylinderTypeEnum
.
CYLINDER
.
getCode
().
equals
(
jsonObject
.
get
(
"EQU_CATEGORY_CODE"
)))
{
beanMap
.
put
(
"equipments"
,
JSONArray
.
parse
(
jsonObject
.
get
(
"equipments"
).
toString
()));
beanMap
.
put
(
"EQU_CATEGORY_CODE"
,
CylinderTypeEnum
.
CYLINDER
.
getCode
());
beanMap
.
put
(
"sequenceNbrs"
,
jsonObject
.
get
(
"sequenceNbrs"
));
}
else
{
beanMap
.
put
(
"certificates"
,
JSONArray
.
parse
(
jsonObject
.
get
(
"certificates"
).
toString
()));
}
}
if
(
scrapCancel
.
getAuditStatus
().
equals
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
())){
// 完成状态查询历史表
JSONObject
jsonObject
=
commonService
.
queryHistoryData
(
sequenceNbr
);
// 兼容老数据
if
(
jsonObject
==
null
){
// 老数据逻辑
fillRuntimeData
(
sequenceNbr
,
resultMap
);
//
fillRuntimeData(sequenceNbr, resultMap);
}
else
{
CommonServiceImpl
.
formatTime2StrDateForEquip
(
jsonObject
);
// 新数据逻辑
...
...
@@ -564,7 +628,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
resultMap
.
putAll
(
beanMap
);
}
else
{
// 其他状态显示实时数据
fillRuntimeData
(
sequenceNbr
,
resultMap
);
//
fillRuntimeData(sequenceNbr, resultMap);
resultMap
.
putAll
(
beanMap
);
}
resultMap
.
put
(
"receiveOrgCode"
,
scrapCancel
.
getReceiveCompanyCode
()
+
'_'
+
scrapCancel
.
getReceiveOrgName
());
...
...
@@ -583,6 +647,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
@Transactional
(
rollbackFor
=
Exception
.
class
)
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
public
void
revocation
(
String
instanceId
,
String
nextTaskId
)
{
String
lockKey
=
CommonServiceImpl
.
buildJgExecuteLockKey
(
instanceId
);
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
...
...
@@ -648,6 +713,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
public
void
flowExecute
(
String
equList
,
Long
id
,
String
instanceId
,
String
operate
,
String
comment
,
String
nextTaskId
)
{
String
lockKey
=
CommonServiceImpl
.
buildJgExecuteLockKey
(
instanceId
);
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
...
...
@@ -756,32 +822,78 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
public
void
updateInfoOther
(
JgScrapCancel
jgScrapCancel
)
{
LambdaQueryWrapper
<
JgScrapCancelEq
>
lambdaEq
=
new
QueryWrapper
<
JgScrapCancelEq
>().
lambda
();
lambdaEq
.
eq
(
JgScrapCancelEq:
:
getEquipTransferId
,
jgScrapCancel
.
getSequenceNbr
());
JgScrapCancelEq
jgScrapCancelEq
=
jgScrapCancelEqMapper
.
selectOne
(
lambdaEq
);
List
<
JgScrapCancelEq
>
jgScrapCancelEqList
=
jgScrapCancelEqMapper
.
selectList
(
lambdaEq
);
Map
<
String
,
Object
>
map1
=
new
HashMap
<>();
ArrayList
<
String
>
equipIds
=
new
ArrayList
<>();
jgScrapCancelEqList
.
forEach
(
item
->{
if
(!
ObjectUtils
.
isEmpty
(
item
.
getEquipInfo
())){
JSONArray
jsonArray
=
JSONObject
.
parseArray
(
item
.
getEquipInfo
());
jsonArray
.
forEach
(
info
->{
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
info
.
toString
());
if
(
jsonObject
.
containsKey
(
"SEQUENCE_NBR"
)){
equipIds
.
add
(
jsonObject
.
get
(
"SEQUENCE_NBR"
).
toString
());
}
});
}
});
// ResponseModel<String> responseModel = tzsServiceFeignClient.useRegistrationCode(idxBizJgOtherInfoMapper.getSupervisoryCodeByEquipmentCode(jgScrapCancelEq.getEquId()));
// String newUseRegistrationCertificateNumber = responseModel.getResult().split("-")[0];
Map
<
String
,
Map
<
String
,
Object
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
map1
=
new
HashMap
<>();
// map1.put("USE_ORG_CODE", newUseRegistrationCertificateNumber);
if
(
CancelTypeEnum
.
SCRAPPED
.
getCode
().
equals
(
jgScrapCancel
.
getCancelType
()))
{
IdxBizJgUseInfo
idxBizJgUseInfo
=
new
IdxBizJgUseInfo
();
idxBizJgUseInfo
.
setEquState
(
String
.
valueOf
(
EquimentEnum
.
BAOFEI
.
getCode
()));
LambdaQueryWrapper
<
IdxBizJgUseInfo
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
IdxBizJgUseInfo:
:
getRecord
,
jgScrapCancelEq
.
getEquId
()
);
wrapper
.
in
(
IdxBizJgUseInfo:
:
getRecord
,
equipIds
);
idxBizJgUseInfoMapper
.
update
(
idxBizJgUseInfo
,
wrapper
);
map1
.
put
(
"EQU_STATE"
,
String
.
valueOf
(
EquimentEnum
.
BAOFEI
.
getCode
()));
// 修改证管理表中的证的状态
// 查出所有需要改的使用登记证
List
<
String
>
certificateIds
=
jgScrapCancelEqList
.
stream
().
map
(
JgScrapCancelEq:
:
getCertificateSeq
).
collect
(
Collectors
.
toList
());
LambdaQueryWrapper
<
JgUseRegistrationManage
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
lambdaQueryWrapper
.
in
(
JgUseRegistrationManage:
:
getSequenceNbr
,
certificateIds
);
List
<
JgUseRegistrationManage
>
jgUseRegistrationManageList
=
jgUseRegistrationManageMapper
.
selectList
(
lambdaQueryWrapper
);
// 过滤出非气瓶 或是车用气瓶的使用登记证
jgUseRegistrationManageList
=
jgUseRegistrationManageList
.
stream
().
filter
(
item
->
!
CylinderTypeEnum
.
CYLINDER
.
getCode
().
equals
(
item
.
getEquCategoryCode
())
||
item
.
getRegType
().
equals
(
BusinessTypeEnum
.
JG_VEHICLE_GAS_APPLICATION
.
getName
())).
collect
(
Collectors
.
toList
());
List
<
Long
>
seqList
=
jgUseRegistrationManageList
.
stream
().
map
(
JgUseRegistrationManage:
:
getSequenceNbr
).
collect
(
Collectors
.
toList
());
//组装update条件
LambdaQueryWrapper
<
JgUseRegistrationManage
>
updateLambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
updateLambdaQueryWrapper
.
in
(
JgUseRegistrationManage:
:
getSequenceNbr
,
seqList
);
//设置证状态进行修改
JgUseRegistrationManage
jgUseRegistrationManage
=
new
JgUseRegistrationManage
();
jgUseRegistrationManage
.
setCertificateStatus
(
CertificateStatusEnum
.
YIZHUXIAO
.
getName
());
jgUseRegistrationManageMapper
.
update
(
jgUseRegistrationManage
,
updateLambdaQueryWrapper
);
}
else
{
SuperviseInfo
superviseInfo
=
new
SuperviseInfo
();
superviseInfo
.
setOrgBranchCode
(
""
);
superviseInfo
.
setOrgBranchName
(
""
);
LambdaQueryWrapper
<
SuperviseInfo
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
SuperviseInfo:
:
getRecord
,
jgScrapCancelEq
.
getEquId
()
);
wrapper
.
in
(
SuperviseInfo:
:
getRecord
,
equipIds
);
superviseInfoMapper
.
update
(
superviseInfo
,
wrapper
);
map1
.
put
(
"ORG_BRANCH_CODE"
,
""
);
map1
.
put
(
"ORG_BRANCH_NAME"
,
""
);
}
resultMap
.
put
(
jgScrapCancelEq
.
getEquId
(),
map1
);
map1
.
put
(
"EQU_STATE"
,
String
.
valueOf
(
EquimentEnum
.
ZHUXIAO
.
getCode
()));
IdxBizJgUseInfo
idxBizJgUseInfo
=
new
IdxBizJgUseInfo
();
idxBizJgUseInfo
.
setEquState
(
String
.
valueOf
(
EquimentEnum
.
ZHUXIAO
.
getCode
()));
LambdaQueryWrapper
<
IdxBizJgUseInfo
>
wrapper1
=
new
LambdaQueryWrapper
<>();
wrapper1
.
in
(
IdxBizJgUseInfo:
:
getRecord
,
equipIds
);
idxBizJgUseInfoMapper
.
update
(
idxBizJgUseInfo
,
wrapper1
);
// 修改证管理表中的证的状态
List
<
String
>
certificateIds
=
jgScrapCancelEqList
.
stream
().
map
(
JgScrapCancelEq:
:
getCertificateSeq
).
collect
(
Collectors
.
toList
());
JgUseRegistrationManage
jgUseRegistrationManage
=
new
JgUseRegistrationManage
();
jgUseRegistrationManage
.
setCertificateStatus
(
CertificateStatusEnum
.
YIZHUXIAO
.
getName
());
LambdaQueryWrapper
<
JgUseRegistrationManage
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
lambdaQueryWrapper
.
in
(
JgUseRegistrationManage:
:
getSequenceNbr
,
certificateIds
);
jgUseRegistrationManageMapper
.
update
(
jgUseRegistrationManage
,
lambdaQueryWrapper
);
}
for
(
String
equipId
:
equipIds
)
{
resultMap
.
put
(
equipId
,
map1
);
}
// 流水表
saveRecord
(
jgScrapCancel
,
jgScrapCancelEqList
);
try
{
tzsServiceFeignClient
.
commonUpdateEsDataByIds
(
resultMap
);
}
catch
(
Exception
e
)
{
...
...
@@ -806,4 +918,46 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
return
code
==
null
?
jgScrapCancel
.
getReceiveCompanyCode
()
:
code
;
}
private
void
saveRecord
(
JgScrapCancel
jgScrapCancel
,
List
<
JgScrapCancelEq
>
jgScrapCancelEqList
)
{
ReginParams
reginParams
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
String
userName
=
reginParams
.
getUserModel
().
getRealName
();
String
content
=
userName
+
"办理了【"
+
CancelTypeEnum
.
getNameByType
(
jgScrapCancel
.
getCancelType
())
+
"】"
+
"单号【"
+
jgScrapCancel
.
getApplyNo
()
+
"】,办理日期"
+
DateUtils
.
getDateNowShortStr
();
LambdaQueryWrapper
<
JgRegistrationHistory
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
lambdaQueryWrapper
.
eq
(
JgRegistrationHistory:
:
getCurrentDocumentId
,
jgScrapCancel
.
getSequenceNbr
());
JgRegistrationHistory
jgRegistrationHistory
=
jgRegistrationHistoryMapper
.
selectOne
(
lambdaQueryWrapper
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
jgRegistrationHistory
.
getChangeData
());
for
(
JgScrapCancelEq
jgScrapCancelEq
:
jgScrapCancelEqList
)
{
JgCertificateChangeRecord
changeRecord
=
new
JgCertificateChangeRecord
();
changeRecord
.
setApplyNo
(
jgScrapCancel
.
getApplyNo
());
changeRecord
.
setReceiveOrgName
(
jgScrapCancel
.
getReceiveOrgName
());
changeRecord
.
setAuditPassDate
(
new
Date
());
changeRecord
.
setRegType
(
CancelTypeEnum
.
getNameByType
(
jgScrapCancel
.
getCancelType
()));
changeRecord
.
setRegDate
(
jgScrapCancel
.
getCreateDate
());
changeRecord
.
setChangeContent
(
content
);
changeRecord
.
setUseRegistrationCode
(
jgRegistrationHistory
.
getUseRegistrationCode
());
changeRecord
.
setReceiveCompanyCode
(
jgScrapCancel
.
getReceiveOrgCode
());
changeRecord
.
setCertificateNo
(
String
.
valueOf
(
jsonObject
.
get
(
"certificateNo"
)));
changeRecord
.
setUseUnitCreditCode
(
jgScrapCancel
.
getUseUnitCode
());
changeRecord
.
setUseUnitName
(
jgScrapCancel
.
getUseUnitName
());
changeRecord
.
setEquCategory
(
String
.
valueOf
(
jsonObject
.
get
(
"equCategory"
)));
changeRecord
.
setCreateDate
(
new
Date
());
changeRecord
.
setCreateUserId
(
reginParams
.
getUserModel
().
getUserId
());
certificateChangeRecordService
.
save
(
changeRecord
);
List
<
JgCertificateChangeRecordEq
>
changeRecordEqList
=
new
ArrayList
<>();
JSONArray
jsonArray
=
JSONObject
.
parseArray
(
jgScrapCancelEq
.
getEquipInfo
());
jsonArray
.
forEach
(
e
->{
JSONObject
equip
=
JSONObject
.
parseObject
(
e
.
toString
());
JgCertificateChangeRecordEq
changeRecordEq
=
new
JgCertificateChangeRecordEq
();
changeRecordEq
.
setChangeRecordId
(
changeRecord
.
getSequenceNbr
().
toString
());
//登记证记录主键
changeRecordEq
.
setEquId
(
equip
.
getString
(
"SEQUENCE_NBR"
));
//设备主键
changeRecordEq
.
setProductCode
(
equip
.
getString
(
"PRODUCT_NUM"
));
//设备产品编码(设备ES数据无编码,先存放名称)
changeRecordEqList
.
add
(
changeRecordEq
);
});
jgCertificateChangeRecordEqServiceImpl
.
saveBatch
(
changeRecordEqList
);
}
}
}
\ No newline at end of file
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/JgUseRegistrationServiceImpl.java
View file @
ee153f51
...
...
@@ -70,15 +70,12 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.net.URLEncoder
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.YearMonth
;
import
java.time.ZoneId
;
import
java.time.format.DateTimeFormatter
;
import
java.util.*
;
...
...
@@ -89,7 +86,6 @@ import java.util.stream.Collectors;
import
java.util.stream.IntStream
;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipOutputStream
;
import
static
java
.
util
.
stream
.
Collectors
.
toList
;
/**
...
...
@@ -2205,14 +2201,17 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
/**
* 处理历史错误单子
* @param sequenceNbr
* @param instanceId
* @param nextTaskId
* @param applyNo 申请单号
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
public
void
handleErrorForm
(
Long
sequenceNbr
,
String
instanceId
,
String
nextTaskId
)
{
String
lockKey
=
CommonServiceImpl
.
buildJgExecuteLockKey
(
instanceId
);
public
void
handleErrorForm
(
String
applyNo
)
{
LambdaQueryWrapper
<
JgUseRegistration
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
JgUseRegistration:
:
getApplyNo
,
applyNo
);
JgUseRegistration
jgUseRegistration
=
this
.
baseMapper
.
selectOne
(
queryWrapper
);
if
(
jgUseRegistration
!=
null
)
{
String
lockKey
=
CommonServiceImpl
.
buildJgExecuteLockKey
(
jgUseRegistration
.
getInstanceId
());
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
try
{
boolean
isLocked
=
lock
.
tryLock
(
0
,
180
,
TimeUnit
.
SECONDS
);
...
...
@@ -2221,8 +2220,6 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
throw
new
BadRequest
(
"当前流程已经被执行!请重新打开页面查看并执行!"
);
}
// 流程执行时,状态及权限校验
commonService
.
checkForExecuteFlow
(
nextTaskId
,
instanceId
);
JgUseRegistration
jgUseRegistration
=
this
.
getBaseMapper
().
selectById
(
sequenceNbr
);
ProcessTaskDTO
complete
=
workFlowFeignService
.
handleErrorForm
(
jgUseRegistration
.
getInstanceId
(),
jgUseRegistration
.
getReceiveCompanyCode
()).
getResult
();
ArrayList
<
ProcessTaskDTO
>
processTaskDTOS
=
new
ArrayList
<>();
processTaskDTOS
.
add
(
complete
);
...
...
@@ -2272,7 +2269,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
}
this
.
getBaseMapper
().
updateById
(
jgUseRegistration
);
this
.
clearDataForCheckEquipRepeatUsed
(
jgUseRegistration
);
commonServiceImpl
.
saveExecuteFlowData2Redis
(
jgUseRegistration
.
getInstanceId
(),
this
.
buildInstanceRuntimeData
(
jgUseRegistration
)
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
finally
{
...
...
@@ -2281,4 +2278,5 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
}
}
}
}
\ No newline at end of file
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/JgVehicleInformationServiceImpl.java
View file @
ee153f51
...
...
@@ -33,6 +33,7 @@ import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import
com.yeejoin.amos.boot.module.jg.biz.service.ICmWorkflowService
;
import
com.yeejoin.amos.boot.module.jg.biz.utils.FileExporter
;
import
com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils
;
import
com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService
;
import
com.yeejoin.amos.boot.module.ymt.api.dto.ESEquipmentCategoryDto
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.*
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum
;
...
...
@@ -149,6 +150,8 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
private
JgCertificateChangeRecordEqServiceImpl
certificateChangeRecordEqService
;
@Autowired
private
JgUseRegistrationManageServiceImpl
jgUseRegistrationManageService
;
@Autowired
private
WorkFlowFeignService
workFlowFeignService
;
private
Map
<
String
,
Object
>
fillingMediumMap
;
...
...
@@ -1470,4 +1473,78 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
"单号【"
+
obj
.
getApplyNo
()
+
"】,申请日期"
+
simpleDateFormat
.
format
(
obj
.
getRecDate
());
}
public
void
handleErrorVehicleForm
(
String
applyNo
)
{
LambdaQueryWrapper
<
JgVehicleInformation
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
JgVehicleInformation:
:
getApplyNo
,
applyNo
);
JgVehicleInformation
jgVehicleInformation
=
this
.
baseMapper
.
selectOne
(
queryWrapper
);
if
(
jgVehicleInformation
!=
null
)
{
String
lockKey
=
CommonServiceImpl
.
buildJgExecuteLockKey
(
jgVehicleInformation
.
getInstanceId
());
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
try
{
boolean
isLocked
=
lock
.
tryLock
(
0
,
180
,
TimeUnit
.
SECONDS
);
// 解决并发问题:多个人同时操作一个流程(并发执行通过、驳回、撤回)
if
(!
isLocked
)
{
throw
new
BadRequest
(
"当前流程已经被执行!请重新打开页面查看并执行!"
);
}
// 流程执行时,状态及权限校验
ProcessTaskDTO
complete
=
workFlowFeignService
.
handleErrorForm
(
jgVehicleInformation
.
getInstanceId
(),
jgVehicleInformation
.
getReceiveCompanyCode
()).
getResult
();
ArrayList
<
ProcessTaskDTO
>
processTaskDTOS
=
new
ArrayList
<>();
processTaskDTOS
.
add
(
complete
);
List
<
WorkflowResultDto
>
resultDto
=
commonService
.
buildWorkFlowInfo
(
processTaskDTOS
);
if
(!
ObjectUtils
.
isEmpty
(
resultDto
)
&&
!
ObjectUtils
.
isEmpty
(
resultDto
.
get
(
0
)))
{
WorkflowResultDto
workflowResultDto
=
resultDto
.
get
(
0
);
String
role
=
workflowResultDto
.
getNextExecutorRoleIds
();
String
taskCode
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
();
if
(!
ObjectUtils
.
isEmpty
(
workflowResultDto
.
getNextTaskCode
()))
{
taskCode
=
workflowResultDto
.
getNextTaskCode
();
}
jgVehicleInformation
.
setNextTaskId
(
workflowResultDto
.
getNextTaskId
());
jgVehicleInformation
.
setNextExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
jgVehicleInformation
.
setNextExecuteIds
(
role
);
jgVehicleInformation
.
setInstanceStatus
(
Optional
.
ofNullable
(
jgVehicleInformation
.
getInstanceStatus
())
.
map
(
status
->
String
.
join
(
","
,
status
,
role
))
.
orElse
(
role
)
);
jgVehicleInformation
.
setStatus
(
Objects
.
requireNonNull
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
)).
getPass
());
jgVehicleInformation
.
setPromoter
(
workflowResultDto
.
getStartUserId
());
// 更新代办状态
HashMap
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"relationId"
,
jgVehicleInformation
.
getInstanceId
());
params
.
put
(
"flowStatus"
,
commonService
.
getDictionaryCodeByName
(
jgVehicleInformation
.
getStatus
()));
params
.
put
(
"flowStatusLabel"
,
jgVehicleInformation
.
getStatus
());
params
.
put
(
"taskStatus"
,
commonService
.
getDictionaryCodeByName
(
jgVehicleInformation
.
getStatus
()));
params
.
put
(
"taskStatusLabel"
,
jgVehicleInformation
.
getStatus
());
TaskV2Model
taskV2Model
=
commonService
.
updateTaskModel
(
params
);
// 创建新的代办
if
(!
ObjectUtils
.
isEmpty
(
taskV2Model
))
{
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
BeanUtils
.
copyProperties
(
taskV2Model
,
taskModelDto
);
TaskMessageDto
taskMessageDto
=
new
TaskMessageDto
();
BeanUtil
.
copyProperties
(
jgVehicleInformation
,
taskMessageDto
);
taskModelDto
.
setModel
(
taskMessageDto
);
taskModelDto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
taskModelDto
.
setStartUserId
(
workflowResultDto
.
getExecutorId
());
taskModelDto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
taskModelDto
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskModelDto
.
setNextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
());
taskModelDto
.
setFlowCode
(
workflowResultDto
.
getNextTaskId
());
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
}
else
{
workflowResultDto
.
setInstanceId
(
jgVehicleInformation
.
getInstanceId
());
buildTask
(
jgVehicleInformation
,
workflowResultDto
);
}
}
this
.
getBaseMapper
().
updateById
(
jgVehicleInformation
);
commonService
.
saveExecuteFlowData2Redis
(
jgVehicleInformation
.
getInstanceId
(),
this
.
buildInstanceRuntimeData
(
jgVehicleInformation
));
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
finally
{
if
(
lock
.
isHeldByCurrentThread
())
{
lock
.
unlock
();
}
}
}
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/resources/templates/use-registration-form.ftl
View file @
ee153f51
...
...
@@ -574,7 +574,7 @@
<w:sz
w:val=
"21"
/>
<w:sz-cs
w:val=
"21"
/>
</w:rPr>
<w:t>
${
registrationType
}
</w:t>
<w:t>
${
(registrationType)!''
}
</w:t>
</w:r>
</w:p>
<w:tbl>
...
...
@@ -719,7 +719,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
equDefineName
}
</w:t>
<w:t>
${
(equDefineName)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -768,7 +768,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
equipDefine
}
</w:t>
<w:t>
${
(equipDefine)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -855,7 +855,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
gasNum
}
</w:t>
<w:t>
${
(gasNum)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -904,7 +904,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
chargingMedium
}
</w:t>
<w:t>
${
(chargingMedium)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -990,7 +990,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
workPressure
}
</w:t>
<w:t>
${
(workPressure)!''
}
</w:t>
</w:r>
<w:r>
<w:rPr>
...
...
@@ -1052,7 +1052,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
volume
}
</w:t>
<w:t>
${
(volume)!''
}
</w:t>
</w:r>
<w:r>
<w:rPr>
...
...
@@ -1274,7 +1274,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
equipList.produceUnitName
}
</w:t>
<w:t>
${
(equipList.produceUnitName)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -1304,7 +1304,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
equipList.produceDate
}
</w:t>
<w:t>
${
(equipList.produceDate)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -1334,7 +1334,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
equipList.factoryNum
}
</w:t>
<w:t>
${
(equipList.factoryNum)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -1363,7 +1363,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
equipList.useInnerCode
}
</w:t>
<w:t>
${
(equipList.useInnerCode)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -1466,7 +1466,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
installUnitName
}
</w:t>
<w:t>
${
(installUnitName)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -1552,7 +1552,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
inspectUnitName
}
</w:t>
<w:t>
${
(inspectUnitName)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -1667,7 +1667,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
useUnitName
}
</w:t>
<w:t>
${
(useUnitName)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -1752,7 +1752,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
useUnitAddress
}
</w:t>
<w:t>
${
(useUnitAddress)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -1837,7 +1837,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
useUnitCreditCode
}
</w:t>
<w:t>
${
(useUnitCreditCode)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -2007,7 +2007,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
carNumber
}
</w:t>
<w:t>
${
(carNumber)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -2091,7 +2091,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
identificationCode
}
</w:t>
<w:t>
${
(identificationCode)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -2176,7 +2176,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
year
}
</w:t>
<w:t>
${
(year)!''
}
</w:t>
</w:r>
<w:r>
<w:t>
年
</w:t>
...
...
@@ -2190,7 +2190,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
mon
}
</w:t>
<w:t>
${
(mon)!''
}
</w:t>
</w:r>
<w:r>
<w:t>
月
</w:t>
...
...
@@ -2204,7 +2204,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
day
}
</w:t>
<w:t>
${
(day)!''
}
</w:t>
</w:r>
<w:r>
<w:t>
日
</w:t>
...
...
@@ -2340,7 +2340,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
safetyManagerName
}
</w:t>
<w:t>
${
(safetyManagerName)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -2388,7 +2388,7 @@
<w:sz-cs
w:val=
"18"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
w:bidi=
"AR-SA"
/>
</w:rPr>
<w:t>
${
phone
}
</w:t>
<w:t>
${
(phone)!''
}
</w:t>
</w:r>
</w:p>
</w:tc>
...
...
@@ -2825,7 +2825,7 @@
<w:rPr>
<w:rFonts
w:hint=
"default"
/>
</w:rPr>
<w:t>
${
useRegistrationCode
}
</w:t>
<w:t>
${
(useRegistrationCode)!''
}
</w:t>
</w:r>
<w:r>
<w:rPr>
...
...
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