田源
2024-04-10 1bd4203a391832f1f1217e08753b4ed570db3f3d
Source/platformProject/vci-platform-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
@@ -5,11 +5,13 @@
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;
@@ -25,7 +27,7 @@
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;
@@ -37,10 +39,8 @@
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;
@@ -568,7 +568,7 @@
         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){
@@ -615,24 +615,27 @@
      //设置分页信息和排序
      setPageAndOrderToQT(qt,ph);
      try {
         QTServiceOperations qtService = platformClientUtil.getQueryService();
         // 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]));
            //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]));
            bos = qtService.findBTMObjectsV3(qt.getId(), Tool.qtTOXMl(qt).asXML(), 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);
               BusinessObject businessObject = Func.copyProperties(bo, BusinessObject.class);
               cbo.setBusinessObject(businessObject);
               queryEnumText(cbo,enumAttrName);
               allCbos.add(cbo);
            }
@@ -640,8 +643,8 @@
         }
         queryLcStatus(allCbos);
      } catch (VCIError e) {
      // logger.error(e.error_code,e);
      // hrow WebUtil.getVciBaseException(e);
         //logger.error(e.error_code,e);
         throw WebUtil.getVciBaseException(e);
      }
      return allCbos;
   }