Преглед на файлове

保存化验流程的时候,额外保存画面项目

王苗苗 преди 2 седмици
родител
ревизия
9680cd4e01

+ 29 - 1
ruoyi-system/src/main/java/com/ruoyi/business/service/impl/TAssayWorkflowServiceImpl.java

@@ -15,6 +15,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.business.domain.TAssayWorkflow;
 import com.ruoyi.business.service.ITAssayWorkflowService;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * 化验流程Service业务层处理
@@ -110,12 +111,15 @@ public class TAssayWorkflowServiceImpl implements ITAssayWorkflowService
      * @return 结果
      */
     @Override
+    @Transactional
     public int insertTAssayWorkflow(TAssayWorkflow tAssayWorkflow)
     {
         tAssayWorkflow.setCreateTime(DateUtils.getNowDate());
         //存放的是用户ID
         tAssayWorkflow.setCreateBy(String.valueOf(SecurityUtils.getUserId()));
-        return tAssayWorkflowMapper.insertTAssayWorkflow(tAssayWorkflow);
+        int i = tAssayWorkflowMapper.insertTAssayWorkflow(tAssayWorkflow);
+        this.handleExtra(tAssayWorkflow);
+        return i;
     }
 
     /**
@@ -125,14 +129,38 @@ public class TAssayWorkflowServiceImpl implements ITAssayWorkflowService
      * @return 结果
      */
     @Override
+    @Transactional
     public int updateTAssayWorkflow(TAssayWorkflow tAssayWorkflow)
     {
         tAssayWorkflow.setUpdateTime(DateUtils.getNowDate());
         //存放的是用户ID
         tAssayWorkflow.setUpdateBy(String.valueOf(SecurityUtils.getUserId()));
+        this.handleExtra(tAssayWorkflow);
         return tAssayWorkflowMapper.updateTAssayWorkflow(tAssayWorkflow);
     }
 
+    private void handleExtra(TAssayWorkflow tAssayWorkflow) {
+        Long id = tAssayWorkflow.getId();
+        List<TAssayWorkflowItem> items = tAssayWorkflow.getItems();
+        //先把原来绑定的删除
+        List<TAssayWorkflowItem> tAssayWorkflowItems = this.assayWorkflowItemMapper.selectTAssayWorkflowItemList(TAssayWorkflowItem.builder().workflowId(id).build());
+        if(!CollectionUtils.isEmpty(items)){
+            for (TAssayWorkflowItem tAssayWorkflowItem : tAssayWorkflowItems) {
+                this.assayWorkflowItemMapper.deleteTAssayWorkflowItemById(tAssayWorkflowItem.getId());
+            }
+        }
+
+        //添加新的
+        if(!CollectionUtils.isEmpty(items)){
+            for (int i = 0; i < items.size(); i++) {
+                TAssayWorkflowItem item = items.get(i);
+                item.setWorkflowId(id);
+                item.setRemark(String.valueOf(i));
+                this.assayWorkflowItemMapper.insertTAssayWorkflowItem(item);
+            }
+        }
+    }
+
     /**
      * 批量删除化验流程
      * 

+ 2 - 1
ruoyi-system/src/main/resources/mapper/business/TAssayWorkflowItemMapper.xml

@@ -31,7 +31,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="itemId != null "> and item_id = #{itemId}</if>
             <if test="revision != null "> and revision = #{revision}</if>
         </where>
-        and del_flag = 0 order by id desc
+        <!-- and del_flag = 0 order by id desc -->
+        and del_flag = 0 order by remark asc
     </select>
     
     <select id="selectTAssayWorkflowItemById" parameterType="Long" resultMap="TAssayWorkflowItemResult">