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
8e80c12a
Commit
8e80c12a
authored
Jul 05, 2024
by
suhuiguang
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop_tzs_register_to_0715' of…
Merge branch 'develop_tzs_register_to_0715' of
http://36.40.66.175:5000/moa/amos-boot-biz
into develop_tzs_register_to_0715
parents
ed60cacd
e420cc1a
Show whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
789 additions
and
224 deletions
+789
-224
JgCertificateChangeRecordDto.java
.../boot/module/jg/api/dto/JgCertificateChangeRecordDto.java
+8
-0
JgCertificateChangeRecordEqDto.java
...oot/module/jg/api/dto/JgCertificateChangeRecordEqDto.java
+32
-0
JgChangeRegistrationUnitDto.java
...s/boot/module/jg/api/dto/JgChangeRegistrationUnitDto.java
+17
-1
JgChangeRegistrationUnitEqDto.java
...boot/module/jg/api/dto/JgChangeRegistrationUnitEqDto.java
+8
-2
JgUseRegistrationManageDto.java
...os/boot/module/jg/api/dto/JgUseRegistrationManageDto.java
+6
-3
JgCertificateChangeRecord.java
.../boot/module/jg/api/entity/JgCertificateChangeRecord.java
+18
-0
JgCertificateChangeRecordEq.java
...oot/module/jg/api/entity/JgCertificateChangeRecordEq.java
+42
-0
JgChangeRegistrationUnit.java
...s/boot/module/jg/api/entity/JgChangeRegistrationUnit.java
+19
-1
JgChangeRegistrationUnitEq.java
...boot/module/jg/api/entity/JgChangeRegistrationUnitEq.java
+12
-0
JgUseRegistrationManage.java
...os/boot/module/jg/api/entity/JgUseRegistrationManage.java
+6
-0
JgCertificateChangeRecordEqMapper.java
...dule/jg/api/mapper/JgCertificateChangeRecordEqMapper.java
+14
-0
IJgCertificateChangeRecordEqService.java
...e/jg/api/service/IJgCertificateChangeRecordEqService.java
+9
-0
IJgChangeRegistrationUnitService.java
...dule/jg/api/service/IJgChangeRegistrationUnitService.java
+1
-1
JgCertificateChangeRecordEqMapper.xml
...in/resources/mapper/JgCertificateChangeRecordEqMapper.xml
+5
-0
JgChangeRegistrationUnitMapper.xml
.../main/resources/mapper/JgChangeRegistrationUnitMapper.xml
+2
-55
JgUseRegistrationManageMapper.xml
...c/main/resources/mapper/JgUseRegistrationManageMapper.xml
+6
-1
JgCertificateChangeRecordEqController.java
...biz/controller/JgCertificateChangeRecordEqController.java
+115
-0
JgUseRegistrationManageController.java
.../jg/biz/controller/JgUseRegistrationManageController.java
+25
-0
JgCertificateChangeRecordEqServiceImpl.java
.../service/impl/JgCertificateChangeRecordEqServiceImpl.java
+34
-0
JgChangeRegistrationUnitServiceImpl.java
...biz/service/impl/JgChangeRegistrationUnitServiceImpl.java
+350
-158
JgUseRegistrationManageServiceImpl.java
.../biz/service/impl/JgUseRegistrationManageServiceImpl.java
+52
-0
JgUseRegistrationServiceImpl.java
...ule/jg/biz/service/impl/JgUseRegistrationServiceImpl.java
+6
-0
superviseBusinessCategory.json
...iz/src/main/resources/json/superviseBusinessCategory.json
+2
-2
No files found.
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/JgCertificateChangeRecordDto.java
View file @
8e80c12a
...
...
@@ -54,4 +54,12 @@ public class JgCertificateChangeRecordDto extends BaseModel {
@ApiModelProperty
(
value
=
"登记证书唯一码"
)
private
String
certificateNo
;
@ApiModelProperty
(
value
=
"使用单位统一信用代码"
)
private
String
useUnitCreditCode
;
@ApiModelProperty
(
value
=
"使用单位名称"
)
private
String
useUnitName
;
@ApiModelProperty
(
value
=
"设备类别"
)
private
String
equCategory
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/JgCertificateChangeRecordEqDto.java
0 → 100644
View file @
8e80c12a
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
;
/**
*
*
* @author system_generator
* @date 2024-07-05
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"JgCertificateChangeRecordEqDto"
,
description
=
""
)
public
class
JgCertificateChangeRecordEqDto
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"变更记录ID"
)
private
String
changeRecordId
;
@ApiModelProperty
(
value
=
"设备ID"
)
private
String
equId
;
@ApiModelProperty
(
value
=
"产品编号"
)
private
String
productCode
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/JgChangeRegistrationUnitDto.java
View file @
8e80c12a
...
...
@@ -117,6 +117,10 @@ public class JgChangeRegistrationUnitDto extends BaseDto {
@ApiModelProperty
(
value
=
"告知设备列表"
)
private
List
<
Map
<
String
,
Object
>>
deviceList
;
@TableField
(
exist
=
false
)
@ApiModelProperty
(
value
=
"使用登记证列表"
)
private
List
<
Map
<
String
,
Object
>>
registrationList
;
@ApiModelProperty
(
value
=
"设备类别"
)
private
String
equType
;
...
...
@@ -146,7 +150,7 @@ public class JgChangeRegistrationUnitDto extends BaseDto {
@ApiModelProperty
(
value
=
"监管码"
)
private
String
supervisoryCode
;
@ApiModelProperty
(
value
=
"
分
类"
)
@ApiModelProperty
(
value
=
"
设备种
类"
)
private
String
equList
;
@ApiModelProperty
(
value
=
"设备类别"
)
...
...
@@ -169,4 +173,16 @@ public class JgChangeRegistrationUnitDto extends BaseDto {
@ApiModelProperty
(
value
=
"公司类型"
)
private
String
companyType
;
@ApiModelProperty
(
value
=
"经办人"
)
private
String
agent
;
@ApiModelProperty
(
value
=
"经办人联系电话"
)
private
String
agentPhone
;
@ApiModelProperty
(
value
=
"设备种类编码"
)
private
String
equListCode
;
@ApiModelProperty
(
value
=
"接收机构公司的org_code"
)
private
String
receiveCompanyOrgCode
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/JgChangeRegistrationUnitEqDto.java
View file @
8e80c12a
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
com.yeejoin.amos.boot.biz.common.dto.BaseDto
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.Date
;
/**
...
...
@@ -15,11 +16,16 @@ import java.util.Date;
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@ApiModel
(
value
=
"JgChangeRegistrationUnitEqDto"
,
description
=
"单位变更登记设备关系表"
)
@ApiModel
(
value
=
"JgChangeRegistrationUnitEqDto"
,
description
=
"单位变更登记设备关系表"
)
public
class
JgChangeRegistrationUnitEqDto
extends
BaseDto
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
value
=
"使用登记证"
)
private
String
registrationCertificate
;
@ApiModelProperty
(
value
=
"设备信息json"
)
private
String
deviceInfo
;
@ApiModelProperty
(
value
=
"单位变更登记申请id"
)
private
String
unitChangeRegistrationId
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/JgUseRegistrationManageDto.java
View file @
8e80c12a
...
...
@@ -29,7 +29,7 @@ public class JgUseRegistrationManageDto extends BaseDto {
@ApiModelProperty
(
value
=
"使用登记证状态(已登记,已注销)"
)
private
String
certificateStatus
;
@ApiModelProperty
(
value
=
"接收机构"
)
@ApiModelProperty
(
value
=
"接收机构
/登记机关
"
)
private
String
receiveOrgName
;
@ApiModelProperty
(
value
=
"办理日期"
)
...
...
@@ -68,7 +68,7 @@ public class JgUseRegistrationManageDto extends BaseDto {
@ApiModelProperty
(
value
=
"创建时间"
)
private
String
createDate
;
@ApiModelProperty
(
value
=
"使用登记编号"
)
@ApiModelProperty
(
value
=
"使用登记
证
编号"
)
private
String
useRegistrationCode
;
@ApiModelProperty
(
value
=
"使用单位统一信用代码"
)
...
...
@@ -77,7 +77,7 @@ public class JgUseRegistrationManageDto extends BaseDto {
@ApiModelProperty
(
value
=
"接收机构公司代码"
)
private
String
receiveCompanyCode
;
@ApiModelProperty
(
value
=
"登记证书编号"
)
@ApiModelProperty
(
value
=
"登记证书编号
/登记证书唯一码
"
)
private
String
certificateNo
;
@ApiModelProperty
(
value
=
"数据类型:监管/行政审批局,企业"
)
...
...
@@ -86,6 +86,9 @@ public class JgUseRegistrationManageDto extends BaseDto {
@ApiModelProperty
(
value
=
"设备使用地址"
)
private
String
equUseAddress
;
@ApiModelProperty
(
value
=
"使用单位地址"
)
private
String
useUnitAddress
;
@ApiModelProperty
(
value
=
"使用单位统一信用代码-搜索使用"
)
private
String
useUnitCreditCodeForSearch
;
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgCertificateChangeRecord.java
View file @
8e80c12a
...
...
@@ -88,4 +88,22 @@ public class JgCertificateChangeRecord extends BaseEntity {
@TableField
(
"certificate_no"
)
private
String
certificateNo
;
/**
* 使用单位统一信用代码
*/
@TableField
(
"use_unit_credit_code"
)
private
String
useUnitCreditCode
;
/**
* 使用单位名称
*/
@TableField
(
"use_unit_name"
)
private
String
useUnitName
;
/**
* 设备类别
*/
@TableField
(
"EQU_CATEGORY"
)
private
String
equCategory
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgCertificateChangeRecordEq.java
0 → 100644
View file @
8e80c12a
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
entity
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
/**
*
*
* @author system_generator
* @date 2024-07-05
*/
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"tzs_jg_certificate_change_record_eq"
)
public
class
JgCertificateChangeRecordEq
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 变更记录ID
*/
@TableField
(
"change_record_id"
)
private
String
changeRecordId
;
/**
* 设备ID
*/
@TableField
(
"equ_id"
)
private
String
equId
;
/**
* 产品编号
*/
@TableField
(
"product_code"
)
private
String
productCode
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgChangeRegistrationUnit.java
View file @
8e80c12a
...
...
@@ -231,7 +231,7 @@ public class JgChangeRegistrationUnit extends BaseEntity {
@TableField
(
exist
=
false
)
private
String
code96333
;
@TableField
(
exist
=
false
)
@TableField
(
value
=
"equ_list"
)
private
String
equList
;
/**
...
...
@@ -266,4 +266,22 @@ public class JgChangeRegistrationUnit extends BaseEntity {
*/
@TableField
(
"receive_company_org_code"
)
private
String
receiveCompanyOrgCode
;
/**
* 经办人
*/
@TableField
(
"agent"
)
private
String
agent
;
/**
* 经办人联系电话
*/
@TableField
(
"agent_phone"
)
private
String
agentPhone
;
/**
* 设备种类编码
*/
@TableField
(
"equ_list_code"
)
private
String
equListCode
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgChangeRegistrationUnitEq.java
View file @
8e80c12a
...
...
@@ -23,6 +23,18 @@ public class JgChangeRegistrationUnitEq extends BaseEntity {
private
static
final
long
serialVersionUID
=
1L
;
/**
* 使用登记证
*/
@TableField
(
"registration_certificate"
)
private
String
registrationCertificate
;
/**
* 设备信息json
*/
@TableField
(
"device_info"
)
private
String
deviceInfo
;
/**
* 单位变更登记申请id
*/
@TableField
(
"unit_change_registration_id"
)
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgUseRegistrationManage.java
View file @
8e80c12a
...
...
@@ -150,4 +150,10 @@ public class JgUseRegistrationManage extends BaseEntity {
@TableField
(
"equ_use_address"
)
private
String
equUseAddress
;
/**
* 设备使用地址
*/
@TableField
(
"use_unit_address"
)
private
String
useUnitAddress
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/mapper/JgCertificateChangeRecordEqMapper.java
0 → 100644
View file @
8e80c12a
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
mapper
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgCertificateChangeRecordEq
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
/**
* Mapper 接口
*
* @author system_generator
* @date 2024-07-05
*/
public
interface
JgCertificateChangeRecordEqMapper
extends
BaseMapper
<
JgCertificateChangeRecordEq
>
{
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/service/IJgCertificateChangeRecordEqService.java
0 → 100644
View file @
8e80c12a
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
service
;
/**
* 接口类
*
* @author system_generator
* @date 2024-07-05
*/
public
interface
IJgCertificateChangeRecordEqService
{}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/service/IJgChangeRegistrationUnitService.java
View file @
8e80c12a
...
...
@@ -63,6 +63,6 @@ public interface IJgChangeRegistrationUnitService {
* @param model 数据
* @param submitType 保存类型
*/
JgChangeRegistrationUnitDto
saveNotice
(
String
submitType
,
JSONObject
model
,
ReginParams
reginParams
);
List
<
JgChangeRegistrationUnitDto
>
saveNotice
(
String
submitType
,
JSONObject
model
,
ReginParams
reginParams
);
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/resources/mapper/JgCertificateChangeRecordEqMapper.xml
0 → 100644
View file @
8e80c12a
<?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.JgCertificateChangeRecordEqMapper"
>
</mapper>
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/resources/mapper/JgChangeRegistrationUnitMapper.xml
View file @
8e80c12a
...
...
@@ -4,38 +4,9 @@
<select
id=
"queryForPage"
resultType=
"com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationUnit"
>
select
isn.sequence_nbr AS sequenceNbr,
isn.apply_no AS applyNo,
isn.apply_date AS applyDate,
isn.use_unit_name AS useUnitName,
isn.receive_org_name AS receiveOrgName,
isn.new_use_unit_name AS newUseUnitName,
isn.product_name_b AS productNameB,
isn.equ_code_b AS equCodeB,
isn.use_inner_code AS useInnerCode,
isn.use_regist_code AS useRegistCode,
isn.status AS status,
isn.instance_id AS instanceId,
isn.promoter,
isn.next_executor_ids AS nextExecutorIds,
isn.instance_status AS instanceStatus,
isn.audit_pass_date AS auditPassDate,
isn.equ_type AS equType,
isn.next_execute_user_ids as nextExecuteUserIds,
isn.next_task_id as nextTaskId,
isn.create_user_id as createUserId,
oi.SUPERVISORY_CODE AS supervisoryCode,
oi.CODE96333 as code96333,
ibjui."ADDRESS" as detailedAddress,
(SELECT name from tz_equipment_category ec WHERE ec.code = ri.EQU_LIST) AS equList,
(select name from tz_equipment_category ec WHERE ec.code = ri.EQU_DEFINE) AS equDefine,
concat(ibjui."PROVINCE_NAME", '', ibjui."CITY_NAME", '', ibjui."COUNTY_NAME", '', ibjui."STREET_NAME") AS equAddress
isn.*
FROM
tzs_jg_change_registration_unit isn
LEFT JOIN tzs_jg_change_registration_unit_eq re ON re.unit_change_registration_id = isn.sequence_nbr
LEFT JOIN idx_biz_jg_use_info ibjui ON ibjui.record = re.equ_id
LEFT JOIN idx_biz_jg_register_info ri ON ri.record = re.equ_id
LEFT JOIN idx_biz_jg_other_info oi ON oi.RECORD = re.equ_id
<where>
isn.is_delete = false
<if
test=
"param != null "
>
...
...
@@ -69,29 +40,6 @@
<if
test=
"param.useRegistCode != null and param.useRegistCode != ''"
>
AND isn.use_regist_code like concat('%',#{param.useRegistCode},'%')
</if>
<if
test=
"param.equList != null and param.equList != ''"
>
AND ri.EQU_LIST = #{param.equList}
</if>
<if
test=
"param.equCategory != null and param.equCategory != ''"
>
AND ri.EQU_CATEGORY = #{param.equCategory}
</if>
<if
test=
"param.equDefine != null and param.equDefine != ''"
>
AND ri.EQU_DEFINE = #{param.equDefine}
</if>
<if
test=
"param.code96333 != null and param.code96333 != ''"
>
AND oi.CODE96333 like concat('%',#{param.code96333},'%')
</if>
<if
test=
"param.supervisoryCode != null and param.supervisoryCode != ''"
>
AND oi.SUPERVISORY_CODE like concat('%',#{param.supervisoryCode},'%')
</if>
<if
test=
"param.equAddress != null and param.equAddress != ''"
>
AND (
ibjui."PROVINCE_NAME" LIKE CONCAT('%', #{param.equAddress}, '%')
OR ibjui."CITY_NAME" LIKE CONCAT('%', #{param.equAddress}, '%')
OR ibjui."COUNTY_NAME" LIKE CONCAT('%', #{param.equAddress}, '%')
OR ibjui."STREET_NAME" LIKE CONCAT('%', #{param.equAddress}, '%')
)
</if>
</if>
<if
test=
"type == 'supervision'"
>
AND (isn.receive_org_code = #{orgCode} or isn.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ))
...
...
@@ -102,7 +50,7 @@
</if>
<if
test=
"roleIds != null and type == 'supervision'"
>
<foreach
collection=
'roleIds'
item=
'role'
open=
'and ('
close=
')'
separator=
'or'
>
instance_status like concat('%',#{role},'%')
i
sn.i
nstance_status like concat('%',#{role},'%')
</foreach>
</if>
</where>
...
...
@@ -111,7 +59,6 @@
isn.${sort.field} ${sort.sortType},
</if>
isn.create_date DESC, isn.apply_no DESC
</select>
<select
id=
"queryEquipInformation"
resultType=
"java.util.Map"
>
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/resources/mapper/JgUseRegistrationManageMapper.xml
View file @
8e80c12a
...
...
@@ -25,7 +25,8 @@
tjurm.receive_company_code AS receiveCompanyCode,
tjurm.certificate_no AS certificateNo,
tjurm.equ_category AS equCategory,
tjurm.equ_use_address AS equUseAddress
tjurm.equ_use_address AS equUseAddress,
tjurm.use_unit_address AS useUnitAddress
</sql>
...
...
@@ -71,6 +72,10 @@
<if
test=
"dto.applyNo != null and dto.applyNo != ''"
>
and tjurm.apply_no like #{dto.applyNo}
</if>
-- 登记证书唯一码
<if
test=
"dto.certificateNo != null and dto.certificateNo != ''"
>
and tjurm.certificate_no = #{dto.certificateNo}
</if>
<if
test=
"dto.auditPassDate != null and dto.auditPassDate != ''"
>
and tjurm.audit_pass_date like concat('%',DATE_FORMAT(#{dto.auditPassDate},'%Y-%m-%d'),'%')
</if>
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/controller/JgCertificateChangeRecordEqController.java
0 → 100644
View file @
8e80c12a
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.JgCertificateChangeRecordEqServiceImpl
;
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.JgCertificateChangeRecordEqDto
;
import
org.typroject.tyboot.core.restful.doc.TycloudOperation
;
import
org.typroject.tyboot.core.foundation.enumeration.UserType
;
/**
*
* @author system_generator
* @date 2024-07-05
*/
@RestController
@Api
(
tags
=
"Api"
)
@RequestMapping
(
value
=
"/jg-certificate-change-record-eq"
)
public
class
JgCertificateChangeRecordEqController
extends
BaseController
{
@Autowired
JgCertificateChangeRecordEqServiceImpl
jgCertificateChangeRecordEqServiceImpl
;
/**
* 新增
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增"
,
notes
=
"新增"
)
public
ResponseModel
<
JgCertificateChangeRecordEqDto
>
save
(
@RequestBody
JgCertificateChangeRecordEqDto
model
)
{
model
=
jgCertificateChangeRecordEqServiceImpl
.
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
<
JgCertificateChangeRecordEqDto
>
updateBySequenceNbrJgCertificateChangeRecordEq
(
@RequestBody
JgCertificateChangeRecordEqDto
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
jgCertificateChangeRecordEqServiceImpl
.
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
(
jgCertificateChangeRecordEqServiceImpl
.
removeById
(
sequenceNbr
));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询单个"
,
notes
=
"根据sequenceNbr查询单个"
)
public
ResponseModel
<
JgCertificateChangeRecordEqDto
>
selectOne
(
@PathVariable
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
jgCertificateChangeRecordEqServiceImpl
.
queryBySeq
(
sequenceNbr
));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/page"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"分页查询"
,
notes
=
"分页查询"
)
public
ResponseModel
<
Page
<
JgCertificateChangeRecordEqDto
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
)
{
Page
<
JgCertificateChangeRecordEqDto
>
page
=
new
Page
<
JgCertificateChangeRecordEqDto
>();
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
jgCertificateChangeRecordEqServiceImpl
.
queryForJgCertificateChangeRecordEqPage
(
page
));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"列表全部数据查询"
,
notes
=
"列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
JgCertificateChangeRecordEqDto
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
jgCertificateChangeRecordEqServiceImpl
.
queryForJgCertificateChangeRecordEqList
());
}
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/controller/JgUseRegistrationManageController.java
View file @
8e80c12a
...
...
@@ -6,12 +6,14 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto
;
import
com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum
;
import
io.swagger.annotations.ApiParam
;
import
org.springframework.util.MultiValueMap
;
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.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -177,4 +179,27 @@ public class JgUseRegistrationManageController extends BaseController {
.
collect
(
Collectors
.
toList
());
return
ResponseHelper
.
buildResponse
(
jgUseRegistrationManageServiceImpl
.
queryEquByCertificateSeqList
(
collect
));
}
/**
* 根据证的sequenceNbrs 批量查询证下面的所有设备
* @param current 非必填,不填不分页,展示全部
* @param size 非必填,不填不分页,展示全部
* @param paramMap **仅仅支持** studio平台传参类似&certificateSeqs[0]=1809032149396975618&certificateSeqs[1]=1809032151141806081
* 如需其他需求使用上面的接口查询
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/queryEquByCertificateSeqs"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据证的sequenceNbr 批量查询证下面的所有设备"
,
notes
=
"根据证的sequenceNbr 批量查询证下面的所有设备"
)
public
ResponseModel
<
Page
<
JSONObject
>>
queryEquByCertificateSeqList
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
,
@RequestParam
MultiValueMap
<
String
,
String
>
paramMap
)
{
List
<
Long
>
certificateSeqs
=
new
ArrayList
<>();
paramMap
.
forEach
((
key
,
value
)
->
{
if
(
key
.
startsWith
(
"certificateSeqs["
))
{
value
.
forEach
(
val
->
certificateSeqs
.
add
(
Long
.
parseLong
(
val
)));
}
});
return
ResponseHelper
.
buildResponse
(
jgUseRegistrationManageServiceImpl
.
queryEquForPageByCertificateSeqList
(
certificateSeqs
,
current
,
size
));
}
}
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/JgCertificateChangeRecordEqServiceImpl.java
0 → 100644
View file @
8e80c12a
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
biz
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.module.jg.api.dto.JgCertificateChangeRecordEqDto
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgCertificateChangeRecordEq
;
import
com.yeejoin.amos.boot.module.jg.api.mapper.JgCertificateChangeRecordEqMapper
;
import
com.yeejoin.amos.boot.module.jg.api.service.IJgCertificateChangeRecordEqService
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
java.util.List
;
/**
* 服务实现类
*
* @author system_generator
* @date 2024-07-05
*/
@Service
public
class
JgCertificateChangeRecordEqServiceImpl
extends
BaseService
<
JgCertificateChangeRecordEqDto
,
JgCertificateChangeRecordEq
,
JgCertificateChangeRecordEqMapper
>
implements
IJgCertificateChangeRecordEqService
{
/**
* 分页查询
*/
public
Page
<
JgCertificateChangeRecordEqDto
>
queryForJgCertificateChangeRecordEqPage
(
Page
<
JgCertificateChangeRecordEqDto
>
page
)
{
return
this
.
queryForPage
(
page
,
null
,
false
);
}
/**
* 列表查询 示例
*/
public
List
<
JgCertificateChangeRecordEqDto
>
queryForJgCertificateChangeRecordEqList
()
{
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/JgChangeRegistrationUnitServiceImpl.java
View file @
8e80c12a
...
...
@@ -6,15 +6,15 @@ 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.toolkit.Sequence
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
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.BaseEntity
;
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.JgChangeRegistrationUnit
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationUnitEq
;
import
com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory
;
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.EquipTypeEnum
;
import
com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum
;
...
...
@@ -26,13 +26,14 @@ import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import
com.yeejoin.amos.boot.module.jg.flc.api.fegin.WorkFlowFeignService
;
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.EquipmentClassifityEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.mapper.*
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.feign.systemctl.model.TaskV2Model
;
import
com.yeejoin.amos.feign.workflow.Workflow
;
import
com.yeejoin.amos.feign.workflow.model.*
;
import
io.seata.spring.annotation.GlobalTransactional
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RedissonClient
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -40,7 +41,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
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
;
...
...
@@ -49,6 +49,7 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
javax.servlet.http.HttpServletResponse
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
...
...
@@ -77,6 +78,9 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
JgChangeRegistrationUnitEqMapper
JgChangeRegistrationUnitEqMapper
;
@Autowired
JgChangeRegistrationUnitEqServiceImpl
registrationUnitEqService
;
@Autowired
CmWorkflowServiceImpl
cmWorkflowService
;
@Autowired
private
JgChangeRegistrationUnitMapper
JgChangeRegistrationUnitMapper
;
...
...
@@ -132,22 +136,39 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
@Autowired
private
RedissonClient
redissonClient
;
@Autowired
JgUseRegistrationManageServiceImpl
registrationManageService
;
@Autowired
JgRegistrationHistoryServiceImpl
registrationHistoryService
;
@Autowired
private
Sequence
sequence
;
@Autowired
JgCertificateChangeRecordServiceImpl
certificateChangeRecordService
;
@Autowired
JgCertificateChangeRecordEqServiceImpl
certificateChangeRecordEqService
;
@Autowired
JgUseRegistrationManageServiceImpl
useRegistrationManageService
;
/**
* 根据sequenceNbr查询
* 根据sequenceNbr查询
:1、查询单位变更信息,2、查询使用登记证列表
*
* @param sequenceNbr 主键
* @return 单位变更
*/
@Override
public
Map
<
String
,
Map
<
String
,
Object
>>
queryBySequenceNbr
(
Long
sequenceNbr
)
{
//
变更单位
信息
//
单位变更
信息
JgChangeRegistrationUnit
notice
=
JgChangeRegistrationUnitMapper
.
selectById
(
sequenceNbr
);
if
(
Objects
.
isNull
(
notice
))
{
return
null
;
}
Map
<
String
,
Object
>
changeInfo
=
BeanUtil
.
beanToMap
(
notice
,
false
,
true
);
//组装下拉数据
if
(!
ValidationUtil
.
isEmpty
(
notice
.
getReceiveOrgCode
())
&&
!
ValidationUtil
.
isEmpty
(
notice
.
getReceiveOrgName
()))
{
changeInfo
.
put
(
"receiveOrgCode"
,
notice
.
getReceiveOrgCode
()
+
"_"
+
notice
.
getReceiveOrgName
());
}
...
...
@@ -157,10 +178,16 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
if
(!
ValidationUtil
.
isEmpty
(
notice
.
getNewUseUnitCreditCode
())
&&
!
ValidationUtil
.
isEmpty
(
notice
.
getNewUseUnitName
()))
{
changeInfo
.
put
(
"newUseUnitCreditCode"
,
notice
.
getNewUseUnitCreditCode
()
+
"_"
+
notice
.
getNewUseUnitName
());
}
//附件格式处理
changeInfo
.
put
(
"changeCertificateList"
,
JSON
.
parse
(
notice
.
getChangeCertificate
()));
changeInfo
.
put
(
"otherAccessoriesList"
,
JSON
.
parse
(
notice
.
getOtherAccessories
()));
//查询使用登记证列表
JgRegistrationHistory
historyServiceOne
=
registrationHistoryService
.
getOne
(
new
LambdaQueryWrapper
<
JgRegistrationHistory
>().
eq
(
JgRegistrationHistory:
:
getCurrentDocumentId
,
notice
.
getApplyNo
()));
changeInfo
.
put
(
"registrationList"
,
JSON
.
parse
(
historyServiceOne
.
getChangeData
()));
return
new
HashMap
<
String
,
Map
<
String
,
Object
>>()
{{
this
.
put
(
"changeRegisInfo"
,
fillEquipInfoWithRuntimeOrHistoryData
(
notice
,
changeInfo
));
// this.put("changeRegisInfo", fillEquipInfoWithRuntimeOrHistoryData(notice, changeInfo));
this
.
put
(
"changeRegisInfo"
,
changeInfo
);
}};
}
...
...
@@ -176,7 +203,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
his
.
putAll
(
changeInfo
);
return
his
;
}
// 非完成状态返回实时
设备
数据
// 非完成状态返回实时
使用登记证
数据
return
getEquipInfo
(
notice
.
getSequenceNbr
(),
changeInfo
);
}
...
...
@@ -214,14 +241,31 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
*
* @param noticeDto 单位变更
*/
@
SuppressWarnings
({
"rawtypes"
,
"Duplicates"
}
)
@
GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
public
JgChangeRegistrationUnitDto
updateInstallationNotice
(
String
submitType
,
JgChangeRegistrationUnitDto
noticeDto
,
String
op
)
{
if
(
Objects
.
isNull
(
noticeDto
)
||
StringUtils
.
isEmpty
(
submitType
))
{
throw
new
IllegalArgumentException
(
"参数不能为空"
);
}
String
[]
taskName
=
new
String
[]{
"流程结束"
};
// 字段转换
this
.
convertField
(
noticeDto
);
// 获取单位变更使用登记证列表
List
<
Map
<
String
,
Object
>>
registrationList
=
noticeDto
.
getRegistrationList
();
if
(
CollectionUtils
.
isEmpty
(
registrationList
))
{
throw
new
BadRequest
(
"使用登记证不能为空"
);
}
//根据使用登记证查询设备
List
<
Long
>
registrationIdList
=
registrationList
.
stream
().
filter
(
v
->
v
.
containsKey
(
"sequenceNbr"
)
&&
ObjectUtils
.
isNotEmpty
(
v
.
get
(
"sequenceNbr"
))
&&
canConvertToLong
(
v
.
get
(
"sequenceNbr"
).
toString
()))
.
map
(
v
->
Long
.
parseLong
(
v
.
get
(
"sequenceNbr"
).
toString
())).
collect
(
Collectors
.
toList
());
// 获取单位变更设备列表
if
(
CollectionUtils
.
isEmpty
(
registrationIdList
))
{
throw
new
BadRequest
(
"使用登记证不能为空"
);
}
List
<
JSONObject
>
deviceList
=
registrationManageService
.
queryEquByCertificateSeqList
(
registrationIdList
);
// 获取单位变更设备列表
if
(
CollectionUtils
.
isEmpty
(
deviceList
))
{
throw
new
BadRequest
(
"使用登记证下无设备"
);
}
ArrayList
<
String
>
roleListAll
=
new
ArrayList
<>();
ArrayList
<
String
>
roleListNext
=
new
ArrayList
<>();
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
...
...
@@ -320,12 +364,41 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
BeanUtils
.
copyProperties
(
noticeDto
,
bean
);
JgChangeRegistrationUnitMapper
.
updateById
(
bean
);
}
updateHistorySingle
(
noticeDto
.
getSequenceNbr
());
// updateHistorySingle(noticeDto.getSequenceNbr());
List
<
JgChangeRegistrationUnitEq
>
jgRelationEquipList
=
new
ArrayList
<>();
deviceList
.
forEach
(
device
->
{
JgChangeRegistrationUnitEq
unitEq
=
new
JgChangeRegistrationUnitEq
();
if
(
device
.
containsKey
(
"USE_ORG_CODE"
))
{
unitEq
.
setRegistrationCertificate
(
device
.
getString
(
"USE_ORG_CODE"
));
//使用登记证主键
}
if
(
device
.
containsKey
(
"SEQUENCE_NBR"
))
{
unitEq
.
setEquId
(
device
.
getString
(
"SEQUENCE_NBR"
));
//设备主键
}
unitEq
.
setUnitChangeRegistrationId
(
noticeDto
.
getSequenceNbr
().
toString
());
//单位变更业务主键
unitEq
.
setDeviceInfo
(
JSONObject
.
toJSONString
(
device
));
//设备信息json
jgRelationEquipList
.
add
(
unitEq
);
});
JgRegistrationHistory
jgRegistrationHistory
=
new
JgRegistrationHistory
();
//登记类别
jgRegistrationHistory
.
setRegistrationClass
(
"单位变更登记"
);
jgRegistrationHistory
.
setCurrentDocumentId
(
noticeDto
.
getApplyNo
());
//使用登记证历史数据
jgRegistrationHistory
.
setChangeData
(
JSONObject
.
toJSONString
(
registrationList
));
//先删除之前设备关系数据,在插入最新设备关系数据
registrationUnitEqService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
JgChangeRegistrationUnitEq
>()
.
eq
(
JgChangeRegistrationUnitEq:
:
getUnitChangeRegistrationId
,
noticeDto
.
getSequenceNbr
()));
registrationUnitEqService
.
saveBatch
(
jgRelationEquipList
);
//先删除之前未提交的历史使用登记证信息,在插入最新的使用登记证信息
registrationHistoryService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
JgRegistrationHistory
>()
.
eq
(
JgRegistrationHistory:
:
getCurrentDocumentId
,
noticeDto
.
getApplyNo
()));
registrationHistoryService
.
save
(
jgRegistrationHistory
);
return
noticeDto
;
}
private
void
updateHistorySingle
(
Long
seq
)
{
List
<
JgChangeRegistrationUnitEq
>
eqs
=
jgChangeRegistrationUnitEqMapper
.
selectList
(
new
LambdaQueryWrapper
<
JgChangeRegistrationUnitEq
>().
eq
(
JgChangeRegistrationUnitEq:
:
getUnitChangeRegistrationId
,
seq
));
QueryWrapper
<
JgChangeRegistrationUnitEq
>
wrapper
=
new
QueryWrapper
<>();
wrapper
.
lambda
().
eq
(
JgChangeRegistrationUnitEq:
:
getUnitChangeRegistrationId
,
seq
);
List
<
JgChangeRegistrationUnitEq
>
eqs
=
jgChangeRegistrationUnitEqMapper
.
selectList
(
wrapper
);
this
.
updateHistoryAsync
(
eqs
);
}
...
...
@@ -366,13 +439,6 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
}
/**
* 列表查询 示例
*/
public
List
<
JgChangeRegistrationUnitDto
>
queryForJgChangeRegistrationUnitList
()
{
return
this
.
queryForList
(
""
,
false
);
}
/**
* 批量删除
*
* @param sequenceNbrs 主键
...
...
@@ -400,42 +466,108 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
return
Boolean
.
TRUE
;
}
public
void
saveRecord
(
JgChangeRegistrationUnit
registrationUnit
)
{
Long
sequenceNbr
=
registrationUnit
.
getSequenceNbr
();
List
<
JgChangeRegistrationUnitEq
>
eqList
=
registrationUnitEqService
.
lambdaQuery
().
eq
(
JgChangeRegistrationUnitEq:
:
getUnitChangeRegistrationId
,
sequenceNbr
).
list
();
List
<
JgRegistrationHistory
>
historyList
=
registrationHistoryService
.
lambdaQuery
().
eq
(
JgRegistrationHistory:
:
getCurrentDocumentId
,
sequenceNbr
).
list
();
if
(
historyList
.
size
()
!=
1
)
{
return
;
}
List
<
JgCertificateChangeRecord
>
changeRecordList
=
new
ArrayList
<>();
List
<
JgCertificateChangeRecordEq
>
changeRecordEqList
=
new
ArrayList
<>();
JgCertificateChangeRecord
changeRecord
=
new
JgCertificateChangeRecord
();
JSONArray
historyJson
=
JSON
.
parseArray
(
historyList
.
get
(
0
).
getChangeData
());
for
(
Object
object
:
historyJson
)
{
JSONObject
jsonObject
=
JSON
.
parseObject
(
object
.
toString
());
String
registrationCode
=
jsonObject
.
getString
(
"useRegistrationCode"
);
String
certificateNo
=
jsonObject
.
getString
(
"certificateNo"
);
String
equCategoryCode
=
jsonObject
.
getString
(
"equCategoryCode"
);
changeRecord
.
setApplyNo
(
registrationUnit
.
getApplyNo
());
//申请编号
changeRecord
.
setReceiveOrgName
(
registrationUnit
.
getReceiveOrgName
());
//接收机构/登记机关
changeRecord
.
setAuditPassDate
(
registrationUnit
.
getApplyDate
());
//办理日期
changeRecord
.
setRegType
(
"单位变更登记"
);
//登记类别
changeRecord
.
setRegDate
(
registrationUnit
.
getCreateDate
());
//申请日期
changeRecord
.
setChangeContent
(
this
.
buildRecordContent
(
registrationUnit
));
//变更内容
changeRecord
.
setUseRegistrationCode
(
registrationCode
);
//使用登记编号
changeRecord
.
setReceiveCompanyCode
(
registrationUnit
.
getReceiveCompanyCode
());
//接收机构公司代码
changeRecord
.
setCertificateNo
(
certificateNo
);
//登记证书唯一码
changeRecord
.
setUseUnitCreditCode
(
registrationUnit
.
getNewUseUnitCreditCode
());
//使用单位统一信用代码
changeRecord
.
setUseUnitName
(
registrationUnit
.
getNewUseUnitName
());
//使用单位名称
changeRecord
.
setEquCategory
(
equCategoryCode
);
//设备类别编码
changeRecord
.
setCreateDate
(
new
Date
());
changeRecord
.
setSequenceNbr
(
sequence
.
nextId
());
changeRecordList
.
add
(
changeRecord
);
for
(
JgChangeRegistrationUnitEq
unitEq
:
eqList
)
{
if
(!
StringUtils
.
isEmpty
(
unitEq
.
getRegistrationCertificate
())
&&
!
StringUtils
.
isEmpty
(
registrationCode
)
&&
unitEq
.
getRegistrationCertificate
().
equals
(
registrationCode
))
{
JSONObject
deviceJson
=
JSON
.
parseObject
(
unitEq
.
getDeviceInfo
());
JgCertificateChangeRecordEq
changeRecordEq
=
new
JgCertificateChangeRecordEq
();
changeRecordEq
.
setChangeRecordId
(
changeRecord
.
getSequenceNbr
().
toString
());
//登记证记录主键
changeRecordEq
.
setRecDate
(
new
Date
());
changeRecordEq
.
setEquId
(
deviceJson
.
getString
(
"SEQUENCE_NBR"
));
//设备主键
changeRecordEqList
.
add
(
changeRecordEq
);
}
}
}
if
(!
changeRecordList
.
isEmpty
())
{
certificateChangeRecordService
.
saveBatch
(
changeRecordList
);
}
if
(!
changeRecordEqList
.
isEmpty
())
{
certificateChangeRecordEqService
.
saveBatch
(
changeRecordEqList
);
}
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
JgChangeRegistrationUnitDto
saveNotice
(
String
submitType
,
JSONObject
map
,
ReginParams
reginParams
)
{
// @Transactional(rollbackFor = Exception.class)
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
public
List
<
JgChangeRegistrationUnitDto
>
saveNotice
(
String
submitType
,
JSONObject
map
,
ReginParams
reginParams
)
{
JgChangeRegistrationUnitDto
model
=
BeanUtil
.
toBeanIgnoreError
(
map
.
get
(
"changeRegisInfo"
),
JgChangeRegistrationUnitDto
.
class
);
String
[]
taskName
=
new
String
[]{
"流程结束"
};
// 字段转换
convertField
(
model
);
// 获取单位变更使用登记证列表
List
<
Map
<
String
,
Object
>>
registrationList
=
model
.
getRegistrationList
();
if
(
CollectionUtils
.
isEmpty
(
registrationList
))
{
throw
new
BadRequest
(
"使用登记证不能为空"
);
}
//根据使用登记证查询设备
List
<
Long
>
registrationIdList
=
new
ArrayList
<>();
//使用登记证id
List
<
String
>
registrationNoList
=
new
ArrayList
<>();
//使用登记证编号
for
(
Map
<
String
,
Object
>
objectMap
:
registrationList
)
{
if
(
objectMap
.
containsKey
(
"sequenceNbr"
)
&&
ObjectUtils
.
isNotEmpty
(
objectMap
.
get
(
"sequenceNbr"
))
&&
canConvertToLong
(
objectMap
.
get
(
"sequenceNbr"
).
toString
()))
{
registrationIdList
.
add
(
Long
.
parseLong
(
objectMap
.
get
(
"sequenceNbr"
).
toString
()));
}
if
(
objectMap
.
containsKey
(
"useRegistrationCode"
)
&&
ObjectUtils
.
isNotEmpty
(
objectMap
.
get
(
"useRegistrationCode"
)))
{
registrationNoList
.
add
(
objectMap
.
get
(
"useRegistrationCode"
).
toString
());
}
}
// 获取单位变更设备列表
if
(
CollectionUtils
.
isEmpty
(
registrationIdList
))
{
throw
new
BadRequest
(
"使用登记证不能为空"
);
}
List
<
JSONObject
>
deviceList
=
registrationManageService
.
queryEquByCertificateSeqList
(
registrationIdList
);
// 获取单位变更设备列表
List
<
Map
<
String
,
Object
>>
deviceList
=
model
.
getDeviceList
();
if
(
CollectionUtils
.
isEmpty
(
deviceList
))
{
throw
new
BadRequest
(
"设备不能为空"
);
// return new ArrayList<>();
throw
new
BadRequest
(
"使用登记证下无设备"
);
}
// 获取单位变更单号
ResponseModel
<
List
<
String
>>
listResponseModel
=
tzsServiceFeignClient
.
applicationFormCode
(
ApplicationFormTypeEnum
.
DWBG
.
getCode
(),
1
);
List
<
String
>
applyNoList
=
listResponseModel
.
getResult
();
if
(
CollectionUtils
.
isEmpty
(
applyNoList
))
{
log
.
error
(
"生成申请变更单位编失败"
);
return
n
ull
;
log
.
error
(
"生成申请变更单位编
码
失败"
);
return
n
ew
ArrayList
<>()
;
}
ArrayList
<
String
>
roleListFirst
=
new
ArrayList
<>();
// ArrayList<String> roleListSecond = new ArrayList<>();
// 判断当前是否为提交
List
<
String
>
instanceIdList
=
new
ArrayList
<>();
List
<
String
>
nextExecutorUserIds
=
new
ArrayList
<>();
List
<
String
>
taskIds
=
new
ArrayList
<>();
List
<
WorkflowResultDto
>
workflowResultDtos
=
new
ArrayList
<>();
String
nextExecutorRoleIds
=
""
;
// 判断当前是否为提交
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
//
发起流程
//发起流程
// ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
List
<
ActWorkflowStartDTO
>
list
=
new
ArrayList
<>();
...
...
@@ -465,22 +597,20 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
CompanyBo
companyBo
=
commonServiceImpl
.
getOneCompany
(
model
.
getReceiveCompanyCode
());
// deviceList.forEach(obj -> {
// JgChangeRegistrationUnitEq jgRelationEquip = new JgChangeRegistrationUnitEq();
JgChangeRegistrationUnit
dto
=
new
JgChangeRegistrationUnit
();
BeanUtils
.
copyProperties
(
model
,
dto
);
// int i = deviceList.indexOf(obj);
// String applyNo = applyNoList.get(i);
dto
.
setApplyNo
(
applyNoList
.
get
(
0
));
dto
.
setReceiveCompanyOrgCode
(
companyBo
.
getOrgCode
());
dto
.
setCreateUserId
(
RequestContext
.
getExeUserId
());
dto
.
setApplyDate
(
new
Date
());
model
.
setApplyNo
(
applyNoList
.
get
(
0
));
model
.
setReceiveCompanyOrgCode
(
companyBo
.
getOrgCode
());
model
.
setCreateUserId
(
RequestContext
.
getExeUserId
());
model
.
setApplyDate
(
new
Date
());
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
dto
.
setNextExecutorIds
(
finalNextExecutorRoleIds
);
dto
.
setInstanceStatus
(
String
.
join
(
","
,
roleListFirst
));
dto
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
dto
.
setStatus
(
taskName
[
0
]);
model
.
setNextExecutorIds
(
finalNextExecutorRoleIds
);
model
.
setInstanceStatus
(
String
.
join
(
","
,
roleListFirst
));
model
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
model
.
setStatus
(
taskName
[
0
]);
}
dto
.
setNewUseUnitName
(
reginParams
.
getCompany
().
getCompanyName
());
dto
.
setNewUseUnitCreditCode
(
reginParams
.
getCompany
().
getCompanyCode
());
model
.
setNewUseUnitName
(
reginParams
.
getCompany
().
getCompanyName
());
model
.
setNewUseUnitCreditCode
(
reginParams
.
getCompany
().
getCompanyCode
());
// dto.setEquType((String.valueOf(obj.get("EQU_CATEGORY"))));
// dto.setProductNameB((String.valueOf(obj.get("PRODUCT_NAME"))));
// dto.setEquCodeB((String.valueOf(obj.get("EQU_CODE"))));
...
...
@@ -491,23 +621,30 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
// jgRelationEquip.setEquId(String.valueOf(obj.get("SEQUENCE_NBR")));
// jgRelationEquip.setUnitChangeRegistrationId(applyNo);
if
(!
CollectionUtils
.
isEmpty
(
nextExecutorUserIds
))
{
dto
.
setNextExecuteUserIds
(
nextExecutorUserIds
.
get
(
0
));
model
.
setNextExecuteUserIds
(
nextExecutorUserIds
.
get
(
0
));
}
if
(!
CollectionUtils
.
isEmpty
(
instanceIdList
))
{
dto
.
setInstanceId
(
instanceIdList
.
get
(
0
));
dto
.
setStatus
(
WorkFlowStatusEnum
.
UNITCHANGE_RECEIVE
.
getPass
());
model
.
setInstanceId
(
instanceIdList
.
get
(
0
));
model
.
setStatus
(
WorkFlowStatusEnum
.
UNITCHANGE_RECEIVE
.
getPass
());
}
else
{
dto
.
setStatus
(
WorkFlowStatusEnum
.
UNITCHANGE_SUBMIT
.
getPass
());
model
.
setStatus
(
WorkFlowStatusEnum
.
UNITCHANGE_SUBMIT
.
getPass
());
}
if
(!
CollectionUtils
.
isEmpty
(
taskIds
))
{
dto
.
setNextTaskId
(
taskIds
.
get
(
0
));
model
.
setNextTaskId
(
taskIds
.
get
(
0
));
}
// list.add(dto);
// equipList.add(jgRelationEquip);
// });
// WorkflowResultDto workDto = new WorkflowResultDto();
// JgChangeRegistrationUnitMapper.insertBatchSomeColumn(list);
model
.
setSequenceNbr
(
sequence
.
nextId
());
model
.
setCreateDate
(
new
Date
());
model
.
setCreateUserName
(
reginParams
.
getUserModel
().
getRealName
());
model
.
setUseRegistCode
(
String
.
join
(
","
,
registrationNoList
));
model
.
setEquList
(
registrationList
.
get
(
0
).
get
(
"equList"
).
toString
());
JgChangeRegistrationUnit
registrationUnit
=
new
JgChangeRegistrationUnit
();
BeanUtils
.
copyProperties
(
model
,
registrationUnit
);
JgChangeRegistrationUnitMapper
.
insert
(
registrationUnit
);
List
<
TaskModelDto
>
modelDtos
=
new
ArrayList
<>();
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
...
...
@@ -515,22 +652,22 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
TaskMessageDto
ta
=
new
TaskMessageDto
();
ta
.
setInstanceId
(
dto
.
getInstanceId
());
ta
.
setStatus
(
dto
.
getStatus
());
ta
.
setPromoter
(
dto
.
getPromoter
());
ta
.
setNextExecuteUserIds
(
dto
.
getNextExecuteUserIds
());
ta
.
setSequenceNbr
(
dto
.
getSequenceNbr
());
ta
.
setNextTaskId
(
dto
.
getNextTaskId
());
ta
.
setInstanceId
(
registrationUnit
.
getInstanceId
());
ta
.
setStatus
(
registrationUnit
.
getStatus
());
ta
.
setPromoter
(
registrationUnit
.
getPromoter
());
ta
.
setNextExecuteUserIds
(
registrationUnit
.
getNextExecuteUserIds
());
ta
.
setSequenceNbr
(
registrationUnit
.
getSequenceNbr
());
ta
.
setNextTaskId
(
registrationUnit
.
getNextTaskId
());
taskModelDto
.
setModel
(
ta
);
// dto.setModel(obj);
taskModelDto
.
setFlowCreateDate
(
new
Date
());
taskModelDto
.
setTaskName
(
workflowResultDtos
.
get
(
0
).
getNextTaskName
());
taskModelDto
.
setFlowCode
(
dto
.
getNextTaskId
());
taskModelDto
.
setTaskContent
(
"来自"
+
dto
.
getEquList
()
+
"【"
+
dto
.
getSupervisoryCode
()
+
"】的业务办理,【申请单号:"
+
dto
.
getApplyNo
()
+
"】"
);
taskModelDto
.
setTaskCode
(
dto
.
getApplyNo
());
taskModelDto
.
setFlowCode
(
registrationUnit
.
getNextTaskId
());
taskModelDto
.
setTaskContent
(
this
.
buildTaskContent
(
registrationUnit
)
);
taskModelDto
.
setTaskCode
(
registrationUnit
.
getApplyNo
());
taskModelDto
.
setTaskType
(
BusinessTypeEnum
.
JG_COMPANY_CHANGE_REGISTRATION
.
getCode
());
taskModelDto
.
setTaskTypeLabel
(
BusinessTypeEnum
.
JG_COMPANY_CHANGE_REGISTRATION
.
getName
());
taskModelDto
.
setRelationId
(
dto
.
getInstanceId
());
taskModelDto
.
setRelationId
(
registrationUnit
.
getInstanceId
());
taskModelDto
.
setExecuteUserIds
(
workflowResultDtos
.
get
(
0
).
getNextExecutorUserIds
());
taskModelDto
.
setTaskStatusLabel
(
"未处理"
);
taskModelDto
.
setFlowStatus
(
commonServiceImpl
.
getDictionaryCodeByName
(
WorkFlowStatusEnum
.
UNITCHANGE_RECEIVE
.
getPass
()));
...
...
@@ -546,36 +683,68 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
// for (JgChangeRegistrationUnit obj : list) {
TaskModelDto
taskModelDto
=
new
TaskModelDto
();
//行数据
taskModelDto
.
setModel
(
dto
);
taskModelDto
.
setModel
(
registrationUnit
);
//摘要 按原有规则组装
taskModelDto
.
setTaskContent
(
"来自"
+
dto
.
getEquList
()
+
"【"
+
dto
.
getSupervisoryCode
()
+
"】的业务办理,【申请单号:"
+
dto
.
getApplyNo
()
+
"】"
);
taskModelDto
.
setTaskContent
(
this
.
buildTaskContent
(
registrationUnit
)
);
//申请单号
taskModelDto
.
setTaskCode
(
dto
.
getApplyNo
());
taskModelDto
.
setTaskCode
(
registrationUnit
.
getApplyNo
());
//业务类型枚举code值
taskModelDto
.
setTaskType
(
BusinessTypeEnum
.
JG_COMPANY_CHANGE_REGISTRATION
.
getCode
());
////业务主键
taskModelDto
.
setRelationId
(
dto
.
getSequenceNbr
()
+
""
);
taskModelDto
.
setRelationId
(
registrationUnit
.
getSequenceNbr
()
+
""
);
modelDtos
.
add
(
taskModelDto
);
// }
}
// for(JgChangeRegistrationUnit obj : list) {
commonServiceImpl
.
saveExecuteFlowData2Redis
(
dto
.
getInstanceId
(),
buildInstanceRuntimeData
(
dto
));
commonServiceImpl
.
saveExecuteFlowData2Redis
(
registrationUnit
.
getInstanceId
(),
buildInstanceRuntimeData
(
registrationUnit
));
// }
commonServiceImpl
.
buildTaskModel
(
modelDtos
);
List
<
JgChangeRegistrationUnitEq
>
jgRelationEquipList
=
new
ArrayList
<>();
deviceList
.
forEach
(
device
->
{
JgChangeRegistrationUnitEq
unitEq
=
new
JgChangeRegistrationUnitEq
();
if
(
device
.
containsKey
(
"USE_ORG_CODE"
))
{
unitEq
.
setRegistrationCertificate
(
device
.
getString
(
"USE_ORG_CODE"
));
//使用登记证主键
}
if
(
device
.
containsKey
(
"SEQUENCE_NBR"
))
{
unitEq
.
setEquId
(
device
.
getString
(
"USE_ORG_CODE"
));
//设备主键
}
unitEq
.
setUnitChangeRegistrationId
(
registrationUnit
.
getSequenceNbr
().
toString
());
//单位变更业务主键
unitEq
.
setDeviceInfo
(
JSONObject
.
toJSONString
(
device
));
//设备信息json
jgRelationEquipList
.
add
(
unitEq
);
});
JgRegistrationHistory
jgRegistrationHistory
=
new
JgRegistrationHistory
();
//登记类别
jgRegistrationHistory
.
setRegistrationClass
(
"单位变更登记"
);
jgRegistrationHistory
.
setCurrentDocumentId
(
registrationUnit
.
getApplyNo
());
//使用登记证历史数据
jgRegistrationHistory
.
setChangeData
(
JSONObject
.
toJSONString
(
registrationList
));
// List<JgChangeRegistrationUnitEq> jgRelationEquipList = equipList.stream().map(jgRelationEquip -> {
// List<JgChangeRegistrationUnit> collect = list.stream().filter(jgChangeRegistrationUnit -> jgRelationEquip.getUnitChangeRegistrationId().equals(jgChangeRegistrationUnit.getApplyNo())).collect(Collectors.toList());
// Long sequenceNbr = collect.get(0).getSequenceNbr();
// insertOrUpdateHis(JSON.parseObject(JSONObject.toJSONString(collect.get(0))), jgRelationEquip.getEquId());
// return jgRelationEquip.setUnitChangeRegistrationId(String.valueOf(sequenceNbr));
// }).collect(Collectors.toList());
// JgChangeRegistrationUnitEqMapper.insertBatchSomeColumn(jgRelationEquipList);
// this.updateHistoryAsync(jgRelationEquipList);
return
model
;
//先删除之前设备关系数据,在插入最新设备关系数据
registrationUnitEqService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
JgChangeRegistrationUnitEq
>()
.
eq
(
JgChangeRegistrationUnitEq:
:
getUnitChangeRegistrationId
,
registrationUnit
.
getSequenceNbr
()));
registrationUnitEqService
.
saveBatch
(
jgRelationEquipList
);
//先删除之前未提交的历史使用登记证信息,在插入最新的使用登记证信息
registrationHistoryService
.
getBaseMapper
().
delete
(
new
LambdaQueryWrapper
<
JgRegistrationHistory
>()
.
eq
(
JgRegistrationHistory:
:
getCurrentDocumentId
,
registrationUnit
.
getApplyNo
()));
registrationHistoryService
.
save
(
jgRegistrationHistory
);
return
Collections
.
singletonList
(
model
);
}
public
boolean
canConvertToLong
(
String
str
)
{
try
{
Long
.
parseLong
(
str
);
return
true
;
}
catch
(
NumberFormatException
e
)
{
return
false
;
}
}
private
void
updateHistoryAsync
(
List
<
JgChangeRegistrationUnitEq
>
jgRelationEquipList
)
{
...
...
@@ -648,39 +817,40 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
}
}
private
String
convertImageUrl
(
List
<
Map
<
String
,
String
>>
urlList
)
{
String
urls
=
""
;
if
(!
CollectionUtils
.
isEmpty
(
urlList
))
{
urls
=
urlList
.
stream
().
map
(
map
->
map
.
get
(
"url"
)).
collect
(
Collectors
.
joining
(
","
));
}
return
urls
;
}
public
void
insertOrUpdateHis
(
JSONObject
map
,
String
equipId
)
{
JgRegistrationHistory
jgRegistrationHistory
=
new
JgRegistrationHistory
();
//使用登记编号
jgRegistrationHistory
.
setUseRegistrationCode
(
idxBizJgRegisterInfoMapper
.
getUseOrgCodeByEquip
(
equipId
));
//登记类别
jgRegistrationHistory
.
setRegistrationClass
(
"单位变更登记"
);
//设备id
jgRegistrationHistory
.
setEquId
(
equipId
);
//修改数据
jgRegistrationHistory
.
setChangeData
(
JSONObject
.
toJSONString
(
map
));
//设备监管码
LambdaQueryWrapper
<
OtherInfo
>
queryWrapper1
=
new
LambdaQueryWrapper
<>();
queryWrapper1
.
eq
(
OtherInfo:
:
getRecord
,
equipId
);
OtherInfo
tzsJgOtherInfo
=
tzsJgOtherInfoMapper
.
selectOne
(
queryWrapper1
);
jgRegistrationHistory
.
setSupervisoryCode
(
tzsJgOtherInfo
.
getSupervisoryCode
());
if
(
map
.
containsKey
(
"type"
)
&&
"edit"
.
equals
(
String
.
valueOf
(
map
.
get
(
"type"
))))
{
jgRegistrationHistory
.
setSequenceNbr
(
jgRegistrationHistoryMapper
.
getSequenceNbrByEquidAndDocumentId
(
equipId
,
String
.
valueOf
(
map
.
get
(
"sequenceNbr"
))));
jgRegistrationHistoryMapper
.
updateById
(
jgRegistrationHistory
);
}
else
{
//当前单据id
jgRegistrationHistory
.
setCurrentDocumentId
(
map
.
get
(
"applyNo"
).
toString
());
jgRegistrationHistoryMapper
.
insert
(
jgRegistrationHistory
);
}
}
//
private String convertImageUrl(List<Map<String, String>> urlList) {
//
String urls = "";
//
if (!CollectionUtils.isEmpty(urlList)) {
//
urls = urlList.stream().map(map -> map.get("url")).collect(Collectors.joining(","));
//
}
//
return urls;
//
}
//
//
public void insertOrUpdateHis(JSONObject map, String equipId) {
//
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
//
//使用登记编号
//
jgRegistrationHistory.setUseRegistrationCode(idxBizJgRegisterInfoMapper.getUseOrgCodeByEquip(equipId));
//
//登记类别
//
jgRegistrationHistory.setRegistrationClass("单位变更登记");
//
//设备id
//
jgRegistrationHistory.setEquId(equipId);
//
//修改数据
//
jgRegistrationHistory.setChangeData(JSONObject.toJSONString(map));
//
//设备监管码
//
LambdaQueryWrapper<OtherInfo> queryWrapper1 = new LambdaQueryWrapper<>();
//
queryWrapper1.eq(OtherInfo::getRecord, equipId);
//
OtherInfo tzsJgOtherInfo = tzsJgOtherInfoMapper.selectOne(queryWrapper1);
//
jgRegistrationHistory.setSupervisoryCode(tzsJgOtherInfo.getSupervisoryCode());
//
if (map.containsKey("type") && "edit".equals(String.valueOf(map.get("type")))) {
//
jgRegistrationHistory.setSequenceNbr(jgRegistrationHistoryMapper.getSequenceNbrByEquidAndDocumentId(equipId, String.valueOf(map.get("sequenceNbr"))));
//
jgRegistrationHistoryMapper.updateById(jgRegistrationHistory);
//
} else {
//
//当前单据id
//
jgRegistrationHistory.setCurrentDocumentId(map.get("applyNo").toString());
//
jgRegistrationHistoryMapper.insert(jgRegistrationHistory);
//
}
//
}
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
submit
(
JgChangeRegistrationUnit
notice
,
String
op
)
{
AjaxResult
ajaxResult
=
Workflow
.
taskClient
.
getTask
(
notice
.
getInstanceId
());
...
...
@@ -701,7 +871,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
}
dto
.
setVariable
(
map
);
//执行流程
AjaxResult
ajaxResult1
=
null
;
AjaxResult
ajaxResult1
;
try
{
ajaxResult1
=
Workflow
.
taskClient
.
completeByTask
(
taskId
,
dto
);
if
(
ajaxResult1
.
get
(
"code"
).
equals
(
200
))
{
...
...
@@ -773,7 +943,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
.
build
();
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
// @Transactional(rollbackFor = Exception.class)
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
public
void
accept
(
JgChangeRegistrationUnitDto
dto
,
String
op
)
{
String
lockKey
=
CommonServiceImpl
.
buildJgExecuteLockKey
(
dto
.
getInstanceId
());
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
...
...
@@ -789,8 +960,8 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
String
[]
taskName
=
new
String
[]{
"已完成"
};
String
userId
=
RequestContext
.
getExeUserId
();
String
taskId
=
dto
.
getNextTaskId
();
JgChangeRegistrationUnit
jgChangeRegistrationUnit
=
this
.
JgChangeRegistrationUnitMapper
.
selectById
(
dto
.
getSequenceNbr
());
jgChangeRegistrationUnit
.
setProcessAdvice
(
dto
.
getProcessAdvice
());
JgChangeRegistrationUnit
registration
=
this
.
JgChangeRegistrationUnitMapper
.
selectById
(
dto
.
getSequenceNbr
());
registration
.
setProcessAdvice
(
dto
.
getProcessAdvice
());
List
<
String
>
roleListNext
=
new
ArrayList
<>();
List
<
String
>
roleListAll
=
new
ArrayList
<>();
ArrayList
<
String
>
roleList
=
new
ArrayList
<>();
...
...
@@ -803,13 +974,13 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
task
.
setResultCode
(
"approvalStatus"
);
task
.
setTaskId
(
taskId
);
task
.
setComment
(
StringUtils
.
isEmpty
(
dto
.
getProcessAdvice
())
?
""
:
dto
.
getProcessAdvice
());
task
.
setNextExecuteUserCompanyCode
(
this
.
getNextUserOrgCode
(
op
,
jgChangeRegistrationUnit
));
task
.
setNextExecuteUserCompanyCode
(
this
.
getNextUserOrgCode
(
op
,
registration
));
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"approvalStatus"
,
op
);
if
(!
ObjectUtils
.
isEmpty
(
jgChangeRegistrationUnit
.
getInstanceStatus
())
&&
(
jgChangeRegistrationUnit
.
getStatus
().
equals
(
WorkFlowStatusEnum
.
UNIT_RENAME_SUBMIT
.
getReject
())
||
jgChangeRegistrationUnit
.
getStatus
().
equals
(
WorkFlowStatusEnum
.
UNIT_RENAME_SUBMIT
.
getRollBack
())))
{
if
(!
ObjectUtils
.
isEmpty
(
registration
.
getInstanceStatus
())
&&
(
registration
.
getStatus
().
equals
(
WorkFlowStatusEnum
.
UNIT_RENAME_SUBMIT
.
getReject
())
||
registration
.
getStatus
().
equals
(
WorkFlowStatusEnum
.
UNIT_RENAME_SUBMIT
.
getRollBack
())))
{
map
.
put
(
"approvalStatus"
,
"提交"
);
}
task
.
setVariable
(
map
);
...
...
@@ -827,83 +998,96 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
nextTaskId
=
processTaskDTO
.
getNextTask
().
get
(
0
).
getId
();
}
jgChangeRegistrationUnit
.
setStatus
(
taskName
[
0
]);
registration
.
setStatus
(
taskName
[
0
]);
if
(
"0"
.
equals
(
op
))
{
if
(
roleList
.
size
()
==
0
)
{
jgChangeRegistrationUnit
.
setStatus
(
taskName
[
0
]);
jgChangeRegistrationUnit
.
setAuditPassDate
(
new
Date
());
if
(
roleList
.
isEmpty
())
{
registration
.
setStatus
(
taskName
[
0
]);
registration
.
setAuditPassDate
(
new
Date
());
// 生成新的使用登记编号,使用登记证 修改设备的使用登记信息表,使用单位名称,使用单位统一信用代码,使用登记证编号,更新ES
LambdaQueryWrapper
<
JgChangeRegistrationUnitEq
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
JgChangeRegistrationUnitEq:
:
getUnitChangeRegistrationId
,
dto
.
getSequenceNbr
());
JgChangeRegistrationUnitEq
jgChangeRegistrationUnitEq
=
JgChangeRegistrationUnitEqMapper
.
selectOne
(
queryWrapper
);
List
<
JgChangeRegistrationUnitEq
>
jgChangeRegistrationUnitEqs
=
JgChangeRegistrationUnitEqMapper
.
selectList
(
queryWrapper
);
for
(
JgChangeRegistrationUnitEq
jgChangeRegistrationUnitEq
:
jgChangeRegistrationUnitEqs
)
{
String
equipId
=
jgChangeRegistrationUnitEq
.
getEquId
();
LambdaQueryWrapper
<
OtherInfo
>
queryWrapper1
=
new
LambdaQueryWrapper
<>();
queryWrapper1
.
eq
(
OtherInfo:
:
getRecord
,
jgChangeRegistrationUnitEq
.
getEquId
()
);
queryWrapper1
.
eq
(
OtherInfo:
:
getRecord
,
equipId
);
OtherInfo
tzsJgOtherInfo
=
tzsJgOtherInfoMapper
.
selectOne
(
queryWrapper1
);
if
(
ObjectUtils
.
isNotEmpty
(
tzsJgOtherInfo
))
{
LambdaQueryWrapper
<
UseInfo
>
queryWrapper2
=
new
LambdaQueryWrapper
<>();
queryWrapper2
.
eq
(
UseInfo:
:
getRecord
,
jgChangeRegistrationUnitEq
.
getEquId
()
);
queryWrapper2
.
eq
(
UseInfo:
:
getRecord
,
equipId
);
UseInfo
useInfo
=
useInfoMapper
.
selectOne
(
queryWrapper2
);
useInfo
.
setUseUnitName
(
jgChangeRegistrationUnit
.
getNewUseUnitNam
e
());
useInfo
.
setUseUnitCreditCode
(
jgChangeRegistrationUnit
.
getNewUseUnitCreditCode
());
String
code
=
commonServiceImpl
.
generateRegistrationCode
(
jgChangeRegistrationUnitEq
.
getEquId
(),
tzsJgOtherInfo
.
getSupervisoryCode
(),
dto
.
getReceiveCompany
Code
());
String
code
=
commonServiceImpl
.
generateRegistrationCode
(
equipId
,
tzsJgOtherInfo
.
getSupervisoryCode
(),
dto
.
getReceiveCompanyCod
e
());
if
(
ObjectUtils
.
isNotEmpty
(
useInfo
))
{
useInfo
.
setUseUnitName
(
registration
.
getNewUseUnitName
());
useInfo
.
setUseUnitCreditCode
(
registration
.
getNewUseUnitCredit
Code
());
if
(
ValidationUtil
.
isEmpty
(
code
))
{
log
.
error
(
"生成新的使用登记证编号失败"
);
return
;
}
jgChangeRegistrationUnit
.
setUseRegistCode
(
code
);
useInfoMapper
.
updateById
(
useInfo
);
// jgChangeRegistrationUnit.setUseRegistCode(code);
}
//更新使用注册登记证编号
idxBizJgRegisterInfoMapper
.
updateUseOrgCodeByEquip
(
equipId
,
code
);
jgChangeRegistrationUnit
.
setNextTaskId
(
nextTaskId
);
useInfoMapper
.
updateById
(
useInfo
);
//es中的编号信息
Map
<
String
,
Map
<
String
,
Object
>>
resultMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
map1
=
new
HashMap
<>();
map1
.
put
(
"USE_ORG_CODE"
,
code
);
map1
.
put
(
"USE_UNIT_CREDIT_CODE"
,
jgChangeRegistrationUnit
.
getNewUseUnitCreditCode
());
map1
.
put
(
"USE_UNIT_NAME"
,
jgChangeRegistrationUnit
.
getNewUseUnitName
());
map1
.
put
(
"USE_UNIT_CREDIT_CODE"
,
registration
.
getNewUseUnitCreditCode
());
map1
.
put
(
"USE_UNIT_NAME"
,
registration
.
getNewUseUnitName
());
resultMap
.
put
(
equipId
,
map1
);
tzsServiceFeignClient
.
commonUpdateEsDataByIds
(
resultMap
);
//修改各类告知列表,置为废弃
this
.
updataInvalidStatusByHistory
(
jgChangeRegistrationUnitEq
.
getEquId
(),
jgChangeRegistrationUnit
.
getApplyNo
());
updateTaskModel
(
jgChangeRegistrationUnit
,
op
);
// TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
// @Override
// public void afterCommit() {
// generateInstallationNoticeReport(JgChangeRegistrationUnit.getSequenceNbr());
// }
// });
this
.
updataInvalidStatusByHistory
(
equipId
,
registration
.
getApplyNo
());
}
}
registration
.
setNextTaskId
(
nextTaskId
);
updateTaskModel
(
registration
,
op
);
//新增使用登记证和设备变更记录
this
.
saveRecord
(
registration
);
JgRegistrationHistory
history
=
registrationHistoryService
.
lambdaQuery
().
eq
(
JgRegistrationHistory:
:
getCurrentDocumentId
,
registration
.
getApplyNo
()).
one
();
JSONArray
historyJson
=
JSON
.
parseArray
(
history
.
getChangeData
());
List
<
String
>
ids
=
historyJson
.
stream
().
map
(
v
->
JSON
.
parseObject
(
v
.
toString
()).
getString
(
"sequenceNbr"
)).
collect
(
Collectors
.
toList
());
List
<
JgUseRegistrationManage
>
list
=
useRegistrationManageService
.
lambdaQuery
().
in
(
BaseEntity:
:
getSequenceNbr
,
ids
).
list
();
LambdaQueryWrapper
<
TzBaseEnterpriseInfo
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
TzBaseEnterpriseInfo:
:
getUseCode
,
registration
.
getNewUseUnitCreditCode
())
.
eq
(
TzBaseEnterpriseInfo:
:
getIsDelete
,
false
);
for
(
JgUseRegistrationManage
registrationManage
:
list
)
{
registrationManage
.
setUseUnitName
(
registration
.
getNewUseUnitName
());
registrationManage
.
setUseUnitCreditCode
(
registration
.
getNewUseUnitCreditCode
());
registrationManage
.
setReceiveOrgName
(
registration
.
getReceiveOrgName
());
registrationManage
.
setReceiveCompanyCode
(
registration
.
getReceiveOrgCode
());
// registrationManage.setUseUnitAddress(); todo 设备使用地址需要更新
}
useRegistrationManageService
.
updateBatchById
(
list
);
}
else
{
jgChangeRegistrationUnit
.
setNextExecutorIds
(
String
.
join
(
","
,
roleList
));
if
(!
ObjectUtils
.
isEmpty
(
jgChangeRegistrationUnit
.
getInstanceStatus
()))
{
jgChangeRegistrationUnit
.
setInstanceStatus
(
jgChangeRegistrationUnit
.
getInstanceStatus
()
+
","
+
String
.
join
(
","
,
roleList
));
registration
.
setNextExecutorIds
(
String
.
join
(
","
,
roleList
));
if
(!
ObjectUtils
.
isEmpty
(
registration
.
getInstanceStatus
()))
{
registration
.
setInstanceStatus
(
registration
.
getInstanceStatus
()
+
","
+
String
.
join
(
","
,
roleList
));
}
else
{
jgChangeRegistrationUnit
.
setInstanceStatus
(
String
.
join
(
","
,
roleList
));
registration
.
setInstanceStatus
(
String
.
join
(
","
,
roleList
));
}
jgChangeRegistrationUnit
.
setPromoter
(
userId
);
jgChangeRegistrationUnit
.
setNextExecuteUserIds
(
nextUserIds
);
jgChangeRegistrationUnit
.
setNextTaskId
(
nextTaskId
);
jgChangeRegistrationUnit
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getPass
());
executeOneStep
(
jgChangeRegistrationUnit
,
taskName1
,
nextUserIds
,
op
);
registration
.
setPromoter
(
userId
);
registration
.
setNextExecuteUserIds
(
nextUserIds
);
registration
.
setNextTaskId
(
nextTaskId
);
registration
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getPass
());
executeOneStep
(
registration
,
taskName1
,
nextUserIds
,
op
);
}
}
else
{
jgChangeRegistrationUnit
.
setPromoter
(
""
);
jgChangeRegistrationUnit
.
setNextExecutorIds
(
String
.
join
(
","
,
roleList
));
jgChangeRegistrationUnit
.
setNextTaskId
(
nextTaskId
);
jgChangeRegistrationUnit
.
setNextExecuteUserIds
(
nextUserIds
);
jgChangeRegistrationUnit
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getReject
());
executeOneStep
(
jgChangeRegistrationUnit
,
taskName1
,
nextUserIds
,
op
);
registration
.
setPromoter
(
""
);
registration
.
setNextExecutorIds
(
String
.
join
(
","
,
roleList
));
registration
.
setNextTaskId
(
nextTaskId
);
registration
.
setNextExecuteUserIds
(
nextUserIds
);
registration
.
setStatus
(
WorkFlowStatusEnum
.
getMessage
(
taskCode
).
getReject
());
executeOneStep
(
registration
,
taskName1
,
nextUserIds
,
op
);
}
JgChangeRegistrationUnitMapper
.
updateById
(
jgChangeRegistrationUnit
);
JgChangeRegistrationUnitMapper
.
updateById
(
registration
);
// redis流程实时数据更新
commonServiceImpl
.
saveExecuteFlowData2Redis
(
dto
.
getInstanceId
(),
this
.
buildInstanceRuntimeData
(
jgChangeRegistrationUnit
));
commonServiceImpl
.
saveExecuteFlowData2Redis
(
dto
.
getInstanceId
(),
this
.
buildInstanceRuntimeData
(
registration
));
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
throw
new
BadRequest
(
"数据异常,请联系管理员"
);
}
finally
{
if
(
lock
.
isHeldByCurrentThread
())
{
lock
.
unlock
();
...
...
@@ -1040,9 +1224,17 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
private
String
buildTaskContent
(
JgChangeRegistrationUnit
obj
)
{
return
"来自"
+
EquipmentClassifityEnum
.
getNameByCode
(
obj
.
getEquList
())
+
"【"
+
obj
.
getSupervisoryCode
()
+
"】的业务办理,【申请单号:"
+
obj
.
getApplyNo
()
+
"】"
;
//发起电梯登记业务申请,【申请单号SYDJ202400001】
return
obj
.
getCreateUserName
()
+
"发起了单位变更登记业务申请,【申请单号"
+
obj
.
getApplyNo
()
+
"】"
;
}
private
String
buildRecordContent
(
JgChangeRegistrationUnit
obj
)
{
//张三办理了【单位变更】 ,单号【DWBG202407050001】,原恒星电梯单位变更为新恒星电梯有限公司,办理日期2024-07-05
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
return
obj
.
getCreateUserName
()
+
"办理了【单位变更登记】,单号【"
+
obj
.
getApplyNo
()
+
"】,原"
+
obj
.
getUseUnitName
()
+
"变更为新"
+
obj
.
getNewUseUnitName
()
+
",申请日期"
+
simpleDateFormat
.
format
(
obj
.
getCreateDate
());
}
private
void
createTaskModel
(
JgChangeRegistrationUnit
dto
,
String
taskName
,
String
submitType
,
String
nextUserIds
)
{
ReginParams
reginParams
=
JSON
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
...
...
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/JgUseRegistrationManageServiceImpl.java
View file @
8e80c12a
...
...
@@ -32,6 +32,7 @@ import org.elasticsearch.search.builder.SearchSourceBuilder;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StringUtils
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.springframework.stereotype.Service
;
...
...
@@ -242,4 +243,54 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
}
return
result
;
}
/**
* 根据证的sequenceNbr集合,批量查询证下面的所有设备
* @param sequenceNbrList 证的sequenceNbr集合
* @param current 分页-当前页
* @param size 分页-分页数
* @return 查询结果
*/
public
Page
<
JSONObject
>
queryEquForPageByCertificateSeqList
(
List
<
Long
>
sequenceNbrList
,
int
current
,
int
size
)
{
List
<
JgUseRegistrationManage
>
jgUseRegistrationManageList
=
this
.
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
JgUseRegistrationManage
>()
.
in
(
JgUseRegistrationManage:
:
getSequenceNbr
,
sequenceNbrList
)
.
eq
(
JgUseRegistrationManage:
:
getIsDelete
,
0
));
if
(
ValidationUtil
.
isEmpty
(
jgUseRegistrationManageList
)){
return
new
Page
<>();
}
List
<
JSONObject
>
list
=
new
LinkedList
<>();
long
totle
=
0
;
Page
<
JSONObject
>
result
=
new
Page
<>(
Optional
.
of
(
current
).
orElse
(
1
),
Optional
.
of
(
size
).
orElse
(
10
));
Set
<
String
>
useOrgCodes
=
jgUseRegistrationManageList
.
stream
().
map
(
JgUseRegistrationManage:
:
getUseRegistrationCode
).
collect
(
Collectors
.
toSet
());
// es中通过查询【使用登记证编号】所有设备
SearchRequest
request
=
new
SearchRequest
(
"idx_biz_view_jg_all"
);
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
builder
.
trackTotalHits
(
true
);
BoolQueryBuilder
boolQuery
=
QueryBuilders
.
boolQuery
();
TermsQueryBuilder
termsQuery
=
QueryBuilders
.
termsQuery
(
"USE_ORG_CODE"
,
useOrgCodes
);
boolQuery
.
must
(
termsQuery
);
builder
.
query
(
boolQuery
);
builder
.
from
((
current
-
1
)
*
size
);
builder
.
size
(
size
);
request
.
source
(
builder
);
try
{
SearchResponse
response
=
restHighLevelClient
.
search
(
request
,
RequestOptions
.
DEFAULT
);
for
(
SearchHit
hit
:
response
.
getHits
().
getHits
())
{
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
toJSON
(
hit
);
JSONObject
dto
=
jsonObject
.
getJSONObject
(
"sourceAsMap"
);
list
.
add
(
dto
);
}
totle
=
Objects
.
requireNonNull
(
response
.
getInternalResponse
().
hits
().
getTotalHits
()).
value
;
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
result
.
setRecords
(
list
);
result
.
setTotal
(
totle
);
return
result
;
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/service/impl/JgUseRegistrationServiceImpl.java
View file @
8e80c12a
...
...
@@ -2066,6 +2066,12 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
});
}
/**
* 处理历史错误单子
* @param sequenceNbr
* @param instanceId
* @param nextTaskId
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@GlobalTransactional
(
rollbackFor
=
Exception
.
class
)
public
void
handleErrorForm
(
Long
sequenceNbr
,
String
instanceId
,
String
nextTaskId
)
{
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/resources/json/superviseBusinessCategory.json
View file @
8e80c12a
...
...
@@ -86,12 +86,12 @@
"image"
:
"upload/tzs/common/image/设备停用.png"
},
{
"name"
:
"
移装
注销"
,
"name"
:
"注销"
,
"code"
:
"BF_YZ"
,
"image"
:
"upload/tzs/common/image/移装报废.png"
},
{
"name"
:
"报废
注销
"
,
"name"
:
"报废"
,
"code"
:
"BF_ZX"
,
"image"
:
"upload/tzs/common/image/注销报废.png"
}
...
...
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