Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
B
BasicAPI
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杜科
BasicAPI
Commits
1c3228eb
Commit
1c3228eb
authored
Dec 21, 2022
by
hanson.yao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
convert wtPart
parent
b9cc5ffb
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
126 additions
and
560 deletions
+126
-560
DemoUtil.java
src/com/yonde/common/DemoUtil.java
+0
-68
PartUtil.java
src/com/yonde/common/PartUtil.java
+23
-82
DxPartController.java
src/com/yonde/part/controller/DxPartController.java
+0
-21
PartController.java
src/com/yonde/part/controller/PartController.java
+6
-6
PartService.java
src/com/yonde/part/service/PartService.java
+70
-2
DemoService.java
src/com/yonde/part/service/impl/DemoService.java
+0
-32
PartServiceImpl.java
src/com/yonde/part/service/impl/PartServiceImpl.java
+0
-18
DxPart.java
src/com/yonde/part/vo/DxPart.java
+27
-331
No files found.
src/com/yonde/common/DemoUtil.java
deleted
100644 → 0
View file @
b9cc5ffb
package
com
.
yonde
.
common
;
import
wt.fc.PersistenceHelper
;
import
wt.fc.QueryResult
;
import
wt.method.RemoteAccess
;
import
wt.method.RemoteMethodServer
;
import
wt.part.WTPart
;
import
wt.query.QuerySpec
;
import
wt.query.SearchCondition
;
import
wt.session.SessionServerHelper
;
import
wt.util.WTException
;
import
wt.vc.views.View
;
import
wt.vc.views.ViewHelper
;
import
wt.vc.views.ViewReference
;
import
java.lang.reflect.InvocationTargetException
;
import
java.rmi.RemoteException
;
public
class
DemoUtil
implements
RemoteAccess
{
public
static
WTPart
getPartByNumberAndView
(
String
number
,
String
viewStr
,
boolean
accessControlled
)
throws
WTException
{
WTPart
part
=
null
;
try
{
number
=
number
.
toUpperCase
();
if
(!
RemoteMethodServer
.
ServerFlag
)
{
return
(
WTPart
)
RemoteMethodServer
.
getDefault
().
invoke
(
"getPartByNumberAndView"
,
DemoUtil
.
class
.
getName
(),
null
,
new
Class
[]{
String
.
class
,
String
.
class
,
boolean
.
class
},
new
Object
[]{
number
,
viewStr
,
accessControlled
});
}
else
{
boolean
enforce
=
SessionServerHelper
.
manager
.
setAccessEnforced
(
accessControlled
);
try
{
QuerySpec
querySpec
=
new
QuerySpec
(
WTPart
.
class
);
SearchCondition
searchCondition
=
new
SearchCondition
(
WTPart
.
class
,
WTPart
.
NUMBER
,
SearchCondition
.
LIKE
,
number
.
toUpperCase
(),
false
);
querySpec
.
appendWhere
(
searchCondition
,
new
int
[]{
0
});
querySpec
.
appendAnd
();
querySpec
.
appendWhere
(
new
SearchCondition
(
WTPart
.
class
,
WTPart
.
LATEST_ITERATION
,
SearchCondition
.
IS_TRUE
),
new
int
[]{
0
});
querySpec
.
appendAnd
();
querySpec
.
appendOpenParen
();
View
view
=
ViewHelper
.
service
.
getView
(
viewStr
);
querySpec
.
appendWhere
(
new
SearchCondition
(
WTPart
.
class
,
WTPart
.
VIEW
+
"."
+
ViewReference
.
KEY
,
SearchCondition
.
EQUAL
,
PersistenceHelper
.
getObjectIdentifier
(
view
)),
new
int
[]{
0
});
querySpec
.
appendOr
();
querySpec
.
appendWhere
(
new
SearchCondition
(
WTPart
.
class
,
WTPart
.
VIEW
,
true
),
new
int
[]{
0
});
querySpec
.
appendCloseParen
();
QueryResult
queryResult
=
PersistenceHelper
.
manager
.
find
(
querySpec
);
if
(
queryResult
.
hasMoreElements
())
{
part
=
(
WTPart
)
queryResult
.
nextElement
();
}
if
(
part
!=
null
){
System
.
out
.
println
(
"--------Part info-----"
);
System
.
out
.
println
(
"----partNumber-----"
+
part
.
getNumber
());
System
.
out
.
println
(
"----creatorName-----"
+
part
.
getCreatorName
());
System
.
out
.
println
(
"----------------------"
);
}
}
finally
{
SessionServerHelper
.
manager
.
setAccessEnforced
(
enforce
);
}
}
}
catch
(
RemoteException
e
)
{
e
.
printStackTrace
();
}
catch
(
InvocationTargetException
e
)
{
e
.
printStackTrace
();
}
return
part
;
}
}
src/com/yonde/common/PartUtil.java
View file @
1c3228eb
...
...
@@ -3,7 +3,6 @@ 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
;
...
...
@@ -13,11 +12,12 @@ 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.part.PartType
;
import
wt.part.QuantityUnit
;
import
wt.part.Source
;
import
wt.part.WTPart
;
import
wt.query.QuerySpec
;
import
wt.query.SearchCondition
;
import
wt.session.SessionHelper
;
import
wt.session.SessionServerHelper
;
import
wt.type.TypedUtility
;
import
wt.util.WTException
;
...
...
@@ -26,14 +26,12 @@ import wt.vc.views.View;
import
wt.vc.views.ViewHelper
;
import
wt.vc.views.ViewReference
;
import
java.io.Serializable
;
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
{
public
class
PartUtil
implements
RemoteAccess
{
private
static
Logger
logger
=
LogR
.
getLogger
(
PartUtil
.
class
.
getName
());
private
static
final
ReferenceFactory
RF
=
new
ReferenceFactory
();
...
...
@@ -44,73 +42,6 @@ public class PartUtil implements RemoteAccess, Serializable {
public
static
String
FOLDER
=
"FOLDER"
;
public
static
DxPart
getPartByNumber
(
String
number
,
boolean
accessControlled
)
throws
WTException
{
DxPart
dxPart
=
new
DxPart
();
try
{
number
=
number
.
toUpperCase
();
if
(!
RemoteMethodServer
.
ServerFlag
)
{
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
{
WTPartMaster
partMaster
=
null
;
QuerySpec
querySpec
=
new
QuerySpec
(
WTPartMaster
.
class
);
SearchCondition
searchCondition
=
new
SearchCondition
(
WTPartMaster
.
class
,
WTPartMaster
.
NUMBER
,
SearchCondition
.
EQUAL
,
number
,
false
);
querySpec
.
appendSearchCondition
(
searchCondition
);
QueryResult
queryResult
=
PersistenceHelper
.
manager
.
find
(
querySpec
);
while
(
queryResult
.
hasMoreElements
())
{
partMaster
=
(
WTPartMaster
)
queryResult
.
nextElement
();
QueryResult
queryResult2
=
VersionControlHelper
.
service
.
allVersionsOf
(
partMaster
);
if
(
queryResult2
.
hasMoreElements
())
{
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
{
SessionServerHelper
.
manager
.
setAccessEnforced
(
enforce
);
}
}
}
catch
(
RemoteException
e
)
{
e
.
printStackTrace
();
}
catch
(
InvocationTargetException
e
)
{
e
.
printStackTrace
();
}
System
.
out
.
println
(
"dxPart===="
+
dxPart
);
return
dxPart
;
}
public
static
WTPart
getPartByNumberAndView
(
String
number
,
String
viewStr
,
boolean
accessControlled
)
throws
WTException
{
WTPart
part
=
null
;
try
{
...
...
@@ -139,18 +70,28 @@ public class PartUtil implements RemoteAccess, Serializable {
if
(
queryResult
.
hasMoreElements
())
{
part
=
(
WTPart
)
queryResult
.
nextElement
();
}
if
(
part
!=
null
){
System
.
out
.
println
(
"--------Part info-----"
);
System
.
out
.
println
(
"----partNumber-----"
+
part
.
getNumber
());
System
.
out
.
println
(
"----creatorName-----"
+
part
.
getCreatorName
());
System
.
out
.
println
(
"----------------------"
);
}
}
finally
{
SessionServerHelper
.
manager
.
setAccessEnforced
(
enforce
);
}
}
}
catch
(
RemoteException
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
e
.
printStackTrace
(
);
}
catch
(
InvocationTargetException
e
)
{
logger
.
error
(
e
.
getMessage
(),
e
);
e
.
printStackTrace
(
);
}
return
part
;
}
public
static
WTPart
createPart
(
String
number
,
String
name
,
HashMap
attributes
,
WTContainerRef
containerRef
)
{
try
{
if
(!
RemoteMethodServer
.
ServerFlag
)
{
...
...
@@ -201,7 +142,7 @@ public class PartUtil implements RemoteAccess, Serializable {
part_source
=
Source
.
toSource
(
partSource
);
}
}
catch
(
Exception
e
)
{
// TODO: handle exception
e
.
printStackTrace
();
part_source
=
Source
.
MAKE
;
}
...
...
@@ -214,7 +155,7 @@ public class PartUtil implements RemoteAccess, Serializable {
part_assembly
=
PartType
.
toPartType
(
partAssembly
);
}
}
catch
(
Exception
e
)
{
// TODO: handle exception
e
.
printStackTrace
();
part_assembly
=
PartType
.
SEPARABLE
;
}
...
...
@@ -227,7 +168,7 @@ public class PartUtil implements RemoteAccess, Serializable {
part_view
=
ViewHelper
.
service
.
getView
(
partView
);
}
}
catch
(
Exception
e
)
{
// TODO: handle exception
e
.
printStackTrace
();
part_view
=
ViewHelper
.
service
.
getView
(
"Design"
);
}
...
...
@@ -279,7 +220,7 @@ public class PartUtil implements RemoteAccess, Serializable {
part
=
(
WTPart
)
PersistenceHelper
.
manager
.
save
(
part
);
part
=
(
WTPart
)
PersistenceHelper
.
manager
.
refresh
(
part
);
}
catch
(
Exception
e
)
{
// TODO: handle exception
e
.
printStackTrace
();
}
...
...
@@ -333,7 +274,7 @@ public class PartUtil implements RemoteAccess, Serializable {
}
}
}
catch
(
Exception
e
)
{
// TODO: handle exception
e
.
printStackTrace
();
}
finally
{
SessionServerHelper
.
manager
.
setAccessEnforced
(
enforce
);
...
...
@@ -365,7 +306,7 @@ public class PartUtil implements RemoteAccess, Serializable {
/**
* 获取对象的
OR oid
* 获取对象的
类型
*/
public
static
TypeIdentifier
getWTObjectSubType
(
WTObject
obj
)
{
try
{
...
...
src/com/yonde/part/controller/DxPartController.java
deleted
100644 → 0
View file @
b9cc5ffb
package
com
.
yonde
.
part
.
controller
;
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
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
@RequestMapping
(
value
=
"/part"
)
public
class
DxPartController
{
@Autowired
PartServiceImpl
partService
;
@GetMapping
(
value
=
"/search"
)
public
Object
getPartByNumber
(
@RequestParam
String
number
)
throws
Exception
{
return
partService
.
getPartByNumber
(
number
);
}
}
src/com/yonde/part/controller/
Demo
Controller.java
→
src/com/yonde/part/controller/
Part
Controller.java
View file @
1c3228eb
package
com
.
yonde
.
part
.
controller
;
import
com.yonde.part.service.
impl.Demo
Service
;
import
com.yonde.part.service.
Part
Service
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
@RequestMapping
(
value
=
"/
demo
"
)
public
class
Demo
Controller
{
@GetMapping
(
value
=
"/part"
)
public
void
getPartByNumber
(
@RequestParam
String
number
,
@RequestParam
String
view
)
throws
Exception
{
DemoService
.
getPartByNumber
(
number
,
view
);
@RequestMapping
(
value
=
"/
part
"
)
public
class
Part
Controller
{
@GetMapping
public
Object
getPartByNumber
(
@RequestParam
String
number
,
@RequestParam
String
view
)
throws
Exception
{
return
PartService
.
getPartByNumber
(
number
,
view
);
}
}
src/com/yonde/part/service/PartService.java
View file @
1c3228eb
package
com
.
yonde
.
part
.
service
;
public
interface
PartService
{
Object
getPartByNumber
(
String
number
)
throws
Exception
;
import
com.yonde.common.DateTimeUtil
;
import
com.yonde.common.PartUtil
;
import
com.yonde.part.vo.DxPart
;
import
org.springframework.stereotype.Service
;
import
wt.fc.ObjectReference
;
import
wt.fc.Persistable
;
import
wt.fc.ReferenceFactory
;
import
wt.org.WTUser
;
import
wt.part.WTPart
;
import
wt.util.WTException
;
import
wt.vc.wip.WorkInProgressHelper
;
import
java.util.Locale
;
@Service
public
class
PartService
{
public
static
DxPart
getPartByNumber
(
String
number
,
String
view
)
throws
WTException
{
boolean
accessControlled
=
false
;
DxPart
dxPart
=
new
DxPart
();
WTPart
wtPart
=
PartUtil
.
getPartByNumberAndView
(
number
,
view
,
accessControlled
);
if
(
wtPart
!=
null
)
{
WTUser
creat
=
((
WTUser
)
wtPart
.
getCreator
().
getObject
());
dxPart
.
setCreator
(
String
.
format
(
"%s(%s)"
,
creat
.
getFullName
(),
creat
.
getName
()));
WTUser
modify
=
((
WTUser
)
wtPart
.
getModifier
().
getObject
());
dxPart
.
setModifier
(
String
.
format
(
"%s(%s)"
,
modify
.
getFullName
(),
modify
.
getName
()));
System
.
out
.
println
(
"-----getPartByNumber----1"
);
dxPart
.
setName
(
wtPart
.
getName
());
dxPart
.
setNumber
(
wtPart
.
getNumber
());
System
.
out
.
println
(
"-----getPartByNumber----2"
);
dxPart
.
setEndItem
(
wtPart
.
isEndItem
());
System
.
out
.
println
(
"-----getPartByNumber----3"
);
dxPart
.
setLatest
(
wtPart
.
isLatestIteration
());
System
.
out
.
println
(
"-----getPartByNumber----4"
);
dxPart
.
setId
(
PartUtil
.
getWTObjectOid
(
wtPart
));
System
.
out
.
println
(
"-----getPartByNumber----5"
);
dxPart
.
setState
(
wtPart
.
getState
().
getState
().
getDisplay
(
Locale
.
CHINA
));
dxPart
.
setSubTypeName
(
PartUtil
.
getWTObjectSubType
(
wtPart
).
getTypename
());
dxPart
.
setDefaultUnit
(
wtPart
.
getDefaultUnit
().
getDisplay
(
Locale
.
CHINESE
));
dxPart
.
setMasterId
(
new
ReferenceFactory
().
getReferenceString
(
ObjectReference
.
newObjectReference
((
wtPart
.
getMaster
().
getPersistInfo
().
getObjectIdentifier
()))));
//dxPart.setSubTypeDisplayName(wtPart.getDisplayIdentity().getDisplayType().getLocalizedMessage(Locale.CHINESE));
System
.
out
.
println
(
"-----getPartByNumber----6"
);
//WTOrganization organization = wtPart.getOrganization();
System
.
out
.
println
(
"-----getPartByNumber----7"
);
//String referenceString = new ReferenceFactory().getReferenceString(ObjectReference.newObjectReference((organization.getPersistInfo().getObjectIdentifier())));
System
.
out
.
println
(
"-----getPartByNumber----8"
);
//dxPart.setOriginId(referenceString);
System
.
out
.
println
(
"-----getPartByNumber----9"
);
dxPart
.
setCheckOuted
(
WorkInProgressHelper
.
isCheckedOut
(
wtPart
));
System
.
out
.
println
(
"-----getPartByNumber----10"
);
dxPart
.
setModifyTime
(
DateTimeUtil
.
timeStampToString
(
wtPart
.
getModifyTimestamp
()));
System
.
out
.
println
(
"-----getPartByNumber----11"
);
dxPart
.
setCreateTime
(
DateTimeUtil
.
timeStampToString
(
wtPart
.
getCreateTimestamp
()));
System
.
out
.
println
(
"-----getPartByNumber----12"
);
Persistable
object
=
wtPart
.
getLocker
().
getObject
();
if
(
object
!=
null
)
{
WTUser
locker
=
((
WTUser
)
object
);
dxPart
.
setLockNote
(
wtPart
.
getLockNote
());
dxPart
.
setLockDate
(
DateTimeUtil
.
timeStampToString
(
wtPart
.
getLockDate
()));
dxPart
.
setLocker
(
String
.
format
(
"%s(%s)"
,
locker
.
getFullName
(),
locker
.
getName
()));
}
dxPart
.
setVersion
(
wtPart
.
getVersionIdentifier
().
getValue
());
dxPart
.
setIteration
(
wtPart
.
getIterationIdentifier
().
getValue
());
//dxPart.setSubTypeDisplayName(TypedUtility.getTypeIdentifier(wtPart).getTypename());
}
return
dxPart
;
}
}
src/com/yonde/part/service/impl/DemoService.java
deleted
100644 → 0
View file @
b9cc5ffb
package
com
.
yonde
.
part
.
service
.
impl
;
import
com.yonde.common.DemoUtil
;
import
com.yonde.common.PartUtil
;
import
org.springframework.stereotype.Service
;
import
wt.method.RemoteAccess
;
import
wt.method.RemoteMethodServer
;
import
wt.part.WTPart
;
import
wt.util.WTException
;
import
java.lang.reflect.InvocationTargetException
;
import
java.rmi.RemoteException
;
@Service
public
class
DemoService
{
public
static
void
getPartByNumber
(
String
number
,
String
view
)
throws
InvocationTargetException
,
RemoteException
,
WTException
{
boolean
accessControlled
=
false
;
WTPart
part
=
DemoUtil
.
getPartByNumberAndView
(
number
,
view
,
accessControlled
);
System
.
out
.
println
(
"--------2Part info2-----"
);
System
.
out
.
println
(
"----partNumber2-----"
+
part
.
getNumber
());
System
.
out
.
println
(
"----creatorName2-----"
+
part
.
getCreatorName
());
System
.
out
.
println
(
"-----------2-----------"
);
}
}
src/com/yonde/part/service/impl/PartServiceImpl.java
deleted
100644 → 0
View file @
b9cc5ffb
package
com
.
yonde
.
part
.
service
.
impl
;
import
com.yonde.common.PartUtil
;
import
com.yonde.part.service.PartService
;
import
org.springframework.stereotype.Service
;
/**
* Created on 2022/12/15
*
* @author
*/
@Service
public
class
PartServiceImpl
implements
PartService
{
@Override
public
Object
getPartByNumber
(
String
number
)
throws
Exception
{
return
PartUtil
.
getPartByNumber
(
number
,
false
);
}
}
src/com/yonde/part/vo/DxPart.java
View file @
1c3228eb
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment