Commit a265039d authored by neo's avatar neo

[DEV] generate project db and create table

parent de46aed1
......@@ -366,6 +366,7 @@
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.sql</include>
</includes>
<filtering>true</filtering><!-- replace variable attribute or not -->
</resource>
......
package pwc.taxtech.atms.agent;
import com.mysql.jdbc.MysqlErrorNumbers;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.sql.SQLException;
import static pwc.taxtech.atms.constant.Constant.CREATE_DB_EXISTS;
import static pwc.taxtech.atms.constant.Constant.CREATE_DB_FAILED;
import static pwc.taxtech.atms.constant.Constant.CREATE_DB_SUCCESS;
@Service
public class DatabaseAgent {
private static Logger LOGGER = LoggerFactory.getLogger(DatabaseAgent.class);
@Autowired
private JdbcTemplate jdbcTemplate;
public int createDatabase(String dbName) {
try {
jdbcTemplate.execute("CREATE DATABASE " + dbName + " default charset utf8 COLLATE utf8_general_ci");
return CREATE_DB_SUCCESS;
} catch (Exception exception) {
if (exception.getCause() instanceof SQLException) {
SQLException ex = (SQLException) exception.getCause();
if (ex.getErrorCode() == MysqlErrorNumbers.ER_DB_CREATE_EXISTS) {
LOGGER.warn("db is exists {}", dbName);
return CREATE_DB_EXISTS;
}
}
LOGGER.warn("Unknown Exception {}", exception.getMessage(), exception);
return CREATE_DB_FAILED;
}
}
}
package pwc.taxtech.atms.constant;
import java.io.File;
public final class Constant {
public static final String Comma = ",";
public static final String Other = "其他";
public static final int WholeYear = -1;
public static final int CREATE_DB_SUCCESS = 1;
public static final int CREATE_DB_EXISTS = 0;
public static final int CREATE_DB_FAILED = -1;
public static final String DB_SCRIPT_FOLDER="RuntimeDbScripts";
public static final String DB_SCRIPT_SQL="CreateProjectDB.sql";
public static final String DB_MYSQL_TYPE="MYSQL";
public static final String DB_MYSQL_PATH=DB_SCRIPT_FOLDER + File.separator + DB_MYSQL_TYPE + File.separator + DB_SCRIPT_SQL;
}
......@@ -231,4 +231,7 @@ public interface ProjectMapper extends MyMapper {
" p.DbName = #{dbName} " +
"ORDER BY PeriodId , Status")
List<ProjectStatusManage> selectProjectAllStatus(String dbName);
@Select("SELECT max(DbName) as DbName FROM Project WHERE Year=#{year}")
String maxDbName(Integer year);
}
\ No newline at end of file
package pwc.taxtech.atms.service.impl;
import org.apache.log4j.lf5.LogLevel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -11,7 +10,6 @@ import pwc.taxtech.atms.dto.taxadmin.PeriodInfoDto;
import pwc.taxtech.atms.entitiy.PeriodInfo;
import pwc.taxtech.atms.entitiy.PeriodInfoExample;
import pwc.taxtech.atms.service.ProjectInfoService;
import sun.rmi.runtime.Log;
import java.util.List;
......
......@@ -2,13 +2,21 @@ package pwc.taxtech.atms.service.impl;
import com.beust.jcommander.internal.Lists;
import com.google.common.base.Predicate;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.jdbc.ScriptRunner;
import org.apache.ibatis.session.SqlSession;
import org.mybatis.spring.SqlSessionTemplate;
import org.reflections.util.Utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import pwc.taxtech.atms.agent.DatabaseAgent;
import pwc.taxtech.atms.common.CommonUtils;
import pwc.taxtech.atms.common.OperateLogType;
import pwc.taxtech.atms.common.OperationModule;
import pwc.taxtech.atms.common.datasource.ShardingContextHolder;
import pwc.taxtech.atms.constant.Constant;
import pwc.taxtech.atms.dao.OrganizationServiceTemplateGroupMapper;
import pwc.taxtech.atms.dao.ProjectClientMapper;
import pwc.taxtech.atms.dao.ProjectMapper;
......@@ -27,15 +35,27 @@ import pwc.taxtech.atms.entitiy.ProjectClientExample.Criteria;
import pwc.taxtech.atms.service.OperationLogService;
import pwc.taxtech.atms.service.ProjectService;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.stream.Collectors;
import static pwc.taxtech.atms.constant.Constant.*;
@Service
public class ProjectServiceImpl implements ProjectService {
/**
......@@ -65,6 +85,12 @@ public class ProjectServiceImpl implements ProjectService {
@Autowired
private OperationLogService operationLogService;
@Autowired
private DatabaseAgent databaseAgent;
@Autowired
private SqlSessionTemplate dynamicSqlSessionTemplate;
private final OperateLogType LOG_TYPE = OperateLogType.OperationLogProject;
private static final Logger logger = LoggerFactory.getLogger(ProjectServiceImpl.class);
......@@ -125,9 +151,11 @@ public class ProjectServiceImpl implements ProjectService {
List<ProjectDisplayDto> data = projectMapper.getProjectList(orgID, serviceID, projectYear);
//获取每个项目的项目状态
data.forEach(p -> {
List<ProjectStatusManage> manageStatus= projectMapper.getProjectSatusListByDbName(p.getDbName());
Map<Integer,Integer> dic=new HashMap<>();
manageStatus.forEach(m->{dic.put(m.getPeriodId(),m.getStatus());});
List<ProjectStatusManage> manageStatus = projectMapper.getProjectSatusListByDbName(p.getDbName());
Map<Integer, Integer> dic = new HashMap<>();
manageStatus.forEach(m -> {
dic.put(m.getPeriodId(), m.getStatus());
});
p.setProjectStatusList(dic);
});
......@@ -238,10 +266,95 @@ public class ProjectServiceImpl implements ProjectService {
}
private String generateDatabase(Project project, String accsetid) {//TODO: should be impl future(neo)
return "db_test";
String maxDbName = projectMapper.maxDbName(project.getYear());
String dbName = "";
if (!Utils.isEmpty(maxDbName)) {
dbName = String.format("%s%s%s", "a", (project.getYear() + "").substring(2), "00000");
} else {
dbName = generateProjectDbName(dbName, project.getYear() + "");
}
createDatabaseByName(dbName, project);
ShardingContextHolder.setDataSourceKey(dbName);
try (SqlSession sqlSession = dynamicSqlSessionTemplate.getSqlSessionFactory().openSession();
BufferedReader bufferedReader = new BufferedReader(prepareRunScriptReader(DB_MYSQL_PATH, dbName, project, accsetid));) {
ScriptRunner scriptRunner = new ScriptRunner(sqlSession.getConnection());//only support mysql
scriptRunner.setAutoCommit(true);
scriptRunner.runScript(bufferedReader);
} catch (IOException e) {
e.printStackTrace();
LOGGER.error("generate data base error", e);
}
return dbName;
}
private String GenerateProjectDbName(String maxName, String year) {
private Reader prepareRunScriptReader(String sqlPath, String dbName, Project project, String accsetid) {
Map<String, String> keyValues = new HashMap<>();
keyValues.put("DBKeyword_ProjectDbName", dbName);
keyValues.put("DBKeyword_IndustryId", project.getIndustryID());
keyValues.put("DBKeyword_OrganizationID", project.getOrganizationID());
keyValues.put("DBKeyword_EnterpriseAccountSetID", accsetid);
BufferedReader bufferedReader = null;
String line = null;
StringWriter sw = new StringWriter();
BufferedWriter writer = new BufferedWriter(sw);
String resultContent = null;
try {
Resources.setCharset(Charset.forName("UTF-8"));
bufferedReader = new BufferedReader(Resources.getResourceAsReader(sqlPath));
while ((line = bufferedReader.readLine()) != null) {
Iterator<Map.Entry<String, String>> kv = keyValues.entrySet().iterator();
while (kv.hasNext()) {
Map.Entry<String, String> entry = kv.next();
line = line.replaceAll(entry.getKey(), entry.getValue());
}
writer.write(line);
writer.newLine();
}
writer.flush();
resultContent = sw.getBuffer().toString();
} catch (Exception e) {
e.printStackTrace();
LOGGER.warn("prepare run reader some error", e);
} finally {
try {
if (writer != null) writer.close();
if (sw != null) sw.close();
if (bufferedReader != null) bufferedReader.close();
} catch (Exception e) {
LOGGER.error("io resource close some error", e);
}
}
return new StringReader(resultContent);
}
private void createDatabaseByName(String dbName, Project project) {
int result = databaseAgent.createDatabase(dbName);
if (result == Constant.CREATE_DB_EXISTS) {
dbName = generateProjectDbName(dbName, project.getYear() + "");
createDatabaseByName(dbName, project);
} else if (result == Constant.CREATE_DB_FAILED) {
LOGGER.debug("should throws biz exception");//TODO: should shrow biz exception in futrue(neo)
}
}
private String generateProjectDbName(String maxName, String year) {
year = year.substring(2);
String pre2 = maxName.charAt(0) + "", post2 = "";
int post = Integer.parseInt(maxName.substring(3)) + 1;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
-- ----------------------------------------------------------------------------
-- MySQL Workbench Migration
-- Migrated Schemata: DBKeyword_ProjectDbName
-- Source Schemata: DBKeyword_ProjectDbName
-- Created: Tue Jun 12 20:35:00 2018
-- Workbench Version: 6.3.10
-- ----------------------------------------------------------------------------
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------------------------------------------------------
-- ----------------------------------------------------------------------------
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.Account
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`Account` (
`ID` VARCHAR(128) NOT NULL,
`Code` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`Name` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`ParentCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`FullName` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`AcctProp` INT NULL,
`SubProp` INT NULL,
`AcctLevel` INT NULL,
`Direction` INT NOT NULL,
`IsLeaf` SMALLINT NOT NULL DEFAULT 1,
`RuleType` INT NOT NULL,
`IsActive` SMALLINT NOT NULL DEFAULT 1,
`EnglishName` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`IndustryID` VARCHAR(128) NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.PeriodCellTemplate
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`PeriodCellTemplate` (
`ID` VARCHAR(128) NOT NULL,
`Period` INT NOT NULL,
`ReportTemplateID` VARCHAR(128) NOT NULL,
`RowIndex` INT NOT NULL,
`RowName` VARCHAR(2000) CHARACTER SET 'utf8mb4' NULL,
`ColumnIndex` INT NOT NULL,
`ColumnName` VARCHAR(2000) CHARACTER SET 'utf8mb4' NULL,
`Comment` VARCHAR(2000) CHARACTER SET 'utf8mb4' NULL,
`CreateTime` DATETIME(6) NOT NULL,
`UpdateTime` DATETIME(6) NOT NULL,
`CopyFromID` VARCHAR(128) NULL,
`DataType` INT NULL,
`IsReadOnly` INT NULL,
PRIMARY KEY (`ID`, `Period`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.EntriesCheckDetailResult
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`EntriesCheckDetailResult` (
`ID` VARCHAR(128) NOT NULL,
`ResultID` VARCHAR(128) NOT NULL,
`IsDoubt` INT NOT NULL DEFAULT 0,
`IsBigVoucher` INT NOT NULL DEFAULT 0,
`VoucherID` VARCHAR(128) NOT NULL,
`VID` VARCHAR(256) CHARACTER SET 'utf8mb4' NOT NULL,
`Date` DATE NOT NULL,
`Group` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`Period` INT NULL,
`CustomerCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`CustomerName` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL,
`Summary` VARCHAR(500) CHARACTER SET 'utf8mb4' NULL,
`AcctCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`StdCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`Debit` DECIMAL(18,3) NULL,
`Credit` DECIMAL(18,3) NULL,
`Attach` BIGINT NULL,
`ItemID` VARCHAR(256) CHARACTER SET 'utf8mb4' NULL,
`ImportType` INT NULL,
`IsFiltered` INT NOT NULL DEFAULT 0,
`IsRelevantAmt` INT NOT NULL DEFAULT 0,
`CreateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`UpdateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.PeriodTaxPayerReportRule
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`PeriodTaxPayerReportRule` (
`ID` VARCHAR(128) NOT NULL,
`IsDefault` INT NOT NULL,
`Period` INT NOT NULL,
`TaxPayerType` INT NOT NULL,
`TemplateGroupID` VARCHAR(128) NOT NULL,
`OrganizationID` LONGTEXT NULL,
`CreateTime` DATETIME(6) NOT NULL,
`UpdateTime` DATETIME(6) NOT NULL,
PRIMARY KEY (`ID`, `Period`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.PeriodTaxRuleSetting
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`PeriodTaxRuleSetting` (
`ID` VARCHAR(128) NOT NULL,
`Name` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`IsDefault` INT NOT NULL,
`Period` INT NOT NULL,
`GroupName` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`TaxBase` VARCHAR(500) NOT NULL,
`TaxRate` DECIMAL(20,4) NOT NULL,
`CreateTime` DATETIME(6) NOT NULL,
`UpdateTime` DATETIME(6) NOT NULL,
PRIMARY KEY (`ID`, `Period`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.PeriodTaxRuleSettingOrganization
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`PeriodTaxRuleSettingOrganization` (
`ID` VARCHAR(128) NOT NULL,
`TaxSettingID` VARCHAR(128) NOT NULL,
`Period` INT NOT NULL,
`OrganizationID` VARCHAR(128) NOT NULL,
`CreateTime` DATETIME(6) NOT NULL,
`UpdateTime` DATETIME(6) NOT NULL,
PRIMARY KEY (`ID`, `Period`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.IndexAnalysisResult
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`IndexAnalysisResult` (
`ID` VARCHAR(128) NOT NULL,
`ModelID` VARCHAR(128) NOT NULL,
`Code` VARCHAR(20) NOT NULL,
`Name` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`Description` VARCHAR(300) CHARACTER SET 'utf8mb4' NULL,
`MonthExplain` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`YearExplain` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`ServiceTypeID` VARCHAR(128) NOT NULL,
`CategoryID` VARCHAR(128) NOT NULL,
`Type` INT NOT NULL,
`IndexCodeTotal` VARCHAR(8000) NULL,
`CreateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`UpdateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`IsShow` INT NOT NULL DEFAULT 1,
`IsReport` INT NOT NULL DEFAULT 0,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.StandardAccount
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`StandardAccount` (
`ID` VARCHAR(128) NOT NULL,
`Code` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`Name` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`ParentCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`FullName` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`AcctProp` INT NULL,
`SubProp` INT NULL,
`AcctLevel` INT NULL,
`Direction` INT NOT NULL,
`IsLeaf` SMALLINT NOT NULL,
`RuleType` INT NOT NULL,
`IsActive` SMALLINT NOT NULL,
`EnglishName` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`IndustryID` VARCHAR(128) NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.PeriodTemplate
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`PeriodTemplate` (
`ID` VARCHAR(128) NOT NULL,
`Period` INT NOT NULL,
`Name` VARCHAR(500) CHARACTER SET 'utf8mb4' NOT NULL,
`Code` VARCHAR(500) NULL,
`Path` VARCHAR(2000) CHARACTER SET 'utf8mb4' NOT NULL,
`ReportType` INT NULL,
`TemplateGroupID` VARCHAR(128) NOT NULL,
`OrderIndex` INT NULL,
`CreateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`UpdateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`IsSystemType` INT NOT NULL DEFAULT 0,
`IsActiveAssociation` INT NOT NULL DEFAULT 1,
`ParentId` VARCHAR(128) NULL,
PRIMARY KEY (`ID`, `Period`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.EnterpriseAccount
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`EnterpriseAccount` (
`ID` VARCHAR(128) NOT NULL,
`AcctCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`Name` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`ParentCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`FullName` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`AcctProp` INT NULL,
`SubProp` INT NULL,
`AcctLevel` INT NULL,
`Direction` INT NOT NULL,
`IsLeaf` SMALLINT NULL,
`IsActive` SMALLINT NOT NULL DEFAULT 1,
`EnglishName` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`StdCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`EnterpriseAccountSetID` VARCHAR(128) NOT NULL,
`IsDummy` INT NULL,
`IsInVoucher` INT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.IndexAnalysisDetailResult
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`IndexAnalysisDetailResult` (
`ID` VARCHAR(128) NOT NULL,
`ResultID` VARCHAR(128) NOT NULL,
`Year` INT NOT NULL,
`Period` INT NOT NULL,
`IndexName` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`Sequence` INT NULL,
`DisplayType` INT NULL,
`IsVisible` INT NOT NULL DEFAULT 1,
`IsMainValue` INT NOT NULL DEFAULT 0,
`IsYearValue` INT NOT NULL DEFAULT 1,
`IsMonExp` INT NOT NULL DEFAULT 0,
`IsYearExp` INT NOT NULL DEFAULT 0,
`IndexResult` VARCHAR(50) NULL,
`IndexCode` VARCHAR(8000) NULL,
`CreateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`UpdateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.VoucherMapping
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`VoucherMapping` (
`ID` VARCHAR(128) NOT NULL,
`TranCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`VID` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`Period` INT NOT NULL,
`Group` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`ItemID` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`CreatorID` VARCHAR(128) NULL,
`CreateTime` DATETIME(6) NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.InvoiceMapping
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`InvoiceMapping` (
`ID` VARCHAR(128) NOT NULL,
`TranCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`InvoiceCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`InvoiceNumber` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`Period` INT NOT NULL,
`CreatorID` VARCHAR(128) NULL,
`CreateTime` DATETIME(6) NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.ImportFile
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`ImportFile` (
`FileID` VARCHAR(128) NOT NULL,
`FilePath` VARCHAR(500) CHARACTER SET 'utf8mb4' NOT NULL,
`FileName` VARCHAR(500) CHARACTER SET 'utf8mb4' NULL,
`PeriodID` INT NULL,
`FileType` VARCHAR(50) NULL,
`CreatorID` VARCHAR(128) NOT NULL,
`CreateTime` DATETIME(6) NOT NULL,
`FileImportType` INT NULL,
`Comments` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
PRIMARY KEY (`FileID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.OutputVATInvoice
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`OutputVATInvoice` (
`InvoiceID` VARCHAR(128) NOT NULL,
`InvoiceType` INT NOT NULL,
`ClassCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`InvoiceNumber` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`BuyerName` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`BuyerTaxNumber` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`BankAccount` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`PhoneNum` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`InvoiceDate` DATETIME(6) NOT NULL,
`SeqNo` INT NOT NULL,
`PeriodID` INT NOT NULL,
`Status` INT NULL,
`CreatorID` VARCHAR(128) NOT NULL,
`CreateTime` DATETIME(6) NOT NULL,
`PartAccntedPeriod` INT NULL,
`AccntedPeriod` INT NULL,
PRIMARY KEY (`InvoiceID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.ModelLog
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`ModelLog` (
`ID` VARCHAR(128) NOT NULL,
`OrganizationID` VARCHAR(128) NOT NULL,
`RunNumber` INT NOT NULL,
`Description` VARCHAR(500) CHARACTER SET 'utf8mb4' NULL,
`SuccessNumber` INT NOT NULL,
`FailureNumber` INT NOT NULL,
`ServiceTypeID` VARCHAR(128) NOT NULL,
`CreateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`UpdateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.OutputVATInvoiceItem
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`OutputVATInvoiceItem` (
`ItemID` VARCHAR(128) NOT NULL,
`InvoiceID` VARCHAR(128) NOT NULL,
`CodeVersion` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`ProductName` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`DocumentNum` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL,
`ProductStandard` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL,
`Unit` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL,
`Quantity` INT NULL,
`UnitPrice` DOUBLE NULL,
`Amount` DECIMAL(18,4) NOT NULL,
`TaxRate` DECIMAL(18,4) NOT NULL,
`TaxAmount` DECIMAL(18,4) NOT NULL,
`SeqNo` INT NOT NULL,
`TaxClassCode` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL,
`CreatorID` VARCHAR(128) NOT NULL,
`CreateTime` DATETIME(6) NOT NULL,
`PeriodID` INT NOT NULL,
PRIMARY KEY (`ItemID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.InputVATInvoice
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`InputVATInvoice` (
`ID` VARCHAR(128) NOT NULL,
`PeriodID` INT NOT NULL,
`InvoiceCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`InvoiceNumber` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`InvoiceDate` DATETIME(6) NOT NULL,
`SellerTaxNumber` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`Amount` DECIMAL(18,4) NULL,
`TaxAmount` DECIMAL(18,4) NULL,
`InvoiceType` INT NOT NULL,
`CertificationResult` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`CertificationDate` DATETIME(6) NULL,
`CreatorID` VARCHAR(128) NOT NULL,
`CreateTime` DATETIME(6) NOT NULL,
`Status` INT NULL,
`PartAccntedPeriod` INT NULL,
`AccntedPeriod` INT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.ModelDetailLog
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`ModelDetailLog` (
`ID` VARCHAR(128) NOT NULL,
`ModelLogID` VARCHAR(128) NOT NULL,
`Feature` INT NOT NULL,
`ModelID` VARCHAR(128) NOT NULL,
`Code` VARCHAR(20) NOT NULL,
`Name` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`Description` VARCHAR(500) CHARACTER SET 'utf8mb4' NULL,
`RunningResult` INT NOT NULL,
`CreateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`UpdateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`Period` INT NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.InputVATInvoiceItem
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`InputVATInvoiceItem` (
`ID` VARCHAR(128) NOT NULL,
`InputVATInvoiceID` VARCHAR(128) NOT NULL,
`PeriodID` INT NOT NULL,
`InvoiceCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`InvoiceNumber` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`Amount` DECIMAL(18,4) NULL,
`TaxAmount` DECIMAL(18,4) NULL,
`TaxRate` DECIMAL(18,4) NULL,
`ProductionName` VARCHAR(100) CHARACTER SET 'utf8mb4' NOT NULL,
`CreatorID` VARCHAR(128) NOT NULL,
`CreateTime` DATETIME(6) NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.GoodsMapping
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`GoodsMapping` (
`ID` VARCHAR(128) NOT NULL,
`CustGoodsName` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`StdGoodsName` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`CreatorID` VARCHAR(128) NULL,
`CreateTime` DATETIME(6) NOT NULL,
`UpdateTime` DATETIME(6) NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.ModelCategoryResult
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`ModelCategoryResult` (
`ID` VARCHAR(128) NOT NULL,
`CategoryID` VARCHAR(128) NOT NULL,
`ClientCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`OrganizationID` VARCHAR(128) NOT NULL,
`Category` VARCHAR(10) CHARACTER SET 'utf8mb4' NOT NULL,
`ParentID` VARCHAR(128) NOT NULL,
`Sort` INT NOT NULL DEFAULT 0,
`Quantity` INT NOT NULL DEFAULT 0,
`CreateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`UpdateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`IndustryID` VARCHAR(128) NULL,
`ServiceTypeID` VARCHAR(128) NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.OperationLog
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`OperationLog` (
`ID` VARCHAR(128) NOT NULL,
`OperationName` VARCHAR(200) CHARACTER SET 'utf8mb4' NOT NULL,
`ModuleID` INT NOT NULL,
`OperationObject` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`OperationType` INT NOT NULL,
`OperationContent` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`OriginalState` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`UpdateState` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`CreatorID` VARCHAR(128) NOT NULL,
`Comment` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`CreateTime` DATETIME(6) NOT NULL,
`UpdateTime` DATETIME(6) NOT NULL,
`IP` VARCHAR(100) NULL,
`Period` INT NULL,
`ServiceType` INT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.ValidationInfo
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`ValidationInfo` (
`ID` VARCHAR(128) NOT NULL,
`ImportTypeId` INT NOT NULL,
`ValidationResult` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`ValidationDetails` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`ValidationTips` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`Number` INT NULL,
`CreatorId` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`CreateTime` DATETIME(6) NULL,
`PeriodId` INT NULL,
`ErpCheckTypeId` INT NULL,
`ErrorLevel` INT NULL,
`IsShowDetail` SMALLINT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.BalanceStd
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`BalanceStd` (
`BalanceId` VARCHAR(128) NOT NULL,
`PeriodId` INT NULL,
`AcctCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`BegDebitBal` DECIMAL(18,3) NULL DEFAULT 0,
`BegCreditBal` DECIMAL(18,3) NULL DEFAULT 0,
`BegBal` DECIMAL(18,3) NULL DEFAULT 0,
`EndBal` DECIMAL(18,3) NULL DEFAULT 0,
`EndDebitBal` DECIMAL(18,3) NULL DEFAULT 0,
`EndCreditBal` DECIMAL(18,3) NULL DEFAULT 0,
`DebitBal` DECIMAL(18,3) NULL DEFAULT 0,
`CreditBal` DECIMAL(18,3) NULL DEFAULT 0,
`YearDebitBal` DECIMAL(18,3) NULL,
`YearCreditBal` DECIMAL(18,3) NULL,
`CarryoverDebit` DECIMAL(18,3) NULL,
`CarryoverCredit` DECIMAL(18,3) NULL,
`YearCarryoverDebit` DECIMAL(18,3) NULL,
`YearCarryoverCredit` DECIMAL(18,3) NULL,
`DebitNet` DECIMAL(18,3) NULL,
`CreditNet` DECIMAL(18,3) NULL,
`YearDebitNet` DECIMAL(18,3) NULL,
`YearCreditNet` DECIMAL(18,3) NULL,
`CreateTime` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
`UpdateTime` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
`SubProp` INT NULL,
PRIMARY KEY (`BalanceId`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.FormulaCache
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`FormulaCache` (
`ID` VARCHAR(128) NOT NULL,
`Period` INT NOT NULL,
`Year` INT NOT NULL,
`Formula` VARCHAR(2000) CHARACTER SET 'utf8mb4' NOT NULL,
`FormulaValue` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`TargetReportTemplateID` VARCHAR(128) NULL,
`TargetRowIndex` INT NULL,
`TargetRowName` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`TargetColumnIndex` INT NULL,
`TargetColumnName` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`TargetPeriod` INT NULL,
`TargetCellDataID` VARCHAR(128) NULL,
`TargetCellTemplateID` VARCHAR(128) NULL,
`ResultType` INT NULL,
`CreateTime` DATETIME(6) NOT NULL,
PRIMARY KEY (`ID`, `Period`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.ModelBackFillAmount
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`ModelBackFillAmount` (
`ID` VARCHAR(128) CHARACTER SET 'utf8mb4' NOT NULL,
`DataSourceID` VARCHAR(128) CHARACTER SET 'utf8mb4' NOT NULL,
`EntriesCheckResultID` VARCHAR(128) CHARACTER SET 'utf8mb4' NOT NULL,
`Amount` DECIMAL(20,4) NOT NULL,
`CellDataID` VARCHAR(128) CHARACTER SET 'utf8mb4' NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.CellDataSource
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`CellDataSource` (
`ID` VARCHAR(128) NOT NULL,
`CellTemplateID` VARCHAR(128) NOT NULL,
`CellDataID` VARCHAR(128) NOT NULL,
`DataSourceID` VARCHAR(128) NOT NULL,
`OperationType` INT NULL,
`CreateTime` DATETIME(6) NOT NULL,
`UpdateTime` DATETIME(6) NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.DataSource
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`DataSource` (
`ID` VARCHAR(128) NOT NULL,
`Type` INT NOT NULL,
`Name` VARCHAR(500) CHARACTER SET 'utf8mb4' NULL,
`Amount` DECIMAL(20,4) NULL,
`Description` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`KeyValueDataID` VARCHAR(128) NULL,
`Creator` VARCHAR(128) NOT NULL,
`CreateTime` DATETIME(6) NOT NULL,
`Updater` VARCHAR(128) NOT NULL,
`UpdateTime` DATETIME(6) NOT NULL,
`RowName` VARCHAR(2000) CHARACTER SET 'utf8mb4' NULL,
`ColumnName` VARCHAR(2000) CHARACTER SET 'utf8mb4' NULL,
`RowIndex` INT NULL,
`ColumnIndex` INT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.DataSourceDetail
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`DataSourceDetail` (
`ID` VARCHAR(128) NOT NULL,
`DataSourceID` VARCHAR(128) NOT NULL,
`DataSourceType` INT NOT NULL,
`ItemValue` VARCHAR(128) NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.Report
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`Report` (
`ID` VARCHAR(128) NOT NULL,
`TemplateID` VARCHAR(128) NOT NULL,
`Period` INT NOT NULL,
`ProjectID` VARCHAR(128) NULL,
`Creator` VARCHAR(128) NOT NULL,
`CreateTime` DATETIME(6) NOT NULL,
`Updater` VARCHAR(128) NOT NULL,
`UpdateTime` DATETIME(6) NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.Balance
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`Balance` (
`BalanceId` VARCHAR(128) NOT NULL,
`PeriodId` INT NULL,
`AcctCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`CustomerCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL DEFAULT '',
`BegDebitBal` DECIMAL(18,3) NULL DEFAULT 0,
`BegCreditBal` DECIMAL(18,3) NULL DEFAULT 0,
`BegBal` DECIMAL(18,3) NULL DEFAULT 0,
`EndBal` DECIMAL(18,3) NULL DEFAULT 0,
`EndDebitBal` DECIMAL(18,3) NULL DEFAULT 0,
`EndCreditBal` DECIMAL(18,3) NULL DEFAULT 0,
`DebitBal` DECIMAL(18,3) NULL DEFAULT 0,
`CreditBal` DECIMAL(18,3) NULL DEFAULT 0,
`MonthId` INT NULL,
`YearDebitBal` DECIMAL(18,3) NULL,
`YearCreditBal` DECIMAL(18,3) NULL,
`CarryoverDebit` DECIMAL(18,3) NULL,
`CarryoverCredit` DECIMAL(18,3) NULL,
`YearCarryoverDebit` DECIMAL(18,3) NULL,
`YearCarryoverCredit` DECIMAL(18,3) NULL,
`DebitNet` DECIMAL(18,3) NULL,
`CreditNet` DECIMAL(18,3) NULL,
`YearDebitNet` DECIMAL(18,3) NULL,
`YearCreditNet` DECIMAL(18,3) NULL,
`StdCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`MappingReason` VARCHAR(500) CHARACTER SET 'utf8mb4' NULL,
`MappingUser` VARCHAR(128) CHARACTER SET 'utf8mb4' NULL,
`MappingTime` DATETIME(6) NULL,
`SubProp` INT NULL,
`IsDummy` INT NULL DEFAULT 0,
PRIMARY KEY (`BalanceId`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.CompanyBalance
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`CompanyBalance` (
`BalanceId` VARCHAR(128) NOT NULL,
`PeriodId` INT NULL,
`AcctCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`CustomerCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`BegDebitBal` DECIMAL(18,3) NULL,
`BegCreditBal` DECIMAL(18,3) NULL,
`BegBal` DECIMAL(18,3) NULL,
`EndBal` DECIMAL(18,3) NULL,
`EndDebitBal` DECIMAL(18,3) NULL,
`EndCreditBal` DECIMAL(18,3) NULL,
`DebitBal` DECIMAL(18,3) NULL,
`CreditBal` DECIMAL(18,3) NULL,
`MonthId` INT NULL,
PRIMARY KEY (`BalanceId`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.CustBalance
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`CustBalance` (
`BalanceId` VARCHAR(128) NOT NULL,
`PeriodId` BIGINT NOT NULL DEFAULT 1,
`AcctCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`CustomerCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL DEFAULT '',
`BegBal` DECIMAL(18,3) NULL DEFAULT 0,
`BegDebitBal` DECIMAL(18,3) NULL DEFAULT 0,
`BegCreditBal` DECIMAL(18,3) NULL DEFAULT 0,
`DebitBal` DECIMAL(18,3) NULL DEFAULT 0,
`CreditBal` DECIMAL(18,3) NULL DEFAULT 0,
`YearDebitBal` DECIMAL(18,3) NULL DEFAULT 0,
`YearCreditBal` DECIMAL(18,3) NULL DEFAULT 0,
`EndBal` DECIMAL(18,3) NULL DEFAULT 0,
`EndDebitBal` DECIMAL(18,3) NULL DEFAULT 0,
`EndCreditBal` DECIMAL(18,3) NULL DEFAULT 0,
`MonthId` INT NULL,
`IsDummy` INT NULL DEFAULT 0,
PRIMARY KEY (`BalanceId`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.CellComment
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`CellComment` (
`ID` VARCHAR(128) NOT NULL,
`CellDataId` VARCHAR(128) NOT NULL,
`UserId` VARCHAR(128) NOT NULL,
`UserName` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`Comment` VARCHAR(2048) CHARACTER SET 'utf8mb4' NULL,
`ReplyToUserName` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`CreateTime` DATETIME(6) NOT NULL,
`UpdateTime` DATETIME(6) NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.ModifiedReportCell
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`ModifiedReportCell` (
`ID` VARCHAR(128) NOT NULL,
`ReportId` VARCHAR(128) NOT NULL,
`Row` INT NOT NULL,
`Col` INT NOT NULL,
`OriginalValue` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`Value` VARCHAR(200) CHARACTER SET 'utf8mb4' NOT NULL,
`RelatedCellDataId` VARCHAR(128) NULL,
`Comment` VARCHAR(1024) CHARACTER SET 'utf8mb4' NULL,
`CreateTime` DATETIME(6) NOT NULL,
`UpdateTime` DATETIME(6) NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.CustomsInvoice
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`CustomsInvoice` (
`CustomsId` VARCHAR(128) NOT NULL,
`PayNum` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`IssueDate` DATETIME(6) NULL,
`InvoiceTaxAmount` DECIMAL(18,3) NULL,
`InvoiceAmount` DECIMAL(18,3) NULL,
`AuditResult` VARCHAR(500) CHARACTER SET 'utf8mb4' NULL,
`CreateTime` DATETIME(6) NULL,
`PeriodId` INT NULL,
`CreatorID` VARCHAR(128) NULL,
`Status` INT NULL,
`PartAccntedPeriod` INT NULL,
`AccntedPeriod` INT NULL,
PRIMARY KEY (`CustomsId`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.Voucher
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`Voucher` (
`VoucherID` VARCHAR(128) NOT NULL,
`VID` VARCHAR(256) CHARACTER SET 'utf8mb4' NOT NULL,
`Date` DATE NOT NULL,
`Group` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`Period` INT NULL,
`CustomerCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL DEFAULT '',
`CustomerName` VARCHAR(100) CHARACTER SET 'utf8mb4' NULL DEFAULT '',
`Summary` VARCHAR(500) CHARACTER SET 'utf8mb4' NULL,
`AcctCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`Debit` DECIMAL(18,3) NULL DEFAULT 0,
`Credit` DECIMAL(18,3) NULL DEFAULT 0,
`Attach` BIGINT NULL,
`ItemID` VARCHAR(256) CHARACTER SET 'utf8mb4' NULL,
`CreateTime` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
`ImportType` INT NULL,
`CreatorID` VARCHAR(128) NULL,
`MonthID` INT NULL,
`OriginalPeriod` INT NULL,
`Status` INT NULL,
`PartBilledPeriod` INT NULL,
`BilledPeriod` INT NULL,
`StdCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`MappingReason` VARCHAR(500) CHARACTER SET 'utf8mb4' NULL,
`MappingUser` VARCHAR(128) CHARACTER SET 'utf8mb4' NULL,
`MappingTime` DATETIME(6) NULL,
`RemapId` VARCHAR(128) NULL,
PRIMARY KEY (`VoucherID`),
INDEX `IX_Voucher_AcctCode` (`AcctCode` ASC),
INDEX `IX_Voucher_CustomerCode` (`CustomerCode` ASC),
INDEX `IX_Voucher_Summary` (`Summary`(255) ASC),
INDEX `IX_Voucher_VID_ItemID_PeriodID` (`VID`(255) ASC, `ItemID`(255) ASC, `Period` ASC),
INDEX `IX_Voucher_ImportType` (`ImportType` ASC));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.CellData
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`CellData` (
`ID` VARCHAR(128) NOT NULL,
`ReportID` VARCHAR(128) NOT NULL,
`CellTemplateID` VARCHAR(128) NOT NULL,
`Data` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`FormulaExp` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`Creator` VARCHAR(128) NOT NULL,
`CreateTime` DATETIME(6) NOT NULL,
`Updater` VARCHAR(128) NOT NULL,
`UpdateTime` DATETIME(6) NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.CustBalanceStd
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`CustBalanceStd` (
`BalanceID` VARCHAR(128) NOT NULL,
`PeriodID` INT NOT NULL,
`AcctCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`CustomerCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`BegBal` DECIMAL(18,3) NULL,
`DebitBal` DECIMAL(18,3) NULL,
`CreditBal` DECIMAL(18,3) NULL,
`YearDebitBal` DECIMAL(18,3) NULL,
`YearCreditBal` DECIMAL(18,3) NULL,
`EndBal` DECIMAL(18,3) NULL,
`BegDebitBal` DECIMAL(18,3) NULL,
`BegCreditBal` DECIMAL(18,3) NULL,
`EndDebitBal` DECIMAL(18,3) NULL,
`EndCreditBal` DECIMAL(18,3) NULL,
PRIMARY KEY (`BalanceID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.PeriodCellTemplateConfig
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`PeriodCellTemplateConfig` (
`ID` VARCHAR(128) NOT NULL,
`Period` INT NOT NULL,
`CellTemplateID` VARCHAR(128) NOT NULL,
`ReportTemplateID` VARCHAR(128) NULL,
`DataSourceType` INT NOT NULL,
`Formula` LONGTEXT) CHARACTER SET 'utf8mb4' NULL,
`ParsedFormula` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`FormulaDescription` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`AccountCodes` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`InvoiceType` INT NULL,
`TaxRate` VARCHAR(50) NULL,
`InvoiceAmountType` INT NULL,
`ModelIDs` LONGTEXT NULL,
`Creator` VARCHAR(128) NOT NULL,
`CreateTime` DATETIME(6) NOT NULL,
`Updater` VARCHAR(128) NOT NULL,
`UpdateTime` DATETIME(6) NOT NULL,
`InvoiceCategory` VARCHAR(50) NULL,
`FormulaDataSource` VARCHAR(500) CHARACTER SET 'utf8mb4' NULL,
`Validation` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`ParsedValidation` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`ValidationDescription` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`VoucherKeyword` VARCHAR(500) CHARACTER SET 'utf8mb4' NULL,
PRIMARY KEY (`ID`, `Period`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.CustBalanceStdManual
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`CustBalanceStdManual` (
`BalanceID` VARCHAR(128) NOT NULL,
`PeriodID` BIGINT NOT NULL,
`AcctCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`CustomerCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`BegBal` DECIMAL(18,3) NULL,
`BegDebitBal` DECIMAL(18,3) NULL,
`BegCreditBal` DECIMAL(18,3) NULL,
`DebitBal` DECIMAL(18,3) NULL,
`CreditBal` DECIMAL(18,3) NULL,
`YearDebitBal` DECIMAL(18,3) NULL,
`YearCreditBal` DECIMAL(18,3) NULL,
`EndBal` DECIMAL(18,3) NULL,
`EndDebitBal` DECIMAL(18,3) NULL,
`EndCreditBal` DECIMAL(18,3) NULL,
PRIMARY KEY (`BalanceID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.PeriodFormulaBlock
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`PeriodFormulaBlock` (
`ID` VARCHAR(128) CHARACTER SET 'utf8mb4' NOT NULL,
`Period` INT NOT NULL,
`FormulaBlock` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`Index` INT NOT NULL,
`Data` VARCHAR(200) CHARACTER SET 'utf8mb4' NULL,
`ResultType` INT NULL,
`DataSourceInfo` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`IsCalculated` SMALLINT NULL,
`Creator` VARCHAR(128) NULL,
`CreateTime` DATETIME(6) NULL,
`Updater` VARCHAR(128) NULL,
`UpdateTime` DATETIME(6) NULL,
PRIMARY KEY (`ID`, `Period`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.PeriodCellReference
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`PeriodCellReference` (
`ID` VARCHAR(128) CHARACTER SET 'utf8mb4' NOT NULL,
`Period` INT NOT NULL,
`FormulaBlockIndex` INT NULL,
`ReferenceFromCellID` VARCHAR(128) CHARACTER SET 'utf8mb4' NULL,
`ReferenceFromTemplateID` VARCHAR(128) CHARACTER SET 'utf8mb4' NULL,
`ReferenceToCellID` VARCHAR(128) CHARACTER SET 'utf8mb4' NULL,
`ReferenceToTemplateID` VARCHAR(128) CHARACTER SET 'utf8mb4' NULL,
`ReferenceFromKeyValueID` VARCHAR(128) CHARACTER SET 'utf8mb4' NULL,
`ReferenceToKeyValueID` VARCHAR(128) CHARACTER SET 'utf8mb4' NULL,
`IsValidation` INT NOT NULL,
PRIMARY KEY (`ID`, `Period`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.BalanceStdManual
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`BalanceStdManual` (
`BalanceID` VARCHAR(128) NOT NULL,
`PeriodID` BIGINT NOT NULL,
`AcctCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`BegBal` DECIMAL(18,3) NULL,
`BegDebitBal` DECIMAL(18,3) NULL,
`BegCreditBal` DECIMAL(18,3) NULL,
`DebitBal` DECIMAL(18,3) NULL,
`CreditBal` DECIMAL(18,3) NULL,
`YearDebitBal` DECIMAL(18,3) NULL,
`YearCreditBal` DECIMAL(18,3) NULL,
`EndBal` DECIMAL(18,3) NULL,
`EndDebitBal` DECIMAL(18,3) NULL,
`EndCreditBal` DECIMAL(18,3) NULL,
`SubProp` INT NULL,
`CarryoverDebit` DECIMAL(18,3) NULL,
`CarryoverCredit` DECIMAL(18,3) NULL,
`YearCarryoverDebit` DECIMAL(18,3) NULL,
`YearCarryoverCredit` DECIMAL(18,3) NULL,
`DebitNet` DECIMAL(18,3) NULL,
`CreditNet` DECIMAL(18,3) NULL,
`YearDebitNet` DECIMAL(18,3) NULL,
`YearCreditNet` DECIMAL(18,3) NULL,
PRIMARY KEY (`BalanceID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.EntriesCheckResult
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`EntriesCheckResult` (
`ID` VARCHAR(128) NOT NULL,
`ModelID` VARCHAR(128) NOT NULL,
`Code` VARCHAR(20) NOT NULL,
`Name` VARCHAR(50) CHARACTER SET 'utf8mb4' NOT NULL,
`Description` VARCHAR(300) CHARACTER SET 'utf8mb4' NULL,
`VoucherNum` INT NOT NULL DEFAULT 0,
`EntriesNum` INT NOT NULL DEFAULT 0,
`DebitRelevantAmt` DECIMAL(18,3) NOT NULL DEFAULT 0,
`CreditRelevantAmt` DECIMAL(18,3) NOT NULL DEFAULT 0,
`DebitTotalAmt` DECIMAL(18,3) NOT NULL DEFAULT 0,
`CreditTotalAmt` DECIMAL(18,3) NOT NULL DEFAULT 0,
`BigVoucherNum` INT NOT NULL DEFAULT 0,
`BigEntriesNum` INT NOT NULL DEFAULT 0,
`BigDebitRelevantAmt` DECIMAL(18,3) NOT NULL DEFAULT 0,
`BigCreditRelevantAmt` DECIMAL(18,3) NOT NULL DEFAULT 0,
`BigDebitTotalAmt` DECIMAL(18,3) NOT NULL DEFAULT 0,
`BigCreditTotalAmt` DECIMAL(18,3) NOT NULL DEFAULT 0,
`EntryDoubts` INT NOT NULL DEFAULT 0,
`BigEntryDoubts` INT NOT NULL DEFAULT 0,
`VoucherDoubts` INT NOT NULL DEFAULT 0,
`BigVoucherDoubts` INT NOT NULL DEFAULT 0,
`IsFiltered` INT NOT NULL DEFAULT 0,
`ServiceTypeID` VARCHAR(128) NOT NULL,
`CategoryID` VARCHAR(128) NOT NULL,
`Type` INT NOT NULL,
`IsFilter` INT NOT NULL DEFAULT 0,
`CreateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`UpdateTime` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`IsShow` INT NOT NULL DEFAULT 1,
`Period` INT NOT NULL,
PRIMARY KEY (`ID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.VoucherMain
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`VoucherMain` (
`VoucherMainID` VARCHAR(128) NOT NULL,
`Period` INT NULL,
`Group` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`VID` VARCHAR(256) CHARACTER SET 'utf8mb4' NOT NULL,
`VoucherCount` INT NULL,
`AcctCodeCount` INT NULL,
`Amount` DECIMAL(18,3) NULL,
`AmountCredit` DECIMAL(18,3) NULL,
`CreateTime` DATETIME(6) NULL,
`UpdateTime` DATETIME(6) NULL,
`CreatorID` VARCHAR(128) NULL,
PRIMARY KEY (`VoucherMainID`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.AccountRemap
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`AccountRemap` (
`RemapId` VARCHAR(128) NOT NULL,
`Period` INT NOT NULL,
`AcctCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`CustomerCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`RemapDebit` DECIMAL(18,3) NULL,
`RemapCredit` DECIMAL(18,3) NULL,
`StdCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`ReMappName` VARCHAR(200) CHARACTER SET 'utf8mb4' NOT NULL,
`ReMappReason` VARCHAR(500) CHARACTER SET 'utf8mb4' NULL,
`ReMappTypeId` INT NOT NULL,
`CreateTime` DATETIME(6) NULL,
`UpdateTime` DATETIME(6) NULL,
`CreatorID` VARCHAR(128) CHARACTER SET 'utf8mb4' NULL,
`RemapBatchId` VARCHAR(128) NULL,
PRIMARY KEY (`RemapId`));
-- ----------------------------------------------------------------------------
-- Table DBKeyword_ProjectDbName.AccountRemapSum
-- ----------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS `DBKeyword_ProjectDbName`.`AccountRemapSum` (
`AccountRemapSumId` VARCHAR(128) NOT NULL,
`Period` INT NULL,
`AcctCode` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`Parent` VARCHAR(50) CHARACTER SET 'utf8mb4' NULL,
`AcctLevel` INT NULL,
`RemapDebit` DECIMAL(18,3) NULL,
`RemapCredit` DECIMAL(18,3) NULL,
`CreateTime` DATETIME(6) NULL,
`UpdateTime` DATETIME(6) NULL,
`CreatorID` VARCHAR(128) CHARACTER SET 'utf8mb4' NULL,
PRIMARY KEY (`AccountRemapSumId`));
SET FOREIGN_KEY_CHECKS = 1;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment