部门导入调整,按照部门名称/实现层级关系。枚举导入功能接口上传,属性池添加新增、查询、修改、导出、查看应用范围等接口。业务类型、链接类型、枚举类型增加等接口属性是否产生数据检查、根据属性名修改业务类型和连接类型中对应属性方法,以及属性池中需要的一些下拉查询接口。
已修改29个文件
已重命名1个文件
已添加2个文件
| | |
| | | } |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | * æé æ¹æ³-æ¯å¦å±
ä¸ |
| | | * @param row è¡ |
| | | * @param col å |
| | | * @param obj å¼ |
| | |
| | | } |
| | | |
| | | /** |
| | | * æé æ¹æ³ |
| | | * æé æ¹æ³-åå¹¶ï¼å±
ä¸åæ° |
| | | * @param row è¡ |
| | | * @param rowTo åå¹¶è¡ |
| | | * @param merged æ¯å¦åå¹¶åå
æ ¼ |
| | |
| | | */ |
| | | private String defaultValue; |
| | | |
| | | |
| | | /** |
| | | * ä½¿ç¨æä¸¾è±æåç§° |
| | | */ |
| | |
| | | */ |
| | | private Integer scaleLength; |
| | | |
| | | |
| | | /** |
| | | * åå¼èå´ |
| | | */ |
| | |
| | | */ |
| | | private Date ts; |
| | | |
| | | /** |
| | | * å建人 |
| | | */ |
| | | private String creator; |
| | | |
| | | /** |
| | | * å建æ¶é´ |
| | | */ |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * æåä¿®æ¹äºº |
| | | */ |
| | | private String lastModifier; |
| | | |
| | | /** |
| | | * æåä¿®æ¹æ¶é´ï¼æ ¼å¼æ¯yyyy-MM-dd HH:mm:ss |
| | | */ |
| | | private Date lastModifyTime; |
| | | |
| | | public void setCreator(String creator) { |
| | | this.creator = creator; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public void setLastModifier(String lastModifier) { |
| | | this.lastModifier = lastModifier; |
| | | } |
| | | |
| | | public void setLastModifyTime(Date lastModifyTime) { |
| | | this.lastModifyTime = lastModifyTime; |
| | | } |
| | | |
| | | public String getCreator() { |
| | | return creator; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public String getLastModifier() { |
| | | return lastModifier; |
| | | } |
| | | |
| | | public Date getLastModifyTime() { |
| | | return lastModifyTime; |
| | | } |
| | | |
| | | public String getOid() { |
| | | return oid; |
| | | } |
| | |
| | | /** |
| | | * æè¿° |
| | | */ |
| | | @Column(name = "description") |
| | | private String description; |
| | | |
| | | /** |
| | | * æ¶é´æ³ |
| | | */ |
| | | @Column(name = "ts") |
| | | private Date ts; |
| | | |
| | | /** |
| | | * å建人 |
| | | */ |
| | | @Column(name = "creator") |
| | | private String creator; |
| | | |
| | | /** |
| | | * å建æ¶é´ |
| | | */ |
| | | @Column(name = "createtime") |
| | | private Date createTime; |
| | | |
| | | /** |
| | |
| | | * å
容 |
| | | */ |
| | | @XmlType |
| | | @Column(name = "content") |
| | | private String content; |
| | | |
| | | public String getOid() { |
| | |
| | | /** |
| | | * é¤é¨é¨ä¸»é®å¤çå¯ä¸æ è¯ï¼é¿åº¦ä¸º8ä½ï¼å¯éè¿è¯¥åæ°åæ¨åé¨é¨ä¸»é®;主è¦ç¨äºå¯¼å
¥é¨é¨æ¶ä½¿ç¨ |
| | | */ |
| | | private String uniqueId; |
| | | //private String uniqueId; |
| | | |
| | | /** |
| | | * é¨é¨åç§° |
| | |
| | | */ |
| | | private String tel; |
| | | |
| | | /** |
| | | * é¨é¨åç§°ç»æçå
¨è·¯å¾ï¼dept1/dept2/dept3 |
| | | */ |
| | | private String fullDeptNamePath; |
| | | |
| | | /** |
| | | * é¨é¨å±çº§ |
| | | */ |
| | | private int treelevel; |
| | | |
| | | public OrgDepartmentVO() { |
| | | } |
| | | |
| | | public OrgDepartmentVO(String id, String name, Short status, String fullDeptNamePath, int treelevel) { |
| | | this.id = id; |
| | | this.name = name; |
| | | this.status = status; |
| | | this.fullDeptNamePath = fullDeptNamePath; |
| | | this.treelevel = treelevel; |
| | | } |
| | | |
| | | public String getFullDeptNamePath() { |
| | | return fullDeptNamePath; |
| | | } |
| | | |
| | | public void setFullDeptNamePath(String fullDeptNamePath) { |
| | | this.fullDeptNamePath = fullDeptNamePath; |
| | | } |
| | | |
| | | public String getCode() { |
| | | return code; |
| | |
| | | return statusText; |
| | | } |
| | | |
| | | public String getUniqueId() { |
| | | /*public String getUniqueId() { |
| | | return uniqueId; |
| | | } |
| | | }*/ |
| | | |
| | | public void setUniqueId(String uniqueId) { |
| | | /*public void setUniqueId(String uniqueId) { |
| | | this.uniqueId = uniqueId; |
| | | } |
| | | }*/ |
| | | |
| | | @Override |
| | | public String getId() { |
| | |
| | | */ |
| | | private String enumName; |
| | | |
| | | |
| | | /** |
| | | * åç
§çä¸å¡ç±»åç¼å· |
| | | */ |
| | |
| | | private String range; |
| | | |
| | | /** |
| | | * ä¸å¡ç±»ååç§°,æ¯å¼è¿æ¡æ°æ®çä¸å¡ç±»åï¼ä¸æ¯å±æ§æå±çä¸å¡ç±»å |
| | | * åæ®µä¸ºåç
§æ¶åç
§çç¸å
³å±æ§ |
| | | */ |
| | | private String other; |
| | | |
| | | /** |
| | | * ä¸å¡ç±»ååç§°,æ¯å¼è¿æ¡æ°æ®çä¸å¡ç±»åï¼ä¸æ¯å±æ§æå±çä¸å¡ç±»åï¼åºè¯¥æ¯ä¸å¡ç±»åä¸ºå±æ§æ± |
| | | */ |
| | | private String btmname; |
| | | |
| | |
| | | */ |
| | | private Date ts; |
| | | |
| | | public String getOther() { |
| | | return other; |
| | | } |
| | | |
| | | public void setOther(String other) { |
| | | this.other = other; |
| | | } |
| | | |
| | | public String getOid() { |
| | | return oid; |
| | | } |
| | |
| | | private String rowIndex; |
| | | |
| | | /** |
| | | * ä¸»é® |
| | | */ |
| | | @ExcelColumn(value="ID") |
| | | private String id; |
| | | |
| | | /** |
| | | * é¨é¨åç§° |
| | | */ |
| | | @ExcelColumn(value="åç§°",nullable = false) |
| | |
| | | /** |
| | | * ç¶id |
| | | */ |
| | | @ExcelColumn(value="ç¶IDï¼é¨é¨å¯ä¸æ è¯IDï¼") |
| | | private String parentId; |
| | | @ExcelColumn(value="ç¶é¨é¨åç§°å
¨è·¯å¾ï¼/é´éï¼") |
| | | private String parentFullNamePath; |
| | | |
| | | /** |
| | | * æè¿° |
| | |
| | | */ |
| | | public static final String USER_TABLE_COMPATIBILITY_FIELD_SEP = "${vcicomplibitysep}"; |
| | | |
| | | |
| | | /** |
| | | * æ¥è¯¢æ¡ä»¶ |
| | | */ |
| | |
| | | private PageHelper pageHelper; |
| | | |
| | | /** |
| | | * ææçåæ®µåç§°,keyæ¯å¯¹è±¡å±æ§ä¸çåæ®µï¼valueæ¯æ°æ®åºéçåæ®µ |
| | | * ææçåæ®µåç§°,keyæ¯æ°æ®åºéçåæ®µï¼valueæ¯å¯¹è±¡å±æ§ä¸çåæ®µ |
| | | */ |
| | | private Map<String,String> allFieldNameMap; |
| | | |
| | |
| | | public Map<String,String> switchConditionMap(){ |
| | | Map<String,String> queryMap = new HashMap<>(); |
| | | if(!CollectionUtils.isEmpty(this.conditionMap)){ |
| | | this.conditionMap.forEach((key,value)->{ |
| | | //TODO: 转æ¢åçåæ®µå转æ¢åçåæ®µä¸åºè¯¥åæ¶åå¨ï¼åºè¯¥é½ç»ä¸ä½¿ç¨è½¬æ¢åçåæ®µåæ¥è¯¢æ¡ä»¶ |
| | | /*this.conditionMap.forEach((key,value)->{ |
| | | queryMap.put(key,value); |
| | | }); |
| | | });*/ |
| | | //æä»¬è½¬æ¢ä¸ä¸ï¼ç´æ¥setï¼å¦æè¿æéå¤çå°±åªè½èªè¡è§£å³ |
| | | this.allFieldNameMap.forEach((dbField,field)->{ |
| | | if(conditionMap.containsKey(field)){ |
| | |
| | | public void setLinkTableSql(String linkTableSql) { |
| | | this.linkTableSql = linkTableSql; |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | |
| | | OrgDepartmentVO getDeptByDeptOid(String deptOid) throws VciBaseException; |
| | | |
| | | /** |
| | | * æ ¹æ®ç¶é¨é¨ä¸»é®è·ååé¨é¨åç§°é¨é¨çä¿¡æ¯ |
| | | * æ ¹æ®ç¶é¨é¨ä¸»é®è·ååé¨é¨åç§°é¨é¨çä¿¡æ¯ï¼ä¸»è¦ç¨äºæ°å¢åä¿®æ¹æ¥éï¼ |
| | | * @param parentDeptOid ç¶é¨é¨ä¸»é® |
| | | * @param conditionMap æ¥è¯¢æ¡ä»¶ |
| | | * @return é¨é¨çæ¾ç¤ºå¯¹è±¡ï¼å¦æé¨é¨ä¸åå¨åè¿ånullï¼ä¸ä¼æåºå¼å¸¸ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºæè
æ°æ®åºåå¨é®é¢çæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | List<OrgDepartmentVO> getDeptByDeptPOidAndCondition(String parentDeptOid,Map<String,String> conditionMap) throws VciBaseException; |
| | | List<OrgDepartmentVO> getDeptByDeptpOidAndCondition(String parentDeptOid,Map<String,String> conditionMap) throws VciBaseException; |
| | | |
| | | /** |
| | | * æ ¹æ®ç¶é¨é¨åç§°è·¯å¾è·ååé¨é¨åç§°é¨é¨çä¿¡æ¯ï¼ä¸»è¦ç¨äºå¯¼å
¥æ¶æ ¹æ®é¨é¨å½ä»¤å
¨è·¯å¾ååç§°æç¼å·æ¥éï¼ |
| | | * @return é¨é¨çæ¾ç¤ºå¯¹è±¡ï¼å¦æé¨é¨ä¸åå¨åè¿ånullï¼ä¸ä¼æåºå¼å¸¸ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºæè
æ°æ®åºåå¨é®é¢çæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | List<OrgDepartmentVO> getDeptAllFullName() throws VciBaseException; |
| | | |
| | | /** |
| | | * æ¹éè·åé¨é¨çä¿¡æ¯ ï¼æ ¹æ®é¨é¨ä¸»é®ï¼ |
| | |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®ç¶é¨é¨ä¸»é®è·ååé¨é¨åç§°é¨é¨çä¿¡æ¯ |
| | | * æ ¹æ®ç¶é¨é¨ä¸»é®è·åé¨é¨åç§°é¨é¨çä¿¡æ¯ |
| | | * @param parentDeptOid ç¶é¨é¨ä¸»é® |
| | | * @param conditionMap é¨é¨åç§° |
| | | * @return é¨é¨çæ¾ç¤ºå¯¹è±¡ï¼å¦æé¨é¨ä¸åå¨åè¿ånullï¼ä¸ä¼æåºå¼å¸¸ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºæè
æ°æ®åºåå¨é®é¢çæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | @Override |
| | | public List<OrgDepartmentVO> getDeptByDeptPOidAndCondition(String parentDeptOid,Map<String,String> conditionMap) throws VciBaseException { |
| | | public List<OrgDepartmentVO> getDeptByDeptpOidAndCondition(String parentDeptOid,Map<String,String> conditionMap) throws VciBaseException { |
| | | if(Func.isEmpty(conditionMap)){ |
| | | conditionMap = new HashMap(); |
| | | } |
| | |
| | | return null; |
| | | } |
| | | return deptDO2VOs(roleForPlatform1s); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®ç¶é¨é¨åç§°è·¯å¾è·ååé¨é¨åç§°é¨é¨çä¿¡æ¯ï¼ä¸»è¦ç¨äºå¯¼å
¥æ¶æ ¹æ®é¨é¨å½ä»¤å
¨è·¯å¾ååç§°æç¼å·æ¥éï¼ |
| | | * @return é¨é¨çæ¾ç¤ºå¯¹è±¡ï¼å¦æé¨é¨ä¸åå¨åè¿ånullï¼ä¸ä¼æåºå¼å¸¸ |
| | | * @throws VciBaseException åæ°ä¸ºç©ºæè
æ°æ®åºåå¨é®é¢çæ¶å伿åºå¼å¸¸ |
| | | */ |
| | | @Override |
| | | public List<OrgDepartmentVO> getDeptAllFullName() throws VciBaseException { |
| | | //æ¥è¯¢é¨é¨ä¿¡æ¯ï¼ä¸»è¦æ¥è¯¢é¨é¨åç§°ç»æå
¨è·¯å¾ |
| | | String sql = "SELECT PLUID, PLNAME, PLNUM, PLSTATUS, level, substr(sys_connect_by_path(PLNAME, '/'), 2) AS FULL_NAME_PATH " + |
| | | "FROM PLDEPT " + |
| | | "START WITH PLPARENTUID IS NULL " + |
| | | "CONNECT BY PRIOR PLUID = PLPARENTUID"; |
| | | List<BusinessObject> cbos = boService.queryByOnlySql(sql); |
| | | List<OrgDepartmentVO> departmentVOList = new ArrayList<>(); |
| | | if(!CollectionUtils.isEmpty(cbos)){ |
| | | cbos.stream().forEach(cbo->{ |
| | | //é¨é¨ä¸»é® |
| | | String deptOid = ObjectTool.getNewBOAttributeValue(cbo,"PLUID"); |
| | | //é¨é¨åç§° |
| | | String deptName = ObjectTool.getNewBOAttributeValue(cbo, "PLNAME"); |
| | | //é¨é¨ç¼å· |
| | | String deptNum = ObjectTool.getNewBOAttributeValue(cbo, "PLNUM"); |
| | | //é¨é¨å±çº§ |
| | | String deptLevel = ObjectTool.getNewBOAttributeValue(cbo, "level"); |
| | | //é¨é¨åç§°å
¨è·¯å¾ |
| | | String fullDeptNamePath = ObjectTool.getNewBOAttributeValue(cbo, "FULL_NAME_PATH"); |
| | | //é¨é¨ç¶æ |
| | | String deptStatus = ObjectTool.getNewBOAttributeValue(cbo, "PLSTATUS"); |
| | | OrgDepartmentVO orgDepartmentVO = new OrgDepartmentVO(deptNum,deptName,Short.valueOf(deptStatus),fullDeptNamePath,Integer.valueOf(deptLevel)); |
| | | orgDepartmentVO.setOid(deptOid); |
| | | departmentVOList.add(orgDepartmentVO); |
| | | }); |
| | | } |
| | | return departmentVOList; |
| | | } |
| | | |
| | | /** |
| | |
| | | if(deptForPlatform1!=null){ |
| | | departmentVO.setOid(deptForPlatform1.getPluid()); |
| | | // é¤é¨é¨ä¸»é®å¤çå¯ä¸æ è¯ï¼é¿åº¦ä¸ºDept:+8ä½å¯éè¿è¯¥åæ°åæ¨åé¨é¨ä¸»é®çhashç¼ç |
| | | departmentVO.setUniqueId("Dept:"+Func.oidEnHash(deptForPlatform1.getPluid())); |
| | | //departmentVO.setUniqueId("Dept:"+Func.oidEnHash(deptForPlatform1.getPluid())); |
| | | departmentVO.setId(deptForPlatform1.getPlnum()); |
| | | departmentVO.setName(deptForPlatform1.getPlname()); |
| | | departmentVO.setStatus(deptForPlatform1.getPlstatus()); |
| | |
| | | } |
| | | |
| | | /** |
| | | * ä¿åé¨é¨è§è²å
³èä¿¡æ¯ï¼å¸¦æ¥éåè½ |
| | | * ä¿åé¨é¨ç¨æ·å
³èä¿¡æ¯ï¼å¸¦æ¥éåè½ |
| | | * @param userOIds ç¨æ·id |
| | | * @param deptId é¨é¨id |
| | | * @return |
| | |
| | | if(Func.isNotBlank(orgDepartmentDTO.getId())){ |
| | | conditionMap.put("plnum",QueryOptionConstant.OR + orgDepartmentDTO.getId()); |
| | | } |
| | | List<OrgDepartmentVO> departmentVOS = getDeptByDeptPOidAndCondition(orgDepartmentDTO.getPkFatherDepartment(), conditionMap); |
| | | List<OrgDepartmentVO> departmentVOS = getDeptByDeptpOidAndCondition(orgDepartmentDTO.getPkFatherDepartment(), conditionMap); |
| | | if(Func.isNotEmpty(departmentVOS)){ |
| | | throw new VciBaseException("åä¸ç¶èç¹ä¸è¯¥é¨é¨åç§°æç¼å·å·²ç»åå¨,请修æ¹!"); |
| | | } |
| | |
| | | if(Func.isNotBlank(orgDepartmentDTO.getId())){ |
| | | conditionMap.put("plnum",QueryOptionConstant.OR + orgDepartmentDTO.getId()); |
| | | } |
| | | List<OrgDepartmentVO> repeatDepartmentVOS = getDeptByDeptPOidAndCondition(orgDepartmentDTO.getPkFatherDepartment(), conditionMap); |
| | | List<OrgDepartmentVO> repeatDepartmentVOS = getDeptByDeptpOidAndCondition(orgDepartmentDTO.getPkFatherDepartment(), conditionMap); |
| | | repeatDepartmentVOS = repeatDepartmentVOS.stream().filter(item -> { |
| | | if((item.getName().equals(orgDepartmentDTO.getName()) || item.getId().equals(orgDepartmentDTO.getId())) && |
| | | !item.getOid().equals(orgDepartmentDTO.getOid())){ |
| | |
| | | //TODO: åºè¯¥æ¯ä¸å
·å¤è¿å¸¦å é¤çåè½ï¼é¨é¨å é¤åç¨æ·å
³èçæ ç¨é¨é¨è¿å¨,èèåææ¯å¦éè¦åï¼æ°æ®éä¸å¤§å¯ä»¥ä¸åè¿å¸¦å é¤ |
| | | return platformClientUtil.getFrameworkService().deleteDepartment( |
| | | ids, |
| | | new UserEntityInfo("developer"/*WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId()*/, null) |
| | | new UserEntityInfo(WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(), null) |
| | | ); |
| | | } |
| | | |
| | | /** |
| | | * è·åææé¨é¨çä¿¡æ¯ |
| | | * @return keyï¼é¨é¨ç±åç§°ç»æçè·¯å¾ï¼/é´éï¼ï¼valueå¯¹åºæå°å±çº§çé¨é¨ä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | public Map<String, OrgDepartmentVO> getDeptAllTreeMap() { |
| | | List<OrgDepartmentVO> orgDepartmentVOList = listAllLevelChildrenDeptByParentOid(null, null); |
| | | Map<String, OrgDepartmentVO> stringOrgDepartmentVOMap = convertToMap(orgDepartmentVOList); |
| | | return stringOrgDepartmentVOMap; |
| | | } |
| | | |
| | | /** |
| | |
| | | //ç颿²¡ä¼ åç§°ï¼ä½¿ç¨é»è®¤åç§° |
| | | downloadFileName = Func.isBlank(downloadFileName) ? "é¨é¨å¯¼å
¥æ¨¡æ¿_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss"):downloadFileName; |
| | | // 设置表ååå |
| | | List<String> columns = new ArrayList<>(Arrays.asList("ID", "åç§°", "ç¼å·", "代å·", "ä¸ä¸", "ç¶IDï¼é¨é¨å¯ä¸æ è¯IDï¼", "æè¿°")); |
| | | List<String> columns = new ArrayList<>(Arrays.asList("åç§°", "ç¼å·", "代å·", "ä¸ä¸", "ç¶é¨é¨åç§°å
¨è·¯å¾ï¼/é´éï¼", "æè¿°")); |
| | | //设置å¿
å¡«å |
| | | ColumnNameisRed.clear(); |
| | | //ColumnNameisRed.add(0); |
| | | ColumnNameisRed.add(0); |
| | | ColumnNameisRed.add(1); |
| | | //åexcel |
| | | String excelPath = LocalFileUtil.getDefaultTempFolder() + File.separator + downloadFileName + ".xls"; |
| | |
| | | if(CollectionUtils.isEmpty(poList)){ |
| | | return BaseResult.fail(ExcelLangCodeConstant.IMPORT_CONTENT_NULL,new String[]{}); |
| | | } |
| | | /*é¨é¨å¯¼å
¥å 个æ¯è¾éè¦çæ
æ¯ï¼ |
| | | 1ãå½å导å
¥çæ°æ®æ¯ä¸ä¸ªé¨é¨æ ç»æ(è¦å¤æç¨æ·æè¾çIDæ¯å¦åå¨éå¤ï¼è¾äºå°±è¦å¤ææ¯å¦å¨å½åè¡¨æ ¼ä¸éå¤ï¼ |
| | | å¹¶ä¸ä¿åæ¶ä¸è½ä½¿ç¨ç¨æ·æè¾çIDï¼è¦æ ¹æ®æè¾IDåå®é
åå¨OIDåå¯¹åºæ å°ï¼ |
| | | å¹¶ä¸ä¸ç ´åè¡¨æ ¼ä¸é¨é¨æ ç»æï¼å¦ææ²¡æè¾IDå°±åªéè¦å
³æ³¨parentIdè¿ä¸ªå±æ§ï¼ |
| | | å¹¶ä¸éè¦æ³¨æå¦ææçIDæï¼æç没æé£å°±éè¦æ³¨æï¼æ¢åå¨åç³»ç»ä¸ï¼ |
| | | å
³èçé¨é¨æ ï¼ååå¨åå½åè¡¨æ ¼ä¸å
³èçé¨é¨æ )ã |
| | | 2ãå½å导å
¥çæ°æ®ç¶idå
³èäºå·²åå¨çé¨é¨oid(è¦æ¥è¯¢ç¶idè¿ä¸ªé¨é¨æ¯å¦åå¨ï¼) |
| | | è§£å³æè·¯ï¼æå¥½æ¯å°è¡¨æ ¼ä¸å¯è½æ¯é¨é¨æ çç»éåææ ï¼ç¶åå忥éå¥çå¤ç |
| | | */ |
| | | |
| | | //2ãå¿
å¡«å¤ç©ºãå¤éï¼æ°æ®åºå¤éåexcelä¸å¤éï¼ï¼ç»è£
æä¿åç¨çæ°æ®å¯¹è±¡ |
| | | List<DeptInfo> deptInfoList = new ArrayList<>(); |
| | | //2.1ãç¨ä»¥åå¨excelä¸éå¤çæ°æ®ï¼ä¸ä¸ªä¸å¯éå¤çåæ®µï¼ï¼Nameä¸è½ä¸ºç©ºï¼NameãCodeåä¸ç¶é¨é¨ä¸å¯ä¸ï¼ |
| | | List<String> repeatIdList = new ArrayList<>(); |
| | | //2.1ãç¨ä»¥åå¨excelä¸éå¤çæ°æ®ï¼ä¸¤ä¸ªä¸å¯éå¤çåæ®µï¼ï¼Nameä¸è½ä¸ºç©ºï¼NameãCodeåä¸ç¶é¨é¨ä¸å¯ä¸ï¼ |
| | | Map<String,String> repeatNameMap = new HashMap<>(); |
| | | Map<String,String> repeatNumMap = new HashMap<>(); |
| | | Map<String,String> indexMap = new HashMap<>(); |
| | | //2.2ãåå¨ç¨æ·æè¾çoidåå®é
åå¨oidçæ å°å
³ç³» |
| | | Map<String, String> oidMap = new HashMap<>(); |
| | | //æ¥è¯¢ç³»ç»ä¸é¨é¨ï¼å
¶ä¸å
å«äºé¨é¨åç§°æ 屿§ |
| | | List<OrgDepartmentVO> dbOrgDepartmentVOList = this.getDeptAllFullName(); |
| | | //éåæmap对象ï¼key为DeptNameçå
¨è·¯å¾ï¼value为Dept对象(ç¨æ·å¤çé¨é¨ç¶ç»ä»¶) |
| | | Map<String, String> dbOrgDepartFullNameOidMap = dbOrgDepartmentVOList.stream().collect(Collectors.toMap(OrgDepartmentVO::getFullDeptNamePath, OrgDepartmentVO::getOid)); |
| | | //ç¨æ¥å¤æå¤parentNameæ¢ä¸å¨åºä¸åå¨ï¼åä¸å¨poNamesåå¨çæ
åµ |
| | | List<String> poNames = poList.stream().map(OrgDeptPO::getName).collect(Collectors.toList()); |
| | | poList.stream().forEach(po->{ |
| | | String parentId = Func.isBlank(po.getParentId()) ? "":po.getParentId(); |
| | | String parentFullNamePath = Func.isBlank(po.getParentFullNamePath()) ? "":po.getParentFullNamePath(); |
| | | //é¨é¨åç§°å¤ç©ºï¼é常éè¿poä¸ç注解就å¯å®ç° |
| | | if(Func.isEmpty(po.getName())){ |
| | | if(Func.isBlank(po.getName())){ |
| | | throw new VciBaseException("第ã"+po.getRowIndex()+"ãè¡ï¼depterror,Reason:Name cannot be empty"); |
| | | }else if(parentId.equals(repeatNameMap.getOrDefault(po.getName(), null))/*excelä¸åä¸é¨é¨ä¸Nameç¸ç*/){ |
| | | }else if(parentFullNamePath.equals(repeatNameMap.getOrDefault(po.getName(), null))/*excelä¸åä¸é¨é¨ä¸Nameç¸ç*/){ |
| | | //åä¸é¨é¨ä¸åç§°å¤é |
| | | throw new VciBaseException("第ã"+po.getRowIndex()+"ãè¡ï¼deptnameerror,Reason: Names under the same department cannot be duplicated"); |
| | | }else if(Func.isNotEmpty(po.getId()) && repeatIdList.equals(po.getId())){ |
| | | throw new VciBaseException("第ã"+po.getRowIndex()+"ãè¡ï¼deptiderror,Reason: The primary key cannot be duplicated"); |
| | | }else if(Func.isNotEmpty(po.getNum()) && parentId.equals(repeatNumMap.getOrDefault(po.getNum(),null))/*excelä¸åä¸é¨é¨ä¸ç¼å·åå¨ */){ |
| | | }else if(Func.isNotBlank(po.getNum()) && parentFullNamePath.equals(repeatNumMap.getOrDefault(po.getNum(),null))/*excelä¸åä¸é¨é¨ä¸ç¼å·åå¨ */){ |
| | | throw new VciBaseException("第ã"+po.getRowIndex()+"ãè¡ï¼deptnumerror,Reason: The number cannot be duplicated"); |
| | | }else{ |
| | | //2.2ãæ¥è¯¢æ°æ®åºä¸çæ°æ®ï¼æ¥éIDåNUMï¼ï¼æ¯è¾éº»ç¦éè¦æ ¹æ®ParentIDæ¥è¯¢ï¼ææåªè½åæ¡æ¥è¯¢è¿è¡å¤éï¼ |
| | | //ç»è£
æ¥éæ¡ä»¶:åä¸é¨é¨ä¸(parentIdç¸ç)ï¼nameæè
numç¸ç |
| | | HashMap<String, String> conditionMap = new HashMap<>(); |
| | | conditionMap.put("plname",QueryOptionConstant.OR + po.getName()); |
| | | conditionMap.put("plnum",QueryOptionConstant.OR + po.getNum()); |
| | | String pId = Func.isBlank(po.getParentId()) ? null:po.getParentId(); |
| | | List<OrgDepartmentVO> repeatOrgDept = this.getDeptByDeptPOidAndCondition(pId, conditionMap); |
| | | //2.2ãæ¥è¯¢æ°æ®åºä¸çæ°æ®ï¼æ¥éIDåNUMï¼ï¼æ¯è¾éº»ç¦éè¦æ ¹æ®ParentNameå
¨è·¯å¾æ¥è¯¢ï¼ææåªè½åæ¡æ¥è¯¢è¿è¡å¤éï¼ |
| | | //åä¸é¨é¨ä¸(parentNameç¸ç)ï¼nameæè
numç¸ç |
| | | List<OrgDepartmentVO> repeatOrgDept = dbOrgDepartmentVOList.stream().filter(item -> { |
| | | //åä¸é¨é¨åç§°å
¨è·¯å¾ä¸ï¼é¨é¨åç§°ç¸çãé¨é¨ç¼å·ä¸ä¸ºç©ºå¹¶ä¸åç³»ç»ä¸åå¨ç¸ççç¼å· |
| | | boolean isNameOrNumRepeat = po.getName().equals(item.getName()) || (Func.isNotBlank(po.getNum()) && po.getNum().equals(item.getId())); |
| | | /*å½parentFullNamePath为""æ¶item.getFullDeptNamePath().contains(parentFullNamePath)æ°¸è¿ä¸ºtrueï¼ |
| | | æä»¥éè¦ç¹æ®å¤çç´æ¥å¤æé¡¶å±çé¨é¨æ¯å¦åå¨éå¤*/ |
| | | if(((Func.isBlank(parentFullNamePath) && item.getTreelevel() == 1) |
| | | || (Func.isNotBlank(parentFullNamePath) && item.getFullDeptNamePath().contains(parentFullNamePath))) |
| | | && isNameOrNumRepeat) { |
| | | return true; |
| | | } |
| | | return false; |
| | | }).collect(Collectors.toList()); |
| | | //åªè¦ä¸ä¸ºç©ºå°±è¯´æå½åè¡æ°æ®å¨ç³»ç»ä¸éå¤ |
| | | if(Func.isNotEmpty(repeatOrgDept)){ |
| | | throw new VciBaseException("第ã"+po.getRowIndex()+"ãè¡ï¼deptname or deptnum error,Reason: The name or number already exists in the system"); |
| | | } |
| | | } |
| | | //å卿 ¡éªéè¿çæ°æ®ï¼ä»¥ä¾¿åç»excelæ¥é |
| | | repeatNameMap.put(po.getName(),Func.isBlank(po.getParentId()) ? "":po.getParentId()); |
| | | repeatIdList.add(po.getId()); |
| | | repeatNumMap.put(po.getNum(),po.getParentId()); |
| | | repeatNameMap.put(po.getName(),parentFullNamePath); |
| | | if(Func.isNotBlank(po.getNum())){ |
| | | repeatNumMap.put(po.getNum(),parentFullNamePath); |
| | | } |
| | | indexMap.put(po.getName(),po.getRowIndex()); |
| | | //æ ¡éªæ°æ®å°±è¯¥ç»è£
æDTOæ°æ®å¯¹è±¡äº |
| | | OrgDepartmentDTO dto = new OrgDepartmentDTO(); |
| | |
| | | dto.setId(po.getNum()); |
| | | dto.setDescription(po.getDesc()); |
| | | dto.setSpecialties(po.getSpecialties()); |
| | | dto.setPkFatherDepartment(po.getParentId()); |
| | | dto.setCreateTime(new Date()); |
| | | dto.setCreator(loginUserId); |
| | | dto.setLastModifier(loginUserId); |
| | | dto.setStatus((short) 0); |
| | | //2.2ãè¿ç¨ä¸å¤ç主é®è½¬æ¢é®é¢æå¥½æ¯ä¸æ¡ä¸æ¡çå¤çIDæ¯å¦åå¨è¿æParentIDæ¯å¦åå¨çé®é¢ |
| | | //å
夿æ¯å·²åå¨çé¨é¨IDï¼è¿æ¯ä¸åå¨çé¨é¨IDï¼å·²åå¨ç³»ç»ä¸çIDå°±æ¯ä¸ºDept:å¼å¤´ç |
| | | String pId = Func.isBlank(dto.getPkFatherDepartment()) ? "":dto.getPkFatherDepartment(); |
| | | //æ¯å·²åå¨ç³»ç»ä¸çé¨é¨id |
| | | if(pId.contains("Dept:")){ |
| | | //è§£æåºçå®çoid |
| | | String deParentId = Func.oidDeHash(pId.replace("Dept:", "").trim()); |
| | | //è§£æåºæ¥çdeParentIdå¿
é¡»å¾å¨åºä¸åå¨ |
| | | if(Func.isBlank(deParentId) || Func.isEmpty(this.getDeptByDeptOid(deParentId))){ |
| | | throw new VciBaseException("第ã"+ po.getRowIndex() +"ãè¡ï¼deptparentiderror,Reason:Parent ID resolution error or does not exist in the system"); |
| | | //ç»å¯¼å
¥çæ°æ®è®¾ç½®çä¸»é® |
| | | String oid = VciBaseUtil.getPk().toUpperCase(Locale.ROOT); |
| | | dto.setOid(oid); |
| | | /*å¤çé¨é¨åç§°å
¨è·¯å¾è½¬æ¢ä¸ºPkFatherDepartmentï¼é¨é¨ä¸»é®ï¼ï¼ |
| | | æ
åµ1ãç´å±ç¶é¨é¨æ¯ç³»ç»ä¸å·²åå¨ï¼å¤ææ¹å¼ï¼é¨é¨åç§°å
¨è·¯å¾å¨dbOrgDepartmentVOListä¸åå¨ï¼fullDeptNamePathå
¨çäºparentFullNamePathï¼ã |
| | | æ
åµ2ãç´å±ç¶é¨é¨ä¸æ¯ç³»ç»ä¸å·²åå¨ç,使¯ç´å±ç¶é¨é¨ççä¸çº§é¨é¨æ¯ç³»ç»ä¸å·²åå¨ç(æ¶åå°oidåparentoid对åºå
³ç³»å¤çæ¯è¾éº»ç¦)ã |
| | | æ
åµ3ãç´å±ç¶é¨é¨åå
¶ä¸çº§é¨é¨é½æ¯excel䏿°æå»ºçã(æ¶åå°oidåparentoid对åºå
³ç³»å¤çæ¯è¾éº»ç¦)*/ |
| | | String dbDeptoid = dbOrgDepartFullNameOidMap.getOrDefault(parentFullNamePath, null); |
| | | //æ
åµ1å¯ä»¥ç´æ¥è®¾ç½®parentOidã |
| | | if(Func.isNotEmpty(dbDeptoid) || "".equals(parentFullNamePath)){ |
| | | //设置ç¶é¨é¨ä¸»é® |
| | | dto.setPkFatherDepartment(dbDeptoid); |
| | | }else{ |
| | | //å¤çç¶è·¯å¾åæ¢ä¸åå¨äºæ°æ®åºåä¸åå¨äºå½åexcel |
| | | String lastParentFullName = parentFullNamePath.substring(parentFullNamePath.lastIndexOf("/") + 1);//ç¶è·¯å¾åçæåä¸ä¸ªé¨é¨åç§° |
| | | if(Func.isBlank(dbOrgDepartFullNameOidMap.getOrDefault(parentFullNamePath,null)) |
| | | && !poNames.contains(lastParentFullName) |
| | | ){ |
| | | throw new VciBaseException("å½å导å
¥çé¨é¨æ°æ®ä¸ï¼ç¬¬ã" + indexMap.get(po.getName()) + "ãè¡ï¼ç¶é¨é¨è®¾ç½®åå¨é®é¢ï¼"); |
| | | } |
| | | //æ¿æ¢æä¸´æ¶ä½¿ç¨çé¨é¨å¯ä¸æ è¯ï¼ä½æ¯ä¸ºäºæ¹ä¾¿åç»å¤æï¼è¿æ¯éè¦å ä¸Dept:æ è¯ |
| | | dto.setPkFatherDepartment("Dept:"+deParentId); |
| | | //æ
åµ2å3éè¦éè¿æ å°å
³ç³»è®¾ç½®parentoidï¼æä»¥è¿éå
æ è®°åç»ååå¤çã |
| | | dto.setPkFatherDepartment("Pending:" + parentFullNamePath); |
| | | } |
| | | //ç¨æ·æè¾äºé¨é¨oidï¼ä½æ¯é¿å
oidä¸è§èéè¦ï¼ç¨è§èoidè¿è¡æ¿æ¢ï¼å¦ææ²¡è¾å
¥ä¿åæ¶ä¼èªå¨çæoid |
| | | String excelOid = dto.getOid(); |
| | | if(Func.isNotBlank(excelOid)){ |
| | | String pkOid = VciBaseUtil.getPk().toUpperCase(Locale.ROOT); |
| | | dto.setOid(pkOid); |
| | | //oidæ å°å
³ç³»ï¼åç»ç¨æ¥æ´æ°parentId |
| | | oidMap.put(excelOid,pkOid); |
| | | } |
| | | //åå¨parentOid:oidæ å°å
³ç³» |
| | | String key = Func.isBlank(parentFullNamePath) ? po.getName():parentFullNamePath + "/"+po.getName(); |
| | | oidMap.put(key,oid); |
| | | |
| | | DeptInfo deptInfo = this.changeOrgDeptDTOToDeptInfo(dto); |
| | | deptInfoList.add(deptInfo); |
| | | }); |
| | | //3ãå¤çidåparentIdçæ å°å
³ç³»:å°ç¨æ·æè¾çç¶IDè½¬æ¢æå®é
åå¨çIDå¹¶ä¿åè¿åº |
| | | //3ãå¤çoidåparentOidçæ å°å
³ç³»:é对æ°å çæ°æ®æ¯ç¶é¨é¨ |
| | | deptInfoList.stream().forEach(info -> { |
| | | //3.1ã对æç»å¤ç好çé¨é¨æ°æ®ä¿å |
| | | try { |
| | | //parentIdä¸ä¸ºç©ºå¹¶ä¸æ²¡æDept:ç¸å
³çå符串,è¯´ææ¯ç¨æ·æè¾çParentId(导å
¥çæ°æ®å°±æ¯ä¸ä¸ªæ ç»æ) |
| | | if (Func.isNotBlank(info.parentId) && !info.parentId.contains("Dept:")) { |
| | | //转æ¢ParentId为å®é
è¦åå¨çé¨é¨ID |
| | | info.parentId = oidMap.get(info.parentId); |
| | | }else if(info.parentId.contains("Dept:")){ |
| | | //parentIdä¸ä¸ºç©ºå¹¶ä¸æ²¡æPending:ç¸å
³çå符串,è¯´ææ¯éè¦å¤çoidæ å°parentOidç |
| | | if (info.parentId.contains("Pending:")){ |
| | | //ç³»ç»ä¸å·²åå¨çç¶é¨é¨OIDï¼éè¦ç§»é¤æDept:æ è¯ |
| | | info.parentId = info.parentId.replace("Dept:",""); |
| | | String key = info.parentId.replace("Pending:",""); |
| | | String parentId = oidMap.get(key); |
| | | info.parentId = parentId; |
| | | } |
| | | //4ãä¿åæä½ |
| | | platformClientUtil.getFrameworkService().saveDepartment( |
| | | info, |
| | | userEntityInfo |
| | |
| | | return BaseResult.success("é¨é¨å¯¼å
¥æåï¼"); |
| | | } |
| | | |
| | | public Map<String, OrgDepartmentVO> convertToMap(List<OrgDepartmentVO> orgDepartmentVOList) { |
| | | /** |
| | | * è·åææé¨é¨çä¿¡æ¯ |
| | | * @return keyï¼é¨é¨ç±åç§°ç»æçè·¯å¾ï¼/é´éï¼ï¼valueå¯¹åºæå°å±çº§çé¨é¨ä¿¡æ¯ |
| | | */ |
| | | @Override |
| | | public Map<String, OrgDepartmentVO> getDeptAllTreeMap() { |
| | | List<OrgDepartmentVO> orgDepartmentVOList = listAllLevelChildrenDeptByParentOid(null, null); |
| | | Map<String, OrgDepartmentVO> stringOrgDepartmentVOMap = convertToMap(orgDepartmentVOList); |
| | | return stringOrgDepartmentVOMap; |
| | | } |
| | | |
| | | /** |
| | | * è·åé¨é¨ç±åç§°ç»æçè·¯å¾ï¼/é´éï¼ï¼valueå¯¹åºæå°å±çº§çé¨é¨ä¿¡æ¯ |
| | | * @param orgDepartmentVOList |
| | | * @return |
| | | */ |
| | | private Map<String, OrgDepartmentVO> convertToMap(List<OrgDepartmentVO> orgDepartmentVOList) { |
| | | Map<String, OrgDepartmentVO> map = new HashMap<>(); |
| | | for (OrgDepartmentVO orgDepartmentVO : orgDepartmentVOList) { |
| | | String key = buildKey(orgDepartmentVO, orgDepartmentVOList); |
| | |
| | | try { |
| | | SmRoleDTO smRoleDTO = new SmRoleDTO(); |
| | | BeanUtil.copy(smRolePO,smRoleDTO); |
| | | //SessionInfo loginUser = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); |
| | | String userId = "developer";//loginUser.getUserId(); |
| | | SessionInfo loginUser = WebThreadLocalUtil.getCurrentUserSessionInfoInThread(); |
| | | String userId = loginUser.getUserId(); |
| | | //è§è²ç±»åï¼è¿é设置äºä¼å¨changeRoleObjectToRoleInfoä¸è½¬æ¢ |
| | | if(UserTypeEnum.SUPPER_ADMIN.getValue().equals("0")){ |
| | | smRoleDTO.setRoleClassify(RoleClassifyEnum.MANAGE.getValue()); |
| | |
| | | import com.vci.pagemodel.OrgDepartmentVO; |
| | | import com.vci.pagemodel.SmPasswordStrategyVO; |
| | | import com.vci.pagemodel.SmRoleVO; |
| | | import com.vci.frameworkcore.properties.ConfigReader; |
| | | import com.vci.frameworkcore.properties.ConfigCorbaReader; |
| | | import com.vci.omd.utils.ObjectTool; |
| | | import com.vci.starter.poi.bo.ReadExcelOption; |
| | | import com.vci.starter.poi.bo.WriteExcelData; |
| | |
| | | // 设置表ååå |
| | | List<String> columns = new ArrayList<>(Arrays.asList("è´¦å·", "å¯ç ", "å§å", "çµåé®ç®±", "ä¸ä¸", "æè¿°", "é¨é¨(ä¸ä¸çº§é¨é¨ä¹é´ä»¥åææ éå¼(/))")); |
| | | //è·åæ¯å¦å¯¼åºå¯çº§é
置项 |
| | | String flag = ConfigReader.getConfigValue("exportSecretGrade"); |
| | | String flag = ConfigCorbaReader.getConfigValue("exportSecretGrade"); |
| | | if (flag != null && flag.equalsIgnoreCase("true")) { |
| | | columns = new ArrayList<>(Arrays.asList("è´¦å·", "å¯ç ", "å§å", "çµåé®ç®±", "ä¸ä¸", "æè¿°", "é¨é¨(ä¸ä¸çº§é¨é¨ä¹é´ä»¥åææ éå¼(/))" ,"å¯çº§")); |
| | | } |
| | |
| | | String loginUserId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); |
| | | UserEntityInfo userEntityInfo = new UserEntityInfo(loginUserId,null); |
| | | //æ¯å¦å¯¼å
¥å¯çº§é
ç½® |
| | | boolean exportSecretGrade = Boolean.parseBoolean(ConfigReader.getConfigValue("exportSecretGrade")); |
| | | boolean exportSecretGrade = Boolean.parseBoolean(ConfigCorbaReader.getConfigValue("exportSecretGrade")); |
| | | List<SmUserPO> poList = ExcelUtil.readDataObjectFromExcel(file, SmUserPO.class,excelOption,(value, po, fieldName)->{ |
| | | Integer secretValue = UserSecretEnum.getSecretValueByText(po.getSecretGradeText()); |
| | | //æ¯å¦å¿
须导å
¥å¯çº§ |
| | |
| | | //å½åexcel䏿¯å¦éå¤ç¨çå¤éMap:ï¼keyï¼è´¦å·ï¼valueï¼è¡å·ï¼ |
| | | Map<String, String> excelReapeat = new HashMap<>(); |
| | | //å
è·åå
¨é¨é¨é¨åç§°çç¶å对åºå
³ç³»ï¼key为é¨é¨åç¶çº§åç§°è·¯å¾ï¼value为é¨é¨ä¿¡æ¯ |
| | | Map<String,OrgDepartmentVO> deptVOMap = orgDeptQueryService.getDeptAllTreeMap(); |
| | | List<OrgDepartmentVO> orgDepartmentVOList = orgDeptQueryService.getDeptAllFullName(); |
| | | Map<String, OrgDepartmentVO> deptVOMap = orgDepartmentVOList.stream().collect(Collectors.toMap(OrgDepartmentVO::getFullDeptNamePath, s->s)); |
| | | //Map<String,OrgDepartmentVO> deptVOMap = orgDeptQueryService.getDeptAllTreeMap(); |
| | | //夿å¿
填屿§æ¯å¦ä¸ºç©ºï¼ç¨æ·æ¯å¦å·²åå¨ï¼ä»¥åé¨é¨æ¯å¦å¡«éçæ ¡éªé»è¾ |
| | | List<String> finalRepeatUserId = repeatUserId; |
| | | poList.stream().forEach(smUserPO -> { |
| | |
| | | import com.vci.frameworkcore.compatibility.OrgDeptQueryServiceI; |
| | | import com.vci.constant.FrameWorkLangCodeConstant; |
| | | import com.vci.pagemodel.OrgDepartmentVO; |
| | | import com.vci.starter.web.annotation.controller.VciUnCheckRight; |
| | | import com.vci.starter.web.exception.VciBaseException; |
| | | import com.vci.starter.web.pagemodel.*; |
| | | import com.vci.starter.web.util.ControllerUtil; |
| | |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/importDept",method = RequestMethod.POST) |
| | | @VciUnCheckRight |
| | | public BaseResult importUser(MultipartFile file){ |
| | | String excelFileName = LocalFileUtil.getDefaultTempFolder() + File.separator + LocalFileUtil.getFileNameForIE(file.getOriginalFilename()); |
| | | File file1 = new File(excelFileName); |
| | |
| | | * @throws VciBaseException æ¥è¯¢åºéçæ¶å伿åºå¼å¸¸ï¼å¦ææ¯èç项ç®é䏿åºå¼å¸¸ |
| | | */ |
| | | @RequestMapping(value = "/refDataGrid",method = RequestMethod.GET) |
| | | @VciUnCheckRight |
| | | public BaseResult<SmPasswordStrategyVO> refDataGrid(BaseQueryObject queryObject) throws VciBaseException { |
| | | try { |
| | | DataGrid<SmPasswordStrategyVO> pwdStrategyVODataGrid = pwdStrategyQueryService.refDataGrid(queryObject.getConditionMap(),queryObject.getPageHelper()); |
| | |
| | | * @throws VciBaseException |
| | | */ |
| | | @RequestMapping(value = "/selectPwdStrategyMap",method = RequestMethod.GET) |
| | | @VciUnCheckRight |
| | | public BaseResult<List<Map<String,String>>> selectPwdStrategyMap(BaseQueryObject queryObject) throws VciBaseException { |
| | | try { |
| | | List<Map<String,String>> pwdStrategyVODataGrid = pwdStrategyQueryService.selectPwdStrategyMap(queryObject.getConditionMap()); |
| | |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/delPasswordStrateg",method = RequestMethod.DELETE) |
| | | @VciUnCheckRight |
| | | public BaseResult delPasswordStrateg(String[] pwdIds){ |
| | | try { |
| | | return pwdStrategyQueryService.delPasswordStrateg(pwdIds) |
ÎļþÃû´Ó Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/properties/ConfigReader.java ÐÞ¸Ä |
| | |
| | | * @author ludc |
| | | * @date 2024/6/28 23:11 |
| | | */ |
| | | public class ConfigReader { |
| | | public class ConfigCorbaReader { |
| | | |
| | | private static Properties properties; |
| | | |
| | | static { |
| | | properties = new Properties(); |
| | | try (InputStream input = ConfigReader.class.getClassLoader().getResourceAsStream("properties/corba.properties")) { |
| | | try (InputStream input = ConfigCorbaReader.class.getClassLoader().getResourceAsStream("properties/corba.properties")) { |
| | | if (input == null) { |
| | | System.err.println("Unable to find corba.properties"); |
| | | } else { |
| | |
| | | package com.vci.web.controller; |
| | | |
| | | import com.vci.dto.OsAttributeDTO; |
| | | import com.vci.starter.web.annotation.controller.VciUnCheckRight; |
| | | import com.vci.starter.web.annotation.log.VciBusinessLog; |
| | | import com.vci.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | | import com.vci.starter.web.pagemodel.BaseResult; |
| | | import com.vci.pagemodel.OsAttributeVO; |
| | | import com.vci.starter.web.util.ControllerUtil; |
| | | import com.vci.starter.web.util.VciBaseUtil; |
| | | import com.vci.web.service.OsAttributeServiceI; |
| | | import com.vci.web.util.Func; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 屿§æ§å¶å¨ |
| | |
| | | private OsAttributeServiceI attributeService; |
| | | |
| | | /** |
| | | * æ¥å¿ |
| | | */ |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | | /** |
| | | * 屿§å表 |
| | | * @param baseQueryObject æ¥è¯¢å¯¹è±¡ |
| | | * @return 屿§çæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @GetMapping("/gridAttribute") |
| | | public DataGrid<OsAttributeVO> gridAttribute(BaseQueryObject baseQueryObject){ |
| | | return attributeService.gridAttribute(baseQueryObject); |
| | | @VciUnCheckRight |
| | | public BaseResult<OsAttributeVO> gridAttribute(BaseQueryObject baseQueryObject){ |
| | | try { |
| | | return BaseResult.dataGrid(attributeService.gridAttribute(baseQueryObject)); |
| | | }catch (Exception e) { |
| | | e.printStackTrace(); |
| | | String exceptionMessage = "屿§ç®¡çå表æ¥è¯¢æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | logger.error(exceptionMessage); |
| | | return BaseResult.fail(exceptionMessage); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®å¤ä¸ªå±æ§åç§°æ¥è¯¢å±æ§ |
| | | * @param attrNames |
| | | * @return |
| | | */ |
| | | @GetMapping("/getByAttributeNames") |
| | | public BaseResult getByAttributeNames(String[] attrNames){ |
| | | try { |
| | | return BaseResult.dataList(attributeService.getByAttributeNames(attrNames)); |
| | | }catch (Exception e) { |
| | | e.printStackTrace(); |
| | | String exceptionMessage = "屿§åæ¥è¯¢å±æ§æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | logger.error(exceptionMessage); |
| | | return BaseResult.fail(exceptionMessage); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ·»å 忡屿§å°å±æ§æ± |
| | | * @param osAttributeDTO |
| | | * @return å表çå
容 |
| | | */ |
| | | @PostMapping( "/addAttribute") |
| | | @VciBusinessLog(operateName = "æ·»å 屿§") |
| | | @VciUnCheckRight |
| | | public BaseResult addAttribute(@RequestBody OsAttributeDTO osAttributeDTO) { |
| | | try { |
| | | return attributeService.addAttribute(osAttributeDTO) ? BaseResult.success("屿§æ·»å æåï¼"):BaseResult.fail("屿§æ·»å 失败ï¼"); |
| | | }catch (Exception e) { |
| | | e.printStackTrace(); |
| | | String exceptionMessage = "å¢å 屿§åæ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | logger.error(exceptionMessage); |
| | | return BaseResult.fail(exceptionMessage); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹åæ¡å±æ§ |
| | | * @param osAttributeDTO |
| | | * @return å表çå
容 |
| | | */ |
| | | @PutMapping( "/updateAttribute") |
| | | @VciBusinessLog(operateName = "ä¿®æ¹å±æ§") |
| | | public BaseResult updateAttribute(@RequestBody OsAttributeDTO osAttributeDTO) { |
| | | try { |
| | | return attributeService.updateAttribute(osAttributeDTO) ? BaseResult.success("屿§ä¿®æ¹æåï¼"):BaseResult.fail("屿§ä¿®æ¹å¤±è´¥ï¼"); |
| | | }catch (Exception e) { |
| | | e.printStackTrace(); |
| | | String exceptionMessage = "ä¿®æ¹å±æ§æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | logger.error(exceptionMessage); |
| | | return BaseResult.fail(exceptionMessage); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * å é¤å±æ§ |
| | | * @param osAttributeDTOS |
| | | * @return å表çå
容 |
| | | */ |
| | | @DeleteMapping( "/deleteAttributes") |
| | | @VciBusinessLog(operateName = "å é¤å±æ§") |
| | | public BaseResult deleteAttributes(@RequestBody List<OsAttributeDTO> osAttributeDTOS) { |
| | | try { |
| | | return attributeService.deleteAttributes(osAttributeDTOS) ? BaseResult.success("屿§å 餿åï¼"):BaseResult.fail("屿§å é¤å¤±è´¥ï¼"); |
| | | }catch (Exception e) { |
| | | e.printStackTrace(); |
| | | String exceptionMessage = "å é¤å±æ§æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | logger.error(exceptionMessage); |
| | | return BaseResult.fail(exceptionMessage); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ¥ç屿§ç使ç¨èå´ |
| | | * @param attributeName 屿§åç§° |
| | | * @return map对象 |
| | | */ |
| | | @GetMapping( "/getUsedAttributeList") |
| | | @VciBusinessLog(operateName = "æ¥ç屿§ç使ç¨èå´") |
| | | public BaseResult getUsedAttributeList(String attributeName) { |
| | | try { |
| | | return BaseResult.dataList(attributeService.getUsedAttributeList(attributeName)); |
| | | }catch (Exception e) { |
| | | e.printStackTrace(); |
| | | String exceptionMessage = "è·å屿§ç使ç¨èå´æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | logger.error(exceptionMessage); |
| | | return BaseResult.fail(exceptionMessage); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 导åºéä¸ç屿§ |
| | | * @param exportFileName 导åºçæä»¶å |
| | | * @param attrNames éè¦å¯¼åºç屿§è±æåç§° |
| | | * @param response |
| | | */ |
| | | @GetMapping( "/exportAttributes") |
| | | @VciBusinessLog(operateName = "å¯¼åºæä¸¾ç±»å") |
| | | @VciUnCheckRight |
| | | public void exportAttributes(String exportFileName,String attrNames, HttpServletResponse response){ |
| | | try { |
| | | String excelPath = attributeService.exportAttributes(exportFileName,attrNames); |
| | | ControllerUtil.writeFileToResponse(response,excelPath); |
| | | } catch (Exception e) { |
| | | String msg = "å¯¼åºæä¸¾æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | try { |
| | | //åºéæ¶ |
| | | e.printStackTrace(); |
| | | ControllerUtil.writeDataToResponse(response,"error_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss") + ".txt", StringUtils.isNotBlank(msg)?msg.getBytes():new byte[0],null); |
| | | } catch (IOException ioException) { |
| | | ioException.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | import com.vci.pagemodel.OsBtmTypeAttributeVO; |
| | | import com.vci.pagemodel.OsLinkTypeAttributeVO; |
| | | import com.vci.pagemodel.OsLinkTypeVO; |
| | | import com.vci.starter.web.annotation.controller.VciUnCheckRight; |
| | | import com.vci.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.starter.web.pagemodel.BaseResult; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | | import com.vci.starter.web.util.VciBaseUtil; |
| | | import com.vci.web.service.OsLinkTypeServiceI; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | |
| | | private OsLinkTypeServiceI linkTypeService; |
| | | |
| | | /** |
| | | * æ¥å¿ |
| | | */ |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | | /** |
| | | * 龿¥ç±»åçå表 |
| | | * @param baseQueryObject æ¥è¯¢å¯¹è±¡ |
| | | * @return 龿¥ç±»åçæ¾ç¤ºå¯¹è±¡ |
| | |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢ææç龿¥ç±»ååç§°ï¼å¯ç¨äºå±æ§æ± çè¿æ¥ç±»åéæ©æ¶çå¯¹è¯æ¡ |
| | | * @return 龿¥ç±»åçæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | @GetMapping("/getAllLtName") |
| | | @VciUnCheckRight |
| | | public BaseResult getAllLtName(){ |
| | | try { |
| | | return BaseResult.dataList(linkTypeService.getAllLtName()); |
| | | }catch (Exception e) { |
| | | e.printStackTrace(); |
| | | String exceptionMessage = "龿¥ç±»åå表æ¥è¯¢æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | logger.error(exceptionMessage); |
| | | return BaseResult.fail(exceptionMessage); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * è·å龿¥ç±»åå
å«ç屿§ |
| | | * @param linkTypeOid 龿¥ç±»åçä¸»é® |
| | | * @param baseQueryObject æ¥è¯¢å¯¹è±¡ |
| | |
| | | package com.vci.web.controller; |
| | | |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.starter.web.annotation.controller.VciUnCheckRight; |
| | | import com.vci.starter.web.annotation.log.VciBusinessLog; |
| | | import com.vci.starter.web.enumpck.BooleanEnum; |
| | | import com.vci.starter.web.exception.VciBaseException; |
| | |
| | | import com.vci.web.service.OsBtmServiceI; |
| | | import com.vci.web.service.WebBtmIOServiceI; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.web.bind.annotation.*; |
| | |
| | | import java.io.IOException; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.util.ArrayList; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | @VciBusinessLog(modelName="ä¸å¡ç±»å") |
| | | @RestController |
| | | public class WebBtmTypeController { |
| | | |
| | | /** |
| | | * æ¥å¿ |
| | | */ |
| | | private Logger logger = LoggerFactory.getLogger(getClass()); |
| | | |
| | | /** |
| | | * ä¸å¡ç±»åçæå¡ |
| | |
| | | return btmService.referDataGrid(baseQueryObject.getConditionMap(),baseQueryObject.getPageHelper()); |
| | | } |
| | | |
| | | /** |
| | | * è·ååå以filterå¼å§çä¸å¡ç±»å(for æ¥è¯¢)ï¼ä¸»è¦ç¨äºå±æ§æ± çä¸å¡ç±»åéæ©å¯¹è¯æ¡ |
| | | * @param btmName æ¥è¯¢æ¡ä»¶ |
| | | * @return å表çå
容 |
| | | */ |
| | | @GetMapping( "/getBizTypes") |
| | | @VciBusinessLog(operateName = "ä¸å¡ç±»åå表(主è¦ç¨äºå¯¹è¯æ¡ä½¿ç¨)") |
| | | @VciUnCheckRight |
| | | public BaseResult getBizTypes(String btmName){ |
| | | try { |
| | | return BaseResult.dataList(Arrays.asList(btmService.getBizTypes(btmName))); |
| | | }catch (Exception e) { |
| | | e.printStackTrace(); |
| | | String exceptionMessage = "è·åä¸å¡ç±»åæ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | logger.error(exceptionMessage); |
| | | return BaseResult.fail(exceptionMessage); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * åç
§çä¸å¡ç±»å |
| | |
| | | import java.io.IOException; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | |
| | | /** |
| | |
| | | * @return æä¸¾çä¸æå¼ |
| | | */ |
| | | @VciBusinessLog(notStore=true,operateName="è·åæä¸¾") |
| | | @VciUnCheckRight |
| | | @GetMapping("/getEnum") |
| | | public BaseResult<List<KeyValue>> getEnum(String comboxKey){ |
| | | return BaseResult.success(enumService.getEnum(comboxKey)); |
| | |
| | | @GetMapping("/getDataEnum") |
| | | public BaseResult<List<KeyValue>> getDataEnum(String oid,String btmname){ |
| | | return BaseResult.success(enumService.getDataEnum(oid,btmname)); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®æä¸¾ç±»åè·åæä¸¾ |
| | | * @param enumType æ¥è¯¢æ¡ä»¶name |
| | | * @return å表çå
容 |
| | | */ |
| | | @GetMapping( "/getEnumMapByType") |
| | | @VciBusinessLog(operateName = "æä¸¾å表") |
| | | public BaseResult getEnumMapByType(String enumType) { |
| | | try { |
| | | return BaseResult.dataList(enumService.getEnumMapByType(enumType)); |
| | | }catch (Exception e) { |
| | | e.printStackTrace(); |
| | | String exceptionMessage = "æä¸¾ç®¡çå表æ¥è¯¢æ¶åºç°é误ï¼åå ï¼" + VciBaseUtil.getExceptionMessage(e); |
| | | logger.error(exceptionMessage); |
| | | return BaseResult.fail(exceptionMessage); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | @GetMapping( "/exportEnumTypes") |
| | | @VciBusinessLog(operateName = "å¯¼åºæä¸¾ç±»å") |
| | | @VciUnCheckRight |
| | | public void exportEnumTypes(String exportFileName,String enumNames, HttpServletResponse response){ |
| | | try { |
| | | String excelPath = enumService.exportEnumTypes(exportFileName,enumNames); |
| | |
| | | */ |
| | | @GetMapping( "/downloadEnumTemplate") |
| | | @VciBusinessLog(operateName = "å¯¼åºæä¸¾ç±»å") |
| | | @VciUnCheckRight |
| | | public void downloadEnumTemplate(String exportFileName, HttpServletResponse response){ |
| | | try { |
| | | String excelPath = enumService.downloadEnumTemplate(exportFileName); |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.vci.web.properties; |
| | | |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.util.PropertyResourceBundle; |
| | | |
| | | import com.vci.client.common.ClientLog4j; |
| | | |
| | | public class UsedNames { |
| | | private static PropertyResourceBundle resourceBundle = null; |
| | | |
| | | static{ |
| | | try{ |
| | | if(resourceBundle == null){ |
| | | InputStream ins = UsedNames.class.getClassLoader().getResourceAsStream("properties/usedNames.properties"); |
| | | if(ins != null){ |
| | | resourceBundle = new PropertyResourceBundle(ins); |
| | | } |
| | | } |
| | | }catch(IOException e){ |
| | | //e.printStackTrace(); |
| | | ClientLog4j.logger.error(e); |
| | | }catch(Exception e){ |
| | | //e.printStackTrace(); |
| | | ClientLog4j.logger.error(e); |
| | | } |
| | | } |
| | | |
| | | public static String getProperty(String strKey){ |
| | | try{ |
| | | return resourceBundle.getString(strKey); |
| | | }catch(Exception e){ |
| | | //e.printStackTrace(); |
| | | ClientLog4j.logger.error(e); |
| | | return ""; |
| | | } |
| | | } |
| | | } |
| | |
| | | package com.vci.web.service; |
| | | |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.omd.atm.AttributeDef; |
| | | import com.vci.dto.OsAttributeDTO; |
| | | import com.vci.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | | import com.vci.pagemodel.OsAttributeVO; |
| | |
| | | * @date 2021-2-15 |
| | | */ |
| | | public interface OsAttributeServiceI extends OsBaseServiceI{ |
| | | |
| | | /** |
| | | * è·åé»è®¤ç屿§ |
| | | * @return é»è®¤ç屿§å表 |
| | |
| | | * @return é»è®¤ç屿§æ å° |
| | | */ |
| | | Map<String, OsAttributeVO> getDefaultAttributeVOMap(); |
| | | |
| | | /** |
| | | * 设置é»è®¤ç屿§çæ å° |
| | | * @param defaultAttributeVOMap é»è®¤ç屿§æ å° |
| | |
| | | * @return keyæ¯å±æ§çè±æåç§°å°åï¼valueæ¯å±æ§çæ¾ç¤ºå¯¹è±¡ |
| | | */ |
| | | Map<String,OsAttributeVO> selectAllAttributeMap(); |
| | | |
| | | /** |
| | | * æ ¹æ®å¤ä¸ªå±æ§åç§°æ¥è¯¢å±æ§ |
| | | * @param attrNames |
| | | * @return |
| | | */ |
| | | List<OsAttributeVO> getByAttributeNames(String[] attrNames) throws PLException; |
| | | |
| | | /** |
| | | * 屿§çæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ |
| | |
| | | */ |
| | | DataGrid<OsAttributeVO> gridAttribute(BaseQueryObject baseQueryObject); |
| | | |
| | | /** |
| | | * æ·»å 忡屿§ |
| | | * @param osAttributeDTO |
| | | * @return trueæåï¼false失败 |
| | | */ |
| | | boolean addAttribute(OsAttributeDTO osAttributeDTO) throws PLException; |
| | | |
| | | /** |
| | | * ä¿®æ¹åæ¡å±æ§ |
| | | * @param osAttributeDTO |
| | | * @return trueæåï¼false失败 |
| | | */ |
| | | boolean updateAttribute(OsAttributeDTO osAttributeDTO) throws PLException; |
| | | |
| | | /** |
| | | * å é¤å±æ§ |
| | | * @param osAttributeDTOS |
| | | * @return trueæåï¼false失败 |
| | | */ |
| | | boolean deleteAttributes(List<OsAttributeDTO> osAttributeDTOS) throws PLException; |
| | | |
| | | /** |
| | | * æ¥ç屿§ç使ç¨èå´ |
| | | * @param attributeName |
| | | * @return key:屿§ ï¼value使ç¨è¯¥å±æ§çä¸å¡ç±»å |
| | | */ |
| | | List<Map<String,String>> getUsedAttributeList(String attributeName) throws PLException; |
| | | |
| | | /** |
| | | * 导åºéä¸ç屿§ |
| | | * @param exportFileName 导åºçæä»¶å |
| | | * @param attrNames éè¦å¯¼åºç屿§åç§° |
| | | * @return |
| | | */ |
| | | String exportAttributes(String exportFileName,String attrNames) throws PLException; |
| | | |
| | | /** |
| | | * æ¯å¦é»è®¤ç屿§ |
| | |
| | | * @return true表示æ¯é»è®¤å±æ§ |
| | | */ |
| | | boolean isDefaultAttr(String attr); |
| | | |
| | | } |
| | |
| | | package com.vci.web.service; |
| | | |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.omd.data.BusinessObject; |
| | | import com.vci.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | |
| | | } |
| | | return dataGrid; |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | package com.vci.web.service; |
| | | |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.omd.btm.BizType; |
| | | import com.vci.pagemodel.OsBtmTypeAttributeVO; |
| | | import com.vci.pagemodel.OsBtmTypeVO; |
| | |
| | | public interface OsBtmServiceI extends OsBaseServiceI{ |
| | | |
| | | /** |
| | | * ä¿®æ¹ä¸å¡ç±»åä¸å¯¹åºå±æ§åç屿§ |
| | | * @param apName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | boolean alterAp(String apName) throws PLException; |
| | | |
| | | /** |
| | | * å¤æè¯¥å±æ§æ¯å¦å·²ç»å¨ä¸å¡ç±»åä¸äº§çäºæ°æ® |
| | | * @param abName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | boolean hasInstance(String abName) throws PLException; |
| | | |
| | | /** |
| | | * æ¥è¯¢ææçä¸å¡ç±»å |
| | | * @return ä¸å¡ç±»å对象 |
| | | */ |
| | | List<OsBtmTypeVO> selectAllBtm(); |
| | | |
| | | /** |
| | | * è·ååå以filterå¼å§çä¸å¡ç±»å(for æ¥è¯¢)ï¼ä¸»è¦ç¨äºå±æ§æ± çä¸å¡ç±»åéæ©å¯¹è¯æ¡ |
| | | * è·åå
¨é¨ä¸å¡ç±»åï¼ä¼ åfilter为"" |
| | | * @param btmName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | BizType[] getBizTypes(String btmName) throws PLException; |
| | | |
| | | /** |
| | | * æ¥è¯¢ææçä¸å¡ç±»åæ å° |
| | | * @return key æ¯ä¸å¡çè±æåç§°çå°å |
| | | */ |
| | |
| | | import com.vci.pagemodel.OsEnumVO; |
| | | |
| | | import java.io.File; |
| | | import java.util.ArrayList; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | * @return æä¸¾é项 |
| | | */ |
| | | DataGrid<OsEnumItemVO> gridEnumItemByOid(String pkEnum); |
| | | |
| | | /** |
| | | * æ ¹æ®æä¸¾ç±»åæ¥è¯¢æä¸¾ï¼æä¸¾å , æä¸¾ |
| | | * @param enumTypeï¼String, Integer |
| | | * @return |
| | | */ |
| | | List<Map<String,List<String>>> getEnumMapByType(String enumType); |
| | | |
| | | } |
| | |
| | | package com.vci.web.service; |
| | | |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.omd.ltm.LinkType; |
| | | import com.vci.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | |
| | | public interface OsLinkTypeServiceI extends OsBaseServiceI{ |
| | | |
| | | /** |
| | | * ä¿®æ¹ä¸å¡ç±»åä¸å¯¹åºå±æ§åç屿§ |
| | | * @param apName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | boolean alterAp(String apName) throws PLException; |
| | | |
| | | /** |
| | | * å¤æè¯¥å±æ§æ¯å¦å·²ç»å¨é¾æ¥ç±»åä¸äº§çäºæ°æ® |
| | | * @param abName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | boolean hasInstance(String abName) throws PLException; |
| | | |
| | | /** |
| | | * è·åè¿æ¥ç±»ååç§°éå |
| | | * @return |
| | | */ |
| | | List<String> getAllLtName() throws PLException; |
| | | |
| | | /** |
| | | * æ¥è¯¢ææç龿¥ç±»å |
| | | * @return 龿¥ç±»å对象 |
| | | */ |
| | |
| | | package com.vci.web.service.impl; |
| | | |
| | | import com.vci.client.common.datatype.VTDouble; |
| | | import com.vci.client.common.datatype.VTInteger; |
| | | import com.vci.client.common.datatype.VTLong; |
| | | import com.vci.client.common.datatype.VTString; |
| | | import com.vci.client.mw.ClientSessionUtility; |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.omd.atm.AttributeDef; |
| | | import com.vci.dto.OsAttributeDTO; |
| | | import com.vci.omd.dataType.VTDataType; |
| | | import com.vci.pagemodel.OsEnumItemVO; |
| | | import com.vci.pagemodel.OsEnumVO; |
| | | import com.vci.pagemodel.OsUsedAttributeVO; |
| | | import com.vci.starter.poi.bo.WriteExcelData; |
| | | import com.vci.starter.poi.bo.WriteExcelOption; |
| | | import com.vci.starter.poi.util.ExcelUtil; |
| | | import com.vci.starter.web.annotation.log.VciUnLog; |
| | | import com.vci.starter.web.enumpck.VciFieldTypeEnum; |
| | | import com.vci.starter.web.exception.VciBaseException; |
| | | import com.vci.starter.web.pagemodel.BaseQueryObject; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | | import com.vci.starter.web.util.VciBaseUtil; |
| | | import com.vci.starter.web.util.VciDateUtil; |
| | | import com.vci.starter.web.util.*; |
| | | import com.vci.model.OsAttributeDO; |
| | | import com.vci.pagemodel.OsAttributeVO; |
| | | import com.vci.web.properties.UsedNames; |
| | | import com.vci.web.service.OsAttributeServiceI; |
| | | import com.vci.web.service.OsBaseServiceI; |
| | | import com.vci.web.service.OsLinkTypeServiceI; |
| | | import com.vci.web.util.Func; |
| | | import com.vci.web.util.PlatformClientUtil; |
| | | import com.vci.web.util.WebUtil; |
| | | import org.apache.commons.lang3.StringUtils; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import javax.swing.*; |
| | | import java.awt.*; |
| | | import java.io.File; |
| | | import java.util.*; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | //import static com.vci.client.omd.attribpool.ui.VTDataTypePanel.*; |
| | |
| | | @Autowired(required = false) |
| | | @Lazy |
| | | private OsAttributeServiceI self; |
| | | |
| | | /** |
| | | * 屿§åç§°æå¤§é¿åº¦ |
| | | */ |
| | | private Integer NAME_MAX_LENGTH = 28; |
| | | |
| | | /** |
| | | * ç³»ç»ä¸åéé
ç½®æä»¶ä¸é
ç½®çkey |
| | | */ |
| | | private final String SYSUSEDNAMES = "sysUsedNames"; |
| | | |
| | | /** |
| | | * æ°æ®åºä¸å
³é®åé
ç½®æä»¶ä¸é
ç½®çkey |
| | | */ |
| | | private final String DATABASEUSEDNAMES = "dataBaseUsedNames"; |
| | | |
| | | /** |
| | | * 龿¥ç±»åæå¡ |
| | | */ |
| | | @Autowired(required = false) |
| | | @Lazy |
| | | private OsLinkTypeServiceI osLinkTypeServiceI; |
| | | |
| | | /** |
| | | * ä¸å¡ç±»åæå¡ |
| | | */ |
| | | @Autowired(required = false) |
| | | @Lazy |
| | | private OsBtmServiceImpl osBtmService; |
| | | |
| | | /** |
| | | * é»è®¤ç屿§ |
| | |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®å¤ä¸ªå±æ§åç§°æ¥è¯¢å±æ§ |
| | | * @param attrNames |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<OsAttributeVO> getByAttributeNames(String[] attrNames) throws PLException { |
| | | VciBaseUtil.alertNotNull(attrNames,"屿§å"); |
| | | List<OsAttributeVO> osAttributeVOS = new ArrayList<>(); |
| | | for (int i = 0; i < attrNames.length; i++) { |
| | | AttributeDef[] attributeDefs = platformClientUtil.getAttributeService().getAttributeDefs(attrNames[i],1,1); |
| | | if(Func.isNotEmpty(attributeDefs)){ |
| | | Arrays.stream(attributeDefs).forEach(attributeDef -> { |
| | | osAttributeVOS.add(attributeDO2VO(attributeDef)); |
| | | }); |
| | | } |
| | | } |
| | | return osAttributeVOS; |
| | | } |
| | | |
| | | /** |
| | | * 屿§çæ°æ®å¯¹è±¡è½¬æ¢ä¸ºæ¾ç¤ºå¯¹è±¡ |
| | | * |
| | | * @param attribItems æ°æ®å¯¹è±¡ |
| | |
| | | attributeVO.setAttributeDataTypeText(VciFieldTypeEnum.getTextByValue(attribItem.vtDataType)); |
| | | attributeVO.setDefaultValue(attribItem.defValue); |
| | | attributeVO.setRange(attribItem.rage); |
| | | attributeVO.setOther(attribItem.other); |
| | | //å¤çåç
§ç¸å
³å±æ§ |
| | | if(StringUtils.isNotBlank(attribItem.other)) { |
| | | if (isReferAttr(attribItem.other)) { |
| | | //说æè¿ä¸ªçç¡®æ¯åç
§å段 |
| | |
| | | } |
| | | |
| | | /** |
| | | * æ·»å 忡屿§ |
| | | * @param osAttributeDTO |
| | | * @return trueæåï¼false失败 |
| | | */ |
| | | @Override |
| | | public boolean addAttribute(OsAttributeDTO osAttributeDTO) throws PLException { |
| | | //å¤ç©º |
| | | VciBaseUtil.alertNotNull( |
| | | osAttributeDTO,"å建ç屿§å¯¹è±¡", |
| | | osAttributeDTO.getId(),"屿§åç§°", |
| | | osAttributeDTO.getAttributeDataType(),"屿§ç±»å" |
| | | ); |
| | | //屿§è±æåç§°æ ¡éªï¼å¤ç©ºãç³»ç»ä¸å¤éãæ¯å¦å
³é®åãæ¯å¦åè§çï¼ |
| | | checkName(osAttributeDTO.getId()); |
| | | //æ£æ¥é»è®¤å¼ä¸å±æ§ç±»åæ¯å¦å¹é
|
| | | checkDefValue(osAttributeDTO); |
| | | //dto对象转æ¢ä¸ºå卿é对象 |
| | | AttributeDef attributeDef = this.osAttributeDTO2AttributeDef(osAttributeDTO); |
| | | return platformClientUtil.getAttributeService().addAttributeDef(attributeDef); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹åæ¡å±æ§ |
| | | * @param osAttributeDTO |
| | | * @return trueæåï¼false失败 |
| | | */ |
| | | @Override |
| | | public boolean updateAttribute(OsAttributeDTO osAttributeDTO) throws PLException { |
| | | //å¤ç©º |
| | | VciBaseUtil.alertNotNull( |
| | | osAttributeDTO,"ä¿®æ¹ç屿§å¯¹è±¡", |
| | | osAttributeDTO.getId(),"屿§åç§°", |
| | | osAttributeDTO.getTs(),"äºå¡TS", |
| | | osAttributeDTO.getAttributeDataType(),"屿§ç±»å" |
| | | ); |
| | | |
| | | //åç§°ä¸å
è®¸ä¿®æ¹æä»¥ä¸ç¨æ¥é |
| | | //使¯éè¦æ£æ¥å±æ§æ¯å¦åå¨ |
| | | OsAttributeVO osAttributeVO = getByAttributeNames(new String[]{osAttributeDTO.getId()}).get(0); |
| | | if(Func.isEmpty(osAttributeVO) || Func.isBlank(osAttributeVO.getOid())){ |
| | | throw new PLException("500",new String[]{"屿§å¨ç³»ç»ä¸ä¸åå¨ï¼è¯·å·æ°åéè¯ï¼"}); |
| | | } |
| | | //æ£æ¥é»è®¤å¼ä¸å±æ§ç±»åæ¯å¦å¹é
|
| | | checkDefValue(osAttributeDTO); |
| | | boolean compatible = isCompatible(osAttributeVO,osAttributeDTO); |
| | | boolean hasInstance = hasInstance(osAttributeDTO.getName()); |
| | | //äº§çæ°æ®, å¹¶ä¸ä¸å
¼å®¹ |
| | | if(hasInstance && !compatible){ |
| | | throw new PLException("500",new String[]{"æ æåæ´, ä¸å
¼å®¹å·²äº§ççæ°æ®ï¼"}); |
| | | } |
| | | String userId = WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId(); |
| | | osAttributeDTO.setLastModifier(userId); |
| | | osAttributeDTO.setCreator(osAttributeVO.getCreator()); |
| | | osAttributeDTO.setCreateTime(osAttributeVO.getCreateTime()); |
| | | osAttributeDTO.setLastModifyTime(new Date()); |
| | | |
| | | try { |
| | | AttributeDef attributeDef = this.osAttributeDTO2AttributeDef(osAttributeDTO); |
| | | boolean mdSuccess = platformClientUtil.getAttributeService().modifyAttributeDef(attributeDef); |
| | | if(!mdSuccess){ |
| | | return false; |
| | | } |
| | | |
| | | //屿§ä¿®æ¹æå,ä¿®æ¹ä¸å¡ç±»å, 龿¥ç±»åä¸è¯¥å±æ§å段 |
| | | boolean alterApBoolean = this.alterAp(attributeDef.name); |
| | | if(!alterApBoolean){ |
| | | logger.error("屿§ä¿®æ¹å®æï¼ä½å¨è°æ´ä¸å¡ç±»åæé¾æ¥ç±»åä¸å¯¹åºå±æ§åç屿§æ¶åºç°é误ï¼"); |
| | | throw new PLException("500",new String[]{"屿§ä¿®æ¹å®æï¼ä½å¨è°æ´ä¸å¡ç±»åæé¾æ¥ç±»åä¸å¯¹åºå±æ§åç屿§æ¶åºç°é误ï¼"}); |
| | | } |
| | | return true; |
| | | } catch (PLException e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * DTO对象转å®é
å卿éçAttributeDef对象 |
| | | * @param osAttributeDTO |
| | | * @return |
| | | */ |
| | | private AttributeDef osAttributeDTO2AttributeDef(OsAttributeDTO osAttributeDTO) { |
| | | AttributeDef attributeDef = new AttributeDef(); |
| | | attributeDef.name = osAttributeDTO.getId().toLowerCase().replaceAll(" ", ""); |
| | | attributeDef.label = osAttributeDTO.getName(); |
| | | attributeDef.description = osAttributeDTO.getDescription(); |
| | | attributeDef.vtDataType = (String)osAttributeDTO.getAttributeDataType(); |
| | | attributeDef.defValue = Func.isBlank(osAttributeDTO.getDefaultValue()) ? "" : osAttributeDTO.getDefaultValue(); |
| | | attributeDef.rage = Func.isBlank(osAttributeDTO.getRange()) ? "" : osAttributeDTO.getRange(); |
| | | attributeDef.creator = Func.isBlank(osAttributeDTO.getCreator()) ? WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId():osAttributeDTO.getCreator(); |
| | | attributeDef.ts = Func.format((Func.isNotEmpty(osAttributeDTO.getTs()) ? osAttributeDTO.getTs():new Date()),VciDateUtil.DateTimeMillFormat); |
| | | attributeDef.createTime = Func.isEmpty(osAttributeDTO.getCreateTime()) ? System.currentTimeMillis():osAttributeDTO.getCreateTime().getTime(); |
| | | attributeDef.modifier = Func.isBlank(osAttributeDTO.getLastModifier()) ? WebThreadLocalUtil.getCurrentUserSessionInfoInThread().getUserId():osAttributeDTO.getLastModifier(); |
| | | attributeDef.modifyTime = System.currentTimeMillis(); |
| | | //otheréè¦èªè¡å¤ç |
| | | StringBuffer sb = new StringBuffer(); |
| | | sb.append(ALLOWNULL).append(" = ").append(osAttributeDTO.isNullableFlag() ? "yes" : "no").append(";"); |
| | | VciFieldTypeEnum fieldTypeEnum = VciFieldTypeEnum.valueOf(osAttributeDTO.getAttributeDataType()); |
| | | String[] otherInfos = attributeDef.other.split(";"); |
| | | int length = 0; |
| | | if(otherInfos!=null&& otherInfos.length > 0){ |
| | | for(String s : otherInfos){ |
| | | if(s.contains(LENGTH+" =") || s.contains(LENGTH+"=")){ |
| | | length = VciBaseUtil.getInt(s.split("=")[1]); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | switch (fieldTypeEnum) { |
| | | case VTDouble: |
| | | if(osAttributeDTO.getAttrLength() == null){ |
| | | osAttributeDTO.setAttrLength(20); |
| | | } |
| | | if(osAttributeDTO.getPrecisionLength() == null){ |
| | | osAttributeDTO.setPrecisionLength(2); |
| | | } |
| | | sb.append(ACCURACY).append(" = ").append(osAttributeDTO.getPrecisionLength()).append(";"); |
| | | sb.append(LENGTH).append(" = ").append(length > osAttributeDTO.getAttrLength()?length:osAttributeDTO.getAttrLength()).append(";"); |
| | | |
| | | break; |
| | | case VTInteger: |
| | | if (StringUtils.isNotBlank(osAttributeDTO.getEnumId())) { |
| | | sb.append(ENUMNAME).append(" = ").append(osAttributeDTO.getEnumId()).append(";"); |
| | | } |
| | | break; |
| | | case VTString: |
| | | if (StringUtils.isNotBlank(osAttributeDTO.getBtmTypeId())) { |
| | | //åç
§ |
| | | sb.append(BTM).append(" = ").append(osAttributeDTO.getBtmTypeId()).append(";"); |
| | | //龿¥ç±»åææ¶ä¸æ¯æ |
| | | } |
| | | sb.append(LENGTH).append(" = ").append(length > osAttributeDTO.getAttrLength()?length:osAttributeDTO.getAttrLength()).append(";"); |
| | | if (StringUtils.isNotBlank(osAttributeDTO.getEnumId())) { |
| | | sb.append(ENUMNAME).append(" = ").append(osAttributeDTO.getEnumId()).append(";"); |
| | | } |
| | | break; |
| | | default: |
| | | //ä¸éè¦å¤ç |
| | | break; |
| | | } |
| | | attributeDef.other = sb.toString(); |
| | | if (attributeDef.other.endsWith(";")) { |
| | | attributeDef.other = attributeDef.other.substring(0, attributeDef.other.length() - 1); |
| | | } |
| | | return attributeDef; |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹å±æ§æ¶, 夿å½åè¾å
¥ç屿§æ¯å¦è½å
¼å®¹ä¹åç屿§ |
| | | * @param osAttributeVO æ°æ®åºä¸åå¨ç |
| | | * @param osAttributeDTO ä¿®æ¹åçå
容 |
| | | * @return |
| | | */ |
| | | private boolean isCompatible(OsAttributeVO osAttributeVO/*æ°æ®åºä¸åå¨ç*/,OsAttributeDTO osAttributeDTO/*ä¿®æ¹åçå
容*/){ |
| | | String dataType = osAttributeVO.getAttributeDataType(); |
| | | //String other = osAttributeVO.getOther(); |
| | | //String newOther = abItem.other == null ? "" : abItem.other; |
| | | String newType = osAttributeDTO.getAttributeDataType(); |
| | | if(newType.equals(VTDataType.VTSTRING)){ |
| | | if(dataType.equals(VTDataType.VTINTEGER) || dataType.equals(VTDataType.VTLONG)){ |
| | | return true; |
| | | } |
| | | if(dataType.equals(VTDataType.VTSTRING)){ |
| | | int length = osAttributeVO.getAttrLength();//Integer.valueOf(getOtherValueByType(other, "length")); |
| | | int newLen = osAttributeDTO.getAttrLength();//Integer.valueOf(getOtherValueByType(newOther, "length")); |
| | | if(length <= newLen){ |
| | | return true; |
| | | }else{ |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if(newType.equals(dataType)){ |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * å¤æè¯¥å±æ§æ¯å¦å·²ç»å¨ä¸å¡ç±»åä¸, æè
龿¥ç±»åä¸äº§çäºæ°æ® |
| | | * @param abName |
| | | * @return |
| | | */ |
| | | private boolean hasInstance(String abName) throws PLException { |
| | | return osBtmService.hasInstance(abName) && osLinkTypeServiceI.hasInstance(abName); |
| | | } |
| | | |
| | | /** |
| | | * æ£æ¥å±æ§åç§°æ¯å¦ç¬¦åè§è |
| | | * @param attributeName |
| | | * @return 没æè¿åå¼ï¼åå¨é®é¢ç´æ¥æåºé误 |
| | | */ |
| | | private void checkName(String attributeName) throws PLException { |
| | | if(attributeName.equals("")){ |
| | | throw new PLException("500",new String[]{"注æ,屿§åä¸è½ä¸ºç©º!"}); |
| | | } |
| | | |
| | | if(!attributeName.matches("[a-z A-Z]*")){ |
| | | throw new PLException("500",new String[]{"注æï¼å±æ§ååªè½ä¸ºè±æåæ¯!"+ NAME_MAX_LENGTH}); |
| | | } |
| | | |
| | | int length = attributeName.length(); |
| | | if(length > NAME_MAX_LENGTH){ |
| | | throw new PLException("500",new String[]{"屿§åè¿é¿,屿§åé¿åº¦ä¸è½è¶
è¿!"+ NAME_MAX_LENGTH}); |
| | | } |
| | | |
| | | String abName = attributeName.toLowerCase(); |
| | | //æ£æ¥å±æ§åæ¯å¦æ¯ä¸ºç³»ç»åºç¡å±æ§ï¼å¦createTime,ts,oidç |
| | | if(usedBySystem(abName)){ |
| | | throw new PLException("500",new String[]{"屿§åæ æ,åå ï¼å±æ§å已被系ç»å±æ§ä½¿ç¨!"}); |
| | | } |
| | | //æ£æ¥å±æ§åæ¯å¦æ¯å
³é®å |
| | | if(usedByDataBase(abName)){ |
| | | throw new PLException("500",new String[]{"屿§åæ æ,åå ï¼å±æ§åæ¯æ°æ®åºå
³é®å!"}); |
| | | } |
| | | //æ£æ¥å±æ§åæ¯å¦å·²åå¨ä¸ç³»ç»ä¸ |
| | | if(platformClientUtil.getAttributeService().checkRowIsExists(abName)){ |
| | | throw new PLException("500",new String[]{"屿§åç§°å¨ç³»ç»ä¸å·²åå¨!"}); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ£æ¥é»è®¤å¼ä¸å±æ§ç±»åæ¯å¦å¹é
|
| | | * @param osAttributeDTO |
| | | * @return |
| | | */ |
| | | private void checkDefValue(OsAttributeDTO osAttributeDTO) throws PLException { |
| | | String defValue = osAttributeDTO.getDefaultValue(); |
| | | String vtType = osAttributeDTO.getAttributeDataType(); |
| | | String rages = osAttributeDTO.getRange(); |
| | | if(defValue != null && !defValue.equals("")){ |
| | | if(vtType.equals(VTDataType.VTSTRING)){ |
| | | try{ |
| | | String.valueOf(defValue); |
| | | }catch(Exception e){ |
| | | throw new PLException("500",new String[]{"请è¾å
¥Stringç±»åçé»è®¤å¼ï¼"}); |
| | | } |
| | | if(rages == null || rages.equals("")){ |
| | | return; |
| | | } |
| | | VTString obj = new VTString(String.valueOf(defValue)); |
| | | boolean flag = obj.checkRageValueByRage(rages); |
| | | if(!flag){ |
| | | throw new PLException("500",new String[]{"é»è®¤å¼ä¸å¼åå²çªï¼"}); |
| | | } |
| | | }else if(vtType.equals(VTDataType.VTINTEGER)){ |
| | | try{ |
| | | Integer.valueOf(defValue); |
| | | }catch(Exception e){ |
| | | throw new PLException("500",new String[]{"请è¾å
¥Integerç±»åçé»è®¤å¼ï¼"}); |
| | | } |
| | | if(rages == null || rages.equals("")){ |
| | | return; |
| | | } |
| | | |
| | | VTInteger obj = new VTInteger(Integer.valueOf(defValue)); |
| | | boolean flag = obj.checkRageValueByRage(rages); |
| | | if(!flag){ |
| | | throw new PLException("500",new String[]{"é»è®¤å¼ä¸å¼åå²çªï¼"}); |
| | | } |
| | | }else if(vtType.equals(VTDataType.VTLONG)){ |
| | | try{ |
| | | Long.valueOf(defValue); |
| | | }catch(Exception e){ |
| | | throw new PLException("500",new String[]{"请è¾å
¥Longç±»åçé»è®¤å¼ï¼"}); |
| | | } |
| | | if(rages == null || rages.equals("")){ |
| | | return; |
| | | } |
| | | |
| | | VTLong obj = new VTLong(Long.valueOf(defValue)); |
| | | boolean flag = obj.checkRageValueByRage(rages); |
| | | if(!flag){ |
| | | throw new PLException("500",new String[]{"é»è®¤å¼ä¸å¼åå²çªï¼"}); |
| | | } |
| | | }else if(vtType.equals(VTDataType.VTDOUBLE)){ |
| | | try{ |
| | | Double.valueOf(defValue); |
| | | }catch(Exception e){ |
| | | throw new PLException("500",new String[]{"请è¾å
¥Doubleç±»åçé»è®¤å¼ï¼"}); |
| | | } |
| | | if(rages == null || rages.equals("")){ |
| | | return; |
| | | } |
| | | VTDouble obj = new VTDouble(Double.valueOf(defValue)); |
| | | boolean flag = obj.checkRageValueByRage(rages); |
| | | if(!flag){ |
| | | throw new PLException("500",new String[]{"é»è®¤å¼ä¸å¼åå²çªï¼"}); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ£æ¥è¯¥å±æ§åæ¯å¦è¢«ç³»ç»å±æ§ä½¿ç¨ |
| | | * @param abName |
| | | * @return |
| | | */ |
| | | private boolean usedBySystem(String abName) { |
| | | boolean flag = false; |
| | | String[] names = UsedNames.getProperty(SYSUSEDNAMES).toUpperCase().split(","); |
| | | List<String> nameList = Arrays.asList(names); |
| | | if(nameList.contains(abName.toUpperCase())){ |
| | | flag = true; |
| | | } |
| | | return flag; |
| | | } |
| | | |
| | | /** |
| | | * æ£æ¥è¯¥å±æ§åæ¯å¦å±äºæ°æ®åºå
³é®å |
| | | * @param abName |
| | | * @return |
| | | */ |
| | | private boolean usedByDataBase(String abName){ |
| | | boolean flag = false; |
| | | String[] names = UsedNames.getProperty(DATABASEUSEDNAMES).toUpperCase().split(","); |
| | | List<String> nameList = Arrays.asList(names); |
| | | if(nameList.contains(abName.toUpperCase())){ |
| | | flag = true; |
| | | } |
| | | return flag; |
| | | } |
| | | |
| | | /** |
| | | * å é¤å±æ§ |
| | | * @param osAttributeDTOS |
| | | * @return trueæåï¼false失败 |
| | | */ |
| | | @Override |
| | | public boolean deleteAttributes(List<OsAttributeDTO> osAttributeDTOS) throws PLException { |
| | | VciBaseUtil.alertNotNull(osAttributeDTOS,"å¾
å é¤ç屿§å表"); |
| | | //å¹³å°çdeleteEnumTypesæ¹æ³å¿
ä¼ ä¸ä¸ªåæ°ï¼oidãnameåts |
| | | List<AttributeDef> attributeDefs = new ArrayList<>(); |
| | | for(OsAttributeDTO osAttributeDTO : osAttributeDTOS){ |
| | | //oidåtså¤ç©º |
| | | String oid = osAttributeDTO.getOid(); |
| | | //name主è¦ç¨æ¥å¯¹ç¼åæ°æ®å é¤ |
| | | String name = osAttributeDTO.getName(); |
| | | Date ts = osAttributeDTO.getTs(); |
| | | if(Func.isBlank(oid) || Func.isBlank(name) || Func.isEmpty(ts)){ |
| | | throw new PLException("500",new String[]{"å¾
å é¤ç屿§å表ä¸ä¸»é®ãoidããè°æ´æ¶é´ãtsãã屿§åãnameãä¸è½ä¸ºç©ºï¼"}); |
| | | } |
| | | //夿æä¸¾æ¯å¦æè¢«å¼ç¨ |
| | | List<Map<String, String>> usedAttrList = this.getUsedAttributeList(name); |
| | | if(Func.isNotEmpty(usedAttrList)){ |
| | | throw new PLException("500",new String[]{"å é¤ç屿§ä¸ï¼å±æ§å称为ï¼ã" + name + "ã,已被å¼ç¨ï¼"}); |
| | | } |
| | | AttributeDef attributeDef = new AttributeDef(); |
| | | attributeDef.oid = oid; |
| | | attributeDef.name = name; |
| | | attributeDef.ts = Func.format(ts,VciDateUtil.DateTimeMillFormat); |
| | | attributeDefs.add(attributeDef); |
| | | } |
| | | if(Func.isEmpty(attributeDefs)){ |
| | | return false; |
| | | } |
| | | return platformClientUtil.getAttributeService().deleteAttributeDefs(attributeDefs.toArray(new AttributeDef[attributeDefs.size()])); |
| | | } |
| | | |
| | | /** |
| | | * æ¥ç屿§ç使ç¨èå´ |
| | | * @param attributeName |
| | | * @return key:屿§ ï¼value使ç¨è¯¥å±æ§çä¸å¡ç±»å |
| | | */ |
| | | @Override |
| | | public List<Map<String, String>> getUsedAttributeList(String attributeName) throws PLException { |
| | | if(Func.isBlank(attributeName)){ |
| | | throw new PLException("500",new String[]{"è¯·éæ©è¦æ¥è¯¢åºç¨èå´ç屿§!"}); |
| | | } |
| | | String[] btNames = platformClientUtil.getBtmService().getBTNamesByAPName(attributeName); |
| | | if(Func.isEmpty(btNames)){ |
| | | return new ArrayList<>(); |
| | | } |
| | | List<Map<String,String>> btmNameMapList = new ArrayList<>(); |
| | | Arrays.stream(btNames).forEach(btName->{ |
| | | Map<String, String> itemMap = new HashMap<>(); |
| | | itemMap.put("attributeName",attributeName); |
| | | itemMap.put("source",btName); |
| | | btmNameMapList.add(itemMap); |
| | | }); |
| | | return btmNameMapList; |
| | | } |
| | | |
| | | /** |
| | | * 导åºéä¸ç屿§ |
| | | * @param exportFileName 导åºçæä»¶å |
| | | * @param attrNames éè¦å¯¼åºç屿§åç§° |
| | | * @return |
| | | */ |
| | | @Override |
| | | public String exportAttributes(String exportFileName, String attrNames) throws PLException { |
| | | if(Func.isBlank(attrNames)){ |
| | | throw new PLException("500",new String[]{"请å¾éè¦å¯¼åºç屿§!"}); |
| | | } |
| | | //ç颿²¡ä¼ åç§°ï¼ä½¿ç¨é»è®¤å¯¼åºåç§° |
| | | exportFileName = Func.isBlank(exportFileName) ? "屿§æ± ä¸å±æ§å¯¼åº_" + Func.format(new Date(),"yyyy-MM-dd HHmmss.sss"):exportFileName; |
| | | //设置åå |
| | | List<String> columns = new ArrayList<>( |
| | | Arrays.asList("屿§å", "æ ç¾", "æè¿°", |
| | | "屿§ç±»å", "å
许为空", "é»è®¤å¼", "使ç¨çæä¸¾è±æåç§°(æä¸¾å)", |
| | | "使ç¨çæä¸¾ä¸æåç§°(æ ç¾)", "åç
§çä¸å¡ç±»åç¼å·", "åç
§çä¸å¡ç±»ååç§°", |
| | | "屿§é¿åº¦", "å°æ°ç²¾åº¦ä½æ°","å°æ°å»åº¦ä½æ°","åå¼èå´","å建æ¶é´") |
| | | ); |
| | | |
| | | //åexcel |
| | | String excelPath = LocalFileUtil.getDefaultTempFolder() + File.separator + exportFileName + ".xls"; |
| | | try { |
| | | new File(excelPath).createNewFile(); |
| | | } catch (Throwable e) { |
| | | throw new VciBaseException(LangBaseUtil.getErrorMsg(e), new String[]{excelPath}, e); |
| | | } |
| | | //设置å |
| | | List<WriteExcelData> excelDataList = new ArrayList<>(); |
| | | //设置å头 |
| | | for (int index = 0; index < columns.size(); index++) { |
| | | excelDataList.add(new WriteExcelData(0,index, columns.get(index))); |
| | | } |
| | | //æç
§å±æ§åæ¥è¯¢å±æ§ï¼ç¶åå¤ç屿§å¯¼åº |
| | | List<String> enumNameList = Func.toStrList(attrNames); |
| | | List<OsAttributeVO> osAttributeVOS = this.listAttrByIds(enumNameList); |
| | | if(Func.isEmpty(osAttributeVOS)){ |
| | | excelDataList.add(new WriteExcelData(1,1, "æ ¹æ®å±æ§åç§°æªæ¥è¯¢å°å±æ§ä¿¡æ¯ï¼è¯·å·æ°åå°è¯éæ°å¯¼åºï¼")); |
| | | }else{ |
| | | //å
æç
§å±æ§ç±»åæåºï¼ä¸å屿§ç±»å导åºçæ°æ®ä¹±çææ |
| | | osAttributeVOS.sort(Comparator.comparing(OsAttributeVO::getAttributeDataType)); |
| | | for (int i = 0; i < osAttributeVOS.size(); i++) { |
| | | OsAttributeVO osAttributeVO = osAttributeVOS.get(i); |
| | | excelDataList.add(new WriteExcelData(i+1,0, osAttributeVO.getId())); |
| | | excelDataList.add(new WriteExcelData(i+1,1, osAttributeVO.getName())); |
| | | excelDataList.add(new WriteExcelData(i+1,2, osAttributeVO.getDescription())); |
| | | excelDataList.add(new WriteExcelData(i+1,3, osAttributeVO.getAttributeDataTypeText()+(osAttributeVO.getAttributeDataType()))); |
| | | excelDataList.add(new WriteExcelData(i+1,4, osAttributeVO.isNullableFlag())); |
| | | excelDataList.add(new WriteExcelData(i+1,5, osAttributeVO.getDefaultValue())); |
| | | excelDataList.add(new WriteExcelData(i+1,6, osAttributeVO.getEnumId())); |
| | | excelDataList.add(new WriteExcelData(i+1,7, osAttributeVO.getEnumName())); |
| | | excelDataList.add(new WriteExcelData(i+1,8, osAttributeVO.getBtmTypeId())); |
| | | excelDataList.add(new WriteExcelData(i+1,9, osAttributeVO.getBtmTypeName())); |
| | | excelDataList.add(new WriteExcelData(i+1,10, osAttributeVO.getAttrLength())); |
| | | excelDataList.add(new WriteExcelData(i+1,11, osAttributeVO.getPrecisionLength())); |
| | | excelDataList.add(new WriteExcelData(i+1,12, osAttributeVO.getScaleLength())); |
| | | excelDataList.add(new WriteExcelData(i+1,13, osAttributeVO.getRange())); |
| | | excelDataList.add(new WriteExcelData(i+1,14, osAttributeVO.getCreateTime())); |
| | | } |
| | | } |
| | | WriteExcelOption excelOption = new WriteExcelOption(excelDataList); |
| | | ExcelUtil.writeDataToFile(excelPath, excelOption); |
| | | return excelPath; |
| | | } |
| | | |
| | | /** |
| | | * æ¯å¦é»è®¤ç屿§ |
| | | * |
| | | * @param attr 屿§ç¼å· |
| | |
| | | return false; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ¯å¦ä¸ºæä¸¾ç屿§ |
| | | * @param other é
ç½®çå
容 |
| | |
| | | return false; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ¸
é¤ç¼å |
| | | */ |
| | |
| | | public void clearCache() { |
| | | |
| | | } |
| | | |
| | | /** |
| | | * è°ç¨ä¿®æ¹ä¸å¡ç±»ååè¿æ¥ç±»åä¸å¯¹åºå±æ§åç屿§ |
| | | * @param apName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | private boolean alterAp(String apName) throws PLException { |
| | | return osBtmService.alterAp(apName) && osLinkTypeServiceI.alterAp(apName); |
| | | } |
| | | |
| | | } |
| | |
| | | package com.vci.web.service.impl; |
| | | |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.omd.atm.AttributeDef; |
| | | import com.vci.corba.omd.btm.BizType; |
| | | import com.vci.corba.omd.ltm.LinkType; |
| | | import com.vci.pagemodel.*; |
| | | import com.vci.starter.web.annotation.log.VciUnLog; |
| | | import com.vci.starter.web.enumpck.BooleanEnum; |
| | |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹ä¸å¡ç±»åä¸å¯¹åºå±æ§åç屿§ |
| | | * @param apName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | @Override |
| | | public boolean alterAp(String apName) throws PLException { |
| | | String[] btmNames = null; |
| | | List<String> btmNameList = new ArrayList<String>(); |
| | | AttributeDef abItem = null; |
| | | try { |
| | | abItem = platformClientUtil.getAttributeService().getAttributeDefByName(apName); |
| | | } catch (PLException e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | if(abItem == null || abItem.equals("")){ |
| | | return true; |
| | | } |
| | | try { |
| | | btmNames = platformClientUtil.getBtmService().getBTNamesByAPName(apName); |
| | | } catch (PLException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | if(btmNames == null || btmNames.length <= 0){ |
| | | return true; |
| | | } |
| | | |
| | | btmNameList = Arrays.asList(btmNames); |
| | | for(Iterator<String> i = btmNameList.iterator(); i.hasNext();){ |
| | | String btmName = i.next(); |
| | | try { |
| | | platformClientUtil.getBtmService().modifyBTAttribute(btmName, apName); |
| | | } catch (PLException e) { |
| | | // TODO Auto-generated catch block |
| | | e.printStackTrace(); |
| | | String erreMsg = "è°æ´ä¸å¡ç±»åä¸ã"+apName+"ã屿§æ¶åºç°é误ï¼åå ï¼"+e.getMessage(); |
| | | logger.error(erreMsg); |
| | | throw new PLException("500",new String[]{erreMsg}); |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * å¤æè¯¥å±æ§æ¯å¦å·²ç»å¨ä¸å¡ç±»åä¸äº§çäºæ°æ® |
| | | * @param abName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | @Override |
| | | public boolean hasInstance(String abName) throws PLException { |
| | | String[] btmNames = platformClientUtil.getBtmService().getBTNamesByAPName(abName); |
| | | if(btmNames == null || btmNames.length == 0){ |
| | | return false; |
| | | } |
| | | for(int i = 0; i < btmNames.length; i++){ |
| | | String btmName = btmNames[i]; |
| | | boolean flag; |
| | | flag = platformClientUtil.getBtmService().hasData(btmName); |
| | | if(flag){ |
| | | return flag; |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * è·ååå以filterå¼å§çä¸å¡ç±»å(for æ¥è¯¢)ï¼ä¸»è¦ç¨äºå±æ§æ± çä¸å¡ç±»åéæ©å¯¹è¯æ¡ |
| | | * è·åå
¨é¨ä¸å¡ç±»åï¼ä¼ åfilter为"" |
| | | * @param btmName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | @Override |
| | | public BizType[] getBizTypes(String btmName) throws PLException { |
| | | if(null == btmName){ |
| | | btmName = ""; |
| | | } |
| | | return platformClientUtil.getBtmService().getBizTypes(btmName); |
| | | } |
| | | |
| | | /** |
| | | * åç
§ä¸å¡ç±»å |
| | | * |
| | | * @param conditionMap æ¥è¯¢æ¡ä»¶ |
| | |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.common.data.UserEntityInfo; |
| | | import com.vci.corba.omd.data.BusinessObject; |
| | | import com.vci.corba.omd.etm.EnumItem; |
| | | import com.vci.corba.omd.etm.EnumType; |
| | | import com.vci.dto.OsEnumDTO; |
| | | import com.vci.dto.OsEnumItemDTO; |
| | | import com.vci.dto.SmUserDTO; |
| | | import com.vci.omd.utils.ObjectTool; |
| | | import com.vci.pagemodel.*; |
| | | import com.vci.po.OsEnumPO; |
| | | import com.vci.po.SmUserPO; |
| | | import com.vci.starter.poi.bo.ReadExcelOption; |
| | | import com.vci.starter.poi.bo.WriteExcelData; |
| | | import com.vci.starter.poi.bo.WriteExcelOption; |
| | |
| | | if(Func.isBlank(enumName)){ |
| | | throw new PLException("500",new String[]{"è¯·éæ©è¦æ¥è¯¢åºç¨èå´çæä¸¾!"}); |
| | | } |
| | | String[] attrubyteNames = platformClientUtil.getAttributeService().getAttrubyteNamesByEMName(enumName); |
| | | if(Func.isEmpty(attrubyteNames)){ |
| | | String[] attrubuteNames = platformClientUtil.getAttributeService().getAttrubyteNamesByEMName(enumName); |
| | | if(Func.isEmpty(attrubuteNames)){ |
| | | return new ArrayList<>(); |
| | | } |
| | | List<Map<String,String>> attrubyteMapList = new ArrayList<>(); |
| | | Arrays.stream(attrubyteNames).forEach(attrName->{ |
| | | List<Map<String,String>> attrubuteMapList = new ArrayList<>(); |
| | | Arrays.stream(attrubuteNames).forEach(attrName->{ |
| | | Map<String, String> itemMap = new HashMap<>(); |
| | | itemMap.put("enumName",enumName); |
| | | itemMap.put("source",attrName); |
| | | attrubyteMapList.add(itemMap); |
| | | attrubuteMapList.add(itemMap); |
| | | }); |
| | | return attrubyteMapList; |
| | | return attrubuteMapList; |
| | | } |
| | | |
| | | /** |
| | |
| | | String name = osEnumDTO.getName(); |
| | | Date ts = osEnumDTO.getTs(); |
| | | if(Func.isBlank(oid) || Func.isBlank(name) || Func.isEmpty(ts)){ |
| | | throw new PLException("500",new String[]{"å¾
å é¤çæä¸¾å表ä¸ä¸»é®ãoidãåè°æ´æ¶é´ãtsãä¸è½ä¸ºç©ºï¼"}); |
| | | throw new PLException("500",new String[]{"å¾
å é¤çæä¸¾å表ä¸ä¸»é®ãoidããè°æ´æ¶é´ãtsãã屿§åãnameãä¸è½ä¸ºç©ºï¼"}); |
| | | } |
| | | //夿æä¸¾æ¯å¦æè¢«å¼ç¨ |
| | | List<Map<String, String>> usedEnumList = this.getUsedEnumList(name); |
| | | if(Func.isNotEmpty(usedEnumList)){ |
| | | throw new PLException("500",new String[]{"å é¤çæä¸¾ä¸ã" + name + "ã,已被å¼ç¨ï¼"}); |
| | | throw new PLException("500",new String[]{"å é¤çæä¸¾ä¸ï¼æä¸¾å称为ï¼ã" + name + "ã,已被å¼ç¨ï¼"}); |
| | | } |
| | | EnumType enumType = new EnumType(); |
| | | enumType.oid = oid; |
| | |
| | | return BaseResult.success("æä¸¾å¯¼å
¥æåï¼"); |
| | | } |
| | | |
| | | /* private OsEnumVO getTestJson(int i){ |
| | | String testJosn = "[{\"createTime\":\"2024-07-17 17:06:30.170\",\"creator\":\"developer\",\"enumValueDataType\":\"String\",\"enumValueDataTypeText\":\"å符串\",\"id\":\"test\",\"items\":[{\"description\":\"\",\"name\":\"1\",\"value\":\"11\"},{\"description\":\"\",\"name\":\"1\",\"value\":\"11\"}],\"lastModifier\":\"developer\",\"lastModifyTime\":\"2024-07-17 17:06:30.170\",\"length\":2,\"name\":\"test1\",\"oid\":\"4F9B4094-A4F5-E3CD-AC7C-1F33AA65F1E7\",\"ts\":\"2024-07-18 09:40:52.512\"},{\"createTime\":\"2024-07-17 09:49:31.592\",\"creator\":\"developer\",\"description\":null,\"enumValueDataType\":\"String\",\"enumValueDataTypeText\":\"å符串\",\"id\":\"testString\",\"items\":[{\"description\":\"11\",\"name\":\"11\",\"value\":\"11\"},{\"description\":\"\",\"name\":\"test1\",\"value\":\"1\"},,{\"description\":\"\",\"name\":\"test1\",\"value\":\"1\"}],\"lastModifier\":\"developer\",\"lastModifyTime\":\"2024-07-17 09:49:31.592\",\"length\":6,\"name\":\"testString\",\"oid\":\"AB3A7718-55C6-555E-A1FD-934763ACA3F2\",\"ts\":\"2024-07-17 16:47:33.038\"}]"; |
| | | List<OsEnumVO> OsEnumVOs = JSON.parseArray(testJosn,OsEnumVO.class); |
| | | return OsEnumVOs.get(i); |
| | | }*/ |
| | | |
| | | /** |
| | | * è·å导å
¥æ¨¡æ¿çç¤ºä¾æ°æ® |
| | | * @return |
| | |
| | | private EnumType osEnumDTO2EnumType(OsEnumDTO osEnumDTO){ |
| | | EnumType enumType = new EnumType(); |
| | | enumType.oid = osEnumDTO.getOid(); |
| | | enumType.name = osEnumDTO.getId(); |
| | | //æä¸¾åç»ä¸è½¬æå°åï¼é¿å
åæåºç°å
¶ä»é®é¢ |
| | | enumType.name = osEnumDTO.getId().toLowerCase(Locale.ROOT); |
| | | enumType.label = osEnumDTO.getName(); |
| | | enumType.length = osEnumDTO.getLength(); |
| | | enumType.creator = osEnumDTO.getCreator(); |
| | |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®æä¸¾ç±»åæ¥è¯¢æä¸¾ï¼æä¸¾å , æä¸¾ |
| | | * @param enumTypeï¼String, Integer |
| | | * @return |
| | | */ |
| | | public List<Map<String,List<String>>> getEnumMapByType(String enumType){ |
| | | List<Map<String,List<String>>> enumMapList = new ArrayList<>(); |
| | | EnumType[] emArray = null; |
| | | try { |
| | | emArray = platformClientUtil.getEnumService().getEnumTypesByType(enumType); |
| | | } catch (PLException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | if(emArray == null || emArray.length == 0){ |
| | | return null; |
| | | } |
| | | EnumType emItem; |
| | | for(int i = 0; i < emArray.length; i++){ |
| | | emItem = emArray[i]; |
| | | EnumItem[] emChildren = emItem.items; |
| | | ArrayList<String> valueList = new ArrayList<String>(); |
| | | for(int k = 0; k < emChildren.length; k++){ |
| | | EnumItem emChild = emChildren[k]; |
| | | String value = emChild.value; |
| | | valueList.add(value); |
| | | } |
| | | Map<String, List<String>> enumMap = new HashMap<>(); |
| | | enumMap.put(emItem.name, valueList); |
| | | enumMapList.add(enumMap); |
| | | } |
| | | return enumMapList; |
| | | } |
| | | |
| | | /** |
| | | * æ¸
é¤ç¼å |
| | | */ |
| | | @Override |
| | |
| | | package com.vci.web.service.impl; |
| | | |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.omd.atm.AttributeDef; |
| | | import com.vci.corba.omd.data.BusinessObject; |
| | | import com.vci.corba.omd.ltm.LinkType; |
| | | import com.vci.omd.utils.ObjectTool; |
| | |
| | | public void clearCache() { |
| | | |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹é¾æ¥ç±»åä¸å¯¹åºå±æ§åç屿§ |
| | | * @param apName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | @Override |
| | | public boolean alterAp(String apName) throws PLException { |
| | | String[] linkNames = null; |
| | | List<String> linkNameList = new ArrayList<String>(); |
| | | AttributeDef abItem = null; |
| | | try { |
| | | abItem = platformClientUtil.getAttributeService().getAttributeDefByName(apName); |
| | | } catch (PLException e1) { |
| | | e1.printStackTrace(); |
| | | } |
| | | if(abItem == null || abItem.equals("")){ |
| | | return true; |
| | | } |
| | | try { |
| | | linkNames = platformClientUtil.getLinkTypeService().getLTNamesByAPName(apName); |
| | | } catch (PLException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | if(linkNames == null || linkNames.length <= 0){ |
| | | return true; |
| | | } |
| | | |
| | | linkNameList = Arrays.asList(linkNames); |
| | | for(Iterator<String> i = linkNameList.iterator(); i.hasNext();){ |
| | | String linkName = i.next(); |
| | | try { |
| | | platformClientUtil.getLinkTypeService().modifyLTAttribute(linkName, apName); |
| | | } catch (PLException e) { |
| | | // TODO Auto-generated catch block |
| | | e.printStackTrace(); |
| | | String erreMsg = "è°æ´é¾æ¥ç±»åä¸ã"+apName+"ã屿§æ¶åºç°é误ï¼åå ï¼"+e.getMessage(); |
| | | logger.error(erreMsg); |
| | | throw new PLException("500",new String[]{erreMsg}); |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * å¤æè¯¥å±æ§æ¯å¦å·²ç»å¨é¾æ¥ç±»åä¸äº§çäºæ°æ® |
| | | * @param abName |
| | | * @return |
| | | * @throws PLException |
| | | */ |
| | | @Override |
| | | public boolean hasInstance(String abName) throws PLException { |
| | | String[] btmNames = platformClientUtil.getLinkTypeService().getLTNamesByAPName(abName); |
| | | if(btmNames == null || btmNames.length == 0){ |
| | | return false; |
| | | } |
| | | for(int i = 0; i < btmNames.length; i++){ |
| | | String btmName = btmNames[i]; |
| | | boolean flag; |
| | | flag = platformClientUtil.getLinkTypeService().hasData(btmName); |
| | | if(flag){ |
| | | return flag; |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * è·åè¿æ¥ç±»ååç§°éå |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<String> getAllLtName() throws PLException { |
| | | LinkType[] linkTypes = platformClientUtil.getLinkTypeService().getLinkTypes(); |
| | | if(null != linkTypes && linkTypes.length > 0){ |
| | | return Arrays.stream(linkTypes).map(linkType -> linkType.name).collect(Collectors.toList()); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | sysUsedNames = OID,REVISIONOID,NAMEOID,BtmName,ISLastR,ISFirstR,ISLastV,ISFirstV,Creator,CreateTime,LastModifier,LastModifyTime,RevisionRule,VersionRule,RevisionSeq,RevisionValue,VersionSeq,VersionValue,LCTID,LCStatus,TS,ID,NAME,DESCRIPTION,OWNER,CHECKINBY,CHECKINTIME,CHECKOUTBY,CHECKOUTTIME,COPYFROMVERSION,NEWOID,NEWREVISIONOID |
| | | dataBaseUsedNames = ACCESS,ADD,ALL,ALTER,AND,ANY,AS,ASC,AUDIT,BETWEEN,BY,CHAR,CHECK,CLUSTER,COLUMN,COMMENT,COMPRESS,CONNECT,CREATE,CURRENT,DATE,DECIMAL,DEFAULT,DELETE,DESC,DISTINCT,DROP,ELSE,EXCLUSIVE,EXISTS,FILE,FLOAT,FOR,FROM,GRANT,GROUP,HAVING,IDENTIFIED,IMMEDIATE,IN,INCREMENT,INDEX,INITIAL,INSERT,INTEGER,INTERSECT,INTO,IS,LEVEL,LIKE,LOCK,LONG,MAXEXTENTS,MINUS,MLSLABEL,MODE,MODIFY,NOAUDIT,NOCOMPRESS,NOT,NOWAIT,NULL,NUMBER,OF,OFFLINE,ON,ONLINE,OPTION,OR,ORDER,P,CTFREE,PRIOR,PRIVILEGES,PUBLIC,RAW,RENAME,RESOURCE,REVOKE,ROW,ROWID,ROWNUM,ROWS,SELECT,SESSION,SET,SHARE,SIZE,SMALLINT,START,SUCCESSFUL,SYNONYM,SYSDATE,TABLE,THEN,TO,TRIGGER,UID,UNION,UNIQUE,UPDATE,USER,VALIDATE,VALUES,VARCHAR,VARCHAR2,VIEW,WHENEVER,WHERE,WITH |
| | |
| | | import request from '@/router/axios'; |
| | | |
| | | export const getList = (current, size, params) => { |
| | | return request({ |
| | | url: '/api/blade-system/menu/list', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getLazyList = (parentId, params) => { |
| | | return request({ |
| | | url: '/api/blade-system/menu/lazy-list', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | parentId |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getLazyMenuList = (parentId, params) => { |
| | | return request({ |
| | | url: '/api/blade-system/menu/lazy-menu-list', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | parentId |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getMenuList = (current, size, params) => { |
| | | return request({ |
| | | url: '/api/blade-system/menu/menu-list', |
| | | method: 'get', |
| | | params: { |
| | | ...params, |
| | | current, |
| | | size, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getMenuTree = (tenantId) => { |
| | | return request({ |
| | | url: '/api/blade-system/menu/tree', |
| | | method: 'get', |
| | | params: { |
| | | tenantId, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const remove = (ids) => { |
| | | return request({ |
| | | url: '/api/blade-system/menu/remove', |
| | | method: 'post', |
| | | params: { |
| | | ids, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const add = (row) => { |
| | | return request({ |
| | | url: '/api/blade-system/menu/submit', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | |
| | | export const update = (row) => { |
| | | return request({ |
| | | url: '/api/blade-system/menu/submit', |
| | | method: 'post', |
| | | data: row |
| | | }) |
| | | } |
| | | |
| | | export const getMenu = (id) => { |
| | | return request({ |
| | | url: '/api/blade-system/menu/detail', |
| | | method: 'get', |
| | | params: { |
| | | id, |
| | | } |
| | | }) |
| | | } |
| | | |
| | | export const getTopMenu = () => request({ |
| | | url: '/api/smFunctionController/top-menu', |
| | | method: 'get' |
| | |
| | | */ |
| | | export const treeMenu = (parentOid) => { |
| | | return request({ |
| | | url: 'api/smFunctionController/treeMyMenu', |
| | | url: '/api/smFunctionController/treeMyMenu', |
| | | method: 'get', |
| | | params:{ |
| | | parentOid |
| | |
| | | } |
| | | }); |
| | | |
| | | export const loginBySocial = (tenantId, source, state) => request({ |
| | | url: '/api/blade-auth/oauth/token', |
| | | method: 'post', |
| | | headers: { |
| | | 'Tenant-Id': tenantId |
| | | }, |
| | | params: { |
| | | tenantId, |
| | | source, |
| | | state, |
| | | grant_type: "social", |
| | | scope: "all", |
| | | } |
| | | }) |
| | | |
| | | export const loginBySso = (state) => request({ |
| | | url: '/api/blade-auth/oauth/token', |
| | | method: 'post', |
| | | headers: { |
| | | 'Tenant-Id': state |
| | | }, |
| | | params: { |
| | | tenantId: state, |
| | | grant_type: "authorization_code", |
| | | scope: "all", |
| | | redirect_uri: website.redirectUri, |
| | | } |
| | | }) |
| | | |
| | | export const refreshToken = (refresh_token, tenantId, deptId, roleId) => request({ |
| | | url: '/api/blade-auth/oauth/token', |
| | | method: 'post', |
| | | headers: { |
| | | 'Tenant-Id': tenantId, |
| | | 'Dept-Id': (website.switchMode ? deptId : ''), |
| | | 'Role-Id': (website.switchMode ? roleId : '') |
| | | }, |
| | | params: { |
| | | tenantId, |
| | | refresh_token, |
| | | grant_type: "refresh_token", |
| | | scope: "all", |
| | | } |
| | | }); |
| | | |
| | | export const registerGuest = (form, oauthId) => request({ |
| | | url: '/api/blade-user/register-guest', |
| | | method: 'post', |
| | | params: { |
| | | tenantId: form.tenantId, |
| | | name: form.name, |
| | | account: form.account, |
| | | password: form.password, |
| | | oauthId |
| | | } |
| | | }); |
| | | |
| | | export const getButtons = () => request({ |
| | | url: '/api/blade-system/menu/buttons', |
| | | method: 'get' |
| | | }); |
| | | |
| | | export const getCaptcha = () => request({ |
| | | url: '/api/blade-auth/oauth/captcha', |
| | | method: 'get', |
| | | authorization: false |
| | | }); |
| | | |
| | | export const logout = () => request({ |
| | | url: '/api/blade-auth/oauth/logout', |
| | | method: 'get', |
| | | authorization: false |
| | | }); |
| | | |
| | | export const getUserInfo = () => request({ |
| | | url: '/api/framework/loginController/getSessionInfo', |
| | | method: 'post' |
| | | }); |
| | | |
| | | export const sendLogs = (list) => request({ |
| | | url: '/api/blade-auth/oauth/logout', |
| | | method: 'post', |
| | | data: list |
| | | }); |
| | | |
| | | export const clearCache = () => request({ |
| | | url: '/api/blade-auth/oauth/clear-cache', |
| | | method: 'get', |
| | | authorization: false |
| | | }); |
| | | |
| | | export const selcetList = () => request({ |
| | | url: '/api/blade-system/tenant/tenant-map', |
| | | method: 'get', |
| | | }); |
| | | |
| | | // ä¿®æ¹å¯ç |