Commit 0073656f authored by suhuiguang's avatar suhuiguang

fix(jyjc): 报检规则4.0开发

1.业务负责人支持注册的人
parent dd6d1920
...@@ -106,4 +106,25 @@ public interface BizCommonConstant { ...@@ -106,4 +106,25 @@ public interface BizCommonConstant {
* 气瓶设备类别 * 气瓶设备类别
*/ */
String EQU_CATEGORY_CYLINDER = "2300"; String EQU_CATEGORY_CYLINDER = "2300";
/**
* 业务负责人,角色字段类型
*/
String YWFZR_DICT_TYPE = "YWFZR";
/**
* 业务负责人,角色字段类型
*/
String YWFZR_DICT_CODE = "YWFZR";
/**
* 业务类型-检验
*/
String BIZ_TYPE_JY = "jy";
/**
* 业务类型-检测
*/
String BIZ_TYPE_JC = "jc";
} }
...@@ -41,6 +41,6 @@ public class InspectionChargePersonController extends BaseController { ...@@ -41,6 +41,6 @@ public class InspectionChargePersonController extends BaseController {
@GetMapping(value = "/user/list") @GetMapping(value = "/user/list")
@ApiOperation(httpMethod = "GET", value = "业务负责人查询", notes = "业务负责人查询") @ApiOperation(httpMethod = "GET", value = "业务负责人查询", notes = "业务负责人查询")
public ResponseModel<List<TzsUserInfo>> getUserList() { public ResponseModel<List<TzsUserInfo>> getUserList() {
return ResponseHelper.buildResponse(chargePersonService.getUserList(getSelectedOrgInfo().getCompany())); return ResponseHelper.buildResponse(chargePersonService.getUserList(getSelectedOrgInfo()));
} }
} }
...@@ -2,17 +2,23 @@ package com.yeejoin.amos.boot.module.jyjc.biz.service.impl; ...@@ -2,17 +2,23 @@ package com.yeejoin.amos.boot.module.jyjc.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.module.common.api.enums.UserPostEnum; import com.yeejoin.amos.boot.module.common.api.enums.UserPostEnum;
import com.yeejoin.amos.boot.module.jyjc.api.common.BizCommonConstant;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication; import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel; import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel;
import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.TzsUserInfo;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzsUserInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.TzsUserInfoMapper;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity; import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import java.util.List; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @author Administrator * @author Administrator
...@@ -25,6 +31,8 @@ public class InspectionChargePersonServiceImpl { ...@@ -25,6 +31,8 @@ public class InspectionChargePersonServiceImpl {
private final TzsUserInfoMapper userInfoMapper; private final TzsUserInfoMapper userInfoMapper;
private final DataDictionaryServiceImpl iDataDictionaryService;
public JyjcInspectionApplicationModel saveChargePersonData(String applicationSeq, JyjcInspectionApplicationModel model) { public JyjcInspectionApplicationModel saveChargePersonData(String applicationSeq, JyjcInspectionApplicationModel model) {
LambdaUpdateWrapper<JyjcInspectionApplication> updateWrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<JyjcInspectionApplication> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(JyjcInspectionApplication::getInspectionChargePerson, model.getInspectionChargePerson()); updateWrapper.set(JyjcInspectionApplication::getInspectionChargePerson, model.getInspectionChargePerson());
...@@ -34,14 +42,43 @@ public class InspectionChargePersonServiceImpl { ...@@ -34,14 +42,43 @@ public class InspectionChargePersonServiceImpl {
return model; return model;
} }
public List<TzsUserInfo> getUserList(CompanyBo company) { public List<TzsUserInfo> getUserList(ReginParams reginParams) {
LambdaQueryWrapper<TzsUserInfo> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TzsUserInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TzsUserInfo::getUnitCode, company.getCompanyCode()); queryWrapper.eq(TzsUserInfo::getUnitCode, reginParams.getCompany().getCompanyCode());
queryWrapper.eq(com.yeejoin.amos.boot.biz.common.entity.BaseEntity::getIsDelete, false); queryWrapper.eq(com.yeejoin.amos.boot.biz.common.entity.BaseEntity::getIsDelete, false);
// 业务负责人 待实现 // 业务负责人
queryWrapper.like(TzsUserInfo::getNewPost, UserPostEnum.YWFZR.getCode()); queryWrapper.like(TzsUserInfo::getNewPost, UserPostEnum.YWFZR.getCode());
queryWrapper.isNotNull(TzsUserInfo::getAmosUserId); queryWrapper.isNotNull(TzsUserInfo::getAmosUserId);
queryWrapper.select(com.yeejoin.amos.boot.biz.common.entity.BaseEntity::getSequenceNbr, TzsUserInfo::getAmosUserId, TzsUserInfo::getName); queryWrapper.select(com.yeejoin.amos.boot.biz.common.entity.BaseEntity::getSequenceNbr, TzsUserInfo::getAmosUserId, TzsUserInfo::getName);
return userInfoMapper.selectList(queryWrapper); List<TzsUserInfo> userInfos = userInfoMapper.selectList(queryWrapper);
if (userInfos.stream().noneMatch(u -> u.getAmosUserId().equals(RequestContext.getExeUserId()))) {
// 企业注册的人没在业务人员表存,但是如果登录人是业务负责人,则也需要显示,通过判断登录人的角色信息进行判断
Set<Long> roleSeqs = reginParams.getUserModel().getOrgRoleSeqs().values().stream().flatMap(List::stream).collect(Collectors.toSet());
Set<Long> ywfzrRoleIds = getRoleIds();
if (roleSeqs.stream().anyMatch(ywfzrRoleIds::contains)) {
TzsUserInfo userInfo = new TzsUserInfo();
userInfo.setAmosUserId(RequestContext.getExeUserId());
userInfo.setName(reginParams.getUserModel().getRealName());
userInfos.add(userInfo);
}
}
return userInfos;
}
/**
* 查询业务负责人角色id
*
* @return 业务负责人角色ids
*/
private Set<Long> getRoleIds() {
// 角色id维护到字典extend字段,多个用逗号分隔(不再写死的代码,便于调整)
List<DataDictionary> dataDictionaries = iDataDictionaryService.getByType(BizCommonConstant.YWFZR_DICT_TYPE);
Map<String, List<Long>> bizTypeRoleMap = dataDictionaries.stream().collect(Collectors.toMap(DataDictionary::getCode,
d -> Arrays.stream(d.getExtend().split(",")).map(Long::parseLong).collect(Collectors.toList())));
Set<Long> roleIds = new HashSet<>();
roleIds.addAll(bizTypeRoleMap.get(BizCommonConstant.BIZ_TYPE_JC));
roleIds.addAll(bizTypeRoleMap.get(BizCommonConstant.BIZ_TYPE_JY));
roleIds.remove(null);
return roleIds;
} }
} }
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