From 5bac93baf5659ce013163f884c9dce41990a860e Mon Sep 17 00:00:00 2001
From: kimi42345 <kimi42345@outlook.com>
Date: 星期一, 23 三月 2020 08:49:41 +0800
Subject: [PATCH] no message

---
 src/main/java/com/highdatas/mdm/service/impl/SysFieldServiceImpl.java |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 50 insertions(+), 8 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 85f6e48..c0c45ae 100644
--- a/src/main/java/com/highdatas/mdm/service/impl/SysFieldServiceImpl.java
+++ b/src/main/java/com/highdatas/mdm/service/impl/SysFieldServiceImpl.java
@@ -1,16 +1,16 @@
 package com.highdatas.mdm.service.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
-import com.highdatas.mdm.entity.Flows;
-import com.highdatas.mdm.entity.Maintain;
-import com.highdatas.mdm.entity.MaintainField;
-import com.highdatas.mdm.entity.SysField;
+import com.highdatas.mdm.entity.*;
 import com.highdatas.mdm.mapper.MaintainFieldMapper;
 import com.highdatas.mdm.mapper.SysFieldMapper;
+import com.highdatas.mdm.mapper.TableInfoMapper;
 import com.highdatas.mdm.pojo.ActivitiStatus;
 import com.highdatas.mdm.pojo.Operate;
+import com.highdatas.mdm.pojo.Page;
 import com.highdatas.mdm.pojo.Result;
 import com.highdatas.mdm.service.IFlowsService;
 import com.highdatas.mdm.service.IMaintainFieldService;
@@ -46,6 +46,8 @@
     MaintainFieldMapper maintainFieldMapper;
     @Autowired
     IFlowsService flowsService;
+    @Autowired
+    TableInfoMapper tableInfoMapper;
 
 
     @Override
@@ -94,9 +96,9 @@
             fieldList = this.selectList(new EntityWrapper<SysField>().eq("table_name", maintain.getTableName()).isNull("maintain_field_id").orderBy("order_no"));
             return fieldList;
         }else {
-            Integer preNo = maintainFieldOrderNo--;
+            Integer preNo = maintainFieldOrderNo - 1;
             maintainField = maintainFieldService.selectOne(new EntityWrapper<MaintainField>().eq("table_name", maintain.getTableName()).eq("order_no", preNo));
-            fieldList = this.selectList(new EntityWrapper<SysField>().eq("maintain_field_id", maintainFieldId).eq("table_name", tableName).orderBy("order_no"));
+            fieldList = this.selectList(new EntityWrapper<SysField>().eq("maintain_field_id", maintainField.getId()).eq("table_name", tableName).orderBy("order_no"));
             return fieldList;
         }
 
@@ -107,7 +109,16 @@
     public List<SysField> getFieldByTable(String tableName) {
         Maintain nowVersion = maintainService.getNowVersion(tableName);
         if (nowVersion == null) {
-            return null;
+            List<SysField> fieldList = this.selectList(new EntityWrapper<SysField>().eq("table_name", tableName).isNull("maintain_field_id").orderBy("order_no"));
+            if (fieldList.size() ==0) {
+                List<TableSchemaResult> tableField = tableInfoMapper.getTableField(tableName);
+                for (TableSchemaResult tableSchemaResult : tableField) {
+                    String fieldName = tableSchemaResult.getFieldName();
+                    SysField field = new SysField().setField(fieldName);
+                    fieldList.add(field);
+                }
+            }
+            return fieldList;
         }
         return getFieldByMaintain(nowVersion.getId());
     }
@@ -172,6 +183,28 @@
         return Result.success(result);
     }
 
+    @Override
+    public Result getTotalFields(String tableName, Integer pageNo, Integer pageSize) {
+        Result totalFields = getTotalFields(tableName);
+        JSONObject result = (JSONObject) totalFields.getData();
+        JSONArray list = result.getJSONArray("list");
+        int total = list.size();
+        Page page = new Page(total);
+        page.setPageSize(pageSize);
+        page.setPageNo(pageNo);
+        List<Object> subList = 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);
+
+
+    }
+
+
     private List<SysField> packageFieldList(List<SysField> nowFields, List<SysField> maxFields) {
         //鍘熷鐨勬竻闄perate鐢ㄤ簬鍓嶇鏄剧ず
         nowFields =  nowFields.stream().map(sysField -> sysField.setOperate(null)).collect(Collectors.toList());
@@ -193,7 +226,16 @@
         Collections.sort(nowFields, new Comparator<SysField>() {
             @Override
             public int compare(SysField o1, SysField o2) {
-                return o1.getOrderNo() - o2.getOrderNo() ;
+                Integer o1OrderNo = o1.getOrderNo();
+                Integer orderNo = o2.getOrderNo();
+                if (o1OrderNo == null && orderNo == null) {
+                    return 0;
+                }else if (o1OrderNo == null) {
+                    return -1;
+                }else if  (orderNo == null) {
+                    return 1;
+                }
+                return o1OrderNo - orderNo;
             }
         });
         return nowFields;

--
Gitblit v1.8.0