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.
145 lines
7.9 KiB
Java
145 lines
7.9 KiB
Java
/* enoECMChangeReportUX
|
|
*
|
|
** Copyright (c) 1993-2020 Dassault Systemes. All Rights Reserved.
|
|
** This program contains proprietary and trade secret information of
|
|
** Dassault Systemes.
|
|
** Copyright notice is precautionary only and does not evidence any actual
|
|
** or intended publication of such program
|
|
*
|
|
*/
|
|
|
|
import com.dassault_systemes.enovia.changeorder.factory.ChangeOrderFactory;
|
|
import com.dassault_systemes.enovia.changeorder.interfaces.IChangeOrderServices;
|
|
import com.dassault_systemes.enovia.changerequest.factory.ChangeRequestFactory;
|
|
import com.dassault_systemes.enovia.changerequest.interfaces.IChangeRequest;
|
|
import com.dassault_systemes.enovia.changerequest.interfaces.IChangeRequestServices;
|
|
import com.matrixone.apps.domain.DomainObject;
|
|
import com.matrixone.apps.domain.util.*;
|
|
import com.matrixone.apps.framework.ui.UINavigatorUtil;
|
|
import com.matrixone.apps.framework.ui.UIUtil;
|
|
import matrix.db.BusinessObjectWithSelect;
|
|
import matrix.db.Context;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Set;
|
|
import java.util.logging.Logger;
|
|
|
|
public class enoECMChangeReportUX_mxJPO extends enoECMChangeReportUXBase_mxJPO {
|
|
|
|
/**
|
|
* Constructor.
|
|
* @param context the eMatrix <code>Context</code> object.
|
|
* @param args holds no arguments.
|
|
* @throws Exception if the operation fails.
|
|
* @since ECM R421.HF4
|
|
*/
|
|
|
|
private static final Logger LOGGER = Logger.getLogger(enoECMChangeReportUXBase_mxJPO.class.getName());
|
|
|
|
public enoECMChangeReportUX_mxJPO (Context context, String[] args) throws Exception {
|
|
super(context, args);
|
|
}
|
|
|
|
/**
|
|
* Get change actions of Change Request for Summary Report
|
|
*
|
|
* @param context the eMatrix <code>Context</code> object.
|
|
* @param args holds objectId.
|
|
* @return String.
|
|
* @throws Exception If the operation fails.
|
|
*/
|
|
public String getChangeActionsOfChangeRequest(Context context, String[] args) throws Exception {
|
|
StringBuffer sbChangeActions = new StringBuffer();
|
|
try {
|
|
String strLanguage = context.getSession().getLanguage();
|
|
String strChangeRequestId = args[0];
|
|
|
|
DomainObject domChange = DomainObject.newInstance(context, strChangeRequestId);
|
|
|
|
IChangeOrderServices changeOrderFactory = ChangeOrderFactory.createChangeOrderFactory();
|
|
|
|
IChangeRequestServices changeRequestFactory = ChangeRequestFactory.createChangeRequestFactory();
|
|
IChangeRequest iChangeRequest = changeRequestFactory.retrieveChangeRequestFromDatabase(context, domChange);
|
|
|
|
Set<String> caPhysicalIdSet = iChangeRequest.getIndirectImplementingChangeActionIdentifiers(context);
|
|
List<String> caIdList = iChangeRequest.getImplementingChangeActionIdentifiers(context);
|
|
|
|
LOGGER.info("caPhysicalIdSet == >" + caPhysicalIdSet);
|
|
LOGGER.info("caIdList == >" + caIdList);
|
|
|
|
List<String> lsChangeActionId = new ArrayList<>();
|
|
|
|
if(!caIdList.isEmpty()){
|
|
for (String caId : caIdList){
|
|
lsChangeActionId.add(caId);
|
|
}
|
|
}
|
|
|
|
if(!caPhysicalIdSet.isEmpty()){
|
|
for(String caPhysicalId : caPhysicalIdSet){
|
|
String getCaId = "temp query bus * * * where 'physicalId == " + caPhysicalId + "' select id dump | ";
|
|
String caIdInfo = MqlUtil.mqlCommand(context, getCaId);
|
|
String caId = caIdInfo.split("\\|")[3];
|
|
|
|
if(lsChangeActionId.isEmpty() || !lsChangeActionId.contains(caId)){
|
|
lsChangeActionId.add(caId);
|
|
}
|
|
}
|
|
}
|
|
|
|
LOGGER.info("lsChangeActionId == >" + lsChangeActionId);
|
|
|
|
List<IChangeOrderServices.ChangeIdCardENUM> changeIdCardSelectables = new ArrayList<IChangeOrderServices.ChangeIdCardENUM>();
|
|
changeIdCardSelectables.add(IChangeOrderServices.ChangeIdCardENUM.NAMESELECTABLE);
|
|
changeIdCardSelectables.add(IChangeOrderServices.ChangeIdCardENUM.TYPESELECTABLE);
|
|
changeIdCardSelectables.add(IChangeOrderServices.ChangeIdCardENUM.POLICYSELECTABLE);
|
|
changeIdCardSelectables.add(IChangeOrderServices.ChangeIdCardENUM.OWNERSELECTABLE);
|
|
changeIdCardSelectables.add(IChangeOrderServices.ChangeIdCardENUM.CURRENTSELECTABLE);
|
|
changeIdCardSelectables.add(IChangeOrderServices.ChangeIdCardENUM.CATITLESELECTABLE);
|
|
|
|
Map<String, BusinessObjectWithSelect> mpChangeInfo = changeOrderFactory.getChangeIdCard(context, lsChangeActionId, changeIdCardSelectables);
|
|
|
|
sbChangeActions.append("<table width=\"100%\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\" >");
|
|
sbChangeActions.append("<tr>");
|
|
sbChangeActions.append("<th>" + EnoviaResourceBundle.getProperty(context, "emxEnterpriseChangeMgtStringResource", context.getLocale(), "EnterpriseChangeMgt.Label.NAME") + "</th>");
|
|
sbChangeActions.append("<th>" + EnoviaResourceBundle.getProperty(context, "emxEnterpriseChangeMgtStringResource", context.getLocale(), "EnterpriseChangeMgt.Label.Title") + "</th>");
|
|
sbChangeActions.append("<th>" + EnoviaResourceBundle.getProperty(context, "emxEnterpriseChangeMgtStringResource", context.getLocale(), "EnterpriseChangeMgt.Label.OWNER") + "</th>");
|
|
sbChangeActions.append("<th>" + EnoviaResourceBundle.getProperty(context, "emxEnterpriseChangeMgtStringResource", context.getLocale(), "EnterpriseChangeMgt.Common.State") + "</th>");
|
|
sbChangeActions.append("</tr>");
|
|
|
|
Set<String> setMpChangeKeys = mpChangeInfo.keySet();
|
|
for(String key : setMpChangeKeys) {
|
|
BusinessObjectWithSelect busSelectData = (BusinessObjectWithSelect) mpChangeInfo.get(key);
|
|
String strType = busSelectData.getSelectData(IChangeOrderServices.ChangeIdCardENUM.TYPESELECTABLE.toString());
|
|
String strName = busSelectData.getSelectData(IChangeOrderServices.ChangeIdCardENUM.NAMESELECTABLE.toString());
|
|
String strPolicy = busSelectData.getSelectData(IChangeOrderServices.ChangeIdCardENUM.POLICYSELECTABLE.toString());
|
|
String strCurrent = busSelectData.getSelectData(IChangeOrderServices.ChangeIdCardENUM.CURRENTSELECTABLE.toString());
|
|
String strTitle = busSelectData.getSelectData(IChangeOrderServices.ChangeIdCardENUM.CATITLESELECTABLE.toString());
|
|
String strOwner= busSelectData.getSelectData(IChangeOrderServices.ChangeIdCardENUM.OWNERSELECTABLE.toString());
|
|
String strOwnerFullName = PersonUtil.getFullName(context, strOwner);
|
|
|
|
String imgChangeActionType = UINavigatorUtil.getTypeIconProperty(context, strType);
|
|
if (UIUtil.isNullOrEmpty(imgChangeActionType)) {
|
|
imgChangeActionType = "iconSmallDefault.gif";
|
|
}
|
|
|
|
sbChangeActions.append("<tr>");
|
|
sbChangeActions.append("<td><img src=\"../common/images/" + imgChangeActionType + "\" border=\"0\" alt=\"*\"> " + XSSUtil.encodeForHTML(context, strName) + " </td>");
|
|
sbChangeActions.append("<td>" + XSSUtil.encodeForHTML(context, strTitle) + " </td>");
|
|
sbChangeActions.append("<td>" + XSSUtil.encodeForHTML(context, strOwnerFullName) + " </td>");
|
|
sbChangeActions.append("<td>" + i18nNow.getStateI18NString(strPolicy, strCurrent, strLanguage) + " </td>");
|
|
sbChangeActions.append("</tr>");
|
|
}
|
|
if (lsChangeActionId.size() == 0) {
|
|
sbChangeActions.append("<tr><td colspan=\"5\">" + EnoviaResourceBundle.getProperty(context, "emxEnterpriseChangeMgtStringResource", context.getLocale(), "EnterpriseChangeMgt.Change.NoChangeActionConnected") + "</td></tr>");
|
|
}
|
|
} catch (FrameworkException Ex) {
|
|
throw Ex;
|
|
}
|
|
sbChangeActions.append("</table>");
|
|
return sbChangeActions.toString();
|
|
}
|
|
}
|