From c65c0b31e6dfd01db744a450dda3816f65eebbc1 Mon Sep 17 00:00:00 2001 From: yuxc <yuxc@vci-tech.com> Date: 星期四, 05 十二月 2024 11:41:10 +0800 Subject: [PATCH] 1、修改使用当前用户的类型查询用户接口,可以传入用户类型。 2、增加根据用户主键获取关联的部门接口。 3、增加查询授权结果接口。 4、增加查询业务对象接口。 --- Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsDataAuthServiceImpl.java | 122 ++++++++++++++++++++++++++++++++++++++-- 1 files changed, 115 insertions(+), 7 deletions(-) diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsDataAuthServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsDataAuthServiceImpl.java index 67f015e..1e0a44f 100644 --- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsDataAuthServiceImpl.java +++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsDataAuthServiceImpl.java @@ -1,19 +1,28 @@ package com.vci.web.service.impl; +import com.vci.client.common.oq.OQTool; +import com.vci.common.qt.object.QueryTemplate; import com.vci.common.qt.object.Symbol; import com.vci.constant.IRightConstant; import com.vci.corba.common.PLException; +import com.vci.corba.framework.data.CheckValue; import com.vci.corba.framework.data.GrandValue; import com.vci.corba.omd.btm.BizType; +import com.vci.corba.omd.data.AttributeValue; +import com.vci.corba.omd.data.BusinessObject; +import com.vci.corba.omd.data.LinkObject; import com.vci.corba.omd.lcm.LifeCycle; import com.vci.corba.omd.lcm.TransitionVO; import com.vci.corba.omd.ltm.LinkType; import com.vci.corba.portal.data.PLAction; +import com.vci.dto.AuthResultDTO; import com.vci.dto.OsDataAuthDTO; +import com.vci.pagemodel.OpItemVO; import com.vci.starter.web.exception.VciBaseException; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.web.service.OsDataAuthServiceI; import com.vci.web.util.PlatformClientUtil; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -89,6 +98,105 @@ } return BaseResult.success("鍒犻櫎鎴愬姛锛�"); } + /** + * 鏌ヨ鎺堟潈缁撴灉 + * @param params 鏌ヨ瀵硅薄 + * @return 鎺堟潈缁撴灉 + */ + @Override + public BaseResult authResult(CheckValue params) { +// CheckValue params = new CheckValue(); + params.opname = IRightConstant.OPS; + if(StringUtils.isBlank(params.objectoid)){ + params.objectoid = "22385E82-485C-549D-E2F4-91278E9E0A76"; + } + List<String> tableHeaders = new ArrayList<>(); + List<Object> tableValues = new ArrayList<>(); + // 鎿嶄綔 + List<OpItemVO> opitems = new ArrayList<OpItemVO>(); + try { + String where = platformClientUtil.getFrameworkService().checkRight(params); + String[] ops = where.split(":"); + //澶勭悊鍒楄〃澶� + for (String s : ops) { + if (s != null && !s.equals("")) { + OpItemVO item = new OpItemVO(); + String[] op = s.split(","); + item.setName(op[0]); + item.setValue(op[1]); + tableHeaders.add(op[0]); + opitems.add(item); + } + } + } catch (Exception e) { + e.printStackTrace(); + throw new VciBaseException("閴存潈鍑洪敊\n" + + e.getLocalizedMessage()); + } + //澶勭悊鏁版嵁 + for (int n = 0; n < opitems.size(); n++) { + tableValues.add(opitems.get(n).getValue().equals("1") ? true : false); + } + AuthResultDTO authResultDTO = new AuthResultDTO(); + authResultDTO.setTableValues(tableValues); + authResultDTO.setTableHeader(tableHeaders); + return BaseResult.success(authResultDTO); + } + /** + * 鏌ヨ涓氬姟瀵硅薄 + * @param btmName 涓氬姟绫诲瀷鍚嶇О + * @param boFlag 鏄惁涓篵o绫诲瀷锛宼rue涓篵tm锛宖alse涓簂ink + * @param btmType 涓氬姟绫诲瀷 + * @return 鏌ヨ鍑虹殑鏁版嵁 + */ + @Override + public BaseResult queryBusiness(String btmName, boolean boFlag, String btmType) { + QueryTemplate qt = new QueryTemplate(); + qt.setBtmType(btmName); + List<String> clauseList = new ArrayList<String>(); + clauseList.add("*"); + qt.setClauseList(clauseList); + qt.setType(btmType);// 閾炬帴link + qt.setCondition(null); + qt.setId("qt1"); + List<Object> tableValues = new ArrayList<>(); + try { + clauseList = new ArrayList<>(Arrays.asList(platformClientUtil.getBtmService().getSysAttributeNames())); + clauseList.addAll(Arrays.asList(platformClientUtil.getBtmService().getAttributeNames(btmName))); + + if (boFlag) { + BusinessObject[] result = platformClientUtil.getQueryService().findBTMObjects(qt.getId(), OQTool.qtTOXMl(qt).asXML()); + for (int i = 0; i < result.length; i++) { + List<Object> lineData = new ArrayList<>(); + BusinessObject bo = result[i]; + AttributeValue[] attList = bo.hisAttrValList; + for (int j = 0; j < clauseList.size(); j++) { + lineData.add(attList[j].attrVal); +// qrTable.setValueAt(attList[j].attrVal, i, j); + } + tableValues.add(lineData); + } + } else { + List<Object> lineData = new ArrayList<>(); + LinkObject[] loResult = platformClientUtil.getQueryService().findLTObjects(qt.getId(), OQTool.qtTOXMl(qt).asXML()); + for (int i = 0; i < loResult.length; i++) { + LinkObject lo = loResult[i]; + AttributeValue[] attList = lo.hisAttrValList; + for (int j = 0; j < attList.length; j++) { + lineData.add(attList[j].attrVal); +// qrTable.setValueAt(attList[j], i, j); + } + tableValues.add(lineData); + } + } + } catch (PLException e) { + e.printStackTrace(); + } + Map<String, Object> resultData = new HashMap<>(); + resultData.put("tableHeader", clauseList); + resultData.put("tableValues", tableValues); + return BaseResult.success(resultData); + } //add by caill start 2015 12.18 灏嗘煡璇㈠嚭鏉ョ殑action鏀惧叆鍒癿ap涓� private Map<String, String> getAllActionsByType2(String typeName, String type) throws PLException { @@ -142,7 +250,7 @@ Map<Object, Object> columnData = new HashMap<>(); // 澧炲姞椤甸潰缂撳瓨 // ruleModel.setConditionValue(row, rules); - columnData.put("rules",rules.get(0)); + columnData.put("rules",rules); // add by caill start 2015 12.18 灏嗘煡鍑虹殑action鏀惧埌map涓紝娉ㄦ剰涓嶈钀戒笅鈥滄煡璇⑩�� Map<String, String> actionMap = new HashMap<String, String>(); actionMap.put("query", "鏌ヨ"); // 灏嗘搷浣滀腑鐨剄uery鏀惧叆actionMap涓� @@ -170,15 +278,15 @@ for (int j = 0; j < rules.size(); j++) { // 瑙勫垯鍚嶅拰绫诲瀷 // ruleModel.setValueAt(rules.get(j).ruleName, row, 0); - columnData.put(0, rules.get(j).ruleName); + columnData.put("0", rules.get(j).ruleName); if (rules.get(j).ruleType.equals(IRightConstant.RULETYPE__HAS)) { - columnData.put(1, "鍏佽瑙勫垯"); + columnData.put("1", "鍏佽瑙勫垯"); } else if (rules.get(j).ruleType.equals(IRightConstant.RULETYPE__NOTHAS)) { - columnData.put(1, "鎷掔粷瑙勫垯"); + columnData.put("1", "鎷掔粷瑙勫垯"); } else if (rules.get(j).ruleType.equals(IRightConstant.RULETYPE_ALL_HAS)) { - columnData.put(1, "鍏ㄩ儴鏈夋潈"); + columnData.put("1", "鍏ㄩ儴鏈夋潈"); } else { - columnData.put(1, "鍏ㄩ儴鏃犳潈"); + columnData.put("1", "鍏ㄩ儴鏃犳潈"); } // 鎸囧畾鐨勬搷浣滆祴鍊� // TableColumnModel columnModel = funclet.getRightMainPanel().getRuleTable().getColumnModel(); @@ -209,7 +317,7 @@ // int columnIndex = columnModel.getColumnIndex(op); if (columnIndex >= 0) { // ruleModel.setValueAt(rules.get(j).isGrand == '1' ? true : false, row, columnIndex); - columnData.put(columnIndex, rules.get(j).isGrand == '1' ? true : false); + columnData.put(String.valueOf(columnIndex), rules.get(j).isGrand == '1' ? true : false); } } -- Gitblit v1.9.3