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
296f7938
Commit
296f7938
authored
Jul 24, 2024
by
韩桐桐
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(jg):改造告知
parent
730bab85
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
195 additions
and
168 deletions
+195
-168
JgReformNoticeDto.java
...eejoin/amos/boot/module/jg/api/dto/JgReformNoticeDto.java
+10
-2
JgReformNoticeEqDto.java
...join/amos/boot/module/jg/api/dto/JgReformNoticeEqDto.java
+3
-0
JgReformNotice.java
...eejoin/amos/boot/module/jg/api/entity/JgReformNotice.java
+15
-3
JgReformNoticeEq.java
...join/amos/boot/module/jg/api/entity/JgReformNoticeEq.java
+7
-1
JgReformNoticeMapper.xml
...jg-api/src/main/resources/mapper/JgReformNoticeMapper.xml
+10
-42
JgReformByWorkFlowController.java
...odule/jg/biz/controller/JgReformByWorkFlowController.java
+3
-8
IdxBizJgRegisterInfoServiceImpl.java
.../jg/biz/service/impl/IdxBizJgRegisterInfoServiceImpl.java
+1
-1
JgReformNoticeServiceImpl.java
...module/jg/biz/service/impl/JgReformNoticeServiceImpl.java
+146
-111
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/JgReformNoticeDto.java
View file @
296f7938
package
com
.
yeejoin
.
amos
.
boot
.
module
.
jg
.
api
.
dto
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.fasterxml.jackson.databind.annotation.JsonSerialize
;
...
...
@@ -153,11 +154,18 @@ public class JgReformNoticeDto extends BaseDto {
@ApiModelProperty
(
value
=
"是否西咸"
)
private
String
isXixian
;
@ApiModelProperty
(
value
=
"设备
类别
"
)
@ApiModelProperty
(
value
=
"设备
种类code
"
)
private
String
equListCode
;
@ApiModelProperty
(
value
=
"设备种类名称"
)
private
String
equListName
;
@ApiModelProperty
(
value
=
"设备类别code"
)
private
String
equCategoryCode
;
@ApiModelProperty
(
value
=
"设备类别名称"
)
private
String
equCategory
;
private
String
equCategoryName
;
/* ---------------- -------------- */
@ApiModelProperty
(
value
=
"告知设备列表"
)
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/dto/JgReformNoticeEqDto.java
View file @
296f7938
...
...
@@ -27,4 +27,7 @@ public class JgReformNoticeEqDto extends BaseDto {
@ApiModelProperty
(
value
=
"设备id"
)
private
String
equId
;
@ApiModelProperty
(
value
=
"告知书编号"
)
private
String
informNumber
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/entity/JgReformNotice.java
View file @
296f7938
...
...
@@ -299,16 +299,28 @@ public class JgReformNotice extends BaseEntity {
@TableField
(
"status"
)
private
String
status
;
/**
* 设备
类别
* 设备
种类code
*/
@TableField
(
value
=
"equ_list_code"
)
private
String
equListCode
;
/**
* 设备种类名称
*/
@TableField
(
value
=
"equ_list_name"
)
private
String
equListName
;
/**
* 设备类别code
*/
@TableField
(
value
=
"equ_category_code"
)
private
String
equCategoryCode
;
/**
* 设备类别名称
*/
@TableField
(
value
=
"equ_category"
)
private
String
equCategory
;
@TableField
(
value
=
"equ_category
_name
"
)
private
String
equCategory
Name
;
/**
*工作流下一节点任务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/JgReformNoticeEq.java
View file @
296f7938
...
...
@@ -23,7 +23,7 @@ public class JgReformNoticeEq extends BaseEntity {
private
static
final
long
serialVersionUID
=
1L
;
/**
*
设备移交申请id
*
改造告知seq
*/
@TableField
(
"equip_transfer_id"
)
private
String
equipTransferId
;
...
...
@@ -34,4 +34,10 @@ public class JgReformNoticeEq extends BaseEntity {
@TableField
(
"equ_id"
)
private
String
equId
;
/**
* 告知书编号
*/
@TableField
(
"inform_number"
)
private
String
informNumber
;
}
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/resources/mapper/JgReformNoticeMapper.xml
View file @
296f7938
...
...
@@ -19,6 +19,9 @@
isn.province_name AS provinceName,
isn.notice_report_url AS noticeReportUrl,
isn.equ_list_code as equListCode,
isn.equ_list_name as equListName,
isn.equ_category_code as equCategoryCode,
isn.equ_category_name as equCategoryName,
isn.create_user_id as createUserId,
isn.next_execute_user_ids as nextExecuteUserIds,
isn.instance_id AS instanceId,
...
...
@@ -30,24 +33,12 @@
isn.next_execute_ids as nextExecuteIds,
isn.instance_status AS instanceStatus,
isn.inform_number AS informNumber,
isn.equ_category AS equCategory,
isn.next_task_id as nextTaskId,
ri.EQU_CODE AS equCode,
oi.SUPERVISORY_CODE AS supervisoryCode,
oi.CODE96333 as code96333,
DATE_FORMAT(isn.plan_date,'%Y-%m-%d') AS planDate,
DATE_FORMAT(isn.notice_date,'%Y-%m-%d') AS noticeDate,
DATE_FORMAT(isn.accept_date,'%Y-%m-%d') AS acceptDate,
(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 fullAddress,
ibjui."ADDRESS" as detailedAddress
DATE_FORMAT(isn.accept_date,'%Y-%m-%d') AS acceptDate
FROM
tzs_jg_reform_notice isn
LEFT JOIN tzs_jg_reform_notice_eq re ON re.equip_transfer_id = isn.sequence_nbr
LEFT JOIN idx_biz_jg_register_info ri ON ri.record = re.equ_id
LEFT JOIN idx_biz_jg_use_info ibjui ON ibjui.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 "
>
...
...
@@ -72,35 +63,6 @@
<if
test=
"param.noticeDate != null "
>
AND isn.notice_date like concat('%',DATE_FORMAT(#{param.noticeDate},'%Y-%m-%d'),'%')
</if>
<if
test=
"param.equListCode != null and param.equListCode != ''"
>
AND ri."EQU_LIST" = #{param.equListCode}
</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.equCode != null and param.equCode != ''"
>
AND ri."EQU_CODE" like concat('%',#{param.equCode},'%')
</if>
<if
test=
"param.informNumber != null and param.informNumber != ''"
>
AND isn.inform_number like concat('%',#{param.informNumber},'%')
</if>
<if
test=
"param.supervisoryCode != null and param.supervisoryCode != ''"
>
AND oi.SUPERVISORY_CODE like concat('%',#{param.supervisoryCode},'%')
</if>
<if
test=
"param.code96333 != null and param.code96333 != ''"
>
AND oi.CODE96333 like concat('%',#{param.code96333},'%')
</if>
<if
test=
"param.address != null and param.address != ''"
>
AND (
ibjui."PROVINCE_NAME" LIKE CONCAT('%', #{param.address}, '%')
OR ibjui."CITY_NAME" LIKE CONCAT('%', #{param.address}, '%')
OR ibjui."COUNTY_NAME" LIKE CONCAT('%', #{param.address}, '%')
OR ibjui."STREET_NAME" LIKE CONCAT('%', #{param.address}, '%')
)
</if>
<if
test=
"param.useUnitCreditCode != null and param.useUnitCreditCode != ''"
>
AND isn.use_unit_credit_code = #{param.useUnitCreditCode}
</if>
...
...
@@ -110,6 +72,12 @@
<if
test=
"param.receiveCompanyCode != null and param.receiveCompanyCode != ''"
>
AND isn.receive_company_code = #{param.receiveCompanyCode}
</if>
<if
test=
"param.equListCode != null and param.equListCode != ''"
>
AND isn.equ_list_code = #{param.equListCode}
</if>
<if
test=
"param.equCategoryCode != null and param.equCategoryCode != ''"
>
AND isn.equ_category_code = #{param.equCategoryCode}
</if>
</if>
<if
test=
"type == 'supervision'"
>
AND (isn.notice_status in ('6612', '6613', '6614', '6616') )
...
...
amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-biz/src/main/java/com/yeejoin/amos/boot/module/jg/biz/controller/JgReformByWorkFlowController.java
View file @
296f7938
...
...
@@ -73,13 +73,8 @@ public class JgReformByWorkFlowController {
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/accept"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"改造告知受理"
,
notes
=
"改造告知受理"
)
public
ResponseModel
<
JgReformNoticeDto
>
accept
(
@RequestBody
Map
<
String
,
Object
>
model
,
String
op
)
{
// TODO 受理改造告知流程
LinkedHashMap
model1
=
(
LinkedHashMap
)
model
.
get
(
"model"
);
String
opinion
=
(
String
)
model
.
get
(
"opinion"
);
JgReformNoticeDto
jgReformNoticeDto
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
model1
),
JgReformNoticeDto
.
class
);
jgReformNoticeDto
.
setRemark
(
opinion
);
jgReformNoticeService
.
accept
(
jgReformNoticeDto
,
op
);
return
ResponseHelper
.
buildResponse
(
null
);
public
ResponseModel
<
Boolean
>
accept
(
@RequestBody
Map
<
String
,
Object
>
map
,
String
op
)
{
jgReformNoticeService
.
accept
(
map
,
op
);
return
ResponseHelper
.
buildResponse
(
Boolean
.
TRUE
);
}
}
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/IdxBizJgRegisterInfoServiceImpl.java
View file @
296f7938
...
...
@@ -1402,7 +1402,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
if
(
ValidationUtil
.
isEmpty
(
map
.
get
(
"useUnitCreditCode"
))
||
ValidationUtil
.
isEmpty
(
map
.
get
(
"county"
)))
{
throw
new
BadRequest
(
"请先选择使用单位,施工区县等信息"
);
}
map
.
put
(
"USE_UNIT_CREDIT_CODE"
,
map
.
get
(
"useUnitCreditCode"
)
);
map
.
put
(
"USE_UNIT_CREDIT_CODE"
,
String
.
valueOf
(
map
.
get
(
"useUnitCreditCode"
)).
split
(
"_"
)[
0
]
);
map
.
put
(
USE_PLACE_CODE
,
String
.
valueOf
(
map
.
get
(
"county"
)).
split
(
"_"
)[
0
]);
}
else
if
(
ValidationUtil
.
equals
(
queryType
,
"GZ_WX"
))
{
// 维修告知设备选择 - 业务限制
// 设备类别(EQU_CATEGORY)、安装单位(USC_UNIT_CREDIT_CODE)、选择的使用单位(USE_UNIT_CREDIT_CODE)、选择的区县(USE_PLACE_CODE)过滤数据
...
...
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/JgReformNoticeServiceImpl.java
View file @
296f7938
...
...
@@ -5,6 +5,7 @@ import cn.hutool.core.map.MapBuilder;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Sequence
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.github.pagehelper.util.StringUtil
;
import
com.yeejoin.amos.boot.biz.common.bo.CompanyBo
;
...
...
@@ -12,6 +13,8 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisKey
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory
;
import
com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto
;
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
;
...
...
@@ -26,6 +29,7 @@ import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import
com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient
;
import
com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgRegisterInfoService
;
import
com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory
;
import
com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum
;
import
com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum
;
...
...
@@ -97,6 +101,8 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
@Autowired
RedisUtils
redisUtils
;
@Autowired
private
Sequence
sequence
;
@Autowired
IIdxBizJgRegisterInfoService
idxBizJgRegisterInfoService
;
@Autowired
JgInstallationNoticeServiceImpl
jgInstallationNoticeService
;
...
...
@@ -110,6 +116,8 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
private
RedissonClient
redissonClient
;
@Autowired
private
JgRegistrationHistoryMapper
jgRegistrationHistoryMapper
;
@Autowired
ESEquipmentCategory
esEquipmentCategory
;
/**
* 根据sequenceNbr查询
...
...
@@ -150,12 +158,35 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
}
}
else
{
// 显示最新的设备信息
Map
<
String
,
Object
>
equipMap
=
setEquipInfoNew
(
sequenceNbr
);
equipMap
.
putAll
(
reformNoticeMap
);
return
equipMap
;
}
List
<
JgReformNoticeEq
>
noticeEqs
=
jgReformNoticeEqMapper
.
selectList
(
new
LambdaQueryWrapper
<
JgReformNoticeEq
>()
.
eq
(
JgReformNoticeEq:
:
getEquipTransferId
,
sequenceNbr
));
List
<
String
>
ids
=
noticeEqs
.
stream
().
map
(
JgReformNoticeEq:
:
getEquId
).
collect
(
Collectors
.
toList
());
Iterable
<
ESEquipmentCategoryDto
>
equips
=
esEquipmentCategory
.
findAllById
(
ids
);
List
<
Map
<
String
,
Object
>>
equipListMaps
=
getEquipListMaps
(
equips
);
reformNoticeMap
.
put
(
"deviceList"
,
equipListMaps
);
return
reformNoticeMap
;
}
}
private
List
<
Map
<
String
,
Object
>>
getEquipListMaps
(
Iterable
<
ESEquipmentCategoryDto
>
equips
)
{
List
<
Map
<
String
,
Object
>>
arrayList
=
new
ArrayList
<>();
equips
.
forEach
(
equip
->
{
Map
<
String
,
Object
>
objectHashMap
=
new
HashMap
<>();
BeanUtil
.
beanToMap
(
equip
,
objectHashMap
,
false
,
false
);
objectHashMap
.
put
(
"record"
,
equip
.
getSEQUENCE_NBR
());
objectHashMap
.
put
(
"ADDRESS"
,
concatDetailAddress
(
equip
));
arrayList
.
add
(
objectHashMap
);
});
return
arrayList
;
}
private
String
concatDetailAddress
(
ESEquipmentCategoryDto
esEquipmentCategoryDto
)
{
// 省、市、区
String
usePlace
=
esEquipmentCategoryDto
.
getUSE_PLACE
();
// 详细地址
String
address
=
esEquipmentCategoryDto
.
getADDRESS
();
return
String
.
format
(
"%s%s"
,
usePlace
,
address
);
}
private
Map
<
String
,
Object
>
setEquipInfoNew
(
Long
sequenceNbr
)
{
Map
<
String
,
Object
>
equipMap
=
new
HashMap
<>();
...
...
@@ -219,7 +250,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
// 删除暂存
commonService
.
deleteTasksByRelationId
(
notice
.
getSequenceNbr
()
+
""
);
// 如果为保存并提交,则创建代办
this
.
buildTask
(
Collections
.
singletonList
(
notice
)
,
Collections
.
singletonList
(
workflowResultDto
));
this
.
buildTask
(
notice
,
Collections
.
singletonList
(
workflowResultDto
));
}
else
{
TaskResultDTO
dto
=
new
TaskResultDTO
();
dto
.
setResultCode
(
"approvalStatus"
);
...
...
@@ -372,7 +403,9 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
List
<
JgReformNotice
>
saveNotice
(
String
submitType
,
Map
<
String
,
Object
>
JgReformNoticeDtoMap
,
ReginParams
reginParams
)
{
try
{
JgReformNoticeDto
model
=
JSON
.
parseObject
(
JSONObject
.
toJSONString
(
JgReformNoticeDtoMap
.
get
(
TABLE_PAGE_ID
)),
JgReformNoticeDto
.
class
);
String
jsonString
=
JSONObject
.
toJSONString
(
JgReformNoticeDtoMap
.
get
(
TABLE_PAGE_ID
));
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
jsonString
);
JgReformNoticeDto
model
=
JSON
.
parseObject
(
jsonString
,
JgReformNoticeDto
.
class
);
convertField
(
model
);
// 获取告知设备列表
List
<
Map
<
String
,
Object
>>
deviceList
=
model
.
getDeviceList
();
...
...
@@ -383,87 +416,86 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
this
.
repeatUsedEquipCheck
(
deviceList
,
reginParams
.
getCompany
().
getCompanyCode
());
}
// 获取
告知
单号
ResponseModel
<
List
<
String
>>
codeResult
=
tzsServiceFeignClient
.
applicationFormCode
(
ApplicationFormTypeEnum
.
GZGZ
.
getCode
(),
deviceList
.
size
()
);
// 获取
申请
单号
ResponseModel
<
List
<
String
>>
codeResult
=
tzsServiceFeignClient
.
applicationFormCode
(
ApplicationFormTypeEnum
.
GZGZ
.
getCode
(),
1
);
List
<
String
>
applyNoList
=
null
;
if
(
codeResult
!=
null
&&
!
ValidationUtil
.
isEmpty
(
codeResult
.
getResult
()))
{
applyNoList
=
codeResult
.
getResult
();
}
if
(
CollectionUtils
.
isEmpty
(
applyNoList
))
{
throw
new
BadRequest
(
"申请单编号生成失败,请稍后重试!"
);
}
// 申请单业务主键seq
long
sequenceNbr
=
sequence
.
nextId
();
// 启动工作流
List
<
WorkflowResultDto
>
workflowResultList
=
this
.
startWorkFlow
(
model
.
getReceiveCompanyCode
(),
submitType
,
deviceList
);
List
<
JgReformNotice
>
list
=
new
ArrayList
<>();
List
<
JgReformNoticeEq
>
equipList
=
new
ArrayList
<>();
List
<
String
>
finalApplyNoList
=
applyNoList
;
List
<
WorkflowResultDto
>
workflowResultList
=
this
.
startWorkFlow
(
model
.
getReceiveCompanyCode
(),
submitType
,
applyNoList
.
get
(
0
));
CompanyBo
companyBo
=
commonService
.
getOneCompany
(
model
.
getReceiveCompanyCode
());
JgReformNotice
notice
=
new
JgReformNotice
();
BeanUtils
.
copyProperties
(
model
,
notice
);
notice
.
setSequenceNbr
(
sequenceNbr
);
notice
.
setApplyNo
(
applyNoList
.
get
(
0
));
notice
.
setNoticeDate
(
new
Date
());
notice
.
setCreateUserName
(
reginParams
.
getUserModel
().
getRealName
());
notice
.
setCreateUserId
(
reginParams
.
getUserModel
().
getUserId
());
notice
.
setCreateUserCompanyName
(
reginParams
.
getCompany
().
getCompanyName
());
String
equListCode
=
String
.
valueOf
(
jsonObject
.
get
(
"EQU_LIST_CODE"
));
String
equCategoryCode
=
String
.
valueOf
(
jsonObject
.
get
(
"EQU_CATEGORY_CODE"
));
notice
.
setEquListCode
(
equListCode
);
EquipmentCategory
equipmentCategory1
=
equipmentCategoryMapper
.
selectOne
(
new
LambdaQueryWrapper
<
EquipmentCategory
>()
.
eq
(
EquipmentCategory:
:
getCode
,
equListCode
));
notice
.
setEquListName
(
equipmentCategory1
.
getName
());
notice
.
setEquCategoryCode
(
equCategoryCode
);
EquipmentCategory
equipmentCategory2
=
equipmentCategoryMapper
.
selectOne
(
new
LambdaQueryWrapper
<
EquipmentCategory
>()
.
eq
(
EquipmentCategory:
:
getCode
,
equCategoryCode
));
notice
.
setEquCategoryName
(
equipmentCategory2
.
getName
());
deviceList
.
forEach
(
obj
->
{
JgReformNoticeEq
jgRelationEquip
=
new
JgReformNoticeEq
();
JgReformNotice
dto
=
new
JgReformNotice
();
BeanUtils
.
copyProperties
(
model
,
dto
);
int
i
=
deviceList
.
indexOf
(
obj
);
String
applyNo
=
finalApplyNoList
.
get
(
i
);
dto
.
setApplyNo
(
applyNo
);
dto
.
setNoticeDate
(
new
Date
());
dto
.
setCreateUserName
(
reginParams
.
getUserModel
().
getRealName
());
dto
.
setCreateUserId
(
reginParams
.
getUserModel
().
getUserId
());
dto
.
setCreateUserCompanyName
(
reginParams
.
getCompany
().
getCompanyName
());
dto
.
setEquCategory
(
Objects
.
toString
(
obj
.
get
(
"EQU_CATEGORY"
),
""
));
dto
.
setEquListCode
(
Objects
.
toString
(
obj
.
get
(
"EQU_DEFINE"
),
""
));
dto
.
setSupervisoryCode
(
Objects
.
toString
(
obj
.
get
(
"SUPERVISORY_CODE"
),
""
));
dto
.
setEquList
(
Objects
.
toString
(
obj
.
get
(
"EQU_LIST"
),
""
));
dto
.
setFullAddress
(
Objects
.
toString
(
obj
.
get
(
"ADDRESS"
),
""
));
// 统计用
dto
.
setReceiveCompanyOrgCode
(
companyBo
.
getOrgCode
());
notice
.
setReceiveCompanyOrgCode
(
companyBo
.
getOrgCode
());
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
WorkflowResultDto
workflowResult
=
workflowResultList
.
get
(
i
);
dto
.
setNextExecuteIds
(
workflowResult
.
getNextExecutorRoleIds
());
dto
.
setInstanceStatus
(
workflowResult
.
getNextExecutorRoleIds
()
+
","
+
workflowResult
.
getExecutorRoleIds
());
dto
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
dto
.
setNextTaskId
(
workflowResult
.
getNextTaskId
());
dto
.
setNextExecuteUserIds
(
workflowResult
.
getNextExecutorUserIds
());
WorkflowResultDto
workflowResult
=
workflowResultList
.
get
(
0
);
notice
.
setNextExecuteIds
(
workflowResult
.
getNextExecutorRoleIds
());
notice
.
setInstanceStatus
(
workflowResult
.
getNextExecutorRoleIds
()
+
","
+
workflowResult
.
getExecutorRoleIds
());
notice
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
notice
.
setNextTaskId
(
workflowResult
.
getNextTaskId
());
notice
.
setNextExecuteUserIds
(
workflowResult
.
getNextExecutorUserIds
());
}
else
{
dto
.
setNextExecuteUserIds
(
RequestContext
.
getExeUserId
());
notice
.
setNextExecuteUserIds
(
RequestContext
.
getExeUserId
());
}
dto
.
setInstallUnitName
(
reginParams
.
getCompany
().
getCompanyName
());
dto
.
setInstallUnitCreditCode
(
reginParams
.
getCompany
().
getCompanyCode
());
dto
.
setEntrustingUnitName
(
reginParams
.
getCompany
().
getCompanyName
());
dto
.
setEntrustingUnitCreditCode
(
reginParams
.
getCompany
().
getCompanyCode
());
jgRelationEquip
.
setEquId
(
String
.
valueOf
(
obj
.
get
(
"SEQUENCE_NBR"
)));
jgRelationEquip
.
setEquipTransferId
(
applyNo
);
notice
.
setInstallUnitName
(
reginParams
.
getCompany
().
getCompanyName
());
notice
.
setInstallUnitCreditCode
(
reginParams
.
getCompany
().
getCompanyCode
());
notice
.
setEntrustingUnitName
(
reginParams
.
getCompany
().
getCompanyName
());
notice
.
setEntrustingUnitCreditCode
(
reginParams
.
getCompany
().
getCompanyCode
());
if
(!
CollectionUtils
.
isEmpty
(
workflowResultList
))
{
dto
.
setInstanceId
(
workflowResultList
.
get
(
i
).
getInstanceId
());
dto
.
setNoticeStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()));
notice
.
setInstanceId
(
workflowResultList
.
get
(
0
).
getInstanceId
());
notice
.
setNoticeStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_PROCESSED
.
getCode
()));
}
else
{
dto
.
setNoticeStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getCode
()));
notice
.
setNoticeStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_SUBMITTED
.
getCode
()));
}
dto
.
setCreateUserId
(
reginParams
.
getUserModel
().
getUserId
());
list
.
add
(
dto
);
equipList
.
add
(
jgRelationEquip
);
});
notice
.
setCreateUserId
(
reginParams
.
getUserModel
().
getUserId
());
// 插入业务单
jgReformNoticeMapper
.
insert
(
notice
);
jgReformNoticeMapper
.
insertBatchSomeColumn
(
list
);
List
<
JgReformNoticeEq
>
noticeEqs
=
new
ArrayList
<>();
// 更新设备关系表
deviceList
.
forEach
(
obj
->
{
JgReformNoticeEq
jgRelationEquip
=
new
JgReformNoticeEq
();
jgRelationEquip
.
setEquId
(
String
.
valueOf
(
obj
.
get
(
"SEQUENCE_NBR"
)));
jgRelationEquip
.
setEquipTransferId
(
String
.
valueOf
(
sequenceNbr
));
noticeEqs
.
add
(
jgRelationEquip
);
});
jgReformNoticeEqMapper
.
insertBatchSomeColumn
(
noticeEqs
);
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
this
.
buildTask
(
list
,
workflowResultList
);
this
.
buildTask
(
notice
,
workflowResultList
);
}
else
{
this
.
saveTempReformNotice
(
list
);
this
.
saveTempReformNotice
(
notice
);
}
List
<
JgReformNoticeEq
>
jgRelationEquipList
=
equipList
.
stream
().
map
(
jgRelationEquip
->
{
List
<
JgReformNotice
>
collect
=
list
.
stream
().
filter
(
JgReformNotice
->
jgRelationEquip
.
getEquipTransferId
().
equals
(
JgReformNotice
.
getApplyNo
())).
collect
(
Collectors
.
toList
());
Long
sequenceNbr
=
collect
.
get
(
0
).
getSequenceNbr
();
return
jgRelationEquip
.
setEquipTransferId
(
String
.
valueOf
(
sequenceNbr
));
}).
collect
(
Collectors
.
toList
());
jgReformNoticeEqMapper
.
insertBatchSomeColumn
(
jgRelationEquipList
);
this
.
updateRedisBatch
(
list
);
return
list
;
this
.
updateRedisBatch
(
Collections
.
singletonList
(
notice
));
return
Collections
.
singletonList
(
notice
);
}
catch
(
BadRequest
|
LocalBadRequest
e
)
{
log
.
error
(
e
.
getMessage
(),
e
);
this
.
rollBackForDelRedisData
();
...
...
@@ -476,9 +508,11 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
FlowingEquipRedisContext
.
clean
();
}
}
private
void
repeatUsedEquipCheck
(
List
<
Map
<
String
,
Object
>>
equipList
,
String
companyCode
)
{
equipList
.
forEach
(
equipMap
->
EquipUsedCheckStrategyContext
.
getUsedStrategy
(
PROCESS_DEFINITION_KEY
).
equipRepeatUsedCheck
(
String
.
valueOf
(
equipMap
.
get
(
"SEQUENCE_NBR"
)),
companyCode
));
}
private
void
checkRepeatUsed
(
String
submitType
,
JgReformNotice
jgReformNotice
)
{
if
(
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
// 流程中校验
...
...
@@ -489,6 +523,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
.
equipRepeatUsedCheck
(
jgRelationEquip
.
getEquId
(),
jgReformNotice
.
getInstallUnitCreditCode
());
}
}
/**
* 删除 redis校验重复引用设备的数据
*/
...
...
@@ -499,6 +534,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
EquipUsedCheckStrategyContext
.
getUsedStrategy
(
PROCESS_DEFINITION_KEY
)
.
delDataForCheckEquipRepeatUsed
(
Collections
.
singletonList
(
jgRelationEquip
.
getEquId
()),
notice
.
getInstallUnitCreditCode
());
}
private
void
rollBackForDelRedisData
()
{
FlowingEquipRedisContext
.
getContext
().
forEach
(
e
->
{
EquipUsedCheckStrategyContext
.
getUsedStrategy
(
PROCESS_DEFINITION_KEY
)
...
...
@@ -513,17 +549,16 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
}
/**
*
批量
暂存
* 暂存
*
* @param notice
List
移交信息
* @param notice 移交信息
*/
private
void
saveTempReformNotice
(
List
<
JgReformNotice
>
noticeList
)
{
if
(
CollectionUtils
.
isEmpty
(
noticeList
))
{
private
void
saveTempReformNotice
(
JgReformNotice
notice
)
{
if
(
ValidationUtil
.
isEmpty
(
notice
))
{
return
;
}
List
<
TaskModelDto
>
taskModelDtoList
=
noticeList
.
stream
().
map
(
this
::
buildTempTaskModelDto
).
collect
(
Collectors
.
toList
());
commonService
.
buildTaskModel
(
taskModelDtoList
);
TaskModelDto
taskModelDto
=
this
.
buildTempTaskModelDto
(
notice
);
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
}
private
TaskModelDto
buildTempTaskModelDto
(
JgReformNotice
item
)
{
...
...
@@ -539,14 +574,12 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
/**
* 插入代办
*/
private
void
buildTask
(
List
<
JgReformNotice
>
list
,
List
<
WorkflowResultDto
>
workflowResultList
)
{
if
(
CollectionUtils
.
isEmpty
(
list
)
||
CollectionUtils
.
isEmpty
(
workflowResultList
))
{
private
void
buildTask
(
JgReformNotice
notice
,
List
<
WorkflowResultDto
>
workflowResultList
)
{
if
(
ValidationUtil
.
isEmpty
(
notice
)
||
CollectionUtils
.
isEmpty
(
workflowResultList
))
{
return
;
}
List
<
TaskModelDto
>
taskModelDtoList
=
list
.
stream
().
map
(
item
->
this
.
buildTaskModelDto
(
item
,
workflowResultList
.
get
(
0
))).
collect
(
Collectors
.
toList
());
commonService
.
buildTaskModel
(
taskModelDtoList
);
TaskModelDto
taskModelDto
=
this
.
buildTaskModelDto
(
notice
,
workflowResultList
.
get
(
0
));
commonService
.
buildTaskModel
(
Collections
.
singletonList
(
taskModelDto
));
}
/**
...
...
@@ -588,25 +621,21 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
* 启动工作流
*
* @param submitType 提交类型
* @param
deviceList 设备列表
* @param
applyNo 申请单号
* @return 工作流信息
*/
private
List
<
WorkflowResultDto
>
startWorkFlow
(
String
receiveOrgCode
,
String
submitType
,
List
<
Map
<
String
,
Object
>>
deviceList
)
{
private
List
<
WorkflowResultDto
>
startWorkFlow
(
String
receiveOrgCode
,
String
submitType
,
String
applyNo
)
{
if
(!
SUBMIT_TYPE_FLOW
.
equals
(
submitType
))
{
return
new
ArrayList
<>();
}
ActWorkflowBatchDTO
actWorkflowBatchDTO
=
new
ActWorkflowBatchDTO
();
List
<
ActWorkflowStartDTO
>
list
=
deviceList
.
stream
()
.
map
(
item
->
{
List
<
ActWorkflowStartDTO
>
list
=
new
ArrayList
<>();
ActWorkflowStartDTO
dto
=
new
ActWorkflowStartDTO
();
dto
.
setProcessDefinitionKey
(
PROCESS_DEFINITION_KEY
);
dto
.
setBusinessKey
(
item
.
get
(
"SEQUENCE_NBR"
).
toString
()
);
dto
.
setBusinessKey
(
applyNo
);
dto
.
setCompleteFirstTask
(
Boolean
.
TRUE
);
dto
.
setNextExecuteUserCompanyCode
(
receiveOrgCode
);
return
dto
;
})
.
collect
(
Collectors
.
toList
());
list
.
add
(
dto
);
actWorkflowBatchDTO
.
setProcess
(
list
);
List
<
ProcessTaskDTO
>
processTaskDTOS
=
cmWorkflowService
.
startBatch
(
actWorkflowBatchDTO
);
// 组装工作流返回的数据
...
...
@@ -759,9 +788,15 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
* @param op 通过或驳回
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
accept
(
JgReformNoticeDto
dto
,
String
op
)
{
String
instanceId
=
dto
.
getInstanceId
();
String
nextTaskId
=
dto
.
getNextTaskId
();
public
void
accept
(
Map
<
String
,
Object
>
map
,
String
op
)
{
LinkedHashMap
model1
=
(
LinkedHashMap
)
map
.
get
(
"model"
);
String
opinion
=
(
String
)
map
.
get
(
"opinion"
);
String
jsonString
=
JSON
.
toJSONString
(
model1
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
jsonString
);
JgReformNoticeDto
jgReformNoticeDto
=
JSON
.
parseObject
(
jsonString
,
JgReformNoticeDto
.
class
);
jgReformNoticeDto
.
setRemark
(
opinion
);
String
instanceId
=
jgReformNoticeDto
.
getInstanceId
();
String
nextTaskId
=
jgReformNoticeDto
.
getNextTaskId
();
String
lockKey
=
CommonServiceImpl
.
buildJgExecuteLockKey
(
instanceId
);
RLock
lock
=
redissonClient
.
getLock
(
lockKey
);
try
{
...
...
@@ -773,16 +808,8 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
// 流程执行时,状态及权限校验
commonService
.
checkForExecuteFlow
(
nextTaskId
,
instanceId
);
ReginParams
reginParams
=
JSONObject
.
parseObject
(
redisUtils
.
get
(
RedisKey
.
buildReginKey
(
RequestContext
.
getExeUserId
(),
RequestContext
.
getToken
())).
toString
(),
ReginParams
.
class
);
JgReformNotice
jgReformNotice
=
baseMapper
.
selectById
(
dto
.
getSequenceNbr
());
JgReformNotice
jgReformNotice
=
baseMapper
.
selectById
(
jgReformNoticeDto
.
getSequenceNbr
());
jgReformNotice
.
setCreateUserCompanyName
(
reginParams
.
getCompany
().
getCompanyName
());
// 组装设备注册代码
String
ym
=
null
;
try
{
ym
=
DateUtils
.
dateFormat
(
new
Date
(),
DateUtils
.
DATE_PATTERN_MM
);
}
catch
(
ParseException
e
)
{
log
.
error
(
"日期转换失败:{}"
,
e
.
getMessage
());
}
TaskResultDTO
workDto
=
new
TaskResultDTO
();
workDto
.
setResultCode
(
"approvalStatus"
);
...
...
@@ -795,28 +822,39 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
}
workDto
.
setNextExecuteUserCompanyCode
(
"1"
.
equals
(
op
)
?
jgReformNotice
.
getInstallUnitCreditCode
()
:
jgReformNotice
.
getReceiveOrgCode
());
workDto
.
setVariable
(
commMap
);
workDto
.
setComment
(
d
to
.
getRemark
());
workDto
.
setComment
(
jgReformNoticeD
to
.
getRemark
());
ProcessTaskDTO
processTaskDTO
=
cmWorkflowService
.
completeOrReject
(
jgReformNotice
.
getNextTaskId
(),
workDto
,
op
);
WorkflowResultDto
workflowResultDto
=
commonService
.
buildWorkFlowInfo
(
Collections
.
singletonList
(
processTaskDTO
)).
get
(
0
);
jgReformNotice
.
setPromoter
(
reginParams
.
getUserModel
().
getUserId
());
jgReformNotice
.
setRemark
(
d
to
.
getRemark
());
jgReformNotice
.
setRemark
(
jgReformNoticeD
to
.
getRemark
());
TaskV2Model
taskV2Model
;
if
(
"0"
.
equals
(
op
))
{
if
(
StringUtils
.
isEmpty
(
workflowResultDto
.
getNextExecutorRoleIds
()))
{
LambdaQueryWrapper
<
JgReformNoticeEq
>
queryWrapper
=
new
LambdaQueryWrapper
<>();
queryWrapper
.
eq
(
JgReformNoticeEq:
:
getEquipTransferId
,
dto
.
getSequenceNbr
());
JgReformNoticeEq
jgRelationEquip
=
jgReformNoticeEqMapper
.
selectOne
(
queryWrapper
);
// 通过时记录历史数据
this
.
saveHisDataBeforeUpdate
(
jgReformNotice
,
jgRelationEquip
.
getEquId
());
queryWrapper
.
eq
(
JgReformNoticeEq:
:
getEquipTransferId
,
jgReformNoticeDto
.
getSequenceNbr
());
List
<
JgReformNoticeEq
>
noticeEqs
=
jgReformNoticeEqMapper
.
selectList
(
queryWrapper
);
noticeEqs
.
forEach
(
noticeEq
->{
// 安装告知书编号
String
ym
=
null
;
try
{
ym
=
DateUtils
.
dateFormat
(
new
Date
(),
DateUtils
.
DATE_PATTERN_MM
);
}
catch
(
ParseException
e
)
{
log
.
error
(
"日期转换失败:{}"
,
e
.
getMessage
());
}
LambdaQueryWrapper
<
RegistrationInfo
>
queryWrapper2
=
new
LambdaQueryWrapper
<>();
queryWrapper2
.
eq
(
RegistrationInfo:
:
getRecord
,
jgRelationEquip
.
getEquId
());
queryWrapper2
.
eq
(
RegistrationInfo:
:
getRecord
,
noticeEq
.
getEquId
());
RegistrationInfo
tzsJgRegistrationInfo
=
tzsJgRegistrationInfoMapper
.
selectOne
(
queryWrapper2
);
String
equCode
=
Optional
.
ofNullable
(
tzsJgRegistrationInfo
.
getEquDefine
())
.
orElse
(
tzsJgRegistrationInfo
.
getEquCategory
());
String
registrationCode
=
equCode
+
jgReformNotice
.
getReceiveCompanyCode
()
+
ym
;
ResponseModel
<
String
>
responseModel
=
tzsServiceFeignClient
.
deviceRegistrationCode
(
registrationCode
);
String
deviceRegistrationCode
=
responseModel
.
getResult
();
jgReformNotice
.
setInformNumber
(
deviceRegistrationCode
);
noticeEq
.
setInformNumber
(
deviceRegistrationCode
);
jgReformNoticeEqMapper
.
updateById
(
noticeEq
);
});
// 通过时记录历史数据
this
.
saveHisDataBeforeUpdate
(
jgReformNotice
,
jsonObject
);
jgReformNotice
.
setAcceptDate
(
new
Date
());
jgReformNotice
.
setNoticeStatus
(
String
.
valueOf
(
FlowStatusEnum
.
TO_BE_FINISHED
.
getCode
()));
jgReformNotice
.
setPromoter
(
""
);
...
...
@@ -841,11 +879,8 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
}
else
{
jgReformNotice
.
setPromoter
(
""
);
jgReformNotice
.
setNoticeStatus
(
String
.
valueOf
(
FlowStatusEnum
.
REJECTED
.
getCode
()));
jgReformNotice
.
setSupervisoryCode
(
dto
.
getSupervisoryCode
());
jgReformNotice
.
setEquList
(
dto
.
getEquList
());
jgReformNotice
.
setNextTaskId
(
workflowResultDto
.
getNextTaskId
());
jgReformNotice
.
setNextExecuteUserIds
(
workflowResultDto
.
getNextExecutorUserIds
());
// jgReformNotice.setInstanceId(workflowResultDto.getInstanceId());
// 上个代办改为驳回
taskV2Model
=
this
.
updateLastTodo
(
jgReformNotice
,
FlowStatusEnum
.
REJECTED
);
...
...
@@ -864,9 +899,9 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
}
private
void
saveHisDataBeforeUpdate
(
JgReformNotice
jgReformNotice
,
String
equId
)
{
Map
<
String
,
Object
>
map
=
idxBizJgRegisterInfoService
.
getDetailFieldCamelCaseByRecord
(
equId
);
commonService
.
saveOrUpdateHistory
(
BusinessTypeEnum
.
JG_MODIFICATION_NOTIFICATION
.
getName
(),
new
JSONObject
(
map
),
equId
,
jgReformNotice
.
getSequenceNbr
().
toString
(
));
private
void
saveHisDataBeforeUpdate
(
JgReformNotice
jgReformNotice
,
JSONObject
jsonObject
)
{
commonService
.
saveOrUpdateHistory
(
BusinessTypeEnum
.
JG_MODIFICATION_NOTIFICATION
.
getName
(),
new
JSONObject
(
jsonObject
),
null
,
String
.
valueOf
(
jgReformNotice
.
getSequenceNbr
()
));
}
public
InstanceRuntimeData
buildInstanceRuntimeData
(
JgReformNotice
jgReformNotice
)
{
...
...
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