Commit 52e269b4 authored by shyWang's avatar shyWang

PDM前端改造

更改相关
parent 09bc7ce6
......@@ -14,6 +14,7 @@ import com.yonde.part.vo.DxUsageLinkVO;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
......@@ -27,6 +28,11 @@ public class AbstractBaseController {
return ApiResult.ok("");
}
@GetMapping({"/findWTObj/{id}"})
public ApiResult<LifecycleTemplateVO> findWTObj(@PathVariable Long id) {
return ApiResult.ok("");
}
//@ApiOperation("配置规范查询")
@PostMapping({"findBySpec"})
Map<String, Object> findByConfigSpec(@RequestBody SearchQueryCondition specSearch) {
......@@ -76,6 +82,24 @@ public class AbstractBaseController {
}
}
@PostMapping({"/version/newVersions"})
public List newVersions(@RequestBody Map idMap, HttpServletRequest request) {
String ids = (String) idMap.get("ids");
List<String> idList = new ArrayList<String>();
if (ObjectsUtil.nonNull(ids)) {
String[] split = ids.split(",");
idList = new ArrayList<String>(Arrays.asList(split));
}
String portUserName = request.getHeader("portUserName");
List list = new ArrayList<String>();
try {
list = BaseSearchService.newVersions(idList, portUserName);
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
public SearchItems getPermSearchItems(BaseSearchCondition permSearchParams) {
SearchItems searchItems = new SearchItems();
searchItems.setOperator(SearchItems.BooleanOperator.AND);
......
......@@ -2,6 +2,9 @@ package com.yonde.basedata.search;
import com.yonde.basedata.entity.users.DxUserVO;
import com.yonde.basedata.vo.*;
import com.yonde.change.vo.DxChangeAffectedDataVo;
import com.yonde.change.vo.DxChangeAfterDataVo;
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;
......@@ -101,6 +104,7 @@ public class SearchOperatorEnumUtil {
public static void initTypeMap() {
typeMap.put("DxDocument", WTDocument.class);
typeMap.put("doc", WTDocument.class);
typeMap.put("DxPart", WTPart.class);
typeMap.put("DxChangeRequest", WTChangeRequest2.class);
typeMap.put("DxChangeNotice", WTChangeOrder2.class);
......@@ -152,7 +156,9 @@ public class SearchOperatorEnumUtil {
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");
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(DxChangeAfterDataVo.class, "com.yonde.dcs.cmt.common.entity.vo.DxChangeAfterDataVo");
//TODO add
}
......
......@@ -9,6 +9,8 @@ import com.yonde.basedata.vo.ObjFileLinkVO;
import com.yonde.common.*;
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 org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
......@@ -27,6 +29,7 @@ import wt.method.RemoteMethodServer;
import wt.part.WTPart;
import wt.session.SessionContext;
import wt.session.SessionHelper;
import wt.session.SessionServerHelper;
import wt.util.WTProperties;
import java.io.File;
......@@ -105,6 +108,42 @@ public class BaseSearchService <V extends IdVO> implements RemoteAccess {
return false;
}
public static List newVersions(List<String> idList, String userName) throws Exception {
if (!RemoteMethodServer.ServerFlag) {
return (List) RemoteMethodServer.getDefault().invoke("newVersions", BaseSearchService.class.getName(), null,
new Class[] { List.class, String.class },
new Object[] { idList,userName });
}
CommonUtil.initSessionContext(userName);
List resultList = new ArrayList();
boolean enforced = SessionServerHelper.manager.setAccessEnforced(false);
try {
for (String id : idList) {
WTObject wtObjectById = RfUtil.getWTObjectById(Long.valueOf(id));
String comment = userName + "修订";
if (wtObjectById instanceof WTPart) {
WTPart wtPart = (WTPart) wtObjectById;
wtPart = PartUtil.reviseWTPart(wtPart, comment);
DxPartVO dxPart = new DxPartVO(wtPart);
resultList.add(dxPart);
continue;
}
if (wtObjectById instanceof WTDocument) {
WTDocument wtDocument = (WTDocument) wtObjectById;
wtDocument = DocUtil.reviseWTDocument(wtDocument, comment);
DxDocumentVO dxDocumentVO = new DxDocumentVO(wtDocument);
resultList.add(dxDocumentVO);
continue;
}
//TODO other type add
}
} finally {
SessionServerHelper.manager.setAccessEnforced(enforced);
}
return resultList;
}
public static void uploadFile(CommonsMultipartFile file, ObjFileLinkVO fileForm) throws Exception {
if (!RemoteMethodServer.ServerFlag) {
RemoteMethodServer.getDefault().invoke("uploadFile", BaseSearchService.class.getName(), null,
......
......@@ -2,6 +2,7 @@ package com.yonde.basedata.vo;
import com.yonde.basedata.entity.users.DxUserVO;
import com.yonde.common.DateTimeUtil;
import wt.change2.VersionableChangeItem;
import wt.doc.WTDocument;
import wt.doc.WTDocumentMaster;
import wt.enterprise.RevisionControlled;
......@@ -56,6 +57,18 @@ public class DxMasterVO extends IdVO implements Serializable {
}
}
public DxMasterVO(VersionableChangeItem changeItem) throws WTException {
this.id = PersistenceHelper.getObjectIdentifier(changeItem).getId();
this.objectType = changeItem.getDisplayType().toString();
this.number = changeItem.getName();
this.name = changeItem.getName();
this.setCreator(new DxUserVO(changeItem.getCreator().getPrincipal()));
this.setModifier(new DxUserVO(changeItem.getModifier().getPrincipal()));
this.creatorId = this.getCreator().getUserId();
this.modifierId = this.getModifier().getUserId();
this.subTypeName = "DxMaster";
}
public String getNumber() {
return number;
}
......
package com.yonde.basedata.vo;
import com.yonde.common.DateTimeUtil;
import wt.change2.VersionableChangeItem;
import wt.enterprise.RevisionControlled;
import wt.fc.PersistenceHelper;
import wt.util.WTException;
......@@ -41,6 +42,20 @@ public class DxVersionVO implements Serializable {
}
}
public DxVersionVO(VersionableChangeItem controlled) throws WTException {
if(null != controlled) {
this.versionKey = controlled.getVersionIdentifier().getValue();
this.masterId = PersistenceHelper.getObjectIdentifier(controlled.getMaster()).getId();
//this.master = new DxMasterVO(controlled);
this.checkOuted = false;
this.versionId = PersistenceHelper.getObjectIdentifier(controlled).getId();
this.displayVersion = this.versionKey + "." + controlled.getIterationIdentifier().getValue();
this.iterationId = controlled.getIterationIdentifier().getValue();
this.iterationCreateTime = DateTimeUtil.timeStampToString(controlled.getCreateTimestamp());
this.iterationCreateId = PersistenceHelper.getObjectIdentifier(controlled.getCreator().getObject()).getId();
}
}
public String getVersionKey() {
return versionKey;
}
......
......@@ -97,13 +97,13 @@ public class RevisionControlledVO extends IdVO implements Serializable {
} else {
if (WorkInProgressHelper.isCheckedOut(object)) {
Workable copyVersion = CommonUtil.getWorkingCopyVersion(object);
if (ObjectsUtil.isNull(copyVersion.getLocker())) {
if (ObjectsUtil.nonNull(copyVersion.getLocker())) {
if (copyVersion instanceof WTDocument) {
WTDocument previousVersionDoc = CommonUtil.getPreviousVersionDoc((WTDocument) copyVersion);
this.setLockerSign(previousVersionDoc);
//WTDocument previousVersionDoc = CommonUtil.getPreviousVersionDoc((WTDocument) copyVersion);
this.setLockerSign((WTDocument) copyVersion);
} else if (copyVersion instanceof WTPart) {
WTPart wtPart = CommonUtil.getPreviousVersion((WTPart) copyVersion);
this.setLockerSign(wtPart);
//WTPart wtPart = CommonUtil.getPreviousVersion((WTPart) copyVersion);
this.setLockerSign((WTPart) copyVersion);
}
// TODO
}
......
......@@ -7,16 +7,16 @@ 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.DxAddressedByVo;
import com.yonde.change.vo.ecn.DxChangeNoticeVo;
import com.yonde.change.vo.ecr.DxChangeRequestVo;
import com.yonde.change.vo.ecr.DxFormalizedByVo;
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.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.web.bind.annotation.*;
import wt.log4j.LogR;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
......@@ -28,25 +28,27 @@ import java.util.Map;
@RequestMapping({"/changeOrder"})
public class DxChangeOrderController extends AbstractBaseController {
private static final Logger log = LogR.getLogger(DxChangeOrderController.class.getName());
//@ApiOperation("深度保存对象")
@PostMapping({"createPR"})
public ApiResult recursionPR(@RequestBody Map entity, HttpServletRequest request) {
DxProblemReportVo pr = null;
try {
String jsonString = JSON.toJSONString(entity);
log.error("PR param======" + entity);
DxProblemReportVo entityVO = JSON.parseObject(jsonString, DxProblemReportVo.class);
log.error("PR entityVO======" + entityVO);
String portUserName = request.getHeader("portUserName");
if (ObjectsUtil.nonNull(entityVO.getOperator()) && entityVO.getOperator().equals("NO_CHANGE")) {
if (ObjectsUtil.nonNull(entityVO.getOperator()) && entityVO.getOperator().equals("MODIFY")) {
//更新link
//part = DxPartService.updateDxPartUsageLink(entityVO);
pr = DXChangeOrderService.modifyPR(entityVO, portUserName);
} else {
pr = DXChangeOrderService.createPR(entityVO, portUserName);
}
return ApiResult.ok(pr);
} catch (Exception e) {
e.printStackTrace();
return ApiResult.error("501", e.getLocalizedMessage(), e);
return ApiResult.error("501", e.getCause().getLocalizedMessage(), e);
}
}
......@@ -58,16 +60,16 @@ public class DxChangeOrderController extends AbstractBaseController {
String jsonString = JSON.toJSONString(entity);
DxChangeRequestVo entityVO = JSON.parseObject(jsonString, DxChangeRequestVo.class);
String portUserName = request.getHeader("portUserName");
if (ObjectsUtil.nonNull(entityVO.getOperator()) && entityVO.getOperator().equals("NO_CHANGE")) {
if (ObjectsUtil.nonNull(entityVO.getOperator()) && entityVO.getOperator().equals("MODIFY")) {
//更新link
//part = DxPartService.updateDxPartUsageLink(entityVO);
ecr = DXChangeOrderService.modifyECR(entityVO, portUserName);
} else {
ecr = DXChangeOrderService.createECR(entityVO, portUserName);
}
return ApiResult.ok(ecr);
} catch (Exception e) {
e.printStackTrace();
return ApiResult.error("501", e.getLocalizedMessage(), e);
return ApiResult.error("501", e.getCause().getLocalizedMessage(), e);
}
}
......@@ -79,16 +81,16 @@ public class DxChangeOrderController extends AbstractBaseController {
String jsonString = JSON.toJSONString(entity);
DxChangeNoticeVo entityVO = JSON.parseObject(jsonString, DxChangeNoticeVo.class);
String portUserName = request.getHeader("portUserName");
if (ObjectsUtil.nonNull(entityVO.getOperator()) && entityVO.getOperator().equals("NO_CHANGE")) {
if (ObjectsUtil.nonNull(entityVO.getOperator()) && entityVO.getOperator().equals("MODIFY")) {
//更新link
//part = DxPartService.updateDxPartUsageLink(entityVO);
ecn = DXChangeOrderService.modifyECN(entityVO, portUserName);
} else {
ecn = DXChangeOrderService.createECN(entityVO, portUserName);
}
return ApiResult.ok(ecn);
} catch (Exception e) {
e.printStackTrace();
return ApiResult.error("501", e.getLocalizedMessage(), e);
return ApiResult.error("501", e.getCause().getLocalizedMessage(), e);
}
}
......@@ -111,9 +113,39 @@ public class DxChangeOrderController extends AbstractBaseController {
return resultList;
}
@GetMapping({"/DxAddressedBy/search"})
//@ApiOperation("获取ECN相关ECR")
public List getDxAddressedBy(@RequestParam(value = "targetId", required = false) String targetId,@RequestParam(value = "sourceId", required = false) String sourceId, HttpServletRequest request) {
List<DxAddressedByVo> resultList = new ArrayList<DxAddressedByVo>();
try {
if (StringUtils.isNotEmpty(targetId)) {
resultList = DXChangeOrderService.getECRByECN(Long.valueOf(targetId));
return resultList;
}
} catch (Exception e) {
e.printStackTrace();
}
return resultList;
}
@GetMapping({"/DxFormalizedBy/search"})
//@ApiOperation("获取ECN相关ECR")
public List getDxFormalizedBy(@RequestParam(value = "targetId", required = false) String targetId,@RequestParam(value = "sourceId", required = false) String sourceId, HttpServletRequest request) {
List<DxFormalizedByVo> resultList = new ArrayList<DxFormalizedByVo>();
try {
if (StringUtils.isNotEmpty(sourceId)) {
resultList = DXChangeOrderService.getIssueByECR(Long.valueOf(sourceId));
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) {
public List getChangeAffectedDataLink(@RequestParam(value = "targetId", required = false) String targetId, @RequestParam(value = "sourceId", required = false) String sourceId, @RequestParam(value = "sourceIdType", required = false) String sourceIdType, HttpServletRequest request) {
List<DxChangeAffectedDataVo> resultList = new ArrayList<DxChangeAffectedDataVo>();
try {
if (StringUtils.isNotEmpty(sourceId)) {
......@@ -130,6 +162,25 @@ public class DxChangeOrderController extends AbstractBaseController {
return resultList;
}
@GetMapping({"/DxCMReferenceLink/search"})
//@ApiOperation("获取更改相关对象")
public List getCMReferenceLink(@RequestParam(value = "targetId", required = false) String targetId, @RequestParam(value = "sourceId", required = false) String sourceId, @RequestParam(value = "sourceIdType", required = false) String sourceIdType, HttpServletRequest request) {
List<DxChangeAffectedDataVo> resultList = new ArrayList<DxChangeAffectedDataVo>();
try {
if (StringUtils.isNotEmpty(sourceId)) {
resultList = DXChangeOrderService.getChangeDataLink(Long.valueOf(sourceId),"after");
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) {
......
......@@ -32,7 +32,7 @@ import java.util.List;
public class WTChangeDataUtil implements RemoteAccess {
/**
* 根据oid获取产品名称
* 根据oid获取产品名称
* @param oid
* @return
*/
......@@ -74,7 +74,7 @@ public class WTChangeDataUtil implements RemoteAccess {
/**
* 获取行号信息
* 获取行号信息
* @return
*/
public static String getLineInfo() {
......@@ -97,7 +97,7 @@ public class WTChangeDataUtil implements RemoteAccess {
WTChangeRequest2 ecr = null;
try {
ecr = WTChangeRequest2.newWTChangeRequest2(getStringValue((String) attributes.get("partNumber")));
//设置软类型
//设置软类型
TypeDefinitionReference tdr = TypedUtilityServiceHelper.service
.getTypeDefinitionReference("CAIC.EngineeringChangeRequest");
ecr.setTypeDefinitionReference(tdr);
......@@ -139,13 +139,13 @@ public class WTChangeDataUtil implements RemoteAccess {
String changeReason = getStringValue((String) attributes.get("changeReason"));
if (!StringUtil.isEmpty(changeReason)){
//更改理由富文本
//更改理由富文本
System.out.println(getLineInfo()+"----->"+changeReason);
}
String changeContent = getStringValue((String) attributes.get("designChangeContent"));
if (!StringUtil.isEmpty(changeContent)){
//更改内容富文本
//更改内容富文本
System.out.println(getLineInfo()+"----->"+changeContent);
}
......@@ -160,7 +160,7 @@ public class WTChangeDataUtil implements RemoteAccess {
WTChangeRequest2 ecr = null;
try {
ecr = WTChangeRequest2.newWTChangeRequest2(getStringValue((String) attributes.get("partNumber")));
//设置软类型
//设置软类型
TypeDefinitionReference tdr = TypedUtilityServiceHelper.service
.getTypeDefinitionReference("CAIC.PartNumberChangeRequest");
ecr.setTypeDefinitionReference(tdr);
......@@ -202,13 +202,13 @@ public class WTChangeDataUtil implements RemoteAccess {
String changeReason = getStringValue((String) attributes.get("changeReason"));
if (!StringUtil.isEmpty(changeReason)){
//更改理由富文本
//更改理由富文本
System.out.println(getLineInfo()+"----->"+changeReason);
}
String changeContent = getStringValue((String) attributes.get("designChangeContent"));
if (!StringUtil.isEmpty(changeContent)){
//更改内容富文本
//更改内容富文本
System.out.println(getLineInfo()+"----->"+changeContent);
}
......@@ -234,7 +234,7 @@ public class WTChangeDataUtil implements RemoteAccess {
/**
* 通过产品oid获取基线对象
* 通过产品oid获取基线对象
* @param oid
* @return
*/
......@@ -261,7 +261,7 @@ public class WTChangeDataUtil implements RemoteAccess {
/**
* 获取更改请求
* 获取更改请求
* @param changeable2
* @return
*/
......@@ -293,7 +293,7 @@ public class WTChangeDataUtil implements RemoteAccess {
}
/**
* 受影响对象关联ECN
* 受影响对象关联ECN
* @param changeable2
* @return
*/
......@@ -329,7 +329,7 @@ public class WTChangeDataUtil implements RemoteAccess {
}
/**
* 受影响对象关联ECN 自变更通告产生
* 受影响对象关联ECN 自变更通告产生
* @param changeable2
* @return
*/
......@@ -365,7 +365,7 @@ public class WTChangeDataUtil implements RemoteAccess {
}
/**
* 获取问题请求
* 获取问题请求
* @param changeable2
* @return
*/
......@@ -399,9 +399,9 @@ public class WTChangeDataUtil implements RemoteAccess {
/**
* 按照编号,版本获取前一大版的历史版本Part对象
* 按照编号,版本获取前一大版的历史版本Part对象
*
* @return 上一大版本的最新小版本对象
* @return 上一大版本的最新小版本对象
*/
public static WTPart getWTPartPreviousVersion(WTPart part)
throws WTException {
......@@ -415,7 +415,7 @@ public class WTChangeDataUtil implements RemoteAccess {
order = type2.getOrder();
}
WTPart previousVersion = null;
QueryResult qr = VersionControlHelper.service.allVersionsOf(part.getMaster());// 获取所有版本的物料
QueryResult qr = VersionControlHelper.service.allVersionsOf(part.getMaster());// 获取所有版本的物料
WTPart tempPart = null;
boolean flag = false;
while (qr.hasMoreElements()) {
......@@ -454,7 +454,7 @@ public class WTChangeDataUtil implements RemoteAccess {
/**
*
* 比较版本
* 比较版本
*
* @param rc1
* @param rc2
......@@ -498,17 +498,5 @@ public class WTChangeDataUtil implements RemoteAccess {
}
public static void main(String[] args) {
//获取软属性
// IBAHelper.getIBAStringValue(product, ibaKey);
//设置软属性
// IBAHelper.setIBAStringValue(obj, ibaKey, value);
//通过oid获取对象
// ToolUtils.getObjectByOid(oid);
}
}
......@@ -2,17 +2,18 @@ package com.yonde.change.vo;
import com.yonde.basedata.vo.IdVO;
import com.yonde.basedata.vo.RevisionControlledVO;
import com.yonde.common.entity.DxIterationVOHolder;
import com.yonde.doc.vo.DxDocumentVO;
import com.yonde.part.vo.DxPartVO;
import java.io.Serializable;
/**
* 受影响对象LINK
*/
public class DxChangeAffectedDataVo implements Serializable {
public class DxChangeAffectedDataVo extends IdVO implements Serializable {
private String pboType;
private Long pboId;
private int pboId;
private Boolean isDraft;
private String draftName;
private String draftNumber;
......@@ -48,6 +49,19 @@ public class DxChangeAffectedDataVo implements Serializable {
this.source = source;
this.sourceId = source.getId();
this.sourceIdType = source.getSubTypeName();
if (target instanceof DxPartVO) {
DxPartVO dxPartVO = (DxPartVO) target;
this.displayName = dxPartVO.getName();
this.displayNumber = dxPartVO.getNumber();
this.displayVersion = dxPartVO.getDisplayVersion();
this.displayTypeName = dxPartVO.getSubTypeDisplayName();
}else if (target instanceof DxDocumentVO) {
DxDocumentVO dxDocumentVO = (DxDocumentVO) target;
this.displayName = dxDocumentVO.getName();
this.displayNumber = dxDocumentVO.getNumber();
this.displayVersion = dxDocumentVO.getDisplayVersion();
this.displayTypeName = dxDocumentVO.getSubTypeDisplayName();
}
}
public IdVO getSource() {
......@@ -66,11 +80,11 @@ public class DxChangeAffectedDataVo implements Serializable {
this.pboType = pboType;
}
public Long getPboId() {
public int getPboId() {
return pboId;
}
public void setPboId(Long pboId) {
public void setPboId(int pboId) {
this.pboId = pboId;
}
......
package com.yonde.change.vo;
import com.yonde.basedata.vo.IdVO;
import com.yonde.basedata.vo.RevisionControlledVO;
import java.io.Serializable;
/**
* 改后对象LINK
*/
public class DxChangeAfterDataVo {
public class DxChangeAfterDataVo extends IdVO implements Serializable {
private RevisionControlledVO target;
private Long sourceId;
......@@ -15,6 +18,9 @@ public class DxChangeAfterDataVo {
private String pboType;
private Long pboId;
public DxChangeAfterDataVo() {
}
public String getPboType() {
return pboType;
}
......
package com.yonde.change.vo;
import com.yonde.basedata.entity.users.DxUserVO;
import com.yonde.basedata.vo.DxMasterVO;
import com.yonde.basedata.vo.DxVersionVO;
import com.yonde.basedata.vo.IdVO;
import wt.change2.VersionableChangeItem;
import wt.util.WTException;
import java.io.Serializable;
public class DxChangeItemVo extends IdVO implements Serializable {
private DxVersionVO version;
private Long versionId;
private String versionKey;
private String displayVersion;
private String iterationId;
private String iterationCreateTime;
private Long iterationCreateId;
private DxMasterVO masterVO;
private Long masterId;
private Long creatorId;
private Long modifierId;
private String lockNote;
private String lockDate;
private DxUserVO locker;
private Long lockerId;
private Long sandboxId = 0L;
private String secretCode = "NonSecret";
public DxChangeItemVo() {
}
public DxChangeItemVo(VersionableChangeItem changeItem) throws WTException {
super(changeItem);
this.setMasterVO(new DxMasterVO(changeItem));
this.setVersion(new DxVersionVO(changeItem));
}
public DxVersionVO getVersion() {
return version;
}
public void setVersion(DxVersionVO version) {
this.version = version;
this.versionId = version.getVersionId();
this.versionKey = version.getVersionKey();
}
public Long getVersionId() {
return versionId;
}
public void setVersionId(Long versionId) {
this.versionId = versionId;
}
public String getVersionKey() {
return versionKey;
}
public void setVersionKey(String versionKey) {
this.versionKey = versionKey;
}
public String getDisplayVersion() {
return displayVersion;
}
public void setDisplayVersion(String displayVersion) {
this.displayVersion = displayVersion;
}
public String getIterationId() {
return iterationId;
}
public void setIterationId(String iterationId) {
this.iterationId = iterationId;
}
public String getIterationCreateTime() {
return iterationCreateTime;
}
public void setIterationCreateTime(String iterationCreateTime) {
this.iterationCreateTime = iterationCreateTime;
}
public Long getIterationCreateId() {
return iterationCreateId;
}
public void setIterationCreateId(Long iterationCreateId) {
this.iterationCreateId = iterationCreateId;
}
public DxMasterVO getMasterVO() {
return masterVO;
}
public void setMasterVO(DxMasterVO masterVO) {
this.masterVO = masterVO;
this.masterId = masterVO.getId();
}
public Long getMasterId() {
return masterId;
}
public void setMasterId(Long masterId) {
this.masterId = masterId;
}
public Long getCreatorId() {
return creatorId;
}
public void setCreatorId(Long creatorId) {
this.creatorId = creatorId;
}
public Long getModifierId() {
return modifierId;
}
public void setModifierId(Long modifierId) {
this.modifierId = modifierId;
}
public String getLockNote() {
return lockNote;
}
public void setLockNote(String lockNote) {
this.lockNote = lockNote;
}
public String getLockDate() {
return lockDate;
}
public void setLockDate(String lockDate) {
this.lockDate = lockDate;
}
public DxUserVO getLocker() {
return locker;
}
public void setLocker(DxUserVO locker) {
this.locker = locker;
}
public Long getLockerId() {
return lockerId;
}
public void setLockerId(Long lockerId) {
this.lockerId = lockerId;
}
public Long getSandboxId() {
return sandboxId;
}
public void setSandboxId(Long sandboxId) {
this.sandboxId = sandboxId;
}
public String getSecretCode() {
return secretCode;
}
public void setSecretCode(String secretCode) {
this.secretCode = secretCode;
}
}
package com.yonde.change.vo;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.basedata.vo.IdVO;
import com.yonde.basedata.vo.RevisionControlledVO;
import com.yonde.change.vo.pr.DxProblemReportVo;
......@@ -10,6 +11,12 @@ import java.io.Serializable;
/**
* PR Link
*/
@JsonTypeInfo(
use = JsonTypeInfo.Id.CLASS,
property = "classname",
visible = true,
defaultImpl = DxReportedAgainstVo.class
)
public class DxReportedAgainstVo extends IdVO implements Serializable {
private DxProblemReportVo source;
......@@ -20,9 +27,12 @@ public class DxReportedAgainstVo extends IdVO implements Serializable {
private Long targetId;
private String targetIdType;
private Long pboId;
private int pboId;
private String pboType;
public DxReportedAgainstVo() {
}
public DxReportedAgainstVo(DxProblemReportVo source, RevisionControlledVO target) {
if (ObjectsUtil.nonNull(source)) {
this.source = source;
......@@ -39,11 +49,11 @@ public class DxReportedAgainstVo extends IdVO implements Serializable {
}
}
public Long getPboId() {
public int getPboId() {
return pboId;
}
public void setPboId(Long pboId) {
public void setPboId(int pboId) {
this.pboId = pboId;
}
......
......@@ -2,7 +2,9 @@ package com.yonde.change.vo.ecn;
import com.yonde.change.vo.ecr.DxChangeRequestVo;
public class DxAddressedByVo {
import java.io.Serializable;
public class DxAddressedByVo implements Serializable {
private DxChangeRequestVo source;
private DxChangeNoticeVo target;
private Long sourceId;
......@@ -10,6 +12,18 @@ public class DxAddressedByVo {
private Long targetId;
private String targetIdType;
public DxAddressedByVo() {
}
public DxAddressedByVo(DxChangeRequestVo source, DxChangeNoticeVo target) {
this.source = source;
this.sourceId = source.getId();
this.sourceIdType = source.getSubTypeName();
this.target = target;
this.targetId = target.getId();
this.targetIdType = target.getSubTypeName();
}
public DxChangeRequestVo getSource() {
return source;
}
......
......@@ -2,10 +2,10 @@ 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.change.vo.DxChangeItemVo;
import com.yonde.common.DxCommonUtils;
import com.yonde.common.IBAHelper;
import com.yonde.common.ObjectsUtil;
......@@ -18,11 +18,12 @@ import java.io.Serializable;
import java.util.List;
import java.util.Locale;
public class DxChangeNoticeVo extends IdVO implements Serializable {
public class DxChangeNoticeVo extends DxChangeItemVo implements Serializable {
private String number;
private String name;
private String state;
private Long versionId;
private DxContextVO dxContext;
private Long dxContextId;
......@@ -43,6 +44,7 @@ public class DxChangeNoticeVo extends IdVO implements Serializable {
public DxChangeNoticeVo(WTChangeOrder2 wtChangeOrder2) throws Exception {
super(wtChangeOrder2);
this.versionId = this.id;
this.name = wtChangeOrder2.getName();
this.number = wtChangeOrder2.getNumber();
this.state = wtChangeOrder2.getState().getState().toString();
......@@ -61,6 +63,14 @@ public class DxChangeNoticeVo extends IdVO implements Serializable {
}
public Long getVersionId() {
return versionId;
}
public void setVersionId(Long versionId) {
this.versionId = versionId;
}
public String getNumber() {
return number;
}
......
......@@ -6,6 +6,7 @@ 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.DxChangeItemVo;
import com.yonde.common.DxCommonUtils;
import com.yonde.common.IBAHelper;
import com.yonde.common.ObjectsUtil;
......@@ -22,11 +23,12 @@ import java.util.Locale;
/**
* ECR
*/
public class DxChangeRequestVo extends IdVO implements Serializable {
public class DxChangeRequestVo extends DxChangeItemVo implements Serializable {
private String number;
private String name;
private String state;
private Long versionId;
private DxContextVO dxContext;
private Long dxContextId;
......@@ -41,8 +43,14 @@ public class DxChangeRequestVo extends IdVO implements Serializable {
//受影响对象
private List<DxChangeAffectedDataVo> changeAffectedDatas;
private List<DxFormalizedByVo> formalizedBys;
public DxChangeRequestVo() {
}
public DxChangeRequestVo(WTChangeRequest2 ecr) throws Exception{
super(ecr);
this.versionId = this.id;
this.name = ecr.getName();
this.number = ecr.getNumber();
this.state = ecr.getState().getState().getDisplay();
......@@ -62,6 +70,22 @@ public class DxChangeRequestVo extends IdVO implements Serializable {
this.setObjFileLinks(DxCommonUtils.buildObjFileLinks(ecr));
}
public List<DxFormalizedByVo> getFormalizedBys() {
return formalizedBys;
}
public void setFormalizedBys(List<DxFormalizedByVo> formalizedBys) {
this.formalizedBys = formalizedBys;
}
public Long getVersionId() {
return versionId;
}
public void setVersionId(Long versionId) {
this.versionId = versionId;
}
public String getNumber() {
return number;
}
......
package com.yonde.change.vo.ecr;
import com.yonde.change.vo.pr.DxProblemReportVo;
import java.io.Serializable;
public class DxFormalizedByVo implements Serializable {
private DxProblemReportVo target;
private DxChangeRequestVo source;
private Long sourceId;
private String sourceIdType;
private Long targetId;
private String targetIdType;
public DxFormalizedByVo() {
}
public DxFormalizedByVo(DxChangeRequestVo source, DxProblemReportVo target) {
this.target = target;
this.targetId = target.getId();
this.targetIdType = target.getSubTypeName();
this.source = source;
this.sourceId = source.getId();
this.sourceIdType = source.getSubTypeName();
}
public DxProblemReportVo getTarget() {
return target;
}
public void setTarget(DxProblemReportVo target) {
this.target = target;
}
public DxChangeRequestVo getSource() {
return source;
}
public void setSource(DxChangeRequestVo source) {
this.source = source;
}
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;
}
}
package com.yonde.change.vo.pr;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.basedata.entity.users.DxUserVO;
import com.yonde.basedata.vo.DxOrganizationVO;
import com.yonde.basedata.vo.DxVersionVO;
import com.yonde.basedata.vo.IdVO;
import com.yonde.basedata.vo.ObjFileLinkVO;
import com.yonde.change.vo.DxChangeItemVo;
import com.yonde.change.vo.DxReportedAgainstVo;
import com.yonde.common.DxCommonUtils;
import com.yonde.common.IBAHelper;
......@@ -22,12 +25,17 @@ import java.util.Locale;
/**
* PR
*/
public class DxProblemReportVo extends IdVO implements Serializable {
@JsonTypeInfo(
use = JsonTypeInfo.Id.CLASS,
property = "classname",
visible = true,
defaultImpl = DxProblemReportVo.class
)
public class DxProblemReportVo extends DxChangeItemVo implements Serializable {
private String name;
private String number;
private String state;
private String problemSource;
private String problemCategory;
private String comments;
......@@ -46,6 +54,9 @@ public class DxProblemReportVo extends IdVO implements Serializable {
private List<ObjFileLinkVO> objFileLinks;
private boolean latest = true;
private boolean checkOuted = false;
public DxProblemReportVo() {
}
......@@ -57,6 +68,7 @@ public class DxProblemReportVo extends IdVO implements Serializable {
WTOrganization organization = ifc.getOrganization();
if (ObjectsUtil.nonNull(organization)) {
this.setDxOrganization(new DxOrganizationVO(organization));
this.objOrgId = this.dxOrganization.getId();
}
this.setDxContext(new DxContextVO(ifc.getContainer()));
this.subTypeName = "DxProblemReport";//TODO 要映射
......@@ -70,12 +82,29 @@ public class DxProblemReportVo extends IdVO implements Serializable {
this.setObjFileLinks(DxCommonUtils.buildObjFileLinks(ifc));
}
public boolean isLatest() {
return latest;
}
public void setLatest(boolean latest) {
this.latest = latest;
}
public boolean isCheckOuted() {
return checkOuted;
}
public void setCheckOuted(boolean checkOuted) {
this.checkOuted = checkOuted;
}
public DxContextVO getDxContext() {
return dxContext;
}
public void setDxContext(DxContextVO dxContext) {
this.dxContext = dxContext;
this.dxContextId = dxContext.getId();
}
public Long getDxContextId() {
......
This diff is collapsed.
......@@ -612,13 +612,12 @@ public class CommonUtil implements RemoteAccess {
* @throws WTException
*/
public static WTPart getPreviousVersion(WTPart part) {
WTPart result = null;
WTPart result = part;
try{
String vid = VersionControlHelper.getVersionIdentifier((Versioned) part).getValue();
WTPartMaster partMaster = (WTPartMaster) part.getMaster();
QueryResult qr = VersionControlHelper.service.allVersionsOf(partMaster);
while (qr.hasMoreElements()) {
result = (WTPart)qr.nextElement();
String vid2 = VersionControlHelper.getVersionIdentifier((Versioned)result).getValue();
//modified by luofeng on 20160818 获取前一个版本必须是相同视图的版本
String currView = part.getViewName() == null ? "":part.getViewName();
......@@ -626,6 +625,7 @@ public class CommonUtil implements RemoteAccess {
if (vid2.compareTo(vid) < 0 && preView.equals(currView)){
break;
}
result = (WTPart)qr.nextElement();
}
}catch(WTException wte){
log.error(wte.getMessage());
......@@ -838,6 +838,4 @@ public class CommonUtil implements RemoteAccess {
}
return folder;
}
}
......@@ -164,6 +164,9 @@ public class DxPartUtil implements RemoteAccess, Serializable {
WTPart latestVersionPart = part;
if (qr.hasMoreElements()) {
latestVersionPart = (WTPart) qr.nextElement();
while (!latestVersionPart.getViewName().equals(part.getViewName())) {
latestVersionPart = (WTPart) qr.nextElement();
}
}
for (int i = 1; i < count; i++) {
VersionControlHelper.setVersionIdentifier(latestVersionPart, VersionControlHelper.nextVersionId(latestVersionPart));
......
......@@ -5,6 +5,7 @@ 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.change.service.DXChangeOrderService;
import com.yonde.change.vo.ecn.DxChangeNoticeVo;
import com.yonde.change.vo.ecr.DxChangeRequestVo;
import com.yonde.change.vo.pr.DxProblemReportVo;
......@@ -80,10 +81,15 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
return DxPageImpl.fromPage(ts);
}
/**
* 通用查询接口
* @param searchQueryCondition
* @return
* @throws Exception
*/
public static PagingQueryResult findByConfigSpecSelect (SearchQueryCondition searchQueryCondition) throws Exception {
CommonUtil.initSessionContext(null);
boolean enforce = SessionServerHelper.manager.setAccessEnforced(false);
List partList;
List<String> indices = searchQueryCondition.getIndices();
Class cls = WTPart.class;
if (StringUtils.isNotEmpty(searchQueryCondition.getName())) {
......@@ -107,6 +113,7 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
WorkInProgressHelper.getSearchCondition(
cls, WorkInProgressState.WORKING, false),
new int[]{0});
// Case 2:最新版
if (CollectionUtils.isNotEmpty(indices)) {
if (querySpec.getConditionCount() > 0) {
querySpec.appendAnd();
......@@ -133,7 +140,6 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
bpqs.setRange(pageSize);
bpqs.setBackgroundThreadEnabled(false);
bpqs.setLimitModeEnabled(true);
//bpqs.setAdvancedQueryEnabled();
PagingQueryResult qr = (PagingQueryResult) PersistenceHelper.manager.find(bpqs);
return qr;
} finally {
......@@ -149,6 +155,7 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
* @throws Exception
*/
public static void buildQueryResult(WTObject o, List objList, List<String> indices) throws Exception {
long id = PersistenceHelper.getObjectIdentifier(o).getId();
if (o instanceof WTPart) {
WTPart wtPart = (WTPart) o;
DxPartVO dxPartVO = new DxPartVO(wtPart);
......@@ -161,21 +168,27 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
objList.add(dxPartVO);
return;
}
List before = DXChangeOrderService.getChangeDataLink(id, "before");
if (o instanceof WTChangeOrder2) {
WTChangeOrder2 changeOrder2 = (WTChangeOrder2) o;
DxChangeNoticeVo changeNoticeVo = new DxChangeNoticeVo(changeOrder2);
List after = DXChangeOrderService.getChangeDataLink(id, "after");
changeNoticeVo.setSourceDxCMReferenceLink(after);
changeNoticeVo.setChangeAffectedDatas(before);
objList.add(changeNoticeVo);
return;
}
if (o instanceof WTChangeRequest2) {
WTChangeRequest2 changeRequest2 = (WTChangeRequest2) o;
DxChangeRequestVo changeRequestVo = new DxChangeRequestVo(changeRequest2);
changeRequestVo.setChangeAffectedDatas(before);
objList.add(changeRequestVo);
return;
}
if (o instanceof WTChangeIssue) {
WTChangeIssue issue = (WTChangeIssue) o;
DxProblemReportVo problemReportVo = new DxProblemReportVo(issue);
problemReportVo.setReportedAgainsts(before);
objList.add(problemReportVo);
return;
}
......@@ -184,6 +197,13 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
}
}
/**
* 构建查询条件
* @param searchItems
* @param clazz
* @return
* @throws Exception
*/
public static QuerySpec buildQuerySpec(SearchItems searchItems, Class<? extends WTObject> clazz) throws Exception {
Map<String, String> typeSearchMap = SearchOperatorEnumUtil.typeSearchItemMap.get(clazz);
if (typeSearchMap == null || typeSearchMap.size() == 0) {
......@@ -229,8 +249,8 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
/* if (fieldName.equals("masterId")) {
return null;
}*/
// TODO fieldName.equals(SearchOperatorEnumUtil.DX_ID)||
if (fieldName.equals("checkOuted") || fieldName.equals("creatorId")) {
// TODO fieldName.equals(SearchOperatorEnumUtil.DX_ID)||latest
if (fieldName.equals("checkOuted") || fieldName.equals("creatorId")|| fieldName.equals("latest")) {
continue;
}
//视图
......
......@@ -27,7 +27,7 @@ public class ObjectsUtil {
public static Vector toVector(List vote) {
Vector vector = new Vector();
if (CollectionUtils.isEmpty(vote)) {
if (!CollectionUtils.isEmpty(vote)) {
vector.addAll(vote);
}
return vector;
......
......@@ -9,7 +9,9 @@ import org.apache.log4j.Logger;
import wt.fc.*;
import wt.fc.collections.WTValuedHashMap;
import wt.folder.Folder;
import wt.folder.FolderEntry;
import wt.folder.FolderHelper;
import wt.inf.container.WTContainer;
import wt.inf.container.WTContainerRef;
import wt.log4j.LogR;
import wt.method.RemoteAccess;
......@@ -23,6 +25,7 @@ import wt.query.QuerySpec;
import wt.query.SearchCondition;
import wt.session.SessionHelper;
import wt.session.SessionServerHelper;
import wt.team.TeamReference;
import wt.type.TypedUtility;
import wt.util.WTException;
import wt.vc.VersionControlHelper;
......@@ -547,4 +550,49 @@ public class PartUtil implements RemoteAccess {
}
return childs;
}
/**
* revise WTDocument
*
* @param document
* WTDocument
* @return WTDocument
* @throws WTException
*/
public static WTPart reviseWTPart(WTPart document, String comment) throws WTException {
WTPart wtPart = document;
try {
if (wtPart == null) {
return null;
}
WTContainer container = wtPart.getContainer();
WTContainerRef containerRef = WTContainerRef.newWTContainerRef(container); // container.getContainerReference();//
TeamReference teamReference = wtPart.getTeamId();
Folder oldFoler = FolderHelper.getFolder(wtPart);
if (oldFoler == null)
{
String strLocation = wtPart.getLocation();
oldFoler = FolderHelper.service.getFolder(strLocation, containerRef);
}
wtPart = (WTPart) wt.vc.VersionControlHelper.service.newVersion(wtPart);
if (teamReference != null)
{
wtPart.setTeamId(teamReference);
}
VersionControlHelper.setNote(wtPart, comment == null ? "" : comment);
wtPart.setContainer(container);
FolderHelper.assignLocation((FolderEntry) wtPart, oldFoler);
wtPart = (WTPart) PersistenceHelper.manager.save(wtPart);
wtPart = (WTPart) PersistenceHelper.manager.refresh(wtPart);
} catch (Exception e) {
logger.error("Auto Revise Failed :" + e);
logger.error("Original comment :" + comment);
throw new WTException(e);
}
return wtPart;
}
}
package com.yonde.common;
import com.yonde.basedata.search.SearchOperatorEnumUtil;
import org.apache.log4j.Logger;
import wt.doc.WTDocument;
import wt.fc.*;
import wt.lifecycle.LifeCycleHelper;
import wt.method.RemoteMethodServer;
import wt.fc.PersistenceHelper;
import wt.fc.ReferenceFactory;
import wt.fc.WTObject;
import wt.fc.WTReference;
import wt.log4j.LogR;
import wt.part.WTPart;
import wt.session.SessionContext;
import wt.session.SessionHelper;
......@@ -16,11 +19,10 @@ import wt.vc.VersionControlHelper;
import java.lang.reflect.InvocationTargetException;
import java.rmi.RemoteException;
import java.util.List;
import static org.apache.commons.lang.StringUtils.isNotBlank;
public class RfUtil {
public static final ReferenceFactory rf = new ReferenceFactory();
private static final Logger log = LogR.getLogger(RfUtil.class.getName());
public static WTDocument getDoc(String oid){
//checkArgument(isNotBlank(oid));
try {
......@@ -122,14 +124,15 @@ public class RfUtil {
public static WTObject getWTObjectById(Long id, String prefix) {
WTObject p = null;
try {
String oid = prefix + id;
try {
WTReference wtreference = rf.getReference(oid);
if (wtreference != null) {
wtreference.refresh();
p = (WTObject) wtreference.getObject();
}
} catch (WTException e) {
log.error("get wtobj WTException====" + e.getMessage());
}
return p;
}
......
......@@ -192,15 +192,20 @@ public class DxPartService implements RemoteAccess, Serializable {
}
SessionContext previous = SessionContext.newContext();
DxPartVO dxPartVO = null;
boolean enforced = false;
try {
SessionHelper.manager.setAdministrator();
logger.error("getCopyOf ====" + id);
enforced = SessionServerHelper.manager.setAccessEnforced(false);
WTPart partById = DxPartUtil.getPartById(id);
logger.error("get partById====" + partById);
if (CommonUtil.isCheckedOut(partById)) {
WTPart partByIdCp = (WTPart) CommonUtil.getWorkingCopyVersion(partById);
logger.error("getCopyOfPart ====" + partByIdCp);
dxPartVO = new DxPartVO(partByIdCp);
if (ObjectsUtil.isNull(dxPartVO.getLocker())) {
dxPartVO.setLockerVO(CommonUtil.getPreviousVersion(partById));
logger.error("dxPartVO.getLocker() ====" + dxPartVO.getLocker());
dxPartVO.setLockerVO(partById);
}
} else {
dxPartVO = new DxPartVO(partById);
......@@ -213,6 +218,7 @@ public class DxPartService implements RemoteAccess, Serializable {
} finally {
SessionContext.setContext(previous);
SessionServerHelper.manager.setAccessEnforced(enforced);
}
return dxPartVO;
}
......
......@@ -2,6 +2,9 @@ package com.yonde.wfc.service;
import com.yonde.basedata.search.SearchOperatorEnumUtil;
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.common.ObjectsUtil;
import com.yonde.common.RfUtil;
import com.yonde.common.WTUserUtil;
......@@ -13,6 +16,9 @@ import com.yonde.wfc.vo.DxWfProcessTaskVO;
import com.yonde.wfc.vo.DxWfProcessVO;
import com.yonde.wfc.vo.DxWfTaskOperationArgsVO;
import org.apache.commons.lang.StringUtils;
import wt.change2.WTChangeIssue;
import wt.change2.WTChangeOrder2;
import wt.change2.WTChangeRequest2;
import wt.doc.WTDocument;
import wt.fc.Persistable;
import wt.fc.QueryResult;
......@@ -119,13 +125,34 @@ public class WfcProcessService implements RemoteAccess {
if (pbo instanceof WTDocument) {
WTDocument document = (WTDocument) pbo;
objVO = new DxDocumentVO(document);
} else if (pbo instanceof WTPart) {
return objVO;
}
if (pbo instanceof WTPart) {
WTPart part = (WTPart) pbo;
objVO = new DxPartVO(part);
} else {
// TODO 其他类型
return objVO;
}
if (pbo instanceof WTChangeOrder2) {
WTChangeOrder2 changeOrder2 = (WTChangeOrder2) pbo;
objVO = new DxChangeNoticeVo(changeOrder2);
return objVO;
}
if (pbo instanceof WTChangeOrder2) {
WTChangeOrder2 changeOrder2 = (WTChangeOrder2) pbo;
objVO = new DxChangeNoticeVo(changeOrder2);
return objVO;
}
if (pbo instanceof WTChangeRequest2) {
WTChangeRequest2 changeRequest2 = (WTChangeRequest2) pbo;
objVO = new DxChangeRequestVo(changeRequest2);
return objVO;
}
if (pbo instanceof WTChangeIssue) {
WTChangeIssue changeIssue = (WTChangeIssue) pbo;
objVO = new DxProblemReportVo(changeIssue);
return objVO;
}
// TODO 其他类型
}
}
} finally {
......
package com.yonde.wfc.vo;
import com.yonde.common.WorkflowUtil;
import wt.change2.WTChangeIssue;
import wt.change2.WTChangeOrder2;
import wt.change2.WTChangeRequest2;
import wt.doc.WTDocument;
import wt.fc.Persistable;
import wt.part.WTPart;
import wt.vc.baseline.ManagedBaseline;
import wt.workflow.engine.WfProcess;
import wt.workflow.engine.WfTemplateProcessor;
import java.io.Serializable;
import java.util.Map;
......@@ -39,8 +42,25 @@ public class DxWfBizExtInfo implements Serializable {
WTPart part = (WTPart) pbo;
taskTitle = part.getName() + "_" + part.getNumber();
this.bizObjectState = part.getState().toString();
} else {
// TODO 更改单 等
} else if (pbo instanceof WTChangeOrder2) {
WTChangeOrder2 changeOrder2 = (WTChangeOrder2) pbo;
taskTitle = changeOrder2.getName() + "_" + changeOrder2.getNumber();
this.bizObjectState = changeOrder2.getState().toString();
} else if (pbo instanceof WTChangeRequest2) {
WTChangeRequest2 changeRequest2 = (WTChangeRequest2) pbo;
taskTitle = changeRequest2.getName() + "_" + changeRequest2.getNumber();
this.bizObjectState = changeRequest2.getState().toString();
} else if (pbo instanceof WTChangeIssue) {
WTChangeIssue changeIssue = (WTChangeIssue) pbo;
taskTitle = changeIssue.getName() + "_" + changeIssue.getNumber();
this.bizObjectState = changeIssue.getState().toString();
} else if (pbo instanceof ManagedBaseline) {
ManagedBaseline baseline = (ManagedBaseline) pbo;
taskTitle = baseline.getName() + "_" + baseline.getNumber();
this.bizObjectState = baseline.getState().toString();
}
else {
// TODO 其他类型 等
}
this.taskTitle = taskTitle;
String processName = process.getTemplate().getName();
......
......@@ -60,7 +60,7 @@ public class DxWfProcessTaskVO implements Serializable {
private String instruction;
private String layoutId = "defaultInfo";
private List<String> lastComments;
private DxWfBizExtInfo bizExtInfo;
private DxWfBizExtInfo bizExtInfo;//待办详情显示
//private DxWfTaskExtRelationInfoVO DxWfTaskExtRelationInfoVO;
private String parentTaskId;
private boolean forwardFlag;
......
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