Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/entity/DockingPreApplyForm.java
@@ -17,11 +17,13 @@ @ApiModel(value = "DockingPreApplyForm", description = "集团编码申请单记录对象") @EqualsAndHashCode public class DockingPreApplyForm extends BaseModel { /*** * 集团编码 */ @ApiModelProperty(value = "集团编码") private String groupCode; /*** * 错误标识码 */ @@ -33,24 +35,29 @@ */ @ApiModelProperty(value = "内容") private String content; /*** *主键oid */ @ApiModelProperty(value = "数据主键") private String dataOid; /** * 业务对象 */ @ApiModelProperty(value = "业务对象") private String dataBtmName; /*** * 消息 */ @ApiModelProperty(value = "消息") private String msg; /** * 申请单类型1:申请,2:更改 */ @ApiModelProperty(value = "消息") private String operationType; } Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feign/IMdmInterJtClient.java
@@ -1,6 +1,7 @@ package com.vci.ubcs.code.applyjtcodeservice.feign; import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException; import com.vci.ubcs.code.applyjtcodeservice.vo.DockingClassifyModelAttrVO; import com.vci.ubcs.code.applyjtcodeservice.vo.DockingPreAttrMappingVO; import com.vci.ubcs.code.applyjtcodeservice.vo.DockingReturnStoreVO; Source/UBCS/ubcs-service-api/ubcs-applyjtcodeservice-api/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feign/MdmApplyGroupCodeProvider.java
@@ -30,6 +30,7 @@ */ @PostMapping("/externalMainData/receiveAddApply") DockingResultVO receiveAddApply(@NotNull @RequestBody DockingGroupDataVO dockingGroupDataVO)throws VciBaseException; /** * mdm向集团更新集团码接口 * @param dockingGroupDataVO AO/TO的信息 @@ -53,6 +54,7 @@ */ @PostMapping("/externalMainData/queryClassModel") DockingQueryClassModelVO queryClassModel(@NotNull @RequestBody DockingModelQueryVO dockingModelQueryVO); /*** * 查询申请单状态 * @param dockingModelQueryVO Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/feign/IMdmEngineClient.java
@@ -51,7 +51,6 @@ @GetMapping(SELECT_BY_TYPE_OID) R<List<BaseModel>> selectByTypeAndOid(@RequestParam("btmType") String btmType, @RequestParam("oids") String oids); /** * 传入业务类型以及相关数据进行批量插入操作 * @@ -71,4 +70,5 @@ */ @PostMapping(UPDATE_BATCH_BY_TYPE) R<Integer>updateBatchBtypeDatas(@RequestParam("btmType")String btmType,@RequestBody List<BaseModel> baseModels); } Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/dto/ClassifyAuthDTO.java
@@ -18,13 +18,18 @@ /** * 是否清空 true是清空,false不是清空 */ // @NotBlank(message = "必传参数isCLear不能为空") // @NotBlank(message = "必传参数isCLear不能为空") private Boolean isCLear; /** * 分类id * 分类oid */ // @NotBlank(message = "必传参数classifyId不能为空") // @NotBlank(message = "必传参数classifyId不能为空") private String classifyId; /** * 分类ID */ // private String classId; } Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java
@@ -16,6 +16,7 @@ */ package com.vci.ubcs.system.feign; import com.vci.ubcs.system.dto.ClassifyAuthDTO; import com.vci.ubcs.system.entity.*; import com.vci.ubcs.system.vo.DeptVO; import com.vci.ubcs.system.vo.RoleVO; @@ -79,6 +80,7 @@ String REGEX = API_PREFIX + "/combination-regex"; String REGEXONE = API_PREFIX + "/combination-regex-one"; String GETVIEWCLASSIFY = API_PREFIX + "/get-view-classify"; String SAVEADDCLASSIFYDEFAULTAUTH = API_PREFIX + "/save-add-classify-default-auth"; /** * 获取菜单 @@ -394,4 +396,7 @@ @GetMapping(GETVIEWCLASSIFY) R<List<String>> getViewClassByRoleIds(@RequestParam("roleIds") List<String> roleIds,@RequestParam("authType") String authType,@RequestParam("buttonCode") String buttonCode,@RequestParam("menuCode") String menuCode); @PostMapping(SAVEADDCLASSIFYDEFAULTAUTH) R saveAddClassifyDefaultAuth(@RequestBody ClassifyAuthDTO classifyAuthDTOS); } Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClientFallback.java
@@ -16,6 +16,7 @@ */ package com.vci.ubcs.system.feign; import com.vci.ubcs.system.dto.ClassifyAuthDTO; import com.vci.ubcs.system.entity.*; import com.vci.ubcs.system.vo.DeptVO; import com.vci.ubcs.system.vo.RoleVO; @@ -204,4 +205,9 @@ return R.fail("获取数据失败"); } @Override public R saveAddClassifyDefaultAuth(ClassifyAuthDTO classifyAuthDTOS) { return R.fail("保存失败"); } } Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/controller/DockingPreApplyCodeController.java
@@ -48,32 +48,26 @@ /*** * 属性枚举范围服务 */ private final IDockingPreAttrRangeService dockingPreAttrRangeService; /*** * 分类属性枚举范围服务 */ private final IDockingPreClassifyService dockingPreClassifyService; /*** * 属性枚举范围服务 */ private final IDockingPreApplyFormService dockingPreApplyFormService; /*** * 属性枚举范围服务 */ private final IDockingPreViewModelService dockingPreViewModelService; /*** * 属性枚举范围服务 */ private final ICodeClassifyClient codeClassifyClient; /** @@ -132,7 +126,6 @@ return R.data(dockingPreAttrRangeVOS); } /** * 参照树 集团分类(是否包含属性) * @param treeQueryObject 树形查询对象 conditionMap 存上 codeclsfid=主数据的分类oid @@ -142,7 +135,6 @@ public List<Tree> referTree(TreeQueryObject treeQueryObject) { return dockingPreClassifyService.treeCompanyGroupClassify(treeQueryObject); } /** * 参照树 主数据模板属性信息 @@ -174,7 +166,6 @@ return R.data(codeClassifyClient.listCodeAttributeByClassId(codeClassifyId)); } /*** * 申请集团编码 * @return @@ -183,13 +174,13 @@ @ApiOperationSupport(order = 2) @ApiOperation(value = "集团码申请", notes = "dockingPreAttrMappingVOList") public R applyGroupCode(String oids,String btmName){ List<BaseModelVO> BaseModelVOS=new ArrayList<>(); try { return groupMdmInterService.applyGroupCode(oids,btmName); }catch (Throwable e){ return R.fail("集团码申请失败:"+e.getMessage()); } } /*** * 更新集团编码数据 * @return @@ -222,11 +213,11 @@ } /*** * 查询申请单状态 * oids:业务数据oid * @return 返回执行结果信息 */ /*** * 查询申请单状态 * oids:业务数据oid * @return 返回执行结果信息 */ @GetMapping( "/queryApplyState") @ApiOperationSupport(order = 2) @ApiOperation(value = "查看申请单状态", notes = "查看申请单状态") Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/feigh/MdmInterJtClient.java
@@ -2,6 +2,7 @@ import com.alibaba.cloud.commons.lang.StringUtils; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.vci.ubcs.code.applyjtcodeservice.entity.*; import com.vci.ubcs.code.applyjtcodeservice.feign.IMdmInterJtClient; @@ -36,8 +37,10 @@ @Data @Slf4j public class MdmInterJtClient implements IMdmInterJtClient { @Value("${docking.apply.partCoe:10}") public String partCoe; /** * 集团申请单服务 */ @@ -57,10 +60,12 @@ * 集团分类申请单服务 */ private final IDockingPreClassifyService dockingPreClassifyService; /*** * 属性映射服务 */ private final IDockingPreAttrMappingService dockingPreAttrMappingService; /** * 集团取值范围申请单服务 */ @@ -73,6 +78,7 @@ @Autowired(required = false) private IMdmEngineClient mdmEngineClient; /*** * 申请集团编码 * @return @@ -112,6 +118,7 @@ return R.fail("集团码数据修改失败:"+e.getMessage()); } } /* * 主数据业务服务 */ @@ -185,7 +192,7 @@ String jdatabtmname = dockingPreApplyForm.getDataBtmName(); if (res) { //此处需要查询业务数据,去更改 R<List<BaseModel>> R=mdmEngineClient.selectByTypeAndOid(jdatabtmname,jdataid); R<List<BaseModel>> R = mdmEngineClient.selectByTypeAndOid(jdatabtmname,jdataid); if(R.isSuccess()){ List<BaseModel> oldDatalist=new ArrayList<>(); List<BaseModel> newDatalist=R.getData(); @@ -210,10 +217,12 @@ mdmEngineClient.updateBatchBtypeDatas(btmName, modeList); }); } dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); if(!CollectionUtils.isEmpty(dockingPreApplyFormList)){ dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); } }catch (Throwable e){ e.printStackTrace(); return R.fail("集团码集成赋值失败"+e); return R.fail("集团码集成赋值失败,原因:"+e.getMessage()); } log.info("获取集团集团码,赋值到主数据 end"); return R.success("集团码赋值成功"); @@ -291,6 +300,7 @@ throw new Throwable("存储视图模型出现问题"); } } /*** * 获取分类视图 * @@ -346,7 +356,6 @@ throw new Throwable("组织分类" + nodeLinkName + "模型视图存储出现问题"); } } /*** * 获取模型视图属性 Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/IGroupMdmInterService.java
@@ -9,6 +9,7 @@ * @author xiejun */ public interface IGroupMdmInterService { /*** * 主数据像集团申请编码 * @param oids @@ -25,7 +26,6 @@ * @return 返回结果信息 * @throws Throwable */ public R receiveEditApply(String oids, String btmName)throws Throwable; /*** @@ -36,13 +36,13 @@ */ public R queryClassModel(String jtclsfId)throws Throwable; /*** * 查询分类详细模型视图 * @return 返回结果信息 * @throws Throwable */ public R queryMdmModel()throws Throwable; /*** *同步集团模型视图 * @param classifyId @@ -58,4 +58,5 @@ * @throws VciBaseException */ R queryApplyState(String oids)throws VciBaseException; } Source/UBCS/ubcs-service/ubcs-applyjtcodeservice/src/main/java/com/vci/ubcs/code/applyjtcodeservice/service/impl/GroupMdmInterServiceImpl.java
@@ -48,10 +48,13 @@ private String code=""; private String msg=""; @Value("${docking.apply.partCode:101}") public String partCoe; @Value("${docking.apply.usedFlag:false}") public boolean usedFlag; @Value("${docking.apply.unitCode:4100}") public String dockingApplyUnitCode; @@ -60,6 +63,7 @@ @Autowired(required = false) private MdmApplyGroupCodeProvider mdmApplyGroupCodeProvider; /*** * 集团分类服务 */ @@ -72,13 +76,11 @@ @Autowired(required = false) private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreApplyFormService dockingPreApplyFormService; /*** * 模型视图单服务 */ @Autowired(required = false) private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreViewModelService dockingPreViewModelService; /*** * 集团分类属性属性映射配置服务 @@ -91,7 +93,6 @@ @Autowired(required = false) private com.vci.ubcs.code.applyjtcodeservice.service.IDockingPreAttrRangeService dockingPreAttrRangeService; /*** * 集团属性服务 */ @@ -100,8 +101,9 @@ @Autowired(required = false) private IMdmEngineClient mdmEngineClient; /*** * 主数据像集团申请编码 * 主数据向集团申请编码 * @param oids 需要申请的数据主键数组 * @param btmName 业务类型 * @return 返回结果信息 @@ -137,8 +139,8 @@ Object object = JSONObject.toJSON(dockingGroupDataVO); String resultStr = object.toString(); log.info("申请集团码数据格式:->"+resultStr); DockingResultVO resultDataObject =new DockingResultVO(); resultDataObject= mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO); DockingResultVO resultDataObject = new DockingResultVO(); resultDataObject = mdmApplyGroupCodeProvider.receiveAddApply(dockingGroupDataVO); code = resultDataObject.getCode(); msg = resultDataObject.getMsg(); boolean res=false; @@ -253,6 +255,7 @@ return R.fail("申请接口开关已关闭,不申请集团码"); } } /*** * 主数据像集团更改编码 * @param oids 需要修改的数据主键数组 @@ -526,8 +529,6 @@ return R.success(message); } /*** * 查询申请单状态 * @param dataOids @@ -540,7 +541,7 @@ return R.fail("查询申请单状态接口开关已关闭"); } String message="执行成功!"; log.info("查询申请单状态接口statr"); log.info("查询申请单状态接口start"); try { VciBaseUtil.alertNotNull(dataOids,"所查申请单数据主键"); VciBaseUtil.alertNotNull(dockingApplySysName,"系统标识配置:docking.apply.unitCode"); @@ -555,7 +556,7 @@ DockingModelQueryVO dockingModelQueryVO=new DockingModelQueryVO(); dockingModelQueryVO.setApplyNums(VciBaseUtil.array2String(applyIdList.toArray(new String[]{}))); dockingModelQueryVO.setSysName(dockingApplySysName); DockingApplyFormQueryStatusVO dockingApplyFormQueryStatusVO=mdmApplyGroupCodeProvider.queryApplyState(dockingModelQueryVO); DockingApplyFormQueryStatusVO dockingApplyFormQueryStatusVO = mdmApplyGroupCodeProvider.queryApplyState(dockingModelQueryVO); int code=dockingApplyFormQueryStatusVO.getCode(); String mesg=dockingApplyFormQueryStatusVO.getMsg(); @@ -573,7 +574,7 @@ applyFormObject.setMsg(jmsg); } } boolean res=this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); boolean res = this.dockingPreApplyFormService.saveOrUpdateBatch(dockingPreApplyFormList); }else{ throw new Throwable("没有获取到相关数据信息"); } @@ -736,7 +737,6 @@ throw new Throwable("组织分类" + nodeLinkName + "模型视图存储出现问题"); } } /*** * 获取模型视图属性 @@ -1028,6 +1028,7 @@ * 获取属性枚举映射配置 */ Map<String,Map<String, DockingPreAttrRange>> attrRangeMap=new HashMap<String, Map<String,DockingPreAttrRange>>(); private void getAttrRange(DockingPreMetaAttr jmetaatter) throws Throwable{ String jmetalistoid = jmetaatter.getOid(); @@ -1045,6 +1046,7 @@ attrRangeMap.put(jmetalistoid, rangeMap); } /**** * 值类型转换 * @param jmetaatter @@ -1130,4 +1132,5 @@ } return msg; } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/SearchDataSyncForERPScheduling.java
@@ -51,7 +51,7 @@ log.info("执行从ERP项目代号/型号代号数据 start:"); log.info("执行主数据集成数据推送 end: "+ "开关是否开启:" +ERP_ITEM_ISSTARE); if(ERP_ITEM_ISSTARE && BooleanEnum.TRUE.getValue().equalsIgnoreCase(FINISH_INIT)) { SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss."); SimpleDateFormat formatter= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time = formatter.format(new Date()); codeDuckingSyncServiceI.saveItemDataSyncScheduing(""); String outInfo = "============ 执行了从ERP项目代号/型号代号数据 end;"; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeClassifyController.java
@@ -77,6 +77,7 @@ private final ICodeClassifyService codeClassifyService; CodeClassifyMapper codeClassifyMapper; /** * 主题库定义表 详情 */ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
@@ -163,8 +163,8 @@ * @throws Throwable */ @PostMapping("/syncDataForPerson") public ResultOrgData syncDataForPerson(@RequestBody PersonData personData){ public ResultOrgData syncDataForPerson(@RequestBody PersonData personData,HttpServletRequest request){ this.setHttpToThreadLocal(request); ResultOrgData result = new ResultOrgData(); try { result= universalInterfaceI.syncDataForPerson(personData); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmEngineClient.java
@@ -44,7 +44,9 @@ @RestController @AllArgsConstructor public class MdmEngineClient implements IMdmEngineClient { private final MdmEngineService mdmEngineService; /** * 传入业务类型以及相oid集合查询数据进行返回 * @@ -78,6 +80,7 @@ throw new RuntimeException(e); } } /** * 更新业务数据同时对码值表数据操作接口 * Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -49,6 +49,7 @@ import com.vci.ubcs.starter.web.util.LangBaseUtil; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.system.cache.NacosConfigCache; import com.vci.ubcs.system.dto.ClassifyAuthDTO; import com.vci.ubcs.system.feign.ISysClient; import org.apache.poi.hssf.util.HSSFColor; import org.slf4j.Logger; @@ -159,6 +160,7 @@ * @param */ @Override @Transactional(rollbackFor = Exception.class) public R addSave(CodeClassify codeClassifyEntity) { try { VciBaseUtil.alertNotNull(codeClassifyEntity.getId(),"主题库编号不能为空!",codeClassifyEntity.getName(),"主题库名称不能为空!"); @@ -185,8 +187,19 @@ } DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyEntity, MdmBtmTypeConstant.CODE_CLASSIFY); codeClassifyEntity.setLcStatus(FRAMEWORK_DATA_ENABLED); int insertNumber = codeClassifyMapper.insert(codeClassifyEntity); return R.status(SqlHelper.retBool(insertNumber)); boolean resBoolean = SqlHelper.retBool(codeClassifyMapper.insert(codeClassifyEntity)); if (!resBoolean) { return R.status(resBoolean); } // 分类添加成功,给系统管理员和当前角色增加分类权限和数据权限 ClassifyAuthDTO classifyAuthDTO = new ClassifyAuthDTO(); classifyAuthDTO.setClassifyId(codeClassifyEntity.getOid()); // classifyAuthDTO.setClassId(codeClassifyEntity.getId()); R r = sysClient.saveAddClassifyDefaultAuth(classifyAuthDTO); if (!r.isSuccess()) { throw new ServiceException("给角色授予默认权限时出现错误,原因:"+r.getMsg()); } return R.status(resBoolean); } /** Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -305,14 +305,14 @@ calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); log.info("查询时间------->"+calendar.getTime()); log.info("查询时间------->"+dft.format(new Date())); lastchangedon= dft.format(calendar.getTime()); }else{ lastchangedon=endDate; } searchItemParam.setLastchangedon(lastchangedon); searchItemParam.setStatus(itemStatus);// Map<String,String>searchDataMap= VciBaseUtil.objectToMapString(searchItemParam); Map<String,String> searchDataMap = VciBaseUtil.objectToMapString(searchItemParam); try { paramString=JSONObject.toJSON(searchItemParam).toString(); // TODO: 改为使用HttpUtils方式进行申请,因为现在申请用之前的方式会报错 @@ -358,7 +358,7 @@ List<String> itemCodeList = new ArrayList<>(); ApplyDatasVO allDatasVO = new ApplyDatasVO(); List<ApplyDataVO> allObjectList = new ArrayList<>(); if (!CollectionUtils.isEmpty(dataList)) { if (Func.isNotEmpty(dataList)) { dataList.stream().forEach(searchItemDataVO -> { String itemCode = StringUtils.isNotBlank(searchItemDataVO.getPROJECTITEM()) ? searchItemDataVO.getPROJECTITEM() : searchItemDataVO.getMMODELCODE();//项目代号 dataVOMap.put(itemCode, searchItemDataVO); @@ -464,8 +464,6 @@ paramString = Func.isEmpty(paramObject) ? "" : paramObject.toString(); Object backObject = JSONObject.toJSON(allResultDataObjectDetailDOS); backString = Func.isEmpty(backObject) ? "" : backObject.toString(); }else{ throw new Throwable("接口未返回信息"); } } catch (Throwable e) { e.printStackTrace(); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -258,8 +258,9 @@ */ @Autowired private ICodeRuleService ruleService; /** * 编码规则的服务 * 码值的服务 */ @Autowired private ICodeAllCodeService codeAllCodeService; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -578,7 +578,7 @@ ApplyDatasVO applyDatasVO=new ApplyDatasVO(); ApplyDatasVO editDatasVO=new ApplyDatasVO(); if(!CollectionUtils.isEmpty(cboList)){ Map<String,ClientBusinessObject> oldpplyDataVOMap= cboList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); Map<String,ClientBusinessObject> oldpplyDataVOMap = cboList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); //数据库不存在的 List<ApplyDataVO> applyApplyDataVOList = applyDataVOList.stream().filter(cbo -> { String code =cbo.getCode(); Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/feign/SysClient.java
@@ -16,6 +16,7 @@ */ package com.vci.ubcs.system.feign; import com.vci.ubcs.system.dto.ClassifyAuthDTO; import com.vci.ubcs.system.entity.*; import com.vci.ubcs.system.service.*; import com.vci.ubcs.system.vo.DeptVO; @@ -264,8 +265,14 @@ return R.data(mdmCountConfigService.getMdmCountConfig(userId)); } @GetMapping(GETVIEWCLASSIFY) public R<List<String>> getViewClassByRoleIds(List<String> roleIds,String authType,String buttonCode,String menuCode){ return R.data(classifyAuthService.getViewClassByRoleIds(roleIds,authType,buttonCode,menuCode)); } @PostMapping(SAVEADDCLASSIFYDEFAULTAUTH) public R saveAddClassifyDefaultAuth(@RequestBody ClassifyAuthDTO classifyAuthDTOS){ return classifyAuthService.saveAddClassifyDefaultAuth(classifyAuthDTOS); } } Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IClassifyAuthService.java
@@ -57,4 +57,11 @@ */ List<String> getViewClassByRoleIds(List<String> roleIds,String authType,String buttonCode,String menuCode); /** * 根据角色名称分类id授予默认的分类权限和主数据访问权限 * @param classifyAuthDTOS * @return */ R saveAddClassifyDefaultAuth(ClassifyAuthDTO classifyAuthDTOS); } Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/IMenuService.java
@@ -174,7 +174,7 @@ boolean submit(Menu menu); /** * 获取菜单下面的按钮 * 获取分类节点菜单下面的按钮 * @param classifyId * @param btmType * @param authType Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/ClassifyAuthServiceImpl.java
@@ -12,6 +12,7 @@ import com.vci.ubcs.system.mapper.ClassifyAuthMapper; import com.vci.ubcs.system.service.IClassifyAuthService; import com.vci.ubcs.system.service.IMenuService; import com.vci.ubcs.system.service.IRoleService; import com.vci.ubcs.system.vo.ClassifyAuthVO; import com.vci.ubcs.system.wrapper.ClassifyAuthWrapper; import lombok.AllArgsConstructor; @@ -19,6 +20,7 @@ import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -39,6 +41,14 @@ private final IMenuService menuService; private final ICodeClassifyClient codeClassifyClient; private final IRoleService roleService; /** * 三员管理角色编号配置:分别为系统管理员,安全管理员,审计管理员顺序 */ @Value("#{'${ssa.ssa-names}'.split(',')}") private List<String> SSANAMES; /** * 分类授权保存接口 @@ -215,4 +225,49 @@ return this.classifyAuthMapper.getViewClassByRoleIds(roleIds, authType,buttonCode,menuCode); } /** * 根据角色名称分类id授予默认的分类权限和主数据访问权限 * @param classifyAuthDTO * @return */ @Transactional(rollbackFor = Exception.class) public R saveAddClassifyDefaultAuth(ClassifyAuthDTO classifyAuthDTO) throws ServiceException{ if (Func.isEmpty(classifyAuthDTO.getClassifyId())) { return R.fail("未获取到分类id"); } // 配置的系统管理员名称 String sysAdmin = SSANAMES.get(0); List<ClassifyAuth> classifyAuths = new ArrayList<>(); //先默认生成系统管理员的授权数据 ClassifyAuth classifyAuth = new ClassifyAuth(); classifyAuth.setClassifyId(classifyAuthDTO.getClassifyId()); classifyAuth.setAuthType("classify_auth"); String roleIds = roleService.getRoleIds(AuthUtil.getTenantId(), sysAdmin); if(Func.isBlank(roleIds)){ return R.fail(AuthUtil.getTenantId()+"租户下未找到,名为"+sysAdmin+"系统管理员角色!"); } classifyAuth.setRoleId(roleIds); List<Menu> classifyTreeMenus = menuService.getButtonsByRoleId(roleIds, "classifyTree"); if(!classifyTreeMenus.isEmpty()){ String menuIds = classifyTreeMenus.stream() .map(menu -> String.valueOf(menu.getId())) .collect(Collectors.joining(",")); classifyAuth.setButtonIds(menuIds); classifyAuths.add(classifyAuth); } /*ClassifyAuth dataAuth = new ClassifyAuth(); dataAuth.setAuthType("data_auth"); dataAuth.setClassifyId(classifyAuthDTO.getClassifyId()); dataAuth.setRoleId(roleIds); List<Menu> masterDatas = menuService.getButtonsByRoleId(roleIds, classifyAuthDTO.getClassId()); if(!masterDatas.isEmpty()){ String menuIds = masterDatas.stream() .map(menu -> String.valueOf(menu.getId())) .collect(Collectors.joining(",")); dataAuth.setButtonIds(menuIds); classifyAuths.add(dataAuth); }*/ return R.status(this.saveBatch(classifyAuths)); } }