diff --git a/src/main/java/com/pjb/springbootjjwt/service/TcsoaService.java b/src/main/java/com/pjb/springbootjjwt/service/TcsoaService.java index 2d9087c..4782f48 100644 --- a/src/main/java/com/pjb/springbootjjwt/service/TcsoaService.java +++ b/src/main/java/com/pjb/springbootjjwt/service/TcsoaService.java @@ -26,6 +26,7 @@ import com.teamcenter.services.strong.core.SessionService; import com.teamcenter.services.strong.core._2007_12.Session; import com.teamcenter.services.strong.core._2018_11.ProjectLevelSecurity; import com.teamcenter.services.strong.workflow.WorkflowService; +import com.teamcenter.soa.client.Connection; import com.teamcenter.soa.client.model.*; import com.teamcenter.soa.client.model.Property; import com.teamcenter.soa.client.model.strong.*; @@ -181,8 +182,7 @@ public class TcsoaService { FileManagementService fmService = FileManagementService.getService(AppXSession.getConnection()); Date date = new Date(); - String filePath = - System.getProperty("java.io.tmpdir") + dateFormat.format(date); + String filePath = System.getProperty("java.io.tmpdir") + dateFormat.format(date); File file = new File(filePath); if (!file.exists()) { file.mkdir(); @@ -346,7 +346,13 @@ public class TcsoaService { ItemRevision itemRevision = itemsResponse.output[0].itemRev; resultJSONObject.put("TaskPackageUID", itemRevision.get_items_tag().getUid()); // 添加任务资料 - putRWZL(user, itemRevision, fileList); + try { + putRWZL(user, itemRevision, fileList); + } catch (Exception e) { + dataManagementService.deleteObjects(new ModelObject[] {itemsResponse.output[0].item}); + Utils.setLog(logFileName, "oaCreateWorkFlow", "上传数据集失败:" + e.getMessage()); + return JsonResult.error("上传数据集失败!"); + } // 设置版本表单 dataManagementService.getProperties( @@ -1501,30 +1507,44 @@ public class TcsoaService { if (property.getPropertyDescription().getLovUid() != null && !property.getPropertyDescription().getLovUid().equals("")) { - com.teamcenter.services.strong.core._2010_04.DataManagement.NameLocaleStruct ns = new com.teamcenter.services.strong.core._2010_04.DataManagement.NameLocaleStruct(); - ns.locales = new String[] { "zh_CN" }; + com.teamcenter.services.strong.core._2010_04.DataManagement.NameLocaleStruct ns = + new com.teamcenter.services.strong.core._2010_04.DataManagement.NameLocaleStruct(); + ns.locales = new String[] {"zh_CN"}; ns.name = itemNames[itemNames.length - 1]; - com.teamcenter.services.strong.core._2010_04.DataManagement.PropertyInfo pi = new com.teamcenter.services.strong.core._2010_04.DataManagement.PropertyInfo(); + com.teamcenter.services.strong.core._2010_04.DataManagement.PropertyInfo pi = + new com.teamcenter.services.strong.core._2010_04.DataManagement.PropertyInfo(); pi.object = itemTag; - pi.propsToget = new com.teamcenter.services.strong.core._2010_04.DataManagement.NameLocaleStruct[] { ns }; - com.teamcenter.services.strong.core._2015_07.DataManagement.LocalizedPropertyValuesResponse lpvr = dmService.getLocalizedProperties2(new com.teamcenter.services.strong.core._2010_04.DataManagement.PropertyInfo[] { pi }); - com.teamcenter.services.strong.core._2015_07.DataManagement.LocalizedPropertyValuesInfo2[] Output = lpvr.output; - if(Output.length > 0 && Output[0].propertyValues.length > 0 && Output[0].propertyValues[0].values.length > 0) - { + pi.propsToget = + new com.teamcenter.services.strong.core._2010_04.DataManagement.NameLocaleStruct[] { + ns + }; + com.teamcenter.services.strong.core._2015_07.DataManagement + .LocalizedPropertyValuesResponse + lpvr = + dmService.getLocalizedProperties2( + new com.teamcenter.services.strong.core._2010_04.DataManagement.PropertyInfo + [] {pi}); + com.teamcenter.services.strong.core._2015_07.DataManagement.LocalizedPropertyValuesInfo2 + [] + Output = lpvr.output; + if (Output.length > 0 + && Output[0].propertyValues.length > 0 + && Output[0].propertyValues[0].values.length > 0) { return Output[0].propertyValues[0].values[0]; } -// LovInfo lovInfo = property.getPropertyDescription().getLovReference().getLovInfo(); -// List lovValueList = lovInfo.getValues(); -// for (LovValue lovValue : lovValueList) { -// lovValue.getDisplayValue(); -// } -// String lovUid = property.getPropertyDescription().getLovUid(); -// ModelObject[] items = loadObjects(new String[] {lovUid}, dmService); -// if (items == null || items.length <= 0) { -// return property.getDisplayableValue(); -// } -// // dmService.getProperties(items, new String[] { "lov_name" }); -// return property.getDisplayableValue(); + // LovInfo lovInfo = + // property.getPropertyDescription().getLovReference().getLovInfo(); + // List lovValueList = lovInfo.getValues(); + // for (LovValue lovValue : lovValueList) { + // lovValue.getDisplayValue(); + // } + // String lovUid = property.getPropertyDescription().getLovUid(); + // ModelObject[] items = loadObjects(new String[] {lovUid}, dmService); + // if (items == null || items.length <= 0) { + // return property.getDisplayableValue(); + // } + // // dmService.getProperties(items, new String[] { "lov_name" }); + // return property.getDisplayableValue(); // String lovName = items[0].getPropertyObject("lov_name").getStringValue(); // String value = getLovDisValue(lovName, property.getDisplayableValue()); // if (value != null && !value.equals("")) @@ -1552,27 +1572,42 @@ public class TcsoaService { GetProperty(itemTag, itemNames[itemNames.length - 1], dmService); if (property.getPropertyDescription().getLovUid() != null && !property.getPropertyDescription().getLovUid().equals("")) { -// LovInfo lovInfo = property.getPropertyDescription().getLovReference().getLovInfo(); -// List lovValueList = lovInfo.getValues(); -// for (LovValue lovValue : lovValueList) { -// lovValue.getDisplayValue(); -// } - - //Teamcenter.Services.Strong.Core._2010_04.DataManagement.NameLocaleStruct ns = new Services.Strong.Core._2010_04.DataManagement.NameLocaleStruct(); - com.teamcenter.services.strong.core._2010_04.DataManagement.NameLocaleStruct ns = new com.teamcenter.services.strong.core._2010_04.DataManagement.NameLocaleStruct(); - ns.locales = new String[] { "zh_CN" }; + // LovInfo lovInfo = + // property.getPropertyDescription().getLovReference().getLovInfo(); + // List lovValueList = lovInfo.getValues(); + // for (LovValue lovValue : lovValueList) { + // lovValue.getDisplayValue(); + // } + + // Teamcenter.Services.Strong.Core._2010_04.DataManagement.NameLocaleStruct ns = new + // Services.Strong.Core._2010_04.DataManagement.NameLocaleStruct(); + com.teamcenter.services.strong.core._2010_04.DataManagement.NameLocaleStruct ns = + new com.teamcenter.services.strong.core._2010_04.DataManagement.NameLocaleStruct(); + ns.locales = new String[] {"zh_CN"}; ns.name = itemNames[itemNames.length - 1]; - com.teamcenter.services.strong.core._2010_04.DataManagement.PropertyInfo pi = new com.teamcenter.services.strong.core._2010_04.DataManagement.PropertyInfo(); + com.teamcenter.services.strong.core._2010_04.DataManagement.PropertyInfo pi = + new com.teamcenter.services.strong.core._2010_04.DataManagement.PropertyInfo(); pi.object = itemTag; - pi.propsToget = new com.teamcenter.services.strong.core._2010_04.DataManagement.NameLocaleStruct[] { ns }; - com.teamcenter.services.strong.core._2015_07.DataManagement.LocalizedPropertyValuesResponse lpvr = dmService.getLocalizedProperties2(new com.teamcenter.services.strong.core._2010_04.DataManagement.PropertyInfo[] { pi }); - com.teamcenter.services.strong.core._2015_07.DataManagement.LocalizedPropertyValuesInfo2[] Output = lpvr.output; - if(Output.length > 0 && Output[0].propertyValues.length > 0 && Output[0].propertyValues[0].values.length > 0) - { + pi.propsToget = + new com.teamcenter.services.strong.core._2010_04.DataManagement.NameLocaleStruct[] { + ns + }; + com.teamcenter.services.strong.core._2015_07.DataManagement + .LocalizedPropertyValuesResponse + lpvr = + dmService.getLocalizedProperties2( + new com.teamcenter.services.strong.core._2010_04.DataManagement.PropertyInfo + [] {pi}); + com.teamcenter.services.strong.core._2015_07.DataManagement.LocalizedPropertyValuesInfo2 + [] + Output = lpvr.output; + if (Output.length > 0 + && Output[0].propertyValues.length > 0 + && Output[0].propertyValues[0].values.length > 0) { return Output[0].propertyValues[0].values[0]; } - //return property.getDisplayableValue(); + // return property.getDisplayableValue(); } else { if (itemNames[itemNames.length - 1].compareTo("object_type") == 0) { return property.getStringValue();