diff --git a/doc/DB/compass_db_init.sql b/doc/DB/compass_db_init.sql
index d1b49cd..3e0b46b 100644
--- a/doc/DB/compass_db_init.sql
+++ b/doc/DB/compass_db_init.sql
@@ -2,4 +2,6 @@
 insert into account_mst(login,password,name,contact,role,modules)values('admin123','admin123','系统管理员','123456','99','1|2|3|4|5|6|7|8|9|10|11|12|13')
 
 ##行政规划表##
-insert into account_mst(login,password,name,contact,role)values('admin123','admin123','系统管理员','123456','99')
\ No newline at end of file
+insert into account_mst(login,password,name,contact,role)values('admin123','admin123','系统管理员','123456','99')
+
+##系统常量表##
\ No newline at end of file
diff --git a/doc/DB/compass_db_schema.sql b/doc/DB/compass_db_schema.sql
index fe8244d..cf711fd 100644
--- a/doc/DB/compass_db_schema.sql
+++ b/doc/DB/compass_db_schema.sql
@@ -1,95 +1,463 @@
-----account_mst
+##----system_const_dat create
+
+DROP TABLE IF EXISTS system_const_dat;
+CREATE TABLE IF NOT EXISTS system_const_dat(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	name varchar(64) NOT NULL,
+	title varchar(128) NOT NULL,
+	constant_value text NOT NULL,
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX system_const_dat_name_idx ON system_const_dat(name);
+
+
+##----government_mst create
+
+DROP TABLE IF EXISTS government_mst;
+CREATE TABLE IF NOT EXISTS government_mst(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	province varchar(64) NOT NULL,
+	city varchar(64),
+	district varchar(64),
+	title text NOT NULL,
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX government_mst_province_idx ON government_mst(province);
+Create INDEX government_mst_city_idx ON government_mst(city);
+Create INDEX government_mst_district_idx ON government_mst(district);
+
+
+##----account_mst create
+
 DROP TABLE IF EXISTS account_mst;
 CREATE TABLE IF NOT EXISTS account_mst(
-	id int8 unsigned NOT NULL PRIMARY KEY auto_increment,
-	registration_date datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 	login text NOT NULL,
 	password text NOT NULL,
 	name varchar(64) NOT NULL,
 	contact text,
 	role varchar(128) NOT NULL,
-	user_id int8 NOT NULL DEFAULT 0,
-	school_id int8 NOT NULL DEFAULT 0,
-	government_id int8 NOT NULL DEFAULT 0,
+	user_id int8 NOT NULL DEFAULT '0',
+	school_id int8 NOT NULL DEFAULT '0',
+	government_id int8 NOT NULL DEFAULT '0',
 	modules text NOT NULL,
 	comment text,
 	delete_flg tinyint(1) NOT NULL DEFAULT '0'
 ) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX account_mst_login_idx ON account_mst(login(255));
+Create INDEX account_mst_password_idx ON account_mst(password(255));
 Create INDEX account_mst_name_idx ON account_mst(name);
 
-----system_const_dat
-DROP TABLE IF EXISTS system_const_dat;
-CREATE TABLE IF NOT EXISTS system_const_dat(
-	id int8 unsigned NOT NULL PRIMARY KEY auto_increment,
-	registration_date datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
-	name varchar(64) NOT NULL,
-	title varchar(128) NOT NULL,
-	constant_value text NOT NULL,
+
+##----school_mst create
+
+DROP TABLE IF EXISTS school_mst;
+CREATE TABLE IF NOT EXISTS school_mst(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	school_no text NOT NULL,
+	original_source int8 NOT NULL DEFAULT '0',
+	title text NOT NULL,
+	school_type varchar(64) NOT NULL,
+	front_image varchar(64) NOT NULL,
+	comment text NOT NULL,
+	address text NOT NULL,
+	province varchar(64),
+	city varchar(64),
+	district varchar(64),
+	street text,
+	longitude text NOT NULL,
+	latitude text NOT NULL DEFAULT 'UNKNOW',
 	delete_flg tinyint(1) NOT NULL DEFAULT '0'
 ) ENGINE = INNODB DEFAULT CHARSET=utf8;
-Create INDEX system_const_dat_name_idx ON system_const_dat(name);
 
-----grade_mst
+Create INDEX school_mst_id_idx ON school_mst(id);
+Create INDEX school_mst_title_idx ON school_mst(title(255));
+Create INDEX school_mst_school_type_idx ON school_mst(school_type);
+
+
+##----grade_mst create
+
 DROP TABLE IF EXISTS grade_mst;
 CREATE TABLE IF NOT EXISTS grade_mst(
-	id int8 unsigned NOT NULL PRIMARY KEY auto_increment,
-	registration_date datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 	school_id int8 NOT NULL,
+	school_no text NOT NULL,
+	original_source int8 NOT NULL DEFAULT '0',
 	title text NOT NULL,
 	delete_flg tinyint(1) NOT NULL DEFAULT '0'
 ) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
 Create INDEX grade_mst_school_id_idx ON grade_mst(school_id);
 
-----class_mst
+
+##----class_mst create
+
 DROP TABLE IF EXISTS class_mst;
 CREATE TABLE IF NOT EXISTS class_mst(
-	id int8 unsigned NOT NULL PRIMARY KEY auto_increment,
-	registration_date datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 	school_id int8 NOT NULL,
+	school_no text NOT NULL,
+	class_no text NOT NULL,
+	original_source int8 NOT NULL DEFAULT '0',
 	grade_id int8 NOT NULL,
-	class_no varchar(64) NOT NULL,
 	title text NOT NULL,
-	member_count int8 NOT NULL,
-	manager_id int8 NOT NULL,
+	member_count int8 NOT NULL DEFAULT '0',
 	delete_flg tinyint(1) NOT NULL DEFAULT '0'
 ) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
 Create INDEX class_mst_school_id_idx ON class_mst(school_id);
 Create INDEX class_mst_grade_id_idx ON class_mst(grade_id);
-Create INDEX class_mst_class_no_idx ON class_mst(class_no);
+Create INDEX class_mst_class_no_idx ON class_mst(class_no(255));
+
+
+##----circle_dat create
+
+DROP TABLE IF EXISTS circle_dat;
+CREATE TABLE IF NOT EXISTS circle_dat(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	title text NOT NULL,
+	member_count int8 NOT NULL DEFAULT '0',
+	need_check tinyint(1) NOT NULL DEFAULT '0',
+	comment text NOT NULL,
+	longitude text NOT NULL,
+	latitude text NOT NULL DEFAULT 'UNKNOW',
+	owner_id int8 NOT NULL DEFAULT '0',
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+
+
+##----circle_member_dat create
+
+DROP TABLE IF EXISTS circle_member_dat;
+CREATE TABLE IF NOT EXISTS circle_member_dat(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	circle_id int8 NOT NULL DEFAULT '0',
+	user_id int8 NOT NULL DEFAULT '0',
+	member_count int8 NOT NULL DEFAULT '0',
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+
+
+##----teacher_mst create
+
+DROP TABLE IF EXISTS teacher_mst;
+CREATE TABLE IF NOT EXISTS teacher_mst(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	school_id int8 NOT NULL,
+	grade_id int8 NOT NULL,
+	class_id int8 NOT NULL,
+	name varchar(64) NOT NULL,
+	contact varchar(64),
+	qq_no varchar(64) DEFAULT '1',
+	area varchar(64),
+	sex varchar(64) NOT NULL DEFAULT 'UNKNOW',
+	channel_no varchar(64) NOT NULL,
+	status varchar(64) NOT NULL DEFAULT '0',
+	uid varchar(128),
+	account_id int8 NOT NULL DEFAULT '0',
+	point int4 NOT NULL DEFAULT '0',
+	zfb_account varchar(128),
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX teacher_mst_channel_no_idx ON teacher_mst(channel_no);
+Create INDEX teacher_mst_status_idx ON teacher_mst(status);
+
+
+##----user_mst create
+
+DROP TABLE IF EXISTS user_mst;
+CREATE TABLE IF NOT EXISTS user_mst(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	school_id int8 NOT NULL,
+	class_id int8 NOT NULL,
+	name varchar(64) NOT NULL,
+	tel_no varchar(32) NOT NULL,
+	unionid varchar(64) NOT NULL DEFAULT 'UNKNOW',
+	status varchar(64) NOT NULL DEFAULT '0',
+	account_id int8 NOT NULL DEFAULT '0',
+	role varchar(128) NOT NULL DEFAULT '0',
+	point int8 NOT NULL DEFAULT '0',
+	longitude text NOT NULL,
+	latitude text NOT NULL DEFAULT 'UNKNOW',
+	organization_submit_date timestamp,
+	organization_no varchar(255),
+	organization_title text,
+	legal_person varchar(255),
+	organization_contact text,
+	legal_person_imgage1 varchar(255),
+	legal_person_imgage2 varchar(255),
+	licensen_imgage varchar(255),
+	other_imgage varchar(255),
+	organization_status varchar(64) NOT NULL DEFAULT 'NEW',
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX user_mst_status_idx ON user_mst(status);
+
+
+##----event_dat create
+
+DROP TABLE IF EXISTS event_dat;
+CREATE TABLE IF NOT EXISTS event_dat(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	title text NOT NULL,
+	start_time timestamp NOT NULL,
+	finish_time timestamp NOT NULL,
+	position text NOT NULL,
+	position_longitude text NOT NULL,
+	position_latitude text NOT NULL,
+	scope int8 NOT NULL,
+	max_member int8 NOT NULL DEFAULT '0',
+	time_length varchar(64) NOT NULL,
+	leader_name varchar(64) NOT NULL,
+	leader_contact varchar(128) NOT NULL,
+	venue_ text NOT NULL,
+	status varchar(64) NOT NULL DEFAULT 'NEW',
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+
 
+##----organization_mst create
 
-----organization_mst
 DROP TABLE IF EXISTS organization_mst;
 CREATE TABLE IF NOT EXISTS organization_mst(
-	id int8 unsigned NOT NULL PRIMARY KEY auto_increment,
-	registration_date datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
-	submit_date datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	organization_submit_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 	organization_no varchar(255) NOT NULL,
-	title text NOT NULL,
+	organization_title text NOT NULL,
 	legal_person varchar(255) NOT NULL,
-	contact text NOT NULL,
-	legal_person_imgage1 varchar(255) NOT NULL,
-	legal_person_imgage2 varchar(255) NOT NULL,
-	licensen_imgage varchar(255) NOT NULL,
+	organization_contact text,
+	legal_person_imgage1 varchar(255),
+	legal_person_imgage2 varchar(255),
+	licensen_imgage varchar(255),
 	other_imgage varchar(255),
-	status varchar(255) NOT NULL DEFAULT 'NEW',
+	organization_status varchar(64) NOT NULL DEFAULT 'NEW',
 	delete_flg tinyint(1) NOT NULL DEFAULT '0'
 ) ENGINE = INNODB DEFAULT CHARSET=utf8;
-Create INDEX organization_mst_id_idx ON organization_mst(id);
-Create INDEX organization_mst_submit_date_idx ON organization_mst(submit_date);
-Create INDEX organization_mst_status_idx ON organization_mst(status);
 
-----government_mst
-DROP TABLE IF EXISTS government_mst;
-CREATE TABLE IF NOT EXISTS government_mst(
-	id int8 unsigned NOT NULL PRIMARY KEY auto_increment,
-	registration_date datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
-	province varchar(64) NOT NULL,
-	city varchar(64),
-	district varchar(64),
-	title varchar(64) NOT NULL,
+
+
+##----user_comment_dat create
+
+DROP TABLE IF EXISTS user_comment_dat;
+CREATE TABLE IF NOT EXISTS user_comment_dat(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	user_id int8 NOT NULL,
+	account_id int8 NOT NULL,
+	comment text,
+	status varchar(64) NOT NULL DEFAULT '0',
 	delete_flg tinyint(1) NOT NULL DEFAULT '0'
 ) ENGINE = INNODB DEFAULT CHARSET=utf8;
-Create INDEX government_mst_province_idx ON government_mst(province);
-Create INDEX government_mst_city_idx ON government_mst(city);
-Create INDEX government_mst_district_idx ON government_mst(district);
\ No newline at end of file
+
+Create INDEX user_comment_dat_user_id_idx ON user_comment_dat(user_id);
+Create INDEX user_comment_dat_account_id_idx ON user_comment_dat(account_id);
+
+
+##----user_favorite_dat create
+
+DROP TABLE IF EXISTS user_favorite_dat;
+CREATE TABLE IF NOT EXISTS user_favorite_dat(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	user_id int8 NOT NULL,
+	data_type varchar(64) NOT NULL,
+	data_id int8 NOT NULL,
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX user_favorite_dat_user_id_idx ON user_favorite_dat(user_id);
+Create INDEX user_favorite_dat_data_id_idx ON user_favorite_dat(data_id);
+Create INDEX user_favorite_dat_data_type_idx ON user_favorite_dat(data_type);
+
+
+##----user_sign_dat create
+
+DROP TABLE IF EXISTS user_sign_dat;
+CREATE TABLE IF NOT EXISTS user_sign_dat(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	object_date varchar(10) NOT NULL,
+	user_id int8 NOT NULL,
+	article_id int8 NOT NULL DEFAULT '0',
+	point int8 NOT NULL DEFAULT '0',
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX user_sign_dat_object_date_idx ON user_sign_dat(object_date);
+Create INDEX user_sign_dat_user_id_idx ON user_sign_dat(user_id);
+
+
+##----user_point_log create
+
+DROP TABLE IF EXISTS user_point_log;
+CREATE TABLE IF NOT EXISTS user_point_log(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	user_id int8 NOT NULL PRIMARY KEY auto_increment,
+	action_type int4 NOT NULL,
+	point int4 NOT NULL DEFAULT '0',
+	point_left int4 NOT NULL DEFAULT '0',
+	status varchar(255) NOT NULL DEFAULT 'WAITING',
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX user_point_log_user_id_idx ON user_point_log(user_id);
+
+
+##----user_staff_relation_dat create
+
+DROP TABLE IF EXISTS user_staff_relation_dat;
+CREATE TABLE IF NOT EXISTS user_staff_relation_dat(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	user_id int8 NOT NULL,
+	account_id int8 NOT NULL,
+	comment text NOT NULL,
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX user_staff_relation_dat_user_id_idx ON user_staff_relation_dat(user_id);
+Create INDEX user_staff_relation_dat_account_id_idx ON user_staff_relation_dat(account_id);
+
+
+##----article_dat create
+
+DROP TABLE IF EXISTS article_dat;
+CREATE TABLE IF NOT EXISTS article_dat(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	category_id int8 NOT NULL,
+	title varchar(128) NOT NULL,
+	front_image text,
+	mp3 varchar(64),
+	video_url text,
+	comment text NOT NULL,
+	display_order int4 NOT NULL DEFAULT '0',
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX article_dat_display_order_idx ON article_dat(display_order);
+Create INDEX article_dat_title_idx ON article_dat(title);
+
+
+##----article_tags_dat create
+
+DROP TABLE IF EXISTS article_tags_dat;
+CREATE TABLE IF NOT EXISTS article_tags_dat(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	tag text,
+	click_count int8,
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX article_tags_dat_tag_idx ON article_tags_dat(tag(255));
+
+
+##----article_category_mst create
+
+DROP TABLE IF EXISTS article_category_mst;
+CREATE TABLE IF NOT EXISTS article_category_mst(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	title text NOT NULL,
+	thumbnail text,
+	display_order int8 NOT NULL DEFAULT '0',
+	is_valid tinyint(1) NOT NULL DEFAULT '1',
+	user_status text,
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX article_category_mst_thumbnail_idx ON article_category_mst(thumbnail(255));
+Create INDEX article_category_mst_is_valid_idx ON article_category_mst(is_valid);
+
+
+##----article_comment_dat create
+
+DROP TABLE IF EXISTS article_comment_dat;
+CREATE TABLE IF NOT EXISTS article_comment_dat(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	article_id int8 NOT NULL DEFAULT '0',
+	icon text NOT NULL,
+	nickname text NOT NULL,
+	comment text,
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX article_comment_dat_article_id_idx ON article_comment_dat(article_id);
+
+
+##----miniplay_traffic_click_log create
+
+DROP TABLE IF EXISTS miniplay_traffic_click_log;
+CREATE TABLE IF NOT EXISTS miniplay_traffic_click_log(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	channel_id varchar(64),
+	openid varchar(255) NOT NULL,
+	adid int8 NOT NULL,
+	is_ok tinyint(1) NOT NULL DEFAULT '0',
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX miniplay_traffic_click_log_channel_id_idx ON miniplay_traffic_click_log(channel_id);
+Create INDEX miniplay_traffic_click_log_id_idx ON miniplay_traffic_click_log(id);
+Create INDEX miniplay_traffic_click_log_registration_date_idx ON miniplay_traffic_click_log(registration_date);
+
+
+##----miniplay_traffic_click_dat create
+
+DROP TABLE IF EXISTS miniplay_traffic_click_dat;
+CREATE TABLE IF NOT EXISTS miniplay_traffic_click_dat(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	object_date varchar(10) NOT NULL,
+	channel_id varchar(64) NOT NULL,
+	click_count int8 NOT NULL DEFAULT '0',
+	click_count_real int8 NOT NULL DEFAULT '0',
+	unique_click_count int8 NOT NULL DEFAULT '0',
+	unique_click_count_real int8 NOT NULL DEFAULT '0',
+	history_unique_click_count int8 NOT NULL DEFAULT '0',
+	history_unique_click_count_real int8 NOT NULL DEFAULT '0',
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX miniplay_traffic_click_dat_object_date_idx ON miniplay_traffic_click_dat(object_date);
+
+
+##----user_access_dat create
+
+DROP TABLE IF EXISTS user_access_dat;
+CREATE TABLE IF NOT EXISTS user_access_dat(
+	id bigint unsigned NOT NULL PRIMARY KEY auto_increment,
+	registration_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+	object_date varchar(10) NOT NULL,
+	register_count int8 NOT NULL,
+	login_count int8 NOT NULL DEFAULT '0',
+	delete_flg tinyint(1) NOT NULL DEFAULT '0'
+) ENGINE = INNODB DEFAULT CHARSET=utf8;
+
+Create INDEX user_access_dat_object_date_idx ON user_access_dat(object_date);
+
+
diff --git a/doc/DB/compass_db_schema.xlsx b/doc/DB/compass_db_schema.xlsx
index 7fab1ad..881fae0 100644
Binary files a/doc/DB/compass_db_schema.xlsx and b/doc/DB/compass_db_schema.xlsx differ
diff --git a/src/cn/compass/entity/ArticleCategoryMst.inc b/src/cn/compass/entity/ArticleCategoryMst.inc
new file mode 100644
index 0000000..d0799ac
--- /dev/null
+++ b/src/cn/compass/entity/ArticleCategoryMst.inc
@@ -0,0 +1,107 @@
+<?php
+/**
+ * ArticleCategoryMst Entity
+ * $Id: ArticleCategoryMst.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class ArticleCategoryMst extends CompassDynamicData
+{
+	var $title;
+	var $thumbnail;
+	var $display_order;
+	var $is_valid;
+	var $user_status;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。article_category_mst创建实例。
+	 * 
+	 * @access public
+	 * @param mixed article_category_mst
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->title         = $record["title"];
+		$this->thumbnail     = $record["thumbnail"];
+		$this->display_order = $record["display_order"];
+		$this->is_valid      = $record["is_valid"];
+		$this->user_status   = $record["user_status"];
+		$this->delete_flg    = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("ArticleCategoryMst", "article_category_mst", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("article_category_mst", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("ArticleCategoryMst", "article_category_mst", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "title");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "thumbnail");
+		ParamUtil::copyObj2Array($v_param, $this, "display_order");
+		ParamUtil::copyObj2Array($v_param, $this, "is_valid");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "user_status");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("article_category_mst", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/ArticleCommentDat.inc b/src/cn/compass/entity/ArticleCommentDat.inc
new file mode 100644
index 0000000..9329493
--- /dev/null
+++ b/src/cn/compass/entity/ArticleCommentDat.inc
@@ -0,0 +1,104 @@
+<?php
+/**
+ * ArticleCommentDat Entity
+ * $Id: ArticleCommentDat.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class ArticleCommentDat extends CompassDynamicData
+{
+	var $article_id;
+	var $icon;
+	var $nickname;
+	var $comment;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。article_comment_dat创建实例。
+	 * 
+	 * @access public
+	 * @param mixed article_comment_dat
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->article_id = $record["article_id"];
+		$this->icon       = $record["icon"];
+		$this->nickname   = $record["nickname"];
+		$this->comment    = $record["comment"];
+		$this->delete_flg = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("ArticleCommentDat", "article_comment_dat", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("article_comment_dat", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("ArticleCommentDat", "article_comment_dat", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "article_id");
+		ParamUtil::copyObj2Array($v_param, $this, "icon");
+		ParamUtil::copyObj2Array($v_param, $this, "nickname");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "comment");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("article_comment_dat", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/ArticleDat.inc b/src/cn/compass/entity/ArticleDat.inc
new file mode 100644
index 0000000..53d5d6b
--- /dev/null
+++ b/src/cn/compass/entity/ArticleDat.inc
@@ -0,0 +1,113 @@
+<?php
+/**
+ * ArticleDat Entity
+ * $Id: ArticleDat.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class ArticleDat extends CompassDynamicData
+{
+	var $category_id;
+	var $title;
+	var $front_image;
+	var $mp3;
+	var $video_url;
+	var $comment;
+	var $display_order;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。article_dat创建实例。
+	 * 
+	 * @access public
+	 * @param mixed article_dat
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->category_id   = $record["category_id"];
+		$this->title         = $record["title"];
+		$this->front_image   = $record["front_image"];
+		$this->mp3           = $record["mp3"];
+		$this->video_url     = $record["video_url"];
+		$this->comment       = $record["comment"];
+		$this->display_order = $record["display_order"];
+		$this->delete_flg    = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("ArticleDat", "article_dat", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("article_dat", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("ArticleDat", "article_dat", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "category_id");
+		ParamUtil::copyObj2Array($v_param, $this, "title");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "front_image");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "mp3");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "video_url");
+		ParamUtil::copyObj2Array($v_param, $this, "comment");
+		ParamUtil::copyObj2Array($v_param, $this, "display_order");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("article_dat", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/ArticleTagsDat.inc b/src/cn/compass/entity/ArticleTagsDat.inc
new file mode 100644
index 0000000..840fe24
--- /dev/null
+++ b/src/cn/compass/entity/ArticleTagsDat.inc
@@ -0,0 +1,98 @@
+<?php
+/**
+ * ArticleTagsDat Entity
+ * $Id: ArticleTagsDat.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class ArticleTagsDat extends CompassDynamicData
+{
+	var $tag;
+	var $click_count;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。article_tags_dat创建实例。
+	 * 
+	 * @access public
+	 * @param mixed article_tags_dat
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->tag         = $record["tag"];
+		$this->click_count = $record["click_count"];
+		$this->delete_flg  = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("ArticleTagsDat", "article_tags_dat", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("article_tags_dat", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("ArticleTagsDat", "article_tags_dat", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "tag");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "click_count");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("article_tags_dat", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/CircleDat.inc b/src/cn/compass/entity/CircleDat.inc
new file mode 100644
index 0000000..c227a6e
--- /dev/null
+++ b/src/cn/compass/entity/CircleDat.inc
@@ -0,0 +1,113 @@
+<?php
+/**
+ * CircleDat Entity
+ * $Id: CircleDat.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class CircleDat extends CompassDynamicData
+{
+	var $title;
+	var $member_count;
+	var $need_check;
+	var $comment;
+	var $longitude;
+	var $latitude;
+	var $owner_id;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。circle_dat创建实例。
+	 * 
+	 * @access public
+	 * @param mixed circle_dat
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->title        = $record["title"];
+		$this->member_count = $record["member_count"];
+		$this->need_check   = $record["need_check"];
+		$this->comment      = $record["comment"];
+		$this->longitude    = $record["longitude"];
+		$this->latitude     = $record["latitude"];
+		$this->owner_id     = $record["owner_id"];
+		$this->delete_flg   = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("CircleDat", "circle_dat", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("circle_dat", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("CircleDat", "circle_dat", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "title");
+		ParamUtil::copyObj2Array($v_param, $this, "member_count");
+		ParamUtil::copyObj2Array($v_param, $this, "need_check");
+		ParamUtil::copyObj2Array($v_param, $this, "comment");
+		ParamUtil::copyObj2Array($v_param, $this, "longitude");
+		ParamUtil::copyObj2Array($v_param, $this, "latitude");
+		ParamUtil::copyObj2Array($v_param, $this, "owner_id");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("circle_dat", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/CircleMemberDat.inc b/src/cn/compass/entity/CircleMemberDat.inc
new file mode 100644
index 0000000..52c2a84
--- /dev/null
+++ b/src/cn/compass/entity/CircleMemberDat.inc
@@ -0,0 +1,101 @@
+<?php
+/**
+ * CircleMemberDat Entity
+ * $Id: CircleMemberDat.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class CircleMemberDat extends CompassDynamicData
+{
+	var $circle_id;
+	var $user_id;
+	var $member_count;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。circle_member_dat创建实例。
+	 * 
+	 * @access public
+	 * @param mixed circle_member_dat
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->circle_id    = $record["circle_id"];
+		$this->user_id      = $record["user_id"];
+		$this->member_count = $record["member_count"];
+		$this->delete_flg   = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("CircleMemberDat", "circle_member_dat", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("circle_member_dat", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("CircleMemberDat", "circle_member_dat", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "circle_id");
+		ParamUtil::copyObj2Array($v_param, $this, "user_id");
+		ParamUtil::copyObj2Array($v_param, $this, "member_count");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("circle_member_dat", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/ClassMst.inc b/src/cn/compass/entity/ClassMst.inc
index ef0ef6e..95e511c 100644
--- a/src/cn/compass/entity/ClassMst.inc
+++ b/src/cn/compass/entity/ClassMst.inc
@@ -1,24 +1,24 @@
 <?php
 /**
  * ClassMst Entity
- * $Id: ClassMst.inc,v 1.1 2016/9/21 12:59:25 AIMS Exp $
- * @author wanggb
- * @package jp.fishow.entity
+ * $Id: ClassMst.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
  * @access public
  */
 class ClassMst extends CompassDynamicData
 {
 	var $school_id;
-	var $grade_id;
+	var $school_no;
 	var $class_no;
+	var $original_source;
+	var $grade_id;
 	var $title;
 	var $member_count;
-	var $manager_id;
 	var $delete_flg;
-	
 
 	/**
-	 * 
+	 * 构造实现。class_mst创建实例。
 	 * 
 	 * @access public
 	 * @param mixed class_mst
@@ -27,21 +27,23 @@ class ClassMst extends CompassDynamicData
 	{
 		parent::constructor($record);
 
-		$this->school_id      = $record["school_id"];
-		$this->grade_id   = $record["grade_id"];
-		$this->class_no      = $record["class_no"];
-		$this->title   = $record["title"];
-		$this->member_count      = $record["member_count"];
-		$this->manager_id   = $record["manager_id"];
-		$this->delete_flg = $record["delete_flg"];
+		$this->school_id       = $record["school_id"];
+		$this->school_no       = $record["school_no"];
+		$this->class_no        = $record["class_no"];
+		$this->original_source = $record["original_source"];
+		$this->grade_id        = $record["grade_id"];
+		$this->title           = $record["title"];
+		$this->member_count    = $record["member_count"];
+		$this->delete_flg      = $record["delete_flg"];
 	}
 
 	/**
-	 * 
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
 	 * @access public
 	 * @static
-	 * @param array 
-	 * @return array Entity
+	 * @param array 检索条件
+	 * @return array Entity的队列
 	 */
 	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
 	{
@@ -54,11 +56,12 @@ class ClassMst extends CompassDynamicData
 	}
 
 	/**
-	 * 
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
 	 * @access public
 	 * @static
-	 * @param array 
-	 * @return array Entity
+	 * @param array 检索条件
+	 * @return array Entity的队列
 	 */
 	public static function getListCount($w_param = null)
 	{
@@ -73,7 +76,7 @@ class ClassMst extends CompassDynamicData
 	}
 
 	/**
-	 * 
+	 * 获得此类指定ID的实例。
 	 */
 	public static function getById($id)
 	{
@@ -84,24 +87,24 @@ class ClassMst extends CompassDynamicData
 		return CompassDBHandler::getById("ClassMst", "class_mst", $id, $param);
 	}
 
-	
+	// -- 这里开始Dynamic ---
 	/**
-	 * 
-	 * DynamicData
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
 	 * @access public
-	 * @return int 
+	 * @return int 写入实例的ID
 	 */
 	public function save()
 	{
 		$v_param = array();
 
 		ParamUtil::copyObj2Array($v_param, $this, "school_id");
-		ParamUtil::copyObj2Array($v_param, $this, "grade_id");
+		ParamUtil::copyObj2Array($v_param, $this, "school_no");
 		ParamUtil::copyObj2Array($v_param, $this, "class_no");
-		ParamUtil::copyObj2Array($v_param, $this, "school_id");
+		ParamUtil::copyObj2Array($v_param, $this, "original_source");
+		ParamUtil::copyObj2Array($v_param, $this, "grade_id");
 		ParamUtil::copyObj2Array($v_param, $this, "title");
 		ParamUtil::copyObj2Array($v_param, $this, "member_count");
-		ParamUtil::copyObj2Array($v_param, $this, "manager_id");
 		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
 
 		// 保存
diff --git a/src/cn/compass/entity/EventDat.inc b/src/cn/compass/entity/EventDat.inc
new file mode 100644
index 0000000..381c15f
--- /dev/null
+++ b/src/cn/compass/entity/EventDat.inc
@@ -0,0 +1,131 @@
+<?php
+/**
+ * EventDat Entity
+ * $Id: EventDat.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class EventDat extends CompassDynamicData
+{
+	var $title;
+	var $start_time;
+	var $finish_time;
+	var $position;
+	var $position_longitude;
+	var $position_latitude;
+	var $scope;
+	var $max_member;
+	var $time_length;
+	var $leader_name;
+	var $leader_contact;
+	var $venue_;
+	var $status;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。event_dat创建实例。
+	 * 
+	 * @access public
+	 * @param mixed event_dat
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->title              = $record["title"];
+		$this->start_time         = $record["start_time"];
+		$this->finish_time        = $record["finish_time"];
+		$this->position           = $record["position"];
+		$this->position_longitude = $record["position_longitude"];
+		$this->position_latitude  = $record["position_latitude"];
+		$this->scope              = $record["scope"];
+		$this->max_member         = $record["max_member"];
+		$this->time_length        = $record["time_length"];
+		$this->leader_name        = $record["leader_name"];
+		$this->leader_contact     = $record["leader_contact"];
+		$this->venue_             = $record["venue_"];
+		$this->status             = $record["status"];
+		$this->delete_flg         = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("EventDat", "event_dat", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("event_dat", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("EventDat", "event_dat", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "title");
+		ParamUtil::copyObj2Array($v_param, $this, "start_time");
+		ParamUtil::copyObj2Array($v_param, $this, "finish_time");
+		ParamUtil::copyObj2Array($v_param, $this, "position");
+		ParamUtil::copyObj2Array($v_param, $this, "position_longitude");
+		ParamUtil::copyObj2Array($v_param, $this, "position_latitude");
+		ParamUtil::copyObj2Array($v_param, $this, "scope");
+		ParamUtil::copyObj2Array($v_param, $this, "max_member");
+		ParamUtil::copyObj2Array($v_param, $this, "time_length");
+		ParamUtil::copyObj2Array($v_param, $this, "leader_name");
+		ParamUtil::copyObj2Array($v_param, $this, "leader_contact");
+		ParamUtil::copyObj2Array($v_param, $this, "venue_");
+		ParamUtil::copyObj2Array($v_param, $this, "status");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("event_dat", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/GovernmentMst.inc b/src/cn/compass/entity/GovernmentMst.inc
index 99206f4..d71077c 100644
--- a/src/cn/compass/entity/GovernmentMst.inc
+++ b/src/cn/compass/entity/GovernmentMst.inc
@@ -1,43 +1,43 @@
 <?php
 /**
  * GovernmentMst Entity
- * $Id: GovernmentMst.inc,v 1.1 2020/1/03 12:59:25 AIMS Exp $
+ * $Id: GovernmentMst.inc,v 1.1 2020/1/15 11:01:52 Exp $
  * @author lixq
- * @package jp.fishow.entity
+ * @package jp.compass.entity
  * @access public
  */
 class GovernmentMst extends CompassDynamicData
 {
-  var $province;
-  var $city;
-  var $district;
+	var $province;
+	var $city;
+	var $district;
 	var $title;
 	var $delete_flg;
-	
 
 	/**
-	 * 
+	 * 构造实现。government_mst创建实例。
 	 * 
 	 * @access public
-	 * @param mixed class_mst
+	 * @param mixed government_mst
 	 */
 	function constructor($record)
 	{
 		parent::constructor($record);
 
-		$this->province     = $record["province"];
-		$this->city         = $record["city"];
-		$this->district     = $record["district"];
-		$this->title        = $record["title"];
-		$this->delete_flg   = $record["delete_flg"];
+		$this->province   = $record["province"];
+		$this->city       = $record["city"];
+		$this->district   = $record["district"];
+		$this->title      = $record["title"];
+		$this->delete_flg = $record["delete_flg"];
 	}
 
 	/**
-	 * 
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
 	 * @access public
 	 * @static
-	 * @param array 
-	 * @return array Entity
+	 * @param array 检索条件
+	 * @return array Entity的队列
 	 */
 	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
 	{
@@ -50,11 +50,12 @@ class GovernmentMst extends CompassDynamicData
 	}
 
 	/**
-	 * 
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
 	 * @access public
 	 * @static
-	 * @param array 
-	 * @return array Entity
+	 * @param array 检索条件
+	 * @return array Entity的队列
 	 */
 	public static function getListCount($w_param = null)
 	{
@@ -69,7 +70,7 @@ class GovernmentMst extends CompassDynamicData
 	}
 
 	/**
-	 * 
+	 * 获得此类指定ID的实例。
 	 */
 	public static function getById($id)
 	{
@@ -80,12 +81,12 @@ class GovernmentMst extends CompassDynamicData
 		return CompassDBHandler::getById("GovernmentMst", "government_mst", $id, $param);
 	}
 
-	
+	// -- 这里开始Dynamic ---
 	/**
-	 * 
-	 * DynamicData
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
 	 * @access public
-	 * @return int 
+	 * @return int 写入实例的ID
 	 */
 	public function save()
 	{
diff --git a/src/cn/compass/entity/GradeMst.inc b/src/cn/compass/entity/GradeMst.inc
index 188a018..0ff97dc 100644
--- a/src/cn/compass/entity/GradeMst.inc
+++ b/src/cn/compass/entity/GradeMst.inc
@@ -1,20 +1,21 @@
 <?php
 /**
  * GradeMst Entity
- * $Id: GradeMst.inc,v 1.1 2016/9/21 12:59:25 AIMS Exp $
- * @author wanggb
- * @package jp.fishow.entity
+ * $Id: GradeMst.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
  * @access public
  */
 class GradeMst extends CompassDynamicData
 {
 	var $school_id;
+	var $school_no;
+	var $original_source;
 	var $title;
 	var $delete_flg;
-	
 
 	/**
-	 * 
+	 * 构造实现。grade_mst创建实例。
 	 * 
 	 * @access public
 	 * @param mixed grade_mst
@@ -23,17 +24,20 @@ class GradeMst extends CompassDynamicData
 	{
 		parent::constructor($record);
 
-		$this->school_id      = $record["school_id"];
-		$this->title   = $record["title"];
-		$this->delete_flg = $record["delete_flg"];
+		$this->school_id       = $record["school_id"];
+		$this->school_no       = $record["school_no"];
+		$this->original_source = $record["original_source"];
+		$this->title           = $record["title"];
+		$this->delete_flg      = $record["delete_flg"];
 	}
 
 	/**
-	 * 
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
 	 * @access public
 	 * @static
-	 * @param array 
-	 * @return array Entity
+	 * @param array 检索条件
+	 * @return array Entity的队列
 	 */
 	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
 	{
@@ -46,11 +50,12 @@ class GradeMst extends CompassDynamicData
 	}
 
 	/**
-	 * 
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
 	 * @access public
 	 * @static
-	 * @param array 
-	 * @return array Entity
+	 * @param array 检索条件
+	 * @return array Entity的队列
 	 */
 	public static function getListCount($w_param = null)
 	{
@@ -65,7 +70,7 @@ class GradeMst extends CompassDynamicData
 	}
 
 	/**
-	 * 
+	 * 获得此类指定ID的实例。
 	 */
 	public static function getById($id)
 	{
@@ -76,18 +81,20 @@ class GradeMst extends CompassDynamicData
 		return CompassDBHandler::getById("GradeMst", "grade_mst", $id, $param);
 	}
 
-	
+	// -- 这里开始Dynamic ---
 	/**
-	 * 
-	 * DynamicData
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
 	 * @access public
-	 * @return int 
+	 * @return int 写入实例的ID
 	 */
 	public function save()
 	{
 		$v_param = array();
 
 		ParamUtil::copyObj2Array($v_param, $this, "school_id");
+		ParamUtil::copyObj2Array($v_param, $this, "school_no");
+		ParamUtil::copyObj2Array($v_param, $this, "original_source");
 		ParamUtil::copyObj2Array($v_param, $this, "title");
 		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
 
diff --git a/src/cn/compass/entity/MiniplayTrafficClickDat.inc b/src/cn/compass/entity/MiniplayTrafficClickDat.inc
new file mode 100644
index 0000000..eaadf7c
--- /dev/null
+++ b/src/cn/compass/entity/MiniplayTrafficClickDat.inc
@@ -0,0 +1,116 @@
+<?php
+/**
+ * MiniplayTrafficClickDat Entity
+ * $Id: MiniplayTrafficClickDat.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class MiniplayTrafficClickDat extends CompassDynamicData
+{
+	var $object_date;
+	var $channel_id;
+	var $click_count;
+	var $click_count_real;
+	var $unique_click_count;
+	var $unique_click_count_real;
+	var $history_unique_click_count;
+	var $history_unique_click_count_real;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。miniplay_traffic_click_dat创建实例。
+	 * 
+	 * @access public
+	 * @param mixed miniplay_traffic_click_dat
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->object_date                     = $record["object_date"];
+		$this->channel_id                      = $record["channel_id"];
+		$this->click_count                     = $record["click_count"];
+		$this->click_count_real                = $record["click_count_real"];
+		$this->unique_click_count              = $record["unique_click_count"];
+		$this->unique_click_count_real         = $record["unique_click_count_real"];
+		$this->history_unique_click_count      = $record["history_unique_click_count"];
+		$this->history_unique_click_count_real = $record["history_unique_click_count_real"];
+		$this->delete_flg                      = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("MiniplayTrafficClickDat", "miniplay_traffic_click_dat", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("miniplay_traffic_click_dat", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("MiniplayTrafficClickDat", "miniplay_traffic_click_dat", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "object_date");
+		ParamUtil::copyObj2Array($v_param, $this, "channel_id");
+		ParamUtil::copyObj2Array($v_param, $this, "click_count");
+		ParamUtil::copyObj2Array($v_param, $this, "click_count_real");
+		ParamUtil::copyObj2Array($v_param, $this, "unique_click_count");
+		ParamUtil::copyObj2Array($v_param, $this, "unique_click_count_real");
+		ParamUtil::copyObj2Array($v_param, $this, "history_unique_click_count");
+		ParamUtil::copyObj2Array($v_param, $this, "history_unique_click_count_real");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("miniplay_traffic_click_dat", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/MiniplayTrafficClickLog.inc b/src/cn/compass/entity/MiniplayTrafficClickLog.inc
new file mode 100644
index 0000000..df3585f
--- /dev/null
+++ b/src/cn/compass/entity/MiniplayTrafficClickLog.inc
@@ -0,0 +1,104 @@
+<?php
+/**
+ * MiniplayTrafficClickLog Entity
+ * $Id: MiniplayTrafficClickLog.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class MiniplayTrafficClickLog extends CompassDynamicData
+{
+	var $channel_id;
+	var $openid;
+	var $adid;
+	var $is_ok;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。miniplay_traffic_click_log创建实例。
+	 * 
+	 * @access public
+	 * @param mixed miniplay_traffic_click_log
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->channel_id = $record["channel_id"];
+		$this->openid     = $record["openid"];
+		$this->adid       = $record["adid"];
+		$this->is_ok      = $record["is_ok"];
+		$this->delete_flg = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("MiniplayTrafficClickLog", "miniplay_traffic_click_log", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("miniplay_traffic_click_log", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("MiniplayTrafficClickLog", "miniplay_traffic_click_log", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "channel_id");
+		ParamUtil::copyObj2Array($v_param, $this, "openid");
+		ParamUtil::copyObj2Array($v_param, $this, "adid");
+		ParamUtil::copyObj2Array($v_param, $this, "is_ok");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("miniplay_traffic_click_log", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/OrganizationMst.inc b/src/cn/compass/entity/OrganizationMst.inc
index c0bffc7..63247fd 100644
--- a/src/cn/compass/entity/OrganizationMst.inc
+++ b/src/cn/compass/entity/OrganizationMst.inc
@@ -1,29 +1,27 @@
 <?php
 /**
  * OrganizationMst Entity
- * $Id: OrganizationMst.inc,v 1.1 2016/9/21 12:59:25 AIMS Exp $
- * @author wanggb
- * @package jp.fishow.entity
+ * $Id: OrganizationMst.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
  * @access public
  */
 class OrganizationMst extends CompassDynamicData
 {
+	var $organization_submit_date;
 	var $organization_no;
-	var $title;
+	var $organization_title;
 	var $legal_person;
-	var $contact;
-	var $id_card;
+	var $organization_contact;
 	var $legal_person_imgage1;
 	var $legal_person_imgage2;
 	var $licensen_imgage;
 	var $other_imgage;
-	var $status;
-	var $submit_date;	
+	var $organization_status;
 	var $delete_flg;
-	
 
 	/**
-	 * 
+	 * 构造实现。organization_mst创建实例。
 	 * 
 	 * @access public
 	 * @param mixed organization_mst
@@ -32,26 +30,26 @@ class OrganizationMst extends CompassDynamicData
 	{
 		parent::constructor($record);
 
-		$this->organization_no      = $record["organization_no"];
-		$this->title   = $record["title"];
-		$this->legal_person      = $record["legal_person"];
-		$this->contact   = $record["contact"];
-		$this->id_card   = $record["id_card"];
-		$this->legal_person_imgage1      = $record["legal_person_imgage1"];
-		$this->legal_person_imgage2   = $record["legal_person_imgage2"];
-		$this->licensen_imgage      = $record["licensen_imgage"];
-		$this->other_imgage      = $record["other_imgage"];
-		$this->status   = $record["status"];
-		$this->submit_date   = $record["submit_date"];		
-		$this->delete_flg = $record["delete_flg"];
+		$this->organization_submit_date = $record["organization_submit_date"];
+		$this->organization_no          = $record["organization_no"];
+		$this->organization_title       = $record["organization_title"];
+		$this->legal_person             = $record["legal_person"];
+		$this->organization_contact     = $record["organization_contact"];
+		$this->legal_person_imgage1     = $record["legal_person_imgage1"];
+		$this->legal_person_imgage2     = $record["legal_person_imgage2"];
+		$this->licensen_imgage          = $record["licensen_imgage"];
+		$this->other_imgage             = $record["other_imgage"];
+		$this->organization_status      = $record["organization_status"];
+		$this->delete_flg               = $record["delete_flg"];
 	}
 
 	/**
-	 * 
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
 	 * @access public
 	 * @static
-	 * @param array 
-	 * @return array Entity
+	 * @param array 检索条件
+	 * @return array Entity的队列
 	 */
 	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
 	{
@@ -64,11 +62,12 @@ class OrganizationMst extends CompassDynamicData
 	}
 
 	/**
-	 * 
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
 	 * @access public
 	 * @static
-	 * @param array 
-	 * @return array Entity
+	 * @param array 检索条件
+	 * @return array Entity的队列
 	 */
 	public static function getListCount($w_param = null)
 	{
@@ -83,7 +82,7 @@ class OrganizationMst extends CompassDynamicData
 	}
 
 	/**
-	 * 
+	 * 获得此类指定ID的实例。
 	 */
 	public static function getById($id)
 	{
@@ -94,28 +93,27 @@ class OrganizationMst extends CompassDynamicData
 		return CompassDBHandler::getById("OrganizationMst", "organization_mst", $id, $param);
 	}
 
-	
+	// -- 这里开始Dynamic ---
 	/**
-	 * 
-	 * DynamicData
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
 	 * @access public
-	 * @return int 
+	 * @return int 写入实例的ID
 	 */
 	public function save()
 	{
 		$v_param = array();
 
+		ParamUtil::copyObj2Array($v_param, $this, "organization_submit_date");
 		ParamUtil::copyObj2Array($v_param, $this, "organization_no");
-		ParamUtil::copyObj2Array($v_param, $this, "title");
+		ParamUtil::copyObj2Array($v_param, $this, "organization_title");
 		ParamUtil::copyObj2Array($v_param, $this, "legal_person");
-		ParamUtil::copyObj2Array($v_param, $this, "contact");
-		ParamUtil::copyObj2Array($v_param, $this, "id_card");
-		ParamUtil::copyObj2Array($v_param, $this, "legal_person_imgage1");
-		ParamUtil::copyObj2Array($v_param, $this, "legal_person_imgage2");
-		ParamUtil::copyObj2Array($v_param, $this, "licensen_imgage");
-		ParamUtil::copyObj2Array($v_param, $this, "other_imgage");
-		ParamUtil::copyObj2Array($v_param, $this, "status");
-		ParamUtil::copyObj2Array($v_param, $this, "submit_date");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "organization_contact");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "legal_person_imgage1");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "legal_person_imgage2");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "licensen_imgage");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "other_imgage");
+		ParamUtil::copyObj2Array($v_param, $this, "organization_status");
 		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
 
 		// 保存
diff --git a/src/cn/compass/entity/SchoolMst.inc b/src/cn/compass/entity/SchoolMst.inc
new file mode 100644
index 0000000..2dcd689
--- /dev/null
+++ b/src/cn/compass/entity/SchoolMst.inc
@@ -0,0 +1,131 @@
+<?php
+/**
+ * SchoolMst Entity
+ * $Id: SchoolMst.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class SchoolMst extends CompassDynamicData
+{
+	var $school_no;
+	var $original_source;
+	var $title;
+	var $school_type;
+	var $front_image;
+	var $comment;
+	var $address;
+	var $province;
+	var $city;
+	var $district;
+	var $street;
+	var $longitude;
+	var $latitude;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。school_mst创建实例。
+	 * 
+	 * @access public
+	 * @param mixed school_mst
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->school_no       = $record["school_no"];
+		$this->original_source = $record["original_source"];
+		$this->title           = $record["title"];
+		$this->school_type     = $record["school_type"];
+		$this->front_image     = $record["front_image"];
+		$this->comment         = $record["comment"];
+		$this->address         = $record["address"];
+		$this->province        = $record["province"];
+		$this->city            = $record["city"];
+		$this->district        = $record["district"];
+		$this->street          = $record["street"];
+		$this->longitude       = $record["longitude"];
+		$this->latitude        = $record["latitude"];
+		$this->delete_flg      = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("SchoolMst", "school_mst", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("school_mst", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("SchoolMst", "school_mst", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "school_no");
+		ParamUtil::copyObj2Array($v_param, $this, "original_source");
+		ParamUtil::copyObj2Array($v_param, $this, "title");
+		ParamUtil::copyObj2Array($v_param, $this, "school_type");
+		ParamUtil::copyObj2Array($v_param, $this, "front_image");
+		ParamUtil::copyObj2Array($v_param, $this, "comment");
+		ParamUtil::copyObj2Array($v_param, $this, "address");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "province");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "city");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "district");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "street");
+		ParamUtil::copyObj2Array($v_param, $this, "longitude");
+		ParamUtil::copyObj2Array($v_param, $this, "latitude");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("school_mst", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/SystemConstantDat.inc b/src/cn/compass/entity/SystemConstantDat.inc
new file mode 100644
index 0000000..740d156
--- /dev/null
+++ b/src/cn/compass/entity/SystemConstantDat.inc
@@ -0,0 +1,101 @@
+<?php
+/**
+ * SystemConstantDat Entity
+ * $Id: SystemConstantDat.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class SystemConstantDat extends CompassDynamicData
+{
+	var $name;
+	var $title;
+	var $constant_value;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。system_constant_dat创建实例。
+	 * 
+	 * @access public
+	 * @param mixed system_constant_dat
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->name           = $record["name"];
+		$this->title          = $record["title"];
+		$this->constant_value = $record["constant_value"];
+		$this->delete_flg     = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("SystemConstantDat", "system_constant_dat", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("system_constant_dat", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("SystemConstantDat", "system_constant_dat", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "name");
+		ParamUtil::copyObj2Array($v_param, $this, "title");
+		ParamUtil::copyObj2Array($v_param, $this, "constant_value");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("system_constant_dat", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/TeacherMst.inc b/src/cn/compass/entity/TeacherMst.inc
new file mode 100644
index 0000000..dbd12aa
--- /dev/null
+++ b/src/cn/compass/entity/TeacherMst.inc
@@ -0,0 +1,134 @@
+<?php
+/**
+ * TeacherMst Entity
+ * $Id: TeacherMst.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class TeacherMst extends CompassDynamicData
+{
+	var $school_id;
+	var $grade_id;
+	var $class_id;
+	var $name;
+	var $contact;
+	var $qq_no;
+	var $area;
+	var $sex;
+	var $channel_no;
+	var $status;
+	var $uid;
+	var $account_id;
+	var $point;
+	var $zfb_account;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。teacher_mst创建实例。
+	 * 
+	 * @access public
+	 * @param mixed teacher_mst
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->school_id   = $record["school_id"];
+		$this->grade_id    = $record["grade_id"];
+		$this->class_id    = $record["class_id"];
+		$this->name        = $record["name"];
+		$this->contact     = $record["contact"];
+		$this->qq_no       = $record["qq_no"];
+		$this->area        = $record["area"];
+		$this->sex         = $record["sex"];
+		$this->channel_no  = $record["channel_no"];
+		$this->status      = $record["status"];
+		$this->uid         = $record["uid"];
+		$this->account_id  = $record["account_id"];
+		$this->point       = $record["point"];
+		$this->zfb_account = $record["zfb_account"];
+		$this->delete_flg  = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("TeacherMst", "teacher_mst", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("teacher_mst", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("TeacherMst", "teacher_mst", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "school_id");
+		ParamUtil::copyObj2Array($v_param, $this, "grade_id");
+		ParamUtil::copyObj2Array($v_param, $this, "class_id");
+		ParamUtil::copyObj2Array($v_param, $this, "name");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "contact");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "qq_no");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "area");
+		ParamUtil::copyObj2Array($v_param, $this, "sex");
+		ParamUtil::copyObj2Array($v_param, $this, "channel_no");
+		ParamUtil::copyObj2Array($v_param, $this, "status");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "uid");
+		ParamUtil::copyObj2Array($v_param, $this, "account_id");
+		ParamUtil::copyObj2Array($v_param, $this, "point");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "zfb_account");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("teacher_mst", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/UserAccessDat.inc b/src/cn/compass/entity/UserAccessDat.inc
new file mode 100644
index 0000000..b9e02df
--- /dev/null
+++ b/src/cn/compass/entity/UserAccessDat.inc
@@ -0,0 +1,101 @@
+<?php
+/**
+ * UserAccessDat Entity
+ * $Id: UserAccessDat.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class UserAccessDat extends CompassDynamicData
+{
+	var $object_date;
+	var $register_count;
+	var $login_count;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。user_access_dat创建实例。
+	 * 
+	 * @access public
+	 * @param mixed user_access_dat
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->object_date    = $record["object_date"];
+		$this->register_count = $record["register_count"];
+		$this->login_count    = $record["login_count"];
+		$this->delete_flg     = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("UserAccessDat", "user_access_dat", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("user_access_dat", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("UserAccessDat", "user_access_dat", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "object_date");
+		ParamUtil::copyObj2Array($v_param, $this, "register_count");
+		ParamUtil::copyObj2Array($v_param, $this, "login_count");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("user_access_dat", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/UserCommentDat.inc b/src/cn/compass/entity/UserCommentDat.inc
new file mode 100644
index 0000000..f77ff6f
--- /dev/null
+++ b/src/cn/compass/entity/UserCommentDat.inc
@@ -0,0 +1,104 @@
+<?php
+/**
+ * UserCommentDat Entity
+ * $Id: UserCommentDat.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class UserCommentDat extends CompassDynamicData
+{
+	var $user_id;
+	var $account_id;
+	var $comment;
+	var $status;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。user_comment_dat创建实例。
+	 * 
+	 * @access public
+	 * @param mixed user_comment_dat
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->user_id    = $record["user_id"];
+		$this->account_id = $record["account_id"];
+		$this->comment    = $record["comment"];
+		$this->status     = $record["status"];
+		$this->delete_flg = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("UserCommentDat", "user_comment_dat", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("user_comment_dat", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("UserCommentDat", "user_comment_dat", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "user_id");
+		ParamUtil::copyObj2Array($v_param, $this, "account_id");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "comment");
+		ParamUtil::copyObj2Array($v_param, $this, "status");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("user_comment_dat", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/UserFavoriteDat.inc b/src/cn/compass/entity/UserFavoriteDat.inc
new file mode 100644
index 0000000..f687743
--- /dev/null
+++ b/src/cn/compass/entity/UserFavoriteDat.inc
@@ -0,0 +1,101 @@
+<?php
+/**
+ * UserFavoriteDat Entity
+ * $Id: UserFavoriteDat.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class UserFavoriteDat extends CompassDynamicData
+{
+	var $user_id;
+	var $data_type;
+	var $data_id;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。user_favorite_dat创建实例。
+	 * 
+	 * @access public
+	 * @param mixed user_favorite_dat
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->user_id    = $record["user_id"];
+		$this->data_type  = $record["data_type"];
+		$this->data_id    = $record["data_id"];
+		$this->delete_flg = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("UserFavoriteDat", "user_favorite_dat", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("user_favorite_dat", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("UserFavoriteDat", "user_favorite_dat", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "user_id");
+		ParamUtil::copyObj2Array($v_param, $this, "data_type");
+		ParamUtil::copyObj2Array($v_param, $this, "data_id");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("user_favorite_dat", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/UserMst.inc b/src/cn/compass/entity/UserMst.inc
new file mode 100644
index 0000000..d8c42da
--- /dev/null
+++ b/src/cn/compass/entity/UserMst.inc
@@ -0,0 +1,155 @@
+<?php
+/**
+ * UserMst Entity
+ * $Id: UserMst.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class UserMst extends CompassDynamicData
+{
+	var $school_id;
+	var $class_id;
+	var $name;
+	var $tel_no;
+	var $unionid;
+	var $status;
+	var $account_id;
+	var $role;
+	var $point;
+	var $longitude;
+	var $latitude;
+	var $organization_submit_date;
+	var $organization_no;
+	var $organization_title;
+	var $legal_person;
+	var $organization_contact;
+	var $legal_person_imgage1;
+	var $legal_person_imgage2;
+	var $licensen_imgage;
+	var $other_imgage;
+	var $organization_status;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。user_mst创建实例。
+	 * 
+	 * @access public
+	 * @param mixed user_mst
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->school_id                = $record["school_id"];
+		$this->class_id                 = $record["class_id"];
+		$this->name                     = $record["name"];
+		$this->tel_no                   = $record["tel_no"];
+		$this->unionid                  = $record["unionid"];
+		$this->status                   = $record["status"];
+		$this->account_id               = $record["account_id"];
+		$this->role                     = $record["role"];
+		$this->point                    = $record["point"];
+		$this->longitude                = $record["longitude"];
+		$this->latitude                 = $record["latitude"];
+		$this->organization_submit_date = $record["organization_submit_date"];
+		$this->organization_no          = $record["organization_no"];
+		$this->organization_title       = $record["organization_title"];
+		$this->legal_person             = $record["legal_person"];
+		$this->organization_contact     = $record["organization_contact"];
+		$this->legal_person_imgage1     = $record["legal_person_imgage1"];
+		$this->legal_person_imgage2     = $record["legal_person_imgage2"];
+		$this->licensen_imgage          = $record["licensen_imgage"];
+		$this->other_imgage             = $record["other_imgage"];
+		$this->organization_status      = $record["organization_status"];
+		$this->delete_flg               = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("UserMst", "user_mst", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("user_mst", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("UserMst", "user_mst", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "school_id");
+		ParamUtil::copyObj2Array($v_param, $this, "class_id");
+		ParamUtil::copyObj2Array($v_param, $this, "name");
+		ParamUtil::copyObj2Array($v_param, $this, "tel_no");
+		ParamUtil::copyObj2Array($v_param, $this, "unionid");
+		ParamUtil::copyObj2Array($v_param, $this, "status");
+		ParamUtil::copyObj2Array($v_param, $this, "account_id");
+		ParamUtil::copyObj2Array($v_param, $this, "role");
+		ParamUtil::copyObj2Array($v_param, $this, "point");
+		ParamUtil::copyObj2Array($v_param, $this, "longitude");
+		ParamUtil::copyObj2Array($v_param, $this, "latitude");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "organization_submit_date");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "organization_no");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "organization_title");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "legal_person");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "organization_contact");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "legal_person_imgage1");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "legal_person_imgage2");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "licensen_imgage");
+		ParamUtil::copyObj2ArrayNullField($v_param, $this, "other_imgage");
+		ParamUtil::copyObj2Array($v_param, $this, "organization_status");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("user_mst", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/UserPointLog.inc b/src/cn/compass/entity/UserPointLog.inc
new file mode 100644
index 0000000..f50605f
--- /dev/null
+++ b/src/cn/compass/entity/UserPointLog.inc
@@ -0,0 +1,107 @@
+<?php
+/**
+ * UserPointLog Entity
+ * $Id: UserPointLog.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class UserPointLog extends CompassDynamicData
+{
+	var $user_id;
+	var $action_type;
+	var $point;
+	var $point_left;
+	var $status;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。user_point_log创建实例。
+	 * 
+	 * @access public
+	 * @param mixed user_point_log
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->user_id     = $record["user_id"];
+		$this->action_type = $record["action_type"];
+		$this->point       = $record["point"];
+		$this->point_left  = $record["point_left"];
+		$this->status      = $record["status"];
+		$this->delete_flg  = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("UserPointLog", "user_point_log", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("user_point_log", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("UserPointLog", "user_point_log", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "user_id");
+		ParamUtil::copyObj2Array($v_param, $this, "action_type");
+		ParamUtil::copyObj2Array($v_param, $this, "point");
+		ParamUtil::copyObj2Array($v_param, $this, "point_left");
+		ParamUtil::copyObj2Array($v_param, $this, "status");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("user_point_log", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/UserSignDat.inc b/src/cn/compass/entity/UserSignDat.inc
new file mode 100644
index 0000000..9ec107f
--- /dev/null
+++ b/src/cn/compass/entity/UserSignDat.inc
@@ -0,0 +1,104 @@
+<?php
+/**
+ * UserSignDat Entity
+ * $Id: UserSignDat.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class UserSignDat extends CompassDynamicData
+{
+	var $object_date;
+	var $user_id;
+	var $article_id;
+	var $point;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。user_sign_dat创建实例。
+	 * 
+	 * @access public
+	 * @param mixed user_sign_dat
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->object_date = $record["object_date"];
+		$this->user_id     = $record["user_id"];
+		$this->article_id  = $record["article_id"];
+		$this->point       = $record["point"];
+		$this->delete_flg  = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("UserSignDat", "user_sign_dat", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("user_sign_dat", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("UserSignDat", "user_sign_dat", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "object_date");
+		ParamUtil::copyObj2Array($v_param, $this, "user_id");
+		ParamUtil::copyObj2Array($v_param, $this, "article_id");
+		ParamUtil::copyObj2Array($v_param, $this, "point");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("user_sign_dat", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/cn/compass/entity/UserStaffRelationDat.inc b/src/cn/compass/entity/UserStaffRelationDat.inc
new file mode 100644
index 0000000..69fbfd0
--- /dev/null
+++ b/src/cn/compass/entity/UserStaffRelationDat.inc
@@ -0,0 +1,101 @@
+<?php
+/**
+ * UserStaffRelationDat Entity
+ * $Id: UserStaffRelationDat.inc,v 1.1 2020/1/15 11:01:52 Exp $
+ * @author lixq
+ * @package jp.compass.entity
+ * @access public
+ */
+class UserStaffRelationDat extends CompassDynamicData
+{
+	var $user_id;
+	var $account_id;
+	var $comment;
+	var $delete_flg;
+
+	/**
+	 * 构造实现。user_staff_relation_dat创建实例。
+	 * 
+	 * @access public
+	 * @param mixed user_staff_relation_dat
+	 */
+	function constructor($record)
+	{
+		parent::constructor($record);
+
+		$this->user_id    = $record["user_id"];
+		$this->account_id = $record["account_id"];
+		$this->comment    = $record["comment"];
+		$this->delete_flg = $record["delete_flg"];
+	}
+
+	/**
+	 * 根据条件,获取数据列表。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getList($w_param = null, $orderkey = null, $direction = "ASC", $offset = null, $limit = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+
+		return CompassDBHandler::getList("UserStaffRelationDat", "user_staff_relation_dat", $w_param, $orderkey, $direction, $offset, $limit);
+	}
+
+	/**
+	 * 根据条件,获取数据列表的件数。
+	 * 条件与DBManager的doSelect相同。
+	 * @access public
+	 * @static
+	 * @param array 检索条件
+	 * @return array Entity的队列
+	 */
+	public static function getListCount($w_param = null)
+	{
+		if ($w_param == null) {
+			$w_param = array();
+			$w_param["delete_flg"] = "false";
+		}
+		$db = CompassDBManager::getInstance();
+		$result = $db->doSelect("user_staff_relation_dat", $w_param, null, null, null, null, "count(*) as count");
+
+		return $result[0]["count"];
+	}
+
+	/**
+	 * 获得此类指定ID的实例。
+	 */
+	public static function getById($id)
+	{
+		// delete_flg
+		$param = array();
+		$param["delete_flg"] = false;
+
+		return CompassDBHandler::getById("UserStaffRelationDat", "user_staff_relation_dat", $id, $param);
+	}
+
+	// -- 这里开始Dynamic ---
+	/**
+	 * 将此实例写入DB。
+	 * DynamicData共用的保存方法。
+	 * @access public
+	 * @return int 写入实例的ID
+	 */
+	public function save()
+	{
+		$v_param = array();
+
+		ParamUtil::copyObj2Array($v_param, $this, "user_id");
+		ParamUtil::copyObj2Array($v_param, $this, "account_id");
+		ParamUtil::copyObj2Array($v_param, $this, "comment");
+		ParamUtil::copyObj2Array($v_param, $this, "delete_flg");
+
+		// 保存
+		parent::_save("user_staff_relation_dat", $v_param);
+	}
+}
\ No newline at end of file
diff --git a/src/manager/account_edit_input.php b/src/manager/account_edit_input.php
index 4ef3426..229f3df 100644
--- a/src/manager/account_edit_input.php
+++ b/src/manager/account_edit_input.php
@@ -16,11 +16,10 @@ require_once("check_login.inc");
 if (!checkAuthority("ADMIN")) {
 	// エラー表示
 	$layout_pages = array();
-	$layout_pages["footer"] = "footer.inc";
-	$layout_pages["top"] = "menu.inc";
-	$layout_pages["middle"] = "error.inc";
+	$layout_pages["left"] = "menu.inc";
+	$layout_pages["right"] = "error.inc";
 	$message = "权限不足,请联系系统管理员。";
-	require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/topmenutopsub_layout.inc");
+	require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
 	exit;
 }
 
@@ -30,10 +29,9 @@ $account_mst = AccountMst::getById($id);
 if ($account_mst == null) {
 	// エラー表示
 	$layout_pages = array();
-	$layout_pages["footer"] = "footer.inc";
-	$layout_pages["top"] = "menu.inc";
-	$layout_pages["middle"] = "error.inc";
-	require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/topmenutopsub_layout.inc");
+	$layout_pages["left"] = "menu.inc";
+	$layout_pages["right"] = "error.inc";
+	require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
 	exit;
 }
 $id = $account_mst->id;
@@ -41,18 +39,29 @@ $login = $account_mst->login;
 $password = $account_mst->password;
 $name = $account_mst->name;
 $contact = $account_mst->contact;
-$authority_level_array = explode(",", AuthorityLevel::getById($account_mst->authority_level));
+$comment = $account_mst->comment;
+$government_id = $account_mst->government_id;
+$school_id = $account_mst->school_id;
+$role_id = $account_mst->role;
+$modules = $account_mst->modules;
+if(!empty($modules)){
+  $modules = implode(",", explode("|", $modules));
+}
+
 
 // 权限一览取得
-$authority_level_list = AuthorityLevel::getList();
+$modules_list = AcountModule::getList();
+$account_role_list = AccountRole::getList();
+
+$school_list = CompassHandler::getSchoolListForAccount();
+$government_list = CompassHandler::getGovernmentlListForAccount();
 
-print_r($authority_level_list);
 
 // 页面表示
 $_SCRIPT_FILE = array("scripts/validators.js", "scripts/account_edit_input.js");
 $layout_pages = array();
-$layout_pages["top"] = "menu.inc";
-$layout_pages["menu_clicked"] = "li_system";
-$layout_pages["middle"] = "account_edit_input.inc";
-require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/topmenutopsub_layout.inc");
+$layout_pages["left"] = "menu.inc";
+$layout_pages["menu_clicked"] = "4-1";
+$layout_pages["right"] = "account_edit_input.inc";
+require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
 exit;
\ No newline at end of file
diff --git a/src/manager/account_edit_result.php b/src/manager/account_edit_result.php
index 2552a94..fbc8a06 100644
--- a/src/manager/account_edit_result.php
+++ b/src/manager/account_edit_result.php
@@ -16,11 +16,10 @@ require_once("check_login.inc");
 if (!checkAuthority("ADMIN")) {
 	// エラー表示
 	$layout_pages = array();
-	$layout_pages["footer"] = "footer.inc";
-	$layout_pages["top"] = "menu.inc";
-	$layout_pages["middle"] = "error.inc";
+	$layout_pages["left"] = "menu.inc";
+	$layout_pages["right"] = "error.inc";
 	$message = "权限不足,请联系系统管理员。";
-	require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/topmenutopsub_layout.inc");
+	require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
 	exit;
 }
 
@@ -30,23 +29,64 @@ $account_mst = AccountMst::getById($id);
 if ($account_mst == null) {
 	// エラー表示
 	$layout_pages = array();
-	$layout_pages["footer"] = "footer.inc";
-	$layout_pages["top"] = "menu.inc";
-	$layout_pages["middle"] = "error.inc";
-	require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/topmenutopsub_layout.inc");
+	$layout_pages["left"] = "menu.inc";
+	$layout_pages["right"] = "error.inc";
+	$message = "对象不存在。";
+	require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
 	exit;
 }
-$password = ParamUtil::getRequestString("password");
+
 $name = ParamUtil::getRequestString("name");
-$phone = ParamUtil::getRequestString("phone");
-$authority_type_array = ParamUtil::getRequestArray("authority_type", array());
+$login = ParamUtil::getRequestString("login");
+$password = ParamUtil::getRequestString("password");
+$contact = ParamUtil::getRequestString("contact");
+$comment = ParamUtil::getRequestString("comment");
+$account_role = ParamUtil::getRequestString("account_role");
+$modules_array = ParamUtil::getRequestArray("modules", array());
+$organization = ParamUtil::getRequestString("organization");
 
+// 登陆帐号唯一性判断
+$param = array();
+$param["delete_flg"] = false;
+$param["login"] = $login;
+$account_list = AccountMst::getList($param);
+if (count($account_list) > 1) {
+  $error_message = "登陆帐号已经被使用,请换一个。";
+  
+  // 权限一览取得
+  $modules_list = AcountModule::getList();
+  $account_role_list = AccountRole::getList();
+  
+  $school_list = CompassHandler::getSchoolListForAccount();
+  $government_list = CompassHandler::getGovernmentlListForAccount();
+  
+  // 页面表示
+  $_SCRIPT_FILE = array("scripts/validators.js", "scripts/account_edit_input.js");
+  $layout_pages = array();
+  $layout_pages["left"] = "menu.inc";
+  $layout_pages["right"] = "account_edit_input.inc";
+  $layout_pages["menu_clicked"] = "4-1";
+  require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
+  exit;
+}
 
 // 数据库更新
+$account_mst->login = $login;
 $account_mst->password = $password;
 $account_mst->name = $name;
-$account_mst->phone = $phone;
-$account_mst->authority = implode(",", $authority_type_array);
+$account_mst->contact = $contact;
+$account_mst->comment = $comment;
+if(count($modules_array) == 0){
+  $modules_array = [1,2,3,4,5,6,7,8,9,10,11,12,13];
+}
+$account_mst->modules = implode("|", $modules_array);
+$account_mst->role = $account_role;
+if($account_role <=6){
+  $account_mst->government_id = $organization;
+}else if($account_role >= 8 && $account_role <= 9){
+  $account_mst->school_id = $organization;
+}
+
 $account_mst->save();
 
 // 跳到一览页
diff --git a/src/manager/account_new_result.php b/src/manager/account_new_result.php
index db42865..92ddd26 100644
--- a/src/manager/account_new_result.php
+++ b/src/manager/account_new_result.php
@@ -16,11 +16,10 @@ require_once("check_login.inc");
 if (!checkAuthority("ADMIN")) {
 	// エラー表示
 	$layout_pages = array();
-	$layout_pages["footer"] = "footer.inc";
-	$layout_pages["top"] = "menu.inc";
-	$layout_pages["middle"] = "error.inc";
+	$layout_pages["right"] = "error.inc";
+	$layout_pages["left"] = "menu.inc";
 	$message = "权限不足,请联系系统管理员。";
-	require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/topmenutopsub_layout.inc");
+	require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
 	exit;
 }
 
@@ -42,7 +41,7 @@ ErrorLogger::doOutput("contact " . $contact);
 ErrorLogger::doOutput("comment " . $comment);
 ErrorLogger::doOutput(print_r($modules_array,1));
 ErrorLogger::doOutput("organization " . $organization);
-exit;
+//exit;
 // 登陆帐号唯一性判断
 $param = array();
 $param["delete_flg"] = false;
@@ -60,7 +59,6 @@ if (count($account_list) > 0) {
 	
 	// 页面表示
 	$_SCRIPT_FILE = array("scripts/validators.js", "scripts/account_new_input.js");
-	$_SCRIPT_FILE = array("scripts/validators.js", "scripts/account_new_input.js");
 	$layout_pages = array();
 	$layout_pages["left"] = "menu.inc";
 	$layout_pages["right"] = "account_new_input.inc";
@@ -81,9 +79,9 @@ if(count($modules_array) == 0){
 }
 $account_mst->modules = implode("|", $modules_array);
 $account_mst->role = $account_role;
-if($role_id <=6){
+if($account_role <=6){
   $account_mst->government_id = $organization;
-}else if($role_id >= 8 && $role_id <= 9){
+}else if($account_role >= 8 && $account_role <= 9){
   $account_mst->school_id = $organization;
 }
 
diff --git a/src/manager/government_edit_result.php b/src/manager/government_edit_result.php
index 00cc773..48c2a29 100644
--- a/src/manager/government_edit_result.php
+++ b/src/manager/government_edit_result.php
@@ -26,6 +26,16 @@ if (!checkAuthority("2")) {
 $id = ParamUtil::getRequestString("id");
 $title = ParamUtil::getRequestString("title");
 $government_mst = GovernmentMst::getById($id);
+if ($government_mst == null) {
+  // エラー表示
+  $layout_pages = array();
+  $layout_pages["left"] = "menu.inc";
+  $layout_pages["right"] = "error.inc";
+  $layout_pages["menu_clicked"] = "4-2";
+  require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
+  exit;
+}
+
 $government_mst->title = $title;
 $government_mst->save();
 
diff --git a/src/manager/system_const_edit_input.php b/src/manager/system_const_edit_input.php
new file mode 100644
index 0000000..51517c3
--- /dev/null
+++ b/src/manager/system_const_edit_input.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * 系统常量定义编辑
+ * $Id: system_const_edit_input.php,v 1.1 2020/01/012 11:18:46 lixq Exp $
+ * @author lixq
+ * @package manager.public_html
+ */
+
+// 底层包含
+require_once("manager_include.inc");
+
+// 登录检查
+require_once("check_login.inc");
+
+// 权限检查
+if (!checkAuthority("ADMIN")) {
+	// エラー表示
+	$layout_pages = array();
+	$layout_pages["footer"] = "footer.inc";
+	$layout_pages["top"] = "menu.inc";
+	$layout_pages["middle"] = "error.inc";
+	$message = "权限不足,请联系系统管理员。";
+	require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/topmenutopsub_layout.inc");
+	exit;
+}
+
+// 参数取得
+$id = ParamUtil::getRequestString("id");
+$action_type = ParamUtil::getRequestString("action_type");
+$system_const_dat = new SystemConstDat();
+if($action_type =="edit"){
+  $system_const_dat = SystemConstDat::getById($id);
+}
+// 页面表示
+$layout_pages = array();
+$layout_pages["left"] = "menu.inc";
+$layout_pages["right"] = "system_const_edit_input.inc";
+$layout_pages["menu_clicked"] = "4-3";
+require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
+exit;
\ No newline at end of file
diff --git a/src/manager/system_const_edit_result.php b/src/manager/system_const_edit_result.php
new file mode 100644
index 0000000..63a8b67
--- /dev/null
+++ b/src/manager/system_const_edit_result.php
@@ -0,0 +1,86 @@
+<?php
+/**
+ * 系统常量定义编辑完成
+ * $Id: system_const_edit_result.php,2020/01/12 11:18:46  Exp $
+ * @author lixq
+ * @package manager.public_html
+ */
+
+// 底层包含
+require_once("manager_include.inc");
+
+// 登录检查
+require_once("check_login.inc");
+
+// 权限检查
+if (!checkAuthority("ADMIN")) {
+	// エラー表示
+	$layout_pages = array();
+	$layout_pages["footer"] = "footer.inc";
+	$layout_pages["top"] = "menu.inc";
+	$layout_pages["middle"] = "error.inc";
+	$message = "权限不足,请联系系统管理员。";
+	require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/topmenutopsub_layout.inc");
+	exit;
+}
+
+// 参数取得
+$action_type = ParamUtil::getRequestString("action_type");//new edit
+$id = ParamUtil::getRequestString("id");
+$title = ParamUtil::getRequestString("title");
+$name = ParamUtil::getRequestString("name");
+$constant_value = ParamUtil::getRequestString("constant_value");
+
+//创建的时候
+if($action_type=="new") {
+  $system_const_dat = new SystemConstDat();
+}
+
+//编辑
+if($action_type=="edit") {
+  $system_const_dat = SystemConstDat::getById($id);
+  if ($system_const_dat == null) {
+		// エラー表示
+		$layout_pages = array();
+		$layout_pages["left"] = "menu.inc";
+		$layout_pages["right"] = "error.inc";
+		$layout_pages["menu_clicked"] = "4-3";
+		require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
+		exit;
+	}
+	
+	//name唯一check
+	$param = array();
+	$param["delete_flg"] = false;
+	$param["name"] = $name;
+	$account_list = AccountMst::getList($param);
+	if (count($account_list) > 1) {
+	  $error_message = "常量定义名已经被存在,请换一个。";
+	  
+	  if($action_type =="edit"){
+	    $system_const_dat = SystemConstDat::getById($id);
+	  }
+	  
+	  // 页面表示
+	  $layout_pages = array();
+	  $layout_pages["left"] = "menu.inc";
+	  $layout_pages["right"] = "system_const_edit_input.inc";
+	  $layout_pages["menu_clicked"] = "4-3";
+	  require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
+	}
+	
+}
+
+// 数据库更新
+$system_const_dat->name = $name;
+$system_const_dat->title = $title;
+$system_const_dat->constant_value = $constant_value;
+$system_const_dat->save();
+
+// 页面表示
+$layout_pages = array();
+$layout_pages["left"] = "menu.inc";
+$layout_pages["right"] = "system_const_edit_result.inc";
+$layout_pages["menu_clicked"] = "4-3";
+require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
+exit;
\ No newline at end of file
diff --git a/src/manager/system_const_list.php b/src/manager/system_const_list.php
new file mode 100644
index 0000000..799b119
--- /dev/null
+++ b/src/manager/system_const_list.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * 系统常量定义
+ * $Id: system_const_list.php,v 1.1 2020/01/12 11:18:46  Exp $
+ * @author lixq
+ * @package manager.public_html
+ */
+// 底层包含
+require_once("manager_include.inc");
+
+// 登录检查
+require_once("check_login.inc");
+
+// 权限检查
+if (!checkAuthority("ADMIN")) {
+	// エラー表示
+	$layout_pages = array();
+	$layout_pages["left"] = "menu.inc";
+	$layout_pages["right"] = "error.inc";
+	$message = "权限不足,请联系系统管理员。";
+	require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
+	exit;
+}
+
+// 一览取得
+$param = array();
+$param["delete_flg"] = false;
+$system_const_list = SystemConstDat::getList($param,"id","asc");
+
+// ページ
+$layout_pages = array();
+$layout_pages["left"] = "menu.inc";
+$layout_pages["right"] = "system_const_list.inc";
+$layout_pages["menu_clicked"] = "4-3";
+require_once(MANAGER_TEMPLATE_DIR_PATH . "/layout/leftmenu_layout.inc");
+exit;
\ No newline at end of file
diff --git a/src/manager/templates/account_edit_input.inc b/src/manager/templates/account_edit_input.inc
index e991502..bda0005 100644
--- a/src/manager/templates/account_edit_input.inc
+++ b/src/manager/templates/account_edit_input.inc
@@ -11,66 +11,171 @@ global $login;
 global $password;
 global $name;
 global $contact;
-global $authority_level_array;
-global $authority_level_list;
 global $comment;
+global $government_id;
+global $school_id;
+global $role_id;
+global $error_message;
+global $role;
+global $modules;
 ?>
-<b>管理员编辑</b><br />
-<br />
-<form name="account_edit_input" action="account_edit_result.php" method="post">
-<input type="hidden" name="id" value="<?=$id ?>" />
-<table>
-	<tr>
-		<td>登陆帐号</td>
-	</tr>
-	<tr>
-		<td class="begin_blank"><?=htmlspecialchars($login) ?></td>
-	</tr>
-	
-	<tr>
-		<td>登陆密码</td>
-	</tr>
-	<tr>
-		<td class="begin_blank"><input type="text" name="password" value="<?=htmlspecialchars($password) ?>" /></td>
-	</tr>
-	
-	<tr>
-		<td>账户名称</td>
-	</tr>
-	<tr>
-		<td class="begin_blank"><input type="text" name="name" value="<?=htmlspecialchars($name) ?>" /></td>
-	</tr>
-	
-	<tr>
-		<td>联系电话</td>
-	</tr>
-	<tr>
-		<td class="begin_blank"><input type="text" name="contact" value="<?=htmlspecialchars($contact) ?>" /></td>
-	</tr>
-	
-	<tr>
-		<td>备注</td>
-	</tr>
-	<tr>
-		<td class="begin_blank"><input type="text" name="comment" value="<?=htmlspecialchars($comment) ?>" /></td>
-	</tr>
-	
-	<tr>
-		<td>权限 <span style="color:#FF0000">※全不选即为超级管理员</span></td>
-	</tr>
-	<tr>
-		<td class="begin_blank">
-			<?
-			foreach ($authority_level_list as $authority_level) {
-			?>
-			<label><input type="checkbox" name="authority_level[]" value="<?=$authority_level->name ?>"/><?=$authority_level->model ?></label>
-			<?
-			}
-			?>
-		</td>
-	</tr>
-	<tr>
-</table>
-<br />
-<input type="button" value="编辑" class="button_width_normal" onClick="doCheck();" />
-</form>
+<div id="change">
+	<p class="edit_title">编辑账号</p>
+	<div class="edit_content">
+		<form id="form" method="post" action="account_edit_result.php" enctype="multipart/form-data">
+			<input type="hidden" name="account_role"/>
+			<input type="hidden" name="organization"/>
+			<input type="hidden" name="id" value="<?=$id?>"/>
+			<p>登陆帐号</p>
+			<el-input v-model="login" name="login" class="input_200"></el-input><br />
+			<p>登陆密码</p>
+			<el-input v-model="password" name="password" class="input_200"></el-input><br />
+			<p>账户名称</p>
+			<el-input v-model="name" name="name" class="input_200"></el-input><br />
+			<p>联系方式</p>
+			<el-input v-model="contact" name="contact" class="input_200"></el-input><br />
+			<p>用户角色 </p>
+			<el-select v-model="selected" size='medium' >
+        <el-option
+            v-for="item in account_role"
+            :key="item.id"
+            :label="item.title"
+            :value="item.id">
+        </el-option>
+    	</el-select>
+    	<div v-if="isShow">
+    		<p>机构选择 </p>
+    		<el-select v-model="organization" size='medium' >
+    		<div class="el-select-dropdown__item"><input  v-model="searchVal" style="border-radius: 4px;background: url(images/search_icon.png) no-repeat 150px;"type="text" autocomplete="off"></div>
+        <el-option
+            v-for="item in new_org_list"
+            :key="item.id"
+            :label="item.title"
+            :value="item.id">
+        </el-option>
+    	</el-select>
+    	</div>
+    	
+			<p>权限 <span style="color:#FF0000">※全不选即为超级管理员</span></p>
+			<template v-for="(modules, index) in modules_list">
+        <input type="checkbox" name="modules[]" :value="modules.id" v-model='checked' :id="modules.id" />
+        <label :for="modules.id">{{ modules.module }}</label>
+        <br>
+    	</template>
+    	<p>备注</p>
+			<el-input v-model="comment" name="comment"  class="input_300"></el-input><br />
+			<br/><br/>
+			<el-button type="danger" class="edit_btn"  @click="submitForm()">编辑</el-button>
+			<el-button type="danger" class="edit_btn"  @Click="window.location='./account_list.php'" />返回</el-button>
+			<br/><br/>
+		</form>
+	</div>
+</div>
+<script type="text/javascript">
+$(document).ready(function () {
+  var vm = new Vue({
+    el: '#form',
+    data: {
+        login: '<?=htmlspecialchars($login) ?>',
+        password:'<?=htmlspecialchars($password) ?>',
+        contact:'<?=htmlspecialchars($contact) ?>',
+        name:'<?=htmlspecialchars($name) ?>',
+        comment:'<?=htmlspecialchars($comment) ?>',
+        modules_list:<?=json_encode($modules_list)?>,
+    		account_role:<?=json_encode($account_role_list)?>,
+    		school_list:[{id:'1',title:"aa"},{id:'2',title:"bb"}],
+    		government_list:<?=json_encode($government_list)?>,
+        selected:<?=$role_id?>,
+        checked:[<?=$modules?>],
+        isShow:true,
+        organization:'<?=$government_id?>',
+        org_list:<?=json_encode($government_list)?>,
+        searchVal:''
+        
+    },
+    watch:{
+      selected(val,oldval){
+				if(val > 8){
+				  this.isShow = false;
+				}else{
+				  this.isShow = true;
+					if(val >= 7){
+						this.org_list = this.school_list;
+						this.organization = '2';
+					}else{
+					  this.org_list = this.government_list;
+					  this.organization = '<?=$government_list[0]["id"]?>';
+					}
+				}
+      }
+    },
+    methods: {
+        submitForm() {
+          if(!this.login){
+  					this.$message({
+  		            type: 'error',
+  		            message: '请输入登陆帐号。'
+  		          });
+  		          return;
+  				}
+          if (!isAlpaNum(this.login)) {
+  					this.$message({
+  		            type: 'error',
+  		            message: '登陆帐号只能使用半角英文或数字。'
+  		          });
+  		          return;
+  				}
+          if (!this.password) {
+  					this.$message({
+  		            type: 'error',
+  		            message: '请输入登陆密码。'
+  		          });
+  		          return;
+  				}
+          if (!isAlpaNum(this.password)) {
+  					this.$message({
+  		            type: 'error',
+  		            message: '登陆密码只能使用半角英文或数字。'
+  		          });
+  		          return;
+  				}
+          if (!this.name) {
+  					this.$message({
+  		            type: 'error',
+  		            message: '请输入账户名称。'
+  		          });
+  		          return;
+  				}
+  				$("input[name='account_role']").val(this.selected);
+  				$("input[name='organization']").val(this.organization);
+  				$('#form').submit();
+        }
+    },
+    computed: {
+      new_org_list() {
+       var _this = this;
+       var new_org_list = [];
+       _this.org_list.map(function(item) {
+        if (item.title.search(_this.searchVal) != -1) {
+          new_org_list.push(item);
+        }
+       });
+       if(new_org_list.length == 0){
+         new_org_list = _this.org_list;
+        }
+       return new_org_list;
+      }
+    }
+})
+  if(<?=$error_message?1:0 ?>){
+    vm.$message({
+      type: 'error',
+      message: '<?=$error_message?>'
+    });
+  }
+  if(<?=$role_id?> > 8){
+    vm.isShow = false;
+  }
+})
+
+</script>
diff --git a/src/manager/templates/system_const_edit_input.inc b/src/manager/templates/system_const_edit_input.inc
new file mode 100644
index 0000000..45e5456
--- /dev/null
+++ b/src/manager/templates/system_const_edit_input.inc
@@ -0,0 +1,84 @@
+<?php
+/**
+ * 系统常量定义编辑
+ * $Id: system_const_edit_input.inc,v 1.1 2020/01/12 11:18:53 lixq Exp $
+ * @author lixq
+ * @access public
+ * @package manager.templates
+ **/
+global $id;
+global $action_type;
+global $system_const_dat;
+global $error_message;
+?>
+<div id="change">
+	<p class="edit_title">系统常量定义添加</p>
+	<form id="form" method="post" action="system_const_edit_result.php" enctype="multipart/form-data">
+	<input type="hidden" name="action_type" value="<?=$action_type ?>"/>
+	<input type="hidden" name="id" value="<?=$id ?>"/>
+	<div class="edit_content">
+		<p>常量定义名</p>
+		<el-input v-model="name" name="name" class="input_200"></el-input> <span style="color:#FF0000">(大写英文字母、下划线)</span><br />
+		<p>文字描述</p>
+		<el-input v-model="title" name="title" class="input_200"></el-input><br />
+		<p>值</p>
+		<el-input v-model="constant_value" name="constant_value" class="input_200"></el-input><br />
+		<el-button type="danger" @click="edit()" class="edit_btn">编辑</el-button>
+		<el-button type="danger" class="edit_btn"  @Click="window.location='./system_const_list.php'" />返回</el-button>
+	</div>
+	</form>
+</div>
+
+
+<script type="text/javascript">
+	new Vue({
+		el:'#change',
+		data:{
+			name:'<?=htmlspecialchars($system_const_dat->name) ?>',
+			title:'<?=htmlspecialchars($system_const_dat->title) ?>',
+			constant_value:'<?=htmlspecialchars($system_const_dat->constant_value) ?>'
+				
+		},
+		methods:{
+			edit:function(){
+			  if(!this.name){
+					this.$message({
+		            type: 'error',
+		            message: '请输入常量定义名!'
+		          });
+		          return;
+				}
+			  if(!this.name.match(/^[A-Z_]{1,}$/)){
+			    this.$message({
+            type: 'error',
+            message: '常量定义名格式不正确!'
+          });
+          return;
+			  }
+			  if(!this.title){
+					this.$message({
+		            type: 'error',
+		            message: '请输入文字描述!'
+		          });
+		          return;
+				}
+			  if(!this.name){
+					this.$message({
+		            type: 'error',
+		            message: '请输入值!'
+		          });
+		          return;
+				}
+				$('#form').submit();
+			}
+		}
+	})
+$(document).ready(function () {
+  if(<?=$error_message?1:0 ?>){
+    vm.$message({
+      type: 'error',
+      message: '<?=$error_message?>'
+    });
+  }
+})
+</script>
diff --git a/src/manager/templates/system_const_edit_result.inc b/src/manager/templates/system_const_edit_result.inc
new file mode 100644
index 0000000..5e121b9
--- /dev/null
+++ b/src/manager/templates/system_const_edit_result.inc
@@ -0,0 +1,29 @@
+<?php
+/**
+ * 系统常量定义编辑完成
+ * $Id: system_const_edit_result.inc,v 1.12020/01/12 11:18:46  Exp $
+ * @author lixq
+ * @access public
+ * @package manager.templates
+ */
+
+
+?>
+
+<br />
+系统常量定义编辑完成
+<br />
+<br />
+<div id="result">
+<el-button type="danger" @click="back()" class="edit_btn">返回</el-button>
+</div>
+<script type="text/javascript">
+	new Vue({
+	  el:'#result',
+	  methods:{
+  		back:function(){
+  		  window.location.href='./system_const_list.php';
+  		}
+	  }
+	})
+</script>
diff --git a/src/manager/templates/system_const_list.inc b/src/manager/templates/system_const_list.inc
new file mode 100644
index 0000000..1740dd9
--- /dev/null
+++ b/src/manager/templates/system_const_list.inc
@@ -0,0 +1,88 @@
+<?php
+/**
+ * 系统常量定义
+ * $Id: system_const_list.inc,v 1.1 2020/01/12 11:18:46  Exp $
+ * @author lixq
+ * @access public
+ * @package manager.templates
+ */
+
+global $system_const_list;
+
+?>
+
+<div id="classSetting">
+	<div class="list_title">
+		系统常量定义
+		 <div style="float: right;">
+			<el-button type="primary" style="margin-right: 10px;" @click="addSysConst()">添加</el-button>
+		</div>
+	</div>
+
+  <br />
+  <div class="result_list">
+  	<el-table :data="tableData" border>
+  		<el-table-column  prop="id" label="编号"  width="50px"></el-table-column>
+  		<el-table-column  prop="name" label="常量定义名" width=""></el-table-column>
+  		<el-table-column  prop="title" label="文字描述" width=""></el-table-column>
+  		<el-table-column  prop="constant_value" label="常量的值" width=""></el-table-column>
+  		<el-table-column  label="操作"  width="100">
+  			<template slot-scope="scope">
+  				<el-button @click="handleChange(scope.row)" type="text" size="small">编辑</el-button>
+  				<el-button type="text" size="small" @click.native.prevent="deleteRow(scope.row)">删除</el-button>
+  			</template>
+  			</el-table-column>
+  	</el-table>
+  </div>
+</div>
+<script type="text/javascript">
+	var list=[];
+	<?
+	foreach ($system_const_list as $system_const_mst) {
+	?>
+		var data={
+			id:<?=$system_const_mst->id ?>,
+			name:'<?=$system_const_mst->name?>',
+			title:'<?=$system_const_mst->title?>',
+			constant_value:'<?=$system_const_mst->constant_value?>'
+		};
+		list.push(data);
+	<?
+	}
+	?>
+
+	new Vue({
+		el:'#classSetting',
+		data:{
+			tableData: list
+		},
+		methods:{
+			handleChange(row) {
+		  	console.log(row);
+		  	window.location.href='system_const_edit_input.php?action_type=edit&id='+row.id;
+		  },
+		  deleteRow(rows) {
+	    	this.$confirm('是否删除?', '提示', {
+		    	confirmButtonText: '确定',
+		    	cancelButtonText: '取消',
+		    	type: 'warning'
+		 		}).then(() => {
+		    	this.$message({
+		      	type: 'success',
+		      	message: '删除成功!'
+		     	});
+//	        		rows.splice(index, 1);
+					window.location.href='system_const_delete_result.php?id='+rows.id;
+		   	}).catch(() => {
+		    	this.$message({
+		      	type: 'info',
+		      	message: '已取消删除'
+		    	});          
+		    });
+	    },
+	    addSysConst(){
+	    	window.open('system_const_edit_input.php?action_type=new','_self')
+	    }
+		}
+	})
+</script>
\ No newline at end of file