Commit 72ade460 authored by suhuiguang's avatar suhuiguang

1.2970下游数据适配调整

parent 53893bb7
......@@ -189,12 +189,4 @@ public class CommonController extends BaseController {
public ResponseModel<List<AgencyUserModel>> getAmosUseListByCompanyCode(@ApiParam(value = "公司编码") @PathVariable String unitCode) {
return ResponseHelper.buildResponse(commonserviceImpl.getAmosUseListByCompanyCode(unitCode));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/permission/update")
@ApiOperation(httpMethod = "GET", value = "运维专用-检验检测人员资质存量数据刷新", notes = "运维专用-检验检测人员资质存量数据刷新")
public ResponseModel<String> personPermissionUpdate(){
commonserviceImpl.personPermissionUpdate();
return ResponseHelper.buildResponse("SUCCESE");
}
}
package com.yeejoin.amos.boot.module.jyjc.biz.service.impl;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
......@@ -22,8 +20,6 @@ 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.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import org.redisson.api.RBucket;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -32,7 +28,6 @@ import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.Collections;
import java.util.List;
/**
......@@ -67,16 +62,6 @@ public class CommonServiceImpl {
@Autowired
JyjcBaseMapper jyjcBaseMapper;
/**
* 检验-人员级别字典KEY
*/
private final static String RYJB_DICT_KEY_JY = "RYJB_JY";
/**
* 检测-人员级别字典KEY
*/
private final static String RYJB_DICT_KEY_JC = "RYJB_JC";
/**
* @return ReginParams
......@@ -216,41 +201,4 @@ public class CommonServiceImpl {
return result.getResult();
}
public void personPermissionUpdate() {
// 1.查询需处理的检验、检验人员类型的数据
LambdaQueryWrapper<TzsUserInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(TzsUserInfo::getPost, jyUserPost).or().like(TzsUserInfo::getPost, jcUserPost);
queryWrapper.eq(BaseEntity::getIsDelete, false);
queryWrapper.select(BaseEntity::getSequenceNbr, TzsUserInfo::getPermissionLevel, TzsUserInfo::getPermissionItem);
List<TzsUserInfo> jyjcUsers = userInfoMapper.selectList(queryWrapper);
// 2.人员级别枚举,用来判断是检验检验资质还是检测人员资质,判断key
List<DictionarieValueModel> jyDicts = getUserLevel(RYJB_DICT_KEY_JY);
jyjcUsers.forEach(user -> {
JSONObject jsonObject = new JSONObject();
// 检验人员逻辑
if (jyDicts.stream().anyMatch(d -> d.getDictDataKey().equals(user.getPermissionLevel()))) {
// key格式固定为permissionData + 人员类型
jsonObject.put(String.format("permissionData%s", jyUserPost), this.buildLength1ArrayData(user));
} else {
// 检测人员逻辑
jsonObject.put(String.format("permissionData%s", jcUserPost), this.buildLength1ArrayData(user));
}
userInfoMapper.update(null, new LambdaUpdateWrapper<TzsUserInfo>()
.eq(BaseEntity::getSequenceNbr, user.getSequenceNbr())
.set(TzsUserInfo::getPermissionLevel, null)
.set(TzsUserInfo::getPermissionItem, null).set(TzsUserInfo::getPermissionData, jsonObject.toJSONString()));
});
}
private JSONArray buildLength1ArrayData(TzsUserInfo user) {
JSONObject jsonObject = new JSONObject();
jsonObject.put("permissionItem", JSONArray.parseArray(user.getPermissionItem()));
jsonObject.put("permissionLevel", user.getPermissionLevel());
return new JSONArray(Collections.singletonList(jsonObject));
}
private List<DictionarieValueModel> getUserLevel(String dictKey) {
FeignClientResult<List<DictionarieValueModel>> jyItemDictResult = Systemctl.dictionarieClient.dictValues(dictKey);
return jyItemDictResult.getResult();
}
}
......@@ -17,6 +17,7 @@ import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.TzsUserPermissionDto;
import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectionCompanyPublicityDto;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication;
import com.yeejoin.amos.boot.module.jyjc.api.enums.BizTypeEnum;
......@@ -496,9 +497,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
List<TzsUserInfoVo> tzsUserInfoVos = userInfos.stream().map(userInfo -> {
TzsUserInfoVo vo = new TzsUserInfoVo();
BeanUtils.copyProperties(userInfo, vo, "identification", "profile", "permissionItem", "appointDoc");
if (!ObjectUtils.isEmpty(userInfo.getPermissionData())) {
this.setPermissionInfo(vo, userInfo, openBizType);
}
this.setPermissionInfo(vo, userInfo, openBizType);
if (!ObjectUtils.isEmpty(userInfo.getPost())) {
vo.setPost(JSON.parseArray(userInfo.getPost()));
}
......@@ -545,14 +544,12 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
this.castPersonType2Post(userInfoQueryWrapper, personType);
userInfoQueryWrapper.eq(BaseEntity::getIsDelete, false);
List<TzsUserInfo> userInfos = userInfoMapper.selectList(userInfoQueryWrapper);
return userInfos.stream().map(userInfo -> {
return userInfos.parallelStream().map(userInfo -> {
TzsUserInfoVo vo = new TzsUserInfoVo();
BeanUtils.copyProperties(userInfo, vo, "identification", "profile", "permissionItem", "appointDoc");
if (!ObjectUtils.isEmpty(userInfo.getPermissionData())) {
this.setPermissionInfo(vo, userInfo, personType);
}
if (!ObjectUtils.isEmpty(userInfo.getPost())) {
vo.setPost(JSON.parseArray(userInfo.getPost()));
this.setPermissionInfo(vo, userInfo, personType);
if (!ObjectUtils.isEmpty(userInfo.getNewPost())) {
vo.setPost(JSON.parseArray(userInfo.getNewPost()));
}
if (!ObjectUtils.isEmpty(userInfo.getAppointDoc())) {
vo.setAppointDoc(JSON.parseArray(userInfo.getAppointDoc()));
......@@ -569,13 +566,17 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
if (personType.equals(OpenBizTypeEnum.JC.getCode())) {
post = jcUserPost;
}
JSONObject allPermissionData = JSON.parseObject(userInfo.getPermissionData());
JSONArray postPermissionData = allPermissionData.getJSONArray(this.buildPermissionKey(post));
if (postPermissionData != null && postPermissionData.size() > 0) {
JSONObject jsonObject = postPermissionData.getJSONObject(0);
vo.setPermissionItem(jsonObject.getJSONArray("permissionItem"));
vo.setPermissionItemName(this.castItemCode2Name(jsonObject.getJSONArray("permissionItem")));
vo.setPermissionLevelName(this.getDictNameByCode(jsonObject.getString("permissionLevel")));
// 查询资质的人,
List<TzsUserPermissionDto> permissionDtos = userInfoMapper.queryPermissionByUserSeq(userInfo.getSequenceNbr(), this.buildPermissionKey(post));
// 注意检验资质、检测资质,每人只有一行数据, 一个人一个证
if(permissionDtos.size() > 0){
TzsUserPermissionDto userPermissionDto = permissionDtos.get(0);
// 不会出现为null, 程序健壮处理
if(userPermissionDto.getPermissionItem() != null && userPermissionDto.getPermissionLevel() != null ){
vo.setPermissionItem(JSONArray.parseArray(userPermissionDto.getPermissionItem()));
vo.setPermissionItemName(this.castItemCode2Name(vo.getPermissionItem()));
vo.setPermissionLevelName(this.getDictNameByCode(userPermissionDto.getPermissionLevel()));
}
}
}
......
......@@ -137,22 +137,10 @@ public class TzsUserInfo extends BaseEntity {
private String appointDoc;
/**
* 验检验专用-级别-废弃,被permissionData替代
* 新岗位(后期post迁移数组至此)
*/
@Deprecated
@TableField(value = "permission_level")
private String permissionLevel;
@TableField("new_post")
private String newPost;
/**
* 验检验专用-资质项目-废弃,被permissionData替代
*/
@Deprecated
@TableField(value = "permission_item")
private String permissionItem;
/**
* 验检验专用-资质数据json,替代:permission_level、permission_item
*/
@TableField(value = "permission_data")
private String permissionData;
}
......@@ -2,13 +2,19 @@ package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.TzsUserPermissionDto;
import com.yeejoin.amos.boot.module.ymt.api.dto.TzsUserInfoDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface TzsUserInfoMapper extends BaseMapper<TzsUserInfo> {
Page<TzsUserInfoDto> selectPageMessage(@Param("page") Page<TzsUserInfoDto> page, @Param("dto") TzsUserInfoDto dto);
Long countUserByPostAndAreaCode(@Param("orgCode") String orgCode, @Param("post") String post, @Param("regionCode") String regionCode);
List<TzsUserPermissionDto> queryPermissionByUserSeq(@Param("userSeq") Long userSeq, @Param("permissionPost") String permissionPost);
}
......@@ -60,4 +60,15 @@
and ((bi.supervise_org_code != '50' and bi.supervise_org_code LIKE CONCAT (#{orgCode}, '%')) or (bi.supervise_org_code = '50' and bi.office_region LIKE CONCAT ('%', #{regionCode}, '%')))
and tui.is_delete=false
</select>
<select id="queryPermissionByUserSeq" resultType="com.yeejoin.amos.boot.module.common.api.dto.TzsUserPermissionDto">
SELECT
sequence_nbr,
permission_level,
permission_item
FROM
"tzs_user_permission"
where
user_seq = #{userSeq}
and permission_post = #{permissionPost}
</select>
</mapper>
\ 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