You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

114 lines
4.0 KiB
Java

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*
** ${CLASS:enoECMChangeRequest}
**
** Copyright (c) 1993-2020 Dassault Systemes. All Rights Reserved.
*/
import com.dassault_systemes.enovia.enterprisechangemgt.common.ChangeConstants;
import com.matrixone.apps.domain.DomainObject;
import com.matrixone.apps.domain.util.MapList;
import com.matrixone.apps.domain.util.MqlUtil;
import com.matrixone.apps.domain.util.PersonUtil;
import matrix.db.Context;
import matrix.util.StringList;
import java.util.*;
/**
* The <code>enoECMChangeOrder</code> class contains code for the "Change Order" business type.
*
* @version ECM R215 - # Copyright (c) 1992-2020 Dassault Systemes.
*/
public class enoECMChangeRequest_mxJPO extends enoECMChangeRequestBase_mxJPO
{
/**
* Constructor.
*
* @param context the eMatrix <code>Context</code> object.
* @param args holds no arguments.
* @throws Exception if the operation fails.
* @since ECM R215.
*/
public enoECMChangeRequest_mxJPO (Context context, String[] args) throws Exception {
super(context, args);
}
public MapList getMyChangeRequests(Context context, String args[]) throws Exception{
MapList objList = new MapList();
// 获取到user
String user = context.getUser();
//如果user为admin_platform则查询对应的全部CA变更信息并将对应CA的ID返回用于展示
if(user != null && user.equals("admin_platform")){
String getCRValue = "temp query bus 'Change Request' * * select id dump |";
String crInfo = MqlUtil.mqlCommand(context, getCRValue);
System.out.println("123=====>"+getCRValue);
String[] split = crInfo.split("\\n");
if(split.length - 1 != 0)
{
for (String value : split) {
String[] crDetail = value.split("\\|");
String objId = crDetail[3];
Map map =new HashMap();
map.put("id",objId);
objList.add(map);
}
return objList;
}
}
//下面这些代码为系统代码功能为不同的用户只能获取其对应的CR信息不能动。
try{
System.out.println(" inside getMyChangeRequests " );
String objectId = PersonUtil.getPersonObjectID(context);
StringList strCROwned = (StringList)getOwnedCR(context, args);
StringList sRouteCR = getRouteTaskAssignedCRs(context, objectId);
StringList sRouteTemplateCR = getRouteTemplateAssignedCRs(context, objectId);
Set<String> hs = new HashSet();
hs.addAll(strCROwned);
hs.addAll(sRouteCR);
hs.addAll(sRouteTemplateCR);
String[] args1 = new String[hs.size()];
int i=0;
for(String s : hs )
{
args1[i++] = s;
}
StringList objectSelects = new StringList();
objectSelects.add(ChangeConstants.SELECT_ID);
objectSelects.add(ChangeConstants.SELECT_POLICY);
DomainObject domObj = new DomainObject(objectId);
MapList crListwithPolicyInfo = domObj.getInfo(context, args1 , objectSelects);
Iterator itr = crListwithPolicyInfo.iterator();
String id = "";
while(itr.hasNext()){
Map eachCR = (Map)itr.next();
String policy = (String) eachCR.get(SELECT_POLICY);
System.out.println(" policy " + policy);
if(!"".equalsIgnoreCase(policy) && policy.equalsIgnoreCase(ChangeConstants.POLICY_REQUEST_FOR_CHANGE))
objList.add(eachCR);
}
if(objList.size()!=0)
return objList;
else
return new MapList();
}catch (Exception e) {
throw e;
}
}
}