Commit d9eef832 authored by chenzhao's avatar chenzhao

Merge branch 'dev0124' of http://36.40.66.175:5000/moa/amos-boot-biz into dev0124

# Conflicts: # amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/java/com/yeejoin/amos/boot/module/hygf/api/mapper/MaintenanceMapper.java # amos-boot-system-jxiop/amos-boot-module-hygf-api/src/main/resources/mapper/mysql/MaintenanceMapper.xml # amos-boot-system-jxiop/amos-boot-module-hygf-biz/src/main/java/com/yeejoin/amos/boot/module/hygf/biz/service/impl/MaintenanceServiceImpl.java
parents 8bc26827 e832df25
package com.yeejoin.amos.boot.module.hygf.api.dto; 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.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 运维人员 * 运维人员
...@@ -126,8 +129,21 @@ public class MaintenanceDto extends BaseDto { ...@@ -126,8 +129,21 @@ public class MaintenanceDto extends BaseDto {
@ApiModelProperty(value = "常住地址") @ApiModelProperty(value = "常住地址")
private String permanentAddressName; private String permanentAddressName;
/**
*
* 基础人员表
* */
private Long foundationId;
//证书
List<MaintenanceFile> maintenanceFiles;
@ApiModelProperty(value = "身份证正面")
private List<Object> idCardFrontList;
@ApiModelProperty(value = "身份证反面")
private List<Object> idCardOppositeList;
} }
...@@ -2,11 +2,13 @@ package com.yeejoin.amos.boot.module.hygf.api.entity; ...@@ -2,11 +2,13 @@ package com.yeejoin.amos.boot.module.hygf.api.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 运维人员 * 运维人员
...@@ -25,211 +27,223 @@ public class Maintenance extends BaseEntity { ...@@ -25,211 +27,223 @@ public class Maintenance extends BaseEntity {
/** /**
* 运维人员类型名称 * 运维人员类型名称
*/ */
@TableField("maintenance_type") @TableField("maintenance_type")
private String maintenanceType; private String maintenanceType;
/** /**
* 运维人员类型code * 运维人员类型code
*/ */
@TableField("maintenance_type_code") @TableField("maintenance_type_code")
private String maintenanceTypeCode; private String maintenanceTypeCode;
/** /**
* 运维区域名称 * 运维区域名称
*/ */
@TableField("maintenance_area") @TableField("maintenance_area")
private String maintenanceArea; private String maintenanceArea;
/** /**
* 运维区域code * 运维区域code
*/ */
@TableField("maintenance_area_code") @TableField(value = "maintenance_area_code",typeHandler = FastjsonTypeHandler.class)
private String maintenanceAreaCode; private List<Integer> maintenanceAreaCode;
/** /**
* 运维工种名称 * 运维工种名称
*/ */
@TableField("maintenance_workers") @TableField("maintenance_workers")
private String maintenanceWorkers; private String maintenanceWorkers;
/** /**
* 运维工种code * 运维工种code
*/ */
@TableField("maintenance_workers_code") @TableField("maintenance_workers_code")
private String maintenanceWorkersCode; private String maintenanceWorkersCode;
/** /**
* 所属区域公司id * 所属区域公司id
*/ */
@TableField("regional_companies_seq") @TableField("regional_companies_seq")
private Long regionalCompaniesSeq; private Long regionalCompaniesSeq;
/** /**
* 所属区域公司名称 * 所属区域公司名称
*/ */
@TableField("regional_companies_name") @TableField("regional_companies_name")
private String regionalCompaniesName; private String regionalCompaniesName;
/** /**
* 所属区域公司code * 所属区域公司code
*/ */
@TableField("regional_companies_code") @TableField("regional_companies_code")
private String regionalCompaniesCode; private String regionalCompaniesCode;
/** /**
* 业务经销商name * 业务经销商name
*/ */
@TableField("dealer_name") @TableField("dealer_name")
private String dealerName; private String dealerName;
/** /**
* 业务经销商id * 业务经销商id
*/ */
@TableField("dealer_id") @TableField("dealer_id")
private Long dealerId; private Long dealerId;
/** /**
* 平台经销商单位id * 平台经销商单位id
*/ */
@TableField("amos_dealer_id") @TableField(exist = false)
private Long amosDealerId; private Long amosDealerId;
/**
*
* 基础人员表
* */
@TableField("foundation_id")
private Long foundationId;
/** /**
* 平台经销商code * 平台经销商code
*/ */
@TableField("amos_dealer_code") @TableField(exist = false)
private String amosDealerCode; private String amosDealerCode;
/** /**
* 证件号码 * 证件号码
*/ */
@TableField("id_card") @TableField(exist = false)
private String idCard; private String idCard;
/** /**
* 身份证正面 * 身份证正面
*/ */
@TableField("id_card_front")
private String idCardFront;
@TableField(exist = false, typeHandler = FastjsonTypeHandler.class)
private List<Object> idCardFront;
/** /**
* 身份证反面 * 身份证反面
*/ */
@TableField("id_card_opposite") @TableField(exist = false, typeHandler = FastjsonTypeHandler.class)
private String idCardOpposite; private List<Object> idCardOpposite;
/** /**
* 业主姓名 * 业主姓名
*/ */
@TableField("name") @TableField(exist = false)
private String name; private String name;
/** /**
* 联系电话 * 联系电话
*/ */
@TableField("telephone") @TableField(exist = false)
private String telephone; private String telephone;
/** /**
* 证件类型 * 证件类型
*/ */
@TableField("id_type") @TableField(exist = false)
private String idType; private String idType;
/** /**
* 管理员账户名 * 管理员账户名
*/ */
@TableField("admin_login_name") @TableField(exist = false)
private String adminLoginName; private String adminLoginName;
/** /**
* 管理员密码 * 管理员密码
*/ */
@TableField("admin_login_pwd") @TableField(exist = false)
private String adminLoginPwd; private String adminLoginPwd;
/**
* 平台userId
*/
@TableField(exist = false)
private String amosUserId;
/**
* 是否锁定
*/
@TableField(exist = false)
private String lockStatus;
/** /**
* 低压电工证 * 低压电工证
*/ */
@TableField("electrician_certificate") @TableField(exist = false, typeHandler = FastjsonTypeHandler.class)
private String electricianCertificate; private List<Object> electricianCertificate;
/** /**
* 登高证 * 登高证
*/ */
@TableField("climbing_certificate") @TableField(exist = false, typeHandler = FastjsonTypeHandler.class)
private String climbingCertificate; private List<Object> climbingCertificate;
/** /**
* 低压电工证有效期开始 * 低压电工证有效期开始
*/ */
@TableField("electrician_certificate_start") @TableField(exist = false)
private Date electricianCertificateStart; private Date electricianCertificateStart;
/** /**
* 低压电工证有效期结束 * 低压电工证有效期结束
*/ */
@TableField("electrician_certificate_end") @TableField(exist = false)
private Date electricianCertificateEnd; private Date electricianCertificateEnd;
/** /**
* 登高证有效期开始 * 登高证有效期开始
*/ */
@TableField("climbing_certificate_start") @TableField(exist = false)
private Date climbingCertificateStart; private Date climbingCertificateStart;
/** /**
* 登高证有效期结束 * 登高证有效期结束
*/ */
@TableField("climbing_certificate_end") @TableField(exist = false)
private Date climbingCertificateEnd; private Date climbingCertificateEnd;
/** /**
* 培训状态 * 培训状态
*/ */
@TableField("training_status") @TableField("training_status")
private String trainingStatus; private String trainingStatus;
/** /**
* 审核状态 * 审核状态
*/ */
@TableField("review_status") @TableField("review_status")
private String reviewStatus; 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; private String maintenanceAreaAddress;
/** /**
* 常住地址code * 常住地址code
*/ */
@TableField("permanent_address_code") @TableField(value ="permanent_address_code",typeHandler = FastjsonTypeHandler.class)
private String permanentAddressCode; private List<Integer> permanentAddressCode;
/** /**
* 常住详细地址 * 常住详细地址
*/ */
@TableField("permanent_address_detail") @TableField("permanent_address_detail")
private String permanentAddressDetail; private String permanentAddressDetail;
/** /**
* 常住地址 * 常住地址
*/ */
@TableField("permanent_address_name") @TableField("permanent_address_name")
private String permanentAddressName; private String permanentAddressName;
//证书
@TableField(exist = false)
List<MaintenanceFile> maintenanceFiles;
} }
...@@ -2,11 +2,13 @@ package com.yeejoin.amos.boot.module.hygf.api.entity; ...@@ -2,11 +2,13 @@ package com.yeejoin.amos.boot.module.hygf.api.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* 运维人员文件 * 运维人员文件
...@@ -25,37 +27,37 @@ public class MaintenanceFile extends BaseEntity { ...@@ -25,37 +27,37 @@ public class MaintenanceFile extends BaseEntity {
/** /**
* 运维人员id * 运维人员id
*/ */
@TableField("maintenance_id") @TableField("maintenance_id")
private Long maintenanceId; private Long maintenanceId;
/** /**
* 文件标识 * 文件标识
*/ */
@TableField("file_key") @TableField("file_key")
private String fileKey; private String fileKey;
/** /**
* 文件标识名称 * 文件标识名称
*/ */
@TableField("file_key_name") @TableField("file_key_name")
private String fileKeyName; private String fileKeyName;
/** /**
* 文件对象 * 文件对象
*/ */
@TableField("file_url") @TableField(value = "file_url", typeHandler = FastjsonTypeHandler.class)
private String fileUrl; private List<Object> fileUrl;
/** /**
* 有效开始时间 * 有效开始时间
*/ */
@TableField("effective_date_start") @TableField("effective_date_start")
private Date effectiveDateStart; private Date effectiveDateStart;
/** /**
* 有效结束时间 * 有效结束时间
*/ */
@TableField("effective_date_end") @TableField("effective_date_end")
private Date effectiveDateEnd; private Date effectiveDateEnd;
} }
package com.yeejoin.amos.boot.module.hygf.api.mapper; 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.yeejoin.amos.boot.module.hygf.api.entity.Maintenance;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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 接口 * 运维人员 Mapper 接口
...@@ -11,6 +17,24 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -11,6 +17,24 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface MaintenanceMapper extends BaseMapper<Maintenance> { public interface MaintenanceMapper extends BaseMapper<Maintenance> {
public void updateTraining(String userId); public void updateTraining(String userId);
//验证平台手机号验证平台账号
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 );
} }
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="否";
}
...@@ -7,4 +7,96 @@ ...@@ -7,4 +7,96 @@
select sequence_nbr from std_user_biz where amos_user_id = #{userId} select sequence_nbr from std_user_biz where amos_user_id = #{userId}
) and is_delete = 0 ) and is_delete = 0
</update> </update>
<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 &gt;= #{lockStatus}
</if>
<if test="reviewStatus != null and reviewStatus != ''">
AND ph.review_status &gt;= #{reviewStatus}
</if>
<if test="regionalCompaniesSeq != null and regionalCompaniesSeq != ''">
AND ph.regional_companies_seq &gt;= #{regionalCompaniesSeq}
</if>
<if test="dealerId != null and dealerId != ''">
AND ph.dealer_id &gt;= #{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> </mapper>
package com.yeejoin.amos.boot.module.hygf.biz.controller; 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 org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -37,28 +39,28 @@ public class MaintenanceController extends BaseController { ...@@ -37,28 +39,28 @@ public class MaintenanceController extends BaseController {
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save") @PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增运维人员", notes = "新增运维人员") @ApiOperation(httpMethod = "POST", value = "新增运维人员", notes = "新增运维人员")
public ResponseModel<MaintenanceDto> save(@RequestBody MaintenanceDto model) { public ResponseModel<Maintenance> save(@RequestBody Maintenance model) {
model = maintenanceServiceImpl.save(model); model = maintenanceServiceImpl.saveMaintenance(model);
return ResponseHelper.buildResponse(model); return ResponseHelper.buildResponse(model);
} }
/** /**
* 根据sequenceNbr更新 * 根据sequenceNbr更新
* *
* @param sequenceNbr 主键 * @param sequenceNbr 主键
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}") @PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新运维人员", notes = "根据sequenceNbr更新运维人员") @ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新运维人员", notes = "根据sequenceNbr更新运维人员")
public ResponseModel<MaintenanceDto> updateBySequenceNbrMaintenance(@RequestBody MaintenanceDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) { public ResponseModel<MaintenanceDto> updateBySequenceNbrMaintenance(@RequestBody MaintenanceDto model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr); model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(maintenanceServiceImpl.updateWithModel(model)); return ResponseHelper.buildResponse(maintenanceServiceImpl.updateWithModel(model));
} }
/** /**
* 根据sequenceNbr删除 * 根据sequenceNbr删除
* *
* @param sequenceNbr 主键 * @param sequenceNbr 主键
...@@ -74,43 +76,61 @@ public class MaintenanceController extends BaseController { ...@@ -74,43 +76,61 @@ public class MaintenanceController extends BaseController {
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询
* *
* @param sequenceNbr 主键 * @param sequenceNbr 主键
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}") @GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个运维人员", notes = "根据sequenceNbr查询单个运维人员") @ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个运维人员", notes = "根据sequenceNbr查询单个运维人员")
public ResponseModel<MaintenanceDto> selectOne(@PathVariable Long sequenceNbr) { public ResponseModel<MaintenanceDto> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(maintenanceServiceImpl.queryBySeq(sequenceNbr)); return ResponseHelper.buildResponse(maintenanceServiceImpl.selectOneById(sequenceNbr));
} }
/** /**
* 列表分页查询 * 列表分页查询
* *
* @param current 当前页 * @param current 当前页
* @param current 每页大小 * @param current 每页大小
* @return * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page") @GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "运维人员分页查询", notes = "运维人员分页查询") @ApiOperation(httpMethod = "GET",value = "运维人员分页查询", notes = "运维人员分页查询")
public ResponseModel<Page<MaintenanceDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam public ResponseModel<Page<MaintenanceDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) { (value = "size") int size,
Page<MaintenanceDto> page = new Page<MaintenanceDto>(); @RequestParam(required = false) String name,
page.setCurrent(current); @RequestParam(required = false)String maintenanceTypeCode,
page.setSize(size); @RequestParam(required = false) String lockStatus,
return ResponseHelper.buildResponse(maintenanceServiceImpl.queryForMaintenancePage(page)); @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 * @return
*/ */
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "运维人员列表全部数据查询", notes = "运维人员列表全部数据查询") @ApiOperation(httpMethod = "GET",value = "运维人员列表全部数据查询", notes = "运维人员列表全部数据查询")
@GetMapping(value = "/list") @GetMapping(value = "/list")
public ResponseModel<List<MaintenanceDto>> selectForList() { public ResponseModel<List<MaintenanceDto>> selectForList() {
return ResponseHelper.buildResponse(maintenanceServiceImpl.queryForMaintenanceList()); return ResponseHelper.buildResponse(maintenanceServiceImpl.queryForMaintenanceList());
} }
} }
package com.yeejoin.amos.boot.module.hygf.biz.service.impl; package com.yeejoin.amos.boot.module.hygf.biz.service.impl;
import com.yeejoin.amos.boot.module.hygf.api.entity.Maintenance; import com.alibaba.fastjson.JSON;
import com.yeejoin.amos.boot.module.hygf.api.mapper.MaintenanceMapper; 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.service.IMaintenanceService;
import com.yeejoin.amos.boot.module.hygf.api.dto.MaintenanceDto; 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.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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; ...@@ -17,11 +43,48 @@ import java.util.List;
*/ */
@Service @Service
public class MaintenanceServiceImpl extends BaseService<MaintenanceDto,Maintenance,MaintenanceMapper> implements IMaintenanceService { 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) { public Page<MaintenanceDto> queryForMaintenancePage( int current,int size,String name, String maintenanceTypeCode, String lockStatus, String reviewStatus,Long regionalCompaniesSeq, Long dealerId
return this.queryForPage(page, null, false); ) {
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,28 +95,238 @@ public class MaintenanceServiceImpl extends BaseService<MaintenanceDto,Maintenan ...@@ -32,28 +95,238 @@ 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);
return 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) {
public void updateTraining(String userId){ //保存操作日志
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());
}
}
}
public void updateTraining(String userId){
this.getBaseMapper().updateTraining(userId);
} }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment