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
09bc7ce6
Commit
09bc7ce6
authored
Apr 10, 2023
by
shyWang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
PDM前端改造
更改相关
parent
766187f2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
1780 additions
and
112 deletions
+1780
-112
AbstractBaseController.java
...com/yonde/basedata/controller/AbstractBaseController.java
+0
-30
SearchOperatorEnumUtil.java
src/com/yonde/basedata/search/SearchOperatorEnumUtil.java
+63
-2
BaseSearchService.java
src/com/yonde/basedata/service/BaseSearchService.java
+4
-1
IdVO.java
src/com/yonde/basedata/vo/IdVO.java
+1
-1
DxChangeOrderController.java
src/com/yonde/change/controller/DxChangeOrderController.java
+71
-14
DXChangeOrderService.java
src/com/yonde/change/service/DXChangeOrderService.java
+366
-15
WTChangeDataUtil.java
src/com/yonde/change/util/WTChangeDataUtil.java
+514
-0
DxChangeAffectedDataVo.java
src/com/yonde/change/vo/DxChangeAffectedDataVo.java
+25
-1
DxChangeAfterDataVo.java
src/com/yonde/change/vo/DxChangeAfterDataVo.java
+18
-0
DxChangeItemVo.java
src/com/yonde/change/vo/DxChangeItemVo.java
+8
-0
DxReportedAgainstVo.java
src/com/yonde/change/vo/DxReportedAgainstVo.java
+51
-3
DxChangeNoticeVo.java
src/com/yonde/change/vo/ecn/DxChangeNoticeVo.java
+11
-4
DxChangeRequestVo.java
src/com/yonde/change/vo/ecr/DxChangeRequestVo.java
+115
-1
DxProblemReportVo.java
src/com/yonde/change/vo/pr/DxProblemReportVo.java
+120
-0
ChangeOrderUtil.java
src/com/yonde/common/ChangeOrderUtil.java
+298
-4
DxSearchUtil.java
src/com/yonde/common/DxSearchUtil.java
+64
-29
RfUtil.java
src/com/yonde/common/RfUtil.java
+42
-4
WorkflowUtil.java
src/com/yonde/common/WorkflowUtil.java
+3
-0
DxDocController.java
src/com/yonde/doc/controller/DxDocController.java
+0
-1
PdmPartBean.java
src/com/yonde/part/bean/PdmPartBean.java
+6
-1
DxPartController.java
src/com/yonde/part/controller/DxPartController.java
+0
-1
No files found.
src/com/yonde/basedata/controller/AbstractBaseController.java
View file @
09bc7ce6
...
...
@@ -21,11 +21,9 @@ import java.util.Map;
public
class
AbstractBaseController
{
//@ApiOperation("根据模板id查询模板信息,包含模板节点、路径、及节点下的事件 路径下的事件")
@GetMapping
({
"/findDetail/{id}"
})
public
ApiResult
<
LifecycleTemplateVO
>
findDetail
(
@PathVariable
Long
id
)
{
//return ApiResult.ok(this.getService().findDetail(id));
return
ApiResult
.
ok
(
""
);
}
...
...
@@ -54,10 +52,7 @@ public class AbstractBaseController {
}
@DeleteMapping
({
"/batch/{ids}/{type}"
})
// id,id2,id3 linkId
//@SubPermission({"remove"})
public
ApiResult
deleteDxPartUsageLink
(
@PathVariable
(
"ids"
)
String
ids
,
@PathVariable
(
"type"
)
String
type
)
{
//this.getService().deleteAllIterationFromSameVersion(id);
try
{
List
<
String
>
idList
=
new
ArrayList
<
String
>();
if
(
ObjectsUtil
.
nonNull
(
ids
))
{
...
...
@@ -80,31 +75,6 @@ public class AbstractBaseController {
return
ApiResult
.
error
(
"501"
,
"删除失败"
,
e
);
}
}
/* //@ApiOperation("配置规范查询")
@PostMapping({"findBySpec"})
List<DxPartVO> findByConfigSpec(@RequestBody SearchQueryCondition specSearch) {
try {
List<DxPartVO> partVOS = DxPartService.findByConfigSpecSelect(specSearch);
return partVOS;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//@ApiOperation("深度查询")
@PostMapping({"find/recursion"})
List<DxPartVO> findRecursion(@RequestBody SearchQueryCondition specSearch) {
try {
List<DxPartVO> partVOS = DxPartService.findByConfigSpecSelect(specSearch);
return partVOS;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}*/
public
SearchItems
getPermSearchItems
(
BaseSearchCondition
permSearchParams
)
{
SearchItems
searchItems
=
new
SearchItems
();
...
...
src/com/yonde/basedata/search/SearchOperatorEnumUtil.java
View file @
09bc7ce6
...
...
@@ -2,11 +2,17 @@ package com.yonde.basedata.search;
import
com.yonde.basedata.entity.users.DxUserVO
;
import
com.yonde.basedata.vo.*
;
import
com.yonde.change.vo.ecn.DxChangeNoticeVo
;
import
com.yonde.change.vo.ecr.DxChangeRequestVo
;
import
com.yonde.change.vo.pr.DxProblemReportVo
;
import
com.yonde.context.vo.DxContextVO
;
import
com.yonde.doc.vo.DxDocumentVO
;
import
com.yonde.part.vo.*
;
import
com.yonde.plan.vo.DxProcessDocDescribeLinkVO
;
import
com.yonde.plan.vo.DxProcessDocReferenceLinkVO
;
import
wt.change2.WTChangeIssue
;
import
wt.change2.WTChangeOrder2
;
import
wt.change2.WTChangeRequest2
;
import
wt.clients.beans.query.WTAttribute
;
import
wt.doc.WTDocument
;
import
wt.fc.ObjectIdentifier
;
...
...
@@ -19,7 +25,9 @@ import wt.util.WTAttributeNameIfc;
import
wt.vc.Iterated
;
import
wt.vc.views.ViewReference
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
public
class
SearchOperatorEnumUtil
{
...
...
@@ -46,23 +54,43 @@ public class SearchOperatorEnumUtil {
public
static
final
Map
<
String
,
String
>
docSearchItemMap
=
new
HashMap
();
// 文档搜索条件
public
static
final
Map
<
String
,
String
>
changeSearchItemMap
=
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
<
String
,
Class
<?>>
typeMap
=
new
HashMap
();
// 类型映射
public
static
final
Map
<
String
,
String
>
typeStrPrefixMap
=
new
HashMap
();
// 类型映射
public
static
final
Map
<
String
,
String
>
viewMap
=
new
HashMap
();
// 视图映射
public
static
final
Map
<
Class
<?>,
String
>
typePrefixMap
=
new
HashMap
();
// 类型映射
public
static
final
List
<
String
>
oidPrefixList
=
new
ArrayList
<
String
>();
//PDM类型
static
{
initSearchItemMap
();
initPartItemMap
();
initDocItemMap
();
initChangeItemMap
();
initTypeItemMap
();
initTypeMap
();
initViewMap
();
initTypePrefixMap
();
initOidPrefixList
();
}
public
static
void
initOidPrefixList
()
{
oidPrefixList
.
add
(
"OR:wt.part.WTPart:"
);
oidPrefixList
.
add
(
"OR:wt.doc.WTDocument:"
);
oidPrefixList
.
add
(
"OR:wt.change2.WTChangeOrder2:"
);
oidPrefixList
.
add
(
"OR:wt.change2.WTChangeRequest2:"
);
oidPrefixList
.
add
(
"OR:wt.change2.WTChangeIssue:"
);
oidPrefixList
.
add
(
"OR:wt.vc.baseline.ManagedBaseline:"
);
}
public
static
void
initViewMap
()
{
...
...
@@ -71,6 +99,16 @@ public class SearchOperatorEnumUtil {
viewMap
.
put
(
"3"
,
"Manufacture"
);
}
public
static
void
initTypeMap
()
{
typeMap
.
put
(
"DxDocument"
,
WTDocument
.
class
);
typeMap
.
put
(
"DxPart"
,
WTPart
.
class
);
typeMap
.
put
(
"DxChangeRequest"
,
WTChangeRequest2
.
class
);
typeMap
.
put
(
"DxChangeNotice"
,
WTChangeOrder2
.
class
);
typeMap
.
put
(
"DxDeviation"
,
WTChangeIssue
.
class
);
typeMap
.
put
(
"DxProblemReport"
,
WTChangeIssue
.
class
);
typeMap
.
put
(
"DxWaver"
,
WTChangeIssue
.
class
);
}
public
static
void
initTypePrefixMap
()
{
typePrefixMap
.
put
(
DxPartVO
.
class
,
"wt.part.WTPart:"
);
typePrefixMap
.
put
(
DxDocumentVO
.
class
,
"wt.doc.WTDocument:"
);
...
...
@@ -87,6 +125,10 @@ public class SearchOperatorEnumUtil {
typeStrPrefixMap
.
put
(
"com.yonde.dcs.xbom.common.entity.vo.DxPartVO"
,
"wt.part.WTPart:"
);
typeStrPrefixMap
.
put
(
"DxPart"
,
"wt.part.WTPart:"
);
typeStrPrefixMap
.
put
(
"DxDocument"
,
"wt.doc.WTDocument:"
);
typeStrPrefixMap
.
put
(
"com.yonde.dcs.cmt.common.entity.vo.DxChangeRequestVo"
,
"wt.change2.WTChangeRequest2:"
);
typeStrPrefixMap
.
put
(
"com.yonde.dcs.cmt.common.entity.vo.DxChangeNoticeVo"
,
"wt.change2.WTChangeOrder2:"
);
typeStrPrefixMap
.
put
(
"com.yonde.dcs.cmt.common.entity.vo.DxProblemReportVo"
,
"wt.change2.WTChangeIssue:"
);
typeStrPrefixMap
.
put
(
"com.yonde.dcs.document.common.entity.vo.DxDocumentVO"
,
"wt.doc.WTDocument:"
);
}
...
...
@@ -107,6 +149,10 @@ public class SearchOperatorEnumUtil {
typeItemMap
.
put
(
DxProcessDocReferenceLinkVO
.
class
,
"com.yonde.dcs.process.common.entity.vo.DxProcessDocReferenceLinkVO"
);
typeItemMap
.
put
(
DxProcessDocDescribeLinkVO
.
class
,
"com.yonde.dcs.process.common.entity.vo.DxProcessDocDescribeLinkVO"
);
typeItemMap
.
put
(
DxChangeRequestVo
.
class
,
"com.yonde.dcs.cmt.common.entity.vo.DxChangeRequestVo"
);
typeItemMap
.
put
(
DxChangeNoticeVo
.
class
,
"com.yonde.dcs.cmt.common.entity.vo.DxChangeNoticeVo"
);
typeItemMap
.
put
(
DxProblemReportVo
.
class
,
"com.yonde.dcs.cmt.common.entity.vo.DxProblemReportVo"
);
//TODO add
}
...
...
@@ -127,8 +173,8 @@ public class SearchOperatorEnumUtil {
+
ViewReference
.
KEY
+
"."
+
ObjectIdentifier
.
ID
);
partSearchItemMap
.
put
(
DX_STATE
,
WTPart
.
LIFE_CYCLE_STATE
);
partSearchItemMap
.
put
(
DX_MASTER_ID
,
Iterated
.
MASTER_REFERENCE
+
"."
+
ObjectReference
.
KEY
+
"."
+
ObjectIdentifier
.
ID
);
doc
SearchItemMap
.
put
(
"createTime"
,
WTPart
.
CREATE_TIMESTAMP
);
doc
SearchItemMap
.
put
(
"modifyTime"
,
WTPart
.
MODIFY_TIMESTAMP
);
part
SearchItemMap
.
put
(
"createTime"
,
WTPart
.
CREATE_TIMESTAMP
);
part
SearchItemMap
.
put
(
"modifyTime"
,
WTPart
.
MODIFY_TIMESTAMP
);
//部件类型映射
typeSearchItemMap
.
put
(
WTPart
.
class
,
partSearchItemMap
);
...
...
@@ -149,4 +195,19 @@ public class SearchOperatorEnumUtil {
typeSearchItemMap
.
put
(
WTDocument
.
class
,
docSearchItemMap
);
}
public
static
void
initChangeItemMap
()
{
changeSearchItemMap
.
put
(
DX_ID
,
"thePersistInfo.theObjectIdentifier.id"
);
changeSearchItemMap
.
put
(
DX_NUMBER
,
WTChangeOrder2
.
NUMBER
);
changeSearchItemMap
.
put
(
DX_NAME
,
WTChangeOrder2
.
NAME
);
changeSearchItemMap
.
put
(
DX_STATE
,
WTChangeOrder2
.
LIFE_CYCLE_STATE
);
changeSearchItemMap
.
put
(
"createTime"
,
WTChangeOrder2
.
CREATE_TIMESTAMP
);
changeSearchItemMap
.
put
(
"modifyTime"
,
WTChangeOrder2
.
MODIFY_TIMESTAMP
);
//更改类型映射
typeSearchItemMap
.
put
(
WTChangeOrder2
.
class
,
changeSearchItemMap
);
typeSearchItemMap
.
put
(
WTChangeRequest2
.
class
,
changeSearchItemMap
);
typeSearchItemMap
.
put
(
WTChangeIssue
.
class
,
changeSearchItemMap
);
}
}
src/com/yonde/basedata/service/BaseSearchService.java
View file @
09bc7ce6
...
...
@@ -167,9 +167,12 @@ public class BaseSearchService <V extends IdVO> implements RemoteAccess {
String
targetId
=
fileForm
.
getTargetId
();
String
operator
=
fileForm
.
getOperator
();
String
sourceIdType
=
fileForm
.
getSourceIdType
();
ContentHolder
holder
=
DxDocUtil
.
getDocById
(
sourceId
);
ContentHolder
holder
=
null
;
//DxDocUtil.getDocById(sourceId);
if
(
StringUtils
.
isNotEmpty
(
sourceIdType
)
&&
sourceIdType
.
toLowerCase
().
contains
(
"part"
))
{
holder
=
DxPartUtil
.
getPartById
(
sourceId
);
}
else
{
holder
=
(
ContentHolder
)
RfUtil
.
getWTObjectById
(
sourceId
);
}
if
(
"ADD"
.
equalsIgnoreCase
(
operator
))
{
ContentRoleType
roleType
=
ContentRoleType
.
PRIMARY
;
...
...
src/com/yonde/basedata/vo/IdVO.java
View file @
09bc7ce6
...
...
@@ -34,7 +34,7 @@ public class IdVO extends IdOnlyVO implements Serializable {
this
.
setId
(
PersistenceHelper
.
getObjectIdentifier
(
object
).
getId
());
this
.
createTime
=
DateTimeUtil
.
timeStampToString
(
object
.
getCreateTimestamp
());
this
.
modifyTime
=
DateTimeUtil
.
timeStampToString
(
object
.
getModifyTimestamp
());
}
finally
{
}
finally
{
SessionContext
.
setContext
(
previous
);
}
...
...
src/com/yonde/change/controller/DxChangeOrderController.java
View file @
09bc7ce6
package
com
.
yonde
.
change
.
controller
;
import
com.alibaba.fastjson.JSON
;
import
com.yonde.basedata.controller.AbstractBaseController
;
import
com.yonde.basedata.entity.api.ApiResult
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.change.service.DXChangeOrderService
;
import
com.yonde.change.vo.DxChangeAffectedDataVo
;
import
com.yonde.change.vo.DxReportedAgainstVo
;
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.ObjectsUtil
;
import
com.yonde.doc.service.DxDocService
;
import
com.yonde.doc.vo.DxDocumentVO
;
import
com.yonde.part.service.DxPartService
;
import
com.yonde.part.vo.DxPartVO
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
@RestController
@RequestMapping
({
"/changeOrder"
})
public
class
DxChangeOrderController
{
public
class
DxChangeOrderController
extends
AbstractBaseController
{
//@ApiOperation("深度保存对象")
@PostMapping
({
"createPR"
})
public
ApiResult
recursionPR
(
@RequestBody
Map
entity
,
HttpServletRequest
request
)
{
DxP
artVO
part
=
null
;
DxP
roblemReportVo
pr
=
null
;
try
{
String
jsonString
=
JSON
.
toJSONString
(
entity
);
DxProblemReportVo
entityVO
=
JSON
.
parseObject
(
jsonString
,
DxProblemReportVo
.
class
);
...
...
@@ -34,9 +41,9 @@ public class DxChangeOrderController {
//更新link
//part = DxPartService.updateDxPartUsageLink(entityVO);
}
else
{
//part = DxPartService.createDxPart
(entityVO, portUserName);
pr
=
DXChangeOrderService
.
createPR
(
entityVO
,
portUserName
);
}
return
ApiResult
.
ok
(
p
art
);
return
ApiResult
.
ok
(
p
r
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
ApiResult
.
error
(
"501"
,
e
.
getLocalizedMessage
(),
e
);
...
...
@@ -46,7 +53,7 @@ public class DxChangeOrderController {
//@ApiOperation("深度保存对象")
@PostMapping
({
"createECR"
})
public
ApiResult
recursionECR
(
@RequestBody
Map
entity
,
HttpServletRequest
request
)
{
Dx
PartVO
part
=
null
;
Dx
ChangeRequestVo
ecr
=
null
;
try
{
String
jsonString
=
JSON
.
toJSONString
(
entity
);
DxChangeRequestVo
entityVO
=
JSON
.
parseObject
(
jsonString
,
DxChangeRequestVo
.
class
);
...
...
@@ -55,9 +62,9 @@ public class DxChangeOrderController {
//更新link
//part = DxPartService.updateDxPartUsageLink(entityVO);
}
else
{
//part = DxPartService.createDxPart
(entityVO, portUserName);
ecr
=
DXChangeOrderService
.
createECR
(
entityVO
,
portUserName
);
}
return
ApiResult
.
ok
(
part
);
return
ApiResult
.
ok
(
ecr
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
ApiResult
.
error
(
"501"
,
e
.
getLocalizedMessage
(),
e
);
...
...
@@ -67,7 +74,7 @@ public class DxChangeOrderController {
//@ApiOperation("深度保存对象")
@PostMapping
({
"createECN"
})
public
ApiResult
recursionECN
(
@RequestBody
Map
entity
,
HttpServletRequest
request
)
{
Dx
PartVO
part
=
null
;
Dx
ChangeNoticeVo
ecn
=
null
;
try
{
String
jsonString
=
JSON
.
toJSONString
(
entity
);
DxChangeNoticeVo
entityVO
=
JSON
.
parseObject
(
jsonString
,
DxChangeNoticeVo
.
class
);
...
...
@@ -76,12 +83,62 @@ public class DxChangeOrderController {
//更新link
//part = DxPartService.updateDxPartUsageLink(entityVO);
}
else
{
//part = DxPartService.createDxPart
(entityVO, portUserName);
ecn
=
DXChangeOrderService
.
createECN
(
entityVO
,
portUserName
);
}
return
ApiResult
.
ok
(
part
);
return
ApiResult
.
ok
(
ecn
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
return
ApiResult
.
error
(
"501"
,
e
.
getLocalizedMessage
(),
e
);
}
}
@GetMapping
({
"/DxReportedAgainst/search"
})
//@ApiOperation("获取PR相关对象")
public
List
getAffectedDataLink
(
@RequestParam
(
value
=
"targetId"
,
required
=
false
)
String
targetId
,
@RequestParam
(
value
=
"sourceId"
,
required
=
false
)
String
sourceId
,
HttpServletRequest
request
)
{
List
<
DxReportedAgainstVo
>
resultList
=
new
ArrayList
<
DxReportedAgainstVo
>();
try
{
if
(
StringUtils
.
isNotEmpty
(
sourceId
))
{
resultList
=
DXChangeOrderService
.
getChangeDataLink
(
Long
.
valueOf
(
sourceId
),
null
);
return
resultList
;
}
if
(
StringUtils
.
isNotEmpty
(
targetId
))
{
resultList
=
DXChangeOrderService
.
getAffectedDataLink
(
Long
.
valueOf
(
targetId
),
"DxProblemReport"
);
return
resultList
;
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
resultList
;
}
@GetMapping
({
"/DxChangeAffectedData/search"
})
//@ApiOperation("获取更改相关对象")
public
List
getChangeAffectedDataLink
(
@RequestParam
(
value
=
"targetId"
,
required
=
false
)
String
targetId
,
@RequestParam
(
value
=
"sourceId"
,
required
=
false
)
String
sourceId
,
@RequestParam
(
"sourceIdType"
)
String
sourceIdType
,
HttpServletRequest
request
)
{
List
<
DxChangeAffectedDataVo
>
resultList
=
new
ArrayList
<
DxChangeAffectedDataVo
>();
try
{
if
(
StringUtils
.
isNotEmpty
(
sourceId
))
{
resultList
=
DXChangeOrderService
.
getChangeDataLink
(
Long
.
valueOf
(
sourceId
),
null
);
return
resultList
;
}
if
(
StringUtils
.
isNotEmpty
(
targetId
))
{
resultList
=
DXChangeOrderService
.
getAffectedDataLink
(
Long
.
valueOf
(
targetId
),
sourceIdType
);
return
resultList
;
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
resultList
;
}
@GetMapping
({
"/version/getWorkingCopy"
})
//@ApiOperation("获取变更对象")
public
IdVO
getWorkingCopy
(
@RequestParam
(
"id"
)
Long
id
,
@RequestParam
(
"type"
)
String
type
,
HttpServletRequest
request
)
{
IdVO
idVO
=
null
;
try
{
idVO
=
DXChangeOrderService
.
getWorkingCopyById
(
id
,
type
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
idVO
;
}
}
src/com/yonde/change/service/DXChangeOrderService.java
View file @
09bc7ce6
This diff is collapsed.
Click to expand it.
src/com/yonde/change/util/WTChangeDataUtil.java
0 → 100644
View file @
09bc7ce6
This diff is collapsed.
Click to expand it.
src/com/yonde/change/vo/DxChangeAffectedDataVo.java
View file @
09bc7ce6
package
com
.
yonde
.
change
.
vo
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.basedata.vo.RevisionControlledVO
;
import
com.yonde.common.entity.DxIterationVOHolder
;
import
java.io.Serializable
;
/**
* 受影响对象LINK
*/
public
class
DxChangeAffectedDataVo
{
public
class
DxChangeAffectedDataVo
implements
Serializable
{
private
String
pboType
;
private
Long
pboId
;
...
...
@@ -29,11 +32,32 @@ public class DxChangeAffectedDataVo {
public
String
displayDxViewName
;
private
RevisionControlledVO
target
;
private
IdVO
source
;
private
Long
sourceId
;
private
String
sourceIdType
;
private
Long
targetId
;
private
String
targetIdType
;
public
DxChangeAffectedDataVo
()
{
}
public
DxChangeAffectedDataVo
(
RevisionControlledVO
target
,
IdVO
source
)
{
this
.
target
=
target
;
this
.
targetId
=
target
.
getId
();
this
.
targetIdType
=
target
.
getSubTypeName
();
this
.
source
=
source
;
this
.
sourceId
=
source
.
getId
();
this
.
sourceIdType
=
source
.
getSubTypeName
();
}
public
IdVO
getSource
()
{
return
source
;
}
public
void
setSource
(
IdVO
source
)
{
this
.
source
=
source
;
}
public
String
getPboType
()
{
return
pboType
;
}
...
...
src/com/yonde/change/vo/DxChangeAfterDataVo.java
View file @
09bc7ce6
...
...
@@ -12,6 +12,24 @@ public class DxChangeAfterDataVo {
private
String
sourceIdType
;
private
Long
targetId
;
private
String
targetIdType
;
private
String
pboType
;
private
Long
pboId
;
public
String
getPboType
()
{
return
pboType
;
}
public
void
setPboType
(
String
pboType
)
{
this
.
pboType
=
pboType
;
}
public
Long
getPboId
()
{
return
pboId
;
}
public
void
setPboId
(
Long
pboId
)
{
this
.
pboId
=
pboId
;
}
public
RevisionControlledVO
getTarget
()
{
return
target
;
...
...
src/com/yonde/change/vo/DxChangeItemVo.java
0 → 100644
View file @
09bc7ce6
package
com
.
yonde
.
change
.
vo
;
import
com.yonde.basedata.vo.IdVO
;
import
java.io.Serializable
;
public
class
DxChangeItemVo
extends
IdVO
implements
Serializable
{
}
src/com/yonde/change/vo/DxReportedAgainstVo.java
View file @
09bc7ce6
package
com
.
yonde
.
change
.
vo
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.basedata.vo.RevisionControlledVO
;
import
com.yonde.change.vo.pr.DxProblemReportVo
;
import
com.yonde.common.ObjectsUtil
;
import
java.io.Serializable
;
/**
*
受影响对象
*
PR Link
*/
public
class
DxReportedAgainstVo
implements
Serializable
{
public
class
DxReportedAgainstVo
extends
IdVO
implements
Serializable
{
private
RevisionControlledVO
target
;
private
DxProblemReportVo
source
;
private
Long
sourceId
;
private
String
sourceIdType
;
private
RevisionControlledVO
target
;
//
private
Long
targetId
;
private
String
targetIdType
;
private
Long
pboId
;
private
String
pboType
;
public
DxReportedAgainstVo
(
DxProblemReportVo
source
,
RevisionControlledVO
target
)
{
if
(
ObjectsUtil
.
nonNull
(
source
))
{
this
.
source
=
source
;
this
.
sourceId
=
source
.
getId
();
this
.
sourceIdType
=
source
.
getDxClassname
().
substring
(
source
.
getDxClassname
().
lastIndexOf
(
"."
)
+
1
);
this
.
id
=
sourceId
;
this
.
createTime
=
source
.
getCreateTime
();
this
.
modifyTime
=
source
.
getModifyTime
();
}
if
(
ObjectsUtil
.
nonNull
(
target
))
{
this
.
target
=
target
;
this
.
targetId
=
target
.
getId
();
this
.
targetIdType
=
target
.
getDxClassname
().
substring
(
target
.
getDxClassname
().
lastIndexOf
(
"."
)
+
1
);
}
}
public
Long
getPboId
()
{
return
pboId
;
}
public
void
setPboId
(
Long
pboId
)
{
this
.
pboId
=
pboId
;
}
public
String
getPboType
()
{
return
pboType
;
}
public
void
setPboType
(
String
pboType
)
{
this
.
pboType
=
pboType
;
}
public
DxProblemReportVo
getSource
()
{
return
source
;
}
public
void
setSource
(
DxProblemReportVo
source
)
{
this
.
source
=
source
;
}
public
RevisionControlledVO
getTarget
()
{
return
target
;
}
...
...
src/com/yonde/change/vo/ecn/DxChangeNoticeVo.java
View file @
09bc7ce6
package
com
.
yonde
.
change
.
vo
.
ecn
;
import
com.yonde.basedata.entity.users.DxUserVO
;
import
com.yonde.basedata.vo.DxOrganizationVO
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.basedata.vo.ObjFileLinkVO
;
import
com.yonde.change.vo.DxChangeAffectedDataVo
;
import
com.yonde.change.vo.DxChangeAfterDataVo
;
import
com.yonde.common.ChangeOrderUtil
;
import
com.yonde.common.DxCommonUtils
;
import
com.yonde.common.IBAHelper
;
import
com.yonde.common.ObjectsUtil
;
import
com.yonde.context.vo.DxContextVO
;
import
wt.change2.WTChangeOrder2
;
import
wt.org.WTOrganization
;
import
wt.
util.WTException
;
import
wt.
type.ClientTypedUtility
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.util.Locale
;
public
class
DxChangeNoticeVo
extends
IdVO
implements
Serializable
{
...
...
@@ -45,10 +47,15 @@ public class DxChangeNoticeVo extends IdVO implements Serializable {
this
.
number
=
wtChangeOrder2
.
getNumber
();
this
.
state
=
wtChangeOrder2
.
getState
().
getState
().
toString
();
WTOrganization
organization
=
wtChangeOrder2
.
getOrganization
();
this
.
setDxOrganization
(
new
DxOrganizationVO
(
organization
));
if
(
ObjectsUtil
.
nonNull
(
organization
))
{
this
.
setDxOrganization
(
new
DxOrganizationVO
(
organization
));
}
this
.
setDxContext
(
new
DxContextVO
(
wtChangeOrder2
.
getContainer
()));
this
.
setModifier
(
new
DxUserVO
(
wtChangeOrder2
.
getModifier
().
getPrincipal
()));
this
.
setCreator
(
new
DxUserVO
(
wtChangeOrder2
.
getCreator
().
getPrincipal
()));
this
.
dynamicAttrs
=
IBAHelper
.
getAllIBAValues
(
wtChangeOrder2
);
this
.
subTypeName
=
"DxChangeNotice"
;
//TODO 要映射
this
.
subTypeDisplayName
=
ClientTypedUtility
.
getLocalizedTypeName
(
wtChangeOrder2
,
Locale
.
SIMPLIFIED_CHINESE
);
this
.
setObjFileLinks
(
DxCommonUtils
.
buildObjFileLinks
(
wtChangeOrder2
));
//ChangeOrderUtil.get
...
...
src/com/yonde/change/vo/ecr/DxChangeRequestVo.java
View file @
09bc7ce6
package
com
.
yonde
.
change
.
vo
.
ecr
;
import
com.yonde.basedata.entity.users.DxUserVO
;
import
com.yonde.basedata.vo.DxDocumentFolderVO
;
import
com.yonde.basedata.vo.DxOrganizationVO
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.basedata.vo.ObjFileLinkVO
;
import
com.yonde.change.vo.DxChangeAffectedDataVo
;
import
com.yonde.common.DxCommonUtils
;
import
com.yonde.common.IBAHelper
;
import
com.yonde.common.ObjectsUtil
;
import
com.yonde.context.vo.DxContextVO
;
import
org.apache.commons.lang.StringUtils
;
import
wt.change2.WTChangeRequest2
;
import
wt.org.WTOrganization
;
import
wt.type.ClientTypedUtility
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.util.Locale
;
/**
* ECR
*/
public
class
DxChangeRequestVo
extends
IdVO
{
public
class
DxChangeRequestVo
extends
IdVO
implements
Serializable
{
private
String
number
;
private
String
name
;
...
...
@@ -23,8 +34,111 @@ public class DxChangeRequestVo extends IdVO {
private
Long
dxOrganizationId
;
private
String
dxOrganizationIdType
;
private
DxDocumentFolderVO
folderVO
;
private
List
<
ObjFileLinkVO
>
objFileLinks
;
//受影响对象
private
List
<
DxChangeAffectedDataVo
>
changeAffectedDatas
;
public
DxChangeRequestVo
(
WTChangeRequest2
ecr
)
throws
Exception
{
super
(
ecr
);
this
.
name
=
ecr
.
getName
();
this
.
number
=
ecr
.
getNumber
();
this
.
state
=
ecr
.
getState
().
getState
().
getDisplay
();
WTOrganization
organization
=
ecr
.
getOrganization
();
if
(
ObjectsUtil
.
nonNull
(
organization
))
{
this
.
setDxOrganization
(
new
DxOrganizationVO
(
organization
));
}
this
.
setDxContext
(
new
DxContextVO
(
ecr
.
getContainer
()));
this
.
subTypeName
=
"DxChangeRequest"
;
//TODO 要映射
this
.
subTypeDisplayName
=
ClientTypedUtility
.
getLocalizedTypeName
(
ecr
,
Locale
.
SIMPLIFIED_CHINESE
);
this
.
setModifier
(
new
DxUserVO
(
ecr
.
getModifier
().
getPrincipal
()));
this
.
setCreator
(
new
DxUserVO
(
ecr
.
getCreator
().
getPrincipal
()));
this
.
dynamicAttrs
=
IBAHelper
.
getAllIBAValues
(
ecr
);
if
(
StringUtils
.
isNotEmpty
(
ecr
.
getDescription
()))
{
this
.
getDynamicAttrs
().
put
(
"description"
,
ecr
.
getDescription
());
}
this
.
setObjFileLinks
(
DxCommonUtils
.
buildObjFileLinks
(
ecr
));
}
public
String
getNumber
()
{
return
number
;
}
public
void
setNumber
(
String
number
)
{
this
.
number
=
number
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getState
()
{
return
state
;
}
public
void
setState
(
String
state
)
{
this
.
state
=
state
;
}
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
;
}
public
List
<
ObjFileLinkVO
>
getObjFileLinks
()
{
return
objFileLinks
;
}
public
void
setObjFileLinks
(
List
<
ObjFileLinkVO
>
objFileLinks
)
{
this
.
objFileLinks
=
objFileLinks
;
}
public
List
<
DxChangeAffectedDataVo
>
getChangeAffectedDatas
()
{
return
changeAffectedDatas
;
}
public
void
setChangeAffectedDatas
(
List
<
DxChangeAffectedDataVo
>
changeAffectedDatas
)
{
this
.
changeAffectedDatas
=
changeAffectedDatas
;
}
}
src/com/yonde/change/vo/pr/DxProblemReportVo.java
View file @
09bc7ce6
package
com
.
yonde
.
change
.
vo
.
pr
;
import
com.yonde.basedata.entity.users.DxUserVO
;
import
com.yonde.basedata.vo.DxOrganizationVO
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.basedata.vo.ObjFileLinkVO
;
import
com.yonde.change.vo.DxReportedAgainstVo
;
import
com.yonde.common.DxCommonUtils
;
import
com.yonde.common.IBAHelper
;
import
com.yonde.common.ObjectsUtil
;
import
com.yonde.context.vo.DxContextVO
;
import
org.apache.commons.lang.StringUtils
;
import
wt.change2.WTChangeIssue
;
import
wt.org.WTOrganization
;
import
wt.type.ClientTypedUtility
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Locale
;
/**
* PR
*/
public
class
DxProblemReportVo
extends
IdVO
implements
Serializable
{
private
String
name
;
private
String
number
;
private
String
state
;
private
String
problemSource
;
private
String
problemCategory
;
private
String
comments
;
...
...
@@ -20,8 +36,112 @@ public class DxProblemReportVo extends IdVO implements Serializable {
private
String
problemIdentity
;
private
Short
technologyPriority
;
private
DxContextVO
dxContext
;
private
Long
dxContextId
;
private
DxOrganizationVO
dxOrganization
;
private
Long
dxOrganizationId
;
private
String
dxOrganizationIdType
;
private
List
<
DxReportedAgainstVo
>
reportedAgainsts
;
private
List
<
ObjFileLinkVO
>
objFileLinks
;
public
DxProblemReportVo
()
{
}
public
DxProblemReportVo
(
WTChangeIssue
ifc
)
throws
Exception
{
super
(
ifc
);
this
.
name
=
ifc
.
getName
();
this
.
number
=
ifc
.
getNumber
();
this
.
state
=
ifc
.
getState
().
getState
().
toString
();
WTOrganization
organization
=
ifc
.
getOrganization
();
if
(
ObjectsUtil
.
nonNull
(
organization
))
{
this
.
setDxOrganization
(
new
DxOrganizationVO
(
organization
));
}
this
.
setDxContext
(
new
DxContextVO
(
ifc
.
getContainer
()));
this
.
subTypeName
=
"DxProblemReport"
;
//TODO 要映射
this
.
subTypeDisplayName
=
ClientTypedUtility
.
getLocalizedTypeName
(
ifc
,
Locale
.
SIMPLIFIED_CHINESE
);
this
.
setModifier
(
new
DxUserVO
(
ifc
.
getModifier
().
getPrincipal
()));
this
.
setCreator
(
new
DxUserVO
(
ifc
.
getCreator
().
getPrincipal
()));
this
.
dynamicAttrs
=
IBAHelper
.
getAllIBAValues
(
ifc
);
if
(
StringUtils
.
isNotEmpty
(
ifc
.
getDescription
()))
{
this
.
getDynamicAttrs
().
put
(
"description"
,
ifc
.
getDescription
());
}
this
.
setObjFileLinks
(
DxCommonUtils
.
buildObjFileLinks
(
ifc
));
}
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
;
}
public
String
getState
()
{
return
state
;
}
public
void
setState
(
String
state
)
{
this
.
state
=
state
;
}
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
List
<
ObjFileLinkVO
>
getObjFileLinks
()
{
return
objFileLinks
;
}
public
void
setObjFileLinks
(
List
<
ObjFileLinkVO
>
objFileLinks
)
{
this
.
objFileLinks
=
objFileLinks
;
}
public
String
getProblemSource
()
{
return
problemSource
;
}
...
...
src/com/yonde/common/ChangeOrderUtil.java
View file @
09bc7ce6
This diff is collapsed.
Click to expand it.
src/com/yonde/common/DxSearchUtil.java
View file @
09bc7ce6
...
...
@@ -5,7 +5,9 @@ import com.yonde.basedata.search.SearchItem;
import
com.yonde.basedata.search.SearchItems
;
import
com.yonde.basedata.search.SearchOperatorEnumUtil
;
import
com.yonde.basedata.search.SearchQueryCondition
;
import
com.yonde.basedata.vo.IdVO
;
import
com.yonde.change.vo.ecn.DxChangeNoticeVo
;
import
com.yonde.change.vo.ecr.DxChangeRequestVo
;
import
com.yonde.change.vo.pr.DxProblemReportVo
;
import
com.yonde.doc.vo.DxDocumentVO
;
import
com.yonde.part.vo.DxPartVO
;
import
org.apache.commons.collections.CollectionUtils
;
...
...
@@ -13,6 +15,10 @@ import org.apache.commons.lang.StringUtils;
import
org.apache.log4j.Logger
;
import
org.springframework.data.domain.PageImpl
;
import
org.springframework.data.domain.PageRequest
;
import
wt.change2.VersionableChangeItem
;
import
wt.change2.WTChangeIssue
;
import
wt.change2.WTChangeOrder2
;
import
wt.change2.WTChangeRequest2
;
import
wt.doc.WTDocument
;
import
wt.fc.*
;
import
wt.log4j.LogR
;
...
...
@@ -25,6 +31,7 @@ import wt.session.SessionServerHelper;
import
wt.util.WTAttributeNameIfc
;
import
wt.util.WTException
;
import
wt.vc.Iterated
;
import
wt.vc.baseline.Baseline
;
import
wt.vc.views.View
;
import
wt.vc.views.ViewHelper
;
import
wt.vc.wip.WorkInProgressHelper
;
...
...
@@ -80,7 +87,7 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
List
<
String
>
indices
=
searchQueryCondition
.
getIndices
();
Class
cls
=
WTPart
.
class
;
if
(
StringUtils
.
isNotEmpty
(
searchQueryCondition
.
getName
()))
{
cls
=
WTDocument
.
class
;
cls
=
SearchOperatorEnumUtil
.
typeMap
.
get
(
searchQueryCondition
.
getName
())
;
}
try
{
//合并查询条件
...
...
@@ -91,31 +98,39 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
//构建查询
QuerySpec
querySpec
=
DxSearchUtil
.
buildQuerySpec
(
searchItems
,
cls
);
//通用查询条件
// Case 1:检入状态
if
(
querySpec
.
getConditionCount
()
>
0
)
{
querySpec
.
appendAnd
();
}
querySpec
.
appendWhere
(
WorkInProgressHelper
.
getSearchCondition
(
cls
,
WorkInProgressState
.
CHECKED_IN
,
true
),
new
int
[]{
0
});
if
(
CollectionUtils
.
isNotEmpty
(
indices
))
{
if
(!
cls
.
getName
().
toLowerCase
().
contains
(
"change"
))
{
// Case 1:检入状态
if
(
querySpec
.
getConditionCount
()
>
0
)
{
querySpec
.
appendAnd
();
}
SearchCondition
condition
=
new
SearchCondition
(
cls
,
WTAttributeNameIfc
.
LATEST_ITERATION
,
SearchCondition
.
IS_TRUE
);
querySpec
.
appendWhere
(
condition
,
new
int
[]{
0
});
querySpec
.
appendWhere
(
WorkInProgressHelper
.
getSearchCondition
(
cls
,
WorkInProgressState
.
WORKING
,
false
),
new
int
[]{
0
});
if
(
CollectionUtils
.
isNotEmpty
(
indices
))
{
if
(
querySpec
.
getConditionCount
()
>
0
)
{
querySpec
.
appendAnd
();
}
SearchCondition
condition
=
new
SearchCondition
(
cls
,
WTAttributeNameIfc
.
LATEST_ITERATION
,
SearchCondition
.
IS_TRUE
);
querySpec
.
appendWhere
(
condition
,
new
int
[]{
0
});
}
}
//创建时间排序
querySpec
.
appendOrderBy
(
cls
,
"thePersistInfo.createStamp"
,
true
);
//page
int
pageFrom
=
0
;
int
pageSize
=
9999
;
if
(
ObjectsUtil
.
nonNull
(
searchQueryCondition
.
getPageFrom
()))
{
pageFrom
=
searchQueryCondition
.
getPageFrom
()
-
1
;
pageSize
=
searchQueryCondition
.
getPageSize
();
}
BasicPageableQuerySpec
bpqs
=
new
BasicPageableQuerySpec
();
bpqs
.
setPrimaryStatement
(
querySpec
);
logger
.
error
(
"pageFrom===="
+
(
searchQueryCondition
.
getPageFrom
()-
1
)*
searchQueryCondition
.
getPageSize
()
);
logger
.
error
(
"pageSize===="
+
searchQueryCondition
.
getPageSize
()
);
bpqs
.
setOffset
(
(
searchQueryCondition
.
getPageFrom
()-
1
)*
searchQueryCondition
.
getPageSize
()
);
bpqs
.
setRange
(
searchQueryCondition
.
getPageSize
()
);
logger
.
error
(
"pageFrom===="
+
pageFrom
*
pageSize
);
logger
.
error
(
"pageSize===="
+
pageSize
);
bpqs
.
setOffset
(
pageFrom
*
pageSize
);
bpqs
.
setRange
(
pageSize
);
bpqs
.
setBackgroundThreadEnabled
(
false
);
bpqs
.
setLimitModeEnabled
(
true
);
//bpqs.setAdvancedQueryEnabled();
...
...
@@ -129,23 +144,43 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
/**
* 生成反馈结果
* @param o
* @param
part
List
* @param
obj
List
* @param indices
* @throws Exception
*/
public
static
void
buildQueryResult
(
WTObject
o
,
List
part
List
,
List
<
String
>
indices
)
throws
Exception
{
public
static
void
buildQueryResult
(
WTObject
o
,
List
obj
List
,
List
<
String
>
indices
)
throws
Exception
{
if
(
o
instanceof
WTPart
)
{
WTPart
wtPart
=
(
WTPart
)
o
;
DxPartVO
dxPartVO
=
new
DxPartVO
(
wtPart
);
part
List
.
add
(
dxPartVO
);
obj
List
.
add
(
dxPartVO
);
return
;
}
if
(
o
instanceof
WTDocument
)
{
WTDocument
document
=
(
WTDocument
)
o
;
DxDocumentVO
dxPartVO
=
new
DxDocumentVO
(
document
);
partList
.
add
(
dxPartVO
);
}
else
{
//TODO ...other type
objList
.
add
(
dxPartVO
);
return
;
}
if
(
o
instanceof
WTChangeOrder2
)
{
WTChangeOrder2
changeOrder2
=
(
WTChangeOrder2
)
o
;
DxChangeNoticeVo
changeNoticeVo
=
new
DxChangeNoticeVo
(
changeOrder2
);
objList
.
add
(
changeNoticeVo
);
return
;
}
if
(
o
instanceof
WTChangeRequest2
)
{
WTChangeRequest2
changeRequest2
=
(
WTChangeRequest2
)
o
;
DxChangeRequestVo
changeRequestVo
=
new
DxChangeRequestVo
(
changeRequest2
);
objList
.
add
(
changeRequestVo
);
return
;
}
if
(
o
instanceof
WTChangeIssue
)
{
WTChangeIssue
issue
=
(
WTChangeIssue
)
o
;
DxProblemReportVo
problemReportVo
=
new
DxProblemReportVo
(
issue
);
objList
.
add
(
problemReportVo
);
return
;
}
if
(
o
instanceof
Baseline
)
{
// TODO 基线
}
}
...
...
@@ -255,6 +290,11 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
if
(
fieldName
.
toLowerCase
().
contains
(
"stamp"
)
&&
ObjectsUtil
.
nonNull
(
value
))
{
value
=
Timestamp
.
valueOf
(
String
.
valueOf
(
value
));
}
if
(
value
instanceof
Long
||
fieldName
.
contains
(
Iterated
.
MASTER_REFERENCE
)
||
fieldName
.
equalsIgnoreCase
(
WTAttributeNameIfc
.
ID_NAME
))
{
sc
=
new
SearchCondition
(
clazz
,
fieldName
,
op
,
Long
.
valueOf
(
String
.
valueOf
(
value
)));
return
sc
;
}
if
(
value
instanceof
String
)
{
String
scVal
=
String
.
valueOf
(
value
);
if
(
"LIKE"
.
equalsIgnoreCase
(
op
))
{
...
...
@@ -264,11 +304,6 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
op
,
scVal
);
return
sc
;
}
if
(
value
instanceof
Long
||
fieldName
.
contains
(
Iterated
.
MASTER_REFERENCE
)
||
fieldName
.
equalsIgnoreCase
(
WTAttributeNameIfc
.
ID_NAME
))
{
sc
=
new
SearchCondition
(
clazz
,
fieldName
,
op
,
Long
.
valueOf
(
String
.
valueOf
(
value
)));
return
sc
;
}
if
(
value
instanceof
Integer
)
{
sc
=
new
SearchCondition
(
clazz
,
fieldName
,
op
,
Integer
.
valueOf
(
String
.
valueOf
(
value
)));
...
...
src/com/yonde/common/RfUtil.java
View file @
09bc7ce6
package
com
.
yonde
.
common
;
import
com.yonde.basedata.search.SearchOperatorEnumUtil
;
import
wt.doc.WTDocument
;
import
wt.fc.PersistenceHelper
;
import
wt.fc.ReferenceFactory
;
import
wt.fc.WTObject
;
import
wt.fc.WTReference
;
import
wt.fc.*
;
import
wt.lifecycle.LifeCycleHelper
;
import
wt.method.RemoteMethodServer
;
import
wt.part.WTPart
;
...
...
@@ -96,6 +94,46 @@ public class RfUtil {
return
p
;
}
/**
* 通过oid获取WTObject
*
* @param id
* @return
* @throws WTException
* @throws RemoteException
* @throws InvocationTargetException
*/
public
static
WTObject
getWTObjectById
(
Long
id
)
{
WTObject
p
=
null
;
boolean
flag
=
SessionServerHelper
.
manager
.
setAccessEnforced
(
false
);
try
{
List
<
String
>
oidPrefixList
=
SearchOperatorEnumUtil
.
oidPrefixList
;
for
(
String
prefix:
oidPrefixList
)
{
p
=
getWTObjectById
(
id
,
prefix
);
if
(
ObjectsUtil
.
nonNull
(
p
))
{
break
;
}
}
}
finally
{
SessionServerHelper
.
manager
.
setAccessEnforced
(
flag
);
}
return
p
;
}
public
static
WTObject
getWTObjectById
(
Long
id
,
String
prefix
)
{
WTObject
p
=
null
;
try
{
String
oid
=
prefix
+
id
;
WTReference
wtreference
=
rf
.
getReference
(
oid
);
if
(
wtreference
!=
null
)
{
wtreference
.
refresh
();
p
=
(
WTObject
)
wtreference
.
getObject
();
}
}
catch
(
WTException
e
)
{
}
return
p
;
}
/**
* 根据对象oid获取WTReference
*
...
...
src/com/yonde/common/WorkflowUtil.java
View file @
09bc7ce6
...
...
@@ -758,6 +758,9 @@ public class WorkflowUtil implements RemoteAccess {
try
{
WfProcessDefinition
processDefinition
=
WfDefinerHelper
.
service
.
getProcessDefinition
(
templateName
,
context_ref
);
log
.
error
(
"===temp Name==="
+
templateName
);
log
.
error
(
"===context_ref==="
+
context_ref
);
log
.
error
(
"===processDefinition==="
+
processDefinition
);
wfprocess
=
WfEngineHelper
.
service
.
createProcess
(
processDefinition
,
team_spec
,
context_ref
);
wfprocess
.
setName
(
processname
);
ProcessData
processData
=
wfprocess
.
getContext
();
...
...
src/com/yonde/doc/controller/DxDocController.java
View file @
09bc7ce6
...
...
@@ -32,7 +32,6 @@ public class DxDocController extends AbstractBaseController {
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
dxDocumentVO
;
}
...
...
src/com/yonde/part/bean/PdmPartBean.java
View file @
09bc7ce6
...
...
@@ -16,6 +16,7 @@ import java.io.Serializable;
import
java.lang.reflect.InvocationTargetException
;
import
java.rmi.RemoteException
;
import
java.util.List
;
import
java.util.Locale
;
import
java.util.Map
;
public
class
PdmPartBean
implements
Serializable
,
Cloneable
{
...
...
@@ -50,7 +51,11 @@ public class PdmPartBean implements Serializable, Cloneable {
this
.
parentNumber
=
parent
.
getNumber
();
Quantity
qt
=
usageLink
.
getQuantity
();
this
.
setAmount
(
qt
.
getAmount
());
this
.
setUnit
(
qt
.
getUnit
().
toString
());
String
unit
=
qt
.
getUnit
().
getDisplay
(
Locale
.
SIMPLIFIED_CHINESE
);
if
(
"每个"
.
equals
(
unit
))
{
unit
=
"个"
;
}
this
.
setUnit
(
unit
);
WTPartMaster
uses
=
(
WTPartMaster
)
usageLink
.
getUses
();
WTPart
child
=
PartUtil
.
getLatestPartByNoViewWithState
(
uses
.
getNumber
(),
parent
.
getViewName
(),
null
,
false
);
if
(
ObjectsUtil
.
nonNull
(
child
))
{
...
...
src/com/yonde/part/controller/DxPartController.java
View file @
09bc7ce6
...
...
@@ -63,7 +63,6 @@ public class DxPartController extends AbstractBaseController {
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
dxPartVO
;
}
...
...
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