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
abb72b07
Commit
abb72b07
authored
Apr 19, 2023
by
shyWang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PDM前端改造
基线相关、副本接口抽取
parent
0e9eb478
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
792 additions
and
48 deletions
+792
-48
AbstractBaseController.java
...com/yonde/basedata/controller/AbstractBaseController.java
+16
-0
SearchOperatorEnumUtil.java
src/com/yonde/basedata/search/SearchOperatorEnumUtil.java
+24
-1
BaseSearchService.java
src/com/yonde/basedata/service/BaseSearchService.java
+62
-11
DxBaselineController.java
src/com/yonde/baseline/controller/DxBaselineController.java
+68
-0
DxBaselineService.java
src/com/yonde/baseline/service/DxBaselineService.java
+179
-0
DxBaselineMemberVO.java
src/com/yonde/baseline/vo/DxBaselineMemberVO.java
+77
-0
DxBaselineVO.java
src/com/yonde/baseline/vo/DxBaselineVO.java
+145
-0
DxChangeOrderController.java
src/com/yonde/change/controller/DxChangeOrderController.java
+2
-2
BaseLineUtil.java
src/com/yonde/common/BaseLineUtil.java
+121
-0
DxSearchUtil.java
src/com/yonde/common/DxSearchUtil.java
+11
-7
DxDocController.java
src/com/yonde/doc/controller/DxDocController.java
+2
-5
DxPartController.java
src/com/yonde/part/controller/DxPartController.java
+26
-2
DxPartService.java
src/com/yonde/part/service/DxPartService.java
+59
-20
No files found.
src/com/yonde/basedata/controller/AbstractBaseController.java
View file @
abb72b07
...
@@ -7,6 +7,7 @@ import com.yonde.basedata.search.SearchQueryCondition;
...
@@ -7,6 +7,7 @@ import com.yonde.basedata.search.SearchQueryCondition;
import
com.yonde.basedata.service.BaseSearchService
;
import
com.yonde.basedata.service.BaseSearchService
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.basedata.vo.lc.LifecycleTemplateVO
;
import
com.yonde.basedata.vo.lc.LifecycleTemplateVO
;
import
com.yonde.change.service.DXChangeOrderService
;
import
com.yonde.common.ObjectsUtil
;
import
com.yonde.common.ObjectsUtil
;
import
com.yonde.part.vo.DxPartDescribeLinkVO
;
import
com.yonde.part.vo.DxPartDescribeLinkVO
;
import
com.yonde.part.vo.DxPartReferenceLinkVO
;
import
com.yonde.part.vo.DxPartReferenceLinkVO
;
...
@@ -57,6 +58,21 @@ public class AbstractBaseController {
...
@@ -57,6 +58,21 @@ public class AbstractBaseController {
}
}
}
}
@GetMapping
({
"/version/getWorkingCopy/{objId}"
})
//@ApiOperation("获取副本")
public
IdVO
getWorkingCopy
(
@PathVariable
Long
objId
,
@RequestParam
(
value
=
"id"
,
required
=
false
)
Long
id
,
HttpServletRequest
request
)
{
IdVO
idVO
=
null
;
try
{
if
(
ObjectsUtil
.
isNull
(
objId
)
||
objId
==
0
)
{
objId
=
id
;
}
idVO
=
BaseSearchService
.
getWorkingCopy
(
objId
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
idVO
;
}
@DeleteMapping
({
"/batch/{ids}/{type}"
})
// id,id2,id3 linkId
@DeleteMapping
({
"/batch/{ids}/{type}"
})
// id,id2,id3 linkId
public
ApiResult
deleteDxPartUsageLink
(
@PathVariable
(
"ids"
)
String
ids
,
@PathVariable
(
"type"
)
String
type
)
{
public
ApiResult
deleteDxPartUsageLink
(
@PathVariable
(
"ids"
)
String
ids
,
@PathVariable
(
"type"
)
String
type
)
{
try
{
try
{
...
...
src/com/yonde/basedata/search/SearchOperatorEnumUtil.java
View file @
abb72b07
...
@@ -2,6 +2,7 @@ package com.yonde.basedata.search;
...
@@ -2,6 +2,7 @@ package com.yonde.basedata.search;
import
com.yonde.basedata.entity.users.DxUserVO
;
import
com.yonde.basedata.entity.users.DxUserVO
;
import
com.yonde.basedata.vo.*
;
import
com.yonde.basedata.vo.*
;
import
com.yonde.baseline.vo.DxBaselineVO
;
import
com.yonde.change.vo.DxChangeAffectedDataVo
;
import
com.yonde.change.vo.DxChangeAffectedDataVo
;
import
com.yonde.change.vo.DxChangeAfterDataVo
;
import
com.yonde.change.vo.DxChangeAfterDataVo
;
import
com.yonde.change.vo.DxReportedAgainstVo
;
import
com.yonde.change.vo.DxReportedAgainstVo
;
...
@@ -26,6 +27,8 @@ import wt.part.WTPartMaster;
...
@@ -26,6 +27,8 @@ import wt.part.WTPartMaster;
import
wt.query.SearchCondition
;
import
wt.query.SearchCondition
;
import
wt.util.WTAttributeNameIfc
;
import
wt.util.WTAttributeNameIfc
;
import
wt.vc.Iterated
;
import
wt.vc.Iterated
;
import
wt.vc.baseline.Baseline
;
import
wt.vc.baseline.ManagedBaseline
;
import
wt.vc.views.ViewReference
;
import
wt.vc.views.ViewReference
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -59,6 +62,8 @@ public class SearchOperatorEnumUtil {
...
@@ -59,6 +62,8 @@ public class SearchOperatorEnumUtil {
public
static
final
Map
<
String
,
String
>
changeSearchItemMap
=
new
HashMap
();
// 变更搜索条件
public
static
final
Map
<
String
,
String
>
changeSearchItemMap
=
new
HashMap
();
// 变更搜索条件
public
static
final
Map
<
String
,
String
>
baselineSearchItemMap
=
new
HashMap
();
// 基线搜索条件
public
static
final
Map
<
Class
<?>,
Map
<
String
,
String
>>
typeSearchItemMap
=
new
HashMap
();
// 类型搜索条件映射
public
static
final
Map
<
Class
<?>,
Map
<
String
,
String
>>
typeSearchItemMap
=
new
HashMap
();
// 类型搜索条件映射
public
static
final
Map
<
Class
<?>,
String
>
typeItemMap
=
new
HashMap
();
// 类型映射
public
static
final
Map
<
Class
<?>,
String
>
typeItemMap
=
new
HashMap
();
// 类型映射
...
@@ -79,6 +84,7 @@ public class SearchOperatorEnumUtil {
...
@@ -79,6 +84,7 @@ public class SearchOperatorEnumUtil {
initPartItemMap
();
initPartItemMap
();
initDocItemMap
();
initDocItemMap
();
initChangeItemMap
();
initChangeItemMap
();
initBaselineItemMap
();
initTypeItemMap
();
initTypeItemMap
();
initTypeMap
();
initTypeMap
();
...
@@ -94,6 +100,7 @@ public class SearchOperatorEnumUtil {
...
@@ -94,6 +100,7 @@ public class SearchOperatorEnumUtil {
oidPrefixList
.
add
(
"OR:wt.change2.WTChangeRequest2:"
);
oidPrefixList
.
add
(
"OR:wt.change2.WTChangeRequest2:"
);
oidPrefixList
.
add
(
"OR:wt.change2.WTChangeIssue:"
);
oidPrefixList
.
add
(
"OR:wt.change2.WTChangeIssue:"
);
oidPrefixList
.
add
(
"OR:wt.vc.baseline.ManagedBaseline:"
);
oidPrefixList
.
add
(
"OR:wt.vc.baseline.ManagedBaseline:"
);
oidPrefixList
.
add
(
"OR:wt.epm.EPMDocument:"
);
}
}
public
static
void
initViewMap
()
{
public
static
void
initViewMap
()
{
...
@@ -111,6 +118,7 @@ public class SearchOperatorEnumUtil {
...
@@ -111,6 +118,7 @@ public class SearchOperatorEnumUtil {
typeMap
.
put
(
"DxDeviation"
,
WTChangeIssue
.
class
);
typeMap
.
put
(
"DxDeviation"
,
WTChangeIssue
.
class
);
typeMap
.
put
(
"DxProblemReport"
,
WTChangeIssue
.
class
);
typeMap
.
put
(
"DxProblemReport"
,
WTChangeIssue
.
class
);
typeMap
.
put
(
"DxWaver"
,
WTChangeIssue
.
class
);
typeMap
.
put
(
"DxWaver"
,
WTChangeIssue
.
class
);
typeMap
.
put
(
"DxBaseline"
,
ManagedBaseline
.
class
);
}
}
public
static
void
initTypePrefixMap
()
{
public
static
void
initTypePrefixMap
()
{
...
@@ -159,6 +167,7 @@ public class SearchOperatorEnumUtil {
...
@@ -159,6 +167,7 @@ public class SearchOperatorEnumUtil {
typeItemMap
.
put
(
DxReportedAgainstVo
.
class
,
"com.yonde.dcs.cmt.common.entity.vo.DxReportedAgainstVo"
);
typeItemMap
.
put
(
DxReportedAgainstVo
.
class
,
"com.yonde.dcs.cmt.common.entity.vo.DxReportedAgainstVo"
);
typeItemMap
.
put
(
DxChangeAffectedDataVo
.
class
,
"com.yonde.dcs.cmt.common.entity.vo.DxChangeAffectedDataVo"
);
typeItemMap
.
put
(
DxChangeAffectedDataVo
.
class
,
"com.yonde.dcs.cmt.common.entity.vo.DxChangeAffectedDataVo"
);
typeItemMap
.
put
(
DxChangeAfterDataVo
.
class
,
"com.yonde.dcs.cmt.common.entity.vo.DxChangeAfterDataVo"
);
typeItemMap
.
put
(
DxChangeAfterDataVo
.
class
,
"com.yonde.dcs.cmt.common.entity.vo.DxChangeAfterDataVo"
);
typeItemMap
.
put
(
DxBaselineVO
.
class
,
"com.yonde.dcs.xbom.common.entity.vo.DxBaselineVO"
);
//TODO add
//TODO add
}
}
...
@@ -202,6 +211,20 @@ public class SearchOperatorEnumUtil {
...
@@ -202,6 +211,20 @@ public class SearchOperatorEnumUtil {
}
}
public
static
void
initBaselineItemMap
()
{
baselineSearchItemMap
.
put
(
DX_ID
,
"thePersistInfo.theObjectIdentifier.id"
);
baselineSearchItemMap
.
put
(
DX_NUMBER
,
ManagedBaseline
.
NUMBER
);
baselineSearchItemMap
.
put
(
DX_NAME
,
ManagedBaseline
.
NAME
);
baselineSearchItemMap
.
put
(
DX_STATE
,
ManagedBaseline
.
LIFE_CYCLE_STATE
);
baselineSearchItemMap
.
put
(
"createTime"
,
ManagedBaseline
.
CREATE_TIMESTAMP
);
baselineSearchItemMap
.
put
(
"modifyTime"
,
ManagedBaseline
.
MODIFY_TIMESTAMP
);
baselineSearchItemMap
.
put
(
DX_MASTER_ID
,
"thePersistInfo.theObjectIdentifier.id"
);
//基线类型映射
typeSearchItemMap
.
put
(
ManagedBaseline
.
class
,
baselineSearchItemMap
);
}
public
static
void
initChangeItemMap
()
{
public
static
void
initChangeItemMap
()
{
changeSearchItemMap
.
put
(
DX_ID
,
"thePersistInfo.theObjectIdentifier.id"
);
changeSearchItemMap
.
put
(
DX_ID
,
"thePersistInfo.theObjectIdentifier.id"
);
changeSearchItemMap
.
put
(
DX_NUMBER
,
WTChangeOrder2
.
NUMBER
);
changeSearchItemMap
.
put
(
DX_NUMBER
,
WTChangeOrder2
.
NUMBER
);
...
@@ -209,7 +232,7 @@ public class SearchOperatorEnumUtil {
...
@@ -209,7 +232,7 @@ public class SearchOperatorEnumUtil {
changeSearchItemMap
.
put
(
DX_STATE
,
WTChangeOrder2
.
LIFE_CYCLE_STATE
);
changeSearchItemMap
.
put
(
DX_STATE
,
WTChangeOrder2
.
LIFE_CYCLE_STATE
);
changeSearchItemMap
.
put
(
"createTime"
,
WTChangeOrder2
.
CREATE_TIMESTAMP
);
changeSearchItemMap
.
put
(
"createTime"
,
WTChangeOrder2
.
CREATE_TIMESTAMP
);
changeSearchItemMap
.
put
(
"modifyTime"
,
WTChangeOrder2
.
MODIFY_TIMESTAMP
);
changeSearchItemMap
.
put
(
"modifyTime"
,
WTChangeOrder2
.
MODIFY_TIMESTAMP
);
changeSearchItemMap
.
put
(
DX_MASTER_ID
,
"thePersistInfo.theObjectIdentifier.id"
);
//更改类型映射
//更改类型映射
typeSearchItemMap
.
put
(
WTChangeOrder2
.
class
,
changeSearchItemMap
);
typeSearchItemMap
.
put
(
WTChangeOrder2
.
class
,
changeSearchItemMap
);
typeSearchItemMap
.
put
(
WTChangeRequest2
.
class
,
changeSearchItemMap
);
typeSearchItemMap
.
put
(
WTChangeRequest2
.
class
,
changeSearchItemMap
);
...
...
src/com/yonde/basedata/service/BaseSearchService.java
View file @
abb72b07
...
@@ -2,25 +2,31 @@ package com.yonde.basedata.service;
...
@@ -2,25 +2,31 @@ package com.yonde.basedata.service;
import
com.yonde.basedata.data.DxPageImpl
;
import
com.yonde.basedata.data.DxPageImpl
;
import
com.yonde.basedata.entity.api.ApiResult
;
import
com.yonde.basedata.entity.api.ApiResult
;
import
com.yonde.basedata.entity.users.DxUserVO
;
import
com.yonde.basedata.search.SearchOperatorEnumUtil
;
import
com.yonde.basedata.search.SearchOperatorEnumUtil
;
import
com.yonde.basedata.search.SearchQueryCondition
;
import
com.yonde.basedata.search.SearchQueryCondition
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.basedata.vo.ObjFileLinkVO
;
import
com.yonde.basedata.vo.ObjFileLinkVO
;
import
com.yonde.baseline.vo.DxBaselineVO
;
import
com.yonde.change.service.DXChangeOrderService
;
import
com.yonde.change.vo.ecn.DxChangeNoticeVo
;
import
com.yonde.change.vo.ecr.DxChangeRequestVo
;
import
com.yonde.change.vo.pr.DxProblemReportVo
;
import
com.yonde.common.*
;
import
com.yonde.common.*
;
import
com.yonde.doc.vo.DxDocumentVO
;
import
com.yonde.doc.vo.DxDocumentVO
;
import
com.yonde.part.service.DxPartService
;
import
com.yonde.part.vo.DxPart
;
import
com.yonde.part.vo.DxPartVO
;
import
com.yonde.part.vo.DxPartVO
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.log4j.Logger
;
import
org.apache.log4j.Logger
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.commons.CommonsMultipartFile
;
import
org.springframework.web.multipart.commons.CommonsMultipartFile
;
import
wt.change2.WTChangeIssue
;
import
wt.change2.WTChangeOrder2
;
import
wt.change2.WTChangeRequest2
;
import
wt.content.ApplicationData
;
import
wt.content.ApplicationData
;
import
wt.content.ContentHolder
;
import
wt.content.ContentHolder
;
import
wt.content.ContentRoleType
;
import
wt.content.ContentRoleType
;
import
wt.doc.WTDocument
;
import
wt.doc.WTDocument
;
import
wt.epm.EPMDocument
;
import
wt.fc.PagingQueryResult
;
import
wt.fc.PagingQueryResult
;
import
wt.fc.WTObject
;
import
wt.fc.WTObject
;
import
wt.log4j.LogR
;
import
wt.log4j.LogR
;
...
@@ -31,6 +37,8 @@ import wt.session.SessionContext;
...
@@ -31,6 +37,8 @@ import wt.session.SessionContext;
import
wt.session.SessionHelper
;
import
wt.session.SessionHelper
;
import
wt.session.SessionServerHelper
;
import
wt.session.SessionServerHelper
;
import
wt.util.WTProperties
;
import
wt.util.WTProperties
;
import
wt.vc.baseline.ManagedBaseline
;
import
wt.vc.wip.WorkInProgressHelper
;
import
java.io.File
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -49,17 +57,60 @@ public class BaseSearchService <V extends IdVO> implements RemoteAccess {
...
@@ -49,17 +57,60 @@ public class BaseSearchService <V extends IdVO> implements RemoteAccess {
return
null
;
return
null
;
}
}
public
IdVO
getWorkingCopy
(
Long
id
)
throws
Exception
{
public
static
IdVO
getWorkingCopy
(
Long
id
)
throws
Exception
{
WTObject
wtObjectByOid
=
RfUtil
.
getWTObjectByOid
(
id
+
""
);
if
(!
RemoteMethodServer
.
ServerFlag
)
{
if
(
wtObjectByOid
instanceof
WTDocument
)
{
return
(
IdVO
)
RemoteMethodServer
.
getDefault
().
invoke
(
"getWorkingCopy"
,
BaseSearchService
.
class
.
getName
(),
null
,
WTDocument
doc
=
(
WTDocument
)
wtObjectByOid
;
new
Class
[]
{
Long
.
class
},
new
Object
[]
{
id
});
}
CommonUtil
.
initSessionContext
(
null
);
IdVO
idVO
=
null
;
WTObject
wtObjectById
=
RfUtil
.
getWTObjectById
(
id
);
if
(
wtObjectById
instanceof
WTDocument
)
{
WTDocument
doc
=
(
WTDocument
)
wtObjectById
;
WTDocument
workingCopyOfDoc
=
DocUtil
.
getWorkingCopyOfDoc
(
doc
);
WTDocument
workingCopyOfDoc
=
DocUtil
.
getWorkingCopyOfDoc
(
doc
);
DxDocumentVO
dxDocumentVO
=
new
DxDocumentVO
(
workingCopyOfDoc
);
idVO
=
new
DxDocumentVO
(
workingCopyOfDoc
);
return
dxDocumentVO
;
return
idVO
;
}
if
(
wtObjectById
instanceof
WTPart
)
{
WTPart
partById
=
(
WTPart
)
wtObjectById
;
if
(
CommonUtil
.
isCheckedOut
(
partById
))
{
WTPart
partByIdCp
=
(
WTPart
)
CommonUtil
.
getWorkingCopyVersion
(
partById
);
logger
.
error
(
"getCopyOfPart ===="
+
partByIdCp
);
DxPartVO
dxPartVO
=
new
DxPartVO
(
partByIdCp
);
if
(
ObjectsUtil
.
isNull
(
dxPartVO
.
getLocker
()))
{
logger
.
error
(
"dxPartVO.getLocker() ===="
+
dxPartVO
.
getLocker
());
dxPartVO
.
setLockerVO
(
partById
);
}
idVO
=
dxPartVO
;
}
else
{
idVO
=
new
DxPartVO
(
partById
);
}
return
idVO
;
}
}
if
(
wtObjectByOid
instanceof
WTPart
)
{
if
(
wtObjectById
instanceof
WTChangeOrder2
)
{
idVO
=
new
DxChangeNoticeVo
((
WTChangeOrder2
)
wtObjectById
);
return
idVO
;
}
if
(
wtObjectById
instanceof
WTChangeRequest2
)
{
idVO
=
new
DxChangeRequestVo
((
WTChangeRequest2
)
wtObjectById
);
return
idVO
;
}
if
(
wtObjectById
instanceof
WTChangeIssue
)
{
idVO
=
new
DxProblemReportVo
((
WTChangeIssue
)
wtObjectById
);
return
idVO
;
}
if
(
wtObjectById
instanceof
ManagedBaseline
)
{
ManagedBaseline
baseline
=
(
ManagedBaseline
)
wtObjectById
;
idVO
=
new
DxBaselineVO
(
baseline
);
return
idVO
;
}
if
(
wtObjectById
instanceof
EPMDocument
)
{
}
}
// TODO 其他类型
return
null
;
return
null
;
}
}
...
...
src/com/yonde/baseline/controller/DxBaselineController.java
0 → 100644
View file @
abb72b07
package
com
.
yonde
.
baseline
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.yonde.basedata.controller.AbstractBaseController
;
import
com.yonde.basedata.entity.api.ApiResult
;
import
com.yonde.basedata.vo.RevisionControlledVO
;
import
com.yonde.baseline.service.DxBaselineService
;
import
com.yonde.baseline.vo.DxBaselineVO
;
import
com.yonde.common.ObjectsUtil
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Map
;
public
class
DxBaselineController
extends
AbstractBaseController
{
//@ApiOperation("获取基线成员矩阵")
@PostMapping
({
"/getMemberMatrix"
})
public
ApiResult
getMemberMatrix
(
@RequestBody
Long
[]
ids
)
{
//return ApiResult.ok(this.service.getMemberMatrix(ids));
return
null
;
}
//@ApiOperation("通过基线成员获取基线列表")
@PostMapping
({
"/findMemberLink"
})
public
ApiResult
findMemberLink
(
@RequestBody
RevisionControlledVO
member
)
{
//return ApiResult.ok(this.service.findMemberLink((IdOnlyVO)member));
return
null
;
}
//@ApiOperation("基线冻结")
@PostMapping
({
"/frozen/{id}"
})
public
ApiResult
frozen
(
@PathVariable
(
"id"
)
Long
id
)
{
//return ApiResult.ok(this.service.frozen(id));
return
null
;
}
//@ApiOperation("基线解冻")
@PostMapping
({
"/unFrozen/{id}"
})
public
ApiResult
unFrozen
(
@PathVariable
(
"id"
)
Long
id
)
{
//return ApiResult.ok(this.service.unFrozen(id));
return
null
;
}
//保存基线
@PostMapping
({
"recursion"
})
public
ApiResult
recursion
(
@RequestBody
Map
entity
,
HttpServletRequest
request
)
{
try
{
String
jsonString
=
JSON
.
toJSONString
(
entity
);
DxBaselineVO
entityVO
=
JSON
.
parseObject
(
jsonString
,
DxBaselineVO
.
class
);
String
portUserName
=
request
.
getHeader
(
"portUserName"
);
if
(
ObjectsUtil
.
nonNull
(
entityVO
.
getOperator
())
&&
entityVO
.
getOperator
().
equals
(
"MODIFY"
))
{
//更新link
entityVO
=
DxBaselineService
.
updateBaseline
(
entityVO
,
portUserName
);
}
else
{
entityVO
=
DxBaselineService
.
createBaseline
(
entityVO
,
portUserName
);
}
return
ApiResult
.
ok
(
entityVO
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
ApiResult
.
error
(
"501"
,
e
.
getCause
().
getLocalizedMessage
(),
e
);
}
}
}
src/com/yonde/baseline/service/DxBaselineService.java
0 → 100644
View file @
abb72b07
package
com
.
yonde
.
baseline
.
service
;
import
com.yonde.baseline.vo.DxBaselineMemberVO
;
import
com.yonde.baseline.vo.DxBaselineVO
;
import
com.yonde.common.*
;
import
com.yonde.context.vo.DxContextVO
;
import
com.yonde.doc.vo.DxDocumentVO
;
import
com.yonde.part.vo.DxPartVO
;
import
org.apache.commons.collections.CollectionUtils
;
import
wt.doc.WTDocument
;
import
wt.epm.EPMDocument
;
import
wt.fc.IdentityHelper
;
import
wt.fc.Persistable
;
import
wt.fc.QueryResult
;
import
wt.fc.WTObject
;
import
wt.fc.collections.WTCollection
;
import
wt.fc.collections.WTHashSet
;
import
wt.inf.container.WTContainer
;
import
wt.method.RemoteAccess
;
import
wt.method.RemoteMethodServer
;
import
wt.part.WTPart
;
import
wt.pom.Transaction
;
import
wt.session.SessionServerHelper
;
import
wt.util.WTException
;
import
wt.vc.baseline.BaselineHelper
;
import
wt.vc.baseline.ManagedBaseline
;
import
wt.vc.baseline.ManagedBaselineIdentity
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Vector
;
public
class
DxBaselineService
implements
RemoteAccess
{
public
static
DxBaselineVO
createBaseline
(
DxBaselineVO
baselineVO
,
String
userName
)
throws
Exception
{
if
(!
RemoteMethodServer
.
ServerFlag
)
{
return
(
DxBaselineVO
)
RemoteMethodServer
.
getDefault
().
invoke
(
"createBaseline"
,
DxBaselineService
.
class
.
getName
(),
null
,
new
Class
[]
{
DxBaselineVO
.
class
,
String
.
class
},
new
Object
[]
{
baselineVO
,
userName
});
}
Transaction
ts
=
null
;
CommonUtil
.
initSessionContext
(
userName
);
DxBaselineVO
dxBaselineVO
=
null
;
boolean
enforced
=
SessionServerHelper
.
manager
.
setAccessEnforced
(
false
);
try
{
ts
=
new
Transaction
();
ts
.
start
();
WTContainer
container
=
null
;
DxContextVO
dxContext
=
baselineVO
.
getDxContext
();
if
(
ObjectsUtil
.
nonNull
(
dxContext
))
{
String
contextName
=
dxContext
.
getName
();
container
=
ContainerUtil
.
getContainerByName
(
contextName
);
}
if
(
ObjectsUtil
.
isNull
(
container
))
{
throw
new
WTException
(
"上下文不可为空!"
);
}
ManagedBaseline
baseline
=
BaseLineUtil
.
createBaseline
(
baselineVO
.
getSubTypeName
(),
baselineVO
.
getName
(),
baselineVO
.
getNumber
(),
container
);
//添加基线对象
List
<
DxBaselineMemberVO
>
baselineMembers
=
baselineVO
.
getBaselineMembers
();
if
(
CollectionUtils
.
isNotEmpty
(
baselineMembers
))
{
WTCollection
collectDocuments
=
new
WTHashSet
();
for
(
DxBaselineMemberVO
member
:
baselineMembers
)
{
Long
id
=
member
.
getTarget
().
getId
();
WTObject
wtObjectById
=
RfUtil
.
getWTObjectById
(
id
);
collectDocuments
.
add
(
wtObjectById
);
}
BaselineHelper
.
service
.
addToBaseline
(
collectDocuments
,
baseline
);
}
//更新软属性
if
(
ObjectsUtil
.
nonNull
(
baselineVO
.
getDynamicAttrs
()))
{
IBAUtil
.
forceSetIBAValues
(
baseline
,
baselineVO
.
getDynamicAttrs
());
}
dxBaselineVO
=
new
DxBaselineVO
(
baseline
);
ts
.
commit
();
ts
=
null
;
}
finally
{
if
(
ObjectsUtil
.
nonNull
(
ts
))
{
ts
.
rollback
();
}
SessionServerHelper
.
manager
.
setAccessEnforced
(
enforced
);
}
return
dxBaselineVO
;
}
public
static
DxBaselineVO
updateBaseline
(
DxBaselineVO
baselineVO
,
String
userName
)
throws
Exception
{
if
(!
RemoteMethodServer
.
ServerFlag
)
{
return
(
DxBaselineVO
)
RemoteMethodServer
.
getDefault
().
invoke
(
"updateBaseline"
,
DxBaselineService
.
class
.
getName
(),
null
,
new
Class
[]
{
DxBaselineVO
.
class
,
String
.
class
},
new
Object
[]
{
baselineVO
,
userName
});
}
Transaction
ts
=
null
;
CommonUtil
.
initSessionContext
(
userName
);
ManagedBaseline
baseline
=
null
;
DxBaselineVO
dxBaselineVO
=
null
;
boolean
enforced
=
SessionServerHelper
.
manager
.
setAccessEnforced
(
false
);
try
{
ts
=
new
Transaction
();
ts
.
start
();
if
(
ObjectsUtil
.
nonNull
(
baselineVO
.
getId
()))
{
WTObject
objectById
=
RfUtil
.
getWTObjectById
(
baselineVO
.
getId
());
if
(
ObjectsUtil
.
nonNull
(
objectById
))
{
baseline
=
(
ManagedBaseline
)
objectById
;
}
}
if
(
ObjectsUtil
.
isNull
(
baseline
))
{
throw
new
WTException
(
"编辑失败:基线不存在!"
);
}
ManagedBaselineIdentity
identificationObject
=
(
ManagedBaselineIdentity
)
baseline
.
getIdentificationObject
();
identificationObject
.
setName
(
baselineVO
.
getName
());
IdentityHelper
.
service
.
changeIdentity
(
baseline
,
identificationObject
);
// 重命名名称
dxBaselineVO
=
new
DxBaselineVO
(
baseline
);
//更新基线对象
QueryResult
items
=
BaselineHelper
.
service
.
getBaselineItems
(
baseline
);
Vector
vector
=
items
.
getObjectVector
().
getVector
();
//删除基线对象
BaselineHelper
.
service
.
removeFromBaseline
(
vector
,
baseline
);
List
<
DxBaselineMemberVO
>
baselineMembers
=
baselineVO
.
getBaselineMembers
();
if
(
CollectionUtils
.
isNotEmpty
(
baselineMembers
))
{
WTCollection
collectDocuments
=
new
WTHashSet
();
for
(
DxBaselineMemberVO
member
:
baselineMembers
)
{
Long
id
=
member
.
getTarget
().
getId
();
WTObject
wtObjectById
=
RfUtil
.
getWTObjectById
(
id
);
collectDocuments
.
add
(
wtObjectById
);
}
BaselineHelper
.
service
.
addToBaseline
(
collectDocuments
,
baseline
);
}
//更新软属性
if
(
ObjectsUtil
.
nonNull
(
baselineVO
.
getDynamicAttrs
()))
{
IBAUtil
.
forceSetIBAValues
(
baseline
,
baselineVO
.
getDynamicAttrs
());
}
ts
.
commit
();
ts
=
null
;
}
finally
{
if
(
ObjectsUtil
.
nonNull
(
ts
))
{
ts
.
rollback
();
}
SessionServerHelper
.
manager
.
setAccessEnforced
(
enforced
);
}
return
dxBaselineVO
;
}
public
static
void
buildDxBaselineMembers
(
DxBaselineVO
baselineVO
)
throws
Exception
{
Long
id
=
baselineVO
.
getId
();
WTObject
wtObjectById
=
RfUtil
.
getWTObjectById
(
id
);
if
(
ObjectsUtil
.
nonNull
(
wtObjectById
))
{
ManagedBaseline
baseline
=
(
ManagedBaseline
)
wtObjectById
;
DxBaselineVO
dxBaselineVO
=
buildDxBaseline
(
baseline
);
baselineVO
.
setBaselineMembers
(
dxBaselineVO
.
getBaselineMembers
());
}
}
public
static
DxBaselineVO
buildDxBaseline
(
ManagedBaseline
baseline
)
throws
Exception
{
DxBaselineVO
dxBaselineVO
=
new
DxBaselineVO
(
baseline
);
QueryResult
baselineItems
=
BaselineHelper
.
service
.
getBaselineItems
(
baseline
);
List
<
DxBaselineMemberVO
>
memberVOList
=
new
ArrayList
<
DxBaselineMemberVO
>();
while
(
baselineItems
.
hasMoreElements
())
{
Persistable
obj
=
(
Persistable
)
baselineItems
.
nextElement
();
if
(
obj
instanceof
WTPart
)
{
DxPartVO
dxPartVO
=
new
DxPartVO
((
WTPart
)
obj
);
DxBaselineMemberVO
memberVO
=
new
DxBaselineMemberVO
(
dxBaselineVO
,
dxPartVO
);
memberVOList
.
add
(
memberVO
);
continue
;
}
if
(
obj
instanceof
WTDocument
)
{
DxDocumentVO
dxDocumentVO
=
new
DxDocumentVO
((
WTDocument
)
obj
);
DxBaselineMemberVO
memberVO
=
new
DxBaselineMemberVO
(
dxBaselineVO
,
dxDocumentVO
);
memberVOList
.
add
(
memberVO
);
continue
;
}
if
(
obj
instanceof
EPMDocument
)
{
//TODO
}
}
dxBaselineVO
.
setBaselineMembers
(
memberVOList
);
return
dxBaselineVO
;
}
}
src/com/yonde/baseline/vo/DxBaselineMemberVO.java
0 → 100644
View file @
abb72b07
package
com
.
yonde
.
baseline
.
vo
;
import
com.yonde.basedata.vo.RevisionControlledVO
;
import
java.io.Serializable
;
public
class
DxBaselineMemberVO
implements
Serializable
{
private
DxBaselineVO
source
;
private
RevisionControlledVO
target
;
private
Long
sourceId
;
private
String
sourceIdType
;
private
Long
targetId
;
private
String
targetIdType
;
public
DxBaselineMemberVO
()
{
}
public
DxBaselineMemberVO
(
DxBaselineVO
source
,
RevisionControlledVO
target
)
{
this
.
source
=
source
;
this
.
sourceId
=
source
.
getId
();
this
.
sourceIdType
=
source
.
getSubTypeName
();
this
.
target
=
target
;
this
.
targetId
=
target
.
getId
();
this
.
targetIdType
=
target
.
getSubTypeName
();
}
public
DxBaselineVO
getSource
()
{
return
source
;
}
public
void
setSource
(
DxBaselineVO
source
)
{
this
.
source
=
source
;
}
public
RevisionControlledVO
getTarget
()
{
return
target
;
}
public
void
setTarget
(
RevisionControlledVO
target
)
{
this
.
target
=
target
;
}
public
Long
getSourceId
()
{
return
sourceId
;
}
public
void
setSourceId
(
Long
sourceId
)
{
this
.
sourceId
=
sourceId
;
}
public
String
getSourceIdType
()
{
return
sourceIdType
;
}
public
void
setSourceIdType
(
String
sourceIdType
)
{
this
.
sourceIdType
=
sourceIdType
;
}
public
Long
getTargetId
()
{
return
targetId
;
}
public
void
setTargetId
(
Long
targetId
)
{
this
.
targetId
=
targetId
;
}
public
String
getTargetIdType
()
{
return
targetIdType
;
}
public
void
setTargetIdType
(
String
targetIdType
)
{
this
.
targetIdType
=
targetIdType
;
}
}
src/com/yonde/baseline/vo/DxBaselineVO.java
0 → 100644
View file @
abb72b07
package
com
.
yonde
.
baseline
.
vo
;
import
com.yonde.basedata.entity.users.DxUserVO
;
import
com.yonde.basedata.vo.DxOrganizationVO
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.common.IBAHelper
;
import
com.yonde.common.ObjectsUtil
;
import
com.yonde.context.vo.DxContextVO
;
import
wt.org.WTOrganization
;
import
wt.type.ClientTypedUtility
;
import
wt.util.WTException
;
import
wt.vc.baseline.ManagedBaseline
;
import
java.io.Serializable
;
import
java.lang.reflect.InvocationTargetException
;
import
java.rmi.RemoteException
;
import
java.util.List
;
import
java.util.Locale
;
public
class
DxBaselineVO
extends
IdVO
implements
Serializable
{
private
List
<
DxBaselineMemberVO
>
baselineMembers
;
private
Boolean
frozenState
;
private
String
name
;
private
String
number
;
private
String
state
;
private
Long
versionId
;
private
DxContextVO
dxContext
;
private
Long
dxContextId
;
private
DxOrganizationVO
dxOrganization
;
private
Long
dxOrganizationId
;
private
String
dxOrganizationIdType
;
public
DxBaselineVO
()
{
}
public
DxBaselineVO
(
ManagedBaseline
baseline
)
throws
WTException
,
RemoteException
,
InvocationTargetException
{
super
(
baseline
);
this
.
versionId
=
this
.
id
;
this
.
state
=
baseline
.
getState
().
getState
().
toString
();
this
.
frozenState
=
baseline
.
isDirty
();
this
.
name
=
baseline
.
getName
();
this
.
number
=
baseline
.
getNumber
();
// 获取基线对象
WTOrganization
organization
=
baseline
.
getContainer
().
getOrganization
();
if
(
ObjectsUtil
.
nonNull
(
organization
))
{
this
.
setDxOrganization
(
new
DxOrganizationVO
(
organization
));
}
this
.
setDxContext
(
new
DxContextVO
(
baseline
.
getContainer
()));
this
.
setModifier
(
new
DxUserVO
(
baseline
.
getCreator
().
getPrincipal
()));
this
.
setCreator
(
new
DxUserVO
(
baseline
.
getCreator
().
getPrincipal
()));
this
.
dynamicAttrs
=
IBAHelper
.
getAllIBAValues
(
baseline
);
this
.
subTypeName
=
"DxBaseline"
;
//TODO 要映射
this
.
subTypeDisplayName
=
ClientTypedUtility
.
getLocalizedTypeName
(
baseline
,
Locale
.
SIMPLIFIED_CHINESE
);
}
public
List
<
DxBaselineMemberVO
>
getBaselineMembers
()
{
return
baselineMembers
;
}
public
void
setBaselineMembers
(
List
<
DxBaselineMemberVO
>
baselineMembers
)
{
this
.
baselineMembers
=
baselineMembers
;
}
public
Boolean
getFrozenState
()
{
return
frozenState
;
}
public
void
setFrozenState
(
Boolean
frozenState
)
{
this
.
frozenState
=
frozenState
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getNumber
()
{
return
number
;
}
public
void
setNumber
(
String
number
)
{
this
.
number
=
number
;
}
public
String
getState
()
{
return
state
;
}
public
void
setState
(
String
state
)
{
this
.
state
=
state
;
}
public
Long
getVersionId
()
{
return
versionId
;
}
public
void
setVersionId
(
Long
versionId
)
{
this
.
versionId
=
versionId
;
}
public
DxContextVO
getDxContext
()
{
return
dxContext
;
}
public
void
setDxContext
(
DxContextVO
dxContext
)
{
this
.
dxContext
=
dxContext
;
}
public
Long
getDxContextId
()
{
return
dxContextId
;
}
public
void
setDxContextId
(
Long
dxContextId
)
{
this
.
dxContextId
=
dxContextId
;
}
public
DxOrganizationVO
getDxOrganization
()
{
return
dxOrganization
;
}
public
void
setDxOrganization
(
DxOrganizationVO
dxOrganization
)
{
this
.
dxOrganization
=
dxOrganization
;
}
public
Long
getDxOrganizationId
()
{
return
dxOrganizationId
;
}
public
void
setDxOrganizationId
(
Long
dxOrganizationId
)
{
this
.
dxOrganizationId
=
dxOrganizationId
;
}
public
String
getDxOrganizationIdType
()
{
return
dxOrganizationIdType
;
}
public
void
setDxOrganizationIdType
(
String
dxOrganizationIdType
)
{
this
.
dxOrganizationIdType
=
dxOrganizationIdType
;
}
}
src/com/yonde/change/controller/DxChangeOrderController.java
View file @
abb72b07
...
@@ -181,7 +181,7 @@ public class DxChangeOrderController extends AbstractBaseController {
...
@@ -181,7 +181,7 @@ public class DxChangeOrderController extends AbstractBaseController {
return
resultList
;
return
resultList
;
}
}
@GetMapping
({
"/version/getWorkingCopy"
})
/*
@GetMapping({"/version/getWorkingCopy"})
//@ApiOperation("获取变更对象")
//@ApiOperation("获取变更对象")
public IdVO getWorkingCopy(@RequestParam("id") Long id, @RequestParam("type") String type, HttpServletRequest request) {
public IdVO getWorkingCopy(@RequestParam("id") Long id, @RequestParam("type") String type, HttpServletRequest request) {
IdVO idVO = null;
IdVO idVO = null;
...
@@ -191,5 +191,5 @@ public class DxChangeOrderController extends AbstractBaseController {
...
@@ -191,5 +191,5 @@ public class DxChangeOrderController extends AbstractBaseController {
e.printStackTrace();
e.printStackTrace();
}
}
return idVO;
return idVO;
}
}
*/
}
}
src/com/yonde/common/BaseLineUtil.java
0 → 100644
View file @
abb72b07
package
com
.
yonde
.
common
;
import
wt.fc.IdentityHelper
;
import
wt.fc.PersistenceHelper
;
import
wt.folder.Folder
;
import
wt.folder.FolderEntry
;
import
wt.folder.FolderHelper
;
import
wt.inf.container.WTContainer
;
import
wt.inf.container.WTContainerRef
;
import
wt.lifecycle.LifeCycleHelper
;
import
wt.session.SessionHelper
;
import
wt.type.ClientTypedUtility
;
import
wt.type.TypeDefinitionReference
;
import
wt.type.TypedUtility
;
import
wt.util.WTException
;
import
wt.vc.baseline.ManagedBaseline
;
import
wt.vc.baseline.ManagedBaselineIdentity
;
public
class
BaseLineUtil
{
public
static
ManagedBaseline
createBaseline
(
String
baselineType
,
String
baselineNum
,
WTContainer
container
)
throws
Exception
{
ManagedBaseline
baseline
=
ManagedBaseline
.
newManagedBaseline
();
baseline
.
setName
(
baselineNum
);
baseline
.
setNumber
(
baselineNum
);
baseline
.
setContainer
(
container
);
TypeDefinitionReference
typeDef
=
TypedUtility
.
getTypeDefinitionReference
(
baselineType
);
if
(
typeDef
==
null
)
throw
new
WTException
(
"没有此类型:"
+
baselineType
);
baseline
.
setTypeDefinitionReference
(
typeDef
);
LifeCycleHelper
.
setLifeCycle
(
baseline
,
LifeCycleHelper
.
service
.
getLifeCycleTemplate
(
""
,
container
.
getContainerReference
()));
WTContainerRef
containerRef
=
WTContainerRef
.
newWTContainerRef
(
baseline
.
getContainer
());
Folder
assignedFolder
=
FolderHelper
.
service
.
saveFolderPath
(
"/Default"
,
containerRef
);
FolderHelper
.
assignLocation
((
FolderEntry
)
baseline
,
assignedFolder
);
baseline
=
(
ManagedBaseline
)
PersistenceHelper
.
manager
.
save
(
baseline
);
String
localizedTypeName
=
ClientTypedUtility
.
getLocalizedTypeName
(
baseline
,
SessionHelper
.
getLocale
());
ManagedBaselineIdentity
identificationObject
=
(
ManagedBaselineIdentity
)
baseline
.
getIdentificationObject
();
identificationObject
.
setName
(
localizedTypeName
);
IdentityHelper
.
service
.
changeIdentity
(
baseline
,
identificationObject
);
// 重命名名称
return
baseline
;
}
public
static
ManagedBaseline
createBaseline
(
String
baselineType
,
String
baselineNum
,
String
baselineName
,
WTContainer
container
)
throws
Exception
{
ManagedBaseline
baseline
=
ManagedBaseline
.
newManagedBaseline
();
baseline
.
setName
(
baselineName
);
baseline
.
setNumber
(
baselineNum
);
baseline
.
setContainer
(
container
);
if
(
ObjectsUtil
.
isNull
(
baselineType
))
{
baselineType
=
"wt.vc.baseline.ManagedBaseline"
;
}
else
{
}
TypeDefinitionReference
typeDef
=
TypedUtility
.
getTypeDefinitionReference
(
baselineType
);
if
(
typeDef
==
null
)
throw
new
WTException
(
"没有此类型:"
+
baselineType
);
baseline
.
setTypeDefinitionReference
(
typeDef
);
/*LifeCycleHelper.setLifeCycle(baseline,
LifeCycleHelper.service.getLifeCycleTemplate("", container.getContainerReference()));*/
WTContainerRef
containerRef
=
WTContainerRef
.
newWTContainerRef
(
baseline
.
getContainer
());
Folder
assignedFolder
=
FolderHelper
.
service
.
saveFolderPath
(
"/Default"
,
containerRef
);
FolderHelper
.
assignLocation
((
FolderEntry
)
baseline
,
assignedFolder
);
baseline
=
(
ManagedBaseline
)
PersistenceHelper
.
manager
.
save
(
baseline
);
ManagedBaselineIdentity
identificationObject
=
(
ManagedBaselineIdentity
)
baseline
.
getIdentificationObject
();
identificationObject
.
setName
(
baselineName
);
IdentityHelper
.
service
.
changeIdentity
(
baseline
,
identificationObject
);
// 重命名名称
return
baseline
;
}
/*private static void addMembers(ManagedBaseline mb, WTPart product, BaselineBean paramBean) throws Exception {
String type = getTypeInternalName(mb);
//功能基线、分配基线内存放的是:文档对象
WTCollection collectDocuments = new WTHashSet();
if(type.equals(BaselineConstant.TYPE_ABL_BASELINE) || type.equals(BaselineConstant.TYPE_FBL_BASELINE)) {
collectDocuments = collectDocuments(paramBean, product, type);
}else if(type.equals(BaselineConstant.TYPE_PBL_BASELINE)) {
*//**
* 产品基线内存放的是:模型、技术文件、Mbom、工艺文件、软件 (软件由下游反馈,其他从PDM系统直接获取)
*//*
// WTCollection collectEPMDocument = collectEPMDocument(product);
// WTCollection collectTecnicalDoc = collectTecnicalDoc(product);
// WTCollection collectMBOM = collectMBOM(product);
// WTCollection collectCraftDoc = collectCraftDoc(collectMBOM);
// WTCollection collectSoftware = collectSoftware(product);
// collectDocuments = collectDocuments(paramBean, product, type);
// collectDocuments.addAll(collectEPMDocument);
// collectDocuments.addAll(collectTecnicalDoc);
// collectDocuments.addAll(collectMBOM);
// collectDocuments.addAll(collectCraftDoc);
// collectDocuments.addAll(collectSoftware);
// 本次只修改了产品基线的收集逻辑,其他收集逻辑暂不做调整,等问题需求号后在判断,不过目前看来可能存在问题20200617
// EBOM关联的EPM文档,和包含部件编号的图样文件
WTCollection collectTecnicalDoc = collectTecnicalDoc(product);
// 产品的整个MBOM
product = PartUtils.getRealeasePartByNumber(product.getNumber(), ViewConstant.MANUFACTURE);
WTCollection collectMBOM = collectMBOM(product);
// MBOM关联的工艺计划对象及工艺计划下的操作
WTCollection collectCraftDoc = collectCraftDoc(collectMBOM);
//获取产品基线文档
WTCollection collectPLDoc = collectPLDocuments(product);
collectDocuments.addAll(collectTecnicalDoc);
collectDocuments.addAll(collectMBOM);
collectDocuments.addAll(collectCraftDoc);
collectDocuments.addAll(collectPLDoc);
}else if(type.equals(BaselineConstant.TYPE_TBL_BASELINE) || type.equals(BaselineConstant.TYPE_VBL_BASELINE)) {
//转阶段基线内存放的是:模型、技术文件、EBOM
WTCollection collectEPMDocument = collectEPMDocument(product);
WTCollection collectTecnicalDoc = collectTecnicalDoc(product);
WTPart productDesign = getPartByNoAndView(product.getNumber(),"");
WTCollection collectEBOM = collectMBOM(productDesign);
collectDocuments.addAll(collectEPMDocument);
collectDocuments.addAll(collectTecnicalDoc);
collectDocuments.addAll(collectEBOM);
}
BaselineHelper.service.addToBaseline(collectDocuments, mb);
}*/
}
src/com/yonde/common/DxSearchUtil.java
View file @
abb72b07
package
com
.
yonde
.
common
;
package
com
.
yonde
.
common
;
import
com.ptc.core.command.common.bean.repository.PageRequest
;
import
com.yonde.basedata.data.DxPageImpl
;
import
com.yonde.basedata.data.DxPageImpl
;
import
com.yonde.basedata.search.SearchItem
;
import
com.yonde.basedata.search.SearchItem
;
import
com.yonde.basedata.search.SearchItems
;
import
com.yonde.basedata.search.SearchItems
;
import
com.yonde.basedata.search.SearchOperatorEnumUtil
;
import
com.yonde.basedata.search.SearchOperatorEnumUtil
;
import
com.yonde.basedata.search.SearchQueryCondition
;
import
com.yonde.basedata.search.SearchQueryCondition
;
import
com.yonde.baseline.service.DxBaselineService
;
import
com.yonde.baseline.vo.DxBaselineVO
;
import
com.yonde.change.service.DXChangeOrderService
;
import
com.yonde.change.service.DXChangeOrderService
;
import
com.yonde.change.vo.ecn.DxChangeNoticeVo
;
import
com.yonde.change.vo.ecn.DxChangeNoticeVo
;
import
com.yonde.change.vo.ecr.DxChangeRequestVo
;
import
com.yonde.change.vo.ecr.DxChangeRequestVo
;
...
@@ -17,7 +18,6 @@ import org.apache.commons.lang.StringUtils;
...
@@ -17,7 +18,6 @@ import org.apache.commons.lang.StringUtils;
import
org.apache.log4j.Logger
;
import
org.apache.log4j.Logger
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.PageRequest
;
import
wt.change2.VersionableChangeItem
;
import
wt.change2.WTChangeIssue
;
import
wt.change2.WTChangeIssue
;
import
wt.change2.WTChangeOrder2
;
import
wt.change2.WTChangeOrder2
;
import
wt.change2.WTChangeRequest2
;
import
wt.change2.WTChangeRequest2
;
...
@@ -33,7 +33,7 @@ import wt.session.SessionServerHelper;
...
@@ -33,7 +33,7 @@ import wt.session.SessionServerHelper;
import
wt.util.WTAttributeNameIfc
;
import
wt.util.WTAttributeNameIfc
;
import
wt.util.WTException
;
import
wt.util.WTException
;
import
wt.vc.Iterated
;
import
wt.vc.Iterated
;
import
wt.vc.baseline.Baseline
;
import
wt.vc.baseline.
Managed
Baseline
;
import
wt.vc.views.View
;
import
wt.vc.views.View
;
import
wt.vc.views.ViewHelper
;
import
wt.vc.views.ViewHelper
;
import
wt.vc.wip.WorkInProgressHelper
;
import
wt.vc.wip.WorkInProgressHelper
;
...
@@ -105,7 +105,7 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
...
@@ -105,7 +105,7 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
//构建查询
//构建查询
QuerySpec
querySpec
=
DxSearchUtil
.
buildQuerySpec
(
searchItems
,
cls
);
QuerySpec
querySpec
=
DxSearchUtil
.
buildQuerySpec
(
searchItems
,
cls
);
//通用查询条件
//通用查询条件
if
(!
cls
.
getName
().
toLowerCase
().
contains
(
"change"
))
{
if
(!
(
cls
.
getName
().
toLowerCase
().
contains
(
"change"
)
||
cls
.
getName
().
toLowerCase
().
contains
(
"baseline"
)
))
{
// Case 1:检入状态
// Case 1:检入状态
if
(
querySpec
.
getConditionCount
()
>
0
)
{
if
(
querySpec
.
getConditionCount
()
>
0
)
{
querySpec
.
appendAnd
();
querySpec
.
appendAnd
();
...
@@ -169,6 +169,13 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
...
@@ -169,6 +169,13 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
objList
.
add
(
dxPartVO
);
objList
.
add
(
dxPartVO
);
return
;
return
;
}
}
if
(
o
instanceof
ManagedBaseline
)
{
//基线
ManagedBaseline
baseline
=
(
ManagedBaseline
)
o
;
DxBaselineVO
baselineVO
=
DxBaselineService
.
buildDxBaseline
(
baseline
);
objList
.
add
(
baselineVO
);
return
;
}
List
before
=
DXChangeOrderService
.
getChangeDataLink
(
id
,
"before"
);
List
before
=
DXChangeOrderService
.
getChangeDataLink
(
id
,
"before"
);
if
(
o
instanceof
WTChangeOrder2
)
{
if
(
o
instanceof
WTChangeOrder2
)
{
WTChangeOrder2
changeOrder2
=
(
WTChangeOrder2
)
o
;
WTChangeOrder2
changeOrder2
=
(
WTChangeOrder2
)
o
;
...
@@ -193,9 +200,6 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
...
@@ -193,9 +200,6 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
objList
.
add
(
problemReportVo
);
objList
.
add
(
problemReportVo
);
return
;
return
;
}
}
if
(
o
instanceof
Baseline
)
{
// TODO 基线
}
}
}
/**
/**
...
...
src/com/yonde/doc/controller/DxDocController.java
View file @
abb72b07
...
@@ -20,10 +20,7 @@ import java.util.Map;
...
@@ -20,10 +20,7 @@ import java.util.Map;
@RequestMapping
({
"/DxDocument"
})
@RequestMapping
({
"/DxDocument"
})
public
class
DxDocController
extends
AbstractBaseController
{
public
class
DxDocController
extends
AbstractBaseController
{
/* @Autowired
/* @GetMapping({"/version/getWorkingCopy/{id}"})
public DxDocService docService;*/
@GetMapping
({
"/version/getWorkingCopy/{id}"
})
//@ApiOperation("获取工作副本")
//@ApiOperation("获取工作副本")
public DxDocumentVO getWorkingCopy(@PathVariable Long id, HttpServletRequest request) {
public DxDocumentVO getWorkingCopy(@PathVariable Long id, HttpServletRequest request) {
DxDocumentVO dxDocumentVO = null;
DxDocumentVO dxDocumentVO = null;
...
@@ -33,7 +30,7 @@ public class DxDocController extends AbstractBaseController {
...
@@ -33,7 +30,7 @@ public class DxDocController extends AbstractBaseController {
e.printStackTrace();
e.printStackTrace();
}
}
return dxDocumentVO;
return dxDocumentVO;
}
}
*/
@GetMapping
({
"/version/{id}"
})
@GetMapping
({
"/version/{id}"
})
//@ApiOperation("获取部件对象")
//@ApiOperation("获取部件对象")
...
...
src/com/yonde/part/controller/DxPartController.java
View file @
abb72b07
...
@@ -5,11 +5,14 @@ import com.yonde.basedata.controller.AbstractBaseController;
...
@@ -5,11 +5,14 @@ import com.yonde.basedata.controller.AbstractBaseController;
import
com.yonde.basedata.entity.api.ApiResult
;
import
com.yonde.basedata.entity.api.ApiResult
;
import
com.yonde.basedata.exception.DxBusinessException
;
import
com.yonde.basedata.exception.DxBusinessException
;
import
com.yonde.basedata.search.BaseSearchCondition
;
import
com.yonde.basedata.search.BaseSearchCondition
;
import
com.yonde.change.service.DXChangeOrderService
;
import
com.yonde.change.vo.DxChangeAffectedDataVo
;
import
com.yonde.common.ObjectsUtil
;
import
com.yonde.common.ObjectsUtil
;
import
com.yonde.part.service.DxPartService
;
import
com.yonde.part.service.DxPartService
;
import
com.yonde.part.service.PartService
;
import
com.yonde.part.service.PartService
;
import
com.yonde.part.vo.BOMQueryVO
;
import
com.yonde.part.vo.BOMQueryVO
;
import
com.yonde.part.vo.DxPartVO
;
import
com.yonde.part.vo.DxPartVO
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
...
@@ -27,7 +30,7 @@ public class DxPartController extends AbstractBaseController {
...
@@ -27,7 +30,7 @@ public class DxPartController extends AbstractBaseController {
return
PartService
.
getPartByNumber
(
number
,
view
);
return
PartService
.
getPartByNumber
(
number
,
view
);
}
}
@GetMapping
({
"/version/getWorkingCopy/{id}"
})
/*
@GetMapping({"/version/getWorkingCopy/{id}"})
//@ApiOperation("获取工作副本")
//@ApiOperation("获取工作副本")
public DxPartVO getWorkingCopy(@PathVariable Long id) {
public DxPartVO getWorkingCopy(@PathVariable Long id) {
DxPartVO dxPartVO = null;
DxPartVO dxPartVO = null;
...
@@ -38,7 +41,7 @@ public class DxPartController extends AbstractBaseController {
...
@@ -38,7 +41,7 @@ public class DxPartController extends AbstractBaseController {
}
}
return dxPartVO;
return dxPartVO;
}
}
*/
@GetMapping
({
"/version/{id}"
})
@GetMapping
({
"/version/{id}"
})
//@ApiOperation("获取部件对象")
//@ApiOperation("获取部件对象")
...
@@ -211,4 +214,25 @@ public class DxPartController extends AbstractBaseController {
...
@@ -211,4 +214,25 @@ public class DxPartController extends AbstractBaseController {
}
}
return
ApiResult
.
ok
((
Object
)
null
,
"流程创建成功!"
);
return
ApiResult
.
ok
((
Object
)
null
,
"流程创建成功!"
);
}
}
@GetMapping
({
"/DxEquivalenceLink/search"
})
//@ApiOperation("获取更改相关对象")
public
List
getEquivalenceLink
(
@RequestParam
(
value
=
"targetId"
,
required
=
false
)
String
targetId
,
@RequestParam
(
value
=
"sourceId"
,
required
=
false
)
String
sourceId
,
@RequestParam
(
value
=
"sourceIdType"
,
required
=
false
)
String
sourceIdType
,
HttpServletRequest
request
)
{
List
<
DxPartVO
>
resultList
=
new
ArrayList
<
DxPartVO
>();
try
{
//上游对等件
if
(
StringUtils
.
isNotEmpty
(
sourceId
))
{
resultList
=
DxPartService
.
getEquivalenceLink
(
Long
.
valueOf
(
sourceId
),
"up"
);
return
resultList
;
}
//下游对等件
if
(
StringUtils
.
isNotEmpty
(
targetId
))
{
resultList
=
DxPartService
.
getEquivalenceLink
(
Long
.
valueOf
(
targetId
),
"down"
);
return
resultList
;
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
resultList
;
}
}
}
src/com/yonde/part/service/DxPartService.java
View file @
abb72b07
...
@@ -3,6 +3,7 @@ package com.yonde.part.service;
...
@@ -3,6 +3,7 @@ package com.yonde.part.service;
import
com.yonde.basedata.data.DxPageImpl
;
import
com.yonde.basedata.data.DxPageImpl
;
import
com.yonde.basedata.entity.users.DxUserVO
;
import
com.yonde.basedata.entity.users.DxUserVO
;
import
com.yonde.basedata.search.BaseSearchCondition
;
import
com.yonde.basedata.search.BaseSearchCondition
;
import
com.yonde.basedata.search.SearchOperatorEnumUtil
;
import
com.yonde.basedata.search.SearchQueryCondition
;
import
com.yonde.basedata.search.SearchQueryCondition
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.common.*
;
import
com.yonde.common.*
;
...
@@ -14,6 +15,7 @@ import wt.doc.WTDocument;
...
@@ -14,6 +15,7 @@ import wt.doc.WTDocument;
import
wt.doc.WTDocumentMaster
;
import
wt.doc.WTDocumentMaster
;
import
wt.fc.PersistenceHelper
;
import
wt.fc.PersistenceHelper
;
import
wt.fc.QueryResult
;
import
wt.fc.QueryResult
;
import
wt.fc.WTObject
;
import
wt.log4j.LogR
;
import
wt.log4j.LogR
;
import
wt.method.RemoteAccess
;
import
wt.method.RemoteAccess
;
import
wt.method.RemoteMethodServer
;
import
wt.method.RemoteMethodServer
;
...
@@ -36,24 +38,6 @@ import java.util.List;
...
@@ -36,24 +38,6 @@ import java.util.List;
public
class
DxPartService
implements
RemoteAccess
,
Serializable
{
public
class
DxPartService
implements
RemoteAccess
,
Serializable
{
private
static
Logger
logger
=
LogR
.
getLogger
(
DxPartService
.
class
.
getName
());
private
static
Logger
logger
=
LogR
.
getLogger
(
DxPartService
.
class
.
getName
());
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
public
DxPageImpl
<
DxPartVO
>
findByConfigSpec
(
SearchQueryCondition
searchQueryCondition
)
throws
Exception
{
DxPageImpl
<
DxPartVO
>
byConfigSpecSelect
=
DxSearchUtil
.
findByConfigSpec
(
searchQueryCondition
);
return
byConfigSpecSelect
;
}
/* public static List findByConfigSpecSelect (SearchQueryCondition searchQueryCondition) throws Exception {
if (!RemoteMethodServer.ServerFlag) {
return (List) RemoteMethodServer.getDefault().invoke("findByConfigSpecSelect", DxPartService.class.getName(), null,
new Class[] { SearchQueryCondition.class},
new Object[] { searchQueryCondition});
}
logger.error("findByConfigSpecSelect===111" + searchQueryCondition.toString());
*//*boolean enforce = SessionServerHelper.manager.setAccessEnforced(false);*//*
List<IdVO> partList = DxSearchUtil.findByConfigSpecSelect(searchQueryCondition);
return partList;
}*/
public
static
DxPageImpl
<
DxPartVO
>
findByConfigSpecPage
(
BaseSearchCondition
specSearch
)
{
public
static
DxPageImpl
<
DxPartVO
>
findByConfigSpecPage
(
BaseSearchCondition
specSearch
)
{
return
null
;
return
null
;
...
@@ -623,7 +607,7 @@ public class DxPartService implements RemoteAccess, Serializable {
...
@@ -623,7 +607,7 @@ public class DxPartService implements RemoteAccess, Serializable {
return
;
return
;
}
}
String
tempName
=
"PBOM签审工作流"
;
String
tempName
=
"PBOM签审工作流"
;
SessionContext
previous
=
SessionContext
.
newContext
(
);
CommonUtil
.
initSessionContext
(
null
);
try
{
try
{
SessionHelper
.
manager
.
setAdministrator
();
SessionHelper
.
manager
.
setAdministrator
();
WTPart
partById
=
DxPartUtil
.
getPartById
(
id
);
WTPart
partById
=
DxPartUtil
.
getPartById
(
id
);
...
@@ -633,7 +617,62 @@ public class DxPartService implements RemoteAccess, Serializable {
...
@@ -633,7 +617,62 @@ public class DxPartService implements RemoteAccess, Serializable {
WorkflowUtil
.
createProcess
(
partById
,
null
,
partById
.
getContainerReference
(),
WorkflowUtil
.
createProcess
(
partById
,
null
,
partById
.
getContainerReference
(),
tempName
+
"_"
+
partById
.
getNumber
(),
tempName
,
null
);
tempName
+
"_"
+
partById
.
getNumber
(),
tempName
,
null
);
}
finally
{
}
finally
{
SessionContext
.
setContext
(
previous
);
}
}
}
}
public
static
List
getEquivalenceLink
(
Long
id
,
String
type
)
throws
Exception
{
if
(!
RemoteMethodServer
.
ServerFlag
)
{
return
(
List
)
RemoteMethodServer
.
getDefault
().
invoke
(
"getEquivalenceLink"
,
DxPartService
.
class
.
getName
(),
null
,
new
Class
[]
{
Long
.
class
,
String
.
class
},
new
Object
[]
{
id
,
type
});
}
List
resultList
=
new
ArrayList
();
CommonUtil
.
initSessionContext
(
null
);
WTObject
wtObjectById
=
RfUtil
.
getWTObjectById
(
id
);
if
(
ObjectsUtil
.
nonNull
(
wtObjectById
))
{
WTPart
part
=
(
WTPart
)
wtObjectById
;
String
viewName
=
part
.
getViewName
();
if
(
"up"
.
equalsIgnoreCase
(
type
))
{
//工艺视图 取 设计视图
if
(
SearchOperatorEnumUtil
.
viewMap
.
get
(
"2"
).
equalsIgnoreCase
(
viewName
))
{
WTPart
viewPart
=
PartUtil
.
getLatestViewPart
(
part
.
getNumber
(),
SearchOperatorEnumUtil
.
viewMap
.
get
(
"1"
));
if
(
ObjectsUtil
.
nonNull
(
viewPart
))
{
DxPartVO
dxPartVO
=
new
DxPartVO
(
viewPart
);
resultList
.
add
(
dxPartVO
);
}
return
resultList
;
}
//制造视图 取 工艺视图
if
(
SearchOperatorEnumUtil
.
viewMap
.
get
(
"3"
).
equalsIgnoreCase
(
viewName
))
{
WTPart
viewPart
=
PartUtil
.
getLatestViewPart
(
part
.
getNumber
(),
SearchOperatorEnumUtil
.
viewMap
.
get
(
"2"
));
if
(
ObjectsUtil
.
nonNull
(
viewPart
))
{
DxPartVO
dxPartVO
=
new
DxPartVO
(
viewPart
);
resultList
.
add
(
dxPartVO
);
}
return
resultList
;
}
}
if
(
"down"
.
equalsIgnoreCase
(
type
))
{
//设计视图 取 工艺视图
if
(
SearchOperatorEnumUtil
.
viewMap
.
get
(
"1"
).
equalsIgnoreCase
(
viewName
))
{
WTPart
viewPart
=
PartUtil
.
getLatestViewPart
(
part
.
getNumber
(),
SearchOperatorEnumUtil
.
viewMap
.
get
(
"2"
));
if
(
ObjectsUtil
.
nonNull
(
viewPart
))
{
DxPartVO
dxPartVO
=
new
DxPartVO
(
viewPart
);
resultList
.
add
(
dxPartVO
);
}
return
resultList
;
}
//工艺视图 取 制造视图
if
(
SearchOperatorEnumUtil
.
viewMap
.
get
(
"2"
).
equalsIgnoreCase
(
viewName
))
{
WTPart
viewPart
=
PartUtil
.
getLatestViewPart
(
part
.
getNumber
(),
SearchOperatorEnumUtil
.
viewMap
.
get
(
"3"
));
if
(
ObjectsUtil
.
nonNull
(
viewPart
))
{
DxPartVO
dxPartVO
=
new
DxPartVO
(
viewPart
);
resultList
.
add
(
dxPartVO
);
}
return
resultList
;
}
}
}
return
resultList
;
}
}
}
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