Jelajahi Sumber

2.修改Android Apex Mobile数据库删除Result固定显示字段及更新最多显示三条。

Pen Li 7 tahun lalu
induk
melakukan
d7adcf5501

+ 4 - 0
ApexDrivers/apexmobile/src/main/java/com/usai/apex/ApexTrackingApplication.java

@@ -176,6 +176,10 @@ public class ApexTrackingApplication extends Application implements RAProviderHe
 		}
 		dbUtil.cleanhistory();
 
+		// 删除Result固定显示字段 及 更新显示最多三条
+		dbUtil.deleteResultFields();
+		dbUtil.updateResultDisplayFields();
+
 		// Intent serviceintent = new Intent();
 		// serviceintent.setClass(this, ApexPushService.class);
 		//

+ 6 - 3
ApexDrivers/apexmobile/src/main/java/com/usai/apex/mainframe/KPIFragment.java

@@ -25,6 +25,7 @@ import android.view.ViewGroup;
 import android.widget.ProgressBar;
 
 import com.usai.apex.ApexTrackingApplication;
+import com.usai.apex.apexresult.ApexResultActivity;
 import com.usai.apex.kpi.KPICell;
 import com.usai.apex.kpi.KPIViewPager;
 import com.usai.apex.kpi.PieChartView;
@@ -641,9 +642,11 @@ public void checkDirty()
         params.putString("sector",sector);
         params.putString("module_name",module_name);
 
-        Intent intent = new Intent(getContext(), AMResultActivity.class);
-        intent.putExtra("query_params",params);
-        startActivity(intent);
+//        Intent intent = new Intent(getContext(), AMResultActivity.class);
+//        intent.putExtra("query_params",params);
+//        startActivity(intent);
+
+        ApexResultActivity.startResultActivity(getActivity(), params);
     }
 
     public class KPIPagerAdapter extends PagerAdapter {

+ 5 - 0
ApexDrivers/apexmobile/src/main/java/com/usai/util/Network.java

@@ -1052,6 +1052,11 @@ public class Network
 				db.setTransactionSuccessful();
 				db.endTransaction();
 				editor.commit();
+
+				// 删除Result固定显示字段 及 更新显示最多三条
+				dbUtil.deleteResultFields(db);
+				dbUtil.updateResultDisplayFields(db);
+
 				return RESULT_TRUE;
 			}
 			Log.d(TAG, "json is wrong");

+ 61 - 0
ApexDrivers/apexmobile/src/main/java/com/usai/util/dbUtil.java

@@ -567,4 +567,65 @@ public class dbUtil
 
 	}
 
+	public static void deleteResultFields() {
+
+//		String booking_sql = "delete from fields_info where behavior = 1 and function_name = 'Ocean Booking' and name in ('booking_no','shipper','consignee','po_no','f_etd,m_eta','place_of_receipt_uncode','place_of_delivery_uncode');";
+//
+//		String bl_sql = "delete from fields_info where behavior = 1 and function_name = 'Ocean B/L info.' and name in ('last_status_315_code','shipper,consignee','h_bol,etd','eta,po_no','place_of_receipt_un','place_of_delivery_un');";
+//
+//		String cn_sql = "delete from fields_info where behavior = 1 and function_name = 'Container detail' and name in ('shipper','consignee','ctnr','file_no','po_no','etd','eta','fport_of_loading_un','mport_of_discharge_un');";
+
+
+		SQLiteDatabase db = OpenDB(ApexTrackingApplication.get_instance(), null, true);
+
+		deleteResultFields(db);
+
+		CloseDB(db);
+	}
+
+	public static void updateResultDisplayFields() {
+
+		SQLiteDatabase db = OpenDB(ApexTrackingApplication.get_instance(), null, true);
+
+		updateResultDisplayFields(db);
+
+		CloseDB(db);
+
+	}
+
+	public static void deleteResultFields(SQLiteDatabase db) {
+
+		db.delete("fields_info", "behavior = 1 and function_name = 'Ocean Booking' and name in ('booking_no','shipper','consignee','po_no','f_etd,m_eta','place_of_receipt_uncode','place_of_delivery_uncode')", null);
+		db.delete("fields_info", "behavior = 1 and function_name = 'Ocean B/L info.' and name in ('last_status_315_code','shipper,consignee','h_bol,etd','eta,po_no','place_of_receipt_un','place_of_delivery_un')", null);
+		db.delete("fields_info", "behavior = 1 and function_name = 'Container detail' and name in ('shipper','consignee','ctnr','file_no','po_no','etd','eta','fport_of_loading_un','mport_of_discharge_un')", null);
+
+	}
+
+	public static void updateResultDisplayFields(SQLiteDatabase db) {
+
+		ArrayList<String> users = new ArrayList<>();
+
+		String user_sql = "select distinct user from fields_info;";
+
+		Cursor cursor = db.rawQuery(user_sql, null);
+		while (cursor.moveToNext()) {
+
+			String user = cursor.getString(0);
+			users.add(user);
+		}
+
+		int maxDisplay = 3;
+
+		String[] functions_arr = {"Ocean Booking", "Ocean B/L info.", "Container detail"};
+		for (String user : users) {
+
+			for (String function : functions_arr) {
+
+				String sql = String.format("update fields_info set show = 0 where behavior = 1 and show = 1 and user = '%s' and function_name = '%s' and name in (select name from fields_info where function_name='%s' and user = '%s' and behavior=1 and show=1 order by priority,aname limit %d offset %d);", user, function, function, user, Integer.MAX_VALUE, maxDisplay);
+				db.execSQL(sql);
+			}
+		}
+	}
+
+
 }