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;
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;
}
......@@ -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;
}
......@@ -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;
}
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,6 +17,24 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface MaintenanceMapper extends BaseMapper<Maintenance> {
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 @@
select sequence_nbr from std_user_biz where amos_user_id = #{userId}
) and is_delete = 0
</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>
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.save(model);
return ResponseHelper.buildResponse(model);
}
/**
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增运维人员", notes = "新增运维人员")
public ResponseModel<Maintenance> save(@RequestBody Maintenance model) {
model = maintenanceServiceImpl.saveMaintenance(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());
}
}
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,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