From 56f00ff96055a8946c4cee16e011d942b64cec62 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 03 六月 2020 22:26:00 +0800
Subject: [PATCH] 优化修改功能

---
 service-api/src/main/java/com/java110/api/bmo/task/impl/TaskBMOImpl.java |   43 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 34 insertions(+), 9 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/bmo/task/impl/TaskBMOImpl.java b/service-api/src/main/java/com/java110/api/bmo/task/impl/TaskBMOImpl.java
index 42b7542..81aaebb 100644
--- a/service-api/src/main/java/com/java110/api/bmo/task/impl/TaskBMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/bmo/task/impl/TaskBMOImpl.java
@@ -67,17 +67,42 @@
      */
     public void updateTask(JSONObject paramInJson, DataFlowContext dataFlowContext) {
 
-        TaskDto taskDto = new TaskDto();
-        taskDto.setTaskId(paramInJson.getString("taskId"));
-        //taskDto.setJobId(paramInJson.getString("jobId"));
-        List<TaskDto> taskDtos = taskInnerServiceSMOImpl.queryTasks(taskDto);
-
-        Assert.listOnlyOne(taskDtos, "鏈壘鍒伴渶瑕佷慨鏀圭殑娲诲姩 鎴栧鏉℃暟鎹�");
-
-
-        paramInJson.putAll(BeanConvertUtil.beanCovertMap(taskDtos.get(0)));
+//        TaskDto taskDto = new TaskDto();
+//        taskDto.setTaskId(paramInJson.getString("taskId"));
+//        //taskDto.setJobId(paramInJson.getString("jobId"));
+//        List<TaskDto> taskDtos = taskInnerServiceSMOImpl.queryTasks(taskDto);
+//
+//        Assert.listOnlyOne(taskDtos, "鏈壘鍒伴渶瑕佷慨鏀圭殑娲诲姩 鎴栧鏉℃暟鎹�");
+//        paramInJson.putAll(BeanConvertUtil.beanCovertMap(taskDtos.get(0)));
         TaskPo taskPo = BeanConvertUtil.covertBean(paramInJson, TaskPo.class);
         super.update(dataFlowContext, taskPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_TASK);
+
+        if (!paramInJson.containsKey("templateSpecs")) {
+            return;
+        }
+
+        JSONArray templateSpecs = paramInJson.getJSONArray("templateSpecs");
+        JSONObject specObj = null;
+        TaskAttrPo taskAttrPo = null;
+        for (int specIndex = 0; specIndex < templateSpecs.size(); specIndex++) {
+            specObj = templateSpecs.getJSONObject(specIndex);
+            if (specObj.containsKey("attrId") && !"-1".equals(specObj.getString("attrId"))) {
+                taskAttrPo = new TaskAttrPo();
+                taskAttrPo.setAttrId(specObj.getString("attrId"));
+                taskAttrPo.setTaskId(taskPo.getTaskId());
+                taskAttrPo.setValue(specObj.getString("value"));
+                taskAttrPo.setSpecCd(specObj.getString("specCd"));
+                super.update(dataFlowContext, taskAttrPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_TASK_ATTR);
+
+                continue;
+            }
+            taskAttrPo = new TaskAttrPo();
+            taskAttrPo.setAttrId("-" + (specIndex + 1));
+            taskAttrPo.setTaskId(taskPo.getTaskId());
+            taskAttrPo.setValue(specObj.getString("value"));
+            taskAttrPo.setSpecCd(specObj.getString("specCd"));
+            super.insert(dataFlowContext, taskAttrPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_TASK_ATTR);
+        }
     }
 
 

--
Gitblit v1.8.0