From c007f0ca1785db093d48f4846cda82fe8e955765 Mon Sep 17 00:00:00 2001
From: kimi <kimi42345@gmail.com>
Date: 星期三, 27 五月 2020 09:59:29 +0800
Subject: [PATCH] merage

---
 src/main/java/com/highdatas/mdm/service/impl/SysFieldServiceImpl.java |  173 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 152 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/highdatas/mdm/service/impl/SysFieldServiceImpl.java b/src/main/java/com/highdatas/mdm/service/impl/SysFieldServiceImpl.java
index c6ddc54..1002586 100644
--- a/src/main/java/com/highdatas/mdm/service/impl/SysFieldServiceImpl.java
+++ b/src/main/java/com/highdatas/mdm/service/impl/SysFieldServiceImpl.java
@@ -64,16 +64,23 @@
         maintainField = maintainFieldService.selectOne(new EntityWrapper<MaintainField>().eq("maintain_id", maintainId).orderBy("order_no desc"));
         if (maintainField == null) {
             //瀵瑰簲鐗堟湰鎵句笉鍒� 寰�鍓嶆壘
-            String maintainFieldId = maintainFieldMapper.getMappedMatintainId(DbUtils.quotedStr(maintain.getTableName()), maintain.getOrderNo());
-            if (StringUtils.isEmpty(maintainFieldId)) {
+            Map<String, String> maintainFieldMap = maintainFieldMapper.getMappedMatintainId(DbUtils.quotedStr(maintain.getTableName()), maintain.getOrderNo());
+            if (maintainFieldMap == null) {
                return null;
             }
+            String maintainFieldId = maintainFieldMap.get(Constant.ID);
             maintainField = maintainFieldService.selectById(maintainFieldId);
         }
         return maintainField;
     }
 
-
+    /**
+     *
+     * @description:  閫氳繃鐗堟湰鑾峰彇瀛楁鍒楄〃
+     * @param maintainId 鐗堟湰id
+     * @return: 瀛楁鍒楄〃
+     *
+     */
     @Override
     public List<SysField> getFieldByMaintain(String maintainId) {
         List<SysField> fieldList;
@@ -83,14 +90,12 @@
         }
 
         MaintainField maintainField = getMaintainFieldByMaintain(maintainId);
