Commit fc3b9416 authored by hanson.yao's avatar hanson.yao

convert wtPart

parent 83f34268
......@@ -3,6 +3,7 @@ package com.yonde.common;
import com.ptc.core.meta.common.TypeIdentifier;
import com.ptc.core.meta.common.TypeIdentifierHelper;
import com.ptc.windchill.enterprise.copy.server.CoreMetaUtility;
import com.yonde.part.vo.DxPart;
import org.apache.log4j.Logger;
import wt.fc.*;
import wt.fc.collections.WTValuedHashMap;
......@@ -12,9 +13,11 @@ import wt.inf.container.WTContainerRef;
import wt.log4j.LogR;
import wt.method.RemoteAccess;
import wt.method.RemoteMethodServer;
import wt.org.WTUser;
import wt.part.*;
import wt.query.QuerySpec;
import wt.query.SearchCondition;
import wt.session.SessionHelper;
import wt.session.SessionServerHelper;
import wt.type.TypedUtility;
import wt.util.WTException;
......@@ -28,6 +31,7 @@ import java.lang.reflect.InvocationTargetException;
import java.rmi.RemoteException;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.Locale;
public class PartUtil implements RemoteAccess, Serializable {
private static Logger logger = LogR.getLogger(PartUtil.class.getName());
......@@ -40,12 +44,12 @@ public class PartUtil implements RemoteAccess, Serializable {
public static String FOLDER = "FOLDER";
public static WTPart getPartByNumber(String number, boolean accessControlled) throws WTException {
WTPart part = null;
public static DxPart getPartByNumber(String number, boolean accessControlled) throws WTException {
DxPart dxPart = new DxPart();
try {
number = number.toUpperCase();
if (!RemoteMethodServer.ServerFlag) {
return (WTPart) RemoteMethodServer.getDefault().invoke("getPartByNumber", PartUtil.class.getName(), null, new Class[]{String.class, boolean.class}, new Object[]{number, accessControlled});
return (DxPart) RemoteMethodServer.getDefault().invoke("getPartByNumber", PartUtil.class.getName(), null, new Class[]{String.class, boolean.class}, new Object[]{number, accessControlled});
} else {
boolean enforce = SessionServerHelper.manager.setAccessEnforced(accessControlled);
try {
......@@ -59,7 +63,39 @@ public class PartUtil implements RemoteAccess, Serializable {
partMaster = (WTPartMaster) queryResult.nextElement();
QueryResult queryResult2 = VersionControlHelper.service.allVersionsOf(partMaster);
if (queryResult2.hasMoreElements()) {
part = (WTPart) queryResult2.nextElement();
System.out.println("wt part find end start convert to dxPart");
WTPart wtPart = (WTPart) queryResult2.nextElement();
dxPart.setAuthKeys("");
dxPart.setOperator("");
dxPart.setName(wtPart.getName());
dxPart.setNumber(wtPart.getNumber());
dxPart.setId(PartUtil.getWTObjectOid(wtPart));
dxPart.setState(wtPart.getState().getState().getDisplay(Locale.CHINA));
dxPart.setSubTypeName(PartUtil.getWTObjectSubType(wtPart).getTypename());
System.out.println("------888");
dxPart.setDefaultUnit(wtPart.getDefaultUnit().getDisplay(Locale.CHINESE));
dxPart.setSubTypeDisplayName(wtPart.getDisplayIdentity().getDisplayType().getLocalizedMessage(Locale.CHINESE));
System.out.println("------999");
dxPart.setMasterId(new ReferenceFactory().getReferenceString(ObjectReference.newObjectReference((wtPart.getMaster().getPersistInfo().getObjectIdentifier()))));
System.out.println("------1");
//RemoteMethodServer aa = RemoteMethodServer.getDefault();
//aa.setUserName("wcadmin");
//aa.setPassword("wcadmin");
//System.out.println("------2");
System.out.println(SessionHelper.manager.getPrincipal());
System.out.println("------3");
System.out.println(SessionHelper.getPrincipal());
WTUser create = (WTUser) (wtPart.getCreator().getObject());
String creator = String.format("%s(%s)", create.getFullName(), create.getName());
WTUser modify = (WTUser) (wtPart.getModifier().getObject());
String modifier = String.format("%s(%s)", modify.getFullName(), modify.getName());
dxPart.setCreator(creator);
dxPart.setModifier(modifier);
}
}
} finally {
......@@ -71,8 +107,8 @@ public class PartUtil implements RemoteAccess, Serializable {
} catch (InvocationTargetException e) {
e.printStackTrace();
}
System.out.println("part====" + part);
return part;
System.out.println("dxPart====" + dxPart);
return dxPart;
}
public static WTPart getPartByNumberAndView(String number, String viewStr, boolean accessControlled) throws WTException {
......
package com.yonde.part.controller;
import com.yonde.part.service.PartService;
import com.yonde.part.service.impl.PartServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RestController;
public class DxPartController {
@Autowired
PartService partService;
PartServiceImpl partService;
@GetMapping(value = "/search")
public Object getPartByNumber(@RequestParam String number) throws Exception {
......
package com.yonde.part.convert;
import wt.fc.Persistable;
import wt.util.WTException;
/**
* Created on 2022/12/14
*
* @author
*/
public interface ConvertStrategy {
Object convert(Persistable persistable) throws WTException;
}
package com.yonde.part.convert;
import org.apache.log4j.Logger;
import wt.fc.Persistable;
import wt.log4j.LogR;
/**
* Created on 2022/12/14
*
* @author
*/
public class DxConvertFactory {
private static Logger logger = LogR.getLogger(DxConvertFactory.class.getName());
public static Object convertFactory(DxTypeEnum dxTypeEnum, Persistable persistable) throws Exception {
ConvertStrategy strategy = (ConvertStrategy) Class.forName(dxTypeEnum.getClassName()).newInstance();
return strategy.convert(persistable);
}
}
package com.yonde.part.convert;
import wt.fc.Persistable;
/**
* Created on 2022/12/15
*
* @author
*/
public class DxDocumentConvert implements ConvertStrategy {
@Override
public Object convert(Persistable persistable) {
System.out.println("DxDocumentConvert start ....");
return null;
}
}
package com.yonde.part.convert;
import com.ptc.core.meta.common.TypeIdentifier;
import com.yonde.common.PartUtil;
import com.yonde.part.vo.DxPart;
import wt.fc.ObjectReference;
import wt.fc.Persistable;
import wt.fc.ReferenceFactory;
import wt.part.WTPart;
import wt.util.WTException;
import java.util.Locale;
/**
* Created on 2022/12/14
*
* @author
*/
public class DxPartConvert implements ConvertStrategy {
@Override
public Object convert(Persistable persistable) throws WTException {
System.out.println("DxPartConvert start ....");
DxPart dxPart = null;
if (persistable instanceof WTPart) {
dxPart = new DxPart();
WTPart wtPart = (WTPart) persistable;
dxPart.setAuthKeys("");
dxPart.setId(PartUtil.getWTObjectOid(wtPart));
TypeIdentifier typeIdentifier = PartUtil.getWTObjectSubType(wtPart);
dxPart.setSubTypeName(typeIdentifier.getTypename());
dxPart.setOperator("");
dxPart.setDefaultUnit(wtPart.getDefaultUnit().getDisplay(Locale.CHINESE));
dxPart.setName(wtPart.getName());
dxPart.setNumber(wtPart.getNumber());
dxPart.setMasterId(new ReferenceFactory().getReferenceString(ObjectReference.newObjectReference((wtPart.getMaster().getPersistInfo().getObjectIdentifier()))));
//dxPart.setSubTypeDisplayName(wtPart.getDisplayIdentity().getDisplayType().getLocalizedMessage(Locale.CHINESE));
dxPart.setState(wtPart.getState().getState().getDisplay(Locale.CHINA));
//WTUser create = (WTUser)(wtPart.getCreator().getObject());
//String creator = String.format("%s(%s)", create.getFullName(), create.getName());
//WTUser modify = (WTUser)(wtPart.getModifier().getObject());
//String modifier = String.format("%s(%s)", modify.getFullName(), modify.getName());
//dxPart.setCreator(creator);
//dxPart.setModifier(modifier);
}
return dxPart;
}
}
package com.yonde.part.convert;
/**
* Created on 2022/12/14
*
* @author
*/
public enum DxTypeEnum {
WTDOCUMENT("com.yonde.part.convert.DxDocConvert"),
WTPART("com.yonde.part.convert.DxPartConvert");
DxTypeEnum(String className) {
this.setClassName(className);
}
private String className;
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
}
package com.yonde.part.service.impl;
import com.yonde.common.PartUtil;
import com.yonde.part.convert.DxConvertFactory;
import com.yonde.part.convert.DxTypeEnum;
import com.yonde.part.service.PartService;
import org.springframework.stereotype.Service;
......@@ -15,6 +13,6 @@ import org.springframework.stereotype.Service;
public class PartServiceImpl implements PartService {
@Override
public Object getPartByNumber(String number) throws Exception {
return DxConvertFactory.convertFactory(DxTypeEnum.WTPART,PartUtil.getPartByNumber(number, false));
return PartUtil.getPartByNumber(number, false);
}
}
......@@ -3,6 +3,7 @@ package com.yonde.part.vo;
import org.apache.log4j.Logger;
import wt.log4j.LogR;
import java.io.Serializable;
import java.util.Map;
/**
......@@ -10,7 +11,7 @@ import java.util.Map;
*
* @author
*/
public class DxPart {
public class DxPart implements Serializable {
private static Logger logger = LogR.getLogger(DxPart.class.getName());
private String authKeys;
......@@ -461,5 +462,56 @@ public class DxPart {
}
}
@Override
public String toString() {
return "DxPart{" +
"authKeys='" + authKeys + '\'' +
", dxClassname='" + dxClassname + '\'' +
", entityPropHolder=" + entityPropHolder +
", id='" + id + '\'' +
", subTypeName='" + subTypeName + '\'' +
", subTypeDisplayName='" + subTypeDisplayName + '\'' +
", operator='" + operator + '\'' +
", dynamicAttrs=" + dynamicAttrs +
", objOrgId='" + objOrgId + '\'' +
", upperPart=" + upperPart +
", buildRules='" + buildRules + '\'' +
", viewId='" + viewId + '\'' +
", defaultUnit='" + defaultUnit + '\'' +
", endItem=" + endItem +
", endless='" + endless + '\'' +
", isLeaf='" + isLeaf + '\'' +
", number='" + number + '\'' +
", name='" + name + '\'' +
", state='" + state + '\'' +
", version='" + version + '\'' +
", lockerId='" + lockerId + '\'' +
", lockDate='" + lockDate + '\'' +
", originId='" + originId + '\'' +
", lockNote='" + lockNote + '\'' +
", note='" + note + '\'' +
", origin='" + origin + '\'' +
", lifecycleTemplateId='" + lifecycleTemplateId + '\'' +
", displayVersion='" + displayVersion + '\'' +
", dxContextId='" + dxContextId + '\'' +
", locker='" + locker + '\'' +
", dxContext='" + dxContext + '\'' +
", modifyTime='" + modifyTime + '\'' +
", createTime='" + createTime + '\'' +
", creatorId='" + creatorId + '\'' +
", modifierId='" + modifierId + '\'' +
", iterationId='" + iterationId + '\'' +
", latest=" + latest +
", checkOuted=" + checkOuted +
", predecessor='" + predecessor + '\'' +
", versionId='" + versionId + '\'' +
", masterId='" + masterId + '\'' +
", versionKey='" + versionKey + '\'' +
", sandboxId='" + sandboxId + '\'' +
", secretCode='" + secretCode + '\'' +
", dxViewId='" + dxViewId + '\'' +
", creator='" + creator + '\'' +
", modifier='" + modifier + '\'' +
'}';
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment