Commit 3b7e3eeb authored by wujiang's avatar wujiang

Merge branch 'develop_dl_plan6' of http://39.98.45.134:8090/moa/amos-boot-biz into develop_dl_plan6

parents fa5ab702 1f831bc5
......@@ -118,4 +118,7 @@ public class FirefightersZhDto extends BaseDto {
@ApiModelProperty(value = "消防专家领域字典code")
private String areasExpertiseCode;
@ApiModelProperty(value = "单位人员id")
private String orgUsrId;
}
......@@ -85,6 +85,9 @@ public class OrgUsrDto extends BaseDto {
@ApiModelProperty(value = "省市区名称,用逗号分隔")
private String pczName;
@ApiModelProperty(value = "省市区名称,用逗号分隔")
private String parentName;
@ApiModelProperty(value = "唯一编号")
private String code;
......
package com.yeejoin.amos.boot.module.common.api.dto;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author DELL
*/
@Data
@ApiModel(value="PeopleInfoDto", description="人员基本信息")
public class PeopleBasicInfoDto {
@ApiModelProperty(value = "系统账号")
private String systemAccount;
@ApiModelProperty(value = "员工编码")
private String personNumber;
@ApiModelProperty(value = "所属机构")
private String company;
@ApiModelProperty(value = "机构code")
private String companyCode;
@ApiModelProperty(value = "是否进行安全培训")
private String safetyTraining;
@ApiModelProperty(value = "人员照片")
private String personImg;
@ApiModelProperty(value = "重点工种资质证书")
private String certificateImg;
@ApiModelProperty(value = "队伍id")
private Long fireTeamId;
@ApiModelProperty(value = "消防队伍名称")
private String fireTeamName;
@ApiModelProperty(value = "姓名")
private String name;
@ApiModelProperty(value = "常用证件类型代码")
private String certificatesType;
@ApiModelProperty(value = "常用证件类型代码code")
private String certificatesTypeCode;
@ApiModelProperty(value = "证件号码")
private String certificatesNumber;
@ApiModelProperty(value = "出生日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date birthdayTime;
@ApiModelProperty(value = "性别")
private String gender;
@ApiModelProperty(value = "民族")
private String nation;
@ApiModelProperty(value = "籍贯/户口所在地")
private String nativePlace;
@ApiModelProperty(value = "现居住地")
private String residence;
@ApiModelProperty(value = "现居住地详情")
private String residenceDetails;
@ApiModelProperty(value = "机场住宿情况")
private String airportAccommodation;
@ApiModelProperty(value = "岗位名称")
private String jobTitle;
@ApiModelProperty(value = "岗位名称数据字典code")
private String jobTitleCode;
@ApiModelProperty(value = "人员状态,在职/离职")
private String state;
@ApiModelProperty(value = "人员状态,在职/离职字典code")
private String stateCode;
@ApiModelProperty(value = "婚姻状况")
private String maritalStatus;
@ApiModelProperty(value = "办公电话")
private String telephone;
@ApiModelProperty(value = "手机")
private String mobilePhone;
@ApiModelProperty(value = "互联网_电子信箱")
private String email;
@ApiModelProperty(value = "政治面貌代码")
private String politicalOutlook;
@ApiModelProperty(value = "人员照片")
private String personnelPhotos;
@ApiModelProperty(value = "身份证正面")
private String idPositive;
@ApiModelProperty(value = "身份证反面")
private String idReverse;
@ApiModelProperty(value = "更新时间")
@TableField(fill= FieldFill.UPDATE)
private Date updateTime;
@ApiModelProperty(value = "机构名称")
private String companyName;
@ApiModelProperty(value = "籍贯/户口所在地的值")
private String nativePlaceValue;
// BUG 3658 优化 by kongfm 2021-09-13 需求详细说明 1. 添加两个字段 2. 地区选择联动 只有新增时带联动 编辑时不带联动 3. 导出模板及导入同步修改
@ApiModelProperty(value = "户籍所在地详细地址")
private String nativePlaceVal;
@ApiModelProperty(value = "现居住地详细地址")
private String residenceDetailVal;
@ApiModelProperty(value = "amos账户名称")
private String amosName;
@ApiModelProperty(value = "amos账户id")
private String amosUserId;
@ApiModelProperty(value = "机构/部门名称")
private String bizOrgName;
@ApiModelProperty(value = "机构编码")
private String bizOrgCode;
@ApiModelProperty(value = "人员类型")
private String peopleType;
@ApiModelProperty(value = "主键")
private String sequenceNbr;
@ApiModelProperty(value = "用户id")
private String userId;
@ApiModelProperty(value = "单位人员id")
private String orgUsrId;
}
package com.yeejoin.amos.boot.module.common.api.dto;
import com.yeejoin.amos.boot.module.common.api.entity.Firefighters;
import com.yeejoin.amos.boot.module.common.api.entity.FirefightersContacts;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author DELL
*/
@Data
@ApiModel(value="PeopleInfoDto", description="人员")
public class PeopleInfoDto {
@ApiModelProperty(value = "基本信息")
private PeopleBasicInfoDto firefighters;
@ApiModelProperty(value = "联系人信息")
private FirefightersContacts firefightersContacts;
@ApiModelProperty(value = "岗位页签")
private FirefightersDataDto postEduDtoObj;
public PeopleInfoDto(PeopleBasicInfoDto peopleBasicInfoDto, FirefightersContacts firefightersContacts, FirefightersDataDto postEduDtoObj) {
super();
this.firefighters = peopleBasicInfoDto;
this.firefightersContacts = firefightersContacts;
this.postEduDtoObj = postEduDtoObj;
}
}
......@@ -144,4 +144,13 @@ public class Firefighters extends BaseEntity {
@ApiModelProperty(value = "机构编码")
private String bizOrgCode;
@ApiModelProperty(value = "人员类型")
private String peopleType;
@ApiModelProperty(value = "是否进行安全培训")
private String safetyTraining;
@ApiModelProperty(value = "单位人员id")
private String orgUsrId;
}
......@@ -43,4 +43,7 @@ public class FirefightersContacts extends BaseEntity {
@ApiModelProperty(value = "更新时间")
@TableField(fill=FieldFill.UPDATE)
private Date updateTime;
@ApiModelProperty(value = "单位人员id")
private String orgUsrId;
}
......@@ -52,4 +52,7 @@ public class FirefightersEducation extends BaseEntity {
@ApiModelProperty(value = "学历资质文件")
private String qualifications;
@ApiModelProperty(value = "单位人员id")
private String orgUsrId;
}
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.common.api.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -86,4 +87,48 @@ public class FirefightersPost extends BaseEntity {
@ApiModelProperty(value = "更新时间")
@TableField(fill=FieldFill.UPDATE)
private Date updateTime;
@ApiModelProperty(value = "岗位名称")
private String jobTitle;
@ApiModelProperty(value = "岗位数据字典code")
private String jobTitleCode;
@ApiModelProperty(value = "消防队伍名称")
private String fireTeamName;
@ApiModelProperty(value = "消防队伍code")
private String fireTeamId;
@ApiModelProperty(value = "消防管理组织机构内部职务")
private String internalPosition;
@ApiModelProperty(value = "消防管理组织机构内部职务-code")
private String internalPositionCode;
@ApiModelProperty(value = "消防管理岗位")
private String fireManagementPost;
@ApiModelProperty(value = "消防管理岗位-code")
private String fireManagementPostCode;
@ApiModelProperty(value = "持证类别")
private String certificateType;
@ApiModelProperty(value = "持证类别-code")
private String certificateTypeCode;
@ApiModelProperty(value = "持证时间")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date holdingTime;
@ApiModelProperty(value = "审核周期")
private String auditCycle;
@ApiModelProperty(value = "单位人员id")
private String orgUsrId;
@ApiModelProperty(value = "重点工种资质证书")
private String certificateImg;
}
......@@ -48,4 +48,7 @@ public class FirefightersWorkexperience extends BaseEntity {
@ApiModelProperty(value = "更新时间")
@TableField(fill = FieldFill.UPDATE)
private Date updateTime;
@ApiModelProperty(value = "单位人员id")
private String orgUsrId;
}
......@@ -77,6 +77,9 @@ public class OrgUsr extends BaseEntity {
@ApiModelProperty(value = "省市区名称,用逗号分隔")
private String pczName;
@ApiModelProperty(value = "省市区名称,用逗号分隔")
private String parentName;
@ApiModelProperty(value = "唯一编号")
private String code;
......
......@@ -7,6 +7,7 @@ import com.yeejoin.amos.boot.biz.common.utils.Menu;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersDto;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersInfoDto;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersZhDto;
import com.yeejoin.amos.boot.module.common.api.dto.PeopleInfoDto;
import com.yeejoin.amos.boot.module.common.api.entity.Firefighters;
......@@ -31,4 +32,9 @@ public interface IFirefightersService {
Firefighters selectByAmosOrgId(Long id);
PeopleInfoDto updatePeopleById(PeopleInfoDto peopleInfoDto, Long id);
Firefighters getFirefightersByUserId(String sequenceNbr);
void saveFirefightersByUser(PeopleInfoDto firefighters);
}
......@@ -323,5 +323,38 @@ public interface IOrgUsrService {
List<OrgMenuDto> companyTreeByUserNumber(ReginParams reginParams);
List<OrgMenuDto> companyTreeByUser(ReginParams reginParams);
/**
* 人员新增同步新增消防人员
* @param peopleInfoDto 基本信息
* @return PeopleInfoDto
*/
PeopleInfoDto peopleSave(PeopleInfoDto peopleInfoDto);
/**
* 获取人员详情
* @param id 人员id
* @return 人员
*/
PeopleInfoDto selectPeopleById(Long id);
/**
* 根据id,type删除
* @param id 主键
* @param type 类型
*/
String deletePeopleById(Long id, String type, AgencyUserModel user);
/**
* 查询身份证号码是否重复
* @param certificatesNumber 身份证号码
* @return 标识
*/
boolean checkCertificatesNumber(String certificatesNumber);
/**
* 根据id删除消防人员
* @param id
* @return
*/
String deleteFirefighterPeopleById(Long id);
}
......@@ -120,7 +120,8 @@
max(case v.field_code when 'holdingTime' then IFNULL(v.field_value_label,v.field_value) end) holdingTime,
max(case v.field_code when 'auditCycle' then IFNULL(v.field_value_label,v.field_value) end) auditCycle,
max(case v.field_code when 'personImg' then IFNULL(v.field_value_label,v.field_value) end) personImg,
max(case v.field_code when 'certificateImg' then IFNULL(v.field_value_label,v.field_value) end) certificateImg
max(case v.field_code when 'certificateImg' then IFNULL(v.field_value_label,v.field_value) end) certificateImg,
max(case v.field_code when 'peopleType' then IFNULL(v.field_value_label,v.field_value) end) peopleType
FROM
`cb_dynamic_form_instance` v
WHERE
......
......@@ -9,16 +9,28 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
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.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.core.framework.PersonIdentify;
import com.yeejoin.amos.boot.module.common.api.dto.*;
import com.yeejoin.amos.boot.module.common.api.entity.CompanyInfo;
import com.yeejoin.amos.boot.module.common.api.entity.FireTeam;
import com.yeejoin.amos.boot.module.common.api.mapper.FireTeamMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrMapper;
import com.yeejoin.amos.boot.module.common.biz.service.impl.ESOrgUsrService;
import com.yeejoin.amos.boot.module.common.biz.service.impl.FireCompanyInfoServiceImpl;
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.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
......@@ -28,6 +40,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.component.emq.EmqKeeper;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
......@@ -36,11 +49,6 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yeejoin.amos.boot.biz.common.constants.CommonConstant;
import com.yeejoin.amos.boot.module.common.api.dto.ExcelDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgMenuDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgPersonDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgPersonExcelDto;
import com.yeejoin.amos.boot.module.common.api.dto.OrgPersonFormDto;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.common.api.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
......@@ -66,6 +74,9 @@ public class OrgPersonController extends BaseController {
@Value("${auth-key-org-user:org_user_info}")
private String authKey;
@Autowired
FireCompanyInfoServiceImpl fireCompanyInfoServiceImpl;
/**
* 新增人员信息
*
......@@ -317,4 +328,69 @@ public class OrgPersonController extends BaseController {
public ResponseModel<JSONObject> selectByUserId(HttpServletRequest request, @PathVariable Long userId) throws Exception {
return ResponseHelper.buildResponse(iOrgUsrService.selectPersonByUserId(userId));
}
/**
* 新增人员
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/peopleSave", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增人员", notes = "新增人员默认创建消防人员")
public ResponseModel<PeopleInfoDto> peopleSave(@RequestBody PeopleInfoDto peopleInfoDto) {
return ResponseHelper.buildResponse( iOrgUsrService.peopleSave(peopleInfoDto));
}
/**
* 根据id查询人员
* @param id
* @return
* @throws Exception
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/people/{id}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "获取人员详情", notes = "获取人员详情")
public ResponseModel<PeopleInfoDto> selectPeopleById(@PathVariable Long id) {
PeopleInfoDto peopleInfoDto =iOrgUsrService.selectPeopleById(id);
return ResponseHelper.buildResponse(peopleInfoDto);
}
/**
* 根据id删除
*
* @param id
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/people/{id}/{type}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除")
public ResponseModel<String> deletePeopleById(@PathVariable Long id, @PathVariable String type) {
AgencyUserModel user = getUserInfo();
return ResponseHelper.buildResponse(iOrgUsrService.deletePeopleById(id, type, user));
}
/**
* 查询身份证号码是否重复
* @param certificatesNumber
* @return 标志
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/people/checkCertificates/{certificatesNumber}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "查询身份证号码是否重复", notes = "查询身份证号码是否重复")
public ResponseModel<Boolean> checkCertificatesNumber(@PathVariable String certificatesNumber) {
return ResponseHelper.buildResponse(iOrgUsrService.checkCertificatesNumber(certificatesNumber));
}
/**
* 根据id删除
* @param id
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/people/firefighter/{id}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "根据id删除", notes = "根据id删除")
public ResponseModel<String> deleteFirefighterPeopleById(@PathVariable Long id) {
return ResponseHelper.buildResponse(iOrgUsrService.deleteFirefighterPeopleById(id));
}
}
......@@ -5,9 +5,18 @@ import java.util.List;
import java.util.Map;
import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.module.common.api.dto.*;
import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import org.typroject.tyboot.core.rdbms.service.BaseService;
......@@ -18,10 +27,6 @@ import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.Menu;
import com.yeejoin.amos.boot.biz.common.utils.TreeParser;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersDto;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersExcelDto;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersInfoDto;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersZhDto;
import com.yeejoin.amos.boot.module.common.api.entity.Firefighters;
import com.yeejoin.amos.boot.module.common.api.entity.FirefightersContacts;
import com.yeejoin.amos.boot.module.common.api.mapper.FirefightersMapper;
......@@ -29,6 +34,7 @@ import com.yeejoin.amos.boot.module.common.api.service.IFirefightersService;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.RegionModel;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
/**
* 消防队员 服务实现类
......@@ -48,6 +54,11 @@ public class FirefightersServiceImpl extends BaseService<FirefightersDto, Firefi
FirefightersContactsServiceImpl firefightersContactsService;
@Autowired
DataDictionaryMapper dataDictionaryMapper;
@Autowired
OrgUsrServiceImpl orgUsrService;
@Autowired
FirefightersContactsServiceImpl ifirefightersContactsService;
@Override
public List<FirefightersZhDto> getFirefighters(int pageNum, int pageSize, FirefightersDto par) {
return firefightersMapper.getFirefighters(pageNum, pageSize, par);
......@@ -70,21 +81,25 @@ public class FirefightersServiceImpl extends BaseService<FirefightersDto, Firefi
Firefighters firefighter = firefighters.getFirefighters();
// 现居住地保存地址信息 户籍所在地信息 BUG3553 bykongfm
// BUG2168 居住地户籍所在地为空判断 bykongfm
if (firefighter.getResidenceDetails() != null) {
if (ObjectUtils.isNotEmpty(firefighter.getResidenceDetails())) {
FeignClientResult<RegionModel> region = Systemctl.regionClient
.getRegion(Long.parseLong(firefighter.getResidenceDetails()));
firefighter.setResidence(region.getResult().getRegionName());
}
if (firefighter.getNativePlace() != null) {
if (ObjectUtils.isNotEmpty(firefighter.getNativePlace())) {
FeignClientResult<RegionModel> nativePlace = Systemctl.regionClient
.getRegion(Long.parseLong(firefighter.getNativePlace()));
firefighter.setNativePlaceValue(nativePlace.getResult().getRegionName());
}
save(firefighter);
if(firefighters.getFirefightersContacts() != null){
if(ObjectUtils.isNotEmpty(firefighters.getFirefightersContacts())){
FirefightersContacts firefightersContact = firefighters.getFirefightersContacts();
firefightersContact.setFirefightersId(firefighter.getSequenceNbr());
firefightersContactsService.save(firefightersContact);
if (ObjectUtils.isNotEmpty(firefightersContact.getSequenceNbr())) {
firefightersContactsService.updateById(firefightersContact);
} else {
firefightersContactsService.save(firefightersContact);
}
firefighters.setFirefightersContacts(firefightersContact);
}
firefighters.setFirefighters(firefighter);
......@@ -99,8 +114,7 @@ public class FirefightersServiceImpl extends BaseService<FirefightersDto, Firefi
return firefighters;
}
/**
/**
* 导出列表
*/
public List<FirefightersExcelDto> exportToExcel(@Condition(Operator.eq) Boolean isDelete, Map par) {
......@@ -186,5 +200,48 @@ public class FirefightersServiceImpl extends BaseService<FirefightersDto, Firefi
public Object getAllFirefightersPerson(String jobId) {
return firefightersMapper.selectNormalFirePerson(jobId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public PeopleInfoDto updatePeopleById(PeopleInfoDto peopleInfoDto, Long id) {
// 1.动态表单
AgencyUserModel amosUser = Privilege.agencyUserClient.queryByUserId(peopleInfoDto.getFirefighters().getAmosUserId()).getResult();
peopleInfoDto.getFirefighters().setAmosName(amosUser.getRealName());
OrgUsr orgUsr = orgUsrService.peopleSaveOrgUsr(peopleInfoDto.getFirefighters());
OrgPersonDto orgPersonDto = new OrgPersonDto();
BeanUtils.copyProperties(orgUsr, orgPersonDto);
List<DynamicFormInstance> dynamicFormInstances = orgUsrService.dynamicFormColumn(peopleInfoDto.getFirefighters());
orgPersonDto.setDynamicFormValue(dynamicFormInstances);
try {
orgUsrService.updateByIdOrgPerson(orgPersonDto, id);
} catch (Exception e) {
log.error("动态表单更新出错");
}
// 2.更新岗位
orgUsrService.saveFirefightersPost(peopleInfoDto.getPostEduDtoObj());
// 3.消防人员更新消防表
if ("1".equals(peopleInfoDto.getFirefighters().getPeopleType())){
// 更新紧急联系人
ifirefightersContactsService.updateById(peopleInfoDto.getFirefightersContacts());
}
return peopleInfoDto;
}
@Override
public Firefighters getFirefightersByUserId(String sequenceNbr) {
LambdaQueryWrapper<Firefighters> wrapper = new LambdaQueryWrapper<Firefighters>();
wrapper.eq(Firefighters::getOrgUsrId, sequenceNbr);
wrapper.eq(Firefighters::getIsDelete, false);
return this.baseMapper.selectOne(wrapper);
}
@Override
public void saveFirefightersByUser(PeopleInfoDto firefighters) {
orgUsrService.saveFirefighters(firefighters);
}
}
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
......@@ -16,9 +17,14 @@ import java.util.stream.Collectors;
import javax.annotation.Resource;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dto.*;
import com.yeejoin.amos.boot.module.common.api.entity.*;
import com.yeejoin.amos.boot.module.common.api.mapper.FireCompanyInfoMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.*;
import com.yeejoin.amos.boot.module.common.api.service.IFireCompanyInfoService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -55,8 +61,6 @@ import com.yeejoin.amos.boot.module.common.api.enums.OrgPersonEnum;
import com.yeejoin.amos.boot.module.common.api.enums.UserRolesEnum;
import com.yeejoin.amos.boot.module.common.api.enums.UserUnitTypeEnum;
import com.yeejoin.amos.boot.module.common.api.feign.AmosTrainingFeignClient;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.OrgUsrMapper;
import com.yeejoin.amos.boot.module.common.api.service.IMaintenanceCompanyService;
import com.yeejoin.amos.boot.module.common.api.service.IOrgUsrService;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
......@@ -118,6 +122,53 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
@Autowired
OrgUsrServiceImpl iOrgUsrService;
@Value("${jcs.company.topic.delete:jcs/company/topic/delete}")
private String airportDeleteTopic;
@Autowired
FireTeamMapper fireTeamMapper;
@Autowired
FirefightersThoughtServiceImpl iFirefightersThoughtService;
@Autowired
FirefightersContractServiceImpl iFirefightersContractService;
@Autowired
FirefightersJacketMapper firefightersJacketMapper;
@Autowired
FireTeamServiceImpl iFireTeamService;
@Autowired
DynamicFormInstanceServiceImpl dynamicFormInstanceService;
@Autowired
DynamicFormColumnServiceImpl dynamicFormColumnServiceImpl;
@Autowired
FirefightersServiceImpl iFirefightersService;
@Autowired
FirefightersPostServiceImpl iFirefightersPostService;
@Autowired
FirefightersEducationServiceImpl ifirefightersEducationService;
@Autowired
FirefightersWorkexperienceServiceImpl ifirefightersWorkexperienceService;
@Autowired
DataDictionaryServiceImpl dataDictionaryService;
@Autowired
FirefightersContactsServiceImpl firefightersContactsService;
@Autowired
FirefightersContactsServiceImpl ifirefightersContactsService;
@Autowired
RedisUtils redisUtils;
public static List<OrgMenuDto> buildTreeParallel(List<OrgUsr> list) {
List<OrgMenuDto> menuList = list.stream()
......@@ -568,6 +619,12 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
}
String chargePersonId = iOrgUsrService.getIdNumberByAmosId(t.get("amosOrgId").toString());
t.put("chargePersonId", chargePersonId);
if (!ObjectUtils.isEmpty(t.get("state"))) {
DataDictionary gwmc = dataDictionaryService.getByCode(t.get("state").toString(), "RYZT");
if (!ObjectUtils.isEmpty(gwmc)) {
t.put("stateName", gwmc.getName());
}
}
} else {
t.put("chargePersonId", null);
}
......@@ -579,7 +636,7 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
}
@Override
public List<FormValue> getFormValue(Long id) throws Exception {
public List<FormValue> getFormValue(Long id) {
// 动态表单数据
List<DynamicFormInstanceDto> list = alertFormValueServiceImpl.listByCalledId(id);
......@@ -761,6 +818,20 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
ObjectUtils.isEmpty(alertFormValue.getFieldValueLabel()) ? alertFormValue.getFieldValue()
: alertFormValue.getFieldValueLabel());
}
QueryWrapper<FirefightersPost> queryWrapperf = new QueryWrapper<>();
queryWrapperf.eq("org_usr_id", id);
FirefightersPost firefightersPost = iFirefightersPostService.getOne(queryWrapperf);
if (!ObjectUtils.isEmpty(result.get("stateCode"))) {
DataDictionary gwmc = dataDictionaryService.getByCode(result.get("stateCode").toString(), "RYZT");
result.put("state", gwmc.getName());
}
if (!ObjectUtils.isEmpty(firefightersPost)) {
result.put("fireManagementPostCode",firefightersPost.getFireManagementPost());
result.put("internalPositionCode", firefightersPost.getInternalPosition());
result.put("positionType", firefightersPost.getJobTitle());
result.put("certificateType", firefightersPost.getCertificateType());
}
return result;
}
......@@ -2655,4 +2726,388 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
return this.baseMapper.selectList(wrapper).stream().collect(Collectors.toList());
}
@Override
@Transactional(rollbackFor = Exception.class)
public PeopleInfoDto peopleSave(PeopleInfoDto peopleInfoDto) {
// 1.保存cb_org_usr表
OrgUsr orgUsr = peopleSaveOrgUsr(peopleInfoDto.getFirefighters());
// 2.保存cb_dynamic_form_instance表 人员基本信息
OrgUsrDto orgUsrDto = saveDynamicformInstance(orgUsr, peopleInfoDto.getFirefighters());
if (!ObjectUtils.isEmpty(orgUsrDto.getSequenceNbr())) {
peopleInfoDto.getFirefightersContacts().setOrgUsrId(orgUsrDto.getSequenceNbr().toString());
peopleInfoDto.getFirefighters().setOrgUsrId(orgUsrDto.getSequenceNbr().toString());
peopleInfoDto.getPostEduDtoObj().getFirefightersWorkexperience().setOrgUsrId(orgUsrDto.getSequenceNbr().toString());
peopleInfoDto.getPostEduDtoObj().getFirefightersEducation().setOrgUsrId(orgUsrDto.getSequenceNbr().toString());
peopleInfoDto.getPostEduDtoObj().getFirefightersPost().setOrgUsrId(orgUsrDto.getSequenceNbr().toString());
peopleInfoDto.getFirefighters().setSequenceNbr(orgUsrDto.getSequenceNbr().toString());
}
if (peopleInfoDto.getFirefighters() != null && "2".equals(peopleInfoDto.getFirefighters().getPeopleType())) {
// 3.同步保存cb_firefighters消防人员基础信息
saveFirefighters(peopleInfoDto);
} else {
// 保存联系人
saveFirefightersContacts(peopleInfoDto);
}
// 4.保存岗位信息
saveFirefightersPost(peopleInfoDto.getPostEduDtoObj());
return peopleInfoDto;
}
public OrgUsr peopleSaveOrgUsr(PeopleBasicInfoDto peopleBasicInfoDto) {
OrgUsr orgUsr = new OrgUsr();
orgUsr.setBizOrgType(CommonConstant.BIZ_ORG_TYPE_PERSON);
orgUsr.setBizOrgCode(peopleBasicInfoDto.getBizOrgCode());
orgUsr.setAmosOrgId(peopleBasicInfoDto.getAmosUserId());
orgUsr.setAmosOrgCode(peopleBasicInfoDto.getAmosName());
orgUsr.setBizOrgName(peopleBasicInfoDto.getName());
orgUsr.setParentId(peopleBasicInfoDto.getCompany());
orgUsr.setParentName(peopleBasicInfoDto.getBizOrgName());
orgUsr.setIsDelete(false);
return orgUsr;
}
private OrgUsrDto saveDynamicformInstance(OrgUsr orgUsr, PeopleBasicInfoDto peopleBasicInfoDto) {
List<DynamicFormInstance> dynamicFormInstancelist = dynamicFormColumn(peopleBasicInfoDto);
return saveOrgUsrDynamicFormInstance(orgUsr, dynamicFormInstancelist);
}
public List<DynamicFormInstance> dynamicFormColumn(PeopleBasicInfoDto peopleBasicInfoDto){
// 动态字段填充
List<DynamicFormInitDto> dynamicFormColumn = dynamicFormColumnServiceImpl.getFormlist("246");
Map<String, Object> map = new HashMap<>();
// 获取对象属性和值
Field[] fields = peopleBasicInfoDto.getClass().getDeclaredFields();
for (Field field : fields) {
try{
field.setAccessible(true);
Object value = field.get(peopleBasicInfoDto);
String name = field.getName();
map.put(name, value);
} catch (Exception ex){
logger.error("获取{}字段值失败, {}", field.getName(), ex);
}
}
List<DynamicFormInstanceDto> dynamicFormValue = new ArrayList<>();
List<DynamicFormInstance> dynamicFormInstancelist = new ArrayList<>();
dynamicFormColumn.forEach(DynamicFormInitDto -> {
dynamicFormValue.add(DynamicFormInitDto.getFormItemDescr());
});
dynamicFormValue.forEach(dynamicFormInstanceDto -> {
String key = dynamicFormInstanceDto.getFieldCode();
Object value = map.get(key);
if (value != null) {
dynamicFormInstanceDto.setFieldValue(value.toString());
}
DynamicFormInstance dynamicFormInstance = new DynamicFormInstance();
BeanUtils.copyProperties(dynamicFormInstanceDto, dynamicFormInstance);
dynamicFormInstancelist.add(dynamicFormInstance);
});
return dynamicFormInstancelist;
}
public void saveFirefighters(PeopleInfoDto peopleInfoDto){
/*3184 消防人员,编辑页面岗位选择子分类保存成功后,概要中岗位未修改 chenzhao start 2021-10-19*/
// if (peopleInfoDto.getFirefighters().getJobTitleCode() != null && !firefighters.getFirefighters().getJobTitleCode().equals("")) {
// DataDictionary gwmc = dataDictionaryService.getByCode(firefighters.getFirefighters().getJobTitleCode(), "GWMC");
// firefighters.getFirefighters().setJobTitle(gwmc.getName());
// }
PeopleBasicInfoDto firefighters = peopleInfoDto.getFirefighters();
Firefighters firefightersNew = new Firefighters();
BeanUtils.copyProperties(firefighters, firefightersNew);
firefightersNew.setOfficeTelephone(firefighters.getTelephone());
firefightersNew.setEmployeeNumber(firefighters.getPersonNumber());
firefightersNew.setCertificateNumber(firefighters.getCertificatesNumber());
firefightersNew.setAmosName(firefighters.getAmosName());
firefightersNew.setPersonnelPhotos(firefighters.getPersonImg());
FirefightersInfoDto firefightersInfoDto = new FirefightersInfoDto(firefightersNew, peopleInfoDto.getFirefightersContacts());
if (!ObjectUtils.isEmpty(firefighters.getCertificatesTypeCode())) {
DataDictionary gwmc = dataDictionaryService.getByCode(firefighters.getCertificatesTypeCode(), "RYZJLX");
firefightersNew.setCertificatesType(gwmc.getName());
}
if (!ObjectUtils.isEmpty(firefighters.getStateCode())) {
DataDictionary gwmc = dataDictionaryService.getByCode(firefighters.getStateCode(), "RYZT");
firefightersNew.setState(gwmc.getName());
}
iFirefightersService.saveFirefighters(firefightersInfoDto);
Long sequenceNbr = firefightersInfoDto.getFirefighters().getSequenceNbr();
peopleInfoDto.getPostEduDtoObj().getFirefightersPost().setFirefightersId(sequenceNbr);
peopleInfoDto.getPostEduDtoObj().getFirefightersEducation().setFirefightersId(sequenceNbr);
peopleInfoDto.getPostEduDtoObj().getFirefightersWorkexperience().setFirefightersId(sequenceNbr);
}
public void saveFirefightersPost(FirefightersDataDto firefightersDataDto){
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("org_usr_id", firefightersDataDto.getFirefightersPost().getOrgUsrId());
FirefightersPost firefightersPost = iFirefightersPostService.getOne(queryWrapper);
/*bug3071 消防人员,专家领域选择子分类时概要信息中专家领域未显示 2021-10-09 chenzhao */
if (firefightersDataDto.getFirefightersPost().getAreasExpertiseCode() != null){
String areasExpertiseCode = firefightersDataDto.getFirefightersPost().getAreasExpertiseCode();
DataDictionary zjly = dataDictionaryService.getByCode(areasExpertiseCode, "ZJLY");
firefightersDataDto.getFirefightersPost().setAreasExpertise(zjly.getName());
}
/*bug3071 消防人员,专家领域选择子分类时概要信息中专家领域未显示 2021-10-09 chenzhao */
if (firefightersPost == null) {
iFirefightersPostService.save(firefightersDataDto.getFirefightersPost());
} else {
iFirefightersPostService.update(firefightersDataDto.getFirefightersPost(), queryWrapper);
}
FirefightersEducation firefightersEducation= ifirefightersEducationService.getOne(queryWrapper);
if(firefightersEducation==null) {
ifirefightersEducationService.save(firefightersDataDto.getFirefightersEducation());
}else {
ifirefightersEducationService.update(firefightersDataDto.getFirefightersEducation(),queryWrapper);
}
FirefightersWorkexperience firefightersWorkexperience = ifirefightersWorkexperienceService.getOne(queryWrapper);
if(firefightersWorkexperience==null) {
ifirefightersWorkexperienceService.save(firefightersDataDto.getFirefightersWorkexperience());
}else {
ifirefightersWorkexperienceService.update(firefightersDataDto.getFirefightersWorkexperience(),queryWrapper);
}
}
private void saveFirefightersContacts(PeopleInfoDto peopleInfoDto) {
if(peopleInfoDto.getFirefightersContacts() != null){
FirefightersContacts firefightersContact = peopleInfoDto.getFirefightersContacts();
firefightersContactsService.save(firefightersContact);
peopleInfoDto.setFirefightersContacts(firefightersContact);
}
}
@Override
public PeopleInfoDto selectPeopleById(Long id) {
PeopleBasicInfoDto peopleBasicInfoDto = new PeopleBasicInfoDto();
OrgUsr orgUsr = getById(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();
Object birthdayTimeValue = null;
for (Field field : fields) {
try{
field.setAccessible(true);
String name = field.getName();
if("birthdayTime".equals(name)){
birthdayTimeValue = collect.get(name);
}
Object value = collect.get(name);
field.set(peopleBasicInfoDto, value);
} catch (Exception ex){
logger.error("获取{}字段值失败, {}", field.getName(), ex);
}
}
// if (!ObjectUtils.isEmpty(birthdayTimeValue)) {
// Date date;
// SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// try {
// date = ft.parse(birthdayTimeValue.toString());
// peopleBasicInfoDto.setBirthdayTime(date);
// } catch (ParseException e) {
// logger.error("日期转换失败");
// }
// }
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 ("2".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());
}
}
// 获取联系人
QueryWrapper<FirefightersContacts> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("org_usr_id", id);
FirefightersContacts firefightersContacts = ifirefightersContactsService.getOne(queryWrapper1);
// 获取岗位标签
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("org_usr_id", 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)
public String deletePeopleById(Long id, String type, AgencyUserModel user) {
if ("2".equals(type)) {
QueryWrapper<Firefighters> firefightersQueryWrapper = new QueryWrapper<>();
Firefighters firefighters = iFirefightersService.getOne(firefightersQueryWrapper.eq("org_usr_id", id).eq("is_delete", 0));
Long firefightersSequenceNbr = firefighters.getSequenceNbr();
//BUG 2761 判断人员删除时的逻辑 如果被选为队伍联系人则无法被删除 bykongfm
List fireTeam = iFireTeamService.list(new LambdaQueryWrapper<FireTeam>().eq(FireTeam::getIsDelete, false).eq(FireTeam::getContactUserId, id));
if (fireTeam.size() > 0) {
return "-1";
}
QueryWrapper<FirefightersJacket> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("firefighters_id", firefightersSequenceNbr);
queryWrapper.eq("is_delete", 0);
List<FirefightersJacket> firefightersJacket = firefightersJacketMapper.selectList(queryWrapper);
if (firefightersJacket != null && firefightersJacket.size() > 0) {
// BUG 2222 by litw start 2021年9月10日
return "-2";
}
}
// 1.删除单位人员
// QueryWrapper<CompanyInfo> queryWrapper = new QueryWrapper<>();
// CompanyInfo info = fireCompanyInfoServiceImpl.getOne(queryWrapper.eq("instance_id", id));
// info.setIsDelete(true);
// fireCompanyInfoServiceImpl.updateById(info);
// 删除时,只作逻辑删除
// BUG 2741 首先判断是否为公司 如果公司底下有人员不可直接删除 bykongfm
// bug 2882 判断是否为部门 如果部门底下有人员不可直接删除 chenzhao 2021-09-27 start
OrgUsr tempOrg = iOrgUsrService.getById(id.toString());
// 当前登录人不能删除自己
if (tempOrg.getAmosOrgId() != null && tempOrg.getAmosOrgId().equals(user.getUserId())) {
return "-3";
}
if (tempOrg.getBizOrgType().equals("COMPANY") || tempOrg.getBizOrgType().equals("DEPARTMENT")) {
List<OrgUsr> tempList = iOrgUsrService
.list(new LambdaQueryWrapper<OrgUsr>().eq(OrgUsr::getParentId, id).eq(OrgUsr::getIsDelete, false));
/* bug3031 删除机场单位后,队伍所属单位字段数据未清空 2021-10-13 start */
List<FireTeam> fireTeams = fireTeamMapper.byTeamId(id);
if (tempList.size() > 0 || fireTeams.size() > 0) {
return "-3";
}
/* bug3031 删除机场单位后,队伍所属单位字段数据未清空 2021-10-13 end */
}
// bug 2882 判断是否为部门 如果部门底下有人员不可直接删除 chenzhao 2021-09-27 end
// iOrgUsrService.update(new UpdateWrapper<OrgUsr>().eq("sequence_nbr", id).set("is_delete", CommonConstant.IS_DELETE_01));
/* bug 2812 一次删除多条数据 传入类型修改为string 问题解决 2021-09-09 陈召 开始 */
iOrgUsrService.update(new UpdateWrapper<OrgUsr>().eq("sequence_nbr", String.valueOf(id)).set("is_delete",
CommonConstant.IS_DELETE_01));
/* bug 2812 一次删除多条数据 传入类型修改为string 问题解决 2021-09-09 陈召 结束 */
try {
eSOrgUsrService.deleteById(id);
emqKeeper.getMqttClient().publish(airportDeleteTopic, JSON.toJSONString(id).getBytes(), 2, false);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException();
}
// 2. 删除岗位页签
deleteFirefightersPost(id);
// 3.根据type是否删除消防人员
if ("2".equals(type)) {
deleteFirefighters(id);
}
return "0";
}
public String deleteFirefighters(Long userId){
QueryWrapper<Firefighters> firefightersQueryWrapper = new QueryWrapper<>();
Firefighters firefighters = iFirefightersService.getOne(firefightersQueryWrapper.eq("org_usr_id", userId).eq("is_delete", 0));
Long id = firefighters.getSequenceNbr();
//BUG 2761 判断人员删除时的逻辑 如果被选为队伍联系人则无法被删除 bykongfm
List fireTeam = iFireTeamService.list(new LambdaQueryWrapper<FireTeam>().eq(FireTeam::getIsDelete, false).eq(FireTeam::getContactUserId, userId));
if (fireTeam.size() > 0) {
return "-1";
}
QueryWrapper<FirefightersJacket> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("firefighters_id", id);
queryWrapper.eq("is_delete", 0);
List<FirefightersJacket> firefightersJacket = firefightersJacketMapper.selectList(queryWrapper);
if (firefightersJacket != null && firefightersJacket.size() > 0) {
// BUG 2222 by litw start 2021年9月10日
return "-2";
}
try {
this.iFirefightersService.update(new UpdateWrapper<Firefighters>().eq("sequence_nbr", id).set("is_delete", 1));
iFirefightersThoughtService
.update(new UpdateWrapper<FirefightersThought>().eq("firefighters_id", id).set("is_delete", 1));
iFirefightersContractService
.update(new UpdateWrapper<FirefightersContract>().eq("firefighters_id", id).set("is_delete", 1));
FirefightersJacket firefightersJacket1 = new FirefightersJacket();
firefightersJacket1.setFirefightersId(id);
firefightersJacket1.setIsDelete(true);
firefightersJacketMapper.updateById(firefightersJacket1);
// 删除缓存
redisUtils.del(RedisKey.FIREFIGHTERS_ID + id, RedisKey.FIREFIGHTERS_LIST_ID + id);
return "0";
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("删除失败!");
}
}
public void deleteFirefightersPost(Long id){
iFirefightersPostService
.update(new UpdateWrapper<FirefightersPost>().eq("org_usr_id", id).set("is_delete", 1));
ifirefightersContactsService
.update(new UpdateWrapper<FirefightersContacts>().eq("org_usr_id", id).set("is_delete", 1));
ifirefightersEducationService
.update(new UpdateWrapper<FirefightersEducation>().eq("org_usr_id", id).set("is_delete", 1));
ifirefightersWorkexperienceService
.update(new UpdateWrapper<FirefightersWorkexperience>().eq("org_usr_id", id).set("is_delete", 1));
}
@Override
public boolean checkCertificatesNumber(String certificatesNumber) {
QueryWrapper<DynamicFormInstance> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("field_code", "certificatesNumber");
queryWrapper.eq("field_value", certificatesNumber);
List<DynamicFormInstance> list = dynamicFormInstanceService.list(queryWrapper);
return !ObjectUtils.isEmpty(list) && list.size() > 1;
}
@Override
@Transactional(rollbackFor = Exception.class)
public String deleteFirefighterPeopleById(Long id) {
String flag = deleteFirefighters(id);
// 基础信息人员类型修改为非消防
UpdateWrapper<DynamicFormInstance> updateWrapper = new UpdateWrapper<>();
updateWrapper.eq("instance_id", id);
updateWrapper.eq("field_code", "peopleType");
updateWrapper.set("field_value", "1");
if ("0".equals(flag)) {
dynamicFormInstanceService.update(updateWrapper);
}
return flag;
}
}
\ No newline at end of file
......@@ -9,15 +9,18 @@ import javax.servlet.http.HttpServletRequest;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.interceptors.PermissionInterceptorContext;
import com.yeejoin.amos.boot.module.common.api.core.framework.PersonIdentify;
import com.yeejoin.amos.boot.module.common.api.dto.OrgMenuDto;
import com.yeejoin.amos.boot.module.common.api.dto.*;
import com.yeejoin.amos.boot.module.common.api.enums.OrgPersonEnum;
import com.yeejoin.amos.boot.module.common.biz.service.impl.OrgUsrServiceImpl;
import com.yeejoin.amos.boot.module.jcs.api.entity.UserCar;
import com.yeejoin.amos.boot.module.jcs.api.service.IUserCarService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -42,9 +45,6 @@ import com.yeejoin.amos.boot.biz.common.utils.Menu;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersDto;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersInfoDto;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersZhDto;
import com.yeejoin.amos.boot.module.common.api.entity.FireTeam;
import com.yeejoin.amos.boot.module.common.api.entity.Firefighters;
import com.yeejoin.amos.boot.module.common.api.entity.FirefightersContacts;
......@@ -419,4 +419,73 @@ public class FirefightersController extends BaseController {
public ResponseModel<Object> getAllFirefightersPerson(String jobCode)throws Exception {
return ResponseHelper.buildResponse(iFirefightersService.getAllFirefightersPerson(jobCode));
}
/**
* 根据id查询人员
* @param id
* @return
* @throws Exception
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/people/{id}", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "获取人员详情", notes = "获取人员详情")
public ResponseModel<PeopleInfoDto> updatePeopleById(@RequestBody PeopleInfoDto firefighters, @PathVariable Long id) {
try {
if ("2".equals(firefighters.getFirefighters().getPeopleType())){
PeopleBasicInfoDto peopleBasicInfoDto = firefighters.getFirefighters();
Firefighters firefighter = new Firefighters();
BeanUtils.copyProperties(peopleBasicInfoDto, firefighter);
Firefighters fire = iFirefightersService.getFirefightersByUserId(peopleBasicInfoDto.getSequenceNbr());
if (!ObjectUtils.isEmpty(fire)) {
//判断此消防人员所属队伍是否变换,
//获取用户已绑定车辆id、
UserCar userCar = userCarService.selectByAmosUserId(Long.valueOf(firefighters.getFirefighters().getAmosUserId()));
if(userCar!=null&&!userCar.getTeamId().equals(firefighters.getFirefighters().getFireTeamId()+"")){
userCarService.delete(userCar);
}
firefighter.setSequenceNbr(fire.getSequenceNbr());
firefighter.setOrgUsrId(peopleBasicInfoDto.getSequenceNbr());
firefighter.setEmployeeNumber(peopleBasicInfoDto.getPersonNumber());
firefighter.setMobilePhone(peopleBasicInfoDto.getTelephone());
firefighter.setCertificateNumber(peopleBasicInfoDto.getCertificatesNumber());
// BUG2168 居住地户籍所在地为空判断 bykongfm
if (!ObjectUtils.isEmpty(firefighter.getResidenceDetails())) {
FeignClientResult<RegionModel> region = Systemctl.regionClient.getRegion(Long.parseLong(firefighter.getResidenceDetails()));
firefighter.setResidence(region.getResult().getRegionName());
}
/*3184 消防人员,编辑页面岗位选择子分类保存成功后,概要中岗位未修改 chenzhao start 2021-10-19*/
if (!ObjectUtils.isEmpty(firefighter.getJobTitleCode())) {
DataDictionary gwmc = dataDictionaryService.getByCode(firefighter.getJobTitleCode(), "GWMC");
firefighter.setJobTitle(gwmc.getName());
}
/*3184 消防人员,编辑页面岗位选择子分类保存成功后,概要中岗位未修改 chenzhao end 2021-10-19*/
if (!ObjectUtils.isEmpty(firefighter.getNativePlace())) {
FeignClientResult<RegionModel> nativePlace = Systemctl.regionClient.getRegion(Long.parseLong(firefighter.getNativePlace()));
firefighter.setNativePlaceValue(nativePlace.getResult().getRegionName());
}
if (ObjectUtils.isEmpty(firefighter.getCompany())) {
firefighter.setCompany(fire.getCompany());
firefighter.setCompanyCode(fire.getCompanyCode());
firefighter.setCompanyName(fire.getCompanyName());
}
if (ObjectUtils.isEmpty(firefighter.getBizOrgCode())) {
firefighter.setBizOrgCode(fire.getBizOrgCode());
firefighter.setBizOrgName(fire.getBizOrgName());
}
iFirefightersService.updateById(firefighter);
ifirefightersContactsService.updateById(firefighters.getFirefightersContacts());
// 删除缓存
redisUtils.del(RedisKey.FIREFIGHTERS_ID + firefighter.getSequenceNbr(),
RedisKey.FIREFIGHTERS_LIST_ID + firefighter.getSequenceNbr());
} else {
// 修改时改为消防人员
firefighters.getFirefighters().setOrgUsrId(firefighters.getFirefighters().getSequenceNbr());
iFirefightersService.saveFirefightersByUser(firefighters);
}
}
return ResponseHelper.buildResponse(iFirefightersService.updatePeopleById(firefighters, id));
} catch (Exception e) {
throw new RuntimeException("系统异常");
}
}
}
......@@ -2956,6 +2956,137 @@
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公司信息表';
</sql>
</changeSet>
<changeSet author="xixinzhao" id="20220507-xxz-1">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="cb_firefighters_post" columnName="job_title"/>
</not>
</preConditions>
<comment>modify table cb_firefighters_post add several columns</comment>
<sql>
ALTER TABLE `cb_firefighters_post` ADD job_title VARCHAR ( 50 ) DEFAULT NULL COMMENT '岗位名称',
ADD COLUMN job_title_code VARCHAR ( 20 ) DEFAULT NULL COMMENT '岗位数据字典code',
ADD COLUMN fire_team_name VARCHAR ( 50 ) DEFAULT NULL COMMENT '消防队伍名称',
ADD COLUMN fire_team_id VARCHAR ( 20 ) DEFAULT NULL COMMENT '消防队伍code',
ADD COLUMN internal_position VARCHAR ( 50 ) DEFAULT NULL COMMENT '消防管理组织机构内部职务',
ADD COLUMN internal_position_code VARCHAR ( 20 ) DEFAULT NULL COMMENT '消防管理组织机构内部职务-code',
ADD COLUMN fire_management_post VARCHAR ( 50 ) DEFAULT NULL COMMENT '消防管理岗位',
ADD COLUMN fire_management_post_code VARCHAR ( 20 ) DEFAULT NULL COMMENT '消防管理岗位-code',
ADD COLUMN certificate_type VARCHAR ( 50 ) DEFAULT NULL COMMENT '持证类别',
ADD COLUMN certificate_type_code VARCHAR ( 20 ) DEFAULT NULL COMMENT '持证类别-code',
ADD COLUMN holding_time datetime DEFAULT NULL COMMENT '持证时间',
ADD COLUMN audit_cycle VARCHAR ( 20 ) DEFAULT NULL COMMENT '审核周期';
</sql>
</changeSet>
<changeSet author="xixinzhao" id="20220507-xxz-4">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="cb_firefighters" columnName="safety_training"/>
</not>
</preConditions>
<comment>modify table cb_firefighters add several columns</comment>
<sql>
ALTER TABLE `cb_firefighters` ADD safety_training VARCHAR ( 20 ) DEFAULT NULL COMMENT '是否进行安全培训',
ADD COLUMN people_type VARCHAR ( 20 ) DEFAULT NULL COMMENT '人员类型';
</sql>
</changeSet>
<changeSet author="xixinzhao" id="20220507-xxz-5">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="cb_firefighters_contacts" columnName="org_usr_id"/>
</not>
</preConditions>
<comment>modify table cb_firefighters_contacts add several columns</comment>
<sql>
ALTER TABLE `cb_firefighters_contacts` ADD org_usr_id VARCHAR ( 20 ) DEFAULT NULL COMMENT '单位人员id';
</sql>
</changeSet>
<changeSet author="xixinzhao" id="20220507-xxz-6">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="cb_firefighters_post" columnName="org_usr_id"/>
</not>
</preConditions>
<comment>modify table cb_firefighters_post add several columns</comment>
<sql>
ALTER TABLE `cb_firefighters_post` ADD org_usr_id VARCHAR ( 20 ) DEFAULT NULL COMMENT '单位人员id';
</sql>
</changeSet>
<changeSet author="xixinzhao" id="20220507-xxz-7">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="cb_firefighters_education" columnName="org_usr_id"/>
</not>
</preConditions>
<comment>modify table cb_firefighters_education add several columns</comment>
<sql>
ALTER TABLE `cb_firefighters_education` ADD org_usr_id VARCHAR ( 20 ) DEFAULT NULL COMMENT '单位人员id';
</sql>
</changeSet>
<changeSet author="xixinzhao" id="20220507-xxz-8">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="cb_firefighters_workexperience" columnName="org_usr_id"/>
</not>
</preConditions>
<comment>modify table cb_firefighters_workexperience add several columns</comment>
<sql>
ALTER TABLE `cb_firefighters_workexperience` ADD org_usr_id VARCHAR ( 20 ) DEFAULT NULL COMMENT '单位人员id';
</sql>
</changeSet>
<changeSet author="xixinzhao" id="20220507-xxz-9">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="cb_firefighters" columnName="org_usr_id"/>
</not>
</preConditions>
<comment>modify table cb_firefighters add several columns</comment>
<sql>
ALTER TABLE `cb_firefighters` ADD org_usr_id VARCHAR ( 20 ) DEFAULT NULL COMMENT '单位人员id';
</sql>
</changeSet>
<changeSet author="xixinzhao" id="20220510-xxz-1">
<preConditions onFail="MARK_RAN">
<tableExists tableName="cb_dynamic_form_column" />
<not>
<primaryKeyExists primaryKeyName="sequence_nbr" tableName="cb_dynamic_form_column"/>
</not>
</preConditions>
<comment>人员优化加字段</comment>
<sql>
INSERT INTO `cb_dynamic_form_column`(`sequence_nbr`, `field_code`, `field_name`, `field_type`, `group_id`, `query_strategy`, `not_null`, `block`, `group_code`, `column_config`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `remark`, `sort`, `org_code`) VALUES (132828674812100, 'birthdayTime', '出生日期', 'datetime', 9, 'eq', b'0', b'0', '246', NULL, NULL, NULL, '2022-05-06 09:45:42', b'0', NULL, 17, NULL);
INSERT INTO `cb_dynamic_form_column`(`sequence_nbr`, `field_code`, `field_name`, `field_type`, `group_id`, `query_strategy`, `not_null`, `block`, `group_code`, `column_config`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `remark`, `sort`, `org_code`) VALUES (132828674812101, 'nation', '民族', 'select', 9, 'eq', b'0', b'0', '246', NULL, NULL, NULL, '2022-05-06 03:44:55', b'0', NULL, 18, NULL);
INSERT INTO `cb_dynamic_form_column`(`sequence_nbr`, `field_code`, `field_name`, `field_type`, `group_id`, `query_strategy`, `not_null`, `block`, `group_code`, `column_config`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `remark`, `sort`, `org_code`) VALUES (132828674812102, 'maritalStatus', '婚姻状况', 'select', 9, 'eq', b'0', b'0', '246', NULL, NULL, NULL, '2022-05-06 09:45:47', b'0', NULL, 19, NULL);
INSERT INTO `cb_dynamic_form_column`(`sequence_nbr`, `field_code`, `field_name`, `field_type`, `group_id`, `query_strategy`, `not_null`, `block`, `group_code`, `column_config`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `remark`, `sort`, `org_code`) VALUES (132828674812103, 'nativePlace', '户籍所在地', 'antdTreeSelect', 9, 'eq', b'0', b'0', '246', NULL, NULL, NULL, '2022-05-06 09:45:51', b'0', NULL, 20, NULL);
INSERT INTO `cb_dynamic_form_column`(`sequence_nbr`, `field_code`, `field_name`, `field_type`, `group_id`, `query_strategy`, `not_null`, `block`, `group_code`, `column_config`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `remark`, `sort`, `org_code`) VALUES (132828674812104, 'nativePlaceVal', '户籍所在地详细地址', 'input', 9, 'like', b'0', b'0', '246', NULL, NULL, NULL, '2022-05-06 09:45:56', b'0', NULL, 21, NULL);
INSERT INTO `cb_dynamic_form_column`(`sequence_nbr`, `field_code`, `field_name`, `field_type`, `group_id`, `query_strategy`, `not_null`, `block`, `group_code`, `column_config`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `remark`, `sort`, `org_code`) VALUES (132828674812105, 'politicalOutlook', '政治面貌', 'select', 9, 'eq', b'0', b'0', '246', NULL, NULL, NULL, '2022-05-06 09:46:07', b'0', NULL, 22, NULL);
INSERT INTO `cb_dynamic_form_column`(`sequence_nbr`, `field_code`, `field_name`, `field_type`, `group_id`, `query_strategy`, `not_null`, `block`, `group_code`, `column_config`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `remark`, `sort`, `org_code`) VALUES (132828674812106, 'residenceDetails', '现居住地', 'antdTreeSelect', 9, 'eq', b'0', b'0', '246', NULL, NULL, NULL, '2022-05-06 09:46:12', b'0', NULL, 23, NULL);
INSERT INTO `cb_dynamic_form_column`(`sequence_nbr`, `field_code`, `field_name`, `field_type`, `group_id`, `query_strategy`, `not_null`, `block`, `group_code`, `column_config`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `remark`, `sort`, `org_code`) VALUES (132828674812107, 'residenceDetailVal', '现居住地详细地址', 'input', 9, 'like', b'0', b'0', '246', NULL, NULL, NULL, '2022-05-06 09:46:18', b'0', NULL, 24, NULL);
INSERT INTO `cb_dynamic_form_column`(`sequence_nbr`, `field_code`, `field_name`, `field_type`, `group_id`, `query_strategy`, `not_null`, `block`, `group_code`, `column_config`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `remark`, `sort`, `org_code`) VALUES (132828674812108, 'airportAccommodation', '住宿情况', 'input', 9, 'like', b'0', b'0', '246', NULL, NULL, NULL, '2022-05-06 09:46:26', b'0', NULL, 25, NULL);
INSERT INTO `cb_dynamic_form_column`(`sequence_nbr`, `field_code`, `field_name`, `field_type`, `group_id`, `query_strategy`, `not_null`, `block`, `group_code`, `column_config`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `remark`, `sort`, `org_code`) VALUES (132828674812110, 'peopleType', '人员类型', 'select', 9, 'eq', b'0', b'0', '246', NULL, NULL, NULL, '2022-05-06 09:46:29', b'0', NULL, 27, NULL);
INSERT INTO `cb_dynamic_form_column`(`sequence_nbr`, `field_code`, `field_name`, `field_type`, `group_id`, `query_strategy`, `not_null`, `block`, `group_code`, `column_config`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `remark`, `sort`, `org_code`) VALUES (132828674812111, 'idPositive', '身份证正面照片', 'upload', 9, 'eq', b'0', b'0', '246', NULL, NULL, NULL, '2022-05-09 18:20:22', b'0', NULL, 28, NULL);
INSERT INTO `cb_dynamic_form_column`(`sequence_nbr`, `field_code`, `field_name`, `field_type`, `group_id`, `query_strategy`, `not_null`, `block`, `group_code`, `column_config`, `rec_user_name`, `rec_user_id`, `rec_date`, `is_delete`, `remark`, `sort`, `org_code`) VALUES (132828674812112, 'idReverse', '身份证背面照片', 'upload', 9, 'eq', b'0', b'0', '246', NULL, NULL, NULL, '2022-05-09 18:20:57', b'0', NULL, 29, NULL);
</sql>
</changeSet>
<changeSet author="xixinzhao" id="20220510-xxz-2">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="cb_firefighters_post" columnName="certificate_img"/>
</not>
</preConditions>
<comment>modify table cb_firefighters_post add several columns</comment>
<sql>
ALTER TABLE `cb_firefighters_post` ADD certificate_img VARCHAR ( 500 ) DEFAULT NULL COMMENT '重点工种资质证书';
</sql>
</changeSet>
</databaseChangeLog>
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