-        if (maintainField == null && Constant.Default.equalsIgnoreCase(maintainField.getId())) {
-
+        if (maintainField == null || Constant.Default.equalsIgnoreCase(maintainField.getId())) {
             fieldList = this.selectList(new EntityWrapper<SysField>().eq("table_name", maintain.getTableName()).isNull("maintain_field_id").orderBy("order_no"));
             return fieldList;
         }
         String maintainFieldId = maintainField.getId();
         String tableName = maintainField.getTableName();
-        //TODO  鍒ゆ柇鐗堟湰
         ActivitiStatus status = flowsService.getStatusByBusinessId(maintainFieldId);
         if (status != null && status.equals(ActivitiStatus.open)) {
             fieldList = this.selectList(new EntityWrapper<SysField>().eq("maintain_field_id", maintainFieldId).eq("table_name", tableName).orderBy("order_no"));
@@ -114,9 +119,16 @@
 
     }
 
+    /**
+     *
+     * @description:  閫氳繃鐗堟湰鑾峰彇瀛楁鐗堟湰
+     * @param maintainId 鐗堟湰id
+     * @return: 瀛楁鐗堟湰
+     *
+     */
     @Override
     public MaintainField getMaintainFieldByMaintain(String maintainId) {
-        MaintainField maintainField;
+        MaintainField maintainField = null;
         List<SysField> fieldList = null;
 
         if (StringUtils.isEmpty(maintainId)) {
@@ -126,17 +138,29 @@
         if (maintain == null) {
             return null;
         }
+        List<MaintainField> subList = maintainFieldService.selectList(new EntityWrapper<MaintainField>().eq("maintain_id", maintainId).orderBy("order_no desc, create_time desc"));
+        subList.sort(new Comparator<MaintainField>() {
+            @Override
+            public int compare(MaintainField o1, MaintainField o2) {
 
-        maintainField = maintainFieldService.selectOne(new EntityWrapper<MaintainField>().eq("maintain_id", maintainId).orderBy("order_no desc, create_time desc"));
+                return o2.getOrderNo().compareTo(o1.getOrderNo());
+            }
+        });
+        if (!subList.isEmpty()) {
+            maintainField = subList.get(0);
+        }
+
         if (maintainField == null) {
             //瀵瑰簲鐗堟湰鎵句笉鍒� 寰�鍓嶆壘
-            String maintainFieldId = maintainFieldMapper.getMappedMatintainId(DbUtils.quotedStr(maintain.getTableName()), maintain.getOrderNo());
-            if (StringUtils.isEmpty(maintainFieldId)) {
-                return new MaintainField().setId(Constant.Default);
+            Map<String, String> maintainFieldMap = maintainFieldMapper.getMappedMatintainId(DbUtils.quotedStr(maintain.getTableName()), maintain.getOrderNo());
+
+            if (maintainFieldMap == null) {
+                return new MaintainField().setId(Constant.Default).setTableName(maintain.getTableName());
             }
+            String maintainFieldId = maintainFieldMap.get(Constant.ID);
             maintainField = maintainFieldService.selectById(maintainFieldId);
             if (maintainField == null){
-                return new MaintainField().setId(Constant.Default);
+                return new MaintainField().setId(Constant.Default).setTableName(maintain.getTableName());
             }
         }
 
@@ -151,7 +175,7 @@
         // 褰撳墠鐗堟湰姝e湪瀹℃壒  鎵惧墠涓�鐗堟湰
         Integer maintainFieldOrderNo = maintainField.getOrderNo();
         if (maintainFieldOrderNo < 1) {
-            return new MaintainField().setId(Constant.Default);
+            return new MaintainField().setId(Constant.Default).setTableName(maintain.getTableName());
         }else {
             Integer preNo = maintainFieldOrderNo - 1;
             maintainField = maintainFieldService.selectOne(new EntityWrapper<MaintainField>().eq("table_name", maintain.getTableName()).eq("order_no", preNo));
@@ -160,7 +184,13 @@
 
 
     }
-
+    /**
+     *
+     * @description:  閫氳繃琛ㄥ悕鑾峰彇褰撳墠瀛楁鍒楄〃
+     * @param tableName 琛ㄥ悕
+     * @return: 褰撳墠瀛楁鍒楄〃
+     *
+     */
     @Override
     public List<SysField> getFieldByTable(String tableName) {
         Maintain nowVersion = maintainService.getNowVersion(tableName);
@@ -178,7 +208,13 @@
         }
         return getFieldByMaintain(nowVersion.getId());
     }
-
+    /**
+     *
+     * @description:  閫氳繃鐗堟湰鑾峰彇鏁版嵁搴撳瓧娈靛垪琛�
+     * @param tableName 琛ㄥ悕
+     * @return: 瀛楁鍒楄〃
+     *
+     */
     @Override
     public Result getTotalFields(String tableName) {
         JSONObject result = new JSONObject();
@@ -238,7 +274,42 @@
 
         return Result.success(result);
     }
+    /**
+     *
+     * @description:  list 閫氳繃鍒嗛〉瀵硅薄绛涢��
+     * @param list 鏁版嵁鍒楄〃
+     * @param pageNo 椤垫暟
+     * @param pageSize 姣忛〉鏁伴噺
+     * @return: 鍒嗛〉绛涢�夊悗鐨勬暟鎹垪琛�
+     *
+     */
+    @Override
+    public Result getPagedDataByList(List list, Integer pageNo, Integer pageSize) {
+        JSONObject result = new JSONObject();
+        int total = list.size();
+        Page page = new Page(total);
+        page.setPageSize(pageSize);
+        page.setPageNo(pageNo);
+        List subList = (List) list.stream().skip(page.getBeginRecordNo_1()).limit(page.getPageSize()).collect(Collectors.toList());
+        result.fluentPut("pages", page.getPageCount());
+        result.fluentPut("current", pageNo);
+        result.fluentPut("size", pageSize);
+        result.fluentPut("total", page.getRecordCount());
+        result.fluentPut("list", subList);
 
+        return Result.success(result);
+
+
+    }
+    /**
+     *
+     * @description:  鑾峰彇鍒嗛〉鍚庣殑瀛楁鍒楄〃
+     * @param tableName 琛ㄥ悕
+     * @param pageNo 椤垫暟
+     * @param pageSize 姣忛〉鏁版嵁
+     * @return: 瀛楁鍒楄〃
+     *
+     */
     @Override
     public Result getTotalFields(String tableName, Integer pageNo, Integer pageSize) {
         Result totalFields = getTotalFields(tableName);
@@ -260,7 +331,14 @@
 
     }
 
-
+    /**
+     *
+     * @description:  鍒嗙被鍚庣粰鍓嶇灞曠ず
+     * @param nowFields 褰撳墠鐗堟湰瀛楁鍒楄〃
+     * @param maxFields 鍏ㄩ儴瀛楁鍒楄〃
+     * @return: 鍒嗙被鍚庣殑瀛楁鍒楄〃
+     *
+     */
     private List<SysField> packageFieldList(List<SysField> nowFields, List<SysField> maxFields) {
         //鍘熷鐨勬竻闄perate鐢ㄤ簬鍓嶇鏄剧ず
         nowFields =  nowFields.stream().map(sysField -> sysField.setOperate(null)).collect(Collectors.toList());
@@ -296,7 +374,14 @@
         });
         return nowFields;
     }
-
+    /**
+     *
+     * @description:  鏇存柊鍩虹瀛楁瀵硅薄淇℃伅
+     * @param preField 鏇存柊鍓嶇殑瀛楁瀵硅薄
+     * @param updateField 鏇存柊鍙傛暟
+     * @return: 鏄惁鏇存柊鎴愬姛
+     *
+     */
     @Override
     public boolean updateCommon(SysField preField, SysField updateField) {
         preField.setWidth(updateField.getWidth());
@@ -329,7 +414,14 @@
         preField.setOrderNo(updateField.getOrderNo());
         return preField.updateById();
     }
-
+    /**
+     *
+     * @description:  閫氳繃瀛楁鐗堟湰鑾峰彇鏌愪釜瀛楁鐨勫璞�
+     * @param maintainFieldId 瀛楁鐗堟湰
+     * @param field 瀛楁鍚嶇О
+     * @return: 瀛楁瀵硅薄
+     *
+     */
     @Override
     public SysField getOneFieldByMaintainField(String maintainFieldId, String field) {
         List<SysField> fieldByMaintain = getFieldByMaintainField(maintainFieldId);
@@ -339,7 +431,34 @@
         }
         return collect.get(0);
     }
-
+    /**
+     *
+     * @description:  閫氳繃鏁版嵁鐗堟湰鑾峰彇鏌愪釜瀛楁鐨勫璞�
+     * @param maintainId 鏁版嵁鐗堟湰
+     * @param field 瀛楁鍚嶇О
+     * @return: 瀛楁瀵硅薄
+     *
+     */
+    @Override
+    public SysField getOneFieldByMaintain(String maintainId, String field) {
+        List<SysField> fieldByMaintain = getFieldByMaintain(maintainId);
+        if (fieldByMaintain == null || fieldByMaintain.isEmpty()) {
+            return null;
+        }
+        for (SysField sysField : fieldByMaintain) {
+            if (sysField.getField().equalsIgnoreCase(field)) {
+                return sysField;
+            }
+        }
+        return null;
+    }
+    /**
+     *
+     * @description:  閫氳繃瀛楁鐗堟湰鑾峰彇瀵硅薄鍒楄〃
+     * @param maintainId 瀛楁鐗堟湰
+     * @return: 瀛楁瀵硅薄鍒楄〃
+     *
+     */
     @Override
     public List<SysField> getFieldByMaintainField(String maintainId) {
         if (StringUtils.isEmpty(maintainId)) {
@@ -347,12 +466,24 @@
         }
         return selectList(new EntityWrapper<SysField>().eq("maintain_field_id", maintainId).orderBy("order_no"));
     }
-
+    /**
+     *
+     * @description:  閫氳繃琛ㄥ悕鑾峰彇榛樿瀛楁鍒楄〃
+     * @param tableName 琛ㄥ悕
+     * @return: 瀛楁瀵硅薄鍒楄〃
+     *
+     */
     @Override
     public List<SysField> getDefaultTableField(String tableName) {
         return selectList(new EntityWrapper<SysField>().eq("table_name", tableName).isNull("maintain_field_id").orderBy("order_no"));
     }
-
+    /**
+     *
+     * @description:  閫氳繃琛ㄥ悕鑾峰彇鍏ㄩ儴瀛楁鍒楄〃
+     * @param tableName 琛ㄥ悕
+     * @return: 瀛楁瀵硅薄鍒楄〃
+     *
+     */
     @Override
     public List<SysField> getTotalTableField(String tableName) {
         List<TableSchemaResult> tableField = tableInfoMapper.getTableField(tableName);

--
Gitblit v1.8.0