Commit 09bc7ce6 authored by shyWang's avatar shyWang

PDM前端改造

更改相关
parent 766187f2
...@@ -21,11 +21,9 @@ import java.util.Map; ...@@ -21,11 +21,9 @@ import java.util.Map;
public class AbstractBaseController { public class AbstractBaseController {
//@ApiOperation("根据模板id查询模板信息,包含模板节点、路径、及节点下的事件 路径下的事件") //@ApiOperation("根据模板id查询模板信息,包含模板节点、路径、及节点下的事件 路径下的事件")
@GetMapping({"/findDetail/{id}"}) @GetMapping({"/findDetail/{id}"})
public ApiResult<LifecycleTemplateVO> findDetail(@PathVariable Long id) { public ApiResult<LifecycleTemplateVO> findDetail(@PathVariable Long id) {
//return ApiResult.ok(this.getService().findDetail(id));
return ApiResult.ok(""); return ApiResult.ok("");
} }
...@@ -54,10 +52,7 @@ public class AbstractBaseController { ...@@ -54,10 +52,7 @@ public class AbstractBaseController {
} }
@DeleteMapping({"/batch/{ids}/{type}"})// id,id2,id3 linkId @DeleteMapping({"/batch/{ids}/{type}"})// id,id2,id3 linkId
//@SubPermission({"remove"})
public ApiResult deleteDxPartUsageLink(@PathVariable("ids") String ids, @PathVariable("type") String type) { public ApiResult deleteDxPartUsageLink(@PathVariable("ids") String ids, @PathVariable("type") String type) {
//this.getService().deleteAllIterationFromSameVersion(id);
try { try {
List<String> idList = new ArrayList<String>(); List<String> idList = new ArrayList<String>();
if (ObjectsUtil.nonNull(ids)) { if (ObjectsUtil.nonNull(ids)) {
...@@ -80,31 +75,6 @@ public class AbstractBaseController { ...@@ -80,31 +75,6 @@ public class AbstractBaseController {
return ApiResult.error("501", "删除失败", e); 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) { public SearchItems getPermSearchItems(BaseSearchCondition permSearchParams) {
SearchItems searchItems = new SearchItems(); SearchItems searchItems = new SearchItems();
......
...@@ -2,11 +2,17 @@ package com.yonde.basedata.search; ...@@ -2,11 +2,17 @@ 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.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.context.vo.DxContextVO;
import com.yonde.doc.vo.DxDocumentVO; import com.yonde.doc.vo.DxDocumentVO;
import com.yonde.part.vo.*; import com.yonde.part.vo.*;
import com.yonde.plan.vo.DxProcessDocDescribeLinkVO; import com.yonde.plan.vo.DxProcessDocDescribeLinkVO;
import com.yonde.plan.vo.DxProcessDocReferenceLinkVO; 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.clients.beans.query.WTAttribute;
import wt.doc.WTDocument; import wt.doc.WTDocument;
import wt.fc.ObjectIdentifier; import wt.fc.ObjectIdentifier;
...@@ -19,7 +25,9 @@ import wt.util.WTAttributeNameIfc; ...@@ -19,7 +25,9 @@ import wt.util.WTAttributeNameIfc;
import wt.vc.Iterated; import wt.vc.Iterated;
import wt.vc.views.ViewReference; import wt.vc.views.ViewReference;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
public class SearchOperatorEnumUtil { public class SearchOperatorEnumUtil {
...@@ -46,23 +54,43 @@ 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> 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<?>, Map<String, String>> typeSearchItemMap = new HashMap();// 类型搜索条件映射
public static final Map<Class<?>, String> typeItemMap = 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> typeStrPrefixMap = new HashMap();// 类型映射
public static final Map<String, String> viewMap = new HashMap();// 视图映射 public static final Map<String, String> viewMap = new HashMap();// 视图映射
public static final Map<Class<?>, String> typePrefixMap = new HashMap();// 类型映射 public static final Map<Class<?>, String> typePrefixMap = new HashMap();// 类型映射
public static final List<String> oidPrefixList = new ArrayList<String>();//PDM类型
static { static {
initSearchItemMap(); initSearchItemMap();
initPartItemMap(); initPartItemMap();
initDocItemMap(); initDocItemMap();
initChangeItemMap();
initTypeItemMap(); initTypeItemMap();
initTypeMap();
initViewMap(); initViewMap();
initTypePrefixMap(); 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() { public static void initViewMap() {
...@@ -71,6 +99,16 @@ public class SearchOperatorEnumUtil { ...@@ -71,6 +99,16 @@ public class SearchOperatorEnumUtil {
viewMap.put("3", "Manufacture"); 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() { public static void initTypePrefixMap() {
typePrefixMap.put(DxPartVO.class, "wt.part.WTPart:"); typePrefixMap.put(DxPartVO.class, "wt.part.WTPart:");
typePrefixMap.put(DxDocumentVO.class, "wt.doc.WTDocument:"); typePrefixMap.put(DxDocumentVO.class, "wt.doc.WTDocument:");
...@@ -87,6 +125,10 @@ public class SearchOperatorEnumUtil { ...@@ -87,6 +125,10 @@ public class SearchOperatorEnumUtil {
typeStrPrefixMap.put("com.yonde.dcs.xbom.common.entity.vo.DxPartVO", "wt.part.WTPart:"); typeStrPrefixMap.put("com.yonde.dcs.xbom.common.entity.vo.DxPartVO", "wt.part.WTPart:");
typeStrPrefixMap.put("DxPart", "wt.part.WTPart:"); typeStrPrefixMap.put("DxPart", "wt.part.WTPart:");
typeStrPrefixMap.put("DxDocument", "wt.doc.WTDocument:"); 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:"); typeStrPrefixMap.put("com.yonde.dcs.document.common.entity.vo.DxDocumentVO", "wt.doc.WTDocument:");
} }
...@@ -107,6 +149,10 @@ public class SearchOperatorEnumUtil { ...@@ -107,6 +149,10 @@ public class SearchOperatorEnumUtil {
typeItemMap.put(DxProcessDocReferenceLinkVO.class, "com.yonde.dcs.process.common.entity.vo.DxProcessDocReferenceLinkVO"); 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(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 //TODO add
} }
...@@ -127,8 +173,8 @@ public class SearchOperatorEnumUtil { ...@@ -127,8 +173,8 @@ public class SearchOperatorEnumUtil {
+ ViewReference.KEY + "." + ObjectIdentifier.ID); + ViewReference.KEY + "." + ObjectIdentifier.ID);
partSearchItemMap.put(DX_STATE, WTPart.LIFE_CYCLE_STATE); partSearchItemMap.put(DX_STATE, WTPart.LIFE_CYCLE_STATE);
partSearchItemMap.put(DX_MASTER_ID, Iterated.MASTER_REFERENCE + "." + ObjectReference.KEY + "." + ObjectIdentifier.ID); partSearchItemMap.put(DX_MASTER_ID, Iterated.MASTER_REFERENCE + "." + ObjectReference.KEY + "." + ObjectIdentifier.ID);
docSearchItemMap.put("createTime", WTPart.CREATE_TIMESTAMP); partSearchItemMap.put("createTime", WTPart.CREATE_TIMESTAMP);
docSearchItemMap.put("modifyTime", WTPart.MODIFY_TIMESTAMP); partSearchItemMap.put("modifyTime", WTPart.MODIFY_TIMESTAMP);
//部件类型映射 //部件类型映射
typeSearchItemMap.put(WTPart.class, partSearchItemMap); typeSearchItemMap.put(WTPart.class, partSearchItemMap);
...@@ -149,4 +195,19 @@ public class SearchOperatorEnumUtil { ...@@ -149,4 +195,19 @@ public class SearchOperatorEnumUtil {
typeSearchItemMap.put(WTDocument.class, docSearchItemMap); 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);
}
} }
...@@ -167,9 +167,12 @@ public class BaseSearchService <V extends IdVO> implements RemoteAccess { ...@@ -167,9 +167,12 @@ public class BaseSearchService <V extends IdVO> implements RemoteAccess {
String targetId = fileForm.getTargetId(); String targetId = fileForm.getTargetId();
String operator = fileForm.getOperator(); String operator = fileForm.getOperator();
String sourceIdType = fileForm.getSourceIdType(); String sourceIdType = fileForm.getSourceIdType();
ContentHolder holder = DxDocUtil.getDocById(sourceId); ContentHolder holder = null;
//DxDocUtil.getDocById(sourceId);
if (StringUtils.isNotEmpty(sourceIdType) && sourceIdType.toLowerCase().contains("part")) { if (StringUtils.isNotEmpty(sourceIdType) && sourceIdType.toLowerCase().contains("part")) {
holder = DxPartUtil.getPartById(sourceId); holder = DxPartUtil.getPartById(sourceId);
} else {
holder = (ContentHolder) RfUtil.getWTObjectById(sourceId);
} }
if ("ADD".equalsIgnoreCase(operator)) { if ("ADD".equalsIgnoreCase(operator)) {
ContentRoleType roleType = ContentRoleType.PRIMARY; ContentRoleType roleType = ContentRoleType.PRIMARY;
......
...@@ -34,7 +34,7 @@ public class IdVO extends IdOnlyVO implements Serializable { ...@@ -34,7 +34,7 @@ public class IdVO extends IdOnlyVO implements Serializable {
this.setId(PersistenceHelper.getObjectIdentifier(object).getId()); this.setId(PersistenceHelper.getObjectIdentifier(object).getId());
this.createTime = DateTimeUtil.timeStampToString(object.getCreateTimestamp()); this.createTime = DateTimeUtil.timeStampToString(object.getCreateTimestamp());
this.modifyTime = DateTimeUtil.timeStampToString(object.getModifyTimestamp()); this.modifyTime = DateTimeUtil.timeStampToString(object.getModifyTimestamp());
}finally { } finally {
SessionContext.setContext(previous); SessionContext.setContext(previous);
} }
......
package com.yonde.change.controller; package com.yonde.change.controller;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.yonde.basedata.controller.AbstractBaseController;
import com.yonde.basedata.entity.api.ApiResult; 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.ecn.DxChangeNoticeVo;
import com.yonde.change.vo.ecr.DxChangeRequestVo; import com.yonde.change.vo.ecr.DxChangeRequestVo;
import com.yonde.change.vo.pr.DxProblemReportVo; import com.yonde.change.vo.pr.DxProblemReportVo;
import com.yonde.common.ObjectsUtil; 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.service.DxPartService;
import com.yonde.part.vo.DxPartVO; import com.yonde.part.vo.DxPartVO;
import org.springframework.web.bind.annotation.PostMapping; import org.apache.commons.lang.StringUtils;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.Map; import java.util.Map;
@RestController @RestController
@RequestMapping({"/changeOrder"}) @RequestMapping({"/changeOrder"})
public class DxChangeOrderController { public class DxChangeOrderController extends AbstractBaseController {
//@ApiOperation("深度保存对象") //@ApiOperation("深度保存对象")
@PostMapping({"createPR"}) @PostMapping({"createPR"})
public ApiResult recursionPR(@RequestBody Map entity, HttpServletRequest request) { public ApiResult recursionPR(@RequestBody Map entity, HttpServletRequest request) {
DxPartVO part = null; DxProblemReportVo pr = null;
try { try {
String jsonString = JSON.toJSONString(entity); String jsonString = JSON.toJSONString(entity);
DxProblemReportVo entityVO = JSON.parseObject(jsonString, DxProblemReportVo.class); DxProblemReportVo entityVO = JSON.parseObject(jsonString, DxProblemReportVo.class);
...@@ -34,9 +41,9 @@ public class DxChangeOrderController { ...@@ -34,9 +41,9 @@ public class DxChangeOrderController {
//更新link //更新link
//part = DxPartService.updateDxPartUsageLink(entityVO); //part = DxPartService.updateDxPartUsageLink(entityVO);
} else { } else {
//part = DxPartService.createDxPart(entityVO, portUserName); pr = DXChangeOrderService.createPR(entityVO, portUserName);
} }
return ApiResult.ok(part); return ApiResult.ok(pr);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return ApiResult.error("501", e.getLocalizedMessage(), e); return ApiResult.error("501", e.getLocalizedMessage(), e);
...@@ -46,7 +53,7 @@ public class DxChangeOrderController { ...@@ -46,7 +53,7 @@ public class DxChangeOrderController {
//@ApiOperation("深度保存对象") //@ApiOperation("深度保存对象")
@PostMapping({"createECR"}) @PostMapping({"createECR"})
public ApiResult recursionECR(@RequestBody Map entity, HttpServletRequest request) { public ApiResult recursionECR(@RequestBody Map entity, HttpServletRequest request) {
DxPartVO part = null; DxChangeRequestVo ecr = null;
try { try {
String jsonString = JSON.toJSONString(entity); String jsonString = JSON.toJSONString(entity);
DxChangeRequestVo entityVO = JSON.parseObject(jsonString, DxChangeRequestVo.class); DxChangeRequestVo entityVO = JSON.parseObject(jsonString, DxChangeRequestVo.class);
...@@ -55,9 +62,9 @@ public class DxChangeOrderController { ...@@ -55,9 +62,9 @@ public class DxChangeOrderController {
//更新link //更新link
//part = DxPartService.updateDxPartUsageLink(entityVO); //part = DxPartService.updateDxPartUsageLink(entityVO);
} else { } else {
//part = DxPartService.createDxPart(entityVO, portUserName); ecr = DXChangeOrderService.createECR(entityVO, portUserName);
} }
return ApiResult.ok(part); return ApiResult.ok(ecr);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return ApiResult.error("501", e.getLocalizedMessage(), e); return ApiResult.error("501", e.getLocalizedMessage(), e);
...@@ -67,7 +74,7 @@ public class DxChangeOrderController { ...@@ -67,7 +74,7 @@ public class DxChangeOrderController {
//@ApiOperation("深度保存对象") //@ApiOperation("深度保存对象")
@PostMapping({"createECN"}) @PostMapping({"createECN"})
public ApiResult recursionECN(@RequestBody Map entity, HttpServletRequest request) { public ApiResult recursionECN(@RequestBody Map entity, HttpServletRequest request) {
DxPartVO part = null; DxChangeNoticeVo ecn = null;
try { try {
String jsonString = JSON.toJSONString(entity); String jsonString = JSON.toJSONString(entity);
DxChangeNoticeVo entityVO = JSON.parseObject(jsonString, DxChangeNoticeVo.class); DxChangeNoticeVo entityVO = JSON.parseObject(jsonString, DxChangeNoticeVo.class);
...@@ -76,12 +83,62 @@ public class DxChangeOrderController { ...@@ -76,12 +83,62 @@ public class DxChangeOrderController {
//更新link //更新link
//part = DxPartService.updateDxPartUsageLink(entityVO); //part = DxPartService.updateDxPartUsageLink(entityVO);
} else { } else {
//part = DxPartService.createDxPart(entityVO, portUserName); ecn = DXChangeOrderService.createECN(entityVO, portUserName);
} }
return ApiResult.ok(part); return ApiResult.ok(ecn);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return ApiResult.error("501", e.getLocalizedMessage(), e); 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;
}
} }
This diff is collapsed.
package com.yonde.change.vo; package com.yonde.change.vo;
import com.yonde.basedata.vo.IdVO;
import com.yonde.basedata.vo.RevisionControlledVO; import com.yonde.basedata.vo.RevisionControlledVO;
import com.yonde.common.entity.DxIterationVOHolder; import com.yonde.common.entity.DxIterationVOHolder;
import java.io.Serializable;
/** /**
* 受影响对象LINK * 受影响对象LINK
*/ */
public class DxChangeAffectedDataVo { public class DxChangeAffectedDataVo implements Serializable {
private String pboType; private String pboType;
private Long pboId; private Long pboId;
...@@ -29,11 +32,32 @@ public class DxChangeAffectedDataVo { ...@@ -29,11 +32,32 @@ public class DxChangeAffectedDataVo {
public String displayDxViewName; public String displayDxViewName;
private RevisionControlledVO target; private RevisionControlledVO target;
private IdVO source;
private Long sourceId; private Long sourceId;
private String sourceIdType; private String sourceIdType;
private Long targetId; private Long targetId;
private String targetIdType; 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() { public String getPboType() {
return pboType; return pboType;
} }
......
...@@ -12,6 +12,24 @@ public class DxChangeAfterDataVo { ...@@ -12,6 +12,24 @@ public class DxChangeAfterDataVo {
private String sourceIdType; private String sourceIdType;
private Long targetId; private Long targetId;
private String targetIdType; 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() { public RevisionControlledVO getTarget() {
return target; return target;
......
package com.yonde.change.vo;
import com.yonde.basedata.vo.IdVO;
import java.io.Serializable;
public class DxChangeItemVo extends IdVO implements Serializable {
}
package com.yonde.change.vo; package com.yonde.change.vo;
import com.yonde.basedata.vo.IdVO;
import com.yonde.basedata.vo.RevisionControlledVO; import com.yonde.basedata.vo.RevisionControlledVO;
import com.yonde.change.vo.pr.DxProblemReportVo;
import com.yonde.common.ObjectsUtil;
import java.io.Serializable; 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 Long sourceId;
private String sourceIdType; private String sourceIdType;
private RevisionControlledVO target;//
private Long targetId; private Long targetId;
private String targetIdType; 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() { public RevisionControlledVO getTarget() {
return target; return target;
} }
......
package com.yonde.change.vo.ecn; package com.yonde.change.vo.ecn;
import com.yonde.basedata.entity.users.DxUserVO;
import com.yonde.basedata.vo.DxOrganizationVO; import com.yonde.basedata.vo.DxOrganizationVO;
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.change.vo.DxChangeAffectedDataVo; import com.yonde.change.vo.DxChangeAffectedDataVo;
import com.yonde.change.vo.DxChangeAfterDataVo; import com.yonde.change.vo.DxChangeAfterDataVo;
import com.yonde.common.ChangeOrderUtil;
import com.yonde.common.DxCommonUtils; import com.yonde.common.DxCommonUtils;
import com.yonde.common.IBAHelper; import com.yonde.common.IBAHelper;
import com.yonde.common.ObjectsUtil;
import com.yonde.context.vo.DxContextVO; import com.yonde.context.vo.DxContextVO;
import wt.change2.WTChangeOrder2; import wt.change2.WTChangeOrder2;
import wt.org.WTOrganization; import wt.org.WTOrganization;
import wt.util.WTException; import wt.type.ClientTypedUtility;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
import java.util.Locale;
public class DxChangeNoticeVo extends IdVO implements Serializable { public class DxChangeNoticeVo extends IdVO implements Serializable {
...@@ -45,10 +47,15 @@ public class DxChangeNoticeVo extends IdVO implements Serializable { ...@@ -45,10 +47,15 @@ public class DxChangeNoticeVo extends IdVO implements Serializable {
this.number = wtChangeOrder2.getNumber(); this.number = wtChangeOrder2.getNumber();
this.state = wtChangeOrder2.getState().getState().toString(); this.state = wtChangeOrder2.getState().getState().toString();
WTOrganization organization = wtChangeOrder2.getOrganization(); 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.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.dynamicAttrs = IBAHelper.getAllIBAValues(wtChangeOrder2);
this.subTypeName = "DxChangeNotice";//TODO 要映射
this.subTypeDisplayName = ClientTypedUtility.getLocalizedTypeName(wtChangeOrder2, Locale.SIMPLIFIED_CHINESE);
this.setObjFileLinks(DxCommonUtils.buildObjFileLinks(wtChangeOrder2)); this.setObjFileLinks(DxCommonUtils.buildObjFileLinks(wtChangeOrder2));
//ChangeOrderUtil.get //ChangeOrderUtil.get
......
package com.yonde.change.vo.ecr; 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.DxOrganizationVO;
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.change.vo.DxChangeAffectedDataVo; 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 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.List;
import java.util.Locale;
/** /**
* ECR * ECR
*/ */
public class DxChangeRequestVo extends IdVO { public class DxChangeRequestVo extends IdVO implements Serializable {
private String number; private String number;
private String name; private String name;
...@@ -23,8 +34,111 @@ public class DxChangeRequestVo extends IdVO { ...@@ -23,8 +34,111 @@ public class DxChangeRequestVo extends IdVO {
private Long dxOrganizationId; private Long dxOrganizationId;
private String dxOrganizationIdType; private String dxOrganizationIdType;
private DxDocumentFolderVO folderVO;
private List<ObjFileLinkVO> objFileLinks; private List<ObjFileLinkVO> objFileLinks;
//受影响对象 //受影响对象
private List<DxChangeAffectedDataVo> changeAffectedDatas; 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;
}
} }
package com.yonde.change.vo.pr; 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.IdVO;
import com.yonde.basedata.vo.ObjFileLinkVO;
import com.yonde.change.vo.DxReportedAgainstVo; 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.io.Serializable;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Locale;
/** /**
* PR * PR
*/ */
public class DxProblemReportVo extends IdVO implements Serializable { public class DxProblemReportVo extends IdVO implements Serializable {
private String name;
private String number;
private String state;
private String problemSource; private String problemSource;
private String problemCategory; private String problemCategory;
private String comments; private String comments;
...@@ -20,8 +36,112 @@ public class DxProblemReportVo extends IdVO implements Serializable { ...@@ -20,8 +36,112 @@ public class DxProblemReportVo extends IdVO implements Serializable {
private String problemIdentity; private String problemIdentity;
private Short technologyPriority; private Short technologyPriority;
private DxContextVO dxContext;
private Long dxContextId;
private DxOrganizationVO dxOrganization;
private Long dxOrganizationId;
private String dxOrganizationIdType;
private List<DxReportedAgainstVo> reportedAgainsts; 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() { public String getProblemSource() {
return problemSource; return problemSource;
} }
......
This diff is collapsed.
...@@ -5,7 +5,9 @@ import com.yonde.basedata.search.SearchItem; ...@@ -5,7 +5,9 @@ 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.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.doc.vo.DxDocumentVO;
import com.yonde.part.vo.DxPartVO; import com.yonde.part.vo.DxPartVO;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -13,6 +15,10 @@ import org.apache.commons.lang.StringUtils; ...@@ -13,6 +15,10 @@ 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.WTChangeOrder2;
import wt.change2.WTChangeRequest2;
import wt.doc.WTDocument; import wt.doc.WTDocument;
import wt.fc.*; import wt.fc.*;
import wt.log4j.LogR; import wt.log4j.LogR;
...@@ -25,6 +31,7 @@ import wt.session.SessionServerHelper; ...@@ -25,6 +31,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.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;
...@@ -80,7 +87,7 @@ public class DxSearchUtil implements RemoteAccess, Serializable { ...@@ -80,7 +87,7 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
List<String> indices = searchQueryCondition.getIndices(); List<String> indices = searchQueryCondition.getIndices();
Class cls = WTPart.class; Class cls = WTPart.class;
if (StringUtils.isNotEmpty(searchQueryCondition.getName())) { if (StringUtils.isNotEmpty(searchQueryCondition.getName())) {
cls = WTDocument.class; cls = SearchOperatorEnumUtil.typeMap.get(searchQueryCondition.getName());
} }
try { try {
//合并查询条件 //合并查询条件
...@@ -91,31 +98,39 @@ public class DxSearchUtil implements RemoteAccess, Serializable { ...@@ -91,31 +98,39 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
//构建查询 //构建查询
QuerySpec querySpec = DxSearchUtil.buildQuerySpec(searchItems, cls); QuerySpec querySpec = DxSearchUtil.buildQuerySpec(searchItems, cls);
//通用查询条件 //通用查询条件
// Case 1:检入状态 if (!cls.getName().toLowerCase().contains("change")) {
if (querySpec.getConditionCount() > 0) { // Case 1:检入状态
querySpec.appendAnd();
}
querySpec.appendWhere(
WorkInProgressHelper.getSearchCondition(
cls, WorkInProgressState.CHECKED_IN, true),
new int[]{0});
if (CollectionUtils.isNotEmpty(indices)) {
if (querySpec.getConditionCount() > 0) { if (querySpec.getConditionCount() > 0) {
querySpec.appendAnd(); querySpec.appendAnd();
} }
SearchCondition condition = new SearchCondition(cls, WTAttributeNameIfc.LATEST_ITERATION, querySpec.appendWhere(
SearchCondition.IS_TRUE); WorkInProgressHelper.getSearchCondition(
querySpec.appendWhere(condition, new int[]{0}); 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); querySpec.appendOrderBy(cls, "thePersistInfo.createStamp", true);
//page //page
int pageFrom = 0;
int pageSize = 9999;
if (ObjectsUtil.nonNull(searchQueryCondition.getPageFrom())) {
pageFrom = searchQueryCondition.getPageFrom() -1;
pageSize = searchQueryCondition.getPageSize();
}
BasicPageableQuerySpec bpqs = new BasicPageableQuerySpec(); BasicPageableQuerySpec bpqs = new BasicPageableQuerySpec();
bpqs.setPrimaryStatement(querySpec); bpqs.setPrimaryStatement(querySpec);
logger.error("pageFrom====" + (searchQueryCondition.getPageFrom()-1)*searchQueryCondition.getPageSize()); logger.error("pageFrom====" + pageFrom*pageSize);
logger.error("pageSize====" + searchQueryCondition.getPageSize()); logger.error("pageSize====" + pageSize);
bpqs.setOffset((searchQueryCondition.getPageFrom()-1)*searchQueryCondition.getPageSize()); bpqs.setOffset(pageFrom*pageSize);
bpqs.setRange(searchQueryCondition.getPageSize()); bpqs.setRange(pageSize);
bpqs.setBackgroundThreadEnabled(false); bpqs.setBackgroundThreadEnabled(false);
bpqs.setLimitModeEnabled(true); bpqs.setLimitModeEnabled(true);
//bpqs.setAdvancedQueryEnabled(); //bpqs.setAdvancedQueryEnabled();
...@@ -129,23 +144,43 @@ public class DxSearchUtil implements RemoteAccess, Serializable { ...@@ -129,23 +144,43 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
/** /**
* 生成反馈结果 * 生成反馈结果
* @param o * @param o
* @param partList * @param objList
* @param indices * @param indices
* @throws Exception * @throws Exception
*/ */
public static void buildQueryResult(WTObject o, List partList, List<String> indices) throws Exception { public static void buildQueryResult(WTObject o, List objList, List<String> indices) throws Exception {
if (o instanceof WTPart) { if (o instanceof WTPart) {
WTPart wtPart = (WTPart) o; WTPart wtPart = (WTPart) o;
DxPartVO dxPartVO = new DxPartVO(wtPart); DxPartVO dxPartVO = new DxPartVO(wtPart);
partList.add(dxPartVO); objList.add(dxPartVO);
return; return;
} }
if (o instanceof WTDocument) { if (o instanceof WTDocument) {
WTDocument document = (WTDocument) o; WTDocument document = (WTDocument) o;
DxDocumentVO dxPartVO = new DxDocumentVO(document); DxDocumentVO dxPartVO = new DxDocumentVO(document);
partList.add(dxPartVO); objList.add(dxPartVO);
} else { return;
//TODO ...other type }
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 { ...@@ -255,6 +290,11 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
if (fieldName.toLowerCase().contains("stamp") && ObjectsUtil.nonNull(value)) { if (fieldName.toLowerCase().contains("stamp") && ObjectsUtil.nonNull(value)) {
value = Timestamp.valueOf(String.valueOf(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) { if (value instanceof String) {
String scVal = String.valueOf(value); String scVal = String.valueOf(value);
if("LIKE".equalsIgnoreCase(op)) { if("LIKE".equalsIgnoreCase(op)) {
...@@ -264,11 +304,6 @@ public class DxSearchUtil implements RemoteAccess, Serializable { ...@@ -264,11 +304,6 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
op, scVal); op, scVal);
return sc; 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) { if (value instanceof Integer) {
sc = new SearchCondition(clazz, fieldName, sc = new SearchCondition(clazz, fieldName,
op, Integer.valueOf(String.valueOf(value))); op, Integer.valueOf(String.valueOf(value)));
......
package com.yonde.common; package com.yonde.common;
import com.yonde.basedata.search.SearchOperatorEnumUtil;
import wt.doc.WTDocument; import wt.doc.WTDocument;
import wt.fc.PersistenceHelper; import wt.fc.*;
import wt.fc.ReferenceFactory;
import wt.fc.WTObject;
import wt.fc.WTReference;
import wt.lifecycle.LifeCycleHelper; import wt.lifecycle.LifeCycleHelper;
import wt.method.RemoteMethodServer; import wt.method.RemoteMethodServer;
import wt.part.WTPart; import wt.part.WTPart;
...@@ -96,6 +94,46 @@ public class RfUtil { ...@@ -96,6 +94,46 @@ public class RfUtil {
return p; 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 * 根据对象oid获取WTReference
* *
......
...@@ -758,6 +758,9 @@ public class WorkflowUtil implements RemoteAccess { ...@@ -758,6 +758,9 @@ public class WorkflowUtil implements RemoteAccess {
try { try {
WfProcessDefinition processDefinition = WfProcessDefinition processDefinition =
WfDefinerHelper.service.getProcessDefinition(templateName, context_ref); 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 = WfEngineHelper.service.createProcess(processDefinition, team_spec, context_ref);
wfprocess.setName(processname); wfprocess.setName(processname);
ProcessData processData = wfprocess.getContext(); ProcessData processData = wfprocess.getContext();
......
...@@ -32,7 +32,6 @@ public class DxDocController extends AbstractBaseController { ...@@ -32,7 +32,6 @@ public class DxDocController extends AbstractBaseController {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return dxDocumentVO; return dxDocumentVO;
} }
......
...@@ -16,6 +16,7 @@ import java.io.Serializable; ...@@ -16,6 +16,7 @@ import java.io.Serializable;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.rmi.RemoteException; import java.rmi.RemoteException;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Map; import java.util.Map;
public class PdmPartBean implements Serializable, Cloneable { public class PdmPartBean implements Serializable, Cloneable {
...@@ -50,7 +51,11 @@ public class PdmPartBean implements Serializable, Cloneable { ...@@ -50,7 +51,11 @@ public class PdmPartBean implements Serializable, Cloneable {
this.parentNumber = parent.getNumber(); this.parentNumber = parent.getNumber();
Quantity qt = usageLink.getQuantity(); Quantity qt = usageLink.getQuantity();
this.setAmount(qt.getAmount()); 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(); WTPartMaster uses = (WTPartMaster) usageLink.getUses();
WTPart child = PartUtil.getLatestPartByNoViewWithState(uses.getNumber(), parent.getViewName(), null, false); WTPart child = PartUtil.getLatestPartByNoViewWithState(uses.getNumber(), parent.getViewName(), null, false);
if (ObjectsUtil.nonNull(child)) { if (ObjectsUtil.nonNull(child)) {
......
...@@ -63,7 +63,6 @@ public class DxPartController extends AbstractBaseController { ...@@ -63,7 +63,6 @@ public class DxPartController extends AbstractBaseController {
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return dxPartVO; return dxPartVO;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment