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
e832df25
Commit
e832df25
authored
Mar 12, 2024
by
tangwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
运维人员管理
parent
9b8137c6
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
590 additions
and
118 deletions
+590
-118
MaintenanceDto.java
...yeejoin/amos/boot/module/hygf/api/dto/MaintenanceDto.java
+16
-0
Maintenance.java
...yeejoin/amos/boot/module/hygf/api/entity/Maintenance.java
+66
-52
MaintenanceFile.java
...oin/amos/boot/module/hygf/api/entity/MaintenanceFile.java
+9
-7
MaintenanceMapper.java
...n/amos/boot/module/hygf/api/mapper/MaintenanceMapper.java
+23
-0
MaintenanceUtil.java
...ejoin/amos/boot/module/hygf/api/util/MaintenanceUtil.java
+28
-0
MaintenanceMapper.xml
...api/src/main/resources/mapper/mysql/MaintenanceMapper.xml
+91
-0
MaintenanceController.java
...oot/module/hygf/biz/controller/MaintenanceController.java
+67
-47
MaintenanceServiceImpl.java
.../module/hygf/biz/service/impl/MaintenanceServiceImpl.java
+290
-12
No files found.
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/dto/MaintenanceDto.java
View file @
e832df25
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
dto
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.yeejoin.amos.boot.module.hygf.api.entity.MaintenanceFile
;
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
;
import
java.util.List
;
/**
* 运维人员
...
...
@@ -126,8 +129,21 @@ public class MaintenanceDto extends BaseDto {
@ApiModelProperty
(
value
=
"常住地址"
)
private
String
permanentAddressName
;
/**
*
* 基础人员表
* */
private
Long
foundationId
;
//证书
List
<
MaintenanceFile
>
maintenanceFiles
;
@ApiModelProperty
(
value
=
"身份证正面"
)
private
List
<
Object
>
idCardFrontList
;
@ApiModelProperty
(
value
=
"身份证反面"
)
private
List
<
Object
>
idCardOppositeList
;
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/entity/Maintenance.java
View file @
e832df25
...
...
@@ -2,11 +2,13 @@ package com.yeejoin.amos.boot.module.hygf.api.entity;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
import
java.util.List
;
/**
* 运维人员
...
...
@@ -25,211 +27,223 @@ public class Maintenance extends BaseEntity {
/**
* 运维人员类型名称
*/
@TableField
(
"maintenance_type"
)
@TableField
(
"maintenance_type"
)
private
String
maintenanceType
;
/**
* 运维人员类型code
*/
@TableField
(
"maintenance_type_code"
)
@TableField
(
"maintenance_type_code"
)
private
String
maintenanceTypeCode
;
/**
* 运维区域名称
*/
@TableField
(
"maintenance_area"
)
@TableField
(
"maintenance_area"
)
private
String
maintenanceArea
;
/**
* 运维区域code
*/
@TableField
(
"maintenance_area_code"
)
private
String
maintenanceAreaCode
;
@TableField
(
value
=
"maintenance_area_code"
,
typeHandler
=
FastjsonTypeHandler
.
class
)
private
List
<
Integer
>
maintenanceAreaCode
;
/**
* 运维工种名称
*/
@TableField
(
"maintenance_workers"
)
@TableField
(
"maintenance_workers"
)
private
String
maintenanceWorkers
;
/**
* 运维工种code
*/
@TableField
(
"maintenance_workers_code"
)
@TableField
(
"maintenance_workers_code"
)
private
String
maintenanceWorkersCode
;
/**
* 所属区域公司id
*/
@TableField
(
"regional_companies_seq"
)
@TableField
(
"regional_companies_seq"
)
private
Long
regionalCompaniesSeq
;
/**
* 所属区域公司名称
*/
@TableField
(
"regional_companies_name"
)
@TableField
(
"regional_companies_name"
)
private
String
regionalCompaniesName
;
/**
* 所属区域公司code
*/
@TableField
(
"regional_companies_code"
)
@TableField
(
"regional_companies_code"
)
private
String
regionalCompaniesCode
;
/**
* 业务经销商name
*/
@TableField
(
"dealer_name"
)
@TableField
(
"dealer_name"
)
private
String
dealerName
;
/**
* 业务经销商id
*/
@TableField
(
"dealer_id"
)
@TableField
(
"dealer_id"
)
private
Long
dealerId
;
/**
* 平台经销商单位id
*/
@TableField
(
"amos_dealer_id"
)
@TableField
(
exist
=
false
)
private
Long
amosDealerId
;
/**
*
* 基础人员表
* */
@TableField
(
"foundation_id"
)
private
Long
foundationId
;
/**
* 平台经销商code
*/
@TableField
(
"amos_dealer_code"
)
@TableField
(
exist
=
false
)
private
String
amosDealerCode
;
/**
* 证件号码
*/
@TableField
(
"id_card"
)
private
String
idCard
;
@TableField
(
exist
=
false
)
private
String
idCard
;
/**
* 身份证正面
*/
@TableField
(
"id_card_front"
)
private
String
idCardFront
;
@TableField
(
exist
=
false
,
typeHandler
=
FastjsonTypeHandler
.
class
)
private
List
<
Object
>
idCardFront
;
/**
* 身份证反面
*/
@TableField
(
"id_card_opposite"
)
private
String
idCardOpposite
;
@TableField
(
exist
=
false
,
typeHandler
=
FastjsonTypeHandler
.
class
)
private
List
<
Object
>
idCardOpposite
;
/**
* 业主姓名
*/
@TableField
(
"name"
)
@TableField
(
exist
=
false
)
private
String
name
;
/**
* 联系电话
*/
@TableField
(
"telephone"
)
@TableField
(
exist
=
false
)
private
String
telephone
;
/**
* 证件类型
*/
@TableField
(
"id_type"
)
@TableField
(
exist
=
false
)
private
String
idType
;
/**
* 管理员账户名
*/
@TableField
(
"admin_login_name"
)
@TableField
(
exist
=
false
)
private
String
adminLoginName
;
/**
* 管理员密码
*/
@TableField
(
"admin_login_pwd"
)
@TableField
(
exist
=
false
)
private
String
adminLoginPwd
;
/**
* 平台userId
*/
@TableField
(
exist
=
false
)
private
String
amosUserId
;
/**
* 是否锁定
*/
@TableField
(
exist
=
false
)
private
String
lockStatus
;
/**
* 低压电工证
*/
@TableField
(
"electrician_certificate"
)
private
String
electricianCertificate
;
@TableField
(
exist
=
false
,
typeHandler
=
FastjsonTypeHandler
.
class
)
private
List
<
Object
>
electricianCertificate
;
/**
* 登高证
*/
@TableField
(
"climbing_certificate"
)
private
String
climbingCertificate
;
@TableField
(
exist
=
false
,
typeHandler
=
FastjsonTypeHandler
.
class
)
private
List
<
Object
>
climbingCertificate
;
/**
* 低压电工证有效期开始
*/
@TableField
(
"electrician_certificate_start"
)
@TableField
(
exist
=
false
)
private
Date
electricianCertificateStart
;
/**
* 低压电工证有效期结束
*/
@TableField
(
"electrician_certificate_end"
)
@TableField
(
exist
=
false
)
private
Date
electricianCertificateEnd
;
/**
* 登高证有效期开始
*/
@TableField
(
"climbing_certificate_start"
)
@TableField
(
exist
=
false
)
private
Date
climbingCertificateStart
;
/**
* 登高证有效期结束
*/
@TableField
(
"climbing_certificate_end"
)
@TableField
(
exist
=
false
)
private
Date
climbingCertificateEnd
;
/**
* 培训状态
*/
@TableField
(
"training_status"
)
@TableField
(
"training_status"
)
private
String
trainingStatus
;
/**
* 审核状态
*/
@TableField
(
"review_status"
)
@TableField
(
"review_status"
)
private
String
reviewStatus
;
/**
* 平台userId
*/
@TableField
(
"amos_user_id"
)
private
String
amosUserId
;
/**
* 是否锁定
*/
@TableField
(
"lock_status"
)
private
String
lockStatus
;
/**
* 运维区域详细地址
*/
@TableField
(
"maintenance_area_address"
)
@TableField
(
"maintenance_area_address"
)
private
String
maintenanceAreaAddress
;
/**
* 常住地址code
*/
@TableField
(
"permanent_address_code"
)
private
String
permanentAddressCode
;
@TableField
(
value
=
"permanent_address_code"
,
typeHandler
=
FastjsonTypeHandler
.
class
)
private
List
<
Integer
>
permanentAddressCode
;
/**
* 常住详细地址
*/
@TableField
(
"permanent_address_detail"
)
@TableField
(
"permanent_address_detail"
)
private
String
permanentAddressDetail
;
/**
* 常住地址
*/
@TableField
(
"permanent_address_name"
)
@TableField
(
"permanent_address_name"
)
private
String
permanentAddressName
;
//证书
@TableField
(
exist
=
false
)
List
<
MaintenanceFile
>
maintenanceFiles
;
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/entity/MaintenanceFile.java
View file @
e832df25
...
...
@@ -2,11 +2,13 @@ package com.yeejoin.amos.boot.module.hygf.api.entity;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler
;
import
com.yeejoin.amos.boot.biz.common.entity.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.experimental.Accessors
;
import
java.util.Date
;
import
java.util.List
;
/**
* 运维人员文件
...
...
@@ -25,37 +27,37 @@ public class MaintenanceFile extends BaseEntity {
/**
* 运维人员id
*/
@TableField
(
"maintenance_id"
)
@TableField
(
"maintenance_id"
)
private
Long
maintenanceId
;
/**
* 文件标识
*/
@TableField
(
"file_key"
)
@TableField
(
"file_key"
)
private
String
fileKey
;
/**
* 文件标识名称
*/
@TableField
(
"file_key_name"
)
@TableField
(
"file_key_name"
)
private
String
fileKeyName
;
/**
* 文件对象
*/
@TableField
(
"file_url"
)
private
String
fileUrl
;
@TableField
(
value
=
"file_url"
,
typeHandler
=
FastjsonTypeHandler
.
class
)
private
List
<
Object
>
fileUrl
;
/**
* 有效开始时间
*/
@TableField
(
"effective_date_start"
)
@TableField
(
"effective_date_start"
)
private
Date
effectiveDateStart
;
/**
* 有效结束时间
*/
@TableField
(
"effective_date_end"
)
@TableField
(
"effective_date_end"
)
private
Date
effectiveDateEnd
;
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/mapper/MaintenanceMapper.java
View file @
e832df25
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
mapper
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.MaintenanceDto
;
import
com.yeejoin.amos.boot.module.hygf.api.entity.Maintenance
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.io.Serializable
;
import
java.util.Collection
;
import
java.util.List
;
/**
* 运维人员 Mapper 接口
...
...
@@ -11,4 +17,21 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public
interface
MaintenanceMapper
extends
BaseMapper
<
Maintenance
>
{
//验证平台手机号验证平台账号
public
Integer
selectauthLogininfo
(
@Param
(
"telephone"
)
String
telephone
,
@Param
(
"adminLoginName"
)
String
adminLoginName
);
//验证运维人员手机号账号
public
Integer
selectMaintenance
(
@Param
(
"telephone"
)
String
telephone
,
@Param
(
"adminLoginName"
)
String
adminLoginName
);
//列表
List
<
MaintenanceDto
>
Maintenancepage
(
@Param
(
"name"
)
String
name
,
@Param
(
"maintenanceTypeCode"
)
String
maintenanceTypeCode
,
@Param
(
"lockStatus"
)
String
lockStatus
,
@Param
(
"reviewStatus"
)
String
reviewStatus
,
@Param
(
"regionalCompaniesSeq"
)
Long
regionalCompaniesSeq
,
@Param
(
"dealerId"
)
Long
dealerId
);
//详情
MaintenanceDto
selectOneById
(
@Param
(
"sequenceNbr"
)
Long
sequenceNbr
);
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/util/MaintenanceUtil.java
0 → 100644
View file @
e832df25
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
api
.
util
;
import
java.util.HashMap
;
/**
* @description:
* @author: tw
* @createDate: 2024/3/12
*/
public
class
MaintenanceUtil
{
//"培训状态"
public
static
final
String
YPX
=
"已培训"
;
public
static
final
String
WPX
=
"未培训"
;
//"审核状态"
public
static
final
String
SHZ
=
"审核中"
;
public
static
final
String
TG
=
"通过"
;
public
static
final
String
BH
=
"驳回"
;
//"是否锁定"
public
static
final
String
OK
=
"是"
;
public
static
final
String
NO
=
"否"
;
}
amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/resources/mapper/mysql/MaintenanceMapper.xml
View file @
e832df25
...
...
@@ -2,4 +2,95 @@
<!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.hygf.api.mapper.MaintenanceMapper"
>
<select
id=
"selectauthLogininfo"
resultType=
"INT"
>
select COUNT(privilege_agency_user.SEQUENCE_NBR ) from privilege_agency_user where
privilege_agency_user.MOBILE=#{telephone}
or privilege_agency_user.USER_NAME=#{telephone}
or privilege_agency_user.USER_NAME=#{adminLoginName}
</select>
<select
id=
"selectMaintenance"
resultType=
"INT"
>
select COUNT(hygf_maintenance.SEQUENCE_NBR ) from hygf_maintenance where
hygf_maintenance.review_status!='驳回'
and hygf_maintenance.telephone=#{telephone}
or privilege_agency_user.admin_login_name=#{adminLoginName}
</select>
<select
id=
"Maintenancepage"
resultType=
"com.yeejoin.amos.boot.module.hygf.api.dto.MaintenanceDto"
>
select
ph.*,
std_user_biz.real_name name,
std_user_biz.emergency_telephone telephone,
std_user_biz.id_type idType,
std_user_biz.id_number idCard,
std_user_biz.amos_user_name adminLoginName,
std_user_biz.password adminLoginPwd,
std_user_biz.amos_user_id amosUserId,
CASE WHEN std_user_biz.lock_status = 'UNLOCK' THEN '否'
ELSE '是' END AS lockStatus,
std_user_biz.id_card_front idCardFront,
std_user_biz.id_card_opposite idCardOpposite,
std_user_biz.amos_org_code amosDealerCode,
std_user_biz.amos_id amosDealerId
from hygf_maintenance ph LEFT JOIN std_user_biz on ph.foundation_id=std_user_biz.sequence_nbr
<where>
ph.is_delete = 0
<if
test=
"name != null and name != ''"
>
AND ph.name LIKE CONCAT('%', #{name}, '%')
</if>
<if
test=
"maintenanceTypeCode != null and maintenanceTypeCode != ''"
>
AND ph.maintenance_type_code = #{maintenanceTypeCode}
</if>
<if
test=
"lockStatus != null and lockStatus != ''"
>
AND ph.lock_status
>
= #{lockStatus}
</if>
<if
test=
"reviewStatus != null and reviewStatus != ''"
>
AND ph.review_status
>
= #{reviewStatus}
</if>
<if
test=
"regionalCompaniesSeq != null and regionalCompaniesSeq != ''"
>
AND ph.regional_companies_seq
>
= #{regionalCompaniesSeq}
</if>
<if
test=
"dealerId != null and dealerId != ''"
>
AND ph.dealer_id
>
= #{dealerId}
</if>
</where>
</select>
<select
id=
"selectOneById"
resultType=
"com.yeejoin.amos.boot.module.hygf.api.dto.MaintenanceDto"
>
select
ph.*,
std_user_biz.real_name name,
std_user_biz.emergency_telephone telephone,
std_user_biz.id_type idType,
std_user_biz.id_number idCard,
std_user_biz.amos_user_name adminLoginName,
std_user_biz.password adminLoginPwd,
std_user_biz.amos_user_id amosUserId,
std_user_biz.lock_status lockStatus,
std_user_biz.id_card_front idCardFront,
std_user_biz.id_card_opposite idCardOpposite,
std_user_biz.amos_org_code amosDealerCode,
std_user_biz.amos_id amosDealerId
from hygf_maintenance ph LEFT JOIN std_user_biz on ph.foundation_id=std_user_biz.sequence_nbr
where ph.is_delete = 0 and ph.sequence_nbr=#{sequenceNbr}
</select>
</mapper>
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/controller/MaintenanceController.java
View file @
e832df25
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
biz
.
controller
;
import
com.yeejoin.amos.boot.module.hygf.api.entity.Maintenance
;
import
com.yeejoin.amos.boot.module.hygf.api.entity.MaintenanceLog
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.Api
;
...
...
@@ -37,28 +39,28 @@ public class MaintenanceController extends BaseController {
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增运维人员"
,
notes
=
"新增运维人员"
)
public
ResponseModel
<
MaintenanceDto
>
save
(
@RequestBody
MaintenanceDto
model
)
{
model
=
maintenanceServiceImpl
.
sav
e
(
model
);
return
ResponseHelper
.
buildResponse
(
model
);
}
/**
@PostMapping
(
value
=
"/save"
)
@ApiOperation
(
httpMethod
=
"POST"
,
value
=
"新增运维人员"
,
notes
=
"新增运维人员"
)
public
ResponseModel
<
Maintenance
>
save
(
@RequestBody
Maintenance
model
)
{
model
=
maintenanceServiceImpl
.
saveMaintenanc
e
(
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
<
MaintenanceDto
>
updateBySequenceNbrMaintenance
(
@RequestBody
MaintenanceDto
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
maintenanceServiceImpl
.
updateWithModel
(
model
));
}
/**
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PutMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"PUT"
,
value
=
"根据sequenceNbr更新运维人员"
,
notes
=
"根据sequenceNbr更新运维人员"
)
public
ResponseModel
<
MaintenanceDto
>
updateBySequenceNbrMaintenance
(
@RequestBody
MaintenanceDto
model
,
@PathVariable
(
value
=
"sequenceNbr"
)
Long
sequenceNbr
)
{
model
.
setSequenceNbr
(
sequenceNbr
);
return
ResponseHelper
.
buildResponse
(
maintenanceServiceImpl
.
updateWithModel
(
model
));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
...
...
@@ -74,43 +76,61 @@ public class MaintenanceController extends BaseController {
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询单个运维人员"
,
notes
=
"根据sequenceNbr查询单个运维人员"
)
public
ResponseModel
<
MaintenanceDto
>
selectOne
(
@PathVariable
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
maintenanceServiceImpl
.
queryBySeq
(
sequenceNbr
));
}
/**
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"根据sequenceNbr查询单个运维人员"
,
notes
=
"根据sequenceNbr查询单个运维人员"
)
public
ResponseModel
<
MaintenanceDto
>
selectOne
(
@PathVariable
Long
sequenceNbr
)
{
return
ResponseHelper
.
buildResponse
(
maintenanceServiceImpl
.
selectOneById
(
sequenceNbr
));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/page"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"运维人员分页查询"
,
notes
=
"运维人员分页查询"
)
public
ResponseModel
<
Page
<
MaintenanceDto
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
)
{
Page
<
MaintenanceDto
>
page
=
new
Page
<
MaintenanceDto
>();
page
.
setCurrent
(
current
);
page
.
setSize
(
size
);
return
ResponseHelper
.
buildResponse
(
maintenanceServiceImpl
.
queryForMaintenancePage
(
page
));
}
/**
* 列表全部数据查询
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@GetMapping
(
value
=
"/page"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"运维人员分页查询"
,
notes
=
"运维人员分页查询"
)
public
ResponseModel
<
Page
<
MaintenanceDto
>>
queryForPage
(
@RequestParam
(
value
=
"current"
)
int
current
,
@RequestParam
(
value
=
"size"
)
int
size
,
@RequestParam
(
required
=
false
)
String
name
,
@RequestParam
(
required
=
false
)
String
maintenanceTypeCode
,
@RequestParam
(
required
=
false
)
String
lockStatus
,
@RequestParam
(
required
=
false
)
String
reviewStatus
,
@RequestParam
(
required
=
false
)
Long
regionalCompaniesSeq
,
@RequestParam
(
required
=
false
)
Long
dealerId
)
{
return
ResponseHelper
.
buildResponse
(
maintenanceServiceImpl
.
queryForMaintenancePage
(
current
,
size
,
name
,
maintenanceTypeCode
,
lockStatus
,
reviewStatus
,
regionalCompaniesSeq
,
dealerId
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@PostMapping
(
value
=
"examine/{sequenceNbr}"
)
@ApiOperation
(
httpMethod
=
"post"
,
value
=
"审核单个运维人员"
,
notes
=
"审核单个运维人员"
)
public
ResponseModel
<
Maintenance
>
examine
(
@PathVariable
Long
sequenceNbr
,
@RequestBody
MaintenanceLog
maintenanceLog
)
{
return
ResponseHelper
.
buildResponse
(
maintenanceServiceImpl
.
examine
(
sequenceNbr
,
maintenanceLog
));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"运维人员列表全部数据查询"
,
notes
=
"运维人员列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
MaintenanceDto
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
maintenanceServiceImpl
.
queryForMaintenanceList
());
}
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"运维人员列表全部数据查询"
,
notes
=
"运维人员列表全部数据查询"
)
@GetMapping
(
value
=
"/list"
)
public
ResponseModel
<
List
<
MaintenanceDto
>>
selectForList
()
{
return
ResponseHelper
.
buildResponse
(
maintenanceServiceImpl
.
queryForMaintenanceList
());
}
}
amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/MaintenanceServiceImpl.java
View file @
e832df25
package
com
.
yeejoin
.
amos
.
boot
.
module
.
hygf
.
biz
.
service
.
impl
;
import
com.yeejoin.amos.boot.module.hygf.api.entity.Maintenance
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.MaintenanceMapper
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageInfo
;
import
com.yeejoin.amos.boot.biz.common.utils.RedisUtils
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.AcceptanceDto
;
import
com.yeejoin.amos.boot.module.hygf.api.entity.*
;
import
com.yeejoin.amos.boot.module.hygf.api.mapper.*
;
import
com.yeejoin.amos.boot.module.hygf.api.service.IMaintenanceService
;
import
com.yeejoin.amos.boot.module.hygf.api.dto.MaintenanceDto
;
import
com.yeejoin.amos.boot.module.hygf.api.util.DesUtil
;
import
com.yeejoin.amos.boot.module.hygf.api.util.MaintenanceUtil
;
import
com.yeejoin.amos.boot.module.standard.api.entity.PublicAgencyUser
;
import
com.yeejoin.amos.boot.module.standard.api.mapper.PublicAgencyUserMapper
;
import
com.yeejoin.amos.component.feign.model.FeignClientResult
;
import
com.yeejoin.amos.feign.privilege.Privilege
;
import
com.yeejoin.amos.feign.privilege.model.AgencyUserModel
;
import
com.yeejoin.amos.feign.privilege.model.CompanyModel
;
import
com.yeejoin.amos.feign.privilege.model.RoleModel
;
import
com.yeejoin.amos.feign.systemctl.Systemctl
;
import
com.yeejoin.amos.feign.systemctl.model.RegionModel
;
import
net.sf.json.JSONObject
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.typroject.tyboot.core.rdbms.service.BaseService
;
import
org.springframework.stereotype.Service
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
java.util.List
;
import
org.typroject.tyboot.core.restful.exception.instance.BadRequest
;
import
java.util.*
;
/**
* 运维人员服务实现类
...
...
@@ -17,11 +43,48 @@ import java.util.List;
*/
@Service
public
class
MaintenanceServiceImpl
extends
BaseService
<
MaintenanceDto
,
Maintenance
,
MaintenanceMapper
>
implements
IMaintenanceService
{
@Autowired
RegionalCompaniesMapper
regionalCompaniesMapper
;
@Autowired
private
UnitInfoServiceImpl
unitInfoService
;
@Autowired
MaintenanceFileServiceImpl
maintenanceFileServiceImpl
;
@Autowired
MaintenanceMapper
maintenanceMapper
;
@Autowired
PublicAgencyUserMapper
publicAgencyUserMapper
;
@Autowired
MaintenanceLogMapper
maintenanceLogMapper
;
@Value
(
"${dealer.appcode.manage}"
)
private
String
appCodes
;
@Value
(
"${dealer.appcode.role}"
)
private
Long
role
;
@Autowired
RedisUtils
redisUtil
;
private
static
final
String
regionRedis
=
"app_region_redis"
;
@Value
(
"${amos.secret.key}"
)
String
secretKey
;
/**
* 分页查询
*/
public
Page
<
MaintenanceDto
>
queryForMaintenancePage
(
Page
<
MaintenanceDto
>
page
)
{
return
this
.
queryForPage
(
page
,
null
,
false
);
public
Page
<
MaintenanceDto
>
queryForMaintenancePage
(
int
current
,
int
size
,
String
name
,
String
maintenanceTypeCode
,
String
lockStatus
,
String
reviewStatus
,
Long
regionalCompaniesSeq
,
Long
dealerId
)
{
PageHelper
.
startPage
(
current
,
size
);
List
<
MaintenanceDto
>
resultPage
=
maintenanceMapper
.
Maintenancepage
(
name
,
maintenanceTypeCode
,
lockStatus
,
reviewStatus
,
regionalCompaniesSeq
,
dealerId
);
PageInfo
<
MaintenanceDto
>
page
=
new
PageInfo
(
resultPage
);
Page
<
MaintenanceDto
>
pagenew
=
new
Page
<
MaintenanceDto
>();
pagenew
.
setCurrent
(
current
);
pagenew
.
setTotal
(
page
.
getTotal
());
pagenew
.
setSize
(
size
);
pagenew
.
setRecords
(
page
.
getList
());
return
pagenew
;
}
/**
...
...
@@ -32,23 +95,239 @@ public class MaintenanceServiceImpl extends BaseService<MaintenanceDto,Maintenan
}
public
MaintenanceDto
save
(
MaintenanceDto
model
){
@Transactional
public
Maintenance
saveMaintenance
(
Maintenance
model
){
//验证账号是否已存在
Integer
numm
=
maintenanceMapper
.
selectauthLogininfo
(
model
.
getTelephone
(),
model
.
getAdminLoginName
());
//验证手机号是否已注册
Integer
numz
=
maintenanceMapper
.
selectMaintenance
(
model
.
getTelephone
(),
model
.
getAdminLoginName
());
if
(
numm
>
0
||
numz
>
0
){
throw
new
BadRequest
(
"请检查,账号或号码,已存在!"
);
}
//审核状态
model
.
setReviewStatus
(
MaintenanceUtil
.
SHZ
);
//培训状态
model
.
setTrainingStatus
(
MaintenanceUtil
.
WPX
);
//是否锁定
model
.
setLockStatus
(
MaintenanceUtil
.
OK
);
//设置区域公司
RegionalCompanies
regionalCompanies
=
regionalCompaniesMapper
.
selectRegionName
(
model
.
getRegionalCompaniesSeq
());
model
.
setRegionalCompaniesCode
(
regionalCompanies
!=
null
?
regionalCompanies
.
getRegionalCompaniesCode
():
null
);
model
.
setRegionalCompaniesName
(
regionalCompanies
!=
null
?
regionalCompanies
.
getRegionalCompaniesName
():
null
);
//设置经销商
UnitInfo
unitInfo
=
unitInfoService
.
getById
(
model
.
getDealerId
());
model
.
setAmosDealerCode
(
unitInfo
!=
null
?
unitInfo
.
getAmosCompanyCode
():
null
);
model
.
setAmosDealerId
(
unitInfo
!=
null
?
unitInfo
.
getAmosCompanySeq
():
null
);
model
.
setDealerId
(
unitInfo
!=
null
?
unitInfo
.
getSequenceNbr
():
null
);
model
.
setDealerName
(
unitInfo
!=
null
?
unitInfo
.
getName
():
null
);
//运维区域 name
JSONArray
regionName
=
getRegionName
();
List
<
RegionModel
>
list
=
JSONArray
.
parseArray
(
regionName
.
toJSONString
(),
RegionModel
.
class
);
if
(
model
.
getMaintenanceAreaCode
()!=
null
){
String
ConsigneeRegion
=
""
;
List
<
Integer
>
da
=
model
.
getMaintenanceAreaCode
();
if
(
da
!=
null
&&!
da
.
isEmpty
()){
for
(
int
i
=
0
;
i
<
da
.
size
();
i
++)
{
for
(
RegionModel
re
:
list
)
{
if
(
re
.
getRegionCode
().
equals
(
Integer
.
valueOf
(
da
.
get
(
i
))))
{
if
(
da
.
size
()-
1
==
i
){
ConsigneeRegion
=
ConsigneeRegion
+
re
.
getRegionName
();
}
else
{
ConsigneeRegion
=
ConsigneeRegion
+
re
.
getRegionName
()
+
"-"
;
}
break
;
}
}
}
model
.
setMaintenanceArea
(
ConsigneeRegion
);
}
}
//设置常住地址
if
(
model
.
getPermanentAddressCode
()!=
null
){
String
ConsigneeRegion
=
""
;
List
<
Integer
>
da
=
model
.
getPermanentAddressCode
();
if
(
da
!=
null
&&!
da
.
isEmpty
()){
for
(
int
i
=
0
;
i
<
da
.
size
();
i
++)
{
for
(
RegionModel
re
:
list
)
{
if
(
re
.
getRegionCode
().
equals
(
Integer
.
valueOf
(
da
.
get
(
i
))))
{
if
(
da
.
size
()-
1
==
i
){
ConsigneeRegion
=
ConsigneeRegion
+
re
.
getRegionName
();
}
else
{
ConsigneeRegion
=
ConsigneeRegion
+
re
.
getRegionName
()
+
"-"
;
}
break
;
}
}
}
model
.
setPermanentAddressName
(
ConsigneeRegion
);
}
}
//存储std
//新增人员基础信息表
PublicAgencyUser
publicAgencyUser
=
new
PublicAgencyUser
();
publicAgencyUser
.
setRealName
(
model
.
getName
());
publicAgencyUser
.
setIdType
(
model
.
getIdType
());
publicAgencyUser
.
setIdNumber
(
model
.
getIdCard
());
publicAgencyUser
.
setAmosId
(
model
.
getAmosDealerId
());
publicAgencyUser
.
setAmosOrgCode
(
model
.
getAmosDealerCode
());
publicAgencyUser
.
setAmosUserId
(
model
.
getAmosUserId
());
publicAgencyUser
.
setAmosUserName
(
model
.
getAdminLoginName
());
publicAgencyUser
.
setPassword
(
DesUtil
.
encode
(
model
.
getAdminLoginPwd
(),
secretKey
));
publicAgencyUser
.
setRole
(
null
);
publicAgencyUser
.
setLockStatus
(
"LOCK"
);
publicAgencyUser
.
setLockTime
(
new
Date
());
publicAgencyUser
.
setEmergencyTelephone
(
model
.
getTelephone
());
publicAgencyUserMapper
.
insert
(
publicAgencyUser
);
//保存运维人员
model
.
setFoundationId
(
publicAgencyUser
.
getSequenceNbr
());
maintenanceMapper
.
insert
(
model
);
//保存证书
if
(
model
.
getMaintenanceFiles
()!=
null
){
List
<
MaintenanceFile
>
maintenanceFiles
=
model
.
getMaintenanceFiles
();
for
(
MaintenanceFile
maintenanceFile
:
maintenanceFiles
)
{
maintenanceFile
.
setMaintenanceId
(
model
.
getSequenceNbr
());
}
maintenanceFileServiceImpl
.
saveBatch
(
maintenanceFiles
);
}
//设置状态
//
// model.set
return
model
;
}
public
JSONArray
getRegionName
()
{
JSONArray
jsonArray
=
new
JSONArray
();
if
(
redisUtil
.
hasKey
(
regionRedis
))
{
jsonArray
=
JSONArray
.
parseArray
(
redisUtil
.
get
(
regionRedis
).
toString
());
}
else
{
Collection
<
RegionModel
>
regionChild
=
new
ArrayList
<>();
RegionModel
regionModel1
=
new
RegionModel
();
regionChild
.
add
(
regionModel1
);
FeignClientResult
<
Collection
<
RegionModel
>>
collectionFeignClientResult
=
Systemctl
.
regionClient
.
queryForTreeParent
(
610000L
);
Collection
<
RegionModel
>
result
=
collectionFeignClientResult
.
getResult
();
for
(
RegionModel
regionModel
:
result
)
{
if
(
null
!=
regionModel
&&
null
!=
regionModel
.
getChildren
())
{
for
(
RegionModel
child
:
regionModel
.
getChildren
())
{
if
(
null
!=
child
&&
null
!=
child
.
getChildren
())
{
for
(
RegionModel
childChild
:
child
.
getChildren
())
{
jsonArray
.
add
(
childChild
);
}
child
.
setChildren
(
regionChild
);
jsonArray
.
add
(
child
);
}
}
regionModel
.
setChildren
(
regionChild
);
jsonArray
.
add
(
regionModel
);
}
}
redisUtil
.
set
(
regionRedis
,
jsonArray
);
}
return
jsonArray
;
}
//详情
public
MaintenanceDto
selectOneById
(
Long
sequenceNbr
){
MaintenanceDto
maintenanceDto
=
maintenanceMapper
.
selectOneById
(
sequenceNbr
);
maintenanceDto
.
setIdCardFrontList
(
maintenanceDto
.
getIdCardFront
()!=
null
?
JSONArray
.
parseArray
(
maintenanceDto
.
getIdCardFront
()):
null
);
maintenanceDto
.
setIdCardOppositeList
(
maintenanceDto
.
getIdCardFront
()!=
null
?
JSONArray
.
parseArray
(
maintenanceDto
.
getIdCardOpposite
()):
null
);
//获取文档
List
<
MaintenanceFile
>
list
=
maintenanceFileServiceImpl
.
list
(
new
QueryWrapper
<
MaintenanceFile
>().
lambda
().
eq
(
MaintenanceFile:
:
getMaintenanceId
,
sequenceNbr
)
);
maintenanceDto
.
setMaintenanceFiles
(
list
);
JSONObject
jsonObject
=
JSONObject
.
fromObject
(
maintenanceDto
);
if
(
list
!=
null
&&!
list
.
isEmpty
()){
for
(
MaintenanceFile
maintenanceFile
:
list
)
{
jsonObject
.
put
(
maintenanceFile
.
getFileKey
(),
maintenanceFile
.
getFileUrl
());
}
}
return
maintenanceDto
;
}
@Transactional
public
Maintenance
examine
(
Long
sequenceNbr
,
MaintenanceLog
maintenanceLog
)
{
//保存操作日志
maintenanceLog
.
setMaintenanceId
(
sequenceNbr
);
maintenanceLogMapper
.
insert
(
maintenanceLog
);
//判断审核状态
Maintenance
maintenance
=
maintenanceMapper
.
selectById
(
sequenceNbr
);
MaintenanceDto
maintenanceDto
=
maintenanceMapper
.
selectOneById
(
sequenceNbr
);
if
(
maintenanceLog
.
getOperationResults
().
equals
(
MaintenanceUtil
.
BH
))
{
maintenance
.
setReviewStatus
(
MaintenanceUtil
.
BH
);
maintenanceMapper
.
updateById
(
maintenance
);
return
maintenance
;
}
else
{
//如果通过添加平台账号
maintenance
.
setReviewStatus
(
MaintenanceUtil
.
TG
);
FeignClientResult
<
AgencyUserModel
>
userResult
=
null
;
//新增平台用户
try
{
// 1 创建平台用户
List
<
RoleModel
>
userRoleList
=
new
ArrayList
<>();
AgencyUserModel
agencyUserModel
=
new
AgencyUserModel
();
agencyUserModel
.
setUserName
(
maintenanceDto
.
getAdminLoginName
());
agencyUserModel
.
setRealName
(
maintenanceDto
.
getName
());
agencyUserModel
.
setLockStatus
(
"UNLOCK"
);
agencyUserModel
.
setPassword
(
maintenanceDto
.
getAdminLoginPwd
());
agencyUserModel
.
setRePassword
(
maintenanceDto
.
getAdminLoginPwd
());
agencyUserModel
.
setAgencyCode
(
"JXIOP"
);
agencyUserModel
.
setMobile
(
maintenanceDto
.
getTelephone
());
List
<
String
>
split
=
Arrays
.
asList
(
StringUtils
.
split
(
appCodes
,
','
));
Map
<
Long
,
List
<
Long
>>
roleSeqMap
=
new
HashMap
<>();
Map
<
Long
,
List
<
RoleModel
>>
orgRoles
=
new
HashMap
<>();
List
<
Long
>
roleIds
=
new
ArrayList
<>();
roleIds
.
add
(
role
);
roleSeqMap
.
put
(
Long
.
valueOf
(
maintenanceDto
.
getAmosDealerId
()),
roleIds
);
orgRoles
.
put
(
Long
.
valueOf
(
maintenanceDto
.
getAmosDealerId
()),
userRoleList
);
agencyUserModel
.
setOrgRoles
(
orgRoles
);
agencyUserModel
.
setOrgRoleSeqs
(
roleSeqMap
);
// 将创建用户加入用户组
userResult
=
Privilege
.
agencyUserClient
.
create
(
agencyUserModel
);
if
(
userResult
==
null
||
userResult
.
getStatus
()
!=
200
)
{
throw
new
BadRequest
(
"新增人员失败!"
+
userResult
.
getDevMessage
());
}
List
<
String
>
userId
=
new
ArrayList
<>();
userId
.
add
(
userResult
.
getResult
().
getUserId
());
for
(
Long
aLong
:
roleIds
)
{
Privilege
.
groupUserClient
.
create
(
aLong
,
userId
);
}
//修改基础表
PublicAgencyUser
publicAgencyUser
=
publicAgencyUserMapper
.
selectById
(
maintenance
.
getFoundationId
());
//新增人员基础信息表
publicAgencyUser
.
setAmosUserId
(
userResult
.
getResult
().
getUserId
());
publicAgencyUser
.
setLockStatus
(
"UNLOCK"
);
publicAgencyUser
.
setLockTime
(
new
Date
());
publicAgencyUser
.
setRole
(
JSON
.
toJSONString
(
roleIds
));
publicAgencyUserMapper
.
updateById
(
publicAgencyUser
);
maintenanceMapper
.
updateById
(
maintenance
);
return
maintenance
;
}
catch
(
Exception
e
)
{
if
(
userResult
!=
null
&&
userResult
.
getResult
()
!=
null
&&
StringUtils
.
isNotEmpty
(
userResult
.
getResult
().
getUserId
()))
{
Privilege
.
agencyUserClient
.
multDeleteUser
(
userResult
.
getResult
().
getUserId
());
}
log
.
error
(
e
.
getMessage
(),
e
);
throw
new
BadRequest
(
e
.
getMessage
());
}
}
}
return
null
;
}
}
\ No newline at end of file
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