From 0d831f835708bab1351fa26c7e8aea0a9bf8911e Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期三, 01 四月 2020 11:38:30 +0800
Subject: [PATCH] add  usergroup  一半

---
 src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java |   25 +++++++++++++++++--------
 1 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java
index 8e966ee..f0412ce 100644
--- a/src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java
+++ b/src/main/java/com/highdatas/mdm/service/impl/MaintainFieldServiceImpl.java
@@ -194,12 +194,15 @@
 
             Integer orderNo = maintainField.getOrderNo();
             int preNo = orderNo - 1;
-            if (preNo< 0) {
-                return;
+            MaintainField preMaintainField;
+            if (preNo < 0 ) {
+               preMaintainField = new MaintainField().setId(Constant.Default);
+            }else {
+                preMaintainField = selectOne(new EntityWrapper<MaintainField>()
+                        .eq("table_name", maintainField.getTableName())
+                        .eq("order_no", preNo));
             }
-            MaintainField preMaintainField = selectOne(new EntityWrapper<MaintainField>()
-                    .eq("table_name", maintainField.getTableName())
-                    .eq("order_no", preNo));
+
             if (preMaintainField == null){
                 return;
             }
@@ -222,20 +225,26 @@
 
             for (MasterAuthor masterAuthor : masterAuthors) {
                 Boolean fieldAuto = masterAuthor.getFieldAuto();
+
+                List<MasterAuthorDetail> masterAuthorDetails = masterAuthorDetailService.selectList(new EntityWrapper<MasterAuthorDetail>().eq(Constant.PARENT_ID, masterAuthor.getId()));
+
                 masterAuthor.setMaintainFieldId(maintainField.getId())
                         .setCreateTime(new Date())
                         .setUpdateTime(null)
                         .setId(DbUtils.getUUID())
                         .insert();
-                List<MasterAuthorDetail> masterAuthorDetails = masterAuthorDetailService.selectList(new EntityWrapper<MasterAuthorDetail>().eq(Constant.PARENT_ID, preMaintainField.getId()));
 
                 for (MasterAuthorDetail masterAuthorDetail : masterAuthorDetails) {
-                    masterAuthorDetail.setParentId(maintainField.getId()).setId(DbUtils.getUUID()).insert();
+                    long count = deleteList.stream().filter(sysField -> sysField.getField().equalsIgnoreCase(masterAuthorDetail.getField())).count();
+                    if (count > 0) {
+                        continue;
+                    }
+                    masterAuthorDetail.setParentId(masterAuthor.getId()).setId(DbUtils.getUUID()).insert();
                 }
 
                 if (fieldAuto) {
                     for (String s : createFieldList) {
-                        new MasterAuthorDetail().setField(s).setVal(Constant.z_AllVal).setAll(true).setParentId(maintainField.getId()).setId(DbUtils.getUUID()).insert();
+                        new MasterAuthorDetail().setField(s).setVal(Constant.z_AllVal).setAll(true).setParentId(masterAuthor.getId()).setId(DbUtils.getUUID()).insert();
                     }
                 }
             }

--
Gitblit v1.8.0