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
7af328ce
Commit
7af328ce
authored
Mar 28, 2024
by
刘林
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(JG):车用气瓶功能开发
parent
7de27578
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
2554 additions
and
13 deletions
+2554
-13
JgVehicleInformationDto.java
.../amos/boot/module/jg/api/dto/JgVehicleInformationDto.java
+216
-0
JgVehicleInformationEqDto.java
...mos/boot/module/jg/api/dto/JgVehicleInformationEqDto.java
+39
-0
JgVehicleInformation.java
.../amos/boot/module/jg/api/entity/JgVehicleInformation.java
+396
-0
JgVehicleInformationEq.java
...mos/boot/module/jg/api/entity/JgVehicleInformationEq.java
+55
-0
BusinessTypeEnum.java
...ejoin/amos/boot/module/jg/api/enums/BusinessTypeEnum.java
+4
-2
VehicleApanageEnum.java
...oin/amos/boot/module/jg/api/enums/VehicleApanageEnum.java
+43
-0
JgVehicleInformationEqMapper.java
...ot/module/jg/api/mapper/JgVehicleInformationEqMapper.java
+14
-0
JgVehicleInformationMapper.java
...boot/module/jg/api/mapper/JgVehicleInformationMapper.java
+28
-0
IJgVehicleInformationEqService.java
...module/jg/api/service/IJgVehicleInformationEqService.java
+9
-0
IJgVehicleInformationService.java
...t/module/jg/api/service/IJgVehicleInformationService.java
+9
-0
JgVehicleInformationVo.java
...in/amos/boot/module/jg/api/vo/JgVehicleInformationVo.java
+226
-0
JgVehicleInformationEqMapper.xml
...rc/main/resources/mapper/JgVehicleInformationEqMapper.xml
+5
-0
JgVehicleInformationMapper.xml
.../src/main/resources/mapper/JgVehicleInformationMapper.xml
+189
-0
JgVehicleInformationController.java
...ule/jg/biz/controller/JgVehicleInformationController.java
+179
-0
JgVehicleInformationEqController.java
...e/jg/biz/controller/JgVehicleInformationEqController.java
+116
-0
CommonServiceImpl.java
...os/boot/module/jg/biz/service/impl/CommonServiceImpl.java
+8
-6
JgVehicleInformationEqServiceImpl.java
...g/biz/service/impl/JgVehicleInformationEqServiceImpl.java
+34
-0
JgVehicleInformationServiceImpl.java
.../jg/biz/service/impl/JgVehicleInformationServiceImpl.java
+964
-0
urlInfo.json
...s-boot-module-jg-biz/src/main/resources/json/urlInfo.json
+19
-0
equipment-registration-certificate-report.ftl
...s/templates/equipment-registration-certificate-report.ftl
+1
-5
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/JgVehicleInformationDto.java
0 → 100644
View file @
7af328ce
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
dto
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.Date
;
import
java.util.List
;
/**
*
*
* @author system_generator
* @date 2024-03-18
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"JgVehicleInformationDto"
,
description
=
""
)
public
class
JgVehicleInformationDto
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"设备监管码"
)
private
String
supervisoryCode
;
@ApiModelProperty
(
value
=
"使用单位名称"
)
private
String
useUnitName
;
@ApiModelProperty
(
value
=
"申请编号"
)
private
String
applyNo
;
@ApiModelProperty
(
value
=
"办理状态"
)
private
String
auditStatus
;
@ApiModelProperty
(
value
=
"接收机构"
)
private
String
receiveOrgName
;
@ApiModelProperty
(
value
=
"检验单位"
)
private
String
inspectUnitName
;
@ApiModelProperty
(
value
=
"检验结果照片"
)
private
String
inspectResultPhoto
;
@ApiModelProperty
(
value
=
"检验结果"
)
private
String
inspectResult
;
@ApiModelProperty
(
value
=
"终审通过时间"
)
private
Date
auditPassDate
;
@ApiModelProperty
(
value
=
"登记类别"
)
private
String
regType
;
@ApiModelProperty
(
value
=
"注册登记日期"
)
private
Date
regDate
;
@ApiModelProperty
(
value
=
"注册登记人员ID"
)
private
String
regPersonId
;
@ApiModelProperty
(
value
=
"注册登记人员"
)
private
String
regPersonName
;
@ApiModelProperty
(
value
=
"安装单位名称"
)
private
String
installUnitName
;
@ApiModelProperty
(
value
=
"安装单位代码"
)
private
String
installUnitCode
;
@ApiModelProperty
(
value
=
"状态"
)
private
String
status
;
@ApiModelProperty
(
value
=
"备注"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"创建人ID"
)
private
String
createUserId
;
@ApiModelProperty
(
value
=
"创建人名称"
)
private
String
createUserName
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createDate
;
@ApiModelProperty
(
value
=
"录入单位ID"
)
private
String
inputUnitNo
;
@ApiModelProperty
(
value
=
"使用登记编号"
)
private
String
useRegistrationCode
;
@ApiModelProperty
(
value
=
"流程实例id"
)
private
String
instanceId
;
@ApiModelProperty
(
value
=
"使用单位统一信用代码"
)
private
String
useUnitCreditCode
;
@ApiModelProperty
(
value
=
"检验机构代码"
)
private
String
inspectUnitCreditCode
;
@ApiModelProperty
(
value
=
"流程状态"
)
private
String
instanceStatus
;
@ApiModelProperty
(
value
=
"接收机构代码"
)
private
String
receiveOrgCode
;
@ApiModelProperty
(
value
=
"接收机构公司代码"
)
private
String
receiveCompanyCode
;
@ApiModelProperty
(
value
=
"下一执行节点ids"
)
private
String
nextExecuteIds
;
@ApiModelProperty
(
value
=
"发起人id用于撤回操作"
)
private
String
promoter
;
@ApiModelProperty
(
value
=
"使用登记证书附件"
)
private
String
useRegistrationCertificate
;
@ApiModelProperty
(
value
=
"工作流下一节点任务id"
)
private
String
nextTaskId
;
@ApiModelProperty
(
value
=
"下一节点可执行人逗号分割"
)
private
String
nextExecuteUserIds
;
@ApiModelProperty
(
value
=
"是否西咸,1是 0否"
)
private
String
isXixian
;
@ApiModelProperty
(
value
=
"使用单位地点"
)
private
String
useUnitAddress
;
@ApiModelProperty
(
value
=
"转办后执行人的Id逗号分割"
)
private
String
transferToUserIds
;
@ApiModelProperty
(
value
=
"其他附件"
)
private
String
otherAccessories
;
@ApiModelProperty
(
value
=
"安装日期"
)
private
Date
installationData
;
@ApiModelProperty
(
value
=
"车辆属性"
)
private
String
vehicleAttribute
;
@ApiModelProperty
(
value
=
"车辆属地"
)
private
String
vehicleApanage
;
@ApiModelProperty
(
value
=
"气瓶数量"
)
private
Integer
gasNum
;
@ApiModelProperty
(
value
=
"号牌号码"
)
private
String
carNumber
;
@ApiModelProperty
(
value
=
"识别代码"
)
private
String
identificationCode
;
@ApiModelProperty
(
value
=
"发动机号"
)
private
String
engineNumber
;
@ApiModelProperty
(
value
=
"车辆品牌型号"
)
private
String
carBrandModel
;
@ApiModelProperty
(
value
=
"车主姓名"
)
private
String
ownerName
;
@ApiModelProperty
(
value
=
"联系电话"
)
private
String
contactNumber
;
@ApiModelProperty
(
value
=
"充装介质"
)
private
String
fillingMedium
;
@ApiModelProperty
(
value
=
"设备品种(特种气瓶)"
)
private
String
equipmentVariety
;
@ApiModelProperty
(
value
=
"容积"
)
private
String
volume
;
@ApiModelProperty
(
value
=
"加装方式"
)
private
String
installationMode
;
@ApiModelProperty
(
value
=
"车辆年审日期"
)
private
Date
vehicleReviewDate
;
@ApiModelProperty
(
value
=
"身份证正面附件"
)
private
String
idCardFront
;
@ApiModelProperty
(
value
=
"身份证背面附件"
)
private
String
idCardBack
;
@ApiModelProperty
(
value
=
"行驶证正面附件"
)
private
String
driveLicenseFront
;
@ApiModelProperty
(
value
=
"行驶证背面附件"
)
private
String
driveLicenseBack
;
@ApiModelProperty
(
value
=
"机动车登记证书附件"
)
private
String
vehicleRegistrationCertificate
;
@ApiModelProperty
(
value
=
"监督检验证书附件"
)
private
String
inspectionCertificate
;
@ApiModelProperty
(
value
=
"备案通知单附件"
)
private
String
filingNotice
;
private
List
<
String
>
roleIds
;
private
String
dataType
;
private
String
currentUserId
;
@ApiModelProperty
(
value
=
"属地监管部门code"
)
private
String
orgBranchCode
;
@ApiModelProperty
(
value
=
"属地监管部门name"
)
private
String
orgBranchName
;
@ApiModelProperty
(
value
=
"下次检验日期"
)
private
Date
nextInspectionDate
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/JgVehicleInformationEqDto.java
0 → 100644
View file @
7af328ce
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
dto
;
import
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.Date
;
/**
*
*
* @author system_generator
* @date 2024-03-18
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"JgVehicleInformationEqDto"
,
description
=
""
)
public
class
JgVehicleInformationEqDto
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"车辆信息申请id"
)
private
String
vehicleId
;
@ApiModelProperty
(
value
=
"设备id"
)
private
String
equId
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createDate
;
@ApiModelProperty
(
value
=
"创建人id"
)
private
String
createUserId
;
@ApiModelProperty
(
value
=
"创建人"
)
private
String
createUserName
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgVehicleInformation.java
0 → 100644
View file @
7af328ce
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
* 车用气瓶业务
*
* @author system_generator
* @date 2024-03-18
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"tzs_jg_vehicle_information"
)
public
class
JgVehicleInformation
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 设备监管码
*/
@TableField
(
"supervisory_code"
)
private
String
supervisoryCode
;
/**
* 使用单位名称
*/
@TableField
(
"use_unit_name"
)
private
String
useUnitName
;
/**
* 申请编号
*/
@TableField
(
"apply_no"
)
private
String
applyNo
;
/**
* 办理状态
*/
@TableField
(
"audit_status"
)
private
String
auditStatus
;
/**
* 接收机构
*/
@TableField
(
"receive_org_name"
)
private
String
receiveOrgName
;
/**
* 检验单位
*/
@TableField
(
"inspect_unit_name"
)
private
String
inspectUnitName
;
/**
* 检验结果照片
*/
@TableField
(
"inspect_result_photo"
)
private
String
inspectResultPhoto
;
/**
* 检验结果
*/
@TableField
(
"inspect_result"
)
private
String
inspectResult
;
/**
* 终审通过时间
*/
@TableField
(
"audit_pass_date"
)
private
Date
auditPassDate
;
/**
* 登记类别
*/
@TableField
(
"reg_type"
)
private
String
regType
;
/**
* 注册登记日期
*/
@TableField
(
"reg_date"
)
private
Date
regDate
;
/**
* 注册登记人员ID
*/
@TableField
(
"reg_person_id"
)
private
String
regPersonId
;
/**
* 注册登记人员
*/
@TableField
(
"reg_person_name"
)
private
String
regPersonName
;
/**
* 安装单位名称
*/
@TableField
(
"install_unit_name"
)
private
String
installUnitName
;
/**
* 安装单位代码
*/
@TableField
(
"install_unit_code"
)
private
String
installUnitCode
;
/**
* 状态
*/
@TableField
(
"status"
)
private
String
status
;
/**
* 备注
*/
@TableField
(
"remark"
)
private
String
remark
;
/**
* 创建人ID
*/
@TableField
(
"create_user_id"
)
private
String
createUserId
;
/**
* 创建人名称
*/
@TableField
(
"create_user_name"
)
private
String
createUserName
;
/**
* 创建时间
*/
@TableField
(
"create_date"
)
private
Date
createDate
;
/**
* 录入单位ID
*/
@TableField
(
"input_unit_no"
)
private
String
inputUnitNo
;
/**
* 使用登记编号
*/
@TableField
(
"use_registration_code"
)
private
String
useRegistrationCode
;
/**
* 流程实例id
*/
@TableField
(
"instance_id"
)
private
String
instanceId
;
/**
* 使用单位统一信用代码
*/
@TableField
(
"use_unit_credit_code"
)
private
String
useUnitCreditCode
;
/**
* 检验机构代码
*/
@TableField
(
"inspect_unit_credit_code"
)
private
String
inspectUnitCreditCode
;
/**
* 流程状态
*/
@TableField
(
"instance_status"
)
private
String
instanceStatus
;
/**
* 接收机构代码
*/
@TableField
(
"receive_org_code"
)
private
String
receiveOrgCode
;
/**
* 接收机构公司代码
*/
@TableField
(
"receive_company_code"
)
private
String
receiveCompanyCode
;
/**
* 下一执行节点ids
*/
@TableField
(
"next_execute_ids"
)
private
String
nextExecuteIds
;
/**
* 发起人id用于撤回操作
*/
@TableField
(
"promoter"
)
private
String
promoter
;
/**
* 使用登记证书附件
*/
@TableField
(
"use_registration_certificate"
)
private
String
useRegistrationCertificate
;
/**
* 工作流下一节点任务id
*/
@TableField
(
"next_task_id"
)
private
String
nextTaskId
;
/**
* 下一节点可执行人逗号分割
*/
@TableField
(
"next_execute_user_ids"
)
private
String
nextExecuteUserIds
;
/**
* 是否西咸,1是 0否
*/
@TableField
(
"is_xixian"
)
private
String
isXixian
;
/**
* 使用单位地点
*/
@TableField
(
"use_unit_address"
)
private
String
useUnitAddress
;
/**
* 转办后执行人的Id逗号分割
*/
@TableField
(
"transfer_to_user_ids"
)
private
String
transferToUserIds
;
/**
* 其他附件
*/
@TableField
(
"other_accessories"
)
private
String
otherAccessories
;
/**
* 安装日期
*/
@TableField
(
"installation_data"
)
private
Date
installationData
;
/**
* 车辆属性
*/
@TableField
(
"vehicle_attribute"
)
private
String
vehicleAttribute
;
/**
* 车辆属地
*/
@TableField
(
"vehicle_apanage"
)
private
String
vehicleApanage
;
/**
* 气瓶数量
*/
@TableField
(
"gas_num"
)
private
Integer
gasNum
;
/**
* 号牌号码
*/
@TableField
(
"car_number"
)
private
String
carNumber
;
/**
* 识别代码
*/
@TableField
(
"identification_code"
)
private
String
identificationCode
;
/**
* 发动机号
*/
@TableField
(
"engine_number"
)
private
String
engineNumber
;
/**
* 车辆品牌型号
*/
@TableField
(
"car_brand_model"
)
private
String
carBrandModel
;
/**
* 车主姓名
*/
@TableField
(
"owner_name"
)
private
String
ownerName
;
/**
* 联系电话
*/
@TableField
(
"contact_number"
)
private
String
contactNumber
;
/**
* 充装介质
*/
@TableField
(
"filling_medium"
)
private
String
fillingMedium
;
/**
* 设备品种(特种气瓶)
*/
@TableField
(
"equipment_variety"
)
private
String
equipmentVariety
;
/**
* 容积
*/
@TableField
(
"volume"
)
private
String
volume
;
/**
* 加装方式
*/
@TableField
(
"installation_mode"
)
private
String
installationMode
;
/**
* 车辆年审日期
*/
@TableField
(
"vehicle_review_date"
)
private
Date
vehicleReviewDate
;
/**
* 身份证正面附件
*/
@TableField
(
"id_card_front"
)
private
String
idCardFront
;
/**
* 身份证背面附件
*/
@TableField
(
"id_card_back"
)
private
String
idCardBack
;
/**
* 行驶证正面附件
*/
@TableField
(
"drive_license_front"
)
private
String
driveLicenseFront
;
/**
* 行驶证背面附件
*/
@TableField
(
"drive_license_back"
)
private
String
driveLicenseBack
;
/**
* 机动车登记证书附件
*/
@TableField
(
"vehicle_registration_certificate"
)
private
String
vehicleRegistrationCertificate
;
/**
* 监督检验证书附件
*/
@TableField
(
"inspection_certificate"
)
private
String
inspectionCertificate
;
/**
* 备案通知单附件
*/
@TableField
(
"filing_notice"
)
private
String
filingNotice
;
/**
* 属地监管部门code
*/
@TableField
(
value
=
"org_branch_code"
)
private
String
orgBranchCode
;
/**
* 属地监管部门name
*/
@TableField
(
value
=
"org_branch_name"
)
private
String
orgBranchName
;
/**
* 下次检验日期
*/
@TableField
(
"next_inspection_date"
)
private
Date
nextInspectionDate
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgVehicleInformationEq.java
0 → 100644
View file @
7af328ce
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
/**
*
*
* @author system_generator
* @date 2024-03-18
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"tzs_jg_vehicle_information_eq"
)
public
class
JgVehicleInformationEq
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 车辆信息申请id
*/
@TableField
(
"vehicle_id"
)
private
String
vehicleId
;
/**
* 设备id
*/
@TableField
(
"equ_id"
)
private
String
equId
;
/**
* 创建时间
*/
@TableField
(
"create_date"
)
private
Date
createDate
;
/**
* 创建人id
*/
@TableField
(
"create_user_id"
)
private
String
createUserId
;
/**
* 创建人
*/
@TableField
(
"create_user_name"
)
private
String
createUserName
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/enums/BusinessTypeEnum.java
View file @
7af328ce
...
...
@@ -20,7 +20,7 @@ public enum BusinessTypeEnum {
JG_ADVICE_REMOVAL
(
"105"
,
"移装告知"
),
JG_MAINTENANCE_RECORD
(
"106"
,
"维保备案"
),
JG_MAINTENANCE_RECORD
(
"106"
,
"维保备案"
),
JG_USAGE_REGISTRATION
(
"107"
,
"使用登记"
),
...
...
@@ -44,7 +44,9 @@ public enum BusinessTypeEnum {
JY_INSPECTION_APPLICATION_DS
(
"116"
,
"定(首)检验"
),
JY_INSPECTION_APPLICATION_CHECK
(
"117"
,
"检验(含安全阀效验)"
);
JY_INSPECTION_APPLICATION_CHECK
(
"117"
,
"检验(含安全阀效验)"
),
JG_VEHICLE_GAS_APPLICATION
(
"118"
,
"车用气瓶登记"
);
private
final
String
code
;
private
final
String
name
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/enums/VehicleApanageEnum.java
0 → 100644
View file @
7af328ce
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
/**
* @author LiuLin
*
*/
@Getter
@AllArgsConstructor
public
enum
VehicleApanageEnum
{
/**
* 属性机构枚举
*/
XIAN
(
"陕A"
,
"XIAN"
),
TONG_CHUAN
(
"陕B"
,
"TONG_CHUAN"
),
BAO_JI
(
"陕C"
,
"BAO_JI"
),
XIAN_YANG
(
"陕D"
,
"XIAN_YANG"
),
WEI_NAN
(
"陕E"
,
"WEI_NAN"
),
YAN_AN
(
"陕J"
,
"YAN_AN"
),
HAN_ZHONG
(
"陕F"
,
"HAN_ZHONG"
),
YU_LIN
(
"陕K"
,
"YU_LIN"
),
AN_KANG
(
"陕G"
,
"AN_KANG"
),
SHANG_LUO
(
"陕H"
,
"SHANG_LUO"
),
XI_XIAN
(
"陕U"
,
"XI_XIAN"
),
YANG_LING
(
"陕V"
,
"YANG_LING"
),
HAN_CHENG
(
"陕Y"
,
"HAN_CHENG"
);
private
final
String
code
;
private
final
String
city
;
public
static
String
of
(
String
city
){
for
(
VehicleApanageEnum
e
:
VehicleApanageEnum
.
values
()){
if
(
e
.
getCity
().
equals
(
city
)){
return
e
.
getCode
();
}
}
return
null
;
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/mapper/JgVehicleInformationEqMapper.java
0 → 100644
View file @
7af328ce
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgVehicleInformationEq
;
/**
* Mapper 接口
*
* @author system_generator
* @date 2024-03-18
*/
public
interface
JgVehicleInformationEqMapper
extends
BaseMapper
<
JgVehicleInformationEq
>
{
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/mapper/JgVehicleInformationMapper.java
0 → 100644
View file @
7af328ce
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgVehicleInformationDto
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgVehicleInformation
;
import
org.apache.ibatis.annotations.MapKey
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
import
java.util.Map
;
/**
* Mapper 接口
*
* @author system_generator
* @date 2024-03-18
*/
public
interface
JgVehicleInformationMapper
extends
BaseMapper
<
JgVehicleInformation
>
{
@MapKey
(
"roleIds"
)
Page
<
Map
<
String
,
Object
>>
getListPage
(
@Param
(
"page"
)
Page
<
Map
<
String
,
Object
>>
page
,
@Param
(
"dto"
)
JgVehicleInformationDto
dto
,
@Param
(
"roleIds"
)
List
<
String
>
roleIds
);
@MapKey
(
"sequenceNbr"
)
JgVehicleInformationDto
queryBySequenceNbr
(
@Param
(
"sequenceNbr"
)
Long
sequenceNbr
);
@MapKey
(
"id"
)
List
<
Map
<
String
,
Object
>>
selectEquipList
(
@Param
(
"id"
)
Long
id
);
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/service/IJgVehicleInformationEqService.java
0 → 100644
View file @
7af328ce
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
service
;
/**
* 接口类
*
* @author system_generator
* @date 2024-03-18
*/
public
interface
IJgVehicleInformationEqService
{}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/service/IJgVehicleInformationService.java
0 → 100644
View file @
7af328ce
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
service
;
/**
* 接口类
*
* @author system_generator
* @date 2024-03-18
*/
public
interface
IJgVehicleInformationService
{}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/vo/JgVehicleInformationVo.java
0 → 100644
View file @
7af328ce
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
vo
;
import
com.alibaba.fastjson.JSONArray
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
/**
*
*
* @author system_generator
* @date 2024-03-18
*/
@Data
@ApiModel
(
value
=
"JgVehicleInformationVo"
,
description
=
""
)
public
class
JgVehicleInformationVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"设备监管码"
)
private
String
supervisoryCode
;
@ApiModelProperty
(
value
=
"使用单位名称"
)
private
String
useUnitName
;
@ApiModelProperty
(
value
=
"申请编号"
)
private
String
applyNo
;
@ApiModelProperty
(
value
=
"办理状态"
)
private
String
auditStatus
;
@ApiModelProperty
(
value
=
"接收机构"
)
private
String
receiveOrgName
;
@ApiModelProperty
(
value
=
"检验单位"
)
private
String
inspectUnitName
;
@ApiModelProperty
(
value
=
"检验结果照片"
)
private
String
inspectResultPhoto
;
@ApiModelProperty
(
value
=
"检验结果"
)
private
String
inspectResult
;
@ApiModelProperty
(
value
=
"终审通过时间"
)
private
Date
auditPassDate
;
@ApiModelProperty
(
value
=
"登记类别"
)
private
String
regType
;
@ApiModelProperty
(
value
=
"注册登记日期"
)
private
Date
regDate
;
@ApiModelProperty
(
value
=
"注册登记人员ID"
)
private
String
regPersonId
;
@ApiModelProperty
(
value
=
"注册登记人员"
)
private
String
regPersonName
;
@ApiModelProperty
(
value
=
"安装单位名称"
)
private
String
installUnitName
;
@ApiModelProperty
(
value
=
"安装单位代码"
)
private
String
installUnitCode
;
@ApiModelProperty
(
value
=
"状态"
)
private
String
status
;
@ApiModelProperty
(
value
=
"备注"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"创建人ID"
)
private
String
createUserId
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createDate
;
@ApiModelProperty
(
value
=
"录入单位ID"
)
private
String
inputUnitNo
;
@ApiModelProperty
(
value
=
"使用登记编号"
)
private
String
useRegistrationCode
;
@ApiModelProperty
(
value
=
"流程实例id"
)
private
String
instanceId
;
@ApiModelProperty
(
value
=
"使用单位统一信用代码"
)
private
String
useUnitCreditCode
;
@ApiModelProperty
(
value
=
"检验机构代码"
)
private
String
inspectUnitCreditCode
;
@ApiModelProperty
(
value
=
"流程状态"
)
private
String
instanceStatus
;
@ApiModelProperty
(
value
=
"接收机构代码"
)
private
String
receiveOrgCode
;
@ApiModelProperty
(
value
=
"接收机构公司代码"
)
private
String
receiveCompanyCode
;
@ApiModelProperty
(
value
=
"下一执行节点ids"
)
private
String
nextExecuteIds
;
@ApiModelProperty
(
value
=
"发起人id用于撤回操作"
)
private
String
promoter
;
@ApiModelProperty
(
value
=
"使用登记证书附件"
)
private
String
useRegistrationCertificate
;
@ApiModelProperty
(
value
=
"下一节点可执行人逗号分割"
)
private
String
nextExecuteUserIds
;
@ApiModelProperty
(
value
=
"是否西咸,1是 0否"
)
private
String
isXixian
;
@ApiModelProperty
(
value
=
"使用单位地点"
)
private
String
useUnitAddress
;
@ApiModelProperty
(
value
=
"转办后执行人的Id逗号分割"
)
private
String
transferToUserIds
;
@ApiModelProperty
(
value
=
"安装日期"
)
private
Date
installationData
;
@ApiModelProperty
(
value
=
"车辆属性"
)
private
String
vehicleAttribute
;
@ApiModelProperty
(
value
=
"车辆属地"
)
private
String
vehicleApanage
;
@ApiModelProperty
(
value
=
"气瓶数量"
)
private
Integer
gasNum
;
@ApiModelProperty
(
value
=
"号牌号码"
)
private
String
carNumber
;
@ApiModelProperty
(
value
=
"识别代码"
)
private
String
identificationCode
;
@ApiModelProperty
(
value
=
"发动机号"
)
private
String
engineNumber
;
@ApiModelProperty
(
value
=
"车辆品牌型号"
)
private
String
carBrandModel
;
@ApiModelProperty
(
value
=
"车主姓名"
)
private
String
ownerName
;
@ApiModelProperty
(
value
=
"联系电话"
)
private
String
contactNumber
;
@ApiModelProperty
(
value
=
"充装介质"
)
private
String
fillingMedium
;
@ApiModelProperty
(
value
=
"设备品种(特种气瓶)"
)
private
String
equipmentVariety
;
@ApiModelProperty
(
value
=
"容积"
)
private
String
volume
;
@ApiModelProperty
(
value
=
"加装方式"
)
private
String
installationMode
;
@ApiModelProperty
(
value
=
"车辆年审日期"
)
private
Date
vehicleReviewDate
;
@ApiModelProperty
(
value
=
"身份证正面附件"
)
private
JSONArray
idCardFront
;
@ApiModelProperty
(
value
=
"身份证背面附件"
)
private
JSONArray
idCardBack
;
@ApiModelProperty
(
value
=
"行驶证正面附件"
)
private
JSONArray
driveLicenseFront
;
@ApiModelProperty
(
value
=
"行驶证背面附件"
)
private
JSONArray
driveLicenseBack
;
@ApiModelProperty
(
value
=
"机动车登记证书附件"
)
private
JSONArray
vehicleRegistrationCertificate
;
@ApiModelProperty
(
value
=
"监督检验证书附件"
)
private
JSONArray
inspectionCertificate
;
@ApiModelProperty
(
value
=
"备案通知单附件"
)
private
JSONArray
filingNotice
;
private
List
<
String
>
roleIds
;
private
String
dataType
;
private
String
unitCode
;
private
String
currentUserId
;
private
List
<
Map
<
String
,
Object
>>
equipmentLists
;
@ApiModelProperty
(
value
=
"主键ID"
)
protected
Long
sequenceNbr
;
@ApiModelProperty
(
value
=
"更新时间"
)
protected
Date
recDate
;
@ApiModelProperty
(
value
=
"更新人id"
)
protected
String
recUserId
;
@ApiModelProperty
(
value
=
"更新人"
)
protected
String
recUserName
;
@ApiModelProperty
(
value
=
"是否删除"
)
private
Boolean
isDelete
=
false
;
@ApiModelProperty
(
"工作流下一节点任务id"
)
private
String
nextTaskId
;
@ApiModelProperty
(
value
=
"属地监管部门code"
)
private
String
orgBranchCode
;
@ApiModelProperty
(
value
=
"下次检验日期"
)
private
Date
nextInspectionDate
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/resources/mapper/JgVehicleInformationEqMapper.xml
0 → 100644
View file @
7af328ce
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationEqMapper"
>
</mapper>
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/resources/mapper/JgVehicleInformationMapper.xml
0 → 100644
View file @
7af328ce
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationMapper"
>
<select
id=
"getListPage"
resultType=
"java.util.Map"
>
<include
refid=
"page-list"
/>
<where>
tjvi.is_delete = 0
<if
test=
"dto.status != null and dto.status != ''"
>
and tjvi.status = #{dto.status}
</if>
<if
test=
"dto.applyNo != null and dto.applyNo != ''"
>
AND tjvi.apply_no LIKE CONCAT('%', #{dto.applyNo}, '%')
</if>
<if
test=
"dto.carNumber != null and dto.carNumber != ''"
>
and tjvi.car_number like concat('%',#{dto.carNumber},'%')
</if>
<if
test=
"roleIds != null and dto.dataType == 'supervision'"
>
<foreach
collection=
'roleIds'
item=
'role'
open=
'and ('
close=
')'
separator=
'or'
>
instance_status like concat('%',#{role},'%')
</foreach>
</if>
<if
test=
"dto.dataType == 'supervision' "
>
and tjvi.receive_company_code = #{dto.useUnitCreditCode}
AND tjvi.instance_id
<![CDATA[<>]]>
''
</if>
<if
test=
"dto.dataType == 'company' "
>
and tjvi.use_unit_credit_code = #{dto.useUnitCreditCode}
</if>
</where>
order by apply_no desc
</select>
<sql
id=
"page-list"
>
select tjvi.sequence_nbr as sequenceNbr,
tjvi.audit_status as auditStatus,
date_format(tjvi.reg_date,'%Y-%m-%d') as regDate,
tjvi.use_unit_name as useUnitName,
tjvi.status,
tjvi.receive_org_name as receiveOrgName,
tjvi.use_unit_address as place,
tjvi.instance_id as instanceId,
tjvi.apply_no as applyNo,
tjvi.next_execute_ids as nextExecuteIds,
tjvi.promoter,
tjvi.supervisory_code as supervisoryCode,
tjvi.use_registration_code as useRegistrationCode,
date_format(tjvi.audit_pass_date,'%Y-%m-%d') as auditPassDate,
tjvi.receive_org_name as receiveOrgName,
tjvi.next_execute_user_ids as nextExecuteUserIds,
tjvi.next_task_id as nextTaskId,
tjvi.create_user_id as createUserId,
tjvi.car_number as carNumber,
tjvi.inspect_unit_name as inspectUnitName,
tjvi.install_unit_name as installUnitName,
date_format(tjvi.installation_data,'%Y-%m-%d') as installationData,
tjvi.vehicle_attribute as vehicleAttribute,
tjvi.gas_num as gasNum,
tjvi.create_date as createDate
from tzs_jg_vehicle_information tjvi
</sql>
<select
id=
"getEquipListPage"
resultType=
"java.util.Map"
>
SELECT jri.EQU_CODE as equCode,
jri.RECORD as id,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory,
(SELECT name from tz_equipment_category where code = jri.EQU_LIST) as equList,
jfi.FACTORY_NUM as factoryNum,
jui.ADDRESS as address,
jui.USE_INNER_CODE as useInnerCode,
jfi.PRODUCE_UNIT_NAME as produceUnitName
from idx_biz_jg_register_info jri
LEFT JOIN idx_biz_jg_factory_info jfi on jri.RECORD = jfi.RECORD
LEFT JOIN idx_biz_jg_use_info jui on jri.RECORD = jui.RECORD
<where>
<if
test=
"factoryNum != null and factoryNum != ''"
>
and jfi.FACTORY_NUM like concat('%',#{factoryNum},'%')
</if>
<if
test=
"equList != null and equList != ''"
>
and jri.EQU_LIST like concat('%',#{equList},'%')
</if>
<if
test=
"equCategory != null and equCategory != ''"
>
and jri.EQU_CATEGORY like concat('%',#{equCategory},'%')
</if>
</where>
</select>
<select
id=
"getDetail"
resultType=
"java.util.Map"
>
SELECT
jri.RECORD as equipId,
jri.EQU_CODE as equCode,
jri.EQU_CATEGORY as equCategory,
jri.EQU_LIST as equList,
jri.EQU_DEFINE as equDefine,
jri.PRODUCT_NAME as productName,
jri.EQU_TYPE as equType,
jri.PRODUCT_PHOTO as proDuctPhoto,
jri.BRAND_NAME as brandName,
jri.EQU_PRICE as equPrice,
jfi.FACTORY_NUM as factoryNum,
jfi.PRODUCE_UNIT_NAME as produceUnitName,
date_format(jfi.PRODUCE_DATE,'%Y-%m-%d') as produceDate,
jfi.FACTORY_STANDARD as factoryStandard,
jfi.PRODUCT_QUALITY_YIELD_PROVE as productQualityYieldProve,
jfi.INS_USE_MAINTAIN_EXPLAIN as insUseMaintainExplain,
jfi.IMPORTED as imported,
jfi.PRODUCE_LICENSE_NUM as produceLicenseNum,
jfi.PRODUCE_COUNTRY as produceCountry,
jfi.produce_unit_credit_code as produceUnitCreditCode,
jci.USC_UNIT_NAME as uscUnitName,
jci.USC_UNIT_CREDIT_CODE as uscUnitCreditCode,
jri.OTHER_ACCESSORIES_REG as otherAccessoriesReg,
jfi.OTHER_ACCESSORIES_FACT as otherAccessoriesFact
from idx_biz_jg_register_info jri
LEFT JOIN idx_biz_jg_factory_info jfi on jri.RECORD = jfi.RECORD
LEFT JOIN idx_biz_jg_construction_info jci on jri.RECORD = jci.RECORD
where jri.RECORD = #{id}
</select>
<select
id=
"getInspectDetail"
resultType=
"java.util.Map"
>
SELECT INSPECT_TYPE as inspectType,
INSPECT_STAFF as inspectStaff,
INSPECT_CONCLUSION as inspectConclusion,
INSPECT_ORG_NAME as inspectOrgName,
INSPECT_DATE as inspectDate,
NEXT_INSPECT_DATE as nextInspectDate,
INSPECT_REPORT as inspectReport,
INSPECT_ORG_CODE as inspectOrgCode
from idx_biz_jg_inspection_detection_info
where RECORD = #{id}
ORDER BY INSPECT_DATE desc LIMIT 1
</select>
<select
id=
"getUseDetail"
resultType=
"java.util.Map"
>
SELECT USE_UNIT_NAME as useUnitName,
USE_UNIT_CREDIT_CODE as useUnitCreditCode,
USE_PLACE as usePlace,
SAFETY_MANAGER as safetyManager,
SAFETY_MANAGER_CODE as safetyManagerCode,
PHONE as phone,
concat(ESTATE_UNIT_CREDIT_CODE, '_', ESTATE_UNIT_NAME) as estateUnitName,
ADDRESS as address,
PROVINCE as province,
CITY as city,
COUNTY as county,
USE_INNER_CODE as useInnerCode,
LONGITUDE_LATITUDE as longitudeLatitude,
FACTORY_USE_SITE_STREET as factoryUseSiteStreet
FROM "idx_biz_jg_use_info" where RECORD = #{id}
</select>
<select
id=
"getDesDetail"
resultType=
"java.util.Map"
>
select DESIGN_UNIT_CREDIT_CODE as designUnitCreditCode,
DESIGN_UNIT_NAME as designUnitName,
DESIGN_LICENSE_NUM as designLicenseNum,
DESIGN_USE_DATE as designUseDate,
DESIGN_DATE as designDate,
DRAWING_DO as drawingDo,
APPRAISAL_UNIT as appraisalUnit,
APPRAISAL_DATE as appraisalDate,
DESIGN_DOC as designDoc,
DESIGN_STANDARD as designStandard,
OTHER_ACCESSORIES_DES as otherAccessoriesDes
from idx_biz_jg_design_info
where RECORD = #{id}
</select>
<select
id=
"queryBySequenceNbr"
resultType=
"com.yeejoin.amos.boot.module.jg.api.dto.JgVehicleInformationDto"
>
select * from tzs_jg_vehicle_information
where is_delete = 0 and sequence_nbr = #{sequenceNbr}
</select>
<select
id=
"selectEquipList"
resultType=
"java.util.Map"
>
select jui.RECORD as SEQUENCE_NBR,
(SELECT name from tz_equipment_category where code = jri.EQU_LIST) as EQU_LIST,
jfi.PRODUCE_UNIT_NAME,
jui.USE_INNER_CODE,
jfi.FACTORY_NUM,
jui.ADDRESS as ADDRESS,
jui.RECORD record,
jri.EQU_DEFINE,
jri.PRODUCT_NAME,
jri.EQU_CODE,
other.SUPERVISORY_CODE,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as EQU_CATEGORY
from tzs_jg_vehicle_information_eq tjvie
LEFT JOIN idx_biz_jg_use_info jui on tjvie.equ_id = jui.RECORD
LEFT JOIN idx_biz_jg_factory_info jfi on tjvie.equ_id = jfi.RECORD
left JOIN idx_biz_jg_register_info jri on tjvie.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_other_info other on other.RECORD = jui.RECORD
WHERE tjvie.vehicle_id = #{id}
</select>
</mapper>
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
0 → 100644
View file @
7af328ce
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.module.jg.api.vo.JgVehicleInformationVo
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.Api
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.JgVehicleInformationServiceImpl
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgVehicleInformationDto
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
import
javax.servlet.http.HttpServletResponse
;
/**
* 车用气瓶控制类
*
* @author LiuLin
* @date 2024-03-18
*/
@RestController
@Api
(
tags
=
"车用气瓶控制类Api"
)
@RequestMapping
(
value
=
"/jg-vehicle-information"
)
public
class
JgVehicleInformationController
extends
BaseController
{
@Autowired
JgVehicleInformationServiceImpl
jgVehicleInformationServiceImpl
;
/**
* 新增(提交)车用气瓶控制类
*
* @return ResponseModel
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增车用气瓶控制类"
,
notes
=
"新增车用气瓶控制类"
)
public
ResponseModel
<
Object
>
saveOrSubmit
(
@RequestBody
JSONObject
map
,
@RequestParam
(
value
=
"submit"
)
String
submit
)
{
return
ResponseHelper
.
buildResponse
(
jgVehicleInformationServiceImpl
.
save
(
submit
,
map
));
}
/**
* 执行流程
*
* @param map map
* @return ResponseModel
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/flowExecute"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"执行流程"
,
notes
=
"执行流程"
)
public
ResponseModel
<
Object
>
flowExecute
(
@RequestBody
JSONObject
map
)
{
jgVehicleInformationServiceImpl
.
flowExecute
(
Long
.
valueOf
(
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
))),
String
.
valueOf
(
map
.
get
(
"instanceId"
)),
String
.
valueOf
(
map
.
get
(
"operate"
)),
String
.
valueOf
(
map
.
get
(
"comment"
)),
String
.
valueOf
(
map
.
get
(
"nextTaskId"
)));
return
ResponseHelper
.
buildResponse
(
"ok"
);
}
/**
* 车用气瓶撤回
*
* @return ResponseModel
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/cancel"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"车用气瓶撤回"
,
notes
=
"车用气瓶撤回"
)
public
ResponseModel
<
Object
>
cancel
(
@RequestBody
JSONObject
map
)
{
jgVehicleInformationServiceImpl
.
cancel
(
String
.
valueOf
(
map
.
get
(
"instanceId"
)),
String
.
valueOf
(
map
.
get
(
"nextTaskId"
)));
return
ResponseHelper
.
buildResponse
(
"ok"
);
}
/**
* 批量删除
*
* @param map map
* @return ResponseModel
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/deleteBatch"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"批量删除"
,
notes
=
"批量删除"
)
public
ResponseModel
<
Object
>
deleteBatch
(
@RequestBody
JSONObject
map
)
{
List
<
Long
>
ids
=
(
List
<
Long
>)
map
.
get
(
"ids"
);
jgVehicleInformationServiceImpl
.
deleteBatch
(
ids
);
return
ResponseHelper
.
buildResponse
(
"ok"
);
}
/**
* 根据id进行删除
*
* @param id id
* @return ResponseModel
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/deleteMessage"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"删除"
,
notes
=
"删除"
)
public
ResponseModel
<
Object
>
deleteMessage
(
@RequestParam
(
"id"
)
Long
id
)
{
Long
[]
ids
=
{
id
};
jgVehicleInformationServiceImpl
.
deleteBatch
(
Arrays
.
asList
(
ids
));
return
ResponseHelper
.
buildResponse
(
"ok"
);
}
/**
* 车用气瓶查询列表接口
*
* @param dto dto
* @param current current
* @param size size
* @return Page
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"车用气瓶列表全部数据查询"
,
notes
=
"车用气瓶列表全部数据查询"
)
@GetMapping
(
value
=
"/getPageList"
)
public
ResponseModel
<
Page
<
Map
<
String
,
Object
>>>
getPageList
(
JgVehicleInformationDto
dto
,
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
)
{
Page
<
Map
<
String
,
Object
>>
page
=
new
Page
<>(
current
,
size
);
ReginParams
info
=
getSelectedOrgInfo
();
dto
.
setCurrentUserId
(
info
.
getUserModel
().
getUserId
());
dto
.
setUseUnitCreditCode
(
info
.
getCompany
().
getCompanyCode
());
if
(
info
.
getCompany
().
getLevel
().
equals
(
BaseController
.
COMPANY_TYPE_COMPANY
))
{
dto
.
setDataType
(
BaseController
.
COMPANY_TYPE_COMPANY
);
}
else
{
dto
.
setDataType
(
BaseController
.
COMPANY_TYPE_SUPERVISION
);
}
Page
<
Map
<
String
,
Object
>>
list
=
jgVehicleInformationServiceImpl
.
getPageList
(
dto
,
page
,
dto
.
getRoleIds
());
list
.
getRecords
().
forEach
(
x
->
x
.
put
(
"companyType"
,
info
.
getCompany
().
getCompanyType
()));
return
ResponseHelper
.
buildResponse
(
list
);
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@DeleteMapping
(
value
=
"/delete"
)
@ApiOperation
(
httpMethod
=
"DELETE"
,
value
=
"根据sequenceNbr删除车用气瓶控制类"
,
notes
=
"根据sequenceNbr删除车用气瓶控制类"
)
public
ResponseModel
<
Boolean
>
deleteBySequenceNbr
(
@RequestParam
(
"sequenceNbr"
)
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
jgVehicleInformationServiceImpl
.
removeById
(
sequenceNbr
));
}
/**
* 根据sequenceNbr查询详情
*
* @param sequenceNbr 主键
* @return ResponseModel
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/details"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询单个车用气瓶控制类"
,
notes
=
"根据sequenceNbr查询单个车用气瓶控制类"
)
public
ResponseModel
<
JgVehicleInformationVo
>
selectOne
(
@RequestParam
(
"sequenceNbr"
)
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
jgVehicleInformationServiceImpl
.
queryBySequenceNbr
(
sequenceNbr
));
}
/**
*
* @param response response
* @param sequenceNbr 主键
* @param printType 打印类型
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/export"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"导出车用气瓶使用登记证"
,
notes
=
"导出车用气瓶使用登记证"
)
public
void
exportImageZip
(
HttpServletResponse
response
,
@RequestParam
(
"sequenceNbr"
)
String
sequenceNbr
,
@RequestParam
(
value
=
"printType"
,
defaultValue
=
"0"
)
String
printType
)
{
jgVehicleInformationServiceImpl
.
exportVehicleUseRegistrationCertificate
(
sequenceNbr
,
response
,
printType
);
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/controller/JgVehicleInformationEqController.java
0 → 100644
View file @
7af328ce
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
controller
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.Api
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.yeejoin.amos.boot.biz.common.controller.BaseController
;
import
java.util.List
;
import
com.yeejoin.amos.boot.module.jg.biz.service.impl.JgVehicleInformationEqServiceImpl
;
import
org.typroject.tyboot.core.restful.utils.ResponseHelper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
javax.servlet.http.HttpServletRequest
;
import
org.springframework.web.bind.annotation.*
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgVehicleInformationEqDto
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
/**
*
*
* @author system_generator
* @date 2024-03-18
*/
@RestController
@Api
(
tags
=
"车用气瓶控制类Api"
)
@RequestMapping
(
value
=
"/jg-vehicle-information-eq"
)
public
class
JgVehicleInformationEqController
extends
BaseController
{
@Autowired
JgVehicleInformationEqServiceImpl
jgVehicleInformationEqServiceImpl
;
/**
* 新增车用气瓶控制类
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增车用气瓶控制类"
,
notes
=
"新增车用气瓶控制类"
)
public
ResponseModel
<
JgVehicleInformationEqDto
>
save
(
@RequestBody
JgVehicleInformationEqDto
model
)
{
model
=
jgVehicleInformationEqServiceImpl
.
createWithModel
(
model
);
return
ResponseHelper
.
buildResponse
(
model
);
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"根据sequenceNbr更新车用气瓶控制类"
,
notes
=
"根据sequenceNbr更新车用气瓶控制类"
)
public
ResponseModel
<
JgVehicleInformationEqDto
>
updateBySequenceNbrJgVehicleInformationEq
(
@RequestBody
JgVehicleInformationEqDto
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
jgVehicleInformationEqServiceImpl
.
updateWithModel
(
model
));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@DeleteMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"DELETE"
,
value
=
"根据sequenceNbr删除车用气瓶控制类"
,
notes
=
"根据sequenceNbr删除车用气瓶控制类"
)
public
ResponseModel
<
Boolean
>
deleteBySequenceNbr
(
HttpServletRequest
request
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
){
return
ResponseHelper
.
buildResponse
(
jgVehicleInformationEqServiceImpl
.
removeById
(
sequenceNbr
));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询单个车用气瓶控制类"
,
notes
=
"根据sequenceNbr查询单个车用气瓶控制类"
)
public
ResponseModel
<
JgVehicleInformationEqDto
>
selectOne
(
@PathVariable
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
jgVehicleInformationEqServiceImpl
.
queryBySeq
(
sequenceNbr
));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/page"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"分页查询车用气瓶控制类"
,
notes
=
"分页查询车用气瓶控制类"
)
public
ResponseModel
<
Page
<
JgVehicleInformationEqDto
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
)
{
Page
<
JgVehicleInformationEqDto
>
page
=
new
Page
<
JgVehicleInformationEqDto
>();
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
jgVehicleInformationEqServiceImpl
.
queryForJgVehicleInformationEqPage
(
page
));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表全部数据查询车用气瓶控制类"
,
notes
=
"列表全部数据查询车用气瓶控制类"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
JgVehicleInformationEqDto
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
jgVehicleInformationEqServiceImpl
.
queryForJgVehicleInformationEqList
());
}
}
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/CommonServiceImpl.java
View file @
7af328ce
...
...
@@ -226,6 +226,8 @@ public class CommonServiceImpl implements ICommonService {
private
IJgMaintainNoticeService
iJgMaintainNoticeService
;
@Autowired
private
IJgTransferNoticeService
jgTransferNoticeService
;
@Autowired
private
JgVehicleInformationServiceImpl
jgVehicleInformationService
;
@Autowired
RedissonClient
redissonClient
;
...
...
@@ -419,6 +421,7 @@ public class CommonServiceImpl implements ICommonService {
if
(
useFlagParamDto
.
getNextInspectionDate
()
!=
null
)
{
paramMap
.
put
(
"year"
,
DateUtil
.
year
(
useFlagParamDto
.
getNextInspectionDate
())
+
""
);
paramMap
.
put
(
"month"
,
DateUtil
.
month
(
useFlagParamDto
.
getNextInspectionDate
())
+
1
);
paramMap
.
put
(
"nextInspectionTime"
,
paramMap
.
get
(
"year"
)
+
"年"
+
paramMap
.
get
(
"month"
)
+
"月"
);
}
}
...
...
@@ -924,13 +927,14 @@ public class CommonServiceImpl implements ICommonService {
JSONObject
jsonObject
=
new
JSONObject
(
provideMap
);
return
jgTransferNoticeService
.
saveNotice
(
submitType
,
jsonObject
,
reginParams
);
}
else
if
(
type
.
equals
(
ApplicationFormTypeEnum
.
SYDJ
.
getBusinessCode
()))
{
String
code
=
(
String
)
basicObj
.
get
(
"equDefineCode"
);
noticeObj
.
put
(
"receiveOrgCode"
,
!
ObjectUtils
.
isEmpty
(
basicObj
.
get
(
"receiveOrgCreditCode"
))
?
String
.
valueOf
(
basicObj
.
get
(
"receiveOrgCreditCode"
))
:
String
.
valueOf
(
basicObj
.
get
(
"receiveOrgCreditCode1"
)));
JSONObject
jsonObject
=
new
JSONObject
(
noticeObj
);
if
(
submitType
.
equals
(
"1"
))
{
jsonObject
.
put
(
"submit"
,
Boolean
.
TRUE
);
}
return
jgUseRegistrationServiceImpl
.
save
(
jsonObject
);
//判断是否为车用气瓶使用登记或者设备使用登记
return
code
!=
null
&&
code
.
equals
(
"23T0"
)
?
jgVehicleInformationService
.
save
(
submitType
,
jsonObject
)
:
jgUseRegistrationServiceImpl
.
save
(
jsonObject
);
}
else
if
(
type
.
equals
(
ApplicationFormTypeEnum
.
GZBG
.
getBusinessCode
()))
{
// 兼容业务逻辑代码
if
(
submitType
.
equals
(
"1"
))
{
...
...
@@ -1666,7 +1670,7 @@ public class CommonServiceImpl implements ICommonService {
setNextDate
(
useFlagParamDto
,
paramMap
);
setRegName
(
useFlagParamDto
,
paramMap
);
// 生成二维码,之前为设备监管码,调整为申请单号
String
qrCode
=
ImageUtils
.
generateQRCode
(
Optional
.
ofNullable
(
useFlagParamDto
.
getApplyNo
()).
orElse
(
""
),
1
00
,
10
0
);
String
qrCode
=
ImageUtils
.
generateQRCode
(
Optional
.
ofNullable
(
useFlagParamDto
.
getApplyNo
()).
orElse
(
""
),
1
80
,
18
0
);
paramMap
.
put
(
"supervisoryCode"
,
qrCode
);
this
.
fillParamValueToPdf
(
paramMap
,
response
,
selectPdfTemplate
(
useFlagParamDto
.
getEquListCode
()),
printFileName
);
...
...
@@ -1686,11 +1690,10 @@ public class CommonServiceImpl implements ICommonService {
switch
(
equListCode
)
{
case
"3000"
:
return
"templates/use-flag-model-elevator.pdf"
;
case
"
23T
0"
:
case
"
000
0"
:
return
"templates/use-flag-model-vehicle.pdf"
;
default
:
return
"templates/use-flag-model-other.pdf"
;
}
}
}
\ 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/JgVehicleInformationEqServiceImpl.java
0 → 100644
View file @
7af328ce
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgVehicleInformationEq
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationEqMapper
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgVehicleInformationEqDto
;
import
com.yeejoin.amos.boot.module.jg.api.service.IJgVehicleInformationEqService
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
java.util.List
;
/**
* 服务实现类
*
* @author system_generator
* @date 2024-03-18
*/
@Service
public
class
JgVehicleInformationEqServiceImpl
extends
BaseService
<
JgVehicleInformationEqDto
,
JgVehicleInformationEq
,
JgVehicleInformationEqMapper
>
implements
IJgVehicleInformationEqService
{
/**
* 分页查询
*/
public
Page
<
JgVehicleInformationEqDto
>
queryForJgVehicleInformationEqPage
(
Page
<
JgVehicleInformationEqDto
>
page
)
{
return
this
.
queryForPage
(
page
,
null
,
false
);
}
/**
* 列表查询 示例
*/
public
List
<
JgVehicleInformationEqDto
>
queryForJgVehicleInformationEqList
()
{
return
this
.
queryForList
(
""
,
false
);
}
}
\ 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
0 → 100644
View file @
7af328ce
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.core.conditions.update.UpdateWrapper
;
import
com.yeejoin.amos.boot.biz.common.bo.CompanyBo
;
import
com.yeejoin.amos.boot.biz.common.bo.ReginParams
;
import
com.yeejoin.amos.boot.biz.common.entity.DataDictionary
;
import
com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl
;
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.*
;
import
com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationEqMapper
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgVehicleInformationMapper
;
import
com.yeejoin.amos.boot.module.jg.api.service.IJgVehicleInformationService
;
import
com.yeejoin.amos.boot.module.jg.api.vo.JgVehicleInformationVo
;
import
com.yeejoin.amos.boot.module.jg.biz.config.LocalBadRequest
;
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.ymt.api.entity.*
;
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.FlowStatusEnum
;
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
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StringUtils
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
java.util.stream.Stream
;
import
static
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
.
JgUseRegistrationServiceImpl
.
getAuditPassedDate
;
/**
* 服务实现类
*
* @author system_generator
* @date 2024-03-18
*/
@Service
public
class
JgVehicleInformationServiceImpl
extends
BaseService
<
JgVehicleInformationDto
,
JgVehicleInformation
,
JgVehicleInformationMapper
>
implements
IJgVehicleInformationService
{
public
static
final
String
SUBMIT_DATA
=
"0"
;
public
static
final
String
SUBMIT_TYPE_FLOW
=
"1"
;
private
static
final
String
DEFINITION_KEY
=
"vehicleInformation"
;
@Autowired
private
RedissonClient
redissonClient
;
@Autowired
private
CommonServiceImpl
commonService
;
@Autowired
private
ICmWorkflowService
workflowService
;
@Autowired
private
JgRegistrationHistoryServiceImpl
jgRegistrationHistoryService
;
@Autowired
private
CmWorkflowServiceImpl
cmWorkflowService
;
@Autowired
private
RedisUtils
redisUtils
;
@Autowired
private
JgVehicleInformationEqMapper
jgVehicleInformationEqMapper
;
@Autowired
private
IdxBizJgUseInfoServiceImpl
idxBizJgUseInfoService
;
@Autowired
private
IdxBizJgRegisterInfoServiceImpl
idxBizJgRegisterInfoService
;
@Autowired
private
IdxBizJgRegisterInfoMapper
idxBizJgRegisterInfoMapper
;
@Autowired
private
IdxBizJgUseInfoMapper
useInfoMapper
;
@Autowired
private
IdxBizJgSupervisionInfoMapper
idxBizJgSupervisionInfoMapper
;
@Autowired
private
InspectionDetectionInfoMapper
inspectionDetectionInfoMapper
;
@Autowired
private
DataDictionaryServiceImpl
iDataDictionaryService
;
@Autowired
private
TzsServiceFeignClient
tzsServiceFeignClient
;
@Autowired
private
JgVehicleInformationEqServiceImpl
jgVehicleInformationEqService
;
@Autowired
private
IdxBizJgFactoryInfoMapper
idxBizJgFactoryInfoMapper
;
/**
* 新增(提交)车用气瓶
*
* @param map map
* @return list
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
List
<
JgVehicleInformation
>
save
(
String
submit
,
JSONObject
map
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
()))
+
""
,
ReginParams
.
class
);
JgVehicleInformationDto
vehicleInfoDto
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
map
),
JgVehicleInformationDto
.
class
);
List
<
Map
<
String
,
Object
>>
equipmentLists
=
(
List
<
Map
<
String
,
Object
>>)
map
.
get
(
"equipmentLists"
);
if
(
CollectionUtils
.
isEmpty
(
equipmentLists
))
{
throw
new
BadRequest
(
"请选择设备"
);
}
CompanyBo
company
=
reginParams
.
getCompany
();
vehicleInfoDto
.
setCreateDate
(
new
Date
());
vehicleInfoDto
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
// 车牌号码 字段的唯一性校验
LambdaQueryWrapper
<
JgVehicleInformation
>
vehicleInfoWrapper
=
new
LambdaQueryWrapper
<>();
vehicleInfoWrapper
.
eq
(
JgVehicleInformation:
:
getCarNumber
,
vehicleInfoDto
.
getCarNumber
());
vehicleInfoWrapper
.
ne
(!
ValidationUtil
.
isEmpty
(
vehicleInfoDto
.
getSequenceNbr
()),
JgVehicleInformation:
:
getSequenceNbr
,
vehicleInfoDto
.
getSequenceNbr
());
Integer
count
=
this
.
baseMapper
.
selectCount
(
vehicleInfoWrapper
);
if
(
count
>
0
)
{
throw
new
LocalBadRequest
(
"车牌号码已存在,请重新输入!"
);
}
// 使用单位信息
vehicleInfoDto
.
setUseUnitName
(
company
.
getCompanyName
());
vehicleInfoDto
.
setUseUnitCreditCode
(
company
.
getCompanyCode
());
List
<
LinkedHashMap
>
tree
=
commonService
.
getCreatTree
();
// 接收单位信息
if
(!
StringUtils
.
isEmpty
(
vehicleInfoDto
.
getReceiveOrgCode
()))
{
String
[]
splitReceiveOrgCode
=
vehicleInfoDto
.
getReceiveOrgCode
().
split
(
"_"
);
String
orgCode
=
this
.
recursiveMatching
(
tree
,
splitReceiveOrgCode
[
0
]);
vehicleInfoDto
.
setReceiveOrgCode
(
orgCode
);
vehicleInfoDto
.
setReceiveCompanyCode
(
splitReceiveOrgCode
[
0
]);
vehicleInfoDto
.
setReceiveOrgName
(
splitReceiveOrgCode
[
1
]);
}
//检验机构信息
if
(!
StringUtils
.
isEmpty
(
vehicleInfoDto
.
getInspectUnitCreditCode
()))
{
String
[]
splitInspectUnitCreditCode
=
vehicleInfoDto
.
getInspectUnitCreditCode
().
split
(
"_"
);
vehicleInfoDto
.
setInspectUnitCreditCode
(
splitInspectUnitCreditCode
[
0
]);
vehicleInfoDto
.
setInspectUnitName
(
splitInspectUnitCreditCode
[
1
]);
}
//安装单位信息
if
(!
StringUtils
.
isEmpty
(
vehicleInfoDto
.
getInstallUnitCode
()))
{
String
[]
splitInstallUnitCode
=
vehicleInfoDto
.
getInstallUnitCode
().
split
(
"_"
);
vehicleInfoDto
.
setInstallUnitCode
(
splitInstallUnitCode
[
0
]);
vehicleInfoDto
.
setInstallUnitName
(
splitInstallUnitCode
[
1
]);
}
//属地监管部门
if
(!
StringUtils
.
isEmpty
(
vehicleInfoDto
.
getOrgBranchCode
()))
{
String
[]
splitOrgBranchCode
=
vehicleInfoDto
.
getOrgBranchCode
().
split
(
"_"
);
vehicleInfoDto
.
setOrgBranchCode
(
splitOrgBranchCode
[
0
]);
vehicleInfoDto
.
setOrgBranchName
(
splitOrgBranchCode
[
1
]);
}
JgVehicleInformation
vehicleInformation
=
new
JgVehicleInformation
();
BeanUtils
.
copyProperties
(
vehicleInfoDto
,
vehicleInformation
);
vehicleInformation
.
setCreateUserId
(
reginParams
.
getUserModel
().
getUserId
());
vehicleInformation
.
setCreateUserName
(
reginParams
.
getUserModel
().
getRealName
());
vehicleInformation
.
setGasNum
(
equipmentLists
.
size
());
boolean
hasId
=
StringUtils
.
isEmpty
(
vehicleInfoDto
.
getSequenceNbr
());
//新增
if
(
hasId
)
{
ResponseModel
<
List
<
String
>>
listResponseModel
=
tzsServiceFeignClient
.
applicationFormCode
(
ApplicationFormTypeEnum
.
SYDJ
.
getCode
(),
1
);
if
(!
ObjectUtils
.
isEmpty
(
listResponseModel
)
&&
listResponseModel
.
getStatus
()
!=
HttpStatus
.
OK
.
value
())
{
log
.
error
(
"车用气瓶使用登记申请单单号获取失败!"
);
throw
new
BadRequest
(
"车用气瓶使用登记申请单单号获取失败!"
);
}
String
applyNo
=
listResponseModel
.
getResult
().
get
(
0
);
vehicleInformation
.
setApplyNo
(
applyNo
);
vehicleInformation
.
setStatus
(
SUBMIT_DATA
.
equals
(
submit
)
?
WorkFlowStatusEnum
.
USE_SUBMIT
.
getPass
()
:
WorkFlowStatusEnum
.
USE_RECEIVE
.
getPass
());
this
.
save
(
vehicleInformation
);
}
else
{
// 删除以前设备关联关系
this
.
getBaseMapper
().
updateById
(
vehicleInformation
);
LambdaQueryWrapper
<
JgVehicleInformationEq
>
lambda
=
new
QueryWrapper
<
JgVehicleInformationEq
>().
lambda
();
lambda
.
eq
(
JgVehicleInformationEq:
:
getVehicleId
,
vehicleInformation
.
getSequenceNbr
());
jgVehicleInformationEqService
.
getBaseMapper
().
delete
(
lambda
);
}
// 更新关联气瓶信息
if
(!
CollectionUtils
.
isEmpty
(
equipmentLists
))
{
List
<
JgVehicleInformationEq
>
equipList
=
new
ArrayList
<>();
equipmentLists
.
forEach
(
x
->
{
JgVehicleInformationEq
equip
=
new
JgVehicleInformationEq
();
equip
.
setEquId
(
String
.
valueOf
(
x
.
get
(
"SEQUENCE_NBR"
)));
equip
.
setVehicleId
(
vehicleInformation
.
getSequenceNbr
()
+
""
);
equipList
.
add
(
equip
);
});
// 保存关联设备信息
jgVehicleInformationEqService
.
saveBatch
(
equipList
);
}
// 判断当前是否为提交
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submit
))
{
List
<
String
>
roleListNext
=
new
ArrayList
<>();
List
<
String
>
roleListAll
=
new
ArrayList
<>();
// 新增提交,没有instanceId需要发起流程
if
(
StringUtils
.
isEmpty
(
vehicleInformation
.
getInstanceId
()))
{
// 启动并执行流程
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
List
<
ActWorkflowStartDTO
>
list
=
new
ArrayList
<>();
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
DEFINITION_KEY
);
dto
.
setBusinessKey
(
vehicleInformation
.
getApplyNo
());
dto
.
setCompleteFirstTask
(
Boolean
.
TRUE
);
// 下一节点执行人单位(下节点接收机构code)
dto
.
setNextExecuteUserCompanyCode
(
vehicleInformation
.
getReceiveCompanyCode
());
list
.
add
(
dto
);
actWorkflowBatchDTO
.
setProcess
(
list
);
List
<
ProcessTaskDTO
>
processTasks
=
workflowService
.
startBatch
(
actWorkflowBatchDTO
);
this
.
buildRoleList
(
processTasks
,
roleListNext
,
roleListAll
);
List
<
WorkflowResultDto
>
workflowResultDtoList
=
commonService
.
buildWorkFlowInfo
(
processTasks
);
if
(!
ObjectUtils
.
isEmpty
(
workflowResultDtoList
)
&&
!
ObjectUtils
.
isEmpty
(
workflowResultDtoList
.
get
(
0
)))
{
WorkflowResultDto
workflowResultDto
=
workflowResultDtoList
.
get
(
0
);
this
.
updateData
(
vehicleInformation
.
getSequenceNbr
(),
"0"
,
workflowResultDto
,
Boolean
.
TRUE
);
}
}
else
{
// 执行流程
flowExecute
(
vehicleInformation
.
getSequenceNbr
(),
vehicleInformation
.
getInstanceId
(),
"0"
,
""
,
String
.
valueOf
(
map
.
get
(
"nextTaskId"
)));
}
}
else
{
ArrayList
<
TaskModelDto
>
list
=
new
ArrayList
<>();
TaskModelDto
dto
=
new
TaskModelDto
();
TaskMessageDto
taskMessageDto
=
new
TaskMessageDto
();
BeanUtil
.
copyProperties
(
vehicleInformation
,
taskMessageDto
);
taskMessageDto
.
setEquipId
(
String
.
valueOf
(
map
.
get
(
"equipId"
)));
// 数据参数
dto
.
setModel
(
taskMessageDto
);
// 摘要
dto
.
setTaskContent
(
"来自车用气瓶"
+
vehicleInformation
.
getCarNumber
()
+
"【"
+
(
ObjectUtils
.
isEmpty
(
vehicleInformation
.
getSupervisoryCode
())
?
"无"
:
vehicleInformation
.
getSupervisoryCode
())
+
"】的业务办理,"
+
"【申请单号:"
+
vehicleInformation
.
getApplyNo
()
+
"】"
);
// 申请单号
dto
.
setTaskCode
(
vehicleInformation
.
getApplyNo
());
// 业务类型
dto
.
setTaskType
(
String
.
valueOf
(
BusinessTypeEnum
.
JG_VEHICLE_GAS_APPLICATION
.
getCode
()));
// 业务主键
dto
.
setRelationId
(
String
.
valueOf
(
vehicleInformation
.
getSequenceNbr
()));
dto
.
setNextExecuteUser
(
""
);
list
.
add
(
dto
);
commonService
.
buildTaskModel
(
list
);
}
// 设备数据存历史数据,在流程完成时使用
commonService
.
saveOrUpdateHistory
(
BusinessTypeEnum
.
JG_VEHICLE_GAS_APPLICATION
.
getName
(),
JSON
.
parseArray
(
JSON
.
toJSONString
(
equipmentLists
)),
null
,
vehicleInformation
.
getSequenceNbr
()
+
""
);
return
Collections
.
singletonList
(
vehicleInformation
);
}
public
void
updateHistory
(
JSONObject
map
,
String
equipId
,
String
currentDocumentId
,
String
supervisoryCode
)
{
JgRegistrationHistory
jgRegistrationHistory
=
new
JgRegistrationHistory
();
LambdaQueryWrapper
<
JgRegistrationHistory
>
lambda
=
new
QueryWrapper
<
JgRegistrationHistory
>().
lambda
();
// lambda.eq(JgRegistrationHistory::getEquId, equipId);
lambda
.
eq
(
JgRegistrationHistory:
:
getCurrentDocumentId
,
currentDocumentId
);
lambda
.
eq
(
JgRegistrationHistory:
:
getRegistrationClass
,
"车用气瓶登记"
);
Integer
integer
=
jgRegistrationHistoryService
.
getBaseMapper
().
selectCount
(
lambda
);
if
(
integer
>
0
)
{
jgRegistrationHistory
.
setChangeData
(
JSON
.
toJSONString
(
map
));
jgRegistrationHistoryService
.
update
(
jgRegistrationHistory
,
lambda
);
}
else
{
jgRegistrationHistory
.
setChangeData
(
JSON
.
toJSONString
(
map
));
jgRegistrationHistory
.
setStatus
(
"new"
);
jgRegistrationHistory
.
setRegistrationClass
(
"车用气瓶登记"
);
jgRegistrationHistory
.
setSupervisoryCode
(
supervisoryCode
);
jgRegistrationHistory
.
setEquId
(
equipId
);
jgRegistrationHistory
.
setCurrentDocumentId
(
currentDocumentId
);
jgRegistrationHistoryService
.
save
(
jgRegistrationHistory
);
}
}
private
void
createTaskModel
(
JgVehicleInformation
vehicle
,
String
taskName
,
String
submitType
,
String
nextUserIds
)
{
if
(
"1"
.
equals
(
submitType
))
{
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
taskModelDto
.
setFlowCreateDate
(
vehicle
.
getRegDate
());
taskModelDto
.
setTaskName
(
taskName
);
taskModelDto
.
setTaskCode
(
vehicle
.
getApplyNo
());
taskModelDto
.
setTaskContent
(
this
.
buildTaskContent
(
vehicle
));
taskModelDto
.
setTaskDesc
(
""
);
taskModelDto
.
setTaskType
(
BusinessTypeEnum
.
JG_VEHICLE_GAS_APPLICATION
.
getCode
());
taskModelDto
.
setTaskTypeLabel
(
BusinessTypeEnum
.
JG_VEHICLE_GAS_APPLICATION
.
getName
());
taskModelDto
.
setRelationId
(
vehicle
.
getInstanceId
());
taskModelDto
.
setExecuteUserIds
(
nextUserIds
);
FlowStatusEnum
flowStatusEnum
=
this
.
getTaskStatus
(
submitType
);
taskModelDto
.
setTaskStatus
(
flowStatusEnum
.
getCode
());
taskModelDto
.
setTaskStatusLabel
(
flowStatusEnum
.
getName
());
taskModelDto
.
setFlowStatus
(
this
.
getTaskStatusByName
(
vehicle
.
getStatus
()));
taskModelDto
.
setFlowStatusLabel
(
vehicle
.
getStatus
());
taskModelDto
.
setStartUserId
(
vehicle
.
getCreateUserId
());
taskModelDto
.
setStartUser
(
vehicle
.
getRecUserName
());
taskModelDto
.
setFlowCode
(
vehicle
.
getNextTaskId
());
taskModelDto
.
setStartUserCompanyName
(
vehicle
.
getUseUnitName
());
taskModelDto
.
setNextExecuteUser
(
vehicle
.
getNextExecuteIds
());
taskModelDto
.
setStartDate
(
vehicle
.
getCreateDate
());
TaskMessageDto
taskMessageDto
=
new
TaskMessageDto
();
BeanUtil
.
copyProperties
(
vehicle
,
taskMessageDto
);
taskModelDto
.
setModel
(
taskMessageDto
);
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
// redis流程实时数据更新
commonService
.
saveExecuteFlowData2Redis
(
vehicle
.
getInstanceId
(),
this
.
buildInstanceRuntimeData
(
vehicle
));
}
}
/**
* 摘要构建
*
* @param dto 业务
* @return 摘要
*/
private
String
buildTaskContent
(
JgVehicleInformation
dto
)
{
List
<
Map
<
String
,
Object
>>
list
=
this
.
baseMapper
.
selectEquipList
(
dto
.
getSequenceNbr
());
String
supervisoryCode
=
""
;
String
equList
=
""
;
if
(!
CollectionUtils
.
isEmpty
(
list
))
{
Map
<
String
,
Object
>
map
=
list
.
get
(
0
);
if
(
map
.
containsKey
(
"EQU_LIST"
))
{
equList
=
map
.
get
(
"EQU_LIST"
)
+
""
;
}
if
(
map
.
containsKey
(
"SUPERVISORY_CODE"
))
{
supervisoryCode
=
map
.
get
(
"SUPERVISORY_CODE"
)
+
""
;
}
}
supervisoryCode
=
StringUtils
.
isEmpty
(
supervisoryCode
)
?
"无"
:
supervisoryCode
;
String
format
=
String
.
format
(
"来自%s【%s】等的业务办理,【申请单号:%s】等"
,
equList
,
supervisoryCode
,
dto
.
getApplyNo
());
return
format
;
}
private
FlowStatusEnum
getTaskStatus
(
String
operate
)
{
if
(
"0"
.
equals
(
operate
))
{
return
FlowStatusEnum
.
TO_BE_FINISHED
;
}
else
{
return
FlowStatusEnum
.
REJECTED
;
}
}
private
Integer
getTaskStatusByName
(
String
auditStatus
)
{
return
commonService
.
getDictionaryCodeByName
(
auditStatus
);
}
/**
* 撤回操作
*
* @param instanceId instanceId
* @param _nextTaskId nextTaskId
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
cancel
(
String
instanceId
,
String
_nextTaskId
)
{
String
lockKey
=
CommonServiceImpl
.
buildJgExecuteLockKey
(
instanceId
);
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
try
{
boolean
isLocked
=
lock
.
tryLock
(
0
,
180
,
TimeUnit
.
SECONDS
);
// 解决并发问题:多个人同时操作一个流程(并发执行通过、驳回、撤回)
if
(!
isLocked
)
{
throw
new
BadRequest
(
"当前流程已经被执行!请重新打开页面查看并执行!"
);
}
// 流程执行时,状态及权限校验
commonService
.
checkForRevocationFlow
(
_nextTaskId
,
instanceId
);
LambdaQueryWrapper
<
JgVehicleInformation
>
lambda
=
new
QueryWrapper
<
JgVehicleInformation
>().
lambda
();
lambda
.
eq
(
JgVehicleInformation:
:
getInstanceId
,
instanceId
);
List
<
String
>
roleListNext
=
new
ArrayList
<>();
List
<
String
>
roleListAll
=
new
ArrayList
<>();
JgVehicleInformation
vehicleInfo
=
this
.
getOne
(
lambda
);
ProcessTaskDTO
processTaskDTO
=
workflowService
.
rollBack
(
instanceId
);
String
nextTaskId
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getId
();
this
.
buildRoleList
(
Collections
.
singletonList
(
processTaskDTO
),
roleListNext
,
roleListAll
);
// 待调整
String
taskCode
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getKey
();
if
(!
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
().
equals
(
taskCode
))
{
vehicleInfo
.
setStatus
(
Objects
.
requireNonNull
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
)).
getRollBack
());
}
vehicleInfo
.
setPromoter
(
RequestContext
.
getExeUserId
());
vehicleInfo
.
setNextExecuteIds
(
String
.
join
(
","
,
roleListNext
));
vehicleInfo
.
setNextTaskId
(
nextTaskId
);
List
<
WorkflowResultDto
>
workflowResultDtoList
=
commonService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
));
// 更新下一步可执行人
String
nextUserIds
=
workflowResultDtoList
.
get
(
0
).
getNextExecutorUserIds
();
vehicleInfo
.
setNextExecuteUserIds
(
nextUserIds
);
this
.
updateById
(
vehicleInfo
);
// 删除待办
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
vehicleInfo
));
jsonObject
.
put
(
"nextTaskId"
,
vehicleInfo
.
getNextTaskId
());
jsonObject
.
put
(
"nextExecuteUser"
,
vehicleInfo
.
getNextExecuteIds
());
jsonObject
.
put
(
"taskType"
,
BusinessTypeEnum
.
JG_VEHICLE_GAS_APPLICATION
.
getCode
());
jsonObject
.
put
(
"flowStatus"
,
this
.
getTaskCodeByName
(
vehicleInfo
.
getStatus
()));
jsonObject
.
put
(
"flowStatusLabel"
,
vehicleInfo
.
getStatus
());
jsonObject
.
put
(
"maintenanceContract"
,
null
);
// 不传合同照片附件信息//TODO
commonService
.
rollbackTask
(
instanceId
,
jsonObject
);
// redis流程实时数据更新
commonService
.
saveExecuteFlowData2Redis
(
instanceId
,
this
.
buildInstanceRuntimeData
(
vehicleInfo
));
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
finally
{
if
(
lock
.
isHeldByCurrentThread
())
{
lock
.
unlock
();
}
}
}
public
InstanceRuntimeData
buildInstanceRuntimeData
(
JgVehicleInformation
jgVehicleInformation
)
{
return
InstanceRuntimeData
.
builder
()
.
nextExecuteUserIds
(
jgVehicleInformation
.
getNextExecuteUserIds
())
.
promoter
(
jgVehicleInformation
.
getPromoter
())
.
nextTaskId
(
jgVehicleInformation
.
getNextTaskId
())
.
build
();
}
private
Integer
getTaskCodeByName
(
String
auditStatus
)
{
return
commonService
.
getDictionaryCodeByName
(
auditStatus
);
}
private
void
buildRoleList
(
List
<
ProcessTaskDTO
>
processTasks
,
List
<
String
>
roleListNext
,
List
<
String
>
roleListAll
)
{
processTasks
.
forEach
(
p
->
{
p
.
getNextCandidateGroups
().
values
().
forEach
(
e
->
{
roleListNext
.
addAll
(
e
);
roleListAll
.
addAll
(
e
);
});
roleListAll
.
addAll
(
p
.
getCandidateGroups
());
});
}
/**
* 查看详情
*
* @param sequenceNbr sequenceNbr
* @return JgVehicleInformationModel
*/
public
JgVehicleInformationVo
queryBySequenceNbr
(
Long
sequenceNbr
)
{
JgVehicleInformationVo
vo
=
new
JgVehicleInformationVo
();
JgVehicleInformationDto
dto
=
this
.
baseMapper
.
queryBySequenceNbr
(
sequenceNbr
);
if
(
Objects
.
isNull
(
dto
))
{
return
null
;
}
BeanUtils
.
copyProperties
(
dto
,
vo
);
//接收机构
if
(!
ValidationUtil
.
isEmpty
(
dto
.
getReceiveOrgCode
())
&&
!
ValidationUtil
.
isEmpty
(
dto
.
getReceiveOrgName
()))
{
vo
.
setReceiveOrgCode
(
dto
.
getReceiveCompanyCode
()
+
"_"
+
dto
.
getReceiveOrgName
());
}
//检验机构
if
(!
ValidationUtil
.
isEmpty
(
dto
.
getInspectUnitCreditCode
())
&&
!
ValidationUtil
.
isEmpty
(
dto
.
getInspectUnitName
()))
{
vo
.
setInspectUnitCreditCode
(
dto
.
getInspectUnitCreditCode
()
+
"_"
+
dto
.
getInspectUnitName
());
}
//安装单位
if
(!
ValidationUtil
.
isEmpty
(
dto
.
getInstallUnitCode
())
&&
!
ValidationUtil
.
isEmpty
(
dto
.
getInstallUnitName
()))
{
vo
.
setInstallUnitCode
(
dto
.
getInstallUnitCode
()
+
"_"
+
dto
.
getInstallUnitName
());
}
//所属监管单位
if
(!
ValidationUtil
.
isEmpty
(
dto
.
getOrgBranchCode
())
&&
!
ValidationUtil
.
isEmpty
(
dto
.
getOrgBranchName
()))
{
vo
.
setOrgBranchCode
(
dto
.
getOrgBranchCode
()
+
"_"
+
dto
.
getOrgBranchName
());
}
vo
.
setIdCardFront
(
ObjectUtils
.
isEmpty
(
dto
.
getIdCardFront
())
?
null
:
JSON
.
parseArray
(
dto
.
getIdCardFront
()));
vo
.
setIdCardBack
(
ObjectUtils
.
isEmpty
(
dto
.
getIdCardBack
())
?
null
:
JSON
.
parseArray
(
dto
.
getIdCardBack
()));
vo
.
setDriveLicenseFront
(
ObjectUtils
.
isEmpty
(
dto
.
getDriveLicenseFront
())
?
null
:
JSON
.
parseArray
(
dto
.
getDriveLicenseFront
()));
vo
.
setDriveLicenseBack
(
ObjectUtils
.
isEmpty
(
dto
.
getDriveLicenseBack
())
?
null
:
JSON
.
parseArray
(
dto
.
getDriveLicenseBack
()));
vo
.
setVehicleRegistrationCertificate
(
ObjectUtils
.
isEmpty
(
dto
.
getVehicleRegistrationCertificate
())
?
null
:
JSON
.
parseArray
(
dto
.
getVehicleRegistrationCertificate
()));
vo
.
setInspectionCertificate
(
ObjectUtils
.
isEmpty
(
dto
.
getInspectionCertificate
())
?
null
:
JSON
.
parseArray
(
dto
.
getInspectionCertificate
()));
vo
.
setFilingNotice
(
ObjectUtils
.
isEmpty
(
dto
.
getFilingNotice
())
?
null
:
JSON
.
parseArray
(
dto
.
getFilingNotice
()));
List
<
Map
<
String
,
Object
>>
list
=
this
.
baseMapper
.
selectEquipList
(
sequenceNbr
);
if
(!
ObjectUtils
.
isEmpty
(
list
))
{
vo
.
setEquipmentLists
(
list
);
}
return
vo
;
}
/**
* 执行流程
*
* @param sequenceNbr sequenceNbr
* @param instanceId instanceId
* @param operate 操作
* @param comment 意见
* @param nextTaskId nextTaskId
*/
public
void
flowExecute
(
Long
sequenceNbr
,
String
instanceId
,
String
operate
,
String
comment
,
String
nextTaskId
)
{
String
lockKey
=
CommonServiceImpl
.
buildJgExecuteLockKey
(
instanceId
);
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
try
{
boolean
isLocked
=
lock
.
tryLock
(
0
,
180
,
TimeUnit
.
SECONDS
);
// 解决并发问题:多个人同时操作一个流程(并发执行通过、驳回、撤回)
//if(isLocked){
// throw new BadRequest("当前流程已经被执行!请重新打开页面查看并执行!");
//}
// 流程执行时,状态及权限校验
commonService
.
checkForExecuteFlow
(
nextTaskId
,
instanceId
);
JgVehicleInformation
jgVehicleInformation
=
this
.
getBaseMapper
().
selectById
(
sequenceNbr
);
// 组装信息
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
dto
.
setTaskId
(
jgVehicleInformation
.
getNextTaskId
());
dto
.
setComment
(
comment
);
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
operate
);
if
(
jgVehicleInformation
.
getStatus
().
equals
(
WorkFlowStatusEnum
.
USE_SUBMIT
.
getReject
())
||
jgVehicleInformation
.
getStatus
().
equals
(
WorkFlowStatusEnum
.
USE_SUBMIT
.
getRollBack
()))
{
map
.
put
(
"approvalStatus"
,
"提交"
);
}
dto
.
setVariable
(
map
);
// 接受机构
if
(
"1"
.
equals
(
operate
)
&&
WorkFlowStatusEnum
.
USE_RECEIVE
.
getPass
().
equals
(
jgVehicleInformation
.
getStatus
()))
{
// 驳回到使用单位
dto
.
setNextExecuteUserCompanyCode
(
jgVehicleInformation
.
getUseUnitCreditCode
());
}
else
{
dto
.
setNextExecuteUserCompanyCode
(
jgVehicleInformation
.
getReceiveCompanyCode
());
}
ProcessTaskDTO
complete
=
cmWorkflowService
.
completeOrReject
(
jgVehicleInformation
.
getNextTaskId
(),
dto
,
operate
);
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
);
this
.
updateData
(
jgVehicleInformation
.
getSequenceNbr
(),
operate
,
workflowResultDto
,
Boolean
.
FALSE
);
}
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
finally
{
if
(
lock
.
isHeldByCurrentThread
())
{
lock
.
unlock
();
}
}
}
/**
* 更新数据
*
* @param sequenceNbr sequenceNbr
* @param operate operate
* @param workflowResultDto workflowResultDto
* @param isFirst isFirst
*/
public
void
updateData
(
Long
sequenceNbr
,
String
operate
,
WorkflowResultDto
workflowResultDto
,
Boolean
isFirst
)
{
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
()))
+
""
,
ReginParams
.
class
);
String
role
=
workflowResultDto
.
getNextExecutorRoleIds
();
String
taskCode
=
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
();
if
(!
ObjectUtils
.
isEmpty
(
workflowResultDto
.
getNextTaskCode
()))
{
taskCode
=
workflowResultDto
.
getNextTaskCode
();
}
JgVehicleInformation
jgVehicleInformation
=
this
.
getBaseMapper
().
selectById
(
sequenceNbr
);
jgVehicleInformation
.
setNextTaskId
(
workflowResultDto
.
getNextTaskId
());
jgVehicleInformation
.
setNextExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
commonService
.
deleteTaskModel
(
sequenceNbr
+
""
);
if
(
isFirst
)
{
jgVehicleInformation
.
setInstanceStatus
(
workflowResultDto
.
getExecutorRoleIds
());
jgVehicleInformation
.
setInstanceId
(
workflowResultDto
.
getInstanceId
());
}
//非完成
if
(!
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
().
equals
(
taskCode
))
{
jgVehicleInformation
.
setNextExecuteIds
(
role
);
jgVehicleInformation
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
if
(!
ObjectUtils
.
isEmpty
(
jgVehicleInformation
.
getInstanceStatus
()))
{
jgVehicleInformation
.
setInstanceStatus
(
jgVehicleInformation
.
getInstanceStatus
()
+
","
+
role
);
}
else
{
jgVehicleInformation
.
setInstanceStatus
(
role
);
}
if
(
"0"
.
equals
(
operate
))
{
// 通过操作
jgVehicleInformation
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getPass
());
}
else
{
// 驳回操作
jgVehicleInformation
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getReject
());
jgVehicleInformation
.
setPromoter
(
""
);
}
if
(
isFirst
)
{
this
.
buildTask
(
jgVehicleInformation
,
workflowResultDto
);
}
else
{
// 更新代办状态
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
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
taskModelDto
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
taskModelDto
.
setNextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
());
taskModelDto
.
setFlowCode
(
workflowResultDto
.
getNextTaskId
());
if
(
WorkFlowStatusEnum
.
USE_SUBMIT
.
getCode
().
equals
(
taskCode
)
&&
"1"
.
equals
(
operate
))
{
taskModelDto
.
setPageType
(
"edit"
);
}
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
}
else
{
workflowResultDto
.
setInstanceId
(
jgVehicleInformation
.
getInstanceId
());
buildTask
(
jgVehicleInformation
,
workflowResultDto
);
}
}
}
else
{
// 流程结束
jgVehicleInformation
.
setStatus
(
taskCode
);
jgVehicleInformation
.
setNextExecuteUserIds
(
""
);
// 生成使用登记证编号
String
code
=
this
.
getCode
(
jgVehicleInformation
.
getVehicleApanage
());
jgVehicleInformation
.
setUseRegistrationCode
(
code
);
jgVehicleInformation
.
setAuditPassDate
(
new
Date
());
LambdaQueryWrapper
<
JgRegistrationHistory
>
lambdaSelect
=
new
QueryWrapper
<
JgRegistrationHistory
>().
lambda
();
lambdaSelect
.
eq
(
JgRegistrationHistory:
:
getCurrentDocumentId
,
String
.
valueOf
(
sequenceNbr
));
JgRegistrationHistory
jgRegistrationHistory
=
jgRegistrationHistoryService
.
getBaseMapper
().
selectOne
(
lambdaSelect
);
String
jsonData
=
jgRegistrationHistory
.
getChangeData
();
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
jsonData
);
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++)
{
JSONObject
mapData
=
jsonArray
.
getJSONObject
(
i
);
// 查询注册信息
LambdaQueryWrapper
<
IdxBizJgRegisterInfo
>
queryRegisterWrapper
=
new
QueryWrapper
<
IdxBizJgRegisterInfo
>().
lambda
();
queryRegisterWrapper
.
eq
(
IdxBizJgRegisterInfo:
:
getRecord
,
String
.
valueOf
(
mapData
.
get
(
"record"
)));
IdxBizJgRegisterInfo
registerInfo
=
idxBizJgRegisterInfoMapper
.
selectOne
(
queryRegisterWrapper
);
registerInfo
.
setUseOrgCode
(
code
);
// 更新注册登记信息表
LambdaUpdateWrapper
<
IdxBizJgRegisterInfo
>
updateRegisterWrapper
=
new
UpdateWrapper
<
IdxBizJgRegisterInfo
>().
lambda
();
updateRegisterWrapper
.
eq
(
IdxBizJgRegisterInfo:
:
getRecord
,
registerInfo
.
getRecord
());
updateRegisterWrapper
.
set
(
true
,
IdxBizJgRegisterInfo:
:
getUseOrgCode
,
code
);
updateRegisterWrapper
.
set
(
IdxBizJgRegisterInfo:
:
getRegisterState
,
this
.
getRegCode
());
idxBizJgRegisterInfoService
.
update
(
updateRegisterWrapper
);
// 更新设备信息
this
.
updateEquipMessage
(
jgVehicleInformation
,
mapData
);
// 使用信息
LambdaQueryWrapper
<
IdxBizJgUseInfo
>
lambdaUseInfo
=
new
QueryWrapper
<
IdxBizJgUseInfo
>().
lambda
();
lambdaUseInfo
.
eq
(
IdxBizJgUseInfo:
:
getRecord
,
String
.
valueOf
(
mapData
.
get
(
"record"
)));
IdxBizJgUseInfo
useInfo
=
useInfoMapper
.
selectOne
(
lambdaUseInfo
);
String
usePlace
=
useInfo
.
getProvinceName
()
+
"/"
+
useInfo
.
getCityName
()
+
"/"
+
useInfo
.
getCountyName
()
+
useInfo
.
getStreetName
();
// 更新es
updateEsData
(
usePlace
,
mapData
,
jgVehicleInformation
);
}
// 更新代办状态
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"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
());
params
.
put
(
"taskStatusLabel"
,
FlowStatusEnum
.
TO_BE_FINISHED
.
getName
());
TaskMessageDto
taskMessageDto
=
new
TaskMessageDto
();
BeanUtil
.
copyProperties
(
jgVehicleInformation
,
taskMessageDto
);
params
.
put
(
"model"
,
taskMessageDto
);
commonService
.
updateTaskModel
(
params
);
}
commonService
.
saveExecuteFlowData2Redis
(
jgVehicleInformation
.
getInstanceId
(),
this
.
buildInstanceRuntimeData
(
jgVehicleInformation
));
this
.
getBaseMapper
().
updateById
(
jgVehicleInformation
);
}
public
void
updateEsData
(
String
usePlace
,
JSONObject
dataMap
,
JgVehicleInformation
jgVehicleInformation
)
{
// 更新es
HashMap
<
String
,
Map
<
String
,
Object
>>
objMap
=
new
HashMap
<>();
HashMap
<
String
,
Object
>
param
=
new
HashMap
<>();
param
.
put
(
"USE_UNIT_CREDIT_CODE"
,
dataMap
.
get
(
"useUnitCreditCode"
));
param
.
put
(
"USE_UNIT_NAME"
,
dataMap
.
get
(
"useUnitName"
));
param
.
put
(
"ADDRESS"
,
dataMap
.
getOrDefault
(
"address"
,
""
));
param
.
put
(
"USE_PLACE"
,
usePlace
);
param
.
put
(
"STATUS"
,
"已认领"
);
param
.
put
(
"EQU_STATE"
,
1
);
param
.
put
(
"ORG_BRANCH_CODE"
,
jgVehicleInformation
.
getOrgBranchCode
());
param
.
put
(
"ORG_BRANCH_NAME"
,
jgVehicleInformation
.
getOrgBranchName
());
param
.
put
(
"USE_ORG_CODE"
,
jgVehicleInformation
.
getUseRegistrationCode
());
objMap
.
put
((
String
)
dataMap
.
get
(
"record"
),
param
);
tzsServiceFeignClient
.
commonUpdateEsDataByIds
(
objMap
);
}
public
void
buildTask
(
JgVehicleInformation
jgVehicleInformation
,
WorkflowResultDto
workflowResultDto
)
{
// 代办消息
ArrayList
<
TaskModelDto
>
list
=
new
ArrayList
<>();
TaskModelDto
dto
=
new
TaskModelDto
();
dto
.
setTaskType
(
String
.
valueOf
(
BusinessTypeEnum
.
JG_VEHICLE_GAS_APPLICATION
.
getCode
()));
dto
.
setTaskTypeLabel
(
BusinessTypeEnum
.
JG_VEHICLE_GAS_APPLICATION
.
getName
());
dto
.
setFlowCreateDate
(
jgVehicleInformation
.
getCreateDate
());
dto
.
setTaskName
(
workflowResultDto
.
getNextTaskName
());
//
dto
.
setTaskCode
(
workflowResultDto
.
getNextTaskCode
());
dto
.
setRelationId
(
workflowResultDto
.
getInstanceId
());
dto
.
setExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
dto
.
setTaskStatus
(
commonService
.
getDictionaryCodeByName
(
WorkFlowStatusEnum
.
getMessage
(
workflowResultDto
.
getNextTaskCode
()).
getPass
()));
dto
.
setTaskStatusLabel
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getName
());
dto
.
setFlowStatus
(
commonService
.
getDictionaryCodeByName
(
jgVehicleInformation
.
getStatus
()));
dto
.
setFlowStatusLabel
(
jgVehicleInformation
.
getStatus
());
dto
.
setStartUserId
(
jgVehicleInformation
.
getCreateUserId
());
dto
.
setStartUser
(
jgVehicleInformation
.
getRecUserName
());
dto
.
setStartUserCompanyName
(
jgVehicleInformation
.
getUseUnitName
());
dto
.
setStartDate
(
new
Date
());
jgVehicleInformation
.
setInstanceId
(
workflowResultDto
.
getInstanceId
());
// 设备信息
jgVehicleInformation
.
setNextExecuteIds
(
workflowResultDto
.
getNextExecutorRoleIds
());
TaskMessageDto
taskMessageDto
=
new
TaskMessageDto
();
BeanUtil
.
copyProperties
(
jgVehicleInformation
,
taskMessageDto
);
dto
.
setModel
(
taskMessageDto
);
dto
.
setNextExecuteUser
(
workflowResultDto
.
getNextExecutorRoleIds
());
dto
.
setTaskContent
(
"来自车用气瓶【"
+
jgVehicleInformation
.
getCarNumber
()
+
"】的登记业务办理,"
+
"【申请单号:"
+
jgVehicleInformation
.
getApplyNo
()
+
"】"
);
dto
.
setFlowCode
(
jgVehicleInformation
.
getNextTaskId
());
list
.
add
(
dto
);
commonService
.
buildTaskModel
(
list
);
}
/**
* 批量删除
*
* @param ids ids
*/
public
void
deleteBatch
(
List
<
Long
>
ids
)
{
JgVehicleInformation
jgVehicleInformation
=
new
JgVehicleInformation
();
jgVehicleInformation
.
setIsDelete
(
true
);
LambdaQueryWrapper
<
JgVehicleInformation
>
lambda
=
new
QueryWrapper
<
JgVehicleInformation
>().
lambda
();
lambda
.
in
(
JgVehicleInformation:
:
getSequenceNbr
,
ids
);
// 删除暂存的待办
ids
.
forEach
(
id
->
commonService
.
deleteTaskModel
(
String
.
valueOf
(
id
)));
this
.
update
(
jgVehicleInformation
,
lambda
);
}
public
Page
<
Map
<
String
,
Object
>>
getPageList
(
JgVehicleInformationDto
dto
,
Page
<
Map
<
String
,
Object
>>
page
,
List
<
String
>
roleIds
)
{
return
this
.
baseMapper
.
getListPage
(
page
,
dto
,
roleIds
);
}
public
void
updateEquipMessage
(
JgVehicleInformation
jgVehicleInformation
,
JSONObject
map
)
{
String
useOrgCode
=
jgVehicleInformation
.
getUseRegistrationCode
();
map
.
remove
(
"status"
);
map
.
remove
(
"instanceId"
);
map
.
remove
(
"REC_DATE"
);
IdxBizJgUseInfo
useInfo
=
new
IdxBizJgUseInfo
();
BeanUtil
.
copyProperties
(
map
,
useInfo
);
if
(
map
.
containsKey
(
"isXixian"
))
{
useInfo
.
setIsNotXiXian
(
map
.
get
(
"isXixian"
)
+
""
);
}
useInfo
.
setProvince
(
"610000"
);
useInfo
.
setProvinceName
(
"陕西省"
);
LambdaQueryWrapper
<
IdxBizJgUseInfo
>
lambda
=
new
QueryWrapper
<
IdxBizJgUseInfo
>().
lambda
();
lambda
.
eq
(
IdxBizJgUseInfo:
:
getRecord
,
map
.
get
(
"record"
));
// 修改设备使用状态为在用
useInfo
.
setEquState
(
String
.
valueOf
(
EquimentEnum
.
ZAIYONG
.
getCode
()));
// 更新使用信息
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
(
"record"
));
// 更新检验检测信息
inspectionDetectionInfo
.
setInspectReport
(
jgVehicleInformation
.
getInspectionCertificate
());
inspectionDetectionInfo
.
setInspectOrgName
(
jgVehicleInformation
.
getInspectUnitName
());
inspectionDetectionInfo
.
setInspectOrgCode
(
jgVehicleInformation
.
getInspectUnitCreditCode
());
inspectionDetectionInfo
.
setNextInspectDate
(
jgVehicleInformation
.
getNextInspectionDate
());
inspectionDetectionInfoMapper
.
update
(
inspectionDetectionInfo
,
inspectionLambda
);
// 更新设备监管部门
IdxBizJgSupervisionInfo
idxBizJgSupervisionInfo
=
new
IdxBizJgSupervisionInfo
();
if
(
map
.
containsKey
(
"orgBranchCode"
)
&&
!
ObjectUtils
.
isEmpty
(
map
.
get
(
"orgBranchCode"
)))
{
String
[]
data
=
String
.
valueOf
(
map
.
getString
(
"orgBranchCode"
)).
split
(
"_"
);
List
<
LinkedHashMap
>
tree
=
commonService
.
getCreatTree
();
String
orgCode
=
this
.
recursiveMatching
(
tree
,
data
[
0
]);
idxBizJgSupervisionInfo
.
setOrgBranchCode
(
orgCode
);
idxBizJgSupervisionInfo
.
setOrgBranchName
(
data
[
1
]);
idxBizJgSupervisionInfo
.
setCompanyOrgBranchCode
(
data
[
0
]);
LambdaQueryWrapper
<
IdxBizJgSupervisionInfo
>
eq
=
new
QueryWrapper
<
IdxBizJgSupervisionInfo
>().
lambda
().
eq
(
IdxBizJgSupervisionInfo:
:
getRecord
,
map
.
get
(
"record"
));
idxBizJgSupervisionInfoMapper
.
update
(
idxBizJgSupervisionInfo
,
eq
);
}
// 更新设备使用登记证
idxBizJgRegisterInfoMapper
.
updateUseOrgCodeByEquip
(
String
.
valueOf
(
map
.
get
(
"record"
)),
useOrgCode
);
}
/**
* 递归属地监管部门树匹配监管部门
*
* @param tree 监管树
* @param orgBranchCode 监管部门companyCode
* @return 监管部门orgCode
*/
public
String
recursiveMatching
(
List
<
LinkedHashMap
>
tree
,
String
orgBranchCode
)
{
if
(
tree
!=
null
)
{
for
(
LinkedHashMap
map
:
tree
)
{
if
(
orgBranchCode
.
equals
(
map
.
get
(
"companyCode"
)))
{
return
(
String
)
map
.
get
(
"orgCode"
);
}
if
(
map
.
containsKey
(
"children"
)
&&
map
.
get
(
"children"
)
instanceof
List
)
{
String
result
=
recursiveMatching
((
List
<
LinkedHashMap
>)
map
.
get
(
"children"
),
orgBranchCode
);
if
(!
""
.
equals
(
result
))
{
return
result
;
}
}
}
}
return
""
;
}
/**
* 获取类型为ZC的“已注册”的字典值
*
* @return code
*/
private
String
getRegCode
()
{
QueryWrapper
<
DataDictionary
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"type"
,
"ZC"
);
queryWrapper
.
eq
(
"name"
,
"已注册"
);
queryWrapper
.
eq
(
"is_delete"
,
false
);
List
<
DataDictionary
>
list
=
iDataDictionaryService
.
list
(
queryWrapper
);
if
(!
list
.
isEmpty
()
&&
list
.
get
(
0
)
!=
null
)
{
DataDictionary
dictionary
=
list
.
get
(
0
);
return
Optional
.
ofNullable
(
dictionary
).
map
(
DataDictionary:
:
getCode
).
orElse
(
""
);
}
return
""
;
}
/**
* @param vehicleApa 车辆属地
* @return String
* @deprecated 根据车辆属地生成使用登记证
*/
public
String
getCode
(
String
vehicleApa
)
{
StringBuilder
useRegistration
=
new
StringBuilder
(
"容3T"
);
if
(!
ObjectUtils
.
isEmpty
(
vehicleApa
))
{
ResponseModel
<
String
>
stringResponseModel
=
tzsServiceFeignClient
.
useRegistrationCode
(
useRegistration
.
append
(
VehicleApanageEnum
.
of
(
vehicleApa
))
+
""
);
return
stringResponseModel
.
getResult
();
}
return
null
;
}
/**
* 打印车用气瓶登记证
*
* @param response response
* @param sequenceNbr 主键
* @param printType 打印类型
*/
public
void
exportVehicleUseRegistrationCertificate
(
String
sequenceNbr
,
HttpServletResponse
response
,
String
printType
)
{
Map
<
String
,
Object
>
exportParamsMap
=
new
HashMap
<>();
JgVehicleInformation
vehicleInformation
=
this
.
getById
(
sequenceNbr
);
if
(
Stream
.
of
(
vehicleInformation
)
.
map
(
JgVehicleInformation:
:
getReceiveOrgName
)
.
anyMatch
(
Objects:
:
isNull
)
||
Stream
.
of
(
vehicleInformation
.
getUseRegistrationCode
(),
vehicleInformation
.
getUseUnitName
(),
vehicleInformation
.
getUseUnitAddress
())
.
anyMatch
(
Objects:
:
isNull
))
{
throw
new
BadRequest
(
"使用登记证导出失败,请稍后重试或检查数据完整性!"
);
}
exportParamsMap
.
put
(
"receiveOrgName"
,
vehicleInformation
.
getReceiveOrgName
());
exportParamsMap
.
put
(
"useRegistrationCode"
,
vehicleInformation
.
getUseRegistrationCode
());
exportParamsMap
.
put
(
"useUnitName"
,
vehicleInformation
.
getUseUnitName
());
exportParamsMap
.
put
(
"fullAddress"
,
vehicleInformation
.
getUseUnitAddress
());
exportParamsMap
.
put
(
"equDefineCode"
,
"23T0"
);
getAuditPassedDate
(
vehicleInformation
.
getAuditPassDate
(),
exportParamsMap
);
List
<
JgVehicleInformationEq
>
vehicleInformationEqList
=
jgVehicleInformationEqMapper
.
selectList
(
new
QueryWrapper
<
JgVehicleInformationEq
>().
lambda
().
eq
(
JgVehicleInformationEq:
:
getVehicleId
,
sequenceNbr
));
if
(
vehicleInformationEqList
.
isEmpty
())
{
throw
new
BadRequest
(
"使用登记证导出失败,请稍后重试或检查数据完整性!"
);
}
IdxBizJgRegisterInfo
registerInfo
=
idxBizJgRegisterInfoService
.
getOne
(
new
QueryWrapper
<
IdxBizJgRegisterInfo
>().
eq
(
"RECORD"
,
vehicleInformationEqList
.
get
(
0
).
getEquId
()));
if
(
registerInfo
!=
null
)
{
populateEquipmentInformation
(
registerInfo
,
exportParamsMap
);
}
IdxBizJgUseInfo
useInfo
=
idxBizJgUseInfoService
.
getOneData
(
vehicleInformationEqList
.
get
(
0
).
getEquId
());
if
(
useInfo
!=
null
&&
useInfo
.
getUseInnerCode
()
!=
null
)
{
exportParamsMap
.
put
(
"useInnerCode"
,
useInfo
.
getUseInnerCode
());
}
List
<
IdxBizJgFactoryInfo
>
factoryInfoList
=
idxBizJgFactoryInfoMapper
.
selectList
(
new
QueryWrapper
<
IdxBizJgFactoryInfo
>().
in
(
"RECORD"
,
vehicleInformationEqList
.
stream
()
.
map
(
JgVehicleInformationEq:
:
getEquId
)
.
filter
(
Objects:
:
nonNull
)
.
collect
(
Collectors
.
toList
())));
if
(!
ValidationUtil
.
isEmpty
(
factoryInfoList
))
{
exportParamsMap
.
put
(
"factoryNum"
,
factoryInfoList
.
stream
()
.
map
(
IdxBizJgFactoryInfo:
:
getFactoryNum
)
.
filter
(
Objects:
:
nonNull
)
.
collect
(
Collectors
.
joining
(
", "
)));
}
exportParamsMap
.
put
(
"applyNo"
,
vehicleInformation
.
getApplyNo
());
this
.
generateReport
(
vehicleInformation
,
printType
,
exportParamsMap
,
response
);
}
private
void
generateReport
(
JgVehicleInformation
vehicleInformation
,
String
printType
,
Map
<
String
,
Object
>
exportParamsMap
,
HttpServletResponse
response
)
{
switch
(
printType
)
{
case
"0"
:
commonService
.
generateCertificateReport
(
exportParamsMap
,
response
);
break
;
case
"1"
:
commonService
.
generatePdfPrint
(
exportParamsMap
,
response
);
break
;
case
"2"
:
commonService
.
useFlagGenerate
(
buildUseFlagParam
(
vehicleInformation
,
exportParamsMap
),
response
);
break
;
case
"3"
:
commonService
.
fightUseFlagGenerate
(
buildUseFlagParam
(
vehicleInformation
,
exportParamsMap
),
response
);
break
;
default
:
throw
new
BadRequest
(
"Invalid print type"
);
}
}
private
void
populateEquipmentInformation
(
IdxBizJgRegisterInfo
registerInfo
,
Map
<
String
,
Object
>
exportParamsMap
)
{
String
equList
=
registerInfo
.
getEquList
();
String
equCategory
=
registerInfo
.
getEquCategory
();
String
equDefine
=
registerInfo
.
getEquDefine
();
List
<
EquipmentCategory
>
categoryList0
=
commonService
.
getEquipmentCategoryList
(
equList
,
null
);
List
<
EquipmentCategory
>
categoryList1
=
commonService
.
getEquipmentCategoryList
(
equCategory
,
null
);
List
<
EquipmentCategory
>
categoryList2
=
commonService
.
getEquipmentCategoryList
(
equDefine
,
null
);
if
(
notEmptyAndHasName
(
categoryList0
))
{
exportParamsMap
.
put
(
"equList"
,
categoryList0
.
get
(
0
).
getName
());
}
if
(
notEmptyAndHasName
(
categoryList1
))
{
exportParamsMap
.
put
(
"equCategory"
,
categoryList1
.
get
(
0
).
getName
());
}
if
(
notEmptyAndHasName
(
categoryList2
))
{
exportParamsMap
.
put
(
"equDefine"
,
categoryList2
.
get
(
0
).
getName
());
}
if
(
registerInfo
.
getEquCode
()
==
null
)
{
throw
new
BadRequest
(
"使用登记证导出失败,设备代码为空!"
);
}
exportParamsMap
.
put
(
"equCode"
,
registerInfo
.
getEquCode
());
exportParamsMap
.
put
(
"equListCode"
,
equList
);
}
private
boolean
notEmptyAndHasName
(
List
<
EquipmentCategory
>
categoryList
)
{
return
!
categoryList
.
isEmpty
()
&&
categoryList
.
get
(
0
).
getName
()
!=
null
;
}
private
UseFlagParamDto
buildUseFlagParam
(
JgVehicleInformation
vehicleInformation
,
Map
<
String
,
Object
>
exportParamsMap
)
{
UseFlagParamDto
useFlagParamDto
=
new
UseFlagParamDto
();
useFlagParamDto
.
setEquList
(
exportParamsMap
.
get
(
"equList"
)
+
""
);
useFlagParamDto
.
setEquListCode
(
"0000"
);
useFlagParamDto
.
setEquipCode
(
exportParamsMap
.
get
(
"equCode"
)
+
""
);
useFlagParamDto
.
setEquipDefine
(
exportParamsMap
.
get
(
"equDefine"
)
==
null
?
""
:
exportParamsMap
.
get
(
"equDefine"
)
+
""
);
useFlagParamDto
.
setEquipCategory
(
exportParamsMap
.
get
(
"equCategory"
)
+
""
);
useFlagParamDto
.
setUseUnitName
(
exportParamsMap
.
get
(
"useUnitName"
)
+
""
);
useFlagParamDto
.
setUseInnerCode
(
exportParamsMap
.
get
(
"useInnerCode"
)
+
""
);
useFlagParamDto
.
setReceiveOrgName
(
vehicleInformation
.
getReceiveOrgName
());
useFlagParamDto
.
setReceiveCompanyCode
(
vehicleInformation
.
getReceiveCompanyCode
());
useFlagParamDto
.
setNextInspectionDate
(
vehicleInformation
.
getNextInspectionDate
());
useFlagParamDto
.
setUseRegistrationCode
(
exportParamsMap
.
get
(
"useRegistrationCode"
)
+
""
);
useFlagParamDto
.
setCarNumber
(
vehicleInformation
.
getCarNumber
());
useFlagParamDto
.
setFactoryNumber
(
exportParamsMap
.
get
(
"factoryNum"
)
+
""
);
useFlagParamDto
.
setCylinderNumOrVolume
(
vehicleInformation
.
getGasNum
()
+
"/"
+
vehicleInformation
.
getVolume
());
useFlagParamDto
.
setFillingMedium
(
Systemctl
.
dictionarieClient
.
value
(
"FILLING_MEDIUM"
,
vehicleInformation
.
getFillingMedium
()).
getResult
().
getDictDataValue
());
useFlagParamDto
.
setApplyNo
(
vehicleInformation
.
getApplyNo
());
useFlagParamDto
.
setInspectionUnitName
(
vehicleInformation
.
getInspectUnitName
());
return
useFlagParamDto
;
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/resources/json/urlInfo.json
View file @
7af328ce
...
...
@@ -268,5 +268,23 @@
"pageType"
:
"edit"
,
"name"
:
"报废注销"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1737357871097606146&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type"
:
"118"
,
"pageType"
:
"draft"
,
"name"
:
"车用气瓶登记"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1770004458848153602&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type"
:
"118"
,
"pageType"
:
"edit"
,
"name"
:
"车用气瓶登记"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1770004458848153602&roleIds={roleIds}&userId={userId}&pageType=edit"
},
{
"type"
:
"118"
,
"pageType"
:
"look"
,
"name"
:
"车用气瓶登记"
,
"url"
:
"/mixuap?appId=1742358052905971713&id=1770004751216308226&roleIds={roleIds}&userId={userId}&pageType=look"
}
]
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/resources/templates/equipment-registration-certificate-report.ftl
View file @
7af328ce
...
...
@@ -700,11 +700,7 @@
<w:sz-cs
w:val=
"24"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"ZH-CN"
/>
</w:rPr>
<
#if equDefineCode??
&&
equDefineCode == '23T0'>
<w:t>
${(useUnitAddress)!''}
</w:t>
<
#else>
<w:t>
${(fullAddress)!''}
</w:t>
<
/#if>
</w:r>
</w:p>
</w:txbxContent>
...
...
@@ -1024,7 +1020,7 @@
<w:sz-cs
w:val=
"36"
/>
<w:lang
w:val=
"EN-US"
w:fareast=
"EN-US"
w:bidi=
"AR-SA"
/>
</w:rPr>
<
#if equDefineCode??
&&
equDefineCode == '23T0'>
<
#if equDefineCode??
&&
equDefineCode == '23T0'
|| equDefineCode == '2200'
>
<w:t>
使用单位地址:
</w:t>
<
#else>
<w:t>
设备使用地点:
</w:t>
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