{ "name": "remi-crm", "describe": "SDT CRM", "avatar": "", "version": "4.9.3", "createdTime": "2022-10-11 11:11:00", "updatedTime": "2024-8-19 18:09:18", "dbConns": [], "profile": { "default": { "db": "29D1CE08-4C35-4D2D-AAA9-23D93305B52E", "dbConn": "", "entityInitFields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "A1181084-891B-43A1-A52F-5C94A8FB4544", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "status", "defName": "是否启用(0停用 1启用)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "B749CBBF-E1D8-4233-83E6-79FB42FDA697", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "071B874E-147F-4CFC-8A7F-BF384CA355E4", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "92BF430E-01FA-4AEF-944F-25A142632654", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "3BD6FCEF-0662-4781-A982-00C59581199B", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": 32, "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "uiHint": "", "id": "ADB3AD14-6603-43E2-8261-114E32442B5B", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "C8BE2C7A-8251-4ADD-BB4F-411C5754DA62", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "4E471FD6-3E73-4A90-B660-51598A482409", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "0DC24AA9-4CD0-45D8-95CF-FA546BE343AB", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "09F64AC4-4DEE-428F-AF64-4C103884E1AC", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "entityInitProperties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" } }, "javaHome": "", "sql": { "delimiter": "" }, "dataTypeSupports": [ { "defKey": "MYSQL", "id": "29D1CE08-4C35-4D2D-AAA9-23D93305B52E" }, { "defKey": "ORACLE", "id": "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542" }, { "defKey": "SQLServer", "id": "BFC87171-C74F-494A-B7C2-76B9C55FACC9" }, { "defKey": "PostgreSQL", "id": "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022" }, { "defKey": "DB2", "id": "89504F5D-94BF-4C9E-8B2E-44F37305FED5" }, { "defKey": "DM", "id": "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307" }, { "defKey": "GaussDB", "id": "592C7013-143D-4E7B-AF64-0D7BF1E28230" }, { "defKey": "Kingbase", "id": "77BD85E5-9D0D-4096-8427-CBA306FC9C6A" }, { "defKey": "MaxCompute", "id": "11D1FB71-A587-4217-89BA-611B8A1F83E0" }, { "defKey": "SQLite", "id": "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1" }, { "defKey": "JAVA", "id": "797A1496-D649-4261-89B4-544132EC3F36" }, { "defKey": "JavaMybatis", "id": "895CFD1D-4273-4D32-A2C4-CAC70200AB5B" }, { "defKey": "JavaMybatisPlus", "id": "A2EE7B4A-CE62-4290-B00C-B26C1BF18073" }, { "defKey": "C#", "id": "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30" }, { "defKey": "Hive", "id": "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2" }, { "defKey": "Golang", "id": "B91D99E0-9B7C-416C-8737-B760957DAF09" } ], "codeTemplates": [ { "type": "appCode", "applyFor": "797A1496-D649-4261-89B4-544132EC3F36", " JpaBean": "{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkDataType = \"String\";\n it.entity.fields.forEach(function(field){\n if(field.primaryKey){\n pkVarName = it.func.camel(field.defKey,false);\n pkDataType = field[\"type\"];\n return;\n }\n });\n \n var pkgName = it.entity.env.base.nameSpace;\n var beanClass = it.entity.env.base.codeRoot;\n var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n var serviceClass = beanClass+'Service';\n var serviceVarName= beanVarName+'Service';\n \n}}package {{=pkgName}}.entity;\n$blankline\nimport io.swagger.annotations.ApiModel;\nimport io.swagger.annotations.ApiModelProperty;\nimport javax.persistence.*;\nimport java.io.Serializable;\nimport java.util.Date;\n$blankline\n\n /**\n * {{=it.entity.defName}};{{=it.entity.comment}}\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Schema(value = \"{{=it.entity.defName}}\",description = \"{{=it.entity.comment}}\")\n@Table(name=\"{{=it.entity.defKey}}\")\npublic class {{=beanClass}} implements Serializable,Cloneable{\n{{~it.entity.fields:field:index}}\n /** {{=it.func.join(field.defName,field.comment,';')}} */\n {{? field.primaryKey }}\n @Id\n @GeneratedValue\n {{?}}\n @Schema(description = name = \"{{=field.defName}}\",notes = \"{{=field.comment}}\")\n private {{=field.type}} {{=it.func.camel(field.defKey,false)}} ;\n{{~}}\n$blankline\n\n{{~it.entity.fields:field:index}}\n /** {{=it.func.join(field.defName,field.comment,';')}} */\n public {{=field.type}} get{{=it.func.camel(field.defKey,true)}}(){\n return this.{{=it.func.camel(field.defKey,false)}};\n }\n /** {{=it.func.join(field.defName,field.comment,';')}} */\n public void set{{=it.func.camel(field.defKey,true)}}({{=field.type}} {{= it.func.camel(field.defKey,false) }}){\n this.{{=it.func.camel(field.defKey,false)}}={{=it.func.camel(field.defKey,false)}};\n }\n{{~}}\n}" }, { "type": "appCode", "applyFor": "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30", "Default": "using System;\nusing System.Collections.Generic;\n\n$blankline\n{{\n var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n}}\n/*\n * @author : http://www.chiner.com.cn\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n * @desc : {{=it.func.join(it.entity.defName,it.entity.comment,'-')}}\n */\nnamespace PDManer.Application\n{\n public partial class {{=it.func.camel(it.entity.defKey,true) }}\n {\n \n {{~it.entity.fields:field:index}}\n /// \n /// {{=it.func.join(field.defName,field.comment,';')}}\n /// \n public {{=field.type}} {{=it.func.camel(field.defKey,true)}} { get; set; }\n $blankline\n {{~}}\n \n }\n}", "SqlSugar": "using System;\nusing System.Collections.Generic;\nusing SqlSugar;\n\n$blankline\n{{\n var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n var sqlSugartable='[SugarTable(\"{{=it.entity.defKey}}\", TableDescription = \"{{=it.func.join(it.entity.defName,it.entity.comment,';')}}\")]';\n}}\n/*\n * @author : xkdong@163.com\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n * @desc : {{=it.func.join(it.entity.defName,it.entity.comment,'-')}}\n */\nnamespace Model.DBModel\n{\n /// \n /// {{=it.func.join(it.entity.defName,it.entity.comment,';')}}\n /// \n {{=sqlSugartable}}\n public class {{=it.entity.defKey}}\n {\n {{~it.entity.fields:field:index}}\n /// \n /// {{=it.func.join(field.defName,field.comment,';')}}\n /// \n {{? field.primaryKey }}\n [SugarColumn(IsIdentity = true, IsPrimaryKey = true)]\n {{?}}\n public {{=field.type}} {{=it.func.camel(field.defKey,true)}}{ get; set; }\n $blankline\n {{~}}\n }\n}" }, { "applyFor": "895CFD1D-4273-4D32-A2C4-CAC70200AB5B", "type": "appCode", "Controller": "{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkDataType = \"String\";\n it.entity.fields.forEach(function(field){\n if(field.primaryKey){\n pkVarName = it.func.camel(field.defKey,false);\n pkDataType = field[\"type\"];\n return;\n }\n });\n \n var pkgName = it.entity.env.base.nameSpace;\n var beanClass = it.entity.env.base.codeRoot;\n var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n var serviceClass = beanClass+'Service';\n var serviceVarName= beanVarName+'Service';\n \n}}package {{=pkgName}}.controller;\n$blankline\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.PageRequest;\nimport org.springframework.http.ResponseEntity;\nimport org.springframework.web.bind.annotation.*;\nimport {{=pkgName}}.entity.{{=beanClass}};\nimport {{=pkgName}}.service.{{=serviceClass}};\n$blankline\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表控制层\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Api(tags = \"{{=it.entity.defName}}对象功能接口\")\n@RestController\n@RequestMapping(\"/{{=it.func.camel(it.entity.defKey,false)}}\")\npublic class {{=beanClass}}Controller{\n @Autowired\n private {{=serviceClass}} {{=serviceVarName}};\n $blankline\n /** \n * 通过ID查询单条数据 \n *\n * @param {{=pkVarName}} 主键\n * @return 实例对象\n */\n @Operation(summary = \"通过ID查询单条数据\")\n @GetMapping(\"{{{=it.func.camel(pkVarName,false)}}}\")\n public ResponseEntity<{{=beanClass}}> queryById({{=pkDataType}} {{=pkVarName}}){\n return ResponseEntity.ok({{=serviceVarName}}.queryById({{=pkVarName}}));\n }\n $blankline\n /** \n * 分页查询\n *\n * @param {{=beanVarName}} 筛选条件\n * @param pageRequest 分页对象\n * @return 查询结果\n */\n @Operation(summary = \"分页查询\")\n @GetMapping\n public ResponseEntity> paginQuery({{=beanClass}} {{=beanVarName}}, PageRequest pageRequest){\n return ResponseEntity.ok({{=serviceVarName}}.paginQuery({{=beanVarName}}, pageRequest));\n }\n $blankline\n /** \n * 新增数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 实例对象\n */\n @Operation(summary = \"新增数据\")\n @PostMapping\n public ResponseEntity<{{=beanClass}}> add({{=beanClass}} {{=beanVarName}}){\n return ResponseEntity.ok({{=serviceVarName}}.insert({{=beanVarName}}));\n }\n $blankline\n /** \n * 更新数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 实例对象\n */\n @Operation(summary = \"更新数据\")\n @PutMapping\n public ResponseEntity<{{=beanClass}}> edit({{=beanClass}} {{=beanVarName}}){\n return ResponseEntity.ok({{=serviceVarName}}.update({{=beanVarName}}));\n }\n $blankline\n /** \n * 通过主键删除数据\n *\n * @param {{=pkVarName}} 主键\n * @return 是否成功\n */\n @Operation(summary = \"通过主键删除数据\")\n @DeleteMapping\n public ResponseEntity deleteById({{=pkDataType}} {{=pkVarName}}){\n return ResponseEntity.ok({{=serviceVarName}}.deleteById({{=pkVarName}}));\n }\n}", "Service": "{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkDataType = \"String\";\n it.entity.fields.forEach(function(field){\n if(field.primaryKey){\n pkVarName = it.func.camel(field.defKey,false);\n pkDataType = field[\"type\"];\n return;\n }\n });\n \n var pkgName = it.entity.env.base.nameSpace;\n var beanClass = it.entity.env.base.codeRoot;\n var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n var serviceClass = beanClass+'Service';\n var serviceVarName= beanVarName+'Service';\n \n}}package {{=pkgName}}.service;\n$blankline\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.PageRequest;\nimport {{=pkgName}}.entity.{{=beanClass}};\n$blankline\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表服务接口\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\npublic interface {{=serviceClass}}{\n /** \n * 通过ID查询单条数据 \n *\n * @param {{=pkVarName}} 主键\n * @return 实例对象\n */\n {{=beanClass}} queryById({{=pkDataType}} {{=pkVarName}});\n \n /** \n * 分页查询\n *\n * @param {{=beanVarName}} 筛选条件\n * @param pageRequest 分页对象\n * @return 查询结果\n */\n Page<{{=beanClass}}> paginQuery({{=beanClass}} {{=beanVarName}}, PageRequest pageRequest);\n\n /** \n * 新增数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 实例对象\n */\n {{=beanClass}} insert({{=beanClass}} {{=beanVarName}});\n\n \n /** \n * 更新数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 实例对象\n */\n {{=beanClass}} update({{=beanClass}} {{=beanVarName}});\n\n /** \n * 通过主键删除数据\n *\n * @param {{=pkVarName}} 主键\n * @return 是否成功\n */\n boolean deleteById({{=pkDataType}} {{=pkVarName}});\n}", "ServiceImpl": "{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkVarNameU = \"UndefinedId\";\n var pkDataType = \"String\";\n it.entity.fields.forEach(function(field){\n if(field.primaryKey){\n pkVarName = it.func.camel(field.defKey,false);\n pkVarNameU = it.func.camel(field.defKey,true);\n pkDataType = field[\"type\"];\n return;\n }\n });\n \n var pkgName = it.entity.env.base.nameSpace;\n var beanClass = it.entity.env.base.codeRoot;\n var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n var serviceClass = beanClass+'Service';\n var serviceVarName= beanVarName+'Service';\n var mapperName = beanVarName+'Mapper';\n \n}}package {{=pkgName}}.service.impl;\n$blankline\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\nimport org.springframework.data.domain.Page;\nimport org.springframework.data.domain.PageImpl;\nimport org.springframework.data.domain.PageRequest;\nimport {{=pkgName}}.entity.{{=beanClass}};\nimport {{=pkgName}}.mapper.{{=beanClass}}Mapper;\nimport {{=pkgName}}.service.{{=serviceClass}};\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表服务实现类\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Service\npublic class {{=serviceClass}}Impl implements {{=serviceClass}}{\n @Autowired\n private {{=beanClass}}Mapper {{=mapperName}};\n $blankline\n /** \n * 通过ID查询单条数据 \n *\n * @param {{=pkVarName}} 主键\n * @return 实例对象\n */\n public {{=beanClass}} queryById({{=pkDataType}} {{=pkVarName}}){\n return {{=mapperName}}.queryById({{=pkVarName}});\n }\n $blankline\n /** \n * 分页查询\n *\n * @param {{=beanVarName}} 筛选条件\n * @param pageRequest 分页对象\n * @return 查询结果\n */\n public Page<{{=beanClass}}> paginQuery({{=beanClass}} {{=beanVarName}}, PageRequest pageRequest){\n long total = {{=mapperName}}.count({{=beanVarName}});\n return new PageImpl<>({{=mapperName}}.queryAllByLimit({{=beanVarName}}, pageRequest), pageRequest, total);\n }\n $blankline\n /** \n * 新增数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 实例对象\n */\n public {{=beanClass}} insert({{=beanClass}} {{=beanVarName}}){\n {{=mapperName}}.insert({{=beanVarName}});\n return {{=beanVarName}};\n }\n $blankline\n /** \n * 更新数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 实例对象\n */\n public {{=beanClass}} update({{=beanClass}} {{=beanVarName}}){\n {{=mapperName}}.update({{=beanVarName}});\n return queryById({{=beanVarName}}.get{{=pkVarNameU}}());\n }\n $blankline\n /** \n * 通过主键删除数据\n *\n * @param {{=pkVarName}} 主键\n * @return 是否成功\n */\n public boolean deleteById({{=pkDataType}} {{=pkVarName}}){\n int total = {{=mapperName}}.deleteById({{=pkVarName}});\n return total > 0;\n }\n}", "Mapper": "{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkDataType = \"String\";\n it.entity.fields.forEach(function(field){\n if(field.primaryKey){\n pkVarName = it.func.camel(field.defKey,false);\n pkDataType = field[\"type\"];\n return;\n }\n });\n \n var pkgName = it.entity.env.base.nameSpace;\n var beanClass = it.entity.env.base.codeRoot;\n var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n var serviceClass = beanClass+'Service';\n var serviceVarName= beanVarName+'Service';\n \n}}package {{=pkgName}}.mapper;\n$blankline\nimport java.util.List;\nimport org.apache.ibatis.annotations.Mapper;\nimport org.apache.ibatis.annotations.Param;\nimport org.springframework.data.domain.Pageable;\nimport {{=pkgName}}.entity.{{=beanClass}};\n$blankline\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表数据库访问层\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Mapper\npublic interface {{=beanClass}}Mapper{\n /** \n * 通过ID查询单条数据 \n *\n * @param {{=pkVarName}} 主键\n * @return 实例对象\n */\n {{=beanClass}} queryById({{=pkDataType}} {{=pkVarName}});\n \n /** \n * 分页查询指定行数据\n *\n * @param {{=beanVarName}} 查询条件\n * @param pageable 分页对象\n * @return 对象列表\n */\n List<{{=beanClass}}> queryAllByLimit({{=beanClass}} {{=beanVarName}}, @Param(\"pageable\") Pageable pageable);\n\n /** \n * 统计总行数\n *\n * @param {{=beanVarName}} 查询条件\n * @return 总行数\n */\n long count({{=beanClass}} {{=beanVarName}});\n\n /** \n * 新增数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 影响行数\n */\n int insert({{=beanClass}} {{=beanVarName}});\n\n /** \n * 批量新增数据\n *\n * @param entities List<{{=beanClass}}> 实例对象列表\n * @return 影响行数\n */\n int insertBatch(@Param(\"entities\") List<{{=beanClass}}> entities);\n \n /** \n * 批量新增或按主键更新数据\n *\n * @param entities List<{{=beanClass}}> 实例对象列表\n * @return 影响行数\n */\n int insertOrUpdateBatch(@Param(\"entities\") List<{{=beanClass}}> entities);\n \n /** \n * 更新数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 影响行数\n */\n int update({{=beanClass}} {{=beanVarName}});\n\n /** \n * 通过主键删除数据\n *\n * @param {{=pkVarName}} 主键\n * @return 影响行数\n */\n int deleteById({{=pkDataType}} {{=pkVarName}});\n}", "Mapper.xml": "{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkDataType = \"String\";\n var pkField = \"UNDEFINED_ID\";\n it.entity.fields.forEach(function(field){\n if(field.primaryKey){\n pkField = field.defKey;\n pkVarName = it.func.camel(field.defKey,false);\n pkDataType = field[\"type\"];\n return;\n }\n });\n \n var pkgName = it.entity.env.base.nameSpace;\n var beanClass = it.entity.env.base.codeRoot;\n var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n var serviceClass = beanClass+'Service';\n var serviceVarName= beanVarName+'Service';\n \n}}\n\n\n \n {{~it.entity.fields:field:index}}\n \n {{~}}\n \n $blankline\n \n \n $blankline\n \n \n $blankline\n \n \n $blankline\n \n \n insert into {{=it.entity.defKey}}({{=it.entity.fields.map(function(e,i){return e.defKey}).join(',')}})\n values ({{=it.entity.fields.map(function(e,i){return '#{'+it.func.camel(e.defKey,false)+'}'}).join(',')}})\n \n $blankline\n \n \n insert into {{=it.entity.defKey}}({{=it.entity.fields.map(function(e,i){return e.defKey}).join(',')}})\n values\n \n ({{=it.entity.fields.map(function(e,i){return '#{entity.'+it.func.camel(e.defKey,false)+'}'}).join(',')}})\n \n \n $blankline\n \n \n insert into {{=it.entity.defKey}}({{=it.entity.fields.map(function(e,i){return e.defKey}).join(',')}})\n values\n \n ({{=it.entity.fields.map(function(e,i){return '#{entity.'+it.func.camel(e.defKey,false)+'}'}).join(',')}})\n \n on duplicate key update\n {{=it.entity.fields.map(function(e,i){return e.defKey + '=values('+e.defKey+')'}).join(',\\n\\t\\t')}}\n \n $blankline\n \n \n update {{=it.entity.defKey}}\n \n {{~it.entity.fields:field:index}}\n \n {{=field.defKey}} = #{{{=it.func.camel(field.defKey,false)}}},\n \n {{~}}\n \n where {{=pkField}} = #{{{=pkVarName}}}\n \n $blankline\n \n \n delete from {{=it.entity.defKey}} where {{=pkField}} = #{{{=pkVarName}}}\n \n\n\n", "Entity": "{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkDataType = \"String\";\n it.entity.fields.forEach(function(field){\n if(field.primaryKey){\n pkVarName = it.func.camel(field.defKey,false);\n pkDataType = field[\"type\"];\n return;\n }\n });\n \n var pkgName = it.entity.env.base.nameSpace;\n var beanClass = it.entity.env.base.codeRoot;\n var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n var serviceClass = beanClass+'Service';\n var serviceVarName= beanVarName+'Service';\n \n}}package {{=pkgName}}.entity;\n$blankline\nimport io.swagger.annotations.ApiModel;\nimport io.swagger.annotations.ApiModelProperty;\nimport java.io.Serializable;\nimport java.util.Date;\n$blankline\n\n /**\n * {{=it.entity.defName}};{{=it.entity.comment}}\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Schema(value = \"{{=it.entity.defName}}\",description = \"{{=it.entity.comment}}\")\npublic class {{=beanClass}} implements Serializable,Cloneable{\n{{~it.entity.fields:field:index}}\n /** {{=it.func.join(field.defName,field.comment,';')}} */\n @Schema(description = name = \"{{=field.defName}}\",notes = \"{{=field.comment}}\")\n private {{=field.type}} {{=it.func.camel(field.defKey,false)}} ;\n{{~}}\n$blankline\n\n{{~it.entity.fields:field:index}}\n /** {{=it.func.join(field.defName,field.comment,';')}} */\n public {{=field.type}} get{{=it.func.camel(field.defKey,true)}}(){\n return this.{{=it.func.camel(field.defKey,false)}};\n }\n /** {{=it.func.join(field.defName,field.comment,';')}} */\n public void set{{=it.func.camel(field.defKey,true)}}({{=field.type}} {{= it.func.camel(field.defKey,false) }}){\n this.{{=it.func.camel(field.defKey,false)}}={{=it.func.camel(field.defKey,false)}};\n }\n{{~}}\n}" }, { "applyFor": "A2EE7B4A-CE62-4290-B00C-B26C1BF18073", "type": "appCode", "Controller": "{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkDataType = \"String\";\n it.entity.fields.forEach(function(field){\n if(field.primaryKey){\n pkVarName = it.func.camel(field.defKey,false);\n pkDataType = field[\"type\"];\n return;\n }\n });\n \n var pkgName = it.entity.env.base.nameSpace;\n var beanClass = it.entity.env.base.codeRoot;\n var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n var serviceClass = beanClass+'Service';\n var serviceVarName= beanVarName+'Service';\n \n}}package {{=pkgName}}.controller;\n$blankline\nimport java.util.List;\nimport io.swagger.annotations.Api;\nimport io.swagger.annotations.ApiOperation;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.data.domain.PageImpl;\nimport org.springframework.data.domain.PageRequest;\nimport org.springframework.http.ResponseEntity;\nimport org.springframework.web.bind.annotation.*;\nimport {{=pkgName}}.entity.{{=beanClass}};\nimport {{=pkgName}}.service.{{=serviceClass}};\n$blankline\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表控制层\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Api(tags = \"{{=it.entity.defName}}对象功能接口\")\n@RestController\n@RequestMapping(\"/{{=it.func.camel(it.entity.defKey,false)}}\")\npublic class {{=beanClass}}Controller{\n @Autowired\n private {{=serviceClass}} {{=serviceVarName}};\n $blankline\n /** \n * 通过ID查询单条数据 \n *\n * @param {{=pkVarName}} 主键\n * @return 实例对象\n */\n @Operation(summary = \"通过ID查询单条数据\")\n @GetMapping(\"{{{=it.func.camel(pkVarName,false)}}}\")\n public ResponseEntity<{{=beanClass}}> queryById({{=pkDataType}} {{=pkVarName}}){\n return ResponseEntity.ok({{=serviceVarName}}.queryById({{=pkVarName}}));\n }\n $blankline\n /** \n * 分页查询\n *\n * @param {{=beanVarName}} 筛选条件\n * @param pageRequest 分页对象\n * @return 查询结果\n */\n @Operation(summary = \"分页查询\")\n @GetMapping\n public ResponseEntity> paginQuery({{=beanClass}} {{=beanVarName}}, PageRequest pageRequest){\n //1.分页参数\n long current = pageRequest.getPageNumber();\n long size = pageRequest.getPageSize();\n\n //2.分页查询\n /*把Mybatis的分页对象做封装转换,MP的分页对象上有一些SQL敏感信息,还是通过spring的分页模型来封装数据吧*/\n com.baomidou.mybatisplus.extension.plugins.pagination.Page<{{=beanClass}}> pageResult = {{=serviceVarName}}.paginQuery({{=beanVarName}}, current,size);\n\n //3. 分页结果组装\n List<{{=beanClass}}> dataList = pageResult.getRecords();\n long total = pageResult.getTotal();\n PageImpl<{{=beanClass}}> retPage = new PageImpl<{{=beanClass}}>(dataList,pageRequest,total);\n return ResponseEntity.ok(retPage);\n }\n $blankline\n /** \n * 新增数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 实例对象\n */\n @Operation(summary = \"新增数据\")\n @PostMapping\n public ResponseEntity<{{=beanClass}}> add({{=beanClass}} {{=beanVarName}}){\n return ResponseEntity.ok({{=serviceVarName}}.insert({{=beanVarName}}));\n }\n $blankline\n /** \n * 更新数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 实例对象\n */\n @Operation(summary = \"更新数据\")\n @PutMapping\n public ResponseEntity<{{=beanClass}}> edit({{=beanClass}} {{=beanVarName}}){\n return ResponseEntity.ok({{=serviceVarName}}.update({{=beanVarName}}));\n }\n $blankline\n /** \n * 通过主键删除数据\n *\n * @param {{=pkVarName}} 主键\n * @return 是否成功\n */\n @Operation(summary = \"通过主键删除数据\")\n @DeleteMapping\n public ResponseEntity deleteById({{=pkDataType}} {{=pkVarName}}){\n return ResponseEntity.ok({{=serviceVarName}}.deleteById({{=pkVarName}}));\n }\n}", "Service": "{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkDataType = \"String\";\n it.entity.fields.forEach(function(field){\n if(field.primaryKey){\n pkVarName = it.func.camel(field.defKey,false);\n pkDataType = field[\"type\"];\n return;\n }\n });\n \n var pkgName = it.entity.env.base.nameSpace;\n var beanClass = it.entity.env.base.codeRoot;\n var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n var serviceClass = beanClass+'Service';\n var serviceVarName= beanVarName+'Service';\n \n}}package {{=pkgName}}.service;\n$blankline\nimport com.baomidou.mybatisplus.extension.plugins.pagination.Page;\nimport {{=pkgName}}.entity.{{=beanClass}};\n$blankline\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表服务接口\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\npublic interface {{=serviceClass}}{\n $blankline\n /** \n * 通过ID查询单条数据 \n *\n * @param {{=pkVarName}} 主键\n * @return 实例对象\n */\n {{=beanClass}} queryById({{=pkDataType}} {{=pkVarName}});\n $blankline\n /**\n * 分页查询\n *\n * @param {{=beanVarName}} 筛选条件\n * @param current 当前页码\n * @param size 每页大小\n * @return\n */\n Page<{{=beanClass}}> paginQuery({{=beanClass}} {{=beanVarName}}, long current, long size);\n\n /** \n * 新增数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 实例对象\n */\n {{=beanClass}} insert({{=beanClass}} {{=beanVarName}});\n\n \n /** \n * 更新数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 实例对象\n */\n {{=beanClass}} update({{=beanClass}} {{=beanVarName}});\n\n /** \n * 通过主键删除数据\n *\n * @param {{=pkVarName}} 主键\n * @return 是否成功\n */\n boolean deleteById({{=pkDataType}} {{=pkVarName}});\n}", "ServiceImpl": "{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkVarNameU = \"UndefinedId\";\n var pkFieldKey = \"UNDEFINED\";\n var pkDataType = \"String\";\n it.entity.fields.forEach(function(field){\n if(field.primaryKey){\n pkFieldKey = field.defKey;\n pkVarName = it.func.camel(field.defKey,false);\n pkVarNameU = it.func.camel(field.defKey,true);\n pkDataType = field[\"type\"];\n return;\n }\n });\n \n var pkgName = it.entity.env.base.nameSpace;\n var beanClass = it.entity.env.base.codeRoot;\n var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n var serviceClass = beanClass+'Service';\n var serviceVarName= beanVarName+'Service';\n var mapperName = beanVarName+'Mapper';\n \n}}package {{=pkgName}}.service.impl;\n$blankline\nimport cn.hutool.core.util.StrUtil;\nimport org.springframework.beans.factory.annotation.Autowired;\nimport org.springframework.stereotype.Service;\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport com.baomidou.mybatisplus.extension.plugins.pagination.Page;\nimport com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;\nimport com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;\n\nimport {{=pkgName}}.entity.{{=beanClass}};\nimport {{=pkgName}}.mapper.{{=beanClass}}Mapper;\nimport {{=pkgName}}.service.{{=serviceClass}};\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表服务实现类\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Service\npublic class {{=serviceClass}}Impl implements {{=serviceClass}}{\n @Autowired\n private {{=beanClass}}Mapper {{=mapperName}};\n $blankline\n /** \n * 通过ID查询单条数据 \n *\n * @param {{=pkVarName}} 主键\n * @return 实例对象\n */\n public {{=beanClass}} queryById({{=pkDataType}} {{=pkVarName}}){\n return {{=mapperName}}.selectById({{=pkVarName}});\n }\n $blankline\n /**\n * 分页查询\n *\n * @param {{=beanVarName}} 筛选条件\n * @param current 当前页码\n * @param size 每页大小\n * @return\n */\n public Page<{{=beanClass}}> paginQuery({{=beanClass}} {{=beanVarName}}, long current, long size){\n //1. 构建动态查询条件\n LambdaQueryWrapper<{{=beanClass}}> queryWrapper = new LambdaQueryWrapper<>();\n {{~it.entity.fields.filter(function(e){return e[\"type\"]===\"String\"&&e.defKey !== pkFieldKey}):field:index}}\n if(StrUtil.isNotBlank({{=beanVarName}}.get{{=it.func.camel(field.defKey,true)}}())){\n queryWrapper.eq({{=beanClass}}::get{{=it.func.camel(field.defKey,true)}}, {{=beanVarName}}.get{{=it.func.camel(field.defKey,true)}}());\n }\n {{~}}\n\n //2. 执行分页查询\n Page<{{=beanClass}}> pagin = new Page<>(current , size , true);\n IPage<{{=beanClass}}> selectResult = {{=mapperName}}.selectByPage(pagin , queryWrapper);\n pagin.setPages(selectResult.getPages());\n pagin.setTotal(selectResult.getTotal());\n pagin.setRecords(selectResult.getRecords());\n\n //3. 返回结果\n return pagin;\n }\n $blankline\n /** \n * 新增数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 实例对象\n */\n public {{=beanClass}} insert({{=beanClass}} {{=beanVarName}}){\n {{=mapperName}}.insert({{=beanVarName}});\n return {{=beanVarName}};\n }\n $blankline\n /** \n * 更新数据\n *\n * @param {{=beanVarName}} 实例对象\n * @return 实例对象\n */\n public {{=beanClass}} update({{=beanClass}} {{=beanVarName}}){\n //1. 根据条件动态更新\n LambdaUpdateChainWrapper<{{=beanClass}}> chainWrapper = new LambdaUpdateChainWrapper<{{=beanClass}}>({{=mapperName}});\n {{~it.entity.fields.filter(function(e){return e[\"type\"]===\"String\"&&e.defKey !== pkFieldKey}):field:index}}\n if(StrUtil.isNotBlank({{=beanVarName}}.get{{=it.func.camel(field.defKey,true)}}())){\n chainWrapper.eq({{=beanClass}}::get{{=it.func.camel(field.defKey,true)}}, {{=beanVarName}}.get{{=it.func.camel(field.defKey,true)}}());\n }\n {{~}}\n //2. 设置主键,并更新\n chainWrapper.set({{=beanClass}}::get{{=pkVarNameU}}, {{=beanVarName}}.get{{=pkVarNameU}}());\n boolean ret = chainWrapper.update();\n //3. 更新成功了,查询最最对象返回\n if(ret){\n return queryById({{=beanVarName}}.get{{=pkVarNameU}}());\n }else{\n return {{=beanVarName}};\n }\n }\n $blankline\n /** \n * 通过主键删除数据\n *\n * @param {{=pkVarName}} 主键\n * @return 是否成功\n */\n public boolean deleteById({{=pkDataType}} {{=pkVarName}}){\n int total = {{=mapperName}}.deleteById({{=pkVarName}});\n return total > 0;\n }\n}", "Mapper": "{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkDataType = \"String\";\n it.entity.fields.forEach(function(field){\n if(field.primaryKey){\n pkVarName = it.func.camel(field.defKey,false);\n pkDataType = field[\"type\"];\n return;\n }\n });\n \n var pkgName = it.entity.env.base.nameSpace;\n var beanClass = it.entity.env.base.codeRoot;\n var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n var serviceClass = beanClass+'Service';\n var serviceVarName= beanVarName+'Service';\n \n}}package {{=pkgName}}.mapper;\n$blankline\n\nimport com.baomidou.mybatisplus.core.conditions.Wrapper;\nimport com.baomidou.mybatisplus.core.mapper.BaseMapper;\nimport com.baomidou.mybatisplus.core.metadata.IPage;\nimport com.baomidou.mybatisplus.core.toolkit.Constants;\nimport org.apache.ibatis.annotations.Mapper;\nimport org.apache.ibatis.annotations.Param;\nimport {{=pkgName}}.entity.{{=beanClass}};\n$blankline\n\n /**\n * {{=it.entity.defName}};({{=it.entity.defKey}})表数据库访问层\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Mapper\npublic interface {{=beanClass}}Mapper extends BaseMapper<{{=beanClass}}>{\n /** \n * 分页查询指定行数据\n *\n * @param page 分页参数\n * @param wrapper 动态查询条件\n * @return 分页对象列表\n */\n IPage<{{=beanClass}}> selectByPage(IPage<{{=beanClass}}> page , @Param(Constants.WRAPPER) Wrapper<{{=beanClass}}> wrapper);\n}", "Mapper.xml": "{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkDataType = \"String\";\n var pkField = \"UNDEFINED_ID\";\n it.entity.fields.forEach(function(field){\n if(field.primaryKey){\n pkField = field.defKey;\n pkVarName = it.func.camel(field.defKey,false);\n pkDataType = field[\"type\"];\n return;\n }\n });\n \n var pkgName = it.entity.env.base.nameSpace;\n var beanClass = it.entity.env.base.codeRoot;\n var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n var serviceClass = beanClass+'Service';\n var serviceVarName= beanVarName+'Service';\n \n}}\n\n$blankline\n\n\n \n\n\n", "Entity": "{{ var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1;\n var days=today.getDate();\n \n var pkVarName = \"undefinedId\";\n var pkDataType = \"String\";\n it.entity.fields.forEach(function(field){\n if(field.primaryKey){\n pkVarName = it.func.camel(field.defKey,false);\n pkDataType = field[\"type\"];\n return;\n }\n });\n \n var pkgName = it.entity.env.base.nameSpace;\n var beanClass = it.entity.env.base.codeRoot;\n var beanVarName = beanClass.charAt(0).toLowerCase()+beanClass.slice(1);\n var serviceClass = beanClass+'Service';\n var serviceVarName= beanVarName+'Service';\n \n}}package {{=pkgName}}.entity;\n$blankline\nimport io.swagger.annotations.ApiModel;\nimport io.swagger.annotations.ApiModelProperty;\nimport com.baomidou.mybatisplus.annotation.TableName;\nimport com.baomidou.mybatisplus.annotation.TableId;\nimport java.io.Serializable;\nimport java.util.Date;\n$blankline\n\n /**\n * {{=it.entity.defName}};{{=it.entity.comment}}\n * @author : http://www.chiner.pro\n * @date : {{=fullYear}}-{{=month}}-{{=days}}\n */\n@Schema(value = \"{{=it.entity.defName}}\",description = \"{{=it.entity.comment}}\")\n@TableName(\"{{=it.entity.defKey}}\")\npublic class {{=beanClass}} implements Serializable,Cloneable{\n{{~it.entity.fields:field:index}}\n /** {{=it.func.join(field.defName,field.comment,';')}} */\n @Schema(description = name = \"{{=field.defName}}\",notes = \"{{=field.comment}}\")\n {{? field.primaryKey }}\n @TableId\n {{?}}\n private {{=field.type}} {{=it.func.camel(field.defKey,false)}} ;\n{{~}}\n$blankline\n\n{{~it.entity.fields:field:index}}\n /** {{=it.func.join(field.defName,field.comment,';')}} */\n public {{=field.type}} get{{=it.func.camel(field.defKey,true)}}(){\n return this.{{=it.func.camel(field.defKey,false)}};\n }\n /** {{=it.func.join(field.defName,field.comment,';')}} */\n public void set{{=it.func.camel(field.defKey,true)}}({{=field.type}} {{= it.func.camel(field.defKey,false) }}){\n this.{{=it.func.camel(field.defKey,false)}}={{=it.func.camel(field.defKey,false)}};\n }\n{{~}}\n}" }, { "applyFor": "29D1CE08-4C35-4D2D-AAA9-23D93305B52E", "type": "dbDDL", "createTable": "DROP TABLE IF EXISTS {{=it.entity.defKey}};\nCREATE TABLE {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n {{=field.defKey}} {{=field.dbType}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'AUTO_INCREMENT' : '' }} {{= field.defaultValue ? it.func.join('DEFAULT',field.defaultValue,' ') : '' }} COMMENT '{{=it.func.join(field.defName,field.comment,';')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i'+(after.defKey||'NULL'));\n }\n if(before.defName !== after.defName){\n ret.push('显示名称:'+(before.defName||'NULL')+'->'+(after.defName||'NULL'));\n }\n if(before.comment !== after.comment){\n ret.push('说明:'+(before.comment||'NULL')+'->'+(after.comment||'NULL'));\n }\n if(ret.length>0){\n return ' 基本信息:\\n\\t'+ret.join('\\n\\t');\n }\n return '';\n };\n \n function buildAddedDesc(entity){\n let ret = [];\n let fieldAdded = entity.data.fieldAdded||[];\n \n for (let field of fieldAdded) { \n let row = [];\n row.push(field.defKey+'['+field.defName+']');\n ret.push(row.join(\"\"))\n }\n return ret;\n };\n \n function buildRemovedDesc(entity){\n let ret = [];\n let fieldRemoved = entity.data.fieldRemoved||[];\n \n for (let field of fieldRemoved) { \n let row = [];\n row.push(field.defKey+'['+field.defName+']');\n ret.push(row.join(\"\"))\n }\n return ret;\n };\n \n function buildModifiedDesc(entity){\n let ret = [];\n let fieldModified = entity.data.fieldModified||[];\n \n for (let field1 of fieldModified) { \n let row = [];\n let field = field1.before;\n row.push(field.defKey+'['+field.defName+']');\n ret.push(row.join(\"\"))\n }\n return ret;\n };\n}}\n\n\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n{{? modifyEntities && modifyEntities.length > 0}}\n/* --------------- 修改表 --------------- */\n{{~ modifyEntities:entity}}\n{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]{{let changeText=baseChanged(entity.data.baseChanged);}}\n{{=baseChanged(entity.data.baseChanged)}}\n {{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n 修改字段:\n {{='\\t'}}{{=buildModifiedDesc(entity).join('\\n\\t')}}{{?}}{{\n /*计算是否调整了属性*/\n let propAdded = entity.data.propAdded || [];\n let propRemoved = entity.data.propRemoved || [];\n let propModified = entity.data.propModified || [];\n let changed = propAdded.length>0 || propRemoved.length>0 || propModified.length>0;\n /*计算关联是否调整*/\n let refEntityAdd = entity.data.refEntityAdd || [];\n let refEntityRemoved = entity.data.refEntityRemoved || [];\n let relaArray = [];\n for (let rela of refEntityAdd) {\n relaArray.push('建立关联:'+rela.defKey+'['+rela.defName+']');\n }\n for (let rela of refEntityRemoved) {\n relaArray.push('解除关联:'+rela.defKey+'['+rela.defName+']');\n }\n /*索引是否修改过*/\n let indexChanged = entity.data.indexChanged;\n }}{{=indexChanged?'\\n\\t更改了索引':''}}{{=changed?'\\n\\t更改了属性':''}}{{=relaArray.length>0?('\\n\\t'+relaArray.join('\\n\\t')):''}}\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n 添加字段:\n{{='\\t'}}{{=buildAddedDesc(entity).join('\\n\\t')}}\n{{?}}{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n 删除字段:\n{{='\\t'}}{{=buildRemovedDesc(entity).join('\\n\\t')}}\n{{?}}\n{{~}}\n{{?}}\n", "update": "{{\n let createEntities = it.changes.filter(function(row){return (row.opt==='add'&&row['type']==='entity');});\n let dropEntities = it.changes.filter(function(row){return (row.opt==='delete'&&row['type']==='entity');});\n let modifyEntities = it.changes.filter(function(row){return (row.opt==='update'&&row['type']==='entity');});\n \n function baseChangedDDL(beforeAfter){\n if(beforeAfter == null){\n return '';\n }\n let ret = [];\n let before = beforeAfter.before || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n let after = beforeAfter.after || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n if(before.defKey !== after.defKey){\n ret.push('ALTER TABLE '+before.defKey+' RENAME TO '+after.defKey);\n }\n let commentText = '';\n let commentChanged = false;\n if(before.defName !== after.defName){\n commentText = after.defName;\n commentChanged = true;\n }\n if(before.comment !== after.comment){\n commentChanged = true;\n if(commentText){\n commentText = (commentText+ ';'+after.comment)\n }else{\n commentText = after.comment\n }\n }\n if(commentChanged){\n ret.push('ALTER TABLE '+after.defKey+' COMMENT \\''+commentText+'\\'');\n }\n let baseText = '-- 基本信息:\\n';\n return baseText+ret.join(';\\n')+';';\n };\n \n function buildAddedDDL(entity){\n let ret = [];\n let fieldAdded = entity.data.fieldAdded||[];\n if(fieldAdded.length == 0){\n return '';\n }\n \n let firstDDL = 'ALTER TABLE '+entity.data.baseInfo.defKey;\n for (let field of fieldAdded) { \n let ddlItem = 'ADD COLUMN '+field.defKey+' '+field.dbType;\n /*处理数据类型长度*/\n if(field.len>0){\n ddlItem += ('('+field.len);\n if(parseInt(field.scale)>0){\n ddlItem += (','+field.scale);\n }\n ddlItem += ')';\n }\n if(field.notNull){\n ddlItem += ' NOT NULL';\n }\n if(field.autoIncrement){\n ddlItem += ' AUTO_INCREMENT';\n }\n if(field.defaultValue){\n ddlItem += (' DEFAULT' + field.defaultValue);\n }\n ddlItem += (' COMMENT \\''+field.defName+';'+field.comment+'\\'');\n \n if(field.index>0 && field.afterFieldKey){\n ddlItem += (' AFTER '+field.afterFieldKey);\n }\n ret.push(ddlItem);\n }\n return firstDDL+'\\n'+ret.join(',\\n');\n };\n \n function buildRemovedDDL(entity){\n let ret = [];\n let fieldRemoved = entity.data.fieldRemoved||[];\n if(fieldRemoved.length == 0){\n return '';\n }\n \n let firstDDL = 'ALTER TABLE '+entity.data.baseInfo.defKey;\n for (let field of fieldRemoved) { \n ret.push('DROP '+field.defKey);\n }\n return firstDDL+'\\n'+ret.join(',\\n');\n };\n \n function buildModifiedDDL(entity){\n let ret = [];\n let fieldModified = entity.data.fieldModified||[];\n \n let firstDDL = 'ALTER TABLE '+entity.data.baseInfo.defKey;\n for (let field of fieldModified) { \n let changeDDL = '';\n let before = field.before || {};\n let after = field.after || {};\n if(before.defKey === after.defKey){\n changeDDL += (' MODIFY COLUMN '+after.defKey);\n }else{\n changeDDL += (' CHANGE COLUMN '+before.defKey+' '+after.defKey);\n }\n changeDDL += (' '+after.dbType);\n if(after.len>0){\n changeDDL += ('('+after.len);\n if(parseInt(after.scale)>0){\n changeDDL += (','+after.scale);\n }\n changeDDL += ')';\n }\n if(after.notNull){\n changeDDL += ' NOT NULL';\n }\n let defaultValue = '';\n if(after.defaultValue != null && after.defaultValue.length>0){\n defaultValue = (after.defaultValue);\n }else{\n defaultValue = 'NULL';\n }\n changeDDL += (' DEFAULT ' + defaultValue);\n let comment = after.comment||'';\n changeDDL += (' COMMENT \\''+comment+'\\';');\n ret.push(firstDDL+' '+changeDDL);\n }\n return ret;\n };\n}}\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=it.func.createDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=it.func.dropDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? modifyEntities && modifyEntities.length > 0}}\n{{~ modifyEntities:entity}}\n/* --------------- 修改表 --------------- */\n-- 修改表:{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]\n{{=baseChangedDDL(entity.data.baseChanged)}}\n{{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n-- 修改字段:\n{{=buildModifiedDDL(entity).join('\\n')}}\n{{?}}{{\n/*索引是否修改过*/\nlet indexChanged = entity.data.indexChanged;\n}}\n{{? indexChanged }}\n{{=it.func.indexRebuildDDL(entity.data.baseInfo,entity.data.newIndexes,entity.data.fullFields,entity['type'])}}\n{{?}}\n\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n-- 添加字段:\n{{=buildAddedDDL(entity)}};\n{{?}}\n\n{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n-- 删除字段:\n{{=buildRemovedDDL(entity)}};\n{{?}}\n{{~}}\n{{?}}" }, { "applyFor": "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542", "type": "dbDDL", "createTable": "CREATE TABLE {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n \"{{=field.defKey}}\" {{=field.type}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}}{{= field.defaultValue ? it.func.join(' DEFAULT ',field.defaultValue,' ') : '' }}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.autoIncrement ? '' : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i'+(after.defKey||'NULL'));\n }\n if(before.defName !== after.defName){\n ret.push('显示名称:'+(before.defName||'NULL')+'->'+(after.defName||'NULL'));\n }\n if(before.comment !== after.comment){\n ret.push('说明:'+(before.comment||'NULL')+'->'+(after.comment||'NULL'));\n }\n if(ret.length>0){\n return ' 基本信息:\\n\\t'+ret.join('\\n\\t');\n }\n return '';\n };\n \n function buildAddedDesc(entity){\n let ret = [];\n let fieldAdded = entity.data.fieldAdded||[];\n \n for (let field of fieldAdded) { \n let row = [];\n row.push(field.defKey+'['+field.defName+']');\n ret.push(row.join(\"\"))\n }\n return ret;\n };\n \n function buildRemovedDesc(entity){\n let ret = [];\n let fieldRemoved = entity.data.fieldRemoved||[];\n \n for (let field of fieldRemoved) { \n let row = [];\n row.push(field.defKey+'['+field.defName+']');\n ret.push(row.join(\"\"))\n }\n return ret;\n };\n \n function buildModifiedDesc(entity){\n let ret = [];\n let fieldModified = entity.data.fieldModified||[];\n \n for (let field1 of fieldModified) { \n let row = [];\n let field = field1.before;\n row.push(field.defKey+'['+field.defName+']');\n ret.push(row.join(\"\"))\n }\n return ret;\n };\n}}\n{{? createEntities && createEntities.length > 0}}\n/* -------------------------------------------------- */\n创建表:\n{{~ createEntities:entity}}\n {{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* -------------------------------------------------- */\n删除表:\n{{~ dropEntities:entity}}\n {{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n\n{{? modifyEntities && modifyEntities.length > 0}}\n{{~ modifyEntities:entity}}\n/* -------------------------------------------------- */\n修改表:{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]{{let changeText=baseChanged(entity.data.baseChanged);}}\n{{=baseChanged(entity.data.baseChanged)}}\n {{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n 添加字段:\n {{='\\t'}}{{=buildAddedDesc(entity).join('\\n\\t')}}\n {{?}}{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n 删除字段:\n {{='\\t'}}{{=buildRemovedDesc(entity).join('\\n\\t')}}\n {{?}}{{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n 修改字段:\n {{='\\t'}}{{=buildModifiedDesc(entity).join('\\n\\t')}}\n {{?}}{{\n /*计算是否调整了属性*/\n let propAdded = entity.data.propAdded || [];\n let propRemoved = entity.data.propRemoved || [];\n let propModified = entity.data.propModified || [];\n let changed = propAdded.length>0 || propRemoved.length>0 || propModified.length>0;\n /*计算关联是否调整*/\n let refEntityAdd = entity.data.refEntityAdd || [];\n let refEntityRemoved = entity.data.refEntityRemoved || [];\n let relaArray = [];\n for (let rela of refEntityAdd) {\n relaArray.push('\\n\\t建立关联:'+rela.defKey+'['+rela.defName+']');\n }\n for (let rela of refEntityRemoved) {\n relaArray.push('\\n\\t解除关联:'+rela.defKey+'['+rela.defName+']');\n }\n /*索引是否修改过*/\n let indexChanged = entity.data.indexChanged;\n }}\n{{=indexChanged?'\\n\\t更改了索引':''}}\n{{=changed?'\\n\\t更改了属性':''}}\n{{=relaArray.length>0?relaArray.join(''):''}}\n{{~}}\n{{?}}", "update": "{{\n let createEntities = it.changes.filter(function(row){return (row.opt==='add'&&row['type']==='entity');});\n let dropEntities = it.changes.filter(function(row){return (row.opt==='delete'&&row['type']==='entity');});\n let modifyEntities = it.changes.filter(function(row){return (row.opt==='update'&&row['type']==='entity');});\n \n function baseChangedDDL(beforeAfter){\n if(beforeAfter == null){\n return '';\n }\n let ret = [];\n let before = beforeAfter.before || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n let after = beforeAfter.after || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n if(before.defKey !== after.defKey){\n ret.push(`ALTER TABLE ${before.defKey} RENAME TO ${after.defKey}`);\n }\n let commentText = '';\n let commentChanged = false;\n if(before.defName !== after.defName){\n commentText = after.defName;\n commentChanged = true;\n }\n if(before.comment !== after.comment){\n commentChanged = true;\n if(commentText){\n commentText = (commentText+ ';'+after.comment)\n }else{\n commentText = after.comment\n }\n }\n if(commentChanged){\n let myText = `COMMENT ON TABLE ${after.defKey} IS '${commentText}'`;\n ret.push(myText);\n }\n let baseText = '-- 基本信息:\\n';\n return baseText+ret.join(';\\n')+';';\n };\n \n function buildAddedDDL(entity){\n let ret = [];\n let fieldAdded = entity.data.fieldAdded||[];\n if(fieldAdded.length == 0){\n return '';\n }\n \n let firstDDL = `ALTER TABLE ${entity.data.baseInfo.defKey}`;\n for (let field of fieldAdded) { \n let ddlItem = `ADD (${field.defKey} ${field.dbType}`;\n /*处理数据类型长度*/\n if(field.len>0){\n ddlItem += ('('+field.len);\n if(parseInt(field.scale)>0){\n ddlItem += (','+field.scale);\n }\n ddlItem += ')';\n }\n let defaultValue = field.defaultValue;\n defaultValue = (defaultValue==null)?\"\":(\"\"+defaultValue);\n if(defaultValue.length>0){\n ddlItem += (' DEFAULT ' + defaultValue);\n }\n if(field.notNull){\n ddlItem += ' NOT NULL';\n }\n ddlItem += ')';\n ret.push(`${firstDDL} ${ddlItem}`);\n \n /*处理字段注释*/\n let fieldComments = [];\n if(field.defName != null &&field.defName.length>0){\n fieldComments.push(field.defName);\n }\n if(field.comment != null &&field.comment.length>0){\n fieldComments.push(field.comment);\n }\n let commentText = fieldComments.join(';');\n if(commentText != null && commentText.length > 0){\n let commentDDL = `COMMENT ON COLUMN ${entity.data.baseInfo.defKey}.${field.defKey} IS '${commentText}'`;\n ret.push(commentDDL);\n }\n }\n return '\\n'+ret.join(';\\n');\n };\n \n function buildRemovedDDL(entity){\n let ret = [];\n let fieldRemoved = entity.data.fieldRemoved||[];\n if(fieldRemoved.length == 0){\n return '';\n }\n \n let firstDDL = `ALTER TABLE ${entity.data.baseInfo.defKey}`;\n for (let field of fieldRemoved) { \n ret.push(`${firstDDL} DROP COLUMN ${field.defKey}`);\n }\n return '\\n'+ret.join(';\\n');\n };\n \n function buildModifiedDDL(entity){\n let ret = [];\n let fieldModified = entity.data.fieldModified||[];\n \n let firstDDL = `ALTER TABLE ${entity.data.baseInfo.defKey}`;\n for (let field of fieldModified) { \n let changeDDL = '';\n let before = field.before || {};\n let after = field.after || {};\n if(before.defKey !== after.defKey){\n let renameText = `ALTER TABLE ${entity.data.baseInfo.defKey} RENAME COLUMN ${before.defKey} TO ${after.defKey};`;\n ret.push(renameText);\n }\n /*如果没有变化,则不生成变更语句*/\n if(before.dbType === after.dbType \n && before['len'] === after['len'] \n && before.scale === after.scale\n && before.primaryKey === after.primaryKey\n && before.notNull === after.notNull\n && before.autoIncrement === after.autoIncrement\n && before.defaultValue === after.defaultValue){\n continue;\n }\n changeDDL += ('MODIFY ('+after.defKey+'');\n changeDDL += (' '+after.dbType);\n if(after.len>0){\n changeDDL += ('('+after.len);\n if(parseInt(after.scale)>0){\n changeDDL += (','+after.scale);\n }\n changeDDL += ')';\n }\n let defaultValue = after.defaultValue;\n defaultValue = (defaultValue==null)?\"\":(\"\"+defaultValue);\n if(defaultValue.length>0){\n changeDDL += (' DEFAULT ' + defaultValue);\n }\n \n if(after.notNull){\n changeDDL += ' NOT NULL';\n }\n changeDDL += ')';\n ret.push(`${firstDDL} ${changeDDL};`);\n }\n return ret;\n };\n}}\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=it.func.createDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=it.func.dropDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? modifyEntities && modifyEntities.length > 0}}\n{{~ modifyEntities:entity}}\n/* --------------- 修改表 --------------- */\n-- 修改表:{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]\n{{=baseChangedDDL(entity.data.baseChanged)}}\n{{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n-- 修改字段:\n{{=buildModifiedDDL(entity).join('\\n')}}\n{{?}}{{\n/*索引是否修改过*/\nlet indexChanged = entity.data.indexChanged;\n}}\n{{? indexChanged }}\n{{=it.func.indexRebuildDDL(entity.data.baseInfo,entity.data.newIndexes,entity.data.fullFields,entity['type'])}}\n{{?}}\n\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n-- 添加字段:\n{{=buildAddedDDL(entity)}};\n{{?}}\n\n{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n-- 删除字段:\n{{=buildRemovedDDL(entity)}};\n{{?}}\n{{~}}\n{{?}}" }, { "applyFor": "BFC87171-C74F-494A-B7C2-76B9C55FACC9", "type": "dbDDL", "createTable": "IF EXISTS (SELECT * FROM remi.objects WHERE object_id = OBJECT_ID(N'[dbo].[{{=it.entity.defKey}}]') AND type in (N'U')) DROP TABLE [dbo].[{{=it.entity.defKey}}];\n\nCREATE TABLE [dbo].[{{=it.entity.defKey}}](\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n {{=field.defKey}} {{=field.type}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.autoIncrement ? ' IDENTITY(1,1)' : '' }}{{= field.defaultValue ? it.func.join(' DEFAULT ',field.defaultValue,' ') : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i'+(after.defKey||'NULL'));\n }\n if(before.defName !== after.defName){\n ret.push('显示名称:'+(before.defName||'NULL')+'->'+(after.defName||'NULL'));\n }\n if(before.comment !== after.comment){\n ret.push('说明:'+(before.comment||'NULL')+'->'+(after.comment||'NULL'));\n }\n if(ret.length>0){\n return ' 基本信息:\\n\\t'+ret.join('\\n\\t');\n }\n return '';\n };\n \n function buildAddedDesc(entity){\n let ret = [];\n let fieldAdded = entity.data.fieldAdded||[];\n \n for (let field of fieldAdded) { \n let row = [];\n row.push(field.defKey+'['+field.defName+']');\n ret.push(row.join(\"\"))\n }\n return ret;\n };\n \n function buildRemovedDesc(entity){\n let ret = [];\n let fieldRemoved = entity.data.fieldRemoved||[];\n \n for (let field of fieldRemoved) { \n let row = [];\n row.push(field.defKey+'['+field.defName+']');\n ret.push(row.join(\"\"))\n }\n return ret;\n };\n \n function buildModifiedDesc(entity){\n let ret = [];\n let fieldModified = entity.data.fieldModified||[];\n \n for (let field1 of fieldModified) { \n let row = [];\n let field = field1.before;\n row.push(field.defKey+'['+field.defName+']');\n ret.push(row.join(\"\"))\n }\n return ret;\n };\n}}\n\n\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n{{? modifyEntities && modifyEntities.length > 0}}\n/* --------------- 修改表 --------------- */\n{{~ modifyEntities:entity}}\n{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]{{let changeText=baseChanged(entity.data.baseChanged);}}\n{{=baseChanged(entity.data.baseChanged)}}\n {{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n 修改字段:\n {{='\\t'}}{{=buildModifiedDesc(entity).join('\\n\\t')}}{{?}}{{\n /*计算是否调整了属性*/\n let propAdded = entity.data.propAdded || [];\n let propRemoved = entity.data.propRemoved || [];\n let propModified = entity.data.propModified || [];\n let changed = propAdded.length>0 || propRemoved.length>0 || propModified.length>0;\n /*计算关联是否调整*/\n let refEntityAdd = entity.data.refEntityAdd || [];\n let refEntityRemoved = entity.data.refEntityRemoved || [];\n let relaArray = [];\n for (let rela of refEntityAdd) {\n relaArray.push('建立关联:'+rela.defKey+'['+rela.defName+']');\n }\n for (let rela of refEntityRemoved) {\n relaArray.push('解除关联:'+rela.defKey+'['+rela.defName+']');\n }\n /*索引是否修改过*/\n let indexChanged = entity.data.indexChanged;\n }}{{=indexChanged?'\\n\\t更改了索引':''}}{{=changed?'\\n\\t更改了属性':''}}{{=relaArray.length>0?('\\n\\t'+relaArray.join('\\n\\t')):''}}\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n 添加字段:\n{{='\\t'}}{{=buildAddedDesc(entity).join('\\n\\t')}}\n{{?}}{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n 删除字段:\n{{='\\t'}}{{=buildRemovedDesc(entity).join('\\n\\t')}}\n{{?}}\n{{~}}\n{{?}}", "update": "{{\n let createEntities = it.changes.filter(function(row){return (row.opt==='add'&&row['type']==='entity');});\n let dropEntities = it.changes.filter(function(row){return (row.opt==='delete'&&row['type']==='entity');});\n let modifyEntities = it.changes.filter(function(row){return (row.opt==='update'&&row['type']==='entity');});\n \n function baseChangedDDL(beforeAfter){\n if(beforeAfter == null){\n return '';\n }\n let ret = [];\n let before = beforeAfter.before || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n let after = beforeAfter.after || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n if(before.defKey !== after.defKey){\n ret.push(`EXEC sp_rename '${before.defKey}','${after.defKey}'`);\n }\n let commentText = '';\n let commentChanged = false;\n if(before.defName !== after.defName){\n commentText = after.defName;\n commentChanged = true;\n }\n if(before.comment !== after.comment){\n commentChanged = true;\n if(commentText){\n commentText = (commentText+ ';'+after.comment)\n }else{\n commentText = after.comment\n }\n }\n if(commentChanged){\n let myText = `IF ((SELECT COUNT(*) FROM ::fn_listextendedproperty('MS_Description','SCHEMA', 'dbo','TABLE', '${after.defKey}', NULL, NULL)) > 0)\n \\n\\tEXEC sp_updateextendedproperty 'MS_Description', '${commentText}','SCHEMA', 'dbo','TABLE', '${after.defKey}'\n \\nELSE\n \\n\\tEXEC sp_addextendedproperty 'MS_Description', '${commentText}', 'SCHEMA', 'dbo','TABLE', '${after.defKey}'\n `;\n ret.push(myText);\n /*ret.push('ALTER TABLE '+after.defKey+' COMMENT \\''+commentText+'\\'');*/\n }\n let baseText = '-- 基本信息:\\n';\n return baseText+ret.join(';\\n')+';';\n };\n \n function buildAddedDDL(entity){\n let ret = [];\n let fieldAdded = entity.data.fieldAdded||[];\n if(fieldAdded.length == 0){\n return '';\n }\n \n let firstDDL = `ALTER TABLE [dbo].[${entity.data.baseInfo.defKey}]`;\n for (let field of fieldAdded) { \n let ddlItem = `ADD [${field.defKey}] ${field.dbType}`;\n /*处理数据类型长度*/\n if(field.len>0){\n ddlItem += ('('+field.len);\n if(parseInt(field.scale)>0){\n ddlItem += (','+field.scale);\n }\n ddlItem += ')';\n }\n let defaultValue = field.defaultValue;\n defaultValue = (defaultValue==null)?\"\":(\"\"+defaultValue);\n if(defaultValue.length>0){\n ddlItem += (' DEFAULT ' + defaultValue);\n }\n if(field.notNull){\n ddlItem += ' NOT NULL';\n }\n ret.push(`${firstDDL} ${ddlItem}`);\n \n /*处理字段注释*/\n let fieldComments = [];\n if(field.defName != null &&field.defName.length>0){\n fieldComments.push(field.defName);\n }\n if(field.comment != null &&field.comment.length>0){\n fieldComments.push(field.comment);\n }\n let commentText = fieldComments.join(';');\n if(commentText != null && commentText.length > 0){\n let commentDDL = `EXEC sp_addextendedproperty 'MS_Description', N'${commentText}','SCHEMA', N'dbo','TABLE', N'${entity.data.baseInfo.defKey}','COLUMN', N'${field.defKey}'`;\n ret.push(commentDDL);\n }\n }\n return '\\n'+ret.join(';\\n');\n };\n \n function buildRemovedDDL(entity){\n let ret = [];\n let fieldRemoved = entity.data.fieldRemoved||[];\n if(fieldRemoved.length == 0){\n return '';\n }\n \n let firstDDL = `ALTER TABLE [dbo].[${entity.data.baseInfo.defKey}]`;\n for (let field of fieldRemoved) { \n ret.push(`${firstDDL} DROP COLUMN [${field.defKey}]`);\n }\n return '\\n'+ret.join(';\\n');\n };\n \n function buildModifiedDDL(entity){\n let ret = [];\n let fieldModified = entity.data.fieldModified||[];\n \n let firstDDL = `ALTER TABLE [dbo].[${entity.data.baseInfo.defKey}]`;\n for (let field of fieldModified) { \n let changeDDL = '';\n let before = field.before || {};\n let after = field.after || {};\n if(before.defKey === after.defKey){\n changeDDL += (' ALTER COLUMN ['+after.defKey+']');\n }else{\n let renameText = `EXEC sp_rename '[dbo].[${entity.data.baseInfo.defKey}].[${before.defKey}]','${after.defKey}','COLUMN';`;\n ret.push(renameText);\n continue;\n }\n changeDDL += (' '+after.dbType);\n if(after.len>0){\n changeDDL += ('('+after.len);\n if(parseInt(after.scale)>0){\n changeDDL += (','+after.scale);\n }\n changeDDL += ')';\n }\n let defaultValue = after.defaultValue;\n defaultValue = (defaultValue==null)?\"\":(\"\"+defaultValue);\n if(defaultValue.length>0){\n changeDDL += (' DEFAULT ' + defaultValue);\n }\n \n if(after.notNull){\n changeDDL += ' NOT NULL';\n }\n ret.push(`${firstDDL} ${changeDDL};`);\n }\n return ret;\n };\n}}\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=it.func.createDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=it.func.dropDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? modifyEntities && modifyEntities.length > 0}}\n{{~ modifyEntities:entity}}\n/* --------------- 修改表 --------------- */\n-- 修改表:{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]\n{{=baseChangedDDL(entity.data.baseChanged)}}\n{{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n-- 修改字段:\n{{=buildModifiedDDL(entity).join('\\n')}}\n{{?}}{{\n/*索引是否修改过*/\nlet indexChanged = entity.data.indexChanged;\n}}\n{{? indexChanged }}\n{{=it.func.indexRebuildDDL(entity.data.baseInfo,entity.data.newIndexes,entity.data.fullFields,entity['type'])}}\n{{?}}\n\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n-- 添加字段:\n{{=buildAddedDDL(entity)}};\n{{?}}\n\n{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n-- 删除字段:\n{{=buildRemovedDDL(entity)}};\n{{?}}\n{{~}}\n{{?}}" }, { "applyFor": "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022", "type": "dbDDL", "createTable": "DROP TABLE IF EXISTS {{=it.entity.defKey}};\nCREATE TABLE {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n \"{{=field.defKey}}\" {{? field.autoIncrement}}SERIAL{{??}}{{=field.type}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.defaultValue ? it.func.join(' DEFAULT ',field.defaultValue,' ') : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i'+(after.defKey||'NULL'));\n }\n if(before.defName !== after.defName){\n ret.push('显示名称:'+(before.defName||'NULL')+'->'+(after.defName||'NULL'));\n }\n if(before.comment !== after.comment){\n ret.push('说明:'+(before.comment||'NULL')+'->'+(after.comment||'NULL'));\n }\n if(ret.length>0){\n return ' 基本信息:\\n\\t'+ret.join('\\n\\t');\n }\n return '';\n };\n \n function buildAddedDesc(entity){\n let ret = [];\n let fieldAdded = entity.data.fieldAdded||[];\n \n for (let field of fieldAdded) { \n let row = [];\n row.push(field.defKey+'['+field.defName+']');\n ret.push(row.join(\"\"))\n }\n return ret;\n };\n \n function buildRemovedDesc(entity){\n let ret = [];\n let fieldRemoved = entity.data.fieldRemoved||[];\n \n for (let field of fieldRemoved) { \n let row = [];\n row.push(field.defKey+'['+field.defName+']');\n ret.push(row.join(\"\"))\n }\n return ret;\n };\n \n function buildModifiedDesc(entity){\n let ret = [];\n let fieldModified = entity.data.fieldModified||[];\n \n for (let field1 of fieldModified) { \n let row = [];\n let field = field1.before;\n row.push(field.defKey+'['+field.defName+']');\n ret.push(row.join(\"\"))\n }\n return ret;\n };\n}}\n\n\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=entity.data.defKey}}[{{=entity.data.defName}}]\n{{~}}\n{{?}}\n\n{{? modifyEntities && modifyEntities.length > 0}}\n/* --------------- 修改表 --------------- */\n{{~ modifyEntities:entity}}\n{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]{{let changeText=baseChanged(entity.data.baseChanged);}}\n{{=baseChanged(entity.data.baseChanged)}}\n {{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n 修改字段:\n {{='\\t'}}{{=buildModifiedDesc(entity).join('\\n\\t')}}{{?}}{{\n /*计算是否调整了属性*/\n let propAdded = entity.data.propAdded || [];\n let propRemoved = entity.data.propRemoved || [];\n let propModified = entity.data.propModified || [];\n let changed = propAdded.length>0 || propRemoved.length>0 || propModified.length>0;\n /*计算关联是否调整*/\n let refEntityAdd = entity.data.refEntityAdd || [];\n let refEntityRemoved = entity.data.refEntityRemoved || [];\n let relaArray = [];\n for (let rela of refEntityAdd) {\n relaArray.push('建立关联:'+rela.defKey+'['+rela.defName+']');\n }\n for (let rela of refEntityRemoved) {\n relaArray.push('解除关联:'+rela.defKey+'['+rela.defName+']');\n }\n /*索引是否修改过*/\n let indexChanged = entity.data.indexChanged;\n }}{{=indexChanged?'\\n\\t更改了索引':''}}{{=changed?'\\n\\t更改了属性':''}}{{=relaArray.length>0?('\\n\\t'+relaArray.join('\\n\\t')):''}}\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n 添加字段:\n{{='\\t'}}{{=buildAddedDesc(entity).join('\\n\\t')}}\n{{?}}{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n 删除字段:\n{{='\\t'}}{{=buildRemovedDesc(entity).join('\\n\\t')}}\n{{?}}\n{{~}}\n{{?}}", "update": "{{\n let createEntities = it.changes.filter(function(row){return (row.opt==='add'&&row['type']==='entity');});\n let dropEntities = it.changes.filter(function(row){return (row.opt==='delete'&&row['type']==='entity');});\n let modifyEntities = it.changes.filter(function(row){return (row.opt==='update'&&row['type']==='entity');});\n \n function baseChangedDDL(beforeAfter){\n if(beforeAfter == null){\n return '';\n }\n let ret = [];\n let before = beforeAfter.before || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n let after = beforeAfter.after || {\"defKey\":\"\",\"defName\":\"\",\"comment\":\"\"};\n if(before.defKey !== after.defKey){\n ret.push(`ALTER TABLE ${before.defKey} RENAME TO ${after.defKey}`);\n }\n let commentText = '';\n let commentChanged = false;\n if(before.defName !== after.defName){\n commentText = after.defName;\n commentChanged = true;\n }\n if(before.comment !== after.comment){\n commentChanged = true;\n if(commentText){\n commentText = (commentText+ ';'+after.comment)\n }else{\n commentText = after.comment\n }\n }\n if(commentChanged){\n let myText = `COMMENT ON TABLE ${after.defKey} IS '${commentText}'`;\n ret.push(myText);\n }\n let baseText = '-- 基本信息:\\n';\n return baseText+ret.join(';\\n')+';';\n };\n \n function buildAddedDDL(entity){\n let ret = [];\n let fieldAdded = entity.data.fieldAdded||[];\n if(fieldAdded.length == 0){\n return '';\n }\n \n let firstDDL = `ALTER TABLE ${entity.data.baseInfo.defKey}`;\n for (let field of fieldAdded) { \n let ddlItem = `ADD COLUMN ${field.defKey} ${field.dbType}`;\n /*处理数据类型长度*/\n if(field.len>0){\n ddlItem += ('('+field.len);\n if(parseInt(field.scale)>0){\n ddlItem += (','+field.scale);\n }\n ddlItem += ')';\n }\n if(field.notNull){\n ddlItem += ' NOT NULL';\n } \n let defaultValue = field.defaultValue;\n defaultValue = (defaultValue==null)?\"\":(\"\"+defaultValue);\n if(defaultValue.length>0){\n ddlItem += (' DEFAULT ' + defaultValue);\n }\n\n ret.push(`${firstDDL} ${ddlItem}`);\n \n /*处理字段注释*/\n let fieldComments = [];\n if(field.defName != null &&field.defName.length>0){\n fieldComments.push(field.defName);\n }\n if(field.comment != null &&field.comment.length>0){\n fieldComments.push(field.comment);\n }\n let commentText = fieldComments.join(';');\n if(commentText != null && commentText.length > 0){\n let commentDDL = `COMMENT ON COLUMN ${entity.data.baseInfo.defKey}.${field.defKey} IS '${commentText}'`;\n ret.push(commentDDL);\n }\n }\n return '\\n'+ret.join(';\\n');\n };\n \n function buildRemovedDDL(entity){\n let ret = [];\n let fieldRemoved = entity.data.fieldRemoved||[];\n if(fieldRemoved.length == 0){\n return '';\n }\n \n let firstDDL = `ALTER TABLE ${entity.data.baseInfo.defKey}`;\n for (let field of fieldRemoved) { \n ret.push(`${firstDDL} DROP COLUMN ${field.defKey}`);\n }\n return '\\n'+ret.join(';\\n');\n };\n \n function buildModifiedDDL(entity){\n let ret = [];\n let fieldModified = entity.data.fieldModified||[];\n \n let firstDDL = `ALTER TABLE ${entity.data.baseInfo.defKey}`;\n for (let field of fieldModified) { \n let before = field.before || {};\n let after = field.after || {};\n if(before.defKey !== after.defKey){\n let renameText = `ALTER TABLE ${entity.data.baseInfo.defKey} RENAME COLUMN ${before.defKey} TO ${after.defKey};`;\n ret.push(renameText);\n }\n /*如果没有变化,则不生成变更语句*/\n if(before.dbType === after.dbType \n && before['len'] === after['len'] \n && before.scale === after.scale\n && before.primaryKey === after.primaryKey\n && before.notNull === after.notNull\n && before.autoIncrement === after.autoIncrement\n && before.defaultValue === after.defaultValue){\n continue;\n }\n if(before.dbType !== after.dbType || before.len !== after.len || before.scale !== after.scale){\n let dbTypeDDL = `ALTER TABLE ${entity.data.baseInfo.defKey} ALTER COLUMN ${after.defKey} TYPE ${before.dbType}`;\n if(after.len>0){\n dbTypeDDL += ('('+after.len);\n if(parseInt(after.scale)>0){\n dbTypeDDL += (','+after.scale);\n }\n dbTypeDDL += ')';\n }\n ret.push(dbTypeDDL+';');\n }\n \n if(before.defaultValue !== after.defaultValue){\n let defaultDDL = '';\n let defaultValue = after.defaultValue;\n defaultValue = (defaultValue==null)?\"NULL\":(\"\"+defaultValue);\n if(defaultValue.length>0){\n defaultDDL += ('SET DEFAULT ' + defaultValue);\n }\n let defaultTpl = `ALTER TABLE ${entity.data.baseInfo.defKey} ALTER COLUMN ${defaultDDL};`;\n ret.push(defaultTpl);\n }\n \n if(before.notNull !== after.notNull){\n let notNullDDL= 'SET NULL';\n if(after.notNull){\n let notNullDDL= 'SET NOT NULL';\n }\n let notNullTpl = `ALTER TABLE ${entity.data.baseInfo.defKey} ALTER COLUMN ${notNullDDL};`;\n ret.push(notNullTpl);\n }\n }\n return ret;\n };\n}}\n{{? createEntities && createEntities.length > 0}}\n/* --------------- 创建表 --------------- */\n{{~ createEntities:entity}}\n{{=it.func.createDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? dropEntities && dropEntities.length > 0}}\n/* --------------- 删除表 --------------- */\n{{~ dropEntities:entity}}\n{{=it.func.dropDDL(entity.data,entity['type'])}}\n{{~}}\n{{?}}\n\n\n{{? modifyEntities && modifyEntities.length > 0}}\n{{~ modifyEntities:entity}}\n/* --------------- 修改表 --------------- */\n-- 修改表:{{=entity.data.baseInfo.defKey}}[{{=entity.data.baseInfo.defName}}]\n{{=baseChangedDDL(entity.data.baseChanged)}}\n{{? entity.data.fieldModified && entity.data.fieldModified.length > 0}}\n-- 修改字段:\n{{=buildModifiedDDL(entity).join('\\n')}}\n{{?}}{{\n/*索引是否修改过*/\nlet indexChanged = entity.data.indexChanged;\n}}\n{{? indexChanged }}\n-- 索引重建\n{{=it.func.indexRebuildDDL(entity.data.baseInfo,entity.data.newIndexes,entity.data.fullFields,entity['type'])}}\n{{?}}\n\n{{? entity.data.fieldAdded && entity.data.fieldAdded.length > 0}}\n-- 添加字段:\n{{=buildAddedDDL(entity)}};\n{{?}}\n\n{{? entity.data.fieldRemoved && entity.data.fieldRemoved.length > 0}}\n-- 删除字段:\n{{=buildRemovedDDL(entity)}};\n{{?}}\n{{~}}\n{{?}}" }, { "type": "dbDDL", "applyFor": "89504F5D-94BF-4C9E-8B2E-44F37305FED5", "createTable": "CREATE TABLE {{=it.entity.defKey}}(\n{{ pkList = [] ; }}\n{{~it.entity.fields:field:index}}\n {{? field.primaryKey }}{{ pkList.push(field.defKey) }}{{?}}\n {{=field.defKey}} {{=field.type}}{{?field.len>0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.autoIncrement ? '' : '' }}{{= field.defaultValue ? it.func.join(' DEFAULT ',field.defaultValue,' ') : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.autoIncrement ? '' : '' }}{{= field.defaultValue ? it.func.join(' DEFAULT ','('+field.defaultValue+')',' ') : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= field.autoIncrement ? ' AUTO_INCREMENT' : '' }}{{= field.defaultValue ? it.func.join(' DEFAULT ',field.defaultValue,' ') : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{= field.defaultValue ? it.func.join(' DEFAULT ',field.defaultValue,' ') : '' }}{{?}}{{= field.notNull ? ' NOT NULL' : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{?}}{{=')'}}{{?}} {{= field.notNull ? 'NOT NULL' : '' }} {{= field.autoIncrement ? 'AUTOINCREMENT' : '' }} {{= field.defaultValue ? it.func.join('DEFAULT',field.defaultValue,' ') : '' }}{{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }} --{{=it.func.join(field.defName,field.comment,';')}}\n{{~}}\n{{? pkList.length >0 }}\n PRIMARY KEY ({{~pkList:pkName:i}}{{= pkName }}{{= i0只有为decimal类型或double类型时才保留长度和小数的位数*/\n{{~it.entity.fields:field:index}}\n {{=it.func.lowerCase(field.defKey)}} {{=it.func.lowerCase(field.dbType)=='varchar'||it.func.lowerCase(field.dbType)=='char'||it.func.lowerCase(field.dbType)=='text'||it.func.lowerCase(field.dbType)=='date'||it.func.lowerCase(field.dbType)=='datetime' ? 'string':it.func.lowerCase(field.dbType)=='tinyint unsigned'||it.func.lowerCase(field.dbType)=='bit'||it.func.lowerCase(field.dbType)=='integer'||it.func.lowerCase(field.dbType)=='tinyint'||it.func.lowerCase(field.dbType)=='smallint'||it.func.lowerCase(field.dbType)=='mediumint' ? 'int':it.func.lowerCase(field.dbType)=='int unsigned' ? 'bigint':it.func.lowerCase(field.dbType)}}{{?field.len>0&&(it.func.lowerCase(field.dbType)=='decimal'||it.func.lowerCase(field.dbType)=='double')}}{{='('}}{{=field.len}}{{?field.scale>0}}{{=','}}{{=field.scale}}{{=')'}}{{?}}{{?}} comment '{{=it.func.join(field.defName,field.comment,'')}}' {{= index < it.entity.fields.length-1 ? ',' : ( pkList.length>0 ? ',' :'' ) }}\n{{~}}\n{{? pkList.length >0 }}\n{{?}}\n)\n{{\n let partitionedBy = it.entity.properties['partitioned by'];\n partitionedBy = partitionedBy?partitionedBy:'请在扩展属性中配置[partitioned by]属性';\n}}\ncomment '{{=it.func.join(it.entity.defName,';') }}'\n/**是否分区表,分区字段名和字段注释自定义*/\n[partitioned by {{=partitionedBy}}]\n/**文件存储格式自定义*/\n[stored as orc]\n/**hdfs上的地址自定义*/\n[location xxx]\n;", "createView": "", "deleteTable": "", "createIndex": "", "deleteIndex": "", "message": "", "update": "" }, { "applyFor": "B91D99E0-9B7C-416C-8737-B760957DAF09", "type": "appCode", "content": "{{\n var today=new Date();\n var fullYear=today.getFullYear();\n var month=today.getMonth() + 1<10?\"0\"+today.getMonth():today.getMonth();\n var days=today.getDate()<10?\"0\"+today.getDate():today.getDate();\n var hours = today.getHours()<10?\"0\"+today.getHours():today.getHours(); \n\tvar minutes = today.getMinutes()<10?\"0\"+today.getMinutes():today.getMinutes(); \n\tvar seconds = today.getSeconds()<10?\"0\"+today.getSeconds():today.getSeconds(); \n}}\n// Package models {{=it.func.join(it.entity.defName,it.entity.comment,',')}}\n// author : http://www.liyang.love\n// date : {{=fullYear}}-{{=month}}-{{=days}} {{=hours}}:{{=minutes}}\n// desc : {{=it.func.join(it.entity.defName,it.entity.comment,',')}}\npackage models\n\n$blankline\n\n// {{=it.func.camel(it.entity.defKey,true) }} {{=it.func.join(it.entity.defName,it.entity.comment,',')}}。\n// 说明:{{=it.entity.comment}}\n// 表名:{{=it.entity.defKey}}\n// group: {{=it.func.camel(it.entity.defKey,true) }}\n// obsolete:\n// appliesto:go 1.8+;\n// namespace:hongmouer.his.models.{{=it.func.camel(it.entity.defKey,true) }}\n// assembly: hongmouer.his.models.go\n// class:HongMouer.HIS.Models.{{=it.func.camel(it.entity.defKey,true) }}\n// version:{{=fullYear}}-{{=month}}-{{=days}} {{=hours}}:{{=minutes}}\ntype {{=it.func.camel(it.entity.defKey,true) }} struct {\n {{~it.entity.fields:field:index}}\n {{=formatGoLang(it.func.camel(field.defKey,true),null,field,it.entity.fields,null,1)}} {{=formatGoLang(field.type,\"type\",field,it.entity.fields,10,3)}} `gorm:\"column:{{=field.primaryKey?\"primaryKey;\":\"\"}}{{=field.defKey}}\" json:\"{{=it.func.camel(field.defKey,true)}}\"` {{=formatGoLang(\"gorm:column:\"+field.defKey+\" json:\"+it.func.camel(field.defKey,true),null,field,it.entity.fields,null,2)}} //type:{{=formatGoLang(field.type,\"type\",field,it.entity.fields,null,3)}} comment:{{=formatGoLang(it.func.join(field.defName,field.comment,';'),\"defName\",field,it.entity.fields,null,4)}} version:{{=fullYear}}-{{=month}}-{{=days}} {{=hours}}:{{=minutes}}\n {{~}}\n}\n\n\n$blankline\n// TableName 表名:{{=it.entity.defKey}},{{=it.entity.defName}}。\n// 说明:{{=it.entity.comment}}\nfunc (ZentaoUserInfo) TableName() string {\n\treturn \"{{=it.entity.defKey}}\"\n}\n\n{{\n\nfunction formatGoLang(str, fieldName, field, fileds, emptLength, isFiled) {\n var maxLength = 0;\n\n if (isFiled == 1) {\n for (var i = 0; i < fileds.length; i++) {\n if (getBlength(it.func.camel(fileds[i].defKey, true)) > maxLength) {\n maxLength = getBlength(it.func.camel(fileds[i].defKey, true)) + 2;\n }\n }\n } else if (isFiled == 2) {\n for (var i = 0; i < fileds.length; i++) {\n var newStr = \"gorm:column:\" + fileds[i].defKey + \" json:\" + it.func.camel(fileds[i].defKey, true);\n if (getBlength(newStr) > maxLength) {\n maxLength = getBlength(newStr) + 2;\n }\n }\n var empt = \"\";\n var strLength = getBlength(str);\n if (field.primaryKey) {\n strLength += getBlength(\"primaryKey;\");\n }\n for (var j = 0; j < maxLength - strLength; j++) {\n empt += ' ';\n }\n return empt;\n } else if (isFiled == 3) {\n /*获取某个字段的最大长度*/\n for (var i = 0; i < fileds.length; i++) {\n var newStr = eval(\"fileds[\" + i + \"].\" + fieldName);\n if (getBlength(newStr) > maxLength) {\n maxLength = getBlength(newStr) + 1;\n }\n }\n } else if (isFiled == 4) {\n /*获取某个字段的最大长度*/\n for (var i = 0; i < fileds.length; i++) {\n var newStr = fileds[i].comment + \";\" + fileds[i].defName;\n if (getBlength(newStr) > maxLength) {\n maxLength = getBlength(newStr) + 1;\n }\n }\n }\n else {\n maxLength = emptLength;\n }\n\n var strLength = getBlength(str);\n for (var j = 0; j < maxLength - strLength; j++) {\n str += ' ';\n }\n return str;\n}\n\nfunction getBlength(str) {\n var n = 0;\n for (var i = str.length; i--;) {\n n += str.charCodeAt(i) > 255 ? 2 : 1;\n }\n return n;\n} \n\n}}" } ], "generatorDoc": { "docTemplate": "" }, "relationFieldSize": 100, "uiHint": [ { "defKey": "Input", "defName": "普通输入框", "id": "642D2E0A-8846-4549-BE56-8C0473F26EDE" }, { "defKey": "Select", "defName": "下拉输入框", "id": "FB111359-2B73-4443-926C-08A98E446448" }, { "defKey": "CheckBox", "defName": "复选框", "id": "0CB8A6C9-1115-4FC0-B51E-5C028065082F" }, { "defKey": "RadioBox", "defName": "单选框", "id": "5C04987A-260F-4B7C-A5D5-22A181AAE9CA" }, { "defKey": "Double", "defName": "小数输入", "id": "8D5BAFE4-E15C-4707-A047-8EE59C58E70F" }, { "defKey": "Integer", "defName": "整数输入", "id": "9999AF2A-A44E-415C-A2DC-D7C613BD0073" }, { "defKey": "Money", "defName": "金额输入", "id": "2B0C3D0C-7BAF-4B36-81AD-9362B5E5DC2E" }, { "defKey": "Date", "defName": "日期输入", "id": "E4D94E14-F695-487F-AFC2-4D888009B7DA" }, { "defKey": "DataYearMonth", "defName": "年月输入", "id": "936927E3-DD2D-4096-87FD-074CDE278D59" }, { "defKey": "Text", "defName": "长文本输入", "id": "D89DD4F1-ADAC-4469-BF8D-B3FF41AE7963" }, { "defKey": "RichText", "defName": "富文本输入", "id": "C134EB1F-4CFF-49E0-882F-2C6FB275CB20" } ], "headers": [ { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true, "enable": false } ], "menuWidth": "309px", "modelType": "modalAll", "extAttrProps": { "attr1": { "editType": "", "optionsData": "", "optionsFetcher": "" }, "attr2": { "editType": "", "optionsData": "", "optionsFetcher": "" }, "attr3": { "editType": "", "optionsData": "", "optionsFetcher": "" }, "attr4": { "editType": "", "optionsData": "", "optionsFetcher": "" }, "attr5": { "editType": "", "optionsData": "", "optionsFetcher": "" }, "attr6": { "editType": "", "optionsData": "", "optionsFetcher": "" }, "attr7": { "editType": "", "optionsData": "", "optionsFetcher": "" }, "attr8": { "editType": "", "optionsData": "", "optionsFetcher": "" }, "attr9": { "editType": "", "optionsData": "", "optionsFetcher": "" } } }, "entities": [ { "id": "2B1221C2-754D-438A-B75C-45EFC6982A43", "env": { "base": { "nameSpace": "", "codeRoot": "" } }, "defKey": "crm_activity", "defName": "市场活动表", "comment": "", "properties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" }, "sysProps": { "nameTemplate": "{defKey}[{defName}]" }, "notes": {}, "headers": [ { "refKey": "hideInGraph", "hideInGraph": true }, { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true } ], "fields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "2A638C8B-6CA1-4EF0-AAEA-882BBB4F0241", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "activity_code", "defName": "活动编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "C3B22861-4819-4B11-B428-F5F95E3D9913", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "activity_type", "defName": "活动类型(自定义)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "extProps": {}, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "id": "C7F61532-15DD-485D-9B5F-68A46F835095" }, { "defKey": "activity_name", "defName": "活动名称", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "4B71A327-EE03-4931-A4DB-5F1A04B7A5D9", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "activity_name_en", "defName": "活动英文名称", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "080E6D9B-43B8-4286-A00B-98823FB4ED78", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "activity_remark", "defName": "活动介绍", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "AE38A072-B65C-44B0-8E0B-E24F99A7F297", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "activity_remark_en", "defName": "活动英文介绍", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "32A922C3-AB42-4BC2-9877-8D77DD427A9A", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "activity_address", "defName": "活动地址", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "7B5074BF-E738-4CE1-AC6E-FF651728188A", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "activity_address_en", "defName": "活动英文地址", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "368D005D-8112-4F51-8AC7-6CA1E48779FA", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "activity_begin_time", "defName": "活动开始时间", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "86D2DECE-0B5F-428F-B550-C6742AE25DE2", "baseType": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7" }, { "defKey": "activity_finish_time", "defName": "活动结束时间", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "AF972095-9199-4BA7-997D-2749BFCBC92E", "baseType": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7" }, { "defKey": "activity_purpose", "defName": "活动目标", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "6D2177A4-FF1D-45FF-8D99-92A40A3A6C85" }, { "defKey": "activity_budget", "defName": "活动预算", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "id": "F74458E1-E235-4A39-81C5-13C2E1E999CA" }, { "defKey": "activity_channel", "defName": "活动渠道", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "62CDF61C-AEC9-4B8D-B163-8E02EE9F5DEF" }, { "defKey": "status", "defName": "活动状态(0待启动 1进行中 2已结束)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "7FCA70FD-7C0E-4A9D-97C6-1FEDFDA75C6D", "id": "69404C5A-A299-435F-B056-9B41147A2F8C", "baseType": "CE1004FF-CF1C-4DEB-B661-1B5D5474E0B8" }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "6DCFC7FF-5390-4323-B01D-8C9B7453515E", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "59D3F3D8-2480-4235-A068-6641CF99DCF8", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "0A115BCB-842B-4540-806A-9D2104806571", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": 32, "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "uiHint": "", "id": "CFC57C38-59CC-49EF-9566-D5B812A4BA66", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "EA3A6A45-CFAB-4509-84C8-DDCCEB2CC4AF", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "DF652508-CD8D-4A0B-B643-6915B5D5B99C", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "4C14178B-814F-48F4-8AA5-9CEB660DD10F", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "722B1C8A-0745-48AD-8349-3A315F302912", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "correlations": [], "indexes": [], "type": "P" }, { "id": "56074472-EB45-4DFC-A197-D31F2E57BAC0", "env": { "base": { "nameSpace": "", "codeRoot": "" } }, "defKey": "crm_leads", "defName": "线索信息表", "comment": "", "properties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" }, "sysProps": { "nameTemplate": "{defKey}[{defName}]" }, "notes": {}, "headers": [ { "refKey": "hideInGraph", "hideInGraph": true }, { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true } ], "fields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "5063DCD0-80BC-4FC8-9C62-480E0CDDE294", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "leads_code", "defName": "线索编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "D0BC09BE-EC76-4F49-AD0C-74A054362D59", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "leads_url", "defName": "线索网址", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "9EC93A23-4483-4ABF-986B-5DFC0283AA99" }, { "defKey": "leads_name", "defName": "线索名称", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "F5D65E95-3EA5-43B9-85F6-30D8CDFF52C2", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "leads_name_en", "defName": "线索英文名称", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "EA2D7AF1-E2DD-408B-9028-DDA1B58DF04D", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "leads_origin", "defName": "线索来源(如:电销、抖音、微信、QQ、介绍)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "extProps": {}, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "id": "52314E71-1905-43A8-AE75-D60A719E2024" }, { "defKey": "leads_description", "defName": "线索描述", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "CA85622A-E759-4E92-8363-628A1FF11769" }, { "defKey": "leads_description_en", "defName": "线索英文描述", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "190D97F1-F1EB-4C8E-93B8-E379789331FF" }, { "defKey": "leads_remark", "defName": "线索备注", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "7D2BA7A5-BA1B-42A1-933D-F85EEFC0B0D2", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "leads_remark_en", "defName": "线索英文备注", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "86574BF4-1CB1-44FB-A1A1-C5A9064242E7", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "intent_level", "defName": "意向等级", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "extProps": {}, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "id": "2BADF9D1-3552-426F-A06B-8CD1942544E8" }, { "defKey": "intent_illustrate", "defName": "意向说明", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B17BDED3-085F-40E1-9019-3B79CF2BF075", "extProps": {}, "domain": "3E948CEC-3070-472C-AF92-F3CA11EC9D15", "id": "B41372C8-CFC9-4C4A-97A7-C26F464F5391" }, { "defKey": "intent_illustrate_en", "defName": "意向英文说明", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B17BDED3-085F-40E1-9019-3B79CF2BF075", "extProps": {}, "domain": "3E948CEC-3070-472C-AF92-F3CA11EC9D15", "id": "4523092F-6804-4390-A300-284FFED6E4B5" }, { "defKey": "belong_industry", "defName": "所属行业(如:机关组织、农林牧渔等)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "extProps": {}, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "id": "0763DD3B-171D-4DBB-988F-59EBC16CD8AB" }, { "defKey": "belong_region", "defName": "所属区域(如:华东、华南等)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "extProps": {}, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "id": "09355C95-FBBE-4DF7-B1CF-5174F2E654C8" }, { "defKey": "accept_time", "defName": "接受时间(领取/分配时间)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7", "extProps": {}, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "id": "C2520E0F-830D-4DE1-BCC5-74DC6BC9B36B" }, { "defKey": "release_time", "defName": "释放时间(退回/回收时间)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7", "extProps": {}, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "id": "E69A7053-5769-4558-8E04-173AC9B18952" }, { "defKey": "status", "defName": "线索状态(0未分配/未领取 1已分配/已领取 2未跟进 3未转化 4已作废)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "7FCA70FD-7C0E-4A9D-97C6-1FEDFDA75C6D", "id": "8444E173-199B-4B02-AF7C-A5108E8F9057", "baseType": "CE1004FF-CF1C-4DEB-B661-1B5D5474E0B8" }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "13981F15-655B-480B-A834-789BF04286BC", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "438F866C-B583-4688-927C-13569200EC56", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "4B3B09A3-5A98-4FD5-8CFC-A9B88446DCAB", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": 32, "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "uiHint": "", "id": "FB6155FB-B93C-4CC1-9EE5-D12558D587B6", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "E2311328-4768-4FC7-BE91-74F76D4B4DAD", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "635AEE7B-E665-40A8-A497-B24556EDEF87", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "9DD2E232-4C38-467C-A142-7E4A5C4A9DA5", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "C34780BF-D2B7-409C-9575-D5EF5D3909FB", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "correlations": [], "indexes": [], "type": "P" }, { "id": "C578B00B-662A-4E22-866E-87F959629B8F", "env": { "base": { "nameSpace": "", "codeRoot": "" } }, "defKey": "crm_customer", "defName": "客户信息表", "comment": "", "properties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" }, "sysProps": { "nameTemplate": "{defKey}[{defName}]" }, "notes": {}, "headers": [ { "refKey": "hideInGraph", "hideInGraph": true }, { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true } ], "fields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "FAD90264-E77B-4D35-884F-60AF5F7A7B05", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "belong_industry", "defName": "所属行业(如:机关组织、农林牧渔等)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "0F1BA54A-430C-4107-9B56-DC9E37B0D6AB", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8" }, { "defKey": "customer_origin", "defName": "客户来源(如:电销、抖音、微信、QQ、介绍)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "343B679A-036C-41C1-A424-2E235D2F79BA", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8" }, { "defKey": "customer_code", "defName": "客户编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "599E2538-F9BD-4612-B3BE-C6EF91E10D48", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "customer_name", "defName": "客户名称", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "BF259446-E835-444D-A4DE-44340096623D", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "customer_name_en", "defName": "客户英文名称", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "FE5139E4-4682-4665-80F3-08F2717300DA", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "customer_level", "defName": "客户等级(如:意向客户、成交客户、一般客户、重要客户等)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "extProps": {}, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "id": "5B12CD53-26FD-4193-AC6A-054AD30A751B" }, { "defKey": "customer_website", "defName": "客户官网", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "327A2084-CF04-46D4-B477-B6C2116F57C9" }, { "defKey": "customer_landline", "defName": "客户座机", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "3248F070-7969-49A8-8066-1ACABBE835FA", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "customer_email", "defName": "客户邮箱", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "F78E0788-E683-4768-99B3-1351A6E4DF38", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "customer_description", "defName": "客户描述", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "2B9B177C-44A3-43BD-8561-241F5E21B184", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "customer_description_en", "defName": "客户英文描述", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "1C189A54-DC59-4F65-BC58-6455682A7406", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "customer_remark", "defName": "客户备注", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "D07327EB-79B4-4696-9937-1D360642B9D5", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "customer_remark_en", "defName": "客户英文备注", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "E081AEE8-D3CA-4944-A502-D09589314203", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "customer_illustrate", "defName": "意向说明", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "3E948CEC-3070-472C-AF92-F3CA11EC9D15", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "33DDF850-BA13-4F37-9D49-496789E848BE", "baseType": "B17BDED3-085F-40E1-9019-3B79CF2BF075" }, { "defKey": "customer_illustrate_en", "defName": "意向英文说明", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "3E948CEC-3070-472C-AF92-F3CA11EC9D15", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "660FCC79-0D44-4C22-A2E3-5795A47AE625", "baseType": "B17BDED3-085F-40E1-9019-3B79CF2BF075" }, { "defKey": "belong_region", "defName": "所属区域(如:华东、华南等)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "C652E7B0-591E-44FE-94F7-2537F984327F", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8" }, { "defKey": "contact_address", "defName": "联系地址", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "51CF1E79-1F17-4A69-B3ED-754E00D00FF5", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "contact_address_en", "defName": "联系英文地址", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "FC4B7A55-224C-4F4A-933D-E58D5DCB02DD", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "status", "defName": "是否启用(0停用 1启用)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "62953E89-5300-45C3-8F69-69AE960280CC", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "36EB778F-94B6-4642-93D1-B485DEC751F1", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "B1F00D60-4BDF-41F2-80DE-90B94289F4D1", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "F55079BA-56BE-4DB2-91CF-C1FDCF5AC2AE", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": 32, "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "uiHint": "", "id": "369A7EF8-B238-4D35-9C9F-A63D333B767C", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "F01AA7B7-2A16-437A-8D90-7E0152D63F87", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "69945749-7FC6-4BE6-A88D-F2A3FB3BE305", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "5E35F4A8-3AFE-4D96-9DDE-50EF97BB2944", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "C5B578E8-A51D-4785-B230-7B33F8607005", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "correlations": [], "indexes": [], "type": "P" }, { "id": "3E63ED1F-5825-441B-B158-2B3C3917853F", "env": { "base": { "nameSpace": "", "codeRoot": "" } }, "defKey": "crm_business", "defName": "商机信息表", "comment": "", "properties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" }, "sysProps": { "nameTemplate": "{defKey}[{defName}]" }, "notes": {}, "headers": [ { "refKey": "hideInGraph", "hideInGraph": true }, { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true } ], "fields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "12FFE70C-F168-4D96-A463-24417B799D39", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "customer_id", "defName": "客户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "B934D64C-C22C-4B71-A5DA-CC47986E9548", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "customer_code", "defName": "客户编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "DE1F23A6-2E75-428A-A37B-FCBD17C27B96", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "business_code", "defName": "商机编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "8296A908-C786-4BC8-A501-8DD185B0D0EB", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "uiHint": null }, { "defKey": "business_name", "defName": "商机标题", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "828DF451-0474-48D7-B9D1-41DAB11412A0", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "uiHint": null }, { "defKey": "business_name_en", "defName": "商机英文标题", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "B809DC39-98CE-46C5-9EC6-58FF96EF9E2B", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "uiHint": null }, { "defKey": "predict_sign_time", "defName": "预计签约时间", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7", "extProps": {}, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "id": "CD795635-7731-4844-B616-5767607B622F", "uiHint": null }, { "defKey": "predict_amount", "defName": "预计金额", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "id": "AD0D3227-167C-4A5F-9185-CB8A0FBCDD0E" }, { "defKey": "rebate_amount", "defName": "折扣金额", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "id": "9B2D91F1-F7EE-4ECC-B9C4-4BD79CC737C5" }, { "defKey": "total_amount", "defName": "合价金额", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "id": "D742D2A2-5ACF-4735-A04D-B6BC475EE5D5" }, { "defKey": "business_description", "defName": "商机描述", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "887EADD7-140B-4BF8-B19E-A18BBBEEFC5C", "uiHint": null }, { "defKey": "business_description_en", "defName": "商机英文描述", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "7CB85733-A95C-486A-ACFB-FDD7900A69A9", "uiHint": null }, { "defKey": "business_result", "defName": "成交结果", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "DE9F786D-2FD5-40EA-99E2-06CD69031C49", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "business_result_en", "defName": "成交结果英文", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "5599A516-6D57-4F61-B4DE-6FE2151213BD", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "business_miss", "defName": "失败原因", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "5EF140B4-42B5-450E-8306-94CBB9418A47", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "business_miss_en", "defName": "失败原因英文", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "59648D15-F409-4C2B-89B3-ECA073668640", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "business_stage", "defName": "商机进展(1初步接洽 2需求调研 3方案呈现 4商务谈判 5合同签署 6赢单 7丢单)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "7FCA70FD-7C0E-4A9D-97C6-1FEDFDA75C6D", "id": "5644BC2D-E4F7-4993-BADA-4216B19EA037", "baseType": "CE1004FF-CF1C-4DEB-B661-1B5D5474E0B8", "uiHint": null }, { "defKey": "status", "defName": "是否启用(0停用 1启用)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "492E6B91-5BE9-44C9-AB9F-1E1B34146E2E", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "27368A5D-7C16-46D9-AAEB-1723CD6C77C3", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "uiHint": null }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "5A3C93FD-872B-4F76-8B44-3583732E37B1", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "7B9EA2E0-40E6-493C-BB63-109DBBE66CE7", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "uiHint": null, "id": "1BBB3A4C-17A6-4438-8E34-FB45E9B4E48E", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "6EBC55F2-0A11-4FFC-8A55-ECA097DCF5D0", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "0595C254-53EC-43C1-B7A7-19F05D3AEF8B", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "0420BD1A-F61F-4A6E-9B06-80DB4A60B007", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "A5B1AA66-91B3-4583-93FF-7131E94A1C4E", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "correlations": [], "indexes": [], "type": "P" }, { "id": "D523870E-025A-47A1-9A25-952AF6BE4505", "env": { "base": { "nameSpace": "", "codeRoot": "" } }, "defKey": "crm_contract", "defName": "合同信息表", "comment": "", "properties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" }, "sysProps": { "nameTemplate": "{defKey}[{defName}]" }, "notes": {}, "headers": [ { "refKey": "hideInGraph", "hideInGraph": true }, { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true } ], "fields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "94490B69-2BD1-4985-962A-B3F8C1ABC18A", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "customer_id", "defName": "客户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "BE53D2BF-1097-4194-98E4-ACE623BF8BD5", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "customer_code", "defName": "客户编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "1F763B78-3C1A-4781-8685-4FF0F040A3A6", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "contract_code", "defName": "合同编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "C99F66BD-E682-44CB-994A-BE1EEF7D81DD", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "contract_type", "defName": "合同类型(如:直销合同、代理合同、服务合同、快消合同)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "extProps": {}, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "id": "05C442B5-69D7-46BB-BBF4-0F65B22CFA4C" }, { "defKey": "contract_amount", "defName": "合同金额(元)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "4A924FA8-2819-4514-BF95-649B9FAFC65C", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E" }, { "defKey": "contract_name", "defName": "合同名称", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "D6A9F02A-C3C1-45DB-8E78-484EE7243868" }, { "defKey": "contract_name_en", "defName": "合同英文名称", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "70C599E1-9EBB-4C4F-AEC3-CDDAE8E3594E" }, { "defKey": "contract_remark", "defName": "合同备注", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "2B64E9F6-3D4F-4586-982D-84F925A7B518", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "contract_remark_en", "defName": "合同英文备注", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "35CB2DDA-FD32-433C-B5A0-63040E4D015A", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "contract_pay_type", "defName": "合同付款方式(如:3-7 或者 4-6)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "extProps": {}, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "id": "10BAA2B4-C052-4FF9-B4AE-F69CF8435B0E" }, { "defKey": "contract_sign_date", "defName": "合同签署日期", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098", "extProps": {}, "domain": "314093CD-F021-4772-81C0-AB65BBE81F4B", "id": "5DB21A0C-965B-4D57-A0DC-6CE2DA19749D" }, { "defKey": "contract_begin_time", "defName": "合同开始时间", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7", "extProps": {}, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "id": "EBE58960-8137-4143-9291-01B771C75C13" }, { "defKey": "contract_finish_time", "defName": "合同结束时间", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7", "extProps": {}, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "id": "C12C8D05-8E90-410E-AE79-6F4202DF2A2E" }, { "defKey": "status", "defName": "是否启用(0停用 1启用)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "153079C0-3EF4-437C-BA35-383E5546B5D3", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "42FDABEB-052F-420D-8007-9B05578C9853", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "DC3D610D-3C60-470F-801D-58C7DE2DEFF0", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "C2E9D223-F72C-42A6-8B35-537448135BCF", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": 32, "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "uiHint": "", "id": "BE2C5F91-90CD-4ADE-8786-974E1558B2C1", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "6EC3E8FB-B8C6-4A19-BB26-61A5C43C1892", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "05439AC0-3C7E-4827-BDAA-35925E6CA23F", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "2E733814-022D-4CD8-AB28-8EDC7F2E6544", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "D41D560F-D80B-401A-9508-2EB0A15EB682", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "correlations": [], "indexes": [], "type": "P" }, { "id": "056D2ABF-57C5-4B6A-B890-D37C9471815C", "env": { "base": { "nameSpace": "", "codeRoot": "" } }, "defKey": "crm_refund", "defName": "回款记录表", "comment": "", "properties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" }, "sysProps": { "nameTemplate": "{defKey}[{defName}]" }, "notes": {}, "headers": [ { "refKey": "hideInGraph", "hideInGraph": true }, { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true } ], "fields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "C29B6EB0-88E5-4E22-A8FC-BD1337C58E15", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "customer_id", "defName": "客户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "0339BDAA-58BC-4355-B1A0-3DBF77C391E6", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "customer_code", "defName": "客户编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "EF99659C-A313-4B43-9521-C0E090E4D02D", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "uiHint": null }, { "defKey": "contract_id", "defName": "合同ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "743F958E-750F-4628-9ADC-597CE620D67E", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "contract_code", "defName": "合同编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "C46563BF-2752-4CFC-A0C5-2B9CBB3914C9", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "uiHint": null }, { "defKey": "refund_type", "defName": "回款方式(如:现金、转账、微信、支付宝)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "extProps": {}, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "id": "94DB18B3-4044-4EC6-8725-DA4018AD4998", "uiHint": null }, { "defKey": "contract_amount", "defName": "合同金额(元)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "C9FD8B46-B6ED-49D0-959B-B9A6619854C2", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "uiHint": null }, { "defKey": "refund_amount", "defName": "回款金额(元)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "id": "D7EA279A-D7E7-4BFA-81A8-50C5605DCE53", "uiHint": null }, { "defKey": "refund_ratio", "defName": "回款比例(如:20% 即0.2)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "FF4459C5-6B45-4DBF-8FC0-E06239BC05B4", "id": "A1A7CFBF-C595-4FD6-A6A0-1C5139AC802C", "uiHint": null }, { "defKey": "refund_time", "defName": "回款时间", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7", "extProps": {}, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "id": "0BC9A71E-203B-45EE-9ADC-625AA55F82C5", "uiHint": null }, { "defKey": "refund_remark", "defName": "回款说明", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "FFA0848E-1D69-46CB-BADC-F6CBE9AA6E4B", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "uiHint": null }, { "defKey": "refund_remark_en", "defName": "回款英文说明", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "6E2A4C3C-625F-4B3A-BB8C-5CEBC769AD70", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "uiHint": null }, { "defKey": "status", "defName": "是否启用(0停用 1启用)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "68A43429-EA97-44FF-9928-CCF45A47CF97", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "uiHint": null }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "12207BE1-1E16-438F-8E9E-4D2D07A95698", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "uiHint": null }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "F71F6626-902C-44AC-95DF-989A7AE62002", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "DCA36C8F-DB4A-4D11-9EBA-E277013903BC", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "uiHint": null, "id": "0ECACF38-2DE1-4A50-A1C8-DC7C352D14CB", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "AE8EFF32-2814-45D8-A158-BDC18127D3FE", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "5638784F-52FF-4832-BC28-93AB683DB49F", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "D6099950-BFE0-4BC3-8C94-2CADB5200325", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "952FE521-6AF4-4C7B-ACEA-6AED69878EFE", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "correlations": [], "indexes": [], "type": "P" }, { "id": "7D8025FE-E4E1-4AD8-B8F1-23461B86852C", "env": { "base": { "nameSpace": "", "codeRoot": "" } }, "defKey": "crm_refund_plan", "defName": "回款计划表", "comment": "", "properties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" }, "sysProps": { "nameTemplate": "{defKey}[{defName}]" }, "notes": {}, "headers": [ { "refKey": "hideInGraph", "hideInGraph": true }, { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true } ], "fields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "A4668EA7-7DC8-49A6-AF21-EAA14F13E982", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "customer_id", "defName": "客户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "A1498E01-9679-4965-A777-6F63BD6EB646", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "customer_code", "defName": "客户编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "32F00596-0152-4CAA-AAAF-076920097335", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "uiHint": null }, { "defKey": "contract_id", "defName": "合同ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "1C65BD1D-4879-4555-BE5A-5D901770C41F", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "contract_code", "defName": "合同编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "7905E7DF-73A4-4853-B5CF-70E77F865339", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "contract_amount", "defName": "合同合计金额(元)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "F5F473B4-05AA-49A2-A666-B3A2ADAFB842", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E" }, { "defKey": "predict_refund_amount", "defName": "预计回款金额(元)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "id": "3C70B4FB-187C-4732-903D-2CCB788A7070", "uiHint": null }, { "defKey": "predict_refund_ratio", "defName": "预计回款比例(如:20% 即0.2)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "FF4459C5-6B45-4DBF-8FC0-E06239BC05B4", "id": "947C4347-559B-4751-8FBC-E385C83645D2" }, { "defKey": "predict_refund_time", "defName": "预计回款时间", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7", "extProps": {}, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "id": "ED0C7135-003B-4EB4-8F82-5E7099062B90", "uiHint": null }, { "defKey": "refund_type", "defName": "回款方式(如:现金、转账、微信、支付宝)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "extProps": {}, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "id": "A7906CF2-A804-424B-B412-DDD5680C00BA" }, { "defKey": "refund_remark", "defName": "回款说明", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "D2E03CF1-D5EB-44B5-AD1D-0F7C4786B740", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "refund_remark_en", "defName": "回款英文说明", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "9DC84C0B-E941-41BA-AACB-9601166EF578", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "status", "defName": "是否启用(0停用 1启用)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "D0C9ADD3-4CB6-4C38-9EA7-5D047EFC596D", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "20CAE26A-3CCE-45D1-B512-1595BF97F0B7", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "uiHint": null }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "72725514-88BD-441A-B890-DB82188021A5", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "35AC671F-125D-4F32-9606-FB064D0BD4A7", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "uiHint": null, "id": "3283E3A5-62BE-478B-99BE-C42527DBC9D2", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "510F0032-9DE2-40EE-9893-11CD631B38BE", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "BA20AD56-CB29-4CF1-99E3-D028BBE3C521", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "F85553AF-0E3C-4F07-91A3-83658C097F39", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "6202916E-D936-4A5F-AAF5-90CF38D858DF", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "correlations": [], "indexes": [], "type": "P" }, { "id": "91DEFE02-91F9-44C2-A697-71FA5B0E5849", "env": { "base": { "nameSpace": "", "codeRoot": "" } }, "defKey": "crm_owner", "defName": "机会负责人", "comment": "", "properties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" }, "sysProps": { "nameTemplate": "{defKey}[{defName}]" }, "notes": {}, "headers": [ { "refKey": "hideInGraph", "hideInGraph": true }, { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true } ], "fields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "F3E9EB1C-86B1-4740-AB4E-8CEF1475A5B2", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "chance_id", "defName": "机会ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "FD282A1A-9196-4832-975A-2E27AABCDA17", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "chance_code", "defName": "机会编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "477CDB7C-4D36-48EB-89FC-E930008B3007", "uiHint": null }, { "defKey": "chance_type", "defName": "机会区分(1线索 2客户)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "CE1004FF-CF1C-4DEB-B661-1B5D5474E0B8", "extProps": {}, "domain": "7FCA70FD-7C0E-4A9D-97C6-1FEDFDA75C6D", "id": "95945D10-2F0B-4CB9-8245-939D1315CFAC", "uiHint": null }, { "defKey": "owner_id", "defName": "负责人ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "C317AE3D-AAE5-4D69-8574-BB8E0E8449F9", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "owner_code", "defName": "负责人工号", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "87B7C814-E51A-4A07-97C5-EDD60D862B9A", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "uiHint": null }, { "defKey": "dept_id", "defName": "责任部门ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "C9631321-C336-4D76-823B-3014F0EEEA51", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "dept_code", "defName": "责任部门编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "0B7104C4-2588-4072-AEA7-D959F30056E2", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "uiHint": null }, { "defKey": "accept_time", "defName": "接受时间(领取/分配时间)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "7480415B-CF01-431E-AEE5-2FE8EDDD0088", "baseType": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7", "uiHint": null }, { "defKey": "release_time", "defName": "释放时间(退回/回收时间)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "859A834F-7C4F-406A-8E4A-883CBBE12A6B", "baseType": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7", "uiHint": null }, { "defKey": "status", "defName": "是否启用(0停用 1启用)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "15A8B621-5D6A-4B82-8BF3-A0FCDBE2E12B", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "uiHint": null }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "88DF8418-0B73-4622-968E-32E2112C71FF", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "uiHint": null }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "70AF9111-749B-44CB-9FAA-1D7D0BF4DF3E", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "12A690F6-8BFD-4B49-BF80-68719F566EEC", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "uiHint": null, "id": "7C5BDE04-18DD-4646-80B2-FC784A6FD6F3", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "51FCCECB-06A9-496A-9998-69BD49EA6955", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "A9371370-AEA5-4AE9-ABAD-5E2E3E9E6351", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "53030734-FEDD-4C96-849A-C7EFA478973A", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "DE7836C2-531F-4662-80E9-958BAC580897", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "correlations": [], "indexes": [], "type": "P" }, { "id": "50CD4E6F-1964-406C-80A5-4A202A0B902A", "env": { "base": { "nameSpace": "", "codeRoot": "" } }, "defKey": "crm_contact", "defName": "机会联系人", "comment": "", "properties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" }, "sysProps": { "nameTemplate": "{defKey}[{defName}]" }, "notes": {}, "headers": [ { "refKey": "hideInGraph", "hideInGraph": true }, { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true } ], "fields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "8472FA5F-745B-4030-9D77-58779B4E4A56", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "chance_id", "defName": "机会ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "5E6B5001-A95D-4D81-9479-5B5C9D310CDA", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "chance_code", "defName": "机会编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "467EB338-2C38-4AD4-8645-8E15B0D29FAB", "uiHint": null }, { "defKey": "chance_type", "defName": "机会区分(1线索 2客户)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "CE1004FF-CF1C-4DEB-B661-1B5D5474E0B8", "extProps": {}, "domain": "7FCA70FD-7C0E-4A9D-97C6-1FEDFDA75C6D", "id": "041BF1D7-74F0-48CD-958F-52C3C41CDF1D", "uiHint": null }, { "defKey": "contact_cdoe", "defName": "联系人编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "AF8AD237-E2F1-4119-8B69-E963F6059B44" }, { "defKey": "contact_name", "defName": "联系人名称", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "4BB5147E-9CE3-4B3E-8F4D-7ECB7D561E0E", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "contact_name_en", "defName": "联系人英文名称", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "4BC49B5A-4C48-4BD1-B075-F263967DB6EC", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "contact_remark", "defName": "联系人备注", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "CA8A8404-0773-4749-9E0B-E831F6B55897", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "contact_remark_en", "defName": "联系人英文备注", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "87431099-39BF-4BF7-B3CD-9AB0D9D22431", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "sex", "defName": "用户性别(0女性 1男性 2未知)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "985E62A7-AC7A-4E19-8239-24E02ECA9E8B", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "age", "defName": "年龄", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811", "extProps": {}, "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "id": "3DCF15E5-A953-4AA6-AD46-1B046DA6C2D8" }, { "defKey": "position", "defName": "职位", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "932BBE4D-CA47-48D3-A308-7C6B477CBBA8" }, { "defKey": "rank", "defName": "职级", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "302E1D53-A589-401A-8676-ADC78985E27A" }, { "defKey": "educational", "defName": "学历", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "extProps": {}, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "id": "33CC474C-D586-4DA6-A1D6-C63D43605050" }, { "defKey": "school", "defName": "学校", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "3E657F4B-97D6-453F-8FEE-7303227CF4F1" }, { "defKey": "grade", "defName": "年级", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "2BC8BBEC-F942-45A4-8C6C-C89CE14D835A" }, { "defKey": "major", "defName": "专业", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "D006F3D3-46DE-4FA5-BD51-AF8934B5179B" }, { "defKey": "hobby", "defName": "爱好", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "1A41CF8A-3B93-43FA-A21F-473A56AAA23A" }, { "defKey": "current_salary", "defName": "当前薪资", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "6E66343B-1905-4911-966E-1FD94C7C5ADC" }, { "defKey": "industry_salary", "defName": "行业薪资", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "E6CEF054-A4E2-4E0C-BB7B-72A7B38BADA5" }, { "defKey": "decision", "defName": "是否决策人(0否 1是)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "3070754B-D30B-45A6-8148-48F0FA5958F4" }, { "defKey": "superior", "defName": "直属上级领导", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "B43CF384-51FC-43C3-B2C8-9FB3B0C0541D" }, { "defKey": "email", "defName": "邮箱", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "AA97D0A0-454F-43E1-95DE-613883369EF3", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "landline", "defName": "座机", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "87522AC1-8851-4533-87F6-D7A429048AEB" }, { "defKey": "phone", "defName": "电话", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "0DE83934-DC41-4BAA-A20F-07AEC31582A0", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "wx", "defName": "微信", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "51143105-30EB-4279-BC5D-EF61460C1ECB", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "qq", "defName": "QQ", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "D3309C73-C719-4969-817A-510200A13C54", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "contact_latest_time", "defName": "最后联系时间", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "968D9778-D570-44E3-9871-F0FC6A730407" }, { "defKey": "contact_next_time", "defName": "下次联系时间", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "BEBA73B0-DAFC-4C22-A52E-FF9A6AFEB22D" }, { "defKey": "status", "defName": "是否在职(0离职 1在职)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "B6D2D657-08B7-40AD-AE2C-FA2223916691", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "uiHint": null }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "5EFCA1EF-9EF3-4801-8B86-AAE2D595D72A", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "uiHint": null }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "D2328937-E590-489C-9AE3-0426D43BCD6F", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "4E84B51E-075A-403C-826D-4D97B2278FCF", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "uiHint": null, "id": "7F7E00A7-1BBF-4C4C-9202-DDF697CFA9FA", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "A12DC6B5-131D-4A4A-B7B2-CBC89A4880F2", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "4D04DD17-01BA-492A-B677-8CB4BDD0ED95", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "BB328B00-55C5-45AA-820E-3ADF125C859E", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "D350A0C5-A0D8-43DB-B936-24EDA8648F75", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "correlations": [], "indexes": [], "type": "P" }, { "id": "24549ABB-68FF-46F9-8AE0-A4C6CCA55956", "env": { "base": { "nameSpace": "", "codeRoot": "" } }, "defKey": "crm_follow", "defName": "机会跟进表", "comment": "", "properties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" }, "sysProps": { "nameTemplate": "{defKey}[{defName}]" }, "notes": {}, "headers": [ { "refKey": "hideInGraph", "hideInGraph": true }, { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true } ], "fields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "63B6DAE3-4753-41EA-B599-A7CDABA39DA0", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "chance_id", "defName": "机会ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "66BEC06C-73B9-47B7-99BE-C162CF2AB379", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "chance_code", "defName": "机会编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "8A1DF5B7-CE49-4800-B823-29DFFAE37BFE", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "chance_type", "defName": "机会区分(1线索 2客户)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "7FCA70FD-7C0E-4A9D-97C6-1FEDFDA75C6D", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "1B9177D1-74E8-4C61-B406-E6688200090A", "baseType": "CE1004FF-CF1C-4DEB-B661-1B5D5474E0B8" }, { "defKey": "contact_id", "defName": "联系人ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "F8536014-2F30-4D6E-8D72-5FA06BDCF6D6" }, { "defKey": "contact_code", "defName": "联系人编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "E8A8F03E-F73A-41E4-B30A-540F1612644B" }, { "defKey": "next_time", "defName": "下次跟进时间", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7", "extProps": {}, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "id": "BC6D973D-D2C7-4D4A-B395-BB391962E182" }, { "defKey": "follow_code", "defName": "跟进编号", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "1D3717D2-8AB7-40B8-9143-DA940750213B" }, { "defKey": "follow_method", "defName": "跟进方式(如:上门、电话、微信、QQ、邮件)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "extProps": {}, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "id": "58E369D3-53A7-4ED7-974A-2A20FBEB1A3B" }, { "defKey": "follow_purpose", "defName": "跟进目标", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "2A0C6A8C-371B-4C43-A86C-4F749D8AC14B", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "follow_content", "defName": "跟进内容", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B17BDED3-085F-40E1-9019-3B79CF2BF075", "extProps": {}, "domain": "3E948CEC-3070-472C-AF92-F3CA11EC9D15", "id": "DB267C71-D152-46F5-94DD-3BBC57D4FDD7" }, { "defKey": "follow_image", "defName": "跟进图片(文件系统的ID)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "18EFA595-DCF5-45D9-8328-30C375B4C9CC" }, { "defKey": "follow_annex", "defName": "跟进附件(文件系统的ID)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "A2791703-FE70-49EB-9DCA-5B71E7CC45AC" }, { "defKey": "owner_id", "defName": "跟进人ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "48723D79-BA9C-4458-9821-57B7D2C3B0B7", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "owner_code", "defName": "跟进人工号", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "BA92EF53-2CAF-4726-BA61-5B2329C93716", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "travel_id", "defName": "随行人ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "F0C42594-5F4D-4085-8F0A-D8FFE575C973", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "travel_code", "defName": "随行人工号", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "689F2816-6A25-40B1-8E2A-7F0820F5B9CC", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "dept_id", "defName": "责任部门ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "8996EA2D-1ED7-48E1-8624-693801249656", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "dept_code", "defName": "责任部门编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "BC842D71-7E38-42C8-9C18-C8483C37DA91", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "status", "defName": "是否启用(0停用 1启用)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "2446CFA5-703F-4D0E-BE69-C04644B75EF7", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "601E9F2C-35AD-466A-92F3-98FA72EF26F2", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "B962BEBB-C930-4CC6-B230-68A035FD67A9", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "4C5A7C7E-3056-4741-AA28-1A5FAD096D9E", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": 32, "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "uiHint": "", "id": "B89CBE81-47CD-4CBB-A2F5-3B5854C4B1E6", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "2194976B-3A45-474F-B2FD-C01F755E5B69", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "7F9252D0-9FEA-4583-A3B5-FB9CEFB65428", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "C1FFCB35-A6EA-45B5-9A08-3BFB10653FE2", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "4BF3E907-40C8-4C51-9F77-ECD3142FD7BE", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "correlations": [], "indexes": [], "type": "P" }, { "id": "7D364345-FF22-4F6D-BFCE-25F53C439D8B", "env": { "base": { "nameSpace": "", "codeRoot": "" } }, "defKey": "crm_address", "defName": "公司地址表", "comment": "", "properties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" }, "sysProps": { "nameTemplate": "{defKey}[{defName}]" }, "notes": {}, "headers": [ { "refKey": "hideInGraph", "hideInGraph": true }, { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true } ], "fields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "409DB48A-C034-42E9-B81D-BF7278E2D028", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "customer_id", "defName": "客户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "ECF8C84D-044E-4FCA-A319-2A3D3E12F535" }, { "defKey": "customer_code", "defName": "客户编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "68E37F9B-0640-49EC-BB7C-9A227C8A092D", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "addr_code", "defName": "地址编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "2058E564-62D1-4613-ABB0-6E9330E8DAD0" }, { "defKey": "addr_type", "defName": "地址类型(如:注册地址、办公地址、仓库地址、门店地址、家庭地址)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "extProps": {}, "domain": "C87E3277-0742-4453-BB85-ECF63F39872D", "id": "47D0CFAB-7972-423A-B23A-1C58DB9F6E37" }, { "defKey": "addr_info", "defName": "详细地址地址", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "F5C8D744-7629-4024-9518-06103AF4B575", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "addr_info_en", "defName": "联系详细英文地址", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "1598F7D4-3297-45B5-99A2-FCEE46340BEE", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "addr_remark", "defName": "线索备注", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "A362D960-9D81-41A9-B6C6-A24B1D2F190B", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "addr_remark_en", "defName": "线索英文备注", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "44B07F12-B5F4-40CF-8ABA-1D27D78BB9A5", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "postal_code", "defName": "邮政编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "0B76CE65-7789-4ACA-A0A2-D9011995AE20", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "status", "defName": "是否启用(0停用 1启用)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "65E4A858-2154-41D5-9F10-25115B95ECE6", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "04B33BC2-4225-43EC-B3BE-2839F05FC1AC", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "F75C5292-7229-4912-8FD7-BD2AF0AF8AF0", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "F3317C80-B93D-4164-B8A6-A43D97A8C58B", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": 32, "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "uiHint": "", "id": "D1DEB3BD-DD44-48E1-8740-F25A7B477C1E", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "84C3FB61-9837-4EAC-B52D-C29D78F5580B", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "5EFBD47F-62DD-4F94-B106-8027F2001A4E", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "D2715626-5E93-4E70-9199-C0750996E910", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "9DDC54B1-B507-4C42-876B-B55BD0140DAC", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "correlations": [], "indexes": [], "type": "P" }, { "id": "49A4EBA1-8FAD-481E-A113-D6A2147BE727", "env": { "base": { "nameSpace": "", "codeRoot": "" } }, "defKey": "crm_invoice", "defName": "发票抬头表", "comment": "", "properties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" }, "sysProps": { "nameTemplate": "{defKey}[{defName}]" }, "notes": {}, "headers": [ { "refKey": "hideInGraph", "hideInGraph": true }, { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true } ], "fields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "5523BFAA-244B-46DB-8463-1AA062974B2A", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "customer_id", "defName": "客户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "FD6811A3-C986-4BBC-AEAA-F536E1CA6E97", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "customer_code", "defName": "客户编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "93064D8D-2978-4ADF-9B8D-4C917ADE214B", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "invoice_title", "defName": "发票抬头", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "B9F937CA-7C39-4871-86ED-6D7C8C655868" }, { "defKey": "invoice_tax_no", "defName": "纳税人识别号", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "163225C9-2C9A-47C8-81C5-4D59E01BA578" }, { "defKey": "company_address", "defName": "单位地址", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "696D4F2F-DC1B-4C60-BFEC-969C57A2CA22" }, { "defKey": "company_phone", "defName": "联系电话", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "9A75F473-DF56-413A-AFA2-D23566B544A0" }, { "defKey": "bank_name", "defName": "开户银行", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "D0AD50CB-0716-4EC8-94D1-96E3A7FF4292" }, { "defKey": "bank_account", "defName": "银行账号", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "CF369DF0-500E-48A2-A647-17219815CE09" }, { "defKey": "status", "defName": "是否启用(0停用 1启用)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "8F6B92FB-CBBD-4450-8AC1-BF312862F1E9", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "08FDA86F-5F22-452B-B26D-D7DBEED1D1B3", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "3FEE8DEA-211D-45B3-A3AC-76D7E5DF6929", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "B0A7EB72-1B72-416F-8C5C-E3EFFC293852", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": 32, "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": "", "uiHint": "", "id": "6109E6C6-DD75-4A5E-AF72-826009AABFE0", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "94CD041C-1F55-4041-A9E0-0E4FE75093D5", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "FEECD7F4-F329-411A-B385-B538B4209940", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "329E4AE1-C53C-4BDF-8BD2-A063CCFEE6F9", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": "", "uiHint": "", "id": "692238A0-8E53-4780-B9C8-D54CD7BA0B0A", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "correlations": [], "indexes": [], "type": "P" }, { "id": "4792188B-654F-49C5-B149-C3D289CB9936", "env": { "base": { "nameSpace": "", "codeRoot": "" } }, "defKey": "crm_invoice_record", "defName": "开票记录表", "comment": "", "properties": { "partitioned by": "(date string)", "row format delimited": "", "fields terminated by ','": "", "collection items terminated by '-'": "", "map keys terminated by ':'": "", "store as textfile;": "" }, "sysProps": { "nameTemplate": "{defKey}[{defName}]" }, "notes": {}, "headers": [ { "refKey": "hideInGraph", "hideInGraph": true }, { "refKey": "defKey", "hideInGraph": false }, { "refKey": "defName", "hideInGraph": false }, { "refKey": "primaryKey", "hideInGraph": false }, { "refKey": "notNull", "hideInGraph": true }, { "refKey": "autoIncrement", "hideInGraph": true }, { "refKey": "domain", "hideInGraph": true }, { "refKey": "type", "hideInGraph": false }, { "refKey": "len", "hideInGraph": false }, { "refKey": "scale", "hideInGraph": false }, { "refKey": "comment", "hideInGraph": true }, { "refKey": "refDict", "hideInGraph": true }, { "refKey": "defaultValue", "hideInGraph": true }, { "refKey": "isStandard", "hideInGraph": false }, { "refKey": "uiHint", "hideInGraph": true }, { "refKey": "extProps", "hideInGraph": true } ], "fields": [ { "defKey": "id", "defName": "ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": true, "notNull": true, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "FC0AEAC3-E06B-4408-93BE-C0DE0E6BB361", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "customer_id", "defName": "客户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "43F88BBE-977D-44E2-9F4A-A51B87F179BF", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "customer_code", "defName": "客户编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": null, "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "5140D46E-30A0-4F94-96D8-62C6ED35D8DB", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "uiHint": null }, { "defKey": "invoice_type", "defName": "开票类型(01:增值税专用发票,02:货运运输业增值税专用发票,03:机动车销售统一发票,04:增值税普通发票,08:增值税电子专用发票(含全电,全电仅新版接口支持),10:增值税电子普通发票(含全电,全电仅新版接口支持),11:增值税普通发票(卷式),14:增值税电子(通行费)发票,15:二手车销售统一发票,32:深圳区块链发票,102:通用机打电子发票)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "CE1004FF-CF1C-4DEB-B661-1B5D5474E0B8", "extProps": {}, "domain": "7FCA70FD-7C0E-4A9D-97C6-1FEDFDA75C6D", "id": "C359B213-AD43-41F7-B18F-95D433AB96E5" }, { "defKey": "invoice_code", "defName": "开票编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "148B05C4-A27B-47C4-A280-AA2C6BC83B07" }, { "defKey": "invoice_number", "defName": "发票号码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "C6A977DC-CEB2-435E-95A3-AF5372840CCB" }, { "defKey": "invoice_date", "defName": "开票日期", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098", "extProps": {}, "domain": "314093CD-F021-4772-81C0-AB65BBE81F4B", "id": "5AFF4B1A-94E4-42BC-B1A6-EDECF1D4FE2D" }, { "defKey": "buyer_title", "defName": "购方抬头", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "88D22B7B-4CA2-4CA9-909B-9ADDA23D67FD", "uiHint": null }, { "defKey": "buyer_tax_no", "defName": "购方税号", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "70895305-D037-47DA-9392-2CC9F4D8B1D3", "uiHint": null }, { "defKey": "buyer_address", "defName": "购方地址", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "877732D6-6DA5-436A-87E4-DE71C8E270DF", "uiHint": null }, { "defKey": "buyer_phone", "defName": "购方电话", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "9882A740-A908-4395-B646-365929469AF6", "uiHint": null }, { "defKey": "buyer_bank_name", "defName": "购方开户银行", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "2BAA889E-54BC-4636-A5F1-6C6F155ADFD7", "uiHint": null }, { "defKey": "buyer_bank_account", "defName": "购方银行账号", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "A60F1A8C-F77E-4D65-9B7C-FBAE37127B6B", "uiHint": null }, { "defKey": "seller_title", "defName": "销方抬头", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "8B495BF8-62FD-468B-BBB9-188E5B6FB616", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "seller_tax_no", "defName": "销方税号", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "E8D55A1E-7BDC-44B4-A01A-D21604CD12D4", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "seller_address", "defName": "销方地址", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "BACE3795-B21A-48AA-962E-CC49A98EE6B5", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "seller_phone", "defName": "销方电话", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "E49C49BB-AA33-4852-B169-220BE654BC1D", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "seller_bank_name", "defName": "销方开户银行", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "A9E41F5C-6443-4745-A261-8F4FF705DBC2", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "seller_bank_account", "defName": "销方银行账号", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "B1B67829-9163-4267-AB86-1091DA36790C", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C" }, { "defKey": "amount_without_tax", "defName": "不含税金额(元)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "id": "5B07900B-CEC3-4A1C-AA89-ABE542AB1172" }, { "defKey": "tax_rate", "defName": "税率(13% 即0.13)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "FF4459C5-6B45-4DBF-8FC0-E06239BC05B4", "id": "BCC79366-DC7A-4782-B879-B53FE5444B22" }, { "defKey": "tax_amount", "defName": "税额(分)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "id": "8A177B67-376F-4912-994C-06CE2D639DBA" }, { "defKey": "amount_with_tax", "defName": "含税金额(元)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "id": "F5B57A76-F31D-44AE-9AAC-6095FEADBD38" }, { "defKey": "refund_ratio", "defName": "付款比例(30% 发票数量即0.3)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "FF4459C5-6B45-4DBF-8FC0-E06239BC05B4", "id": "C0C0A365-0005-45D6-91FE-8B5F69517327" }, { "defKey": "invoice_remark", "defName": "发票备注", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "F69F07A2-7DB0-4028-8FAC-BD07CBBC5342" }, { "defKey": "invoice_issuer", "defName": "开票人", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "id": "B2C4D436-9503-4E3E-89CD-68962379BC1A" }, { "defKey": "invoice_reviewer", "defName": "复核人", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "54857200-3FAF-43AD-98AE-671CC98D061C" }, { "defKey": "is_electron", "defName": "是否电子发票(0纸票 1电票)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "BC61DEF7-ADC7-45A9-B570-608F26DE02B5" }, { "defKey": "is_abandoned", "defName": "是否作废(红冲)(0未作废 1已作废 2红冲 3部分红冲 4全额红冲)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "CE1004FF-CF1C-4DEB-B661-1B5D5474E0B8", "extProps": {}, "domain": "7FCA70FD-7C0E-4A9D-97C6-1FEDFDA75C6D", "id": "BD9331CF-BCD7-4E83-AB98-CE6DF174AAFB" }, { "defKey": "has_seller_list", "defName": "是否有销货清单(0无清单 1有清单)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "BF3302A9-2292-4ACF-B731-15AFB3221B7C" }, { "defKey": "has_seller_contract", "defName": "是否有销售合同(0无合同 1有合同)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "675DBD4F-572E-4290-801D-942B51FDDAF4" }, { "defKey": "contract_id", "defName": "合同ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "364438F3-C5A1-497B-92DE-060B663322DD" }, { "defKey": "contract_code", "defName": "合同编码", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "B41253D1-C66B-41B2-9F29-518E85C1D1BD" }, { "defKey": "contract_amount", "defName": "合同金额(元)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "extProps": {}, "domain": "C3B1681B-99F9-4818-9E80-DE1652A51D85", "id": "265387A3-29E6-4147-B2AE-183D067272FA" }, { "defKey": "is_post", "defName": "是否需要邮寄(0传真 1邮寄)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "refDict": "", "extProps": {}, "notes": {}, "attr1": "", "attr2": "", "attr3": "", "attr4": "", "attr5": "", "attr6": "", "attr7": "", "attr8": "", "attr9": "", "id": "05B6A177-B78A-461C-8470-DE866F28FE5C", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E" }, { "defKey": "post_user", "defName": "邮寄联系人", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", "id": "CC813DBC-6EB4-443B-8B96-3CE445075659" }, { "defKey": "post_phone", "defName": "邮寄联系电话", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "extProps": {}, "domain": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C", "id": "A33397DE-50F3-468E-869A-3857F0275ED7" }, { "defKey": "post_address", "defName": "邮寄详细地址", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": "", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "extProps": {}, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "id": "521088DE-85D3-417C-BBD8-021A71BF6526" }, { "defKey": "status", "defName": "是否启用(0停用 1启用)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "39846CE3-8DDE-4D47-9BB1-71238AF3834D", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "uiHint": null }, { "defKey": "deleted", "defName": "是否删除(0正常 1删除)", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", "id": "AAD5CA01-E12B-4AE7-9944-6282E8F0E3A9", "baseType": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "uiHint": null }, { "defKey": "revision", "defName": "乐观锁", "comment": "", "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "F00D590A-1D45-4AC1-AC19-C0F8096C7618", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "dept_tenant_id", "defName": "部门租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "refDict": null, "extProps": {}, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "id": "5BCA1F75-E078-42A7-98EC-87625D91554A", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695", "uiHint": null }, { "defKey": "company_tenant_id", "defName": "公司租户ID", "comment": "", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "domain": "16120F75-6AA7-4483-868D-F07F511BB081", "refDict": null, "uiHint": null, "id": "009C6428-7C22-4954-8AE0-CBEA472AA0D6", "baseType": "B11C77FA-8557-4BCA-B423-212D7CD49695" }, { "defKey": "created_by", "defName": "创建人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "A8D6E35B-B559-49E5-88E2-656DD96706BC", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "created_at", "defName": "创建时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "739A2920-1EEE-4573-B73A-1D3BD5C4339C", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "updated_by", "defName": "更新人", "comment": "", "domain": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "97242E45-4F56-4BB9-94C2-E2CFC2180913", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "updated_at", "defName": "更新时间", "comment": "", "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "type": "", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": true, "refDict": null, "uiHint": null, "id": "A88F016E-39C6-45D2-ABA9-8E9344E85FFC", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" } ], "correlations": [], "indexes": [], "type": "P" } ], "views": [], "dicts": [ { "defKey": "Gender", "defName": "性别", "intro": "", "items": [ { "defKey": "M", "defName": "男", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "sort": "1", "id": "3622D417-DA1A-408F-BEE1-11D328D534A0" }, { "defKey": "F", "defName": "女", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "sort": "2", "id": "380A0790-64A7-481E-831C-32F7BEE1502B" }, { "defKey": "U", "defName": "未知", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "sort": "3", "id": "FA239F4D-1276-40D9-B230-F66BD35C3C27" } ], "id": "BF9E20E0-80D3-486D-BD58-5FADCF3E4A1D" }, { "defKey": "Political", "defName": "政治面貌", "intro": "", "items": [ { "defKey": "10", "defName": "共青团员", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "61F3145A-7599-4CCB-B298-D5EE788107BE" }, { "defKey": "20", "defName": "中共党员", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "ED16D25A-AB2F-4FA0-BB48-2B9031FA28C4" }, { "defKey": "30", "defName": "民主党派", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "0FB7974A-AE11-438F-86E0-B163316F9272" }, { "defKey": "40", "defName": "群众", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "7D247234-7E97-45B1-8C56-4A17A370854A" }, { "defKey": "90", "defName": "未知", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "DA65D752-AF04-4A11-81D8-14A38692A64A" } ], "id": "06EED564-BBA9-4747-8D73-AF809A330CB8" }, { "defKey": "Marital", "defName": "婚姻状况", "intro": "婚姻状况的码表", "items": [ { "defKey": "UNMARRIED", "defName": "未婚", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "sort": "1", "id": "20EE81BC-74EE-47DA-A56F-9663B23F44BD" }, { "defKey": "MARRIED", "defName": "已婚", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "sort": "2", "id": "4DCA10A8-417E-4A8D-BDF6-0A278C060ADC" }, { "defKey": "WIDOWED", "defName": "丧偶", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "sort": "3", "id": "826062A7-057C-4892-B338-06459F5B808D" }, { "defKey": "DIVORCE", "defName": "离婚", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "sort": "4", "id": "B23200B4-5E59-4F5E-A779-D981A040FA32" }, { "defKey": "UNSPECIFIED", "defName": "未说明", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "sort": "5", "id": "A7928FE2-349A-4702-9682-2EF7205E077B" } ], "id": "EA1587B7-3954-437A-BFE0-FCB0453BCABA" }, { "defKey": "StudentStatus", "defName": "学生状态", "intro": "", "items": [ { "defKey": "Normal", "defName": "正常", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "sort": "1", "id": "E9CA1CC9-8851-4F6B-86BA-B9CF0E44EB73" }, { "defKey": "Graduated", "defName": "毕业", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "sort": "2", "id": "DEC51D7C-99DF-430C-817D-0499862D3CCC" }, { "defKey": "Studied", "defName": "肄业", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "sort": "3", "id": "8853D6B6-75D3-4479-9006-FC731CD85B20" }, { "defKey": "Stop", "defName": "休学", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "sort": "4", "id": "C74BA8CF-1DC6-4C79-BAAC-F11EB9C6AF01" } ], "id": "4642BC5F-02EE-4E17-A60C-CF22F86A0282" }, { "defKey": "GBNation", "defName": "民族", "intro": "", "items": [ { "defKey": "01", "defName": "汉族", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "9224DF53-F7C0-447D-B8ED-0A39F799EE19" }, { "defKey": "02", "defName": "蒙古族", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "D57818E3-9206-45BB-AE79-27C64A4AB80F" }, { "defKey": "03", "defName": "回族", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "0A1A3CA9-6D68-4E15-8BD0-9A2FF428D804" }, { "defKey": "04", "defName": "藏族", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "7CC6B6BE-47EA-460E-ACFA-C377468DEA11" }, { "defKey": "05", "defName": "维吾尔族", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "A666D51F-D249-4FAC-B1F3-78C371836CB3" }, { "defKey": "06", "defName": "苗族", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "A0C9E1BA-D87B-4695-ADFA-287FDA32BB5A" }, { "defKey": "07", "defName": "彝族", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "149B5B9E-C1D1-4790-8CCF-0ED5F4B25172" }, { "defKey": "08", "defName": "壮族", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "F9A3E65C-BF4D-4C6B-ADB7-8C9CF0487360" }, { "defKey": "09", "defName": "布依族", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "14F17DE4-E96A-460B-98A6-F84EC8CF9885" }, { "defKey": "10", "defName": "朝鲜族", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "8A81AB18-B1BF-4797-A6E5-DEDB2C6566B0" }, { "defKey": "11", "defName": "满族", "intro": "", "parentKey": "", "enabled": true, "attr1": "", "attr2": "", "attr3": "", "id": "7D460947-FBD2-4E4D-8366-3B38DCAF09D1" } ], "id": "115EDEFC-0323-410E-81AB-CCAB8879837A" }, { "defKey": "GradeLevel", "defName": "受教育程度", "sort": "", "intro": "", "items": [], "id": "9E7C9788-B805-4C7D-8531-FD1D9DC79B05" } ], "viewGroups": [ { "defKey": "remi-crm-cms", "defName": "内容门户", "refEntities": [], "refViews": [], "refDiagrams": [], "refDicts": [], "id": "CD25BA4D-E6E7-44AF-976F-CDA2E0AA82E7" } ], "dataTypeMapping": { "referURL": "", "mappings": [ { "defKey": "ID", "defName": "ID", "id": "B11C77FA-8557-4BCA-B423-212D7CD49695", "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "VARCHAR", "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "VARCHAR", "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "VARCHAR2", "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "VARCHAR" }, { "defKey": "CODE", "defName": "编码", "id": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "VARCHAR", "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "VARCHAR", "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "VARCHAR2", "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "VARCHAR" }, { "defKey": "DICT", "defName": "字典", "id": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "VARCHAR", "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "VARCHAR", "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "VARCHAR2", "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "VARCHAR" }, { "defKey": "YesNo", "defName": "是否", "id": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "INT2", "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "INT", "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "INT", "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "INT" }, { "defKey": "STATUS", "defName": "状态", "id": "CE1004FF-CF1C-4DEB-B661-1B5D5474E0B8", "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "INT2", "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "INT", "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "INT", "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "INT" }, { "defKey": "SORT", "defName": "排序", "id": "6C3C997C-D2EB-435C-8B83-08A14EB3BD1A", "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "INT4", "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "INT", "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "INT", "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "INT" }, { "defKey": "int", "defName": "整数", "id": "1D764C4A-6F9F-421E-B11A-6F3E23B51811", "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "INT", "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "INT", "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "INT", "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "INT8", "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "INT", "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "INTEGER", "592C7013-143D-4E7B-AF64-0D7BF1E28230": "INTEGER", "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "INT4", "11D1FB71-A587-4217-89BA-611B8A1F83E0": "INT", "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "INTEGER", "797A1496-D649-4261-89B4-544132EC3F36": "Integer", "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "Integer", "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "Integer", "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "float", "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "int", "B91D99E0-9B7C-416C-8737-B760957DAF09": "*int" }, { "defKey": "double", "defName": "小数", "id": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "DECIMAL", "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "DECIMAL", "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "DECIMAL", "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "NUMERIC", "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "DECIMAL", "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "DECIMAL", "592C7013-143D-4E7B-AF64-0D7BF1E28230": "NUMERIC", "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "NUMERIC", "11D1FB71-A587-4217-89BA-611B8A1F83E0": "DOUBLE", "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "REAL", "797A1496-D649-4261-89B4-544132EC3F36": "Double", "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "Double", "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "Double", "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "decimal", "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "double", "B91D99E0-9B7C-416C-8737-B760957DAF09": "*float64" }, { "defKey": "date", "defName": "日期", "id": "89D69E81-EA34-42EE-9FA2-93B8BD27E098", "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "DATE", "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "DATE", "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "DATETIME", "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "TIMESTAMP", "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "DATE", "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "DATE", "592C7013-143D-4E7B-AF64-0D7BF1E28230": "DATE", "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "DATE", "11D1FB71-A587-4217-89BA-611B8A1F83E0": "DATETIME", "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "NUMERIC", "797A1496-D649-4261-89B4-544132EC3F36": "Date", "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "Date", "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "Date", "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "DateTime", "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "timestamp", "B91D99E0-9B7C-416C-8737-B760957DAF09": "*time.Time" }, { "defKey": "datetime", "defName": "日期时间", "id": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7", "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "DATETIME", "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "DATE", "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "DATETIME", "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "TIMESTAMP", "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "DATE", "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "DATE", "592C7013-143D-4E7B-AF64-0D7BF1E28230": "DATE", "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "DATE", "11D1FB71-A587-4217-89BA-611B8A1F83E0": "DATETIME", "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "NUMERIC", "797A1496-D649-4261-89B4-544132EC3F36": "LocalDateTime", "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "Date", "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "Date", "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "DateTime", "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "timestamp", "B91D99E0-9B7C-416C-8737-B760957DAF09": "*time.Time" }, { "defKey": "string", "defName": "字符串", "id": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "VARCHAR", "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "VARCHAR2", "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "VARCHAR", "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "VARCHAR", "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "VARCHAR", "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "VARCHAR2", "592C7013-143D-4E7B-AF64-0D7BF1E28230": "VARCHAR", "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "VARCHAR", "11D1FB71-A587-4217-89BA-611B8A1F83E0": "STRING", "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "TEXT", "797A1496-D649-4261-89B4-544132EC3F36": "String", "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "String", "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "String", "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "string", "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "string", "B91D99E0-9B7C-416C-8737-B760957DAF09": "string" }, { "defKey": "bytes", "defName": "二进制", "id": "D516E75B-90F5-4741-B9B3-A186A263F04C", "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "BLOB", "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "BLOB", "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "VARBINARY", "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "BYTEA", "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "BLOB", "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "BLOB", "592C7013-143D-4E7B-AF64-0D7BF1E28230": "BYTEA", "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "BYTEA", "11D1FB71-A587-4217-89BA-611B8A1F83E0": "BINARY", "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "NONE", "797A1496-D649-4261-89B4-544132EC3F36": "byte[]", "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "byte[]", "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "byte[]", "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "binary", "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "binary", "B91D99E0-9B7C-416C-8737-B760957DAF09": "[]byte" }, { "defKey": "largeText", "defName": "大文本", "id": "B17BDED3-085F-40E1-9019-3B79CF2BF075", "29D1CE08-4C35-4D2D-AAA9-23D93305B52E": "TEXT", "A4E23CB7-BB01-4BD1-9F71-F73F3E15A542": "CLOB", "BFC87171-C74F-494A-B7C2-76B9C55FACC9": "TEXT", "DFBEC1DD-AA84-456E-BBF3-C95DD0DB2022": "TEXT", "89504F5D-94BF-4C9E-8B2E-44F37305FED5": "CLOB", "0BBCABA5-B8E4-41B0-B8E4-8F5EA6029307": "CLOB", "592C7013-143D-4E7B-AF64-0D7BF1E28230": "TEXT", "77BD85E5-9D0D-4096-8427-CBA306FC9C6A": "TEXT", "11D1FB71-A587-4217-89BA-611B8A1F83E0": "STRING", "B363BE0B-F852-49B8-9B2E-F6D2174DEAC1": "TEXT", "797A1496-D649-4261-89B4-544132EC3F36": "String", "895CFD1D-4273-4D32-A2C4-CAC70200AB5B": "String", "A2EE7B4A-CE62-4290-B00C-B26C1BF18073": "String", "F3AC2415-E86B-40C6-9FEB-F4B7937D2C30": "string", "81CCA482-3F4D-4EAC-8CF9-F5E7BC098AD2": "string", "B91D99E0-9B7C-416C-8737-B760957DAF09": "string" } ] }, "domains": [ { "defKey": "IdOrKey", "defName": "ID", "applyFor": "B11C77FA-8557-4BCA-B423-212D7CD49695", "len": 19, "scale": "", "uiHint": "", "id": "16120F75-6AA7-4483-868D-F07F511BB081" }, { "defKey": "CODE", "defName": "编码", "applyFor": "89F707EF-104B-4CB0-94EE-94FA1288D21C", "len": 64, "scale": "", "uiHint": "", "id": "44982D87-E05E-40EE-B0DC-20BDFC2B0B9C" }, { "defKey": "Name", "defName": "名称", "applyFor": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "len": 128, "scale": "", "uiHint": "", "id": "54611CCC-CA4B-42E1-9F32-4944C85B85A6" }, { "defKey": "DICT", "defName": "字典", "applyFor": "85A49B42-CDEF-468C-A00A-07DBD5E996C8", "len": 64, "scale": "", "uiHint": "", "id": "C87E3277-0742-4453-BB85-ECF63F39872D" }, { "defKey": "YesNo", "defName": "是否", "applyFor": "D2DA399F-6B5D-436A-A0A6-9DF0EC3E967E", "len": "", "scale": "", "uiHint": "", "id": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF" }, { "defKey": "Status", "defName": "状态", "applyFor": "CE1004FF-CF1C-4DEB-B661-1B5D5474E0B8", "len": "", "scale": "", "uiHint": "", "id": "7FCA70FD-7C0E-4A9D-97C6-1FEDFDA75C6D" }, { "defKey": "SORT", "defName": "排序", "applyFor": "6C3C997C-D2EB-435C-8B83-08A14EB3BD1A", "len": "", "scale": "", "uiHint": "", "id": "65303E6C-8BE0-44F9-8184-689D9AE6D345" }, { "defKey": "Int", "defName": "整数", "applyFor": "1D764C4A-6F9F-421E-B11A-6F3E23B51811", "len": "", "scale": "", "uiHint": "", "id": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E" }, { "defKey": "Double", "defName": "小数", "applyFor": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "len": 24, "scale": 6, "uiHint": "", "id": "FF4459C5-6B45-4DBF-8FC0-E06239BC05B4" }, { "defKey": "Money", "defName": "金额", "applyFor": "1A0BDC09-0792-4174-9E8E-80BE8DF44B8E", "len": 24, "scale": 6, "uiHint": "", "id": "C3B1681B-99F9-4818-9E80-DE1652A51D85" }, { "defKey": "userName", "defName": "用户名", "applyFor": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "len": 64, "scale": "", "uiHint": "", "id": "D2A4B23A-2673-40B5-94DB-3D7DE6480C8C" }, { "defKey": "DefaultString", "defName": "字符串", "applyFor": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "len": 255, "scale": "", "uiHint": "", "id": "9092C4E0-1A54-4859-ABBB-5B62DBC27573" }, { "defKey": "Date", "defName": "年月日", "applyFor": "89D69E81-EA34-42EE-9FA2-93B8BD27E098", "len": "", "scale": "", "uiHint": "", "id": "314093CD-F021-4772-81C0-AB65BBE81F4B" }, { "defKey": "DateTime", "defName": "日期时间", "applyFor": "783CF9F8-8AB5-4227-9D7B-10B2A940CAB7", "len": "", "scale": "", "uiHint": "", "id": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC" }, { "defKey": "Dict", "defName": "数据字典", "applyFor": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", "len": "32", "scale": "", "uiHint": "", "id": "73FD2BAD-2358-4336-B96D-45DC897BD792" }, { "defKey": "DescText", "defName": "描述文本", "applyFor": "B17BDED3-085F-40E1-9019-3B79CF2BF075", "len": "", "scale": "", "uiHint": "", "id": "3E948CEC-3070-472C-AF92-F3CA11EC9D15" } ], "diagrams": [ { "defKey": "relation", "defName": "业务关系图", "relationType": "field", "canvasData": { "cells": [ { "id": "176f459a-7e1f-411d-811f-8ce31054bb2c", "shape": "table", "position": { "x": -10, "y": -40 }, "count": 0, "originKey": "2B1221C2-754D-438A-B75C-45EFC6982A43", "type": "P", "size": { "width": 797, "height": 353 } } ] }, "id": "4098BE0C-A861-415C-A3C3-B2F68436560F", "comment": "" } ], "standardFields": [ { "defKey": "personInfo", "defName": "个人基本信息要素", "fields": [ { "defKey": "ID_CARD_NO", "defName": "身份证号", "comment": "", "type": "VARCHAR", "len": "60", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "uiHint": "", "id": "A64A91C8-A41F-4113-92FB-7563D7EF054D", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "MOBILE_PHONE", "defName": "手机号", "comment": "", "type": "VARCHAR", "len": "60", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "uiHint": "", "id": "479DA2AB-1974-411A-A81E-92FB939E75EB", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "GENDER", "defName": "性别", "comment": "", "type": "VARCHAR", "len": "32", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", "refDict": "BF9E20E0-80D3-486D-BD58-5FADCF3E4A1D", "uiHint": "", "id": "48473E29-6594-4912-AADE-C8AB44FCA3E9", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "BIRTH", "defName": "出生日期", "comment": "", "type": "DATETIME", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", "refDict": "", "uiHint": "", "id": "2BD3D2EE-2411-49A6-983D-84B81057312F", "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { "defKey": "AVATAR", "defName": "头像", "comment": "", "type": "VARCHAR", "len": "60", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "uiHint": "", "id": "FDD67CEE-4B52-4BD1-A1A3-9C5EBC6037E6", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "HEIGHT", "defName": "身高", "comment": "", "type": "INT", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "refDict": "", "uiHint": "", "id": "CAAA0E79-41A1-4758-B481-D171168C4D68", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "WEIGHT", "defName": "体重", "comment": "", "type": "INT", "len": "", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "refDict": "", "uiHint": "", "id": "575482CE-64A6-4CB9-99DC-8E126D190AAA", "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811" }, { "defKey": "NATION", "defName": "名族", "comment": "", "type": "VARCHAR", "len": "32", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", "refDict": "115EDEFC-0323-410E-81AB-CCAB8879837A", "uiHint": "", "id": "15B0D75D-0B97-4985-A816-D0EAFA90446B", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "POLITICAL", "defName": "政治面貌", "comment": "", "type": "VARCHAR", "len": "32", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", "refDict": "06EED564-BBA9-4747-8D73-AF809A330CB8", "uiHint": "", "id": "F458E86D-84D6-45A1-9DD3-51E6C8170D7F", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "MARITAL", "defName": "婚姻状况", "comment": "", "type": "VARCHAR", "len": "32", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", "refDict": "EA1587B7-3954-437A-BFE0-FCB0453BCABA", "uiHint": "", "id": "7275E578-6893-4922-AC69-95B261BFBD61", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "DOMICILE_PLACE_PROVINCE", "defName": "籍贯(省)", "comment": "", "type": "VARCHAR", "len": "60", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "uiHint": "", "id": "F04BF130-3EC1-4E02-9DED-3214CA88E352", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "DOMICILE_PLACE_CITY", "defName": "籍贯(市)", "comment": "", "type": "VARCHAR", "len": "32", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "73FD2BAD-2358-4336-B96D-45DC897BD792", "refDict": "", "uiHint": "", "id": "B97F5BC2-33DE-4857-9DB8-ECFD02C9040C", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" }, { "defKey": "DOMICILE_PLACE_ADDRESS", "defName": "户籍地址", "comment": "", "type": "VARCHAR", "len": "60", "scale": "", "primaryKey": false, "notNull": false, "autoIncrement": false, "defaultValue": "", "hideInGraph": false, "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", "refDict": "", "uiHint": "", "id": "812ADF1D-8C03-40CA-B030-E539838FB889", "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64" } ], "id": "F30202B9-4B5D-4CE7-87CE-B3890C84D3F2" } ], "dbConn": [], "namingRules": [ { "id": "63F1DC0E-6A76-4B75-B3DA-4B00657B4E1B", "defName": "属性代码不能超过32", "intro": "", "controlIntensity": "S", "applyObjectType": "L", "applyFieldType": "field", "programCode": "return (data.field.defName||\"\").length <= 32", "enable": true }, { "id": "668CBEE6-E0B7-4ACE-B72E-63942963B191", "defName": "长度不能超过32位", "intro": "", "controlIntensity": "F", "applyObjectType": "P", "applyFieldType": "entity", "programCode": "return (data.entity.defName||\"\").length <= 32", "enable": true }, { "id": "11BD987F-82E7-418E-A752-FDD84F1582A2", "defName": "长度不能超过32位", "intro": "", "controlIntensity": "F", "applyObjectType": "P", "applyFieldType": "field", "programCode": "return (data.field.defName||\"\").length <= 32", "enable": true }, { "id": "29D0A8D9-ABE2-451F-8A39-52FAB02E62B9", "defName": "索引名-长度不超过32个字符", "intro": "", "controlIntensity": "S", "applyObjectType": "P", "applyFieldType": "index", "programCode": "return (data.index.defName||\"\").length <= 32", "enable": true }, { "id": "B425A96F-6A31-4DBD-8743-A00DE28FB50F", "defName": "不能使用保留字", "intro": "", "controlIntensity": "S", "applyObjectType": "P", "applyFieldType": "index", "programCode": "let sysWords = \"action,add,aggregate,all,alter,after,and,as,asc,avg,avg_row_length,auto_increment,between,bigint,bit,binary,blob,bool,both,by,cascade,case,char,character,change,check,checksum,column,columns,comment,constraint,create,cross,current_date,current_time,current_timestamp,data,database,databases,date,datetime,day,day_hour,day_minute,day_second,dayofmonth,dayofweek,dayofyear,dec,decimal,default,delayed,delay_key_write,delete,desc,describe,distinct,distinctrow,double,drop,end,else,escape,escaped,enclosed,enum,explain,exists,fields,file,first,float,float4,float8,flush,foreign,from,for,full,function,global,grant,grants,group,having,heap,high_priority,hour,hour_minute,hour_second,hosts,identified,ignore,in,index,infile,inner,insert,insert_id,int,integer,interval,int1,int2,int3,int4,int8,into,if,is,isam,join,key,keys,kill,last_insert_id,leading,left,length,like,lines,limit,load,local,lock,logs,long,longblob,longtext,low_priority,max,max_rows,match,mediumblob,mediumtext,mediumint,middleint,min_rows,minute,minute_second,modify,month,monthname,myisam,natural,numeric,no,not,null,on,optimize,option,optionally,or,order,outer,outfile,pack_keys,partial,password,precision,primary,procedure,process,processlist,privileges,read,real,references,reload,regexp,rename,replace,restrict,returns,revoke,rlike,row,rows,second,select,set,show,shutdown,smallint,soname,sql_big_tables,sql_big_selects,sql_low_priority_updates,sql_log_off,sql_log_update,sql_select_limit,sql_small_result,sql_big_result,sql_warnings,straight_join,starting,status,string,table,tables,temporary,terminated,text,then,time,timestamp,tinyblob,tinytext,tinyint,trailing,to,type,use,using,unique,unlock,unsigned,update,usage,values,varchar,variables,varying,varbinary,with,write,when,where,year,year_month,zerofill\".split(\",\");\nreturn sysWords.indexOf(data.index.defKey.toLowerCase())<0;", "enable": true }, { "id": "EF9E44D0-691A-4352-A079-CFF300107531", "defName": "索引名-全小写", "intro": "", "controlIntensity": "F", "applyObjectType": "P", "applyFieldType": "index", "programCode": "return !/[A-Z]+/.test(data.index.defKey);", "enable": true }, { "id": "972EB2FB-4428-429D-8B0A-F082A8C7A94D", "defName": "名称不能为空", "intro": "", "controlIntensity": "F", "applyObjectType": "L", "applyFieldType": "entity", "programCode": "return data.logicEntity.defName", "enable": true }, { "id": "EEAEB9C5-BB6C-4E92-949B-D27928690D85", "defName": "名称长度不超过32", "intro": "", "controlIntensity": "S", "applyObjectType": "L", "applyFieldType": "entity", "programCode": "return (data.logicEntity.defName||\"\").length <=32", "enable": true }, { "id": "24E3F7E5-730D-4378-B72D-195D6B940352", "defName": "不能使用保留字", "intro": "", "controlIntensity": "F", "applyObjectType": "P", "applyFieldType": "entity", "programCode": "let sysWords = \"action,add,aggregate,all,alter,after,and,as,asc,avg,avg_row_length,auto_increment,between,bigint,bit,binary,blob,bool,both,by,cascade,case,char,character,change,check,checksum,column,columns,comment,constraint,create,cross,current_date,current_time,current_timestamp,data,database,databases,date,datetime,day,day_hour,day_minute,day_second,dayofmonth,dayofweek,dayofyear,dec,decimal,default,delayed,delay_key_write,delete,desc,describe,distinct,distinctrow,double,drop,end,else,escape,escaped,enclosed,enum,explain,exists,fields,file,first,float,float4,float8,flush,foreign,from,for,full,function,global,grant,grants,group,having,heap,high_priority,hour,hour_minute,hour_second,hosts,identified,ignore,in,index,infile,inner,insert,insert_id,int,integer,interval,int1,int2,int3,int4,int8,into,if,is,isam,join,key,keys,kill,last_insert_id,leading,left,length,like,lines,limit,load,local,lock,logs,long,longblob,longtext,low_priority,max,max_rows,match,mediumblob,mediumtext,mediumint,middleint,min_rows,minute,minute_second,modify,month,monthname,myisam,natural,numeric,no,not,null,on,optimize,option,optionally,or,order,outer,outfile,pack_keys,partial,password,precision,primary,procedure,process,processlist,privileges,read,real,references,reload,regexp,rename,replace,restrict,returns,revoke,rlike,row,rows,second,select,set,show,shutdown,smallint,soname,sql_big_tables,sql_big_selects,sql_low_priority_updates,sql_log_off,sql_log_update,sql_select_limit,sql_small_result,sql_big_result,sql_warnings,straight_join,starting,status,string,table,tables,temporary,terminated,text,then,time,timestamp,tinyblob,tinytext,tinyint,trailing,to,type,use,using,unique,unlock,unsigned,update,usage,values,varchar,variables,varying,varbinary,with,write,when,where,year,year_month,zerofill\".split(\",\");\nreturn sysWords.indexOf(data.entity.defKey.toLowerCase())<0;", "enable": true }, { "id": "039BF435-DC77-4DA4-81C7-7F8076BF22BB", "defName": "表名-全小写", "intro": "", "controlIntensity": "S", "applyObjectType": "P", "applyFieldType": "entity", "programCode": "return !/[A-Z]+/.test(data.entity.defKey);", "enable": true }, { "id": "CBEB0E30-19C6-427D-A8BF-61FF10E27A0B", "defName": "表名-不允许空格", "intro": "", "controlIntensity": "F", "applyObjectType": "P", "applyFieldType": "entity", "programCode": "return !/\\s+/.test(data.entity.defKey);", "enable": true }, { "id": "1168C7C2-8E8E-4FB7-B639-B3DE839C395A", "defName": "表名-英文及下划线", "intro": "", "controlIntensity": "F", "applyObjectType": "P", "applyFieldType": "entity", "programCode": "return /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(data.entity.defKey);", "enable": true }, { "id": "D373637C-D3A6-4621-B656-6841A5444A76", "defName": "表必须有comment注释", "intro": "", "controlIntensity": "S", "applyObjectType": "P", "applyFieldType": "entity", "programCode": "return (data.entity.defName||\"\").length > 0 || (data.entity.comment||\"\").length > 0", "enable": true }, { "id": "2BAB122B-8811-40BB-89F3-CDC24B5862D3", "defName": "主键命名为 id,类型为 int 或 bigint,且为自增", "intro": "", "controlIntensity": "S", "applyObjectType": "P", "applyFieldType": "entity", "programCode": "let fields = data.entity.fields;\nfor(let i=0;i=0){\n count ++;\n }\n}\nreturn count==2;", "enable": true }, { "id": "BEC54F19-52D5-4882-BCE1-4439785F8001", "defName": "不能使用保留字", "intro": "", "controlIntensity": "S", "applyObjectType": "P", "applyFieldType": "field", "programCode": "let sysWords = \"action,add,aggregate,all,alter,after,and,as,asc,avg,avg_row_length,auto_increment,between,bigint,bit,binary,blob,bool,both,by,cascade,case,char,character,change,check,checksum,column,columns,comment,constraint,create,cross,current_date,current_time,current_timestamp,data,database,databases,date,datetime,day,day_hour,day_minute,day_second,dayofmonth,dayofweek,dayofyear,dec,decimal,default,delayed,delay_key_write,delete,desc,describe,distinct,distinctrow,double,drop,end,else,escape,escaped,enclosed,enum,explain,exists,fields,file,first,float,float4,float8,flush,foreign,from,for,full,function,global,grant,grants,group,having,heap,high_priority,hour,hour_minute,hour_second,hosts,identified,ignore,in,index,infile,inner,insert,insert_id,int,integer,interval,int1,int2,int3,int4,int8,into,if,is,isam,join,key,keys,kill,last_insert_id,leading,left,length,like,lines,limit,load,local,lock,logs,long,longblob,longtext,low_priority,max,max_rows,match,mediumblob,mediumtext,mediumint,middleint,min_rows,minute,minute_second,modify,month,monthname,myisam,natural,numeric,no,not,null,on,optimize,option,optionally,or,order,outer,outfile,pack_keys,partial,password,precision,primary,procedure,process,processlist,privileges,read,real,references,reload,regexp,rename,replace,restrict,returns,revoke,rlike,row,rows,second,select,set,show,shutdown,smallint,soname,sql_big_tables,sql_big_selects,sql_low_priority_updates,sql_log_off,sql_log_update,sql_select_limit,sql_small_result,sql_big_result,sql_warnings,straight_join,starting,status,string,table,tables,temporary,terminated,text,then,time,timestamp,tinyblob,tinytext,tinyint,trailing,to,type,use,using,unique,unlock,unsigned,update,usage,values,varchar,variables,varying,varbinary,with,write,when,where,year,year_month,zerofill\".split(\",\");\nreturn sysWords.indexOf(data.field.defKey.toLowerCase())<0;", "enable": true }, { "id": "082E186D-7B02-4F1C-9ECE-378AB98C4845", "defName": "字段-全小写", "intro": "", "controlIntensity": "S", "applyObjectType": "P", "applyFieldType": "field", "programCode": "return !/[A-Z]+/.test(data.field.defKey);", "enable": true }, { "id": "F3CE5C67-23B6-4E7B-BA91-D5F0BCBC9E6A", "defName": "字段-不允许空格", "intro": "", "controlIntensity": "F", "applyObjectType": "P", "applyFieldType": "field", "programCode": "return !/\\s+/.test(data.field.defKey);", "enable": true }, { "id": "21AFEAC8-96D7-467F-8320-A33887FC0C5D", "defName": "字段-英文及下划线", "intro": "", "controlIntensity": "F", "applyObjectType": "P", "applyFieldType": "field", "programCode": "return /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(data.field.defKey);", "enable": true }, { "id": "2BBDE47B-6926-4E1A-AE57-D4F6E5399EE6", "defName": "字段-必需有comment注释", "intro": "", "controlIntensity": "F", "applyObjectType": "P", "applyFieldType": "field", "programCode": "return (data.field.defName||\"\").length > 0 || (data.field.comment||\"\").length > 0", "enable": true }, { "id": "5E181E43-0D72-498F-8178-4C1CDBC89A16", "defName": "字段-不能与表名相同", "intro": "", "controlIntensity": "F", "applyObjectType": "P", "applyFieldType": "field", "programCode": "return data.field.defKey != data.entity.defKey;", "enable": true }, { "id": "DE8F8598-5D53-4727-A837-7816C2AF99D9", "defName": "外键-字段必须具有表名及其主键", "intro": "", "controlIntensity": "S", "applyObjectType": "P", "applyFieldType": "field", "programCode": "let relas = data.entity.correlations;\nfor(let i=0;i=0 || data.field.defName.lastIndexOf(\"时间\")>=0 ){\n if(data.field.dbType.toLowerCase().indexOf(\"date\")>=0){\n return true;\n }else{\n return false;\n }\n};\nreturn true;", "enable": true }, { "id": "2E7FDA44-989A-4C5B-A0C5-12B1E40E57B1", "defName": "索引名-英文及下划线", "intro": "", "controlIntensity": "S", "applyObjectType": "P", "applyFieldType": "index", "programCode": "return /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(data.index.defKey);", "enable": true }, { "id": "023450B3-AAE2-4DC1-AE63-2196DD82823D", "defName": "索引名-主键的名称以pk_开头,唯一键以uk_开头,普通索引以 ix_开头", "intro": "", "controlIntensity": "S", "applyObjectType": "P", "applyFieldType": "index", "programCode": "if(data.index.unique){\n return data.index.defKey.indexOf(\"uk_\")==0;\n}else{\n return data.index.defKey.indexOf(\"ix_\")==0;\n}", "enable": true }, { "id": "1C563E17-262B-4EB6-87F0-203CAC667CF0", "defName": "不允许存在blob、text等大字段", "intro": "", "controlIntensity": "S", "applyObjectType": "P", "applyFieldType": "field", "programCode": "if(\"blob,text\".indexOf(data.field.dbType.toLowerCase())>=0){\n return false;\n}\nreturn true;", "enable": true } ] }