ludc
2024-12-04 e405b861b9521f5ea38c5402203a5b05988f9de2
Source/plt-web/plt-web-parent/plt-web-permission/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java
ÎļþÃû´Ó Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebLoServiceImpl.java ÐÞ¸Ä
@@ -12,6 +12,7 @@
import com.vci.corba.query.ObjectQueryService;
import com.vci.corba.query.data.BOAndLO;
import com.vci.omd.utils.ObjectTool;
import com.vci.query.UILinkTypeDataQuery;
import com.vci.starter.web.constant.QueryOptionConstant;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
@@ -19,7 +20,6 @@
import com.vci.starter.web.util.VciBaseUtil;
import com.vci.starter.web.util.VciDateUtil;
import com.vci.web.properties.WebProperties;
import com.vci.web.query.UILinkTypeDataQuery;
import com.vci.web.service.WebBoServiceI;
import com.vci.web.service.WebLoServiceI;
import com.vci.web.util.PlatformClientUtil;
@@ -42,21 +42,22 @@
 */
@Service
public class WebLoServiceImpl implements WebLoServiceI {
   /**
    * æ—¥å¿—对象
    */
   private Logger logger = LoggerFactory.getLogger(getClass());
   /**
    * å¤šè¯­è¨€å‰ç¼€
    */
   private final String msgCodePrefix = "com.vci.web.loService.";
   /**
    * æ—¥å¿—对象
    */
   private Logger logger = LoggerFactory.getLogger(getClass());
   @Autowired
   private WebBoServiceI boService;
   /**
    *
    */
   @Autowired
   private WebProperties webProperties;
@@ -75,24 +76,17 @@
      LO_BASE_FIELD_MAP.put("oid","oid");
      LO_BASE_FIELD_MAP.put("creator","creator");
      LO_BASE_FIELD_MAP.put("createTime","createTime");
      //LO_BASE_FIELD_MAP.put("lastModifier","lastModifier");
      //LO_BASE_FIELD_MAP.put("lastModifyTime","lastModifyTime");
      LO_BASE_FIELD_MAP.put("modifier","lastModifier");
      LO_BASE_FIELD_MAP.put("modifyTime","lastModifyTime");
      LO_BASE_FIELD_MAP.put("fromOid","f_oid");
      //LO_BASE_FIELD_MAP.put("fromRevisionOid","f_revisionoid");
      LO_BASE_FIELD_MAP.put("fromRevOid","f_revisionoid");
      LO_BASE_FIELD_MAP.put("fromNameOid","f_nameoid");
      //LO_BASE_FIELD_MAP.put("fromBTMName","f_btwname");
      LO_BASE_FIELD_MAP.put("fromBTName","f_btwname");
      //LO_BASE_FIELD_MAP.put("toRevisionOid","t_revisionoid");
      LO_BASE_FIELD_MAP.put("toRevOid","t_revisionoid");
      LO_BASE_FIELD_MAP.put("toNameOid","t_nameoid");
      //LO_BASE_FIELD_MAP.put("toBTMName","t_btwname");
      LO_BASE_FIELD_MAP.put("toBTName","t_btwname");
      LO_BASE_FIELD_MAP.put("toOid","t_oid");
      LO_BASE_FIELD_MAP.put("ts","ts");
      //LO_BASE_FIELD_MAP.put("linkTypeName","linkTypeName");
      LO_BASE_FIELD_MAP.put("ltName","linkTypeName");
   }
@@ -170,7 +164,7 @@
            String[] sort = ph.getSort().split(",");
            String[] order = ph.getOrder().split(",");
            if(sort.length != order.length){
               throw new VciBaseException(msgCodePrefix + ".sortlengtherror",new Object[]{sort.length,order.length});
               throw new VciBaseException(msgCodePrefix + "sortLengthError",new Object[]{sort.length,order.length});
            }
            List<OrderInfo> orderInfoList = new ArrayList<OrderInfo>();
            for(int i = 0 ; i < sort.length ;i++){
@@ -249,24 +243,12 @@
            }
            return rtnOBJs;
         }
      } catch (PLException e) {
//         logger.error(e.error_code,e);
//         throw WebUtil.getVciBaseException(e);
      } catch (Exception e) {
         logger.error("查询连接类型失败:",e);
         throw new VciBaseException("查询链接类型失败:", new Object[]{}, e);
      }
      return rtnOBJs;
   }
//
//   @Override
//   public Map<String, BusinessObject> queryLinkedCbo(LinkObject[] lo,
//         boolean isDirection) throws VciBaseException {
//        LinkObject[] clos = new LinkObject[lo.length];
//        for(int i =0 ; i < lo.length; i ++){
//           LinkObject clo = new LinkObject();
//           clo = lo[i];
//           clos[i] = clo;
//        }
//        return queryLinkedCbo(clos,isDirection);
//   }
   @Override
   public Map<String, BusinessObject> queryLinkedCbo(List los,
@@ -457,7 +439,7 @@
      WebUtil.alertNotNull(loName,"链接");
      return null;
      //todo åœ¨å¹³å°é‡Œé¢éœ€è¦ä¼ å…¥å¯¹è±¡ï¼ŒçŽ°åœ¨æ˜¯å­—ç¬¦ä¸²ï¼Œéœ€è¦çœ‹å¹³å°å¦‚ä½•å¤„ç†
//         return loOperation.createLinkObject(loName,WebUtil.getCurrentUserId());
      //return loOperation.createLinkObject(loName,WebUtil.getCurrentUserId());
   }
   /**
@@ -528,7 +510,7 @@
    * @return é“¾æŽ¥ç±»åž‹å’Œå…³è”çš„to端
    */
   @Override
   public List<com.vci.corba.query.data.BOAndLO> queryCLOAndBOBySchema(UILinkTypeDataQuery linkTypeDataQuery) {
   public List<BOAndLO> queryCLOAndBOBySchema(UILinkTypeDataQuery linkTypeDataQuery) {
      VciBaseUtil.alertNotNull(linkTypeDataQuery,"链接类型查询对象",linkTypeDataQuery.getQueryTemplateName(),"查询模板的名称");
      QueryTemplate qt = boService.getQtByName(linkTypeDataQuery.getQueryTemplateName(),linkTypeDataQuery.getReplaceMap());
      return queryCLOAndBOByQueryTemplate(qt,linkTypeDataQuery);
@@ -540,7 +522,7 @@
    * @param linkTypeDataQuery é“¾æŽ¥ç±»åž‹çš„æŸ¥è¯¢å¯¹è±¡
    * @return é“¾æŽ¥ç±»åž‹å’Œä¸šåŠ¡ç±»åž‹
    */
   private List<com.vci.corba.query.data.BOAndLO> queryCLOAndBOByQueryTemplate(QueryTemplate qt,UILinkTypeDataQuery linkTypeDataQuery){
   private List<BOAndLO> queryCLOAndBOByQueryTemplate(QueryTemplate qt,UILinkTypeDataQuery linkTypeDataQuery){
      if(StringUtils.isNotBlank(linkTypeDataQuery.getToBtmType()) && StringUtils.isBlank(qt.getBtmType())) {
         qt.setBtmType(linkTypeDataQuery.getToBtmType());
      }
@@ -588,7 +570,7 @@
      }
      boService.setPageAndOrderToQT(qt,linkTypeDataQuery.getPageHelper());
      try {
         com.vci.corba.query.data.BOAndLO[] bos = platformClientUtil.getQueryService().getBOAndLOS(qt.getId(), OQTool.qtTOXMl(qt).asXML(),linkTypeDataQuery.getParentOid()==null?"":linkTypeDataQuery.getParentOid());
         BOAndLO[] bos = platformClientUtil.getQueryService().getBOAndLOS(qt.getId(), OQTool.qtTOXMl(qt).asXML(),linkTypeDataQuery.getParentOid()==null?"":linkTypeDataQuery.getParentOid());
         return Arrays.stream(bos).collect(Collectors.toList());
      } catch (PLException e) {
//         logger.error(e.error_code,e);
@@ -602,7 +584,7 @@
    * @return é“¾æŽ¥å¯¹è±¡å’Œto端业务对象
    */
   @Override
   public List<com.vci.corba.query.data.BOAndLO> queryCLOAndBoByLinkType(UILinkTypeDataQuery linkTypeDataQuery){
   public List<BOAndLO> queryCLOAndBoByLinkType(UILinkTypeDataQuery linkTypeDataQuery){
      VciBaseUtil.alertNotNull(linkTypeDataQuery,"链接类型查询对象",linkTypeDataQuery.getLinkType(),"链接类型的名称");
      QueryTemplate qt = null;
      if(StringUtils.isBlank(linkTypeDataQuery.getQueryTemplateName())){
@@ -831,4 +813,48 @@
      }
   }
   /**
    * é“¾æŽ¥ç±»åž‹
    *
    * @param clo            é“¾æŽ¥ç±»åž‹
    * @param attributeName  å±žæ€§åç§°
    * @param attributeValue å±žæ€§çš„值
    */
   @Override
   public void setAttribute(LinkObject clo, String attributeName, String attributeValue) {
      AttributeValue[] attrValues = clo.newAttrValList;
      ArrayList<AttributeValue> attrValList = new ArrayList();
      AttributeValue attrVal;
      int i;
      if (attrValues != null && attrValues.length > 0) {
         AttributeValue[] var9 = attrValues;
         i = attrValues.length;
         for(int var7 = 0; var7 < i; ++var7) {
            attrVal = var9[var7];
            attrValList.add(attrVal);
         }
      }
      attrVal = null;
      boolean isExist = false;
      for(i = 0; i < attrValList.size(); ++i) {
         attrVal = attrValList.get(i);
         if (attrVal.attrName.toUpperCase().equals(attributeName.toUpperCase())) {
            attrVal.attrVal = attributeValue;
            isExist = true;
            break;
         }
      }
      if (!isExist) {
         attrVal = new AttributeValue();
         attrVal.attrName = attributeName.toUpperCase();
         attrVal.attrVal = attributeValue;
         attrValList.add(attrVal);
      }
      clo.newAttrValList = attrValList.toArray(new AttributeValue[attrValList.size()]);
   }
}