|
@@ -301,6 +301,7 @@ public class AWYDImplClient implements AWYDClient {
|
|
* 覆盖项目需求档案需求列表 tmp
|
|
* 覆盖项目需求档案需求列表 tmp
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
|
|
+ @Deprecated
|
|
public void archiveProjectRequirements(String pCode, String instanceId) {
|
|
public void archiveProjectRequirements(String pCode, String instanceId) {
|
|
|
|
|
|
// 项目需求数据
|
|
// 项目需求数据
|
|
@@ -373,10 +374,17 @@ public class AWYDImplClient implements AWYDClient {
|
|
isSuccess = false;
|
|
isSuccess = false;
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
+ // prd 10.17 [目前仅同步功能、性能需求] 测试规格调整,只校验功能、性能需求,也只是同步只写入规格库
|
|
|
|
+ if (!Arrays.asList("功能需求(FUNC)", "性能需求(PFM)").contains(row.get("selectField_lronu2g3"))) {
|
|
|
|
+ row.put("selectField_m10k093c", "成功");
|
|
|
|
+ row.put("textareaField_m10k093a", "规格导入仅校验功能需求、性能需求强关联");
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+
|
|
String code = UtilMap.getString(row, "textField_m18x4yqo");
|
|
String code = UtilMap.getString(row, "textField_m18x4yqo");
|
|
if (StringUtils.isNotBlank(code)) {
|
|
if (StringUtils.isNotBlank(code)) {
|
|
// 重复需求+规格编号校验
|
|
// 重复需求+规格编号校验
|
|
- String uCode = UtilMap.getString(row, "textField_m0vvv72j") + "-" + UtilMap.getString(row, "textField_m18x4yqo");
|
|
|
|
|
|
+ String uCode = UtilMap.getString(row, "textField_m0vvv72j") + "_" + UtilMap.getString(row, "textField_m18x4yqo");
|
|
if (psList.contains(uCode)) {
|
|
if (psList.contains(uCode)) {
|
|
row.put("selectField_m10k093c", "失败");
|
|
row.put("selectField_m10k093c", "失败");
|
|
row.put("textareaField_m10k093a", uCode + "需求+规格在当前列表已存在, 请检查数据后重新导入");
|
|
row.put("textareaField_m10k093a", uCode + "需求+规格在当前列表已存在, 请检查数据后重新导入");
|
|
@@ -390,19 +398,17 @@ public class AWYDImplClient implements AWYDClient {
|
|
List<Map> tList = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
List<Map> tList = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
.appType(appType_ps)
|
|
.appType(appType_ps)
|
|
.systemToken(systemToken_ps)
|
|
.systemToken(systemToken_ps)
|
|
-// .formUuid("FORM-C1BB004F74C1492DB3F568EA8A7A951C7NBY")
|
|
|
|
.formUuid("FORM-F5FD52E311514AC890D4B308CFA8E8A8BH8J")
|
|
.formUuid("FORM-F5FD52E311514AC890D4B308CFA8E8A8BH8J")
|
|
.searchCondition(JSON.toJSONString(searchCondition))
|
|
.searchCondition(JSON.toJSONString(searchCondition))
|
|
.build(), YDConf.FORM_QUERY.retrieve_list).getData();
|
|
.build(), YDConf.FORM_QUERY.retrieve_list).getData();
|
|
if (tList.size() > 0) {
|
|
if (tList.size() > 0) {
|
|
Map formData = UtilMap.getMap(tList.get(0), "formData");
|
|
Map formData = UtilMap.getMap(tList.get(0), "formData");
|
|
- row.put("serialNumberField_lti2e639", formData.get("serialNumberField_lti2e639")); // 赋值规格编号
|
|
|
|
|
|
+ row.put("textField_m18x4yqo", formData.get("serialNumberField_lti2e639")); // 赋值规格编号
|
|
// 匹配规格编号, 条件内数据以原始数据覆盖导入数据
|
|
// 匹配规格编号, 条件内数据以原始数据覆盖导入数据
|
|
for (Object key : condition.keySet()) {
|
|
for (Object key : condition.keySet()) {
|
|
row.put(key, UtilMap.getString(formData, String.valueOf(key)));
|
|
row.put(key, UtilMap.getString(formData, String.valueOf(key)));
|
|
}
|
|
}
|
|
-// row.put("associationFormField_m18x4yqq", YDConf.associationForm(appType_pr, "FORM-C1BB004F74C1492DB3F568EA8A7A951C7NBY", UtilMap.getString(tList.get(0), "formInstanceId"), code, "", false));
|
|
|
|
- row.put("associationFormField_m18x4yqq", YDConf.associationForm(appType_pr, "FORM-F5FD52E311514AC890D4B308CFA8E8A8BH8J", UtilMap.getString(tList.get(0), "formInstanceId"), code, "", false));
|
|
|
|
|
|
+ row.put("associationFormField_m18x4yqq", YDConf.associationForm(appType_ps, "FORM-F5FD52E311514AC890D4B308CFA8E8A8BH8J", UtilMap.getString(tList.get(0), "formInstanceId"), code, "", false));
|
|
row.put("selectField_m10k093c", "引用");
|
|
row.put("selectField_m10k093c", "引用");
|
|
row.put("textareaField_m10k093a", "已匹配规格编号, 条件内数据以原始数据覆盖导入数据");
|
|
row.put("textareaField_m10k093a", "已匹配规格编号, 条件内数据以原始数据覆盖导入数据");
|
|
continue;
|
|
continue;
|
|
@@ -430,7 +436,6 @@ public class AWYDImplClient implements AWYDClient {
|
|
List<Map> tList = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
List<Map> tList = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
.appType(appType_ps)
|
|
.appType(appType_ps)
|
|
.systemToken(systemToken_ps)
|
|
.systemToken(systemToken_ps)
|
|
-// .formUuid("FORM-C1BB004F74C1492DB3F568EA8A7A951C7NBY")
|
|
|
|
.formUuid("FORM-F5FD52E311514AC890D4B308CFA8E8A8BH8J")
|
|
.formUuid("FORM-F5FD52E311514AC890D4B308CFA8E8A8BH8J")
|
|
.searchCondition(JSON.toJSONString(searchCondition))
|
|
.searchCondition(JSON.toJSONString(searchCondition))
|
|
.build(), YDConf.FORM_QUERY.retrieve_list).getData();
|
|
.build(), YDConf.FORM_QUERY.retrieve_list).getData();
|
|
@@ -439,8 +444,7 @@ public class AWYDImplClient implements AWYDClient {
|
|
String rCode = UtilMap.getString(formData, "serialNumberField_lti2e639");
|
|
String rCode = UtilMap.getString(formData, "serialNumberField_lti2e639");
|
|
row.put("selectField_m10k093c", "替换");
|
|
row.put("selectField_m10k093c", "替换");
|
|
row.put("textareaField_m10k093a", code + "规格已替换, " + UtilMap.getString(formData, "serialNumberField_lti2e639") + "规格库中相同条件规格");
|
|
row.put("textareaField_m10k093a", code + "规格已替换, " + UtilMap.getString(formData, "serialNumberField_lti2e639") + "规格库中相同条件规格");
|
|
-// row.put("associationFormField_m18x4yqq", YDConf.associationForm(appType_pr, "FORM-C1BB004F74C1492DB3F568EA8A7A951C7NBY", UtilMap.getString(tList.get(0), "formInstanceId"), rCode, "", false));
|
|
|
|
- row.put("associationFormField_m18x4yqq", YDConf.associationForm(appType_pr, "FORM-F5FD52E311514AC890D4B308CFA8E8A8BH8J", UtilMap.getString(tList.get(0), "formInstanceId"), rCode, "", false));
|
|
|
|
|
|
+ row.put("associationFormField_m18x4yqq", YDConf.associationForm(appType_ps, "FORM-F5FD52E311514AC890D4B308CFA8E8A8BH8J", UtilMap.getString(tList.get(0), "formInstanceId"), rCode, "", false));
|
|
row.put("textField_m18x4yqo", rCode);
|
|
row.put("textField_m18x4yqo", rCode);
|
|
} else {
|
|
} else {
|
|
row.put("selectField_m10k093c", "新增");
|
|
row.put("selectField_m10k093c", "新增");
|
|
@@ -468,7 +472,6 @@ public class AWYDImplClient implements AWYDClient {
|
|
details = ydService.queryDetails(YDParam.builder()
|
|
details = ydService.queryDetails(YDParam.builder()
|
|
.appType(appType_ps)
|
|
.appType(appType_ps)
|
|
.systemToken(systemToken_ps)
|
|
.systemToken(systemToken_ps)
|
|
-// .formUuid("FORM-2C5D914DC3974745AA6F55CB916E82FEH5UA")
|
|
|
|
.formUuid("FORM-A1809FBB82E54CB387B372E3B15457E7IOVV")
|
|
.formUuid("FORM-A1809FBB82E54CB387B372E3B15457E7IOVV")
|
|
.formInstanceId(ddr_new.getFormInstId())
|
|
.formInstanceId(ddr_new.getFormInstId())
|
|
.tableFieldId("tableField_lt2d2x78")
|
|
.tableFieldId("tableField_lt2d2x78")
|
|
@@ -483,7 +486,8 @@ public class AWYDImplClient implements AWYDClient {
|
|
detail.put("associationFormField_lvy7yjq8", YDConf.associationForm(UtilMap.getString(detail, "associationFormField_lvy7yjq8_id")));
|
|
detail.put("associationFormField_lvy7yjq8", YDConf.associationForm(UtilMap.getString(detail, "associationFormField_lvy7yjq8_id")));
|
|
|
|
|
|
boolean isCreate = "新增".equals(detail.get("selectField_m10k093c"));
|
|
boolean isCreate = "新增".equals(detail.get("selectField_m10k093c"));
|
|
- if (!isCreate) {
|
|
|
|
|
|
+ // prd 10.17 规格仅校验功能、性能需求, 规格可能为空
|
|
|
|
+ if (!isCreate && UtilMap.isNotBlankString(detail, "associationFormField_m18x4yqq_id")) {
|
|
detail.put("associationFormField_m18x4yqq", YDConf.associationForm(UtilMap.getString(detail, "associationFormField_m18x4yqq_id")));
|
|
detail.put("associationFormField_m18x4yqq", YDConf.associationForm(UtilMap.getString(detail, "associationFormField_m18x4yqq_id")));
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
@@ -491,7 +495,6 @@ public class AWYDImplClient implements AWYDClient {
|
|
detail.putAll(UtilMap.map("selectField_lwq7bv4z, selectField_lwq7bv51", "charter, pdt", data));
|
|
detail.putAll(UtilMap.map("selectField_lwq7bv4z, selectField_lwq7bv51", "charter, pdt", data));
|
|
detail.put("radioField_lti2e636", "启用");
|
|
detail.put("radioField_lti2e636", "启用");
|
|
String formInstId = (String) ydClient.operateData(YDParam.builder()
|
|
String formInstId = (String) ydClient.operateData(YDParam.builder()
|
|
-// .formUuid("FORM-C1BB004F74C1492DB3F568EA8A7A951C7NBY")
|
|
|
|
.formUuid("FORM-F5FD52E311514AC890D4B308CFA8E8A8BH8J")
|
|
.formUuid("FORM-F5FD52E311514AC890D4B308CFA8E8A8BH8J")
|
|
.appType(appType_ps)
|
|
.appType(appType_ps)
|
|
.systemToken(systemToken_ps)
|
|
.systemToken(systemToken_ps)
|
|
@@ -504,7 +507,6 @@ public class AWYDImplClient implements AWYDClient {
|
|
.formInstanceId(formInstId)
|
|
.formInstanceId(formInstId)
|
|
.build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
|
|
.build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
|
|
String rCode = UtilMap.getString(crData, "serialNumberField_lti2e639");
|
|
String rCode = UtilMap.getString(crData, "serialNumberField_lti2e639");
|
|
-// detail.put("associationFormField_lvy7yjq8", YDConf.associationForm(appType_ps, "FORM-C1BB004F74C1492DB3F568EA8A7A951C7NBY", formInstId, rCode, "", false));
|
|
|
|
detail.put("associationFormField_m18x4yqq", YDConf.associationForm(appType_ps, "FORM-F5FD52E311514AC890D4B308CFA8E8A8BH8J", formInstId, rCode, "", false));
|
|
detail.put("associationFormField_m18x4yqq", YDConf.associationForm(appType_ps, "FORM-F5FD52E311514AC890D4B308CFA8E8A8BH8J", formInstId, rCode, "", false));
|
|
detail.put("textField_m18x4yqo", rCode);
|
|
detail.put("textField_m18x4yqo", rCode);
|
|
detail.put("selectField_m10k093c", "已新增"); // 兼容重复调用
|
|
detail.put("selectField_m10k093c", "已新增"); // 兼容重复调用
|
|
@@ -520,11 +522,187 @@ public class AWYDImplClient implements AWYDClient {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ /// 产品规格
|
|
|
|
+ String appType_ts = "APP_LBOBROO4GOXH63MIROTP";
|
|
|
|
+ String systemToken_ts = "GNC66E911CRLB46HBG0AWCC3ZUWZ1QDYP2AXLPF";
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 测试规格导入校验 [10.15 更新版本] fixme 复制\简化无层级项目需求实现逻辑
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public Map checkImportData_testSpecification(String charter, List<Map> dataList, List<String> prList, boolean isSubmit) {
|
|
|
|
+
|
|
|
|
+ boolean isSuccess = true;
|
|
|
|
+ List<String> psList = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ // ‒ 匹配条件,仅规格编号、分类、类型、子类、描述、条件不可修改,作为唯一条件,其他信息作为bom属性可维护
|
|
|
|
+ Map condition = UtilMap.map("textField_m2b2mkvb, textField_m2b2mkvc, textField_m2b2mkvd", "测试类型", "验收项", "测试条件");
|
|
|
|
+ for (Map row : dataList) {
|
|
|
|
+ // 清理导入状态标志
|
|
|
|
+ row.put("selectField_m10k093c", "");
|
|
|
|
+ row.put("textareaField_m10k093a", "");
|
|
|
|
+
|
|
|
|
+ // ppExt 测试规格库校验逻辑: 1. 需求+规格编号不能为空且必须在需求列表中, 2.需求\规格相关数据不修改, 只引用测试规格内容 [解决前端关联表单导出再导入后丢失问题]
|
|
|
|
+ String prsCode = UtilMap.getString(row, "textField_m0vvv72j") + "_" + UtilMap.getString(row, "textField_m18x4yqo");
|
|
|
|
+ if (!prList.contains(prsCode)) {
|
|
|
|
+ row.put("selectField_m10k093c", "失败");
|
|
|
|
+ row.put("textareaField_m10k093a", prsCode + "需求+规格在列表中不存在, 请检查数据后重新导入");
|
|
|
|
+ isSuccess = false;
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ // prd 10.17 [目前仅同步功能、性能需求] 测试规格调整,只校验功能、性能需求,也只是同步只写入规格库
|
|
|
|
+ if (!Arrays.asList("功能需求(FUNC)", "性能需求(PFM)").contains(row.get("selectField_lronu2g3"))) {
|
|
|
|
+ row.put("selectField_m10k093c", "成功");
|
|
|
|
+ row.put("textareaField_m10k093a", "规格导入仅校验功能需求、性能需求强关联");
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ String code = UtilMap.getString(row, "textField_m2b2vx5x");
|
|
|
|
+ if (StringUtils.isNotBlank(code)) {
|
|
|
|
+ // 重复需求+规格编号+c测试规格校验
|
|
|
|
+ String uCode = UtilMap.getString(row, "textField_m0vvv72j") + "_" + UtilMap.getString(row, "textField_m18x4yqo") + "_" + UtilMap.getString(row, "textField_m2b2vx5x");
|
|
|
|
+ if (psList.contains(uCode)) {
|
|
|
|
+ row.put("selectField_m10k093c", "失败");
|
|
|
|
+ row.put("textareaField_m10k093a", uCode + "需求+规格+测试规格在当前列表已存在, 请检查数据后重新导入");
|
|
|
|
+ isSuccess = false;
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ psList.add(uCode);
|
|
|
|
+
|
|
|
|
+ if (!isSubmit) {
|
|
|
|
+ List<Map> searchCondition = Arrays.asList(YDConf.searchCondition_TextFiled("serialNumberField_m2b2mkva", code, "eq"));
|
|
|
|
+ List<Map> tList = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
|
|
+ .appType(appType_ts)
|
|
|
|
+ .systemToken(systemToken_ts)
|
|
|
|
+ .formUuid("FORM-767ECC0F8CCE4FB0BC48ECC63164F297BS77")
|
|
|
|
+ .searchCondition(JSON.toJSONString(searchCondition))
|
|
|
|
+ .build(), YDConf.FORM_QUERY.retrieve_list).getData();
|
|
|
|
+ if (tList.size() > 0) {
|
|
|
|
+ Map formData = UtilMap.getMap(tList.get(0), "formData");
|
|
|
|
+ row.put("textField_m2b2vx5x", formData.get("serialNumberField_m2b2mkva")); // 赋值规格编号
|
|
|
|
+ // 匹配规格编号, 条件内数据以原始数据覆盖导入数据
|
|
|
|
+ for (Object key : condition.keySet()) {
|
|
|
|
+ row.put(key, UtilMap.getString(formData, String.valueOf(key)));
|
|
|
|
+ }
|
|
|
|
+ row.put("associationFormField_lt6zl2fh", YDConf.associationForm(appType_ts, "FORM-767ECC0F8CCE4FB0BC48ECC63164F297BS77", UtilMap.getString(tList.get(0), "formInstanceId"), code, "", false));
|
|
|
|
+ row.put("selectField_m10k093c", "引用");
|
|
|
|
+ row.put("textareaField_m10k093a", "已匹配规格编号, 条件内数据以原始数据覆盖导入数据");
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ // 控制匹配条件 [ prd: 同时兼容, 有编号未匹配到数据, 通过填写内容识别 ]
|
|
|
|
+ for (Object prop : condition.keySet()) {
|
|
|
|
+ if (UtilMap.isBlankString(row, String.valueOf(prop))) {
|
|
|
|
+ row.put("selectField_m10k093c", "失败");
|
|
|
|
+ row.put("textareaField_m10k093a", condition.get(prop) + ", 请检查数据后重新导入");
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (UtilMap.isNotBlankString(row, "textareaField_m10k093a")) {
|
|
|
|
+ isSuccess = false;
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ if (!isSubmit) {
|
|
|
|
+ // 若有,执行替换逻辑, 备注体现原始被替换编号
|
|
|
|
+ List<Map> searchCondition = new ArrayList<>();
|
|
|
|
+ for (Object key : condition.keySet()) {
|
|
|
|
+ searchCondition.add(YDConf.searchCondition_TextFiled(String.valueOf(key), row.get(key), "eq"));
|
|
|
|
+ }
|
|
|
|
+ List<Map> tList = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
|
|
+ .appType(appType_ts)
|
|
|
|
+ .systemToken(systemToken_ts)
|
|
|
|
+ .formUuid("FORM-767ECC0F8CCE4FB0BC48ECC63164F297BS77")
|
|
|
|
+ .searchCondition(JSON.toJSONString(searchCondition))
|
|
|
|
+ .build(), YDConf.FORM_QUERY.retrieve_list).getData();
|
|
|
|
+ if (tList.size() > 0) {
|
|
|
|
+ Map formData = UtilMap.getMap(tList.get(0), "formData");
|
|
|
|
+ String rCode = UtilMap.getString(formData, "serialNumberField_m2b2mkva");
|
|
|
|
+ row.put("selectField_m10k093c", "替换");
|
|
|
|
+ row.put("textareaField_m10k093a", code + "规格已替换, " + UtilMap.getString(formData, "serialNumberField_m2b2mkva") + "规格库中相同条件规格");
|
|
|
|
+ row.put("associationFormField_lt6zl2fh", YDConf.associationForm(appType_ts, "FORM-767ECC0F8CCE4FB0BC48ECC63164F297BS77", UtilMap.getString(tList.get(0), "formInstanceId"), rCode, "", false));
|
|
|
|
+ row.put("textField_m18x4yqo", rCode);
|
|
|
|
+ } else {
|
|
|
|
+ row.put("selectField_m10k093c", "新增");
|
|
|
|
+ row.put("textareaField_m10k093a", "测试规格编号不存在, 评审通过后测试规格库新增");
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return UtilMap.map("isSuccess, dataList", isSuccess, dataList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 测试规格审批通过后, 回写规格编号与关联表单
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public void dealApprovedData_testSpecification(String instanceId, Map data) {
|
|
|
|
+ // 项目需求数据
|
|
|
|
+ DDR_New ddr_new = ydClient.queryData(YDParam.builder()
|
|
|
|
+ .appType(appType_ts)
|
|
|
|
+ .systemToken(systemToken_ts)
|
|
|
|
+ .formInstanceId(instanceId)
|
|
|
|
+ .build(), YDConf.FORM_QUERY.retrieve_id);
|
|
|
|
+ Map formData = ddr_new.getFormData();
|
|
|
|
+ List<Map> details = (List<Map>) formData.get("tableField_lt2d2x78");
|
|
|
|
+ if (details.size() == YDConf.PAGE_SIZE_DETAILS) {
|
|
|
|
+ details = ydService.queryDetails(YDParam.builder()
|
|
|
|
+ .appType(appType_ts)
|
|
|
|
+ .systemToken(systemToken_ts)
|
|
|
|
+ .formUuid("FORM-A0AC3FDEF14B43D8A117A4077128AFB6EX2S")
|
|
|
|
+ .formInstanceId(ddr_new.getFormInstId())
|
|
|
|
+ .tableFieldId("tableField_lt2d2x78")
|
|
|
|
+ .build());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ boolean isUpdate = false;
|
|
|
|
+ for (Map detail : details) {
|
|
|
|
+ // 需求库\规格库
|
|
|
|
+ detail.put("associationFormField_lvy7yjq8", YDConf.associationForm(UtilMap.getString(detail, "associationFormField_lvy7yjq8_id")));
|
|
|
|
+ // prd 10.17 规格仅校验功能、性能需求, 规格可能为空
|
|
|
|
+ if (UtilMap.isNotBlankString(detail, "associationFormField_m18x4yqq_id")) {
|
|
|
|
+ detail.put("associationFormField_m18x4yqq", YDConf.associationForm(UtilMap.getString(detail, "associationFormField_m18x4yqq_id")));
|
|
|
|
+ }
|
|
|
|
+ boolean isCreate = "新增".equals(detail.get("selectField_m10k093c"));
|
|
|
|
+ if (!isCreate && UtilMap.isNotBlankString(detail, "associationFormField_lt6zl2fh_id")) {
|
|
|
|
+ detail.put("associationFormField_lt6zl2fh", YDConf.associationForm(UtilMap.getString(detail, "associationFormField_lt6zl2fh_id")));
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ // 主表信息需完善
|
|
|
|
+ detail.putAll(UtilMap.map("selectField_lwq7bv4z, selectField_lwq7bv51", "charter, pdt", data));
|
|
|
|
+ detail.put("radioField_lti2e636", "启用");
|
|
|
|
+ String formInstId = (String) ydClient.operateData(YDParam.builder()
|
|
|
|
+ .formUuid("FORM-767ECC0F8CCE4FB0BC48ECC63164F297BS77")
|
|
|
|
+ .appType(appType_ts)
|
|
|
|
+ .systemToken(systemToken_ts)
|
|
|
|
+ .formDataJson(JSONObject.toJSONString(detail)) // 子表组件ID与档案一致
|
|
|
|
+ .build(), YDConf.FORM_OPERATION.create);
|
|
|
|
+ // 查询新增数据后, 规格编号
|
|
|
|
+ Map crData = ydClient.queryData(YDParam.builder()
|
|
|
|
+ .appType(appType_ts)
|
|
|
|
+ .systemToken(systemToken_ts)
|
|
|
|
+ .formInstanceId(formInstId)
|
|
|
|
+ .build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
|
|
|
|
+ String rCode = UtilMap.getString(crData, "serialNumberField_m2b2mkva");
|
|
|
|
+ detail.put("associationFormField_lt6zl2fh", YDConf.associationForm(appType_ts, "FORM-767ECC0F8CCE4FB0BC48ECC63164F297BS77", formInstId, rCode, "", false));
|
|
|
|
+ detail.put("textField_m2b2vx5x", rCode);
|
|
|
|
+ detail.put("selectField_m10k093c", "已新增"); // 兼容重复调用
|
|
|
|
+ isUpdate = true;
|
|
|
|
+ }
|
|
|
|
+ if (isUpdate) {
|
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
|
+ .appType(appType_ts)
|
|
|
|
+ .systemToken(systemToken_ts)
|
|
|
|
+ .formInstanceId(instanceId)
|
|
|
|
+ .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("tableField_lt2d2x78", details)))
|
|
|
|
+ .build(), YDConf.FORM_OPERATION.update);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 提供verifier数据读取服务
|
|
* 提供verifier数据读取服务
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public List<Map> syncVerifier(String projectCode) {
|
|
|
|
|
|
+ public Map syncVerifier(String projectCode, String productCode, String productVersion) {
|
|
|
|
|
|
// 查询最新审批通过项目,规格列表
|
|
// 查询最新审批通过项目,规格列表
|
|
List<Map> dataList = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
List<Map> dataList = (List<Map>) ydClient.queryData(YDParam.builder()
|
|
@@ -541,7 +719,10 @@ public class AWYDImplClient implements AWYDClient {
|
|
|
|
|
|
Map formData = UtilMap.getMap((Map) UtilList.getLast(dataList), "data");
|
|
Map formData = UtilMap.getMap((Map) UtilList.getLast(dataList), "data");
|
|
List<Map> details = (List<Map>) formData.get("tableField_lt2d2x78");
|
|
List<Map> details = (List<Map>) formData.get("tableField_lt2d2x78");
|
|
- return details.stream().map(row -> {
|
|
|
|
|
|
+ details = details.stream().filter(item -> {
|
|
|
|
+ // prd 10.17 规格仅校验功能、性能需求, 规格可能为空. 因此只传递数字/模拟
|
|
|
|
+ return Arrays.asList("数字, 模拟").equals(UtilMap.getString(item, "selectField_lti2e638"));
|
|
|
|
+ }).map(row -> {
|
|
// Type, MinSpec, MaxSpec, Unit, Description 规格描述
|
|
// Type, MinSpec, MaxSpec, Unit, Description 规格描述
|
|
Map r = UtilMap.map("Type, MinSpec, MaxSpec, Unit, Description", "textField_lubo7pf2, textField_lubo7pf3, textField_lubo7pf4, textField_lubo7pf5, textField_lt2vdhtf", row);
|
|
Map r = UtilMap.map("Type, MinSpec, MaxSpec, Unit, Description", "textField_lubo7pf2, textField_lubo7pf3, textField_lubo7pf4, textField_lubo7pf5, textField_lt2vdhtf", row);
|
|
// ID 规格编号 + 需求编号
|
|
// ID 规格编号 + 需求编号
|
|
@@ -559,8 +740,26 @@ public class AWYDImplClient implements AWYDClient {
|
|
r.put("Condition", UtilMap.getString(row, "textField_lt2vdhtg")); // 规格条件
|
|
r.put("Condition", UtilMap.getString(row, "textField_lt2vdhtg")); // 规格条件
|
|
return r;
|
|
return r;
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
|
+ return UtilMap.map("code, list", UtilMap.getString(formData, "serialNumberField_lt6xc8ef"), details);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 提供verifier数据回传服务
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public void backVerifier(Map data) {
|
|
|
|
+
|
|
|
|
+ List<Map> list = UtilMap.getList(data, "data");
|
|
|
|
+ list.forEach(item -> {
|
|
|
|
+ Map formData = UtilMap.map("textField_u3qgblp, textField_cpp0ref", "ID, Title", item);
|
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
|
+ .appType("APP_R5EBUF2FPN3Y8DRF93M4")
|
|
|
|
+ .systemToken("ON566NC1VNIHPANP9TNVHB3TBIWS3E0TUZ5RLF3")
|
|
|
|
+ .formUuid("FORM-F390DA7B88C4470EA49503753DA6C8FBQCDN")
|
|
|
|
+ .formDataJson(JSON.toJSONString(formData))
|
|
|
|
+ .build(), YDConf.FORM_OPERATION.create);
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public void test() {
|
|
public void test() {
|