| | |
| | | import com.vci.client.common.providers.ServiceProvider; |
| | | import com.vci.corba.common.VCIError; |
| | | import com.vci.corba.omd.qtm.QTInfo; |
| | | import com.vci.corba.query.ObjectQueryService; |
| | | import com.vci.corba.query.ObjectQueryServicePrx; |
| | | import com.vci.frameworkcore.compatibility.SmUserQueryServiceI; |
| | | import com.vci.mw.client.InvocationUtility; |
| | | import com.vci.starter.web.annotation.Column; |
| | | import com.vci.starter.web.constant.QueryOptionConstant; |
| | | import com.vci.starter.web.constant.VciSystemVarConstants; |
| | | import com.vci.corba.query.data.BtmRefQueryOption; |
| | | import com.vci.starter.web.enumpck.BooleanEnum; |
| | | import com.vci.starter.web.exception.VciBaseException; |
| | | import com.vci.starter.web.pagemodel.DataGrid; |
| | |
| | | import com.vci.web.pageModel.*; |
| | | import com.vci.web.properties.WebProperties; |
| | | import com.vci.web.service.*; |
| | | 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.apache.tools.ant.taskdefs.condition.Os; |
| | | import org.apache.poi.ss.formula.functions.T; |
| | | import org.dom4j.DocumentException; |
| | | import org.dom4j.DocumentHelper; |
| | | import org.omg.CORBA.IntHolder; |
| | |
| | | import plm.bs.bom.clientobject.ClientBusinessObject; |
| | | import plm.bs.bom.clientobject.ClientLinkObject; |
| | | import plm.bs.bom.common.*; |
| | | import plm.corba.qt.BtmRefQueryOption; |
| | | import plm.corba.qt.KV; |
| | | import plm.corba.qt.QTServiceOperations; |
| | | import plm.corba.qt.QTWrapper; |
| | | import plm.oq.objectQuery.common.*; |
| | | |
| | | import java.lang.reflect.Field; |
| | |
| | | clauseList.add("*"); |
| | | } |
| | | setRightValueToQueryTemplate(qt,conditionMap);//设置密级查询,和数据权限控制 |
| | | List<BtmRefQueryOption> refOpts = new ArrayList<BtmRefQueryOption>(); |
| | | List<com.vci.corba.query.data.BtmRefQueryOption> refOpts = new ArrayList<BtmRefQueryOption>(); |
| | | List<String> enumAttrName = new ArrayList<String>(); |
| | | List<String> thisQueryAttr = new ArrayList<String>(); |
| | | if(clauseList!=null && clauseList.size()>0){ |
| | |
| | | |
| | | //设置分页信息和排序 |
| | | setPageAndOrderToQT(qt,ph); |
| | | try { |
| | | QTServiceOperations qtService = platformClientUtil.getQueryService(); |
| | | //try { |
| | | //QTServiceOperations qtService = platformClientUtil.getQueryService(); |
| | | ObjectQueryServicePrx qtService = ServiceProvider.getOQService(); |
| | | if(qtService == null){ |
| | | logger.error("没有找到查询服务"); |
| | | throw new VciBaseException(msgCodePrefix+"qtServerNull", new String[]{}); |
| | | } |
| | | IntHolder count = new IntHolder(); |
| | | BusinessObject[] bos = null; |
| | | ObjectQueryService.FindBTMObjectsV3Result bos = null; |
| | | String invo = JSONObject.toJSONString(InvocationUtility.getInvocation()); |
| | | try{ |
| | | bos = qtService.findBTMObjectsV4(invo,qt.getId(), Tool.qtTOXMl(qt).asXML(),count,refOpts.toArray(new BtmRefQueryOption[0])); |
| | | String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + |
| | | "<Data>\n" + |
| | | " <QueryTemplate id=\"querySubFolder\" type=\"btm\">\n" + |
| | | " <clauseList>querycondition,sequence,folderoid,folderbusinesstype,secretgrade,workcontextoid,checkoutby,revisionrule,hisattrvallist,isfirstv,lastmodifier,description,newattrvallist,oid,revisionid,revisionvalue,isfirstr,id,checkouttime,copyfromversion,owner,creator,checkintime,revisionseq,versionrule,versionvalue,versionseq,checkinby,lcstatus,createtime,lastmodifytime,lctid,name,islastr,nameoid,islastv,btmname,ts</clauseList>\n" + |
| | | " <linkType></linkType>\n" + |
| | | " <btmType>folder</btmType>\n" + |
| | | " <queryChildrenFlag>false</queryChildrenFlag>\n" + |
| | | " <queryISLeaf>false</queryISLeaf>\n" + |
| | | " <rightFlag>false</rightFlag>\n" + |
| | | " <secretFlag>true</secretFlag>\n" + |
| | | " <version>0</version>\n" + |
| | | " <levelRec>-1</levelRec>\n" + |
| | | " <recReturnMode>1</recReturnMode>\n" + |
| | | " <orderInfos>\n" + |
| | | " <orderInfo>\n" + |
| | | " <orderField>sequence</orderField>\n" + |
| | | " <orderMode>ASC</orderMode>\n" + |
| | | " <level>1</level>\n" + |
| | | " </orderInfo>\n" + |
| | | " </orderInfos>\n" + |
| | | " </QueryTemplate>\n" + |
| | | "</Data>"; |
| | | //bos = qtService.findBTMObjectsV3(invo,qt.getId(), Tool.qtTOXMl(qt).asXML(),count,refOpts.toArray(new BtmRefQueryOption[0])); |
| | | bos = qtService.findBTMObjectsV3(qt.getId(), Tool.qtTOXMl(qt).asXML(), refOpts.toArray(new BtmRefQueryOption[0])); |
| | | }catch (VCIError e){ |
| | | bos = qtService.findBTMObjectsV4(invo,qt.getId(), Tool.qtTOXMl(qt).asXML(),count,refOpts.toArray(new BtmRefQueryOption[0])); |
| | | //bos = qtService.findBTMObjectsV4(invo,qt.getId(), Tool.qtTOXMl(qt).asXML(),count,refOpts.toArray(new BtmRefQueryOption[0])); |
| | | } |
| | | |
| | | if (bos != null && bos.length > 0) { |
| | | for (BusinessObject bo : bos) { |
| | | if (bos != null && bos.count > 0) { |
| | | for (com.vci.corba.omd.data.BusinessObject bo : bos.returnValue) { |
| | | ClientBusinessObject cbo = new ClientBusinessObject(); |
| | | cbo.setBusinessObject(bo); |
| | | queryEnumText(cbo,enumAttrName); |
| | | //cbo.setBusinessObject(bo); |
| | | //queryEnumText(cbo,enumAttrName); |
| | | allCbos.add(cbo); |
| | | } |
| | | //因为修改了查询的方式,所以就不需要单独查询参照 |
| | | } |
| | | queryLcStatus(allCbos); |
| | | } catch (VCIError e) { |
| | | // logger.error(e.error_code,e); |
| | | // hrow WebUtil.getVciBaseException(e); |
| | | } |
| | | //queryLcStatus(allCbos); |
| | | //} //catch (VCIError e) { |
| | | // // logger.error(e.error_code,e); |
| | | // // hrow WebUtil.getVciBaseException(e); |
| | | // } |
| | | return allCbos; |
| | | } |
| | | |