Commit 10bc66d8 authored by 刘林's avatar 刘林

Merge remote-tracking branch 'origin/develop_dl' into develop_dl

parents 15565674 1a031108
package com.yeejoin.amos.boot.module.common.api.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author
* @title: EquipQrcodeColorEnum
* <pre>
* @description: TODO
* </pre>
* @date 2020/12/12 14:23
*/
@Getter
@AllArgsConstructor
public enum DynamicLabelEnum {
NAME("name","姓名"),
CODE("personNumber","员工编码"),
BIZORGNAME("bizOrgName","所属单位"),
PERSONTYPE("peopleType","人员类型"),
TELPHONE("mobilePhone","联系电话"),
SEX("gender", "性别"),
CARDTYPE("certificatesType","证件类型"),
CARDNUM("certificatesNumber","证件号码"),
GWLX("jobTitle","岗位类型"),
GWZZ("postQualification","岗位资质"),
XFGLGW("fireManagementPost","消防管理岗位"),
GLZH("amosName","关联账户"),
GWZT("state","岗位状态"),
DISPDATE("birthdayTime","出生日期");
private String code;
private String describe;
public static DynamicLabelEnum getEnumByKey(String key) {
DynamicLabelEnum colorEnum = null;
for (DynamicLabelEnum u : DynamicLabelEnum.values()) {
if (u.getCode().equals(key)) {
colorEnum = u;
break;
}
}
return colorEnum;
}
}
package com.yeejoin.amos.boot.module.common.api.dto;
import lombok.Data;
import java.util.List;
/**
* @author keyong
* @title: RiskBizInfoVo
* <pre>
* @description: TODO
* </pre>
* @date 2023/5/17 11:22
*/
@Data
public class RiskBizInfoVo {
private String warningObjectName;
private String warningObjectCode;
private String warningTime;
private String sourceAttribution;
private String sourceAttributionDesc;
private List<RiskDynamicDetailsVo> dynamicDetails;
}
package com.yeejoin.amos.boot.module.common.api.dto;
import lombok.Data;
import java.util.List;
/**
* @author keyong
* @title: RiskDynamicDetailsVo
* <pre>
* @description: TODO
* </pre>
* @date 2023/5/17 11:36
*/
@Data
public class RiskDynamicDetailsVo {
private String tabName;
private List<TableContentVo> tabContent;
}
package com.yeejoin.amos.boot.module.common.api.dto;
import lombok.Data;
/**
* @author keyong
* @title: TableContentVo
* <pre>
* @description: TODO
* </pre>
* @date 2023/5/17 11:20
*/
@Data
public class TableContentVo {
private String key;
private String label;
private Object value;
private String type;
}
...@@ -152,5 +152,7 @@ public interface OrgUsrMapper extends BaseMapper<OrgUsr> { ...@@ -152,5 +152,7 @@ public interface OrgUsrMapper extends BaseMapper<OrgUsr> {
List<OrgUsr> companyUserTreeByUserAndTypeALL(@Param("bizorgcode") String bizorgcode); List<OrgUsr> companyUserTreeByUserAndTypeALL(@Param("bizorgcode") String bizorgcode);
void updatePersonStatus(String status, String id);
List<Map<String, Object>> getFireProtectionAndMaintenance(); List<Map<String, Object>> getFireProtectionAndMaintenance();
} }
...@@ -353,6 +353,15 @@ public interface IOrgUsrService { ...@@ -353,6 +353,15 @@ public interface IOrgUsrService {
PeopleInfoDto selectPeopleById(Long id); PeopleInfoDto selectPeopleById(Long id);
/** /**
* 获取人员详情 不要权限
* @param id 人员id
* @return 人员
*/
PeopleInfoDto selectPeopleByIdNoAuth(Long id);
/**
* 根据id,type删除 * 根据id,type删除
* @param id 主键 * @param id 主键
* @param type 类型 * @param type 类型
...@@ -383,4 +392,8 @@ public interface IOrgUsrService { ...@@ -383,4 +392,8 @@ public interface IOrgUsrService {
List<FirefightersPost> selectPostById(List<String> ids); List<FirefightersPost> selectPostById(List<String> ids);
RiskBizInfoVo getPersonInfo(String id,String type);
void updatePersonStatus(String status, String id);
} }
...@@ -858,8 +858,11 @@ GROUP BY ...@@ -858,8 +858,11 @@ GROUP BY
WHERE biz_org_code like concat(#{code}, '%'); WHERE biz_org_code like concat(#{code}, '%');
</update> </update>
<update id="updatePersonStatus">
update cb_org_usr set person_status = #{status} where id = #{id}
</update>
<select id ='getPersonSimpleDetail' resultType='Map'> <select id ='getPersonSimpleDetail' resultType='Map'>
SELECT SELECT
person.biz_org_name as name, person.biz_org_name as name,
cdf.field_value as phone cdf.field_value as phone
......
...@@ -16,6 +16,7 @@ import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; ...@@ -16,6 +16,7 @@ import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary; import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.interceptors.PermissionInterceptorContext; import com.yeejoin.amos.boot.biz.common.interceptors.PermissionInterceptorContext;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl; import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.biz.common.utils.TreeParser; import com.yeejoin.amos.boot.biz.common.utils.TreeParser;
...@@ -58,6 +59,7 @@ import javax.annotation.Resource; ...@@ -58,6 +59,7 @@ import javax.annotation.Resource;
import java.io.Serializable; import java.io.Serializable;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -3228,6 +3230,85 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -3228,6 +3230,85 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
} }
@Override @Override
public PeopleInfoDto selectPeopleByIdNoAuth(Long id) {
PeopleBasicInfoDto peopleBasicInfoDto = new PeopleBasicInfoDto();
OrgUsr orgUsr = this.baseMapper.selectById(id);
// 动态表单数据
List<FormValue> formValues = getFormValue(id);
Map<String, Object> collect = formValues.stream().collect(Collectors.toMap(FormValue::getKey,
formValue -> !ObjectUtils.isEmpty(formValue.getValue()) ? formValue.getValue() : ""));
// 获取对象属性和值
Field[] fields = peopleBasicInfoDto.getClass().getDeclaredFields();
for (Field field : fields) {
try{
field.setAccessible(true);
String name = field.getName();
Object value = collect.get(name);
String genericType = ((Class)field.getGenericType()).getSimpleName();
if ("Date".equals(genericType)) {
if (!ObjectUtils.isEmpty(value)) {
Date date;
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
date = ft.parse(value.toString());
field.set(peopleBasicInfoDto, date);
}
} else {
field.set(peopleBasicInfoDto, value);
}
} catch (Exception ex){
logger.error("获取{}字段值失败, {}", field.getName(), ex);
}
}
if (!ObjectUtils.isEmpty(orgUsr.getSequenceNbr())) {
peopleBasicInfoDto.setName(orgUsr.getBizOrgName());
peopleBasicInfoDto.setAmosUserId(orgUsr.getAmosOrgId());
peopleBasicInfoDto.setAmosName(orgUsr.getAmosOrgCode());
peopleBasicInfoDto.setSequenceNbr(orgUsr.getSequenceNbr().toString());
peopleBasicInfoDto.setCompany(orgUsr.getParentId());
peopleBasicInfoDto.setBizOrgName(orgUsr.getParentName());
peopleBasicInfoDto.setBizOrgCode(orgUsr.getBizOrgCode());
peopleBasicInfoDto.setCompanyCode(orgUsr.getParentId());
peopleBasicInfoDto.setCompanyName(orgUsr.getParentName());
}
if ("1601".equals(peopleBasicInfoDto.getPeopleType())) {
QueryWrapper<Firefighters> firefightersQueryWrapper = new QueryWrapper<>();
Firefighters firefighters = iFirefightersService.getOne(firefightersQueryWrapper.eq("org_usr_id", id).eq("is_delete", 0));
if (!ObjectUtils.isEmpty(firefighters)) {
peopleBasicInfoDto.setState(firefighters.getState());
peopleBasicInfoDto.setCompanyCode(firefighters.getCompanyCode());
peopleBasicInfoDto.setCompany(firefighters.getCompany());
peopleBasicInfoDto.setCompanyName(firefighters.getCompanyName());
peopleBasicInfoDto.setBizOrgCode(firefighters.getBizOrgCode());
peopleBasicInfoDto.setBizOrgName(firefighters.getBizOrgName());
peopleBasicInfoDto.setFireTeamId(firefighters.getFireTeamId());
peopleBasicInfoDto.setFireTeamName(firefighters.getFireTeamName());
//10445 BUG
peopleBasicInfoDto.setCertificatesType(firefighters.getCertificatesType());
}
}
// 获取联系人
QueryWrapper<FirefightersContacts> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("org_usr_id", String.valueOf(id));
FirefightersContacts firefightersContacts = ifirefightersContactsService.getOne(queryWrapper1);
// 获取岗位标签
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("org_usr_id", String.valueOf(id));
FirefightersDataDto firefightersDataDto = new FirefightersDataDto(
ifirefightersWorkexperienceService.getOne(queryWrapper),
ifirefightersEducationService.getOne(queryWrapper), iFirefightersPostService.getOne(queryWrapper));
return new PeopleInfoDto(peopleBasicInfoDto, firefightersContacts, firefightersDataDto);
}
@Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public String deletePeopleById(Long id, String type, AgencyUserModel user) { public String deletePeopleById(Long id, String type, AgencyUserModel user) {
...@@ -3446,6 +3527,132 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -3446,6 +3527,132 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
return iFirefightersPostService.list(queryWrapper); return iFirefightersPostService.list(queryWrapper);
} }
@Override
public RiskBizInfoVo getPersonInfo(String id, String type) {
RiskBizInfoVo riskBizInfoVo = new RiskBizInfoVo();
if ("personInfo".equals(type)) {
PeopleInfoDto peopleInfoDto =iOrgUsrService.selectPeopleByIdNoAuth(Long.valueOf(id));
return getRiskBizInfo(riskBizInfoVo,peopleInfoDto, id);
} else {
LambdaQueryWrapper<OrgUsr> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(OrgUsr::getAmosOrgId,id);
OrgUsr orgUsr = iOrgUsrService.getOne(queryWrapper);
PeopleInfoDto peopleInfoDto =iOrgUsrService.selectPeopleByIdNoAuth(orgUsr.getSequenceNbr());
return getRiskBizInfo(riskBizInfoVo,peopleInfoDto,String.valueOf(orgUsr.getSequenceNbr()));
}
}
@Override
public void updatePersonStatus(String status, String id) {
orgUsrMapper.updatePersonStatus(status,id);
}
private RiskBizInfoVo getRiskBizInfo(RiskBizInfoVo riskBizInfoVo, PeopleInfoDto peopleInfoDto,String id) {
riskBizInfoVo.setWarningObjectName(peopleInfoDto.getFirefighters().getName());
riskBizInfoVo.setWarningObjectCode(id); // 存为cb_org_user 表id 返回给idx 为附码业务后续处理
riskBizInfoVo.setSourceAttribution(peopleInfoDto.getFirefighters().getBizOrgCode());
riskBizInfoVo.setSourceAttributionDesc(peopleInfoDto.getFirefighters().getBizOrgName());
try {
riskBizInfoVo.setWarningTime(DateUtils.dateFormat(new Date(), DateUtils.DATE_TIME_PATTERN));
} catch (ParseException e) {
e.printStackTrace();
}
List<RiskDynamicDetailsVo> detailsVos = new ArrayList<>();
RiskDynamicDetailsVo dynamicDetailsVo = new RiskDynamicDetailsVo();
dynamicDetailsVo.setTabName("人员基本信息");
List<TableContentVo> contentVos = new ArrayList<>();
for (DynamicLabelEnum u : DynamicLabelEnum.values()) {
TableContentVo contentVo = new TableContentVo();
contentVo.setKey(u.getCode());
switch (u.getCode()) {
case "name":
contentVo.setLabel(u.getDescribe());
contentVo.setValue(peopleInfoDto.getFirefighters().getName());
contentVo.setType("text");
break;
case "personNumber":
contentVo.setLabel(u.getDescribe());
contentVo.setValue(peopleInfoDto.getFirefighters().getPersonNumber());
contentVo.setType("text");
break;
case "bizOrgName":
contentVo.setLabel(u.getDescribe());
contentVo.setValue(peopleInfoDto.getFirefighters().getBizOrgName());
contentVo.setType("text");
break;
case "peopleType":
contentVo.setLabel(u.getDescribe());
contentVo.setValue(peopleInfoDto.getFirefighters().getPeopleType());
contentVo.setType("text");
break;
case "mobilePhone":
contentVo.setLabel(u.getDescribe());
contentVo.setValue(peopleInfoDto.getFirefighters().getMobilePhone());
contentVo.setType("text");
break;
case "gender":
contentVo.setLabel(u.getDescribe());
contentVo.setValue(peopleInfoDto.getFirefighters().getGender());
contentVo.setType("text");
break;
case "certificatesType":
contentVo.setLabel(u.getDescribe());
contentVo.setValue(peopleInfoDto.getFirefighters().getCertificatesType());
contentVo.setType("text");
break;
case "certificatesNumber":
contentVo.setLabel(u.getDescribe());
contentVo.setValue(peopleInfoDto.getFirefighters().getCertificatesNumber());
contentVo.setType("text");
break;
case "jobTitle":
contentVo.setLabel(u.getDescribe());
contentVo.setValue(peopleInfoDto.getPostEduDtoObj().getFirefightersPost().getJobTitle());
contentVo.setType("text");
break;
case "postQualification":
contentVo.setLabel(u.getDescribe());
contentVo.setValue(peopleInfoDto.getPostEduDtoObj().getFirefightersPost().getPostQualification());
contentVo.setType("text");
break;
case "fireManagementPost":
contentVo.setLabel(u.getDescribe());
contentVo.setValue(peopleInfoDto.getPostEduDtoObj().getFirefightersPost().getFireManagementPost());
contentVo.setType("text");
break;
case "amosName":
contentVo.setLabel(u.getDescribe());
contentVo.setValue(peopleInfoDto.getFirefighters().getAmosName());
contentVo.setType("text");
break;
case "state":
contentVo.setLabel(u.getDescribe());
contentVo.setValue(peopleInfoDto.getFirefighters().getState());
contentVo.setType("text");
break;
case "birthdayTime":
contentVo.setLabel(u.getDescribe());
try {
contentVo.setValue(DateUtils.dateFormat(peopleInfoDto.getFirefighters().getBirthdayTime(), DateUtils.DATE_TIME_PATTERN));
} catch (ParseException e) {
e.printStackTrace();
}
contentVo.setType("text");
break;
default:
log.debug("方法参数错误 !!!");
break;
}
contentVos.add(contentVo);
}
dynamicDetailsVo.setTabContent(contentVos);
detailsVos.add(dynamicDetailsVo);
riskBizInfoVo.setDynamicDetails(detailsVos);
return riskBizInfoVo;
}
public IPage<Map<String, Object>> getUserByPeopleType(String pageNum, String pageSize, Map<String, Object> map) { public IPage<Map<String, Object>> getUserByPeopleType(String pageNum, String pageSize, Map<String, Object> map) {
IPage<Map<String, Object>> pageBean = null; IPage<Map<String, Object>> pageBean = null;
......
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService;
import com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
@Api(tags = "风险相关")
@RestController
@RequestMapping("/riskSource")
public class RiskController {
@Autowired
private IOrgUsrService orgUsrService;
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "获取人员信息详情发送至风险", notes = "获取人员信息详情发送至风险")
@RequestMapping(value = "/risk/person/detail", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
public ResponseModel getPersonDetailById(@RequestParam(value = "source") String source,
@RequestParam(value = "id") String id
) {
return CommonResponseUtil.success(orgUsrService.getPersonInfo(id,source));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "人员附码状态回显", notes = "人员附码状态回显")
@RequestMapping(value = "/update/person/status", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
public ResponseModel updatePersonStatus(@RequestParam(value = "status") String status,
@RequestParam(value = "id") String id
) {
orgUsrService.updatePersonStatus(status,id);
return CommonResponseUtil.success();
}
}
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