Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
Laisi_AutoMES2
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jiawei.su
Laisi_AutoMES2
Commits
2525380d
Commit
2525380d
authored
Jan 22, 2021
by
lyy
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://test.siger-data.com:9000/jiawei.su/Laisi_AutoMES2
into master
parents
76c4f5d7
c26b36f0
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
366 additions
and
13 deletions
+366
-13
associateProduct.vue
Html/src/view/fms/associate/associateProduct.vue
+0
-0
accountInfo.vue
Html/src/view/fms/config/accountInfo.vue
+0
-0
typeMaintenance.vue
Html/src/view/fms/config/typeMaintenance.vue
+1
-0
storageInfoQuery.vue
Html/src/view/wms/whStatusQuery/storageInfoQuery.vue
+1
-0
AutomationController.cs
Server/Apis/Siger.ApiACC/Controllers/AutomationController.cs
+26
-0
AutomationOperateController.cs
...s/Siger.ApiACC/Controllers/AutomationOperateController.cs
+170
-0
FixtureToolsAssemblyController.cs
...iger.ApiACC/Controllers/FixtureToolsAssemblyController.cs
+1
-1
DownloadController.cs
Server/Apis/Siger.ApiConfig/Controller/DownloadController.cs
+41
-0
PositionController.cs
Server/Apis/Siger.ApiConfig/Controller/PositionController.cs
+12
-2
LocationController.cs
Server/Apis/Siger.ApiWMS/Controllers/LocationController.cs
+8
-0
AccDictCost.cs
...er/Common/Siger.Middlelayer.Share/Constant/AccDictCost.cs
+1
-1
DictKeyValConst.cs
...ommon/Siger.Middlelayer.Share/Constant/DictKeyValConst.cs
+3
-6
ApiAccDbContext.cs
...tories/Siger.Middlelayer.AccRepository/ApiAccDbContext.cs
+3
-0
siger_automation_line_mode.cs
...ayer.AccRepository/Entities/siger_automation_line_mode.cs
+5
-0
AutomationFixtureToolsProductRepository.cs
...y/Repositories/AutomationFixtureToolsProductRepository.cs
+1
-1
requestAutoLoad.cs
...iger.Middlelayer.AccRepository/Request/requestAutoLoad.cs
+38
-0
FixtureToolsCategory.cs
...iddlelayer.AccRepository/Response/FixtureToolsCategory.cs
+1
-1
ResponseAutomationInfo.cs
...dlelayer.AccRepository/Response/ResponseAutomationInfo.cs
+30
-0
ResponseLoadStation.cs
...er.Middlelayer.Repository/Response/ResponseLoadStation.cs
+22
-0
DB.script
Server/Infrastructure/Script/DB.script
+2
-1
No files found.
Html/src/view/fms/associate/associateProduct.vue
View file @
2525380d
This diff is collapsed.
Click to expand it.
Html/src/view/fms/config/accountInfo.vue
View file @
2525380d
This diff is collapsed.
Click to expand it.
Html/src/view/fms/config/typeMaintenance.vue
View file @
2525380d
...
...
@@ -134,6 +134,7 @@ export default {
created
(){
this
.
initFrockType
();
//工装类型树形结构
this
.
tosearch
();
this
.
tableColumns1
=
this
.
$time
.
initTableTitle
(
this
.
tableColumns1
);
},
methods
:{
//工装类型
...
...
Html/src/view/wms/whStatusQuery/storageInfoQuery.vue
View file @
2525380d
...
...
@@ -212,6 +212,7 @@ export default {
},
created
(){
this
.
initWarehouse
();
//仓库
this
.
tableColumns1
=
this
.
$time
.
initTableTitle
(
this
.
tableColumns1
);
},
methods
:{
//仓库下拉框
...
...
Server/Apis/Siger.ApiACC/Controllers/AutomationController.cs
View file @
2525380d
...
...
@@ -105,6 +105,7 @@ namespace Siger.ApiACC.Controllers
/// <param name="line"></param>
/// <param name="mode"></param>
/// <returns></returns>
[
HttpGet
]
public
IActionResult
LineMode
(
int
line
,
int
mode
)
{
var
exitObj
=
_automationLineMode
.
Get
(
f
=>
f
.
section
==
line
);
...
...
@@ -148,10 +149,35 @@ namespace Siger.ApiACC.Controllers
throw
new
BadRequestException
(
CommonEnum
.
Fail
);
}
}
/// <summary>
/// 产线 需要检验
/// </summary>
/// <param name="line"></param>
/// <param name="enable"></param>
/// <returns></returns>
[
HttpGet
]
public
IActionResult
inspect
(
int
line
,
int
enable
)
{
var
exitObj
=
_automationLineMode
.
Get
(
f
=>
f
.
section
==
line
);
if
(
exitObj
==
null
)
{
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
exitObj
.
updatetime
=
DateTime
.
Now
;
exitObj
.
inspect
=
enable
;
if
(
_unitOfWork
.
Commit
()
>
0
)
return
new
ObjectResult
(
CommonEnum
.
Succefull
);
else
throw
new
BadRequestException
(
CommonEnum
.
Fail
);
}
/// <summary>
/// 任务状态接口 用于保存PLC 实时任务状态 ()
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
IActionResult
TaskResult
([
FromBody
]
RequestAutomationTaskResult
request
)
{
//1.检查Tasklist
...
...
Server/Apis/Siger.ApiACC/Controllers/AutomationOperateController.cs
0 → 100644
View file @
2525380d
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Threading.Tasks
;
using
Microsoft.AspNetCore.Mvc
;
using
Siger.Middlelayer.AccRepository.Entities
;
using
Siger.Middlelayer.AccRepository.Repositories.Interface
;
using
Siger.Middlelayer.AccRepository.Request
;
using
Siger.Middlelayer.AccRepository.Response
;
using
Siger.Middlelayer.Common
;
using
Siger.Middlelayer.Common.Extensions
;
using
Siger.Middlelayer.Log
;
using
Siger.Middlelayer.Repository
;
using
Siger.Middlelayer.Repository.Repositories.Interface
;
using
Siger.Middlelayer.Repository.Response
;
using
Siger.Middlelayer.Share.Constant
;
using
Siger.Middlelayer.Share.Enum.ModuleEnum
;
namespace
Siger.ApiACC.Controllers
{
public
class
AutomationOperateController
:
BaseController
{
private
readonly
IUnitOfWork
_unitOfWork
;
private
readonly
ISigerProjectLevelSectionRepository
_sigerProjectLevelSection
;
private
readonly
ISigerDict
_sigerDict
;
private
readonly
IAutomationMachineStatus
_automationMachineStatus
;
private
readonly
ISigerProjectMachineAttributionRepository
_sigerProjectMachineAttribution
;
public
AutomationOperateController
(
IUnitOfWork
unitOfWork
,
ISigerProjectLevelSectionRepository
sigerProjectLevelSection
,
ISigerDict
sigerDict
,
IAutomationMachineStatus
automationMachineStatus
,
ISigerProjectMachineAttributionRepository
sigerProjectMachineAttribution
)
{
_unitOfWork
=
unitOfWork
;
_sigerProjectLevelSection
=
sigerProjectLevelSection
;
_sigerDict
=
sigerDict
;
_automationMachineStatus
=
automationMachineStatus
;
_sigerProjectMachineAttribution
=
sigerProjectMachineAttribution
;
}
public
IActionResult
Get
()
{
return
new
ObjectResult
(
1
);
}
/// <summary>
/// 获取字典配置
/// </summary>
/// <param name="line">产线</param>
/// <param name="type">类型:0:上料 1:检验</param>
/// <returns></returns>
[
HttpGet
]
public
IActionResult
GetloadStation
(
int
line
,
int
type
)
{
var
stationDicts
=
_sigerDict
.
GetDataByCat
(
AccDictCost
.
Automation
,
ProjectId
);
if
(!
stationDicts
.
Any
())
{
Logger
.
WriteLineInfo
(
$"GetloadStation 未配置设备类型字典"
);
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
var
loadStation
=
new
List
<
string
>();
if
(
type
==
0
)
{
var
dictLoad
=
stationDicts
.
Where
(
s
=>
s
.
dkey
==
DictKeyValConst
.
UploadloadStation
);
if
(!
dictLoad
.
Any
())
{
Logger
.
WriteLineInfo
(
$"GetloadStation 未配置上下料工站字典"
);
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
loadStation
=
dictLoad
.
Select
(
s
=>
s
.
dval
).
ToList
();
}
else
{
var
dictLoad
=
stationDicts
.
Where
(
s
=>
s
.
dkey
==
DictKeyValConst
.
CleanStation
);
if
(!
dictLoad
.
Any
())
{
Logger
.
WriteLineInfo
(
$"GetloadStation 未配置清洗工站字典"
);
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
loadStation
=
dictLoad
.
Select
(
s
=>
s
.
dval
).
ToList
();
}
var
data
=
new
List
<
ResponseLoadStation
>();
foreach
(
var
station
in
loadStation
)
{
var
section
=
_sigerProjectLevelSection
.
Get
(
f
=>
f
.
id
==
station
.
ToInt
()
&&
f
.
parentid
==
line
&&
f
.
status
==
(
int
)
RowState
.
Valid
);
if
(
section
==
null
)
continue
;
var
machintAttr
=
_sigerProjectMachineAttribution
.
Get
(
f
=>
f
.
station
==
section
.
id
);
if
(
machintAttr
==
null
)
{
Logger
.
WriteLineInfo
(
$"GetloadStation 未配置清洗工站字典"
);
continue
;
}
var
loadStatus
=
(
int
)
Automation
.
MachineStatus
.
Waiting
;
var
machineStatus
=
_automationMachineStatus
.
Get
(
f
=>
f
.
section
==
station
.
ToInt
()
&&
f
.
status
==(
int
)
RowState
.
Valid
);
if
(
machineStatus
==
null
)
{
_automationMachineStatus
.
Insert
(
new
siger_automation_machine_status
{
projectId
=
ProjectId
,
enable
=
1
,
machineid
=
machintAttr
.
machine
,
section
=
section
.
id
,
updatetime
=
DateTime
.
Now
});
}
else
{
loadStatus
=
machineStatus
.
status
;
}
data
.
Add
(
new
ResponseLoadStation
{
section
=
section
.
id
,
title
=
section
.
title
,
status
=
loadStatus
});
}
return
new
ObjectResult
(
data
);
}
/// <summary>
/// 准备上料
/// </summary>
/// <param name="loading"></param>
/// <returns></returns>
[
HttpPost
]
public
IActionResult
Loading
([
FromBody
]
requestAutomationLoading
loading
)
{
var
data
=
new
ResponseAutomationInfo
{
sn
=
"sn0001"
,
wo
=
"wo123123"
};
return
new
ObjectResult
(
data
);
}
/// <summary>
/// 安装完成
/// </summary>
/// <param name="assemble"></param>
/// <returns></returns>
[
HttpPost
]
public
IActionResult
CompalateAssemble
([
FromBody
]
requestAutoCompalateAssemble
assemble
)
{
return
new
ObjectResult
(
1
);
}
/// <summary>
/// 准备下料
/// </summary>
/// <param name="unloading"></param>
/// <returns></returns>
[
HttpPost
]
public
IActionResult
Unloading
([
FromBody
]
requestAutomationUnloading
unloading
)
{
return
new
ObjectResult
(
1
);
}
/// <summary>
/// 拆卸完成
/// </summary>
/// <param name="disassemble"></param>
/// <returns></returns>
[
HttpPost
]
public
IActionResult
Disassemble
([
FromBody
]
Requestdisassemble
disassemble
)
{
return
new
ObjectResult
(
1
);
}
}
}
Server/Apis/Siger.ApiACC/Controllers/FixtureToolsAssemblyController.cs
View file @
2525380d
...
...
@@ -34,7 +34,7 @@ namespace Siger.ApiACC.Controllers
}
[
HttpGet
]
public
IActionResult
GetPageList
(
string
category
,
string
code
,
string
name
,
int
p
rojectid
,
int
p
age
,
int
pagesize
)
public
IActionResult
GetPageList
(
string
category
,
string
code
,
string
name
,
int
page
,
int
pagesize
)
{
var
data
=
_toolsAssemblyRepository
.
GetPagedList
(
category
.
ToInt
(),
code
,
name
,
ProjectId
,
page
,
pagesize
);
return
new
PagedObjectResult
(
data
.
Data
,
data
.
Total
,
page
,
pagesize
);
...
...
Server/Apis/Siger.ApiConfig/Controller/DownloadController.cs
View file @
2525380d
...
...
@@ -3,6 +3,7 @@ using System.IO;
using
System.Net
;
using
System.Net.Http
;
using
System.Net.Http.Headers
;
using
System.Web
;
using
Microsoft.AspNetCore.Mvc
;
using
Siger.ApiCommon.Filters
;
using
Siger.ApiCommon.Utilities
;
...
...
@@ -312,5 +313,44 @@ namespace Siger.ApiConfig.Controller
return
new
ObjectResult
(
new
{
content
=
FileUtility
.
GetText
(
truePath
)
});
}
/// <summary>
/// 下载文件
/// </summary>
/// <returns></returns>
[
HttpGet
]
[
NoResultFilter
]
public
IActionResult
DownloadFileByUrl
(
string
url
,
string
name
)
{
if
(!
string
.
IsNullOrEmpty
(
url
))
{
var
file_url
=
url
.
Split
(
"Files"
);
if
(
url
.
Length
==
2
)
{
url
=
"Files"
+
file_url
[
1
];
}
}
var
path
=
Path
.
Combine
(
AppDomain
.
CurrentDomain
.
BaseDirectory
,
url
).
Replace
(
"Files"
,
"TemporaryFiles"
);
if
(!
System
.
IO
.
File
.
Exists
(
path
))
{
return
new
NoContentResult
();
}
try
{
var
stream
=
new
FileStream
(
path
,
FileMode
.
Open
,
FileAccess
.
Read
,
FileShare
.
Read
);
var
response
=
new
HttpResponseMessage
(
HttpStatusCode
.
OK
)
{
Content
=
new
StreamContent
(
stream
)
};
response
.
Content
.
Headers
.
ContentType
=
new
MediaTypeHeaderValue
(
"application/octet-stream"
);
response
.
Content
.
Headers
.
ContentDisposition
=
new
ContentDispositionHeaderValue
(
"attachment"
)
{
FileName
=
name
};
return
File
(
stream
,
"application/octet-stream"
);
}
catch
(
Exception
e
)
{
throw
new
BadRequestException
(
CommonEnum
.
Fail
);
}
}
}
}
\ No newline at end of file
Server/Apis/Siger.ApiConfig/Controller/PositionController.cs
View file @
2525380d
using
System.Linq
;
using
System.Collections.Generic
;
using
System.Linq
;
using
Microsoft.AspNetCore.Mvc
;
using
Siger.Middlelayer.Common
;
using
Siger.Middlelayer.Log
;
using
Siger.Middlelayer.Repository.Repositories.Interface
;
using
Siger.Middlelayer.Repository.Response
;
using
Siger.Middlelayer.Share.Constant
;
namespace
Siger.ApiConfig.Controller
{
public
class
PositionController
:
BaseController
{
private
readonly
ISigerProjectLevelSectionRepository
_projectLevelSection
;
public
PositionController
(
ISigerProjectLevelSectionRepository
projectLevelSection
)
private
readonly
ISigerDict
_sigerDict
;
public
PositionController
(
ISigerProjectLevelSectionRepository
projectLevelSection
,
ISigerDict
sigerDict
)
{
_projectLevelSection
=
projectLevelSection
;
_sigerDict
=
sigerDict
;
}
[
HttpGet
]
...
...
@@ -30,6 +37,8 @@ namespace Siger.ApiConfig.Controller
return
new
ObjectResult
(
obj
);
throw
new
BadRequestException
(
CommonEnum
.
RecordNotFound
);
}
}
}
\ No newline at end of file
Server/Apis/Siger.ApiWMS/Controllers/LocationController.cs
View file @
2525380d
...
...
@@ -937,6 +937,10 @@ namespace Siger.ApiWMS.Controllers
foreach
(
var
Location
in
req
.
storeArr
)
{
if
(
req
.
storeArr
.
Count
(
q
=>
q
.
val
==
Location
.
val
)
>
1
)
{
throw
new
BadRequestException
(
RequestEnum
.
DataExist
);
}
var
loca
=
location
.
Get
(
q
=>
q
.
realname
==
Location
.
val
&&
q
.
projectid
==
ProjectId
);
if
(
loca
!=
null
)
{
...
...
@@ -1056,6 +1060,10 @@ namespace Siger.ApiWMS.Controllers
foreach
(
var
Location
in
req
.
storeArr
)
{
if
(
req
.
storeArr
.
Count
(
q
=>
q
.
val
==
Location
.
val
)
>
1
)
{
throw
new
BadRequestException
(
RequestEnum
.
DataExist
);
}
var
loca
=
location
.
Get
(
q
=>
q
.
realname
==
Location
.
val
&&
q
.
projectid
==
ProjectId
&&
q
.
id
!=
Location
.
locationid
.
ToInt
());
if
(
loca
!=
null
)
{
...
...
Server/Common/Siger.Middlelayer.Share/Constant/AccDictCost.cs
View file @
2525380d
...
...
@@ -67,7 +67,7 @@ namespace Siger.Middlelayer.Common
/// <summary>
/// MES 自动线类型
/// </summary>
public
const
string
Automation
=
"
a
utomation"
;
public
const
string
Automation
=
"
A
utomation"
;
}
...
...
Server/Common/Siger.Middlelayer.Share/Constant/DictKeyValConst.cs
View file @
2525380d
...
...
@@ -34,12 +34,9 @@ namespace Siger.Middlelayer.Share.Constant
/// </summary>
public
const
string
CleanStation
=
"CleanStation"
;
/// <summary>
/// key:上料工站
/// key:上料
下料
工站
/// </summary>
public
const
string
UploadloadStation
=
"UploadloadStation"
;
/// <summary>
/// key:下料工站
/// </summary>
public
const
string
DownloadStation
=
"DownloadStation"
;
public
const
string
UploadloadStation
=
"LoadStation"
;
}
}
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/ApiAccDbContext.cs
View file @
2525380d
...
...
@@ -160,5 +160,8 @@ namespace Siger.Middlelayer.AccRepository
public
DbSet
<
siger_wms_storage
>
siger_wms_storage
{
get
;
set
;
}
public
DbSet
<
siger_wms_storage_location
>
siger_wms_storage_location
{
get
;
set
;
}
public
DbSet
<
siger_automation_line_mode
>
siger_automation_line_mode
{
get
;
set
;
}
public
DbSet
<
siger_automation_machine_status
>
siger_automation_machine_status
{
get
;
set
;
}
}
}
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Entities/siger_automation_line_mode.cs
View file @
2525380d
...
...
@@ -14,6 +14,11 @@ namespace Siger.Middlelayer.AccRepository.Entities
/// 生产线模式 0:手动 1 自动
/// </summary>
public
int
mode
{
get
;
set
;
}
/// <summary>
/// 是否检验
/// </summary>
public
int
inspect
{
get
;
set
;
}
/// <summary>
/// 更新时间
/// </summary>
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Repositories/AutomationFixtureToolsProductRepository.cs
View file @
2525380d
...
...
@@ -39,7 +39,7 @@ namespace Siger.Middlelayer.AccRepository.Repositories
productid
=
q
.
productid
,
productname
=
p
.
name
,
remark
=
q
.
remark
,
updator
=
q
.
updator
,
updator
=
u
.
name
??
""
,
updatetime
=
q
.
updatetime
.
HasValue
&&
q
.
updatetime
>
DateTime
.
MinValue
?
q
.
updatetime
.
Value
.
ToString
(
ParameterConstant
.
DateTimeFormat
)
:
""
};
Expression
<
Func
<
ResponseAumationFixtureToolsProduct
,
bool
>>
categoryExpression
=
f
=>
true
;
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Request/requestAutoLoad.cs
0 → 100644
View file @
2525380d
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Siger.Middlelayer.AccRepository.Request
{
/// <summary>
/// 准备上料
/// </summary>
public
class
requestAutomationLoading
{
public
int
section
{
get
;
set
;
}
public
string
code
{
get
;
set
;
}
}
/// <summary>
/// 安装完成
/// </summary>
public
class
requestAutoCompalateAssemble
{
public
int
section
{
get
;
set
;
}
}
/// <summary>
/// 准备下料
/// </summary>
public
class
requestAutomationUnloading
{
public
int
section
{
get
;
set
;
}
}
/// <summary>
/// 拆卸
/// </summary>
public
class
Requestdisassemble
{
public
int
section
{
get
;
set
;
}
}
}
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Response/FixtureToolsCategory.cs
View file @
2525380d
...
...
@@ -103,7 +103,7 @@ namespace Siger.Middlelayer.AccRepository.Response
/// </summary>
public
string
remark
{
get
;
set
;
}
public
int
updator
{
get
;
set
;
}
public
string
updator
{
get
;
set
;
}
public
string
updatetime
{
get
;
set
;
}
}
...
...
Server/Infrastructure/Repositories/Siger.Middlelayer.AccRepository/Response/ResponseAutomationInfo.cs
0 → 100644
View file @
2525380d
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Siger.Middlelayer.AccRepository.Response
{
public
class
ResponseAutomationInfo
{
/// <summary>
/// 工单信息
/// </summary>
public
string
wo
{
get
;
set
;
}
public
string
productCode
{
get
;
set
;
}
public
string
productName
{
get
;
set
;
}
/// <summary>
/// 工件编码
/// </summary>
public
string
sn
{
get
;
set
;
}
public
int
status
{
get
;
set
;
}
public
int
statusDesc
{
get
;
set
;
}
/// <summary>
/// 储位位置
/// </summary>
public
string
locationDesc
{
get
;
set
;
}
/// <summary>
/// 工装编号
/// </summary>
public
string
fixture
{
get
;
set
;
}
}
}
Server/Infrastructure/Repositories/Siger.Middlelayer.Repository/Response/ResponseLoadStation.cs
0 → 100644
View file @
2525380d
using
System
;
using
System.Collections.Generic
;
using
System.Text
;
namespace
Siger.Middlelayer.Repository.Response
{
public
class
ResponseLoadStation
{
/// <summary>
/// 工站ID
/// </summary>
public
int
section
{
get
;
set
;
}
/// <summary>
/// 工站名称
/// </summary>
public
string
title
{
get
;
set
;
}
/// <summary>
/// 上料位状态
/// </summary>
public
int
status
{
get
;
set
;
}
}
}
Server/Infrastructure/Script/DB.script
View file @
2525380d
...
...
@@ -373,7 +373,8 @@ CREATE TABLE `siger_automation_line_mode` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`section` int(11) NOT NULL DEFAULT 0 COMMENT '产线ID',
`projectid` int(11) NOT NULL DEFAULT 0,
`mode` int(11) NOT NULL DEFAULT 1 COMMENT '0:手动模式 1:自动模式',
`mode` int(1) NOT NULL DEFAULT 1 COMMENT '0:手动模式 1:自动模式',
`inspect` int(1) NOT NULL DEFAULT 1 COMMENT '0:不需要检验 1:检验',
`updatetime` datetime(0) NULL DEFAULT NULL COMMENT '操作时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment