Commit 52e269b4 authored by shyWang's avatar shyWang

PDM前端改造

更改相关
parent 09bc7ce6
...@@ -14,6 +14,7 @@ import com.yonde.part.vo.DxUsageLinkVO; ...@@ -14,6 +14,7 @@ import com.yonde.part.vo.DxUsageLinkVO;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
...@@ -27,6 +28,11 @@ public class AbstractBaseController { ...@@ -27,6 +28,11 @@ public class AbstractBaseController {
return ApiResult.ok(""); return ApiResult.ok("");
} }
@GetMapping({"/findWTObj/{id}"})
public ApiResult<LifecycleTemplateVO> findWTObj(@PathVariable Long id) {
return ApiResult.ok("");
}
//@ApiOperation("配置规范查询") //@ApiOperation("配置规范查询")
@PostMapping({"findBySpec"}) @PostMapping({"findBySpec"})
Map<String, Object> findByConfigSpec(@RequestBody SearchQueryCondition specSearch) { Map<String, Object> findByConfigSpec(@RequestBody SearchQueryCondition specSearch) {
...@@ -76,6 +82,24 @@ public class AbstractBaseController { ...@@ -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) { public SearchItems getPermSearchItems(BaseSearchCondition permSearchParams) {
SearchItems searchItems = new SearchItems(); SearchItems searchItems = new SearchItems();
searchItems.setOperator(SearchItems.BooleanOperator.AND); searchItems.setOperator(SearchItems.BooleanOperator.AND);
......
...@@ -2,6 +2,9 @@ package com.yonde.basedata.search; ...@@ -2,6 +2,9 @@ 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.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.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;
...@@ -101,6 +104,7 @@ public class SearchOperatorEnumUtil { ...@@ -101,6 +104,7 @@ public class SearchOperatorEnumUtil {
public static void initTypeMap() { public static void initTypeMap() {
typeMap.put("DxDocument", WTDocument.class); typeMap.put("DxDocument", WTDocument.class);
typeMap.put("doc", WTDocument.class);
typeMap.put("DxPart", WTPart.class); typeMap.put("DxPart", WTPart.class);
typeMap.put("DxChangeRequest", WTChangeRequest2.class); typeMap.put("DxChangeRequest", WTChangeRequest2.class);
typeMap.put("DxChangeNotice", WTChangeOrder2.class); typeMap.put("DxChangeNotice", WTChangeOrder2.class);
...@@ -152,7 +156,9 @@ public class SearchOperatorEnumUtil { ...@@ -152,7 +156,9 @@ public class SearchOperatorEnumUtil {
typeItemMap.put(DxChangeRequestVo.class, "com.yonde.dcs.cmt.common.entity.vo.DxChangeRequestVo"); 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(DxChangeNoticeVo.class, "com.yonde.dcs.cmt.common.entity.vo.DxChangeNoticeVo");
typeItemMap.put(DxProblemReportVo.class, "com.yonde.dcs.cmt.common.entity.vo.DxProblemReportVo"); 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 //TODO add
} }
......
...@@ -9,6 +9,8 @@ import com.yonde.basedata.vo.ObjFileLinkVO; ...@@ -9,6 +9,8 @@ import com.yonde.basedata.vo.ObjFileLinkVO;
import com.yonde.common.*; import com.yonde.common.*;
import com.yonde.doc.vo.DxDocumentVO; import com.yonde.doc.vo.DxDocumentVO;
import com.yonde.part.service.DxPartService; import com.yonde.part.service.DxPartService;
import com.yonde.part.vo.DxPart;
import com.yonde.part.vo.DxPartVO;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
...@@ -27,6 +29,7 @@ import wt.method.RemoteMethodServer; ...@@ -27,6 +29,7 @@ import wt.method.RemoteMethodServer;
import wt.part.WTPart; import wt.part.WTPart;
import wt.session.SessionContext; import wt.session.SessionContext;
import wt.session.SessionHelper; import wt.session.SessionHelper;
import wt.session.SessionServerHelper;
import wt.util.WTProperties; import wt.util.WTProperties;
import java.io.File; import java.io.File;
...@@ -105,6 +108,42 @@ public class BaseSearchService <V extends IdVO> implements RemoteAccess { ...@@ -105,6 +108,42 @@ public class BaseSearchService <V extends IdVO> implements RemoteAccess {
return false; 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 { public static void uploadFile(CommonsMultipartFile file, ObjFileLinkVO fileForm) throws Exception {
if (!RemoteMethodServer.ServerFlag) { if (!RemoteMethodServer.ServerFlag) {
RemoteMethodServer.getDefault().invoke("uploadFile", BaseSearchService.class.getName(), null, RemoteMethodServer.getDefault().invoke("uploadFile", BaseSearchService.class.getName(), null,
......
...@@ -2,6 +2,7 @@ package com.yonde.basedata.vo; ...@@ -2,6 +2,7 @@ package com.yonde.basedata.vo;
import com.yonde.basedata.entity.users.DxUserVO; import com.yonde.basedata.entity.users.DxUserVO;
import com.yonde.common.DateTimeUtil; import com.yonde.common.DateTimeUtil;
import wt.change2.VersionableChangeItem;
import wt.doc.WTDocument; import wt.doc.WTDocument;
import wt.doc.WTDocumentMaster; import wt.doc.WTDocumentMaster;
import wt.enterprise.RevisionControlled; import wt.enterprise.RevisionControlled;
...@@ -56,6 +57,18 @@ public class DxMasterVO extends IdVO implements Serializable { ...@@ -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() { public String getNumber() {
return number; return number;
} }
......
package com.yonde.basedata.vo; package com.yonde.basedata.vo;
import com.yonde.common.DateTimeUtil; import com.yonde.common.DateTimeUtil;
import wt.change2.VersionableChangeItem;
import wt.enterprise.RevisionControlled; import wt.enterprise.RevisionControlled;
import wt.fc.PersistenceHelper; import wt.fc.PersistenceHelper;
import wt.util.WTException; import wt.util.WTException;
...@@ -41,6 +42,20 @@ public class DxVersionVO implements Serializable { ...@@ -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() { public String getVersionKey() {
return versionKey; return versionKey;
} }
......
...@@ -97,13 +97,13 @@ public class RevisionControlledVO extends IdVO implements Serializable { ...@@ -97,13 +97,13 @@ public class RevisionControlledVO extends IdVO implements Serializable {
} else { } else {
if (WorkInProgressHelper.isCheckedOut(object)) { if (WorkInProgressHelper.isCheckedOut(object)) {
Workable copyVersion = CommonUtil.getWorkingCopyVersion(object); Workable copyVersion = CommonUtil.getWorkingCopyVersion(object);
if (ObjectsUtil.isNull(copyVersion.getLocker())) { if (ObjectsUtil.nonNull(copyVersion.getLocker())) {
if (copyVersion instanceof WTDocument) { if (copyVersion instanceof WTDocument) {
WTDocument previousVersionDoc = CommonUtil.getPreviousVersionDoc((WTDocument) copyVersion); //WTDocument previousVersionDoc = CommonUtil.getPreviousVersionDoc((WTDocument) copyVersion);
this.setLockerSign(previousVersionDoc); this.setLockerSign((WTDocument) copyVersion);
} else if (copyVersion instanceof WTPart) { } else if (copyVersion instanceof WTPart) {
WTPart wtPart = CommonUtil.getPreviousVersion((WTPart) copyVersion); //WTPart wtPart = CommonUtil.getPreviousVersion((WTPart) copyVersion);
this.setLockerSign(wtPart); this.setLockerSign((WTPart) copyVersion);
} }
// TODO // TODO
} }
......
...@@ -7,16 +7,16 @@ import com.yonde.basedata.vo.IdVO; ...@@ -7,16 +7,16 @@ import com.yonde.basedata.vo.IdVO;
import com.yonde.change.service.DXChangeOrderService; import com.yonde.change.service.DXChangeOrderService;
import com.yonde.change.vo.DxChangeAffectedDataVo; import com.yonde.change.vo.DxChangeAffectedDataVo;
import com.yonde.change.vo.DxReportedAgainstVo; 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.ecn.DxChangeNoticeVo;
import com.yonde.change.vo.ecr.DxChangeRequestVo; import com.yonde.change.vo.ecr.DxChangeRequestVo;
import com.yonde.change.vo.ecr.DxFormalizedByVo;
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.vo.DxPartVO;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import wt.log4j.LogR;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -28,25 +28,27 @@ import java.util.Map; ...@@ -28,25 +28,27 @@ import java.util.Map;
@RequestMapping({"/changeOrder"}) @RequestMapping({"/changeOrder"})
public class DxChangeOrderController extends AbstractBaseController { public class DxChangeOrderController extends AbstractBaseController {
private static final Logger log = LogR.getLogger(DxChangeOrderController.class.getName());
//@ApiOperation("深度保存对象") //@ApiOperation("深度保存对象")
@PostMapping({"createPR"}) @PostMapping({"createPR"})
public ApiResult recursionPR(@RequestBody Map entity, HttpServletRequest request) { public ApiResult recursionPR(@RequestBody Map entity, HttpServletRequest request) {
DxProblemReportVo pr = null; DxProblemReportVo pr = null;
try { try {
String jsonString = JSON.toJSONString(entity); String jsonString = JSON.toJSONString(entity);
log.error("PR param======" + entity);
DxProblemReportVo entityVO = JSON.parseObject(jsonString, DxProblemReportVo.class); DxProblemReportVo entityVO = JSON.parseObject(jsonString, DxProblemReportVo.class);
log.error("PR entityVO======" + entityVO);
String portUserName = request.getHeader("portUserName"); 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 //更新link
//part = DxPartService.updateDxPartUsageLink(entityVO); pr = DXChangeOrderService.modifyPR(entityVO, portUserName);
} else { } else {
pr = DXChangeOrderService.createPR(entityVO, portUserName); pr = DXChangeOrderService.createPR(entityVO, portUserName);
} }
return ApiResult.ok(pr); 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.getCause().getLocalizedMessage(), e);
} }
} }
...@@ -58,16 +60,16 @@ public class DxChangeOrderController extends AbstractBaseController { ...@@ -58,16 +60,16 @@ public class DxChangeOrderController extends AbstractBaseController {
String jsonString = JSON.toJSONString(entity); String jsonString = JSON.toJSONString(entity);
DxChangeRequestVo entityVO = JSON.parseObject(jsonString, DxChangeRequestVo.class); DxChangeRequestVo entityVO = JSON.parseObject(jsonString, DxChangeRequestVo.class);
String portUserName = request.getHeader("portUserName"); 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 //更新link
//part = DxPartService.updateDxPartUsageLink(entityVO); ecr = DXChangeOrderService.modifyECR(entityVO, portUserName);
} else { } else {
ecr = DXChangeOrderService.createECR(entityVO, portUserName); ecr = DXChangeOrderService.createECR(entityVO, portUserName);
} }
return ApiResult.ok(ecr); 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.getCause().getLocalizedMessage(), e);
} }
} }
...@@ -79,16 +81,16 @@ public class DxChangeOrderController extends AbstractBaseController { ...@@ -79,16 +81,16 @@ public class DxChangeOrderController extends AbstractBaseController {
String jsonString = JSON.toJSONString(entity); String jsonString = JSON.toJSONString(entity);
DxChangeNoticeVo entityVO = JSON.parseObject(jsonString, DxChangeNoticeVo.class); DxChangeNoticeVo entityVO = JSON.parseObject(jsonString, DxChangeNoticeVo.class);
String portUserName = request.getHeader("portUserName"); 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 //更新link
//part = DxPartService.updateDxPartUsageLink(entityVO); ecn = DXChangeOrderService.modifyECN(entityVO, portUserName);
} else { } else {
ecn = DXChangeOrderService.createECN(entityVO, portUserName); ecn = DXChangeOrderService.createECN(entityVO, portUserName);
} }
return ApiResult.ok(ecn); 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.getCause().getLocalizedMessage(), e);
} }
} }
...@@ -111,9 +113,39 @@ public class DxChangeOrderController extends AbstractBaseController { ...@@ -111,9 +113,39 @@ public class DxChangeOrderController extends AbstractBaseController {
return resultList; 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"}) @GetMapping({"/DxChangeAffectedData/search"})
//@ApiOperation("获取更改相关对象") //@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>(); List<DxChangeAffectedDataVo> resultList = new ArrayList<DxChangeAffectedDataVo>();
try { try {
if (StringUtils.isNotEmpty(sourceId)) { if (StringUtils.isNotEmpty(sourceId)) {
...@@ -130,6 +162,25 @@ public class DxChangeOrderController extends AbstractBaseController { ...@@ -130,6 +162,25 @@ public class DxChangeOrderController extends AbstractBaseController {
return resultList; 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"}) @GetMapping({"/version/getWorkingCopy"})
//@ApiOperation("获取变更对象") //@ApiOperation("获取变更对象")
public IdVO getWorkingCopy(@RequestParam("id") Long id, @RequestParam("type") String type, HttpServletRequest request) { public IdVO getWorkingCopy(@RequestParam("id") Long id, @RequestParam("type") String type, HttpServletRequest request) {
......
...@@ -2,17 +2,18 @@ package com.yonde.change.vo; ...@@ -2,17 +2,18 @@ package com.yonde.change.vo;
import com.yonde.basedata.vo.IdVO; 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.doc.vo.DxDocumentVO;
import com.yonde.part.vo.DxPartVO;
import java.io.Serializable; import java.io.Serializable;
/** /**
* 受影响对象LINK * 受影响对象LINK
*/ */
public class DxChangeAffectedDataVo implements Serializable { public class DxChangeAffectedDataVo extends IdVO implements Serializable {
private String pboType; private String pboType;
private Long pboId; private int pboId;
private Boolean isDraft; private Boolean isDraft;
private String draftName; private String draftName;
private String draftNumber; private String draftNumber;
...@@ -48,6 +49,19 @@ public class DxChangeAffectedDataVo implements Serializable { ...@@ -48,6 +49,19 @@ public class DxChangeAffectedDataVo implements Serializable {
this.source = source; this.source = source;
this.sourceId = source.getId(); this.sourceId = source.getId();
this.sourceIdType = source.getSubTypeName(); 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() { public IdVO getSource() {
...@@ -66,11 +80,11 @@ public class DxChangeAffectedDataVo implements Serializable { ...@@ -66,11 +80,11 @@ public class DxChangeAffectedDataVo implements Serializable {
this.pboType = pboType; this.pboType = pboType;
} }
public Long getPboId() { public int getPboId() {
return pboId; return pboId;
} }
public void setPboId(Long pboId) { public void setPboId(int pboId) {
this.pboId = pboId; this.pboId = pboId;
} }
......
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 java.io.Serializable;
/** /**
* 改后对象LINK * 改后对象LINK
*/ */
public class DxChangeAfterDataVo { public class DxChangeAfterDataVo extends IdVO implements Serializable {
private RevisionControlledVO target; private RevisionControlledVO target;
private Long sourceId; private Long sourceId;
...@@ -15,6 +18,9 @@ public class DxChangeAfterDataVo { ...@@ -15,6 +18,9 @@ public class DxChangeAfterDataVo {
private String pboType; private String pboType;
private Long pboId; private Long pboId;
public DxChangeAfterDataVo() {
}
public String getPboType() { public String getPboType() {
return pboType; return pboType;
} }
......
package com.yonde.change.vo; 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 com.yonde.basedata.vo.IdVO;
import wt.change2.VersionableChangeItem;
import wt.util.WTException;
import java.io.Serializable; import java.io.Serializable;
public class DxChangeItemVo extends IdVO implements 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; package com.yonde.change.vo;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.basedata.vo.IdVO; 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.change.vo.pr.DxProblemReportVo;
...@@ -10,6 +11,12 @@ import java.io.Serializable; ...@@ -10,6 +11,12 @@ import java.io.Serializable;
/** /**
* PR Link * PR Link
*/ */
@JsonTypeInfo(
use = JsonTypeInfo.Id.CLASS,
property = "classname",
visible = true,
defaultImpl = DxReportedAgainstVo.class
)
public class DxReportedAgainstVo extends IdVO implements Serializable { public class DxReportedAgainstVo extends IdVO implements Serializable {
private DxProblemReportVo source; private DxProblemReportVo source;
...@@ -20,9 +27,12 @@ public class DxReportedAgainstVo extends IdVO implements Serializable { ...@@ -20,9 +27,12 @@ public class DxReportedAgainstVo extends IdVO implements Serializable {
private Long targetId; private Long targetId;
private String targetIdType; private String targetIdType;
private Long pboId; private int pboId;
private String pboType; private String pboType;
public DxReportedAgainstVo() {
}
public DxReportedAgainstVo(DxProblemReportVo source, RevisionControlledVO target) { public DxReportedAgainstVo(DxProblemReportVo source, RevisionControlledVO target) {
if (ObjectsUtil.nonNull(source)) { if (ObjectsUtil.nonNull(source)) {
this.source = source; this.source = source;
...@@ -39,11 +49,11 @@ public class DxReportedAgainstVo extends IdVO implements Serializable { ...@@ -39,11 +49,11 @@ public class DxReportedAgainstVo extends IdVO implements Serializable {
} }
} }
public Long getPboId() { public int getPboId() {
return pboId; return pboId;
} }
public void setPboId(Long pboId) { public void setPboId(int pboId) {
this.pboId = pboId; this.pboId = pboId;
} }
......
...@@ -2,7 +2,9 @@ package com.yonde.change.vo.ecn; ...@@ -2,7 +2,9 @@ package com.yonde.change.vo.ecn;
import com.yonde.change.vo.ecr.DxChangeRequestVo; import com.yonde.change.vo.ecr.DxChangeRequestVo;
public class DxAddressedByVo { import java.io.Serializable;
public class DxAddressedByVo implements Serializable {
private DxChangeRequestVo source; private DxChangeRequestVo source;
private DxChangeNoticeVo target; private DxChangeNoticeVo target;
private Long sourceId; private Long sourceId;
...@@ -10,6 +12,18 @@ public class DxAddressedByVo { ...@@ -10,6 +12,18 @@ public class DxAddressedByVo {
private Long targetId; private Long targetId;
private String targetIdType; 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() { public DxChangeRequestVo getSource() {
return source; return source;
} }
......
...@@ -2,10 +2,10 @@ package com.yonde.change.vo.ecn; ...@@ -2,10 +2,10 @@ package com.yonde.change.vo.ecn;
import com.yonde.basedata.entity.users.DxUserVO; 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.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.change.vo.DxChangeItemVo;
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.common.ObjectsUtil;
...@@ -18,11 +18,12 @@ import java.io.Serializable; ...@@ -18,11 +18,12 @@ import java.io.Serializable;
import java.util.List; import java.util.List;
import java.util.Locale; import java.util.Locale;
public class DxChangeNoticeVo extends IdVO implements Serializable { public class DxChangeNoticeVo extends DxChangeItemVo implements Serializable {
private String number; private String number;
private String name; private String name;
private String state; private String state;
private Long versionId;
private DxContextVO dxContext; private DxContextVO dxContext;
private Long dxContextId; private Long dxContextId;
...@@ -43,6 +44,7 @@ public class DxChangeNoticeVo extends IdVO implements Serializable { ...@@ -43,6 +44,7 @@ public class DxChangeNoticeVo extends IdVO implements Serializable {
public DxChangeNoticeVo(WTChangeOrder2 wtChangeOrder2) throws Exception { public DxChangeNoticeVo(WTChangeOrder2 wtChangeOrder2) throws Exception {
super(wtChangeOrder2); super(wtChangeOrder2);
this.versionId = this.id;
this.name = wtChangeOrder2.getName(); this.name = wtChangeOrder2.getName();
this.number = wtChangeOrder2.getNumber(); this.number = wtChangeOrder2.getNumber();
this.state = wtChangeOrder2.getState().getState().toString(); this.state = wtChangeOrder2.getState().getState().toString();
...@@ -61,6 +63,14 @@ public class DxChangeNoticeVo extends IdVO implements Serializable { ...@@ -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() { public String getNumber() {
return number; return number;
} }
......
...@@ -6,6 +6,7 @@ import com.yonde.basedata.vo.DxOrganizationVO; ...@@ -6,6 +6,7 @@ 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.DxChangeItemVo;
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.common.ObjectsUtil;
...@@ -22,11 +23,12 @@ import java.util.Locale; ...@@ -22,11 +23,12 @@ import java.util.Locale;
/** /**
* ECR * ECR
*/ */
public class DxChangeRequestVo extends IdVO implements Serializable { public class DxChangeRequestVo extends DxChangeItemVo implements Serializable {
private String number; private String number;
private String name; private String name;
private String state; private String state;
private Long versionId;
private DxContextVO dxContext; private DxContextVO dxContext;
private Long dxContextId; private Long dxContextId;
...@@ -41,8 +43,14 @@ public class DxChangeRequestVo extends IdVO implements Serializable { ...@@ -41,8 +43,14 @@ public class DxChangeRequestVo extends IdVO implements Serializable {
//受影响对象 //受影响对象
private List<DxChangeAffectedDataVo> changeAffectedDatas; private List<DxChangeAffectedDataVo> changeAffectedDatas;
private List<DxFormalizedByVo> formalizedBys;
public DxChangeRequestVo() {
}
public DxChangeRequestVo(WTChangeRequest2 ecr) throws Exception{ public DxChangeRequestVo(WTChangeRequest2 ecr) throws Exception{
super(ecr); super(ecr);
this.versionId = this.id;
this.name = ecr.getName(); this.name = ecr.getName();
this.number = ecr.getNumber(); this.number = ecr.getNumber();
this.state = ecr.getState().getState().getDisplay(); this.state = ecr.getState().getState().getDisplay();
...@@ -62,6 +70,22 @@ public class DxChangeRequestVo extends IdVO implements Serializable { ...@@ -62,6 +70,22 @@ public class DxChangeRequestVo extends IdVO implements Serializable {
this.setObjFileLinks(DxCommonUtils.buildObjFileLinks(ecr)); 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() { public String getNumber() {
return number; 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; package com.yonde.change.vo.pr;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.yonde.basedata.entity.users.DxUserVO; import com.yonde.basedata.entity.users.DxUserVO;
import com.yonde.basedata.vo.DxOrganizationVO; import com.yonde.basedata.vo.DxOrganizationVO;
import com.yonde.basedata.vo.DxVersionVO;
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.DxChangeItemVo;
import com.yonde.change.vo.DxReportedAgainstVo; import com.yonde.change.vo.DxReportedAgainstVo;
import com.yonde.common.DxCommonUtils; import com.yonde.common.DxCommonUtils;
import com.yonde.common.IBAHelper; import com.yonde.common.IBAHelper;
...@@ -22,12 +25,17 @@ import java.util.Locale; ...@@ -22,12 +25,17 @@ import java.util.Locale;
/** /**
* PR * 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 name;
private String number; private String number;
private String state; private String state;
private String problemSource; private String problemSource;
private String problemCategory; private String problemCategory;
private String comments; private String comments;
...@@ -46,6 +54,9 @@ public class DxProblemReportVo extends IdVO implements Serializable { ...@@ -46,6 +54,9 @@ public class DxProblemReportVo extends IdVO implements Serializable {
private List<ObjFileLinkVO> objFileLinks; private List<ObjFileLinkVO> objFileLinks;
private boolean latest = true;
private boolean checkOuted = false;
public DxProblemReportVo() { public DxProblemReportVo() {
} }
...@@ -57,6 +68,7 @@ public class DxProblemReportVo extends IdVO implements Serializable { ...@@ -57,6 +68,7 @@ public class DxProblemReportVo extends IdVO implements Serializable {
WTOrganization organization = ifc.getOrganization(); WTOrganization organization = ifc.getOrganization();
if (ObjectsUtil.nonNull(organization)) { if (ObjectsUtil.nonNull(organization)) {
this.setDxOrganization(new DxOrganizationVO(organization)); this.setDxOrganization(new DxOrganizationVO(organization));
this.objOrgId = this.dxOrganization.getId();
} }
this.setDxContext(new DxContextVO(ifc.getContainer())); this.setDxContext(new DxContextVO(ifc.getContainer()));
this.subTypeName = "DxProblemReport";//TODO 要映射 this.subTypeName = "DxProblemReport";//TODO 要映射
...@@ -70,12 +82,29 @@ public class DxProblemReportVo extends IdVO implements Serializable { ...@@ -70,12 +82,29 @@ public class DxProblemReportVo extends IdVO implements Serializable {
this.setObjFileLinks(DxCommonUtils.buildObjFileLinks(ifc)); 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() { public DxContextVO getDxContext() {
return dxContext; return dxContext;
} }
public void setDxContext(DxContextVO dxContext) { public void setDxContext(DxContextVO dxContext) {
this.dxContext = dxContext; this.dxContext = dxContext;
this.dxContextId = dxContext.getId();
} }
public Long getDxContextId() { public Long getDxContextId() {
......
This diff is collapsed.
...@@ -612,13 +612,12 @@ public class CommonUtil implements RemoteAccess { ...@@ -612,13 +612,12 @@ public class CommonUtil implements RemoteAccess {
* @throws WTException * @throws WTException
*/ */
public static WTPart getPreviousVersion(WTPart part) { public static WTPart getPreviousVersion(WTPart part) {
WTPart result = null; WTPart result = part;
try{ try{
String vid = VersionControlHelper.getVersionIdentifier((Versioned) part).getValue(); String vid = VersionControlHelper.getVersionIdentifier((Versioned) part).getValue();
WTPartMaster partMaster = (WTPartMaster) part.getMaster(); WTPartMaster partMaster = (WTPartMaster) part.getMaster();
QueryResult qr = VersionControlHelper.service.allVersionsOf(partMaster); QueryResult qr = VersionControlHelper.service.allVersionsOf(partMaster);
while (qr.hasMoreElements()) { while (qr.hasMoreElements()) {
result = (WTPart)qr.nextElement();
String vid2 = VersionControlHelper.getVersionIdentifier((Versioned)result).getValue(); String vid2 = VersionControlHelper.getVersionIdentifier((Versioned)result).getValue();
//modified by luofeng on 20160818 获取前一个版本必须是相同视图的版本 //modified by luofeng on 20160818 获取前一个版本必须是相同视图的版本
String currView = part.getViewName() == null ? "":part.getViewName(); String currView = part.getViewName() == null ? "":part.getViewName();
...@@ -626,6 +625,7 @@ public class CommonUtil implements RemoteAccess { ...@@ -626,6 +625,7 @@ public class CommonUtil implements RemoteAccess {
if (vid2.compareTo(vid) < 0 && preView.equals(currView)){ if (vid2.compareTo(vid) < 0 && preView.equals(currView)){
break; break;
} }
result = (WTPart)qr.nextElement();
} }
}catch(WTException wte){ }catch(WTException wte){
log.error(wte.getMessage()); log.error(wte.getMessage());
...@@ -838,6 +838,4 @@ public class CommonUtil implements RemoteAccess { ...@@ -838,6 +838,4 @@ public class CommonUtil implements RemoteAccess {
} }
return folder; return folder;
} }
} }
...@@ -164,6 +164,9 @@ public class DxPartUtil implements RemoteAccess, Serializable { ...@@ -164,6 +164,9 @@ public class DxPartUtil implements RemoteAccess, Serializable {
WTPart latestVersionPart = part; WTPart latestVersionPart = part;
if (qr.hasMoreElements()) { if (qr.hasMoreElements()) {
latestVersionPart = (WTPart) qr.nextElement(); latestVersionPart = (WTPart) qr.nextElement();
while (!latestVersionPart.getViewName().equals(part.getViewName())) {
latestVersionPart = (WTPart) qr.nextElement();
}
} }
for (int i = 1; i < count; i++) { for (int i = 1; i < count; i++) {
VersionControlHelper.setVersionIdentifier(latestVersionPart, VersionControlHelper.nextVersionId(latestVersionPart)); VersionControlHelper.setVersionIdentifier(latestVersionPart, VersionControlHelper.nextVersionId(latestVersionPart));
......
...@@ -5,6 +5,7 @@ import com.yonde.basedata.search.SearchItem; ...@@ -5,6 +5,7 @@ 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.change.service.DXChangeOrderService;
import com.yonde.change.vo.ecn.DxChangeNoticeVo; import com.yonde.change.vo.ecn.DxChangeNoticeVo;
import com.yonde.change.vo.ecr.DxChangeRequestVo; import com.yonde.change.vo.ecr.DxChangeRequestVo;
import com.yonde.change.vo.pr.DxProblemReportVo; import com.yonde.change.vo.pr.DxProblemReportVo;
...@@ -80,10 +81,15 @@ public class DxSearchUtil implements RemoteAccess, Serializable { ...@@ -80,10 +81,15 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
return DxPageImpl.fromPage(ts); return DxPageImpl.fromPage(ts);
} }
/**
* 通用查询接口
* @param searchQueryCondition
* @return
* @throws Exception
*/
public static PagingQueryResult findByConfigSpecSelect (SearchQueryCondition searchQueryCondition) throws Exception { public static PagingQueryResult findByConfigSpecSelect (SearchQueryCondition searchQueryCondition) throws Exception {
CommonUtil.initSessionContext(null); CommonUtil.initSessionContext(null);
boolean enforce = SessionServerHelper.manager.setAccessEnforced(false); boolean enforce = SessionServerHelper.manager.setAccessEnforced(false);
List partList;
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())) {
...@@ -107,6 +113,7 @@ public class DxSearchUtil implements RemoteAccess, Serializable { ...@@ -107,6 +113,7 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
WorkInProgressHelper.getSearchCondition( WorkInProgressHelper.getSearchCondition(
cls, WorkInProgressState.WORKING, false), cls, WorkInProgressState.WORKING, false),
new int[]{0}); new int[]{0});
// Case 2:最新版
if (CollectionUtils.isNotEmpty(indices)) { if (CollectionUtils.isNotEmpty(indices)) {
if (querySpec.getConditionCount() > 0) { if (querySpec.getConditionCount() > 0) {
querySpec.appendAnd(); querySpec.appendAnd();
...@@ -133,7 +140,6 @@ public class DxSearchUtil implements RemoteAccess, Serializable { ...@@ -133,7 +140,6 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
bpqs.setRange(pageSize); bpqs.setRange(pageSize);
bpqs.setBackgroundThreadEnabled(false); bpqs.setBackgroundThreadEnabled(false);
bpqs.setLimitModeEnabled(true); bpqs.setLimitModeEnabled(true);
//bpqs.setAdvancedQueryEnabled();
PagingQueryResult qr = (PagingQueryResult) PersistenceHelper.manager.find(bpqs); PagingQueryResult qr = (PagingQueryResult) PersistenceHelper.manager.find(bpqs);
return qr; return qr;
} finally { } finally {
...@@ -149,6 +155,7 @@ public class DxSearchUtil implements RemoteAccess, Serializable { ...@@ -149,6 +155,7 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
* @throws Exception * @throws Exception
*/ */
public static void buildQueryResult(WTObject o, List objList, List<String> indices) 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) { if (o instanceof WTPart) {
WTPart wtPart = (WTPart) o; WTPart wtPart = (WTPart) o;
DxPartVO dxPartVO = new DxPartVO(wtPart); DxPartVO dxPartVO = new DxPartVO(wtPart);
...@@ -161,21 +168,27 @@ public class DxSearchUtil implements RemoteAccess, Serializable { ...@@ -161,21 +168,27 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
objList.add(dxPartVO); objList.add(dxPartVO);
return; return;
} }
List before = DXChangeOrderService.getChangeDataLink(id, "before");
if (o instanceof WTChangeOrder2) { if (o instanceof WTChangeOrder2) {
WTChangeOrder2 changeOrder2 = (WTChangeOrder2) o; WTChangeOrder2 changeOrder2 = (WTChangeOrder2) o;
DxChangeNoticeVo changeNoticeVo = new DxChangeNoticeVo(changeOrder2); DxChangeNoticeVo changeNoticeVo = new DxChangeNoticeVo(changeOrder2);
List after = DXChangeOrderService.getChangeDataLink(id, "after");
changeNoticeVo.setSourceDxCMReferenceLink(after);
changeNoticeVo.setChangeAffectedDatas(before);
objList.add(changeNoticeVo); objList.add(changeNoticeVo);
return; return;
} }
if (o instanceof WTChangeRequest2) { if (o instanceof WTChangeRequest2) {
WTChangeRequest2 changeRequest2 = (WTChangeRequest2) o; WTChangeRequest2 changeRequest2 = (WTChangeRequest2) o;
DxChangeRequestVo changeRequestVo = new DxChangeRequestVo(changeRequest2); DxChangeRequestVo changeRequestVo = new DxChangeRequestVo(changeRequest2);
changeRequestVo.setChangeAffectedDatas(before);
objList.add(changeRequestVo); objList.add(changeRequestVo);
return; return;
} }
if (o instanceof WTChangeIssue) { if (o instanceof WTChangeIssue) {
WTChangeIssue issue = (WTChangeIssue) o; WTChangeIssue issue = (WTChangeIssue) o;
DxProblemReportVo problemReportVo = new DxProblemReportVo(issue); DxProblemReportVo problemReportVo = new DxProblemReportVo(issue);
problemReportVo.setReportedAgainsts(before);
objList.add(problemReportVo); objList.add(problemReportVo);
return; return;
} }
...@@ -184,6 +197,13 @@ public class DxSearchUtil implements RemoteAccess, Serializable { ...@@ -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 { public static QuerySpec buildQuerySpec(SearchItems searchItems, Class<? extends WTObject> clazz) throws Exception {
Map<String, String> typeSearchMap = SearchOperatorEnumUtil.typeSearchItemMap.get(clazz); Map<String, String> typeSearchMap = SearchOperatorEnumUtil.typeSearchItemMap.get(clazz);
if (typeSearchMap == null || typeSearchMap.size() == 0) { if (typeSearchMap == null || typeSearchMap.size() == 0) {
...@@ -229,8 +249,8 @@ public class DxSearchUtil implements RemoteAccess, Serializable { ...@@ -229,8 +249,8 @@ public class DxSearchUtil implements RemoteAccess, Serializable {
/* if (fieldName.equals("masterId")) { /* if (fieldName.equals("masterId")) {
return null; return null;
}*/ }*/
// TODO fieldName.equals(SearchOperatorEnumUtil.DX_ID)|| // TODO fieldName.equals(SearchOperatorEnumUtil.DX_ID)||latest
if (fieldName.equals("checkOuted") || fieldName.equals("creatorId")) { if (fieldName.equals("checkOuted") || fieldName.equals("creatorId")|| fieldName.equals("latest")) {
continue; continue;
} }
//视图 //视图
......
...@@ -27,7 +27,7 @@ public class ObjectsUtil { ...@@ -27,7 +27,7 @@ public class ObjectsUtil {
public static Vector toVector(List vote) { public static Vector toVector(List vote) {
Vector vector = new Vector(); Vector vector = new Vector();
if (CollectionUtils.isEmpty(vote)) { if (!CollectionUtils.isEmpty(vote)) {
vector.addAll(vote); vector.addAll(vote);
} }
return vector; return vector;
......
...@@ -9,7 +9,9 @@ import org.apache.log4j.Logger; ...@@ -9,7 +9,9 @@ import org.apache.log4j.Logger;
import wt.fc.*; import wt.fc.*;
import wt.fc.collections.WTValuedHashMap; import wt.fc.collections.WTValuedHashMap;
import wt.folder.Folder; import wt.folder.Folder;
import wt.folder.FolderEntry;
import wt.folder.FolderHelper; import wt.folder.FolderHelper;
import wt.inf.container.WTContainer;
import wt.inf.container.WTContainerRef; import wt.inf.container.WTContainerRef;
import wt.log4j.LogR; import wt.log4j.LogR;
import wt.method.RemoteAccess; import wt.method.RemoteAccess;
...@@ -23,6 +25,7 @@ import wt.query.QuerySpec; ...@@ -23,6 +25,7 @@ import wt.query.QuerySpec;
import wt.query.SearchCondition; import wt.query.SearchCondition;
import wt.session.SessionHelper; import wt.session.SessionHelper;
import wt.session.SessionServerHelper; import wt.session.SessionServerHelper;
import wt.team.TeamReference;
import wt.type.TypedUtility; import wt.type.TypedUtility;
import wt.util.WTException; import wt.util.WTException;
import wt.vc.VersionControlHelper; import wt.vc.VersionControlHelper;
...@@ -547,4 +550,49 @@ public class PartUtil implements RemoteAccess { ...@@ -547,4 +550,49 @@ public class PartUtil implements RemoteAccess {
} }
return childs; 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; package com.yonde.common;
import com.yonde.basedata.search.SearchOperatorEnumUtil; import com.yonde.basedata.search.SearchOperatorEnumUtil;
import org.apache.log4j.Logger;
import wt.doc.WTDocument; import wt.doc.WTDocument;
import wt.fc.*; import wt.fc.PersistenceHelper;
import wt.lifecycle.LifeCycleHelper; import wt.fc.ReferenceFactory;
import wt.method.RemoteMethodServer; import wt.fc.WTObject;
import wt.fc.WTReference;
import wt.log4j.LogR;
import wt.part.WTPart; import wt.part.WTPart;
import wt.session.SessionContext; import wt.session.SessionContext;
import wt.session.SessionHelper; import wt.session.SessionHelper;
...@@ -16,11 +19,10 @@ import wt.vc.VersionControlHelper; ...@@ -16,11 +19,10 @@ import wt.vc.VersionControlHelper;
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 static org.apache.commons.lang.StringUtils.isNotBlank;
public class RfUtil { public class RfUtil {
public static final ReferenceFactory rf = new ReferenceFactory(); public static final ReferenceFactory rf = new ReferenceFactory();
private static final Logger log = LogR.getLogger(RfUtil.class.getName());
public static WTDocument getDoc(String oid){ public static WTDocument getDoc(String oid){
//checkArgument(isNotBlank(oid)); //checkArgument(isNotBlank(oid));
try { try {
...@@ -122,14 +124,15 @@ public class RfUtil { ...@@ -122,14 +124,15 @@ public class RfUtil {
public static WTObject getWTObjectById(Long id, String prefix) { public static WTObject getWTObjectById(Long id, String prefix) {
WTObject p = null; WTObject p = null;
String oid = prefix + id;
try { try {
String oid = prefix + id;
WTReference wtreference = rf.getReference(oid); WTReference wtreference = rf.getReference(oid);
if (wtreference != null) { if (wtreference != null) {
wtreference.refresh(); wtreference.refresh();
p = (WTObject) wtreference.getObject(); p = (WTObject) wtreference.getObject();
} }
} catch (WTException e) { } catch (WTException e) {
log.error("get wtobj WTException====" + e.getMessage());
} }
return p; return p;
} }
......
...@@ -192,15 +192,20 @@ public class DxPartService implements RemoteAccess, Serializable { ...@@ -192,15 +192,20 @@ public class DxPartService implements RemoteAccess, Serializable {
} }
SessionContext previous = SessionContext.newContext(); SessionContext previous = SessionContext.newContext();
DxPartVO dxPartVO = null; DxPartVO dxPartVO = null;
boolean enforced = false;
try { try {
SessionHelper.manager.setAdministrator(); SessionHelper.manager.setAdministrator();
logger.error("getCopyOf ====" + id); enforced = SessionServerHelper.manager.setAccessEnforced(false);
WTPart partById = DxPartUtil.getPartById(id); WTPart partById = DxPartUtil.getPartById(id);
logger.error("get partById====" + partById);
if (CommonUtil.isCheckedOut(partById)) { if (CommonUtil.isCheckedOut(partById)) {
WTPart partByIdCp = (WTPart) CommonUtil.getWorkingCopyVersion(partById); WTPart partByIdCp = (WTPart) CommonUtil.getWorkingCopyVersion(partById);
logger.error("getCopyOfPart ====" + partByIdCp);
dxPartVO = new DxPartVO(partByIdCp); dxPartVO = new DxPartVO(partByIdCp);
if (ObjectsUtil.isNull(dxPartVO.getLocker())) { if (ObjectsUtil.isNull(dxPartVO.getLocker())) {
dxPartVO.setLockerVO(CommonUtil.getPreviousVersion(partById)); logger.error("dxPartVO.getLocker() ====" + dxPartVO.getLocker());
dxPartVO.setLockerVO(partById);
} }
} else { } else {
dxPartVO = new DxPartVO(partById); dxPartVO = new DxPartVO(partById);
...@@ -213,6 +218,7 @@ public class DxPartService implements RemoteAccess, Serializable { ...@@ -213,6 +218,7 @@ public class DxPartService implements RemoteAccess, Serializable {
} finally { } finally {
SessionContext.setContext(previous); SessionContext.setContext(previous);
SessionServerHelper.manager.setAccessEnforced(enforced);
} }
return dxPartVO; return dxPartVO;
} }
......
...@@ -2,6 +2,9 @@ package com.yonde.wfc.service; ...@@ -2,6 +2,9 @@ package com.yonde.wfc.service;
import com.yonde.basedata.search.SearchOperatorEnumUtil; import com.yonde.basedata.search.SearchOperatorEnumUtil;
import com.yonde.basedata.vo.IdVO; 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.ObjectsUtil;
import com.yonde.common.RfUtil; import com.yonde.common.RfUtil;
import com.yonde.common.WTUserUtil; import com.yonde.common.WTUserUtil;
...@@ -13,6 +16,9 @@ import com.yonde.wfc.vo.DxWfProcessTaskVO; ...@@ -13,6 +16,9 @@ import com.yonde.wfc.vo.DxWfProcessTaskVO;
import com.yonde.wfc.vo.DxWfProcessVO; import com.yonde.wfc.vo.DxWfProcessVO;
import com.yonde.wfc.vo.DxWfTaskOperationArgsVO; import com.yonde.wfc.vo.DxWfTaskOperationArgsVO;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import wt.change2.WTChangeIssue;
import wt.change2.WTChangeOrder2;
import wt.change2.WTChangeRequest2;
import wt.doc.WTDocument; import wt.doc.WTDocument;
import wt.fc.Persistable; import wt.fc.Persistable;
import wt.fc.QueryResult; import wt.fc.QueryResult;
...@@ -119,13 +125,34 @@ public class WfcProcessService implements RemoteAccess { ...@@ -119,13 +125,34 @@ public class WfcProcessService implements RemoteAccess {
if (pbo instanceof WTDocument) { if (pbo instanceof WTDocument) {
WTDocument document = (WTDocument) pbo; WTDocument document = (WTDocument) pbo;
objVO = new DxDocumentVO(document); objVO = new DxDocumentVO(document);
} else if (pbo instanceof WTPart) { return objVO;
}
if (pbo instanceof WTPart) {
WTPart part = (WTPart) pbo; WTPart part = (WTPart) pbo;
objVO = new DxPartVO(part); objVO = new DxPartVO(part);
} else { return objVO;
// TODO 其他类型 }
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 { } finally {
......
package com.yonde.wfc.vo; package com.yonde.wfc.vo;
import com.yonde.common.WorkflowUtil; import com.yonde.common.WorkflowUtil;
import wt.change2.WTChangeIssue;
import wt.change2.WTChangeOrder2;
import wt.change2.WTChangeRequest2;
import wt.doc.WTDocument; import wt.doc.WTDocument;
import wt.fc.Persistable; import wt.fc.Persistable;
import wt.part.WTPart; import wt.part.WTPart;
import wt.vc.baseline.ManagedBaseline;
import wt.workflow.engine.WfProcess; import wt.workflow.engine.WfProcess;
import wt.workflow.engine.WfTemplateProcessor;
import java.io.Serializable; import java.io.Serializable;
import java.util.Map; import java.util.Map;
...@@ -39,8 +42,25 @@ public class DxWfBizExtInfo implements Serializable { ...@@ -39,8 +42,25 @@ public class DxWfBizExtInfo implements Serializable {
WTPart part = (WTPart) pbo; WTPart part = (WTPart) pbo;
taskTitle = part.getName() + "_" + part.getNumber(); taskTitle = part.getName() + "_" + part.getNumber();
this.bizObjectState = part.getState().toString(); this.bizObjectState = part.getState().toString();
} else { } else if (pbo instanceof WTChangeOrder2) {
// TODO 更改单 等 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; this.taskTitle = taskTitle;
String processName = process.getTemplate().getName(); String processName = process.getTemplate().getName();
......
...@@ -60,7 +60,7 @@ public class DxWfProcessTaskVO implements Serializable { ...@@ -60,7 +60,7 @@ public class DxWfProcessTaskVO implements Serializable {
private String instruction; private String instruction;
private String layoutId = "defaultInfo"; private String layoutId = "defaultInfo";
private List<String> lastComments; private List<String> lastComments;
private DxWfBizExtInfo bizExtInfo; private DxWfBizExtInfo bizExtInfo;//待办详情显示
//private DxWfTaskExtRelationInfoVO DxWfTaskExtRelationInfoVO; //private DxWfTaskExtRelationInfoVO DxWfTaskExtRelationInfoVO;
private String parentTaskId; private String parentTaskId;
private boolean forwardFlag; 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