2024-03-11 16:32:52 +08:00
Imports System . Text
Imports UTS_Core . Database
Imports UTS_Core . UTSModule
Imports UTS_Core . UTSModule . DbTableModel . Customer
Imports UTS_Core . UTSModule . License
Imports UTS_Core . UTSModule . DbTableModel
Public Class FrmMain
Private Sub BtnCommit_Click ( sender As Object , e As EventArgs ) Handles BtnCommit . Click
UpdateInstallTip ( 0 , " 注册客户准备中 " )
Try
'更新License信息
UpdateInstallTip ( 1 , $ " License信息更新中... " )
Dim lic As License = FillLicense ( )
UpdateInstallTip ( 20 , $ " License信息更新完成! " )
'生成License文件
UpdateInstallTip ( 21 , $ " License文件生成中... " )
CreateVendorLicense ( lic )
UpdateInstallTip ( 40 , $ " License文件生成完成! " )
'创建FTP文件夹
UpdateInstallTip ( 41 , $ " Ftp文件夹生成中... " )
CreateFtpDic ( lic )
UpdateInstallTip ( 60 , $ " Ftp文件夹生成完成! " )
'创建数据库的数据表
UpdateInstallTip ( 61 , $ " 创建数据库结构中... " )
CreateVendorTables ( lic )
UpdateInstallTip ( 99 , $ " 创建数据库结构完成! " )
UpdateInstallTip ( 100 , $ " 注册客户完成 " )
Catch ex As Exception
Console . WriteLine ( $ " Commit vendor error:{ex.Message} " )
UpdateInstallTip ( 100 , $ " 注册客户失败,{ex.Message} " )
End Try
End Sub
Private Function FillLicense ( ) As License
'更新License缓存
Dim lic As New License With {
. ID = $ " 1 " ,
. VendorName = TxtVendorName . Text ,
. AuthorizationDate = $ " {Now:yyyy-MM-dd HH:mm:ss} " ,
. ExpirationDate = $ " {DtpExpirationDate.Value:yyyy-MM-dd HH:mm:ss} " ,
. DefaultUser = $ " Admin " ,
. DefaultPassword = $ " Admin " ,
. MysqlServer = TxtRemoteServer . Text ,
. MysqlPort = NudRemotePort . Value . ToString ( ) ,
. MysqlUserID = TxtRemoteUser . Text ,
. MysqlPassword = TxtRemotePwd . Text ,
. MysqlDatabase = TxtRemotePrivateDb . Text ,
. PublicDb = TxtRemotePublicDb . Text ,
. SqliteDir = " LocalDB " ,
. SqliteName = TxtLocalFileName . Text ,
. SqlitePassword = TxtLocalPwd . Text ,
. FtpHost = TxtFtpHost . Text ,
. FtpPort = NudFtpPort . Value . ToString ( ) ,
. FtpUser = TxtFtpUser . Text ,
. FtpPwd = TxtFtpPwd . Text ,
. Mac = TxtMac . Text ,
. Remark = TxtRemard . Text ,
. UtsVersion = $ " 3 " ,
. Signature = $ " this is a valid license data "
}
Return lic
End Function
''' <summary>
''' 创建Ftp所需的文件夹
''' </summary>
''' <param name="lic"></param>
Private Sub CreateFtpDic ( lic As License )
UtsFtp . InitConnectParams ( CInt ( lic . FtpPort ) , lic . FtpUser , lic . FtpPwd )
Dim ftp As UtsFtp = UtsFtp . CreateObject ( )
ftp . FtpHost = lic . FtpHost
Try
ftp . CreateDir ( $ " /uts_Manager/AUTS/{lic.VendorName}/AOI " , True ) '拍摄站上传图像
ftp . CreateDir ( $ " /uts_Manager/AUTS/{lic.VendorName}/Package " , True ) '装箱站上传图像
ftp . CreateDir ( $ " /uts_Manager/AUTS/{lic.VendorName}/Product " , True ) '产品图像
ftp . CreateDir ( $ " /uts_Manager/AUTS/{lic.VendorName}/Repair " , True ) '维修站位图像
ftp . CreateDir ( $ " /uts_Manager/AUTS/{lic.VendorName}/Project " , True ) '测试站位流程
ftp . CreateDir ( $ " /uts_Manager/AUTS/{lic.VendorName}/Upload " , True ) '服务上传内容
Catch ex As Exception
Throw New Exception ( $ " 创建客户Ftp文件夹失败,{ex.Message} " )
End Try
End Sub
Private Sub CreateVendorLicense ( lic As License )
'获取License文件名
Dim licensePath As String
Using saveDlg As New SaveFileDialog
saveDlg . Title = $ " 请选择鉴权License文件的保存路径 "
saveDlg . Filter = $ " License文件(*.dat)|*.dat "
saveDlg . AddExtension = True
If saveDlg . ShowDialog ( ) <> DialogResult . OK Then Return
licensePath = saveDlg . FileName
End Using
UpdateInstallTip ( 30 , $ " License文件即将保存至{licensePath}. " )
'保存License文件
lic . SaveLicenseFile ( licensePath )
End Sub
Private Sub UpdateCompanyTable ( db As DbExecutor , dbName As String , company As String )
'更新公共库公司总表
Dim tableName As String = $ " {Manage.CustomerListTable.TableName} "
Dim condition As String = $ " `{Manage.CustomerListTable.ColNamesEnum.CustomerName}` = '{company}' "
Dim cmdText As String = db . CmdHelper . DbSearch ( dbName , " count(*) " , tableName , condition )
If CInt ( db . ExecuteScalar ( cmdText ) ) > 0 Then
Return
End If
Dim field As New Dictionary ( Of String , String ) From
{
{ $ " {Manage.CustomerListTable.ColNamesEnum.CustomerName} " , company }
}
cmdText = db . CmdHelper . DbInsert ( dbName , tableName , field )
db . ExecuteNonQuery ( cmdText )
End Sub
Private Sub UpdateDatabaseTable ( db As DbExecutor , dbName As String , company As String , userDb As String , user As String , pwd As String )
''更新公共库公司总表
Dim tableName As String = $ " {Manage.CustomerListTable.TableName} "
Dim condition As String = $ " `{Manage.CustomerListTable.ColNamesEnum.CustomerName}` = '{company}' "
Dim colName As String = $ " {Manage.CustomerListTable.ColNamesEnum.ID} "
Dim cmdText As String = db . CmdHelper . DbSearch ( dbName , colName , tableName , condition )
Dim companyID As String = db . ExecuteScalar ( cmdText ) . ToString ( )
'更新公共库数据库总表
tableName = Manage . DbListTable . TableName
condition = $ " `{Manage.DbListTable.ColNamesEnum.DatabaseName}` = '{userDb}' "
cmdText = db . CmdHelper . DbSearch ( dbName , " count(*) " , tableName , condition )
If CInt ( db . ExecuteScalar ( cmdText ) ) > 0 Then
Return
End If
Dim field2 As New Dictionary ( Of String , String ) From
{
{ $ " {Manage.DbListTable.ColNamesEnum.CompanyID} " , companyID } ,
{ $ " {Manage.DbListTable.ColNamesEnum.DatabaseName} " , userDb } ,
{ $ " {Manage.DbListTable.ColNamesEnum.DatabaseUser} " , user } ,
{ $ " {Manage.DbListTable.ColNamesEnum.DatabasePassword} " , pwd } ,
{ $ " {Manage.DbListTable.ColNamesEnum.DatabaseDesc} " , " " }
}
cmdText = db . CmdHelper . DbInsert ( dbName , tableName , field2 )
db . ExecuteNonQuery ( cmdText )
End Sub
Private Sub CreateProcedure ( db As DbExecutor , dbName As String )
'修改测试记录表字段存储过程
Dim sqlCmd As New StringBuilder
sqlCmd . Append ( $ " Drop Procedure If Exists `{dbName}`.`AlterTestLogFiled`; " & vbCrLf )
sqlCmd . Append ( $ " Create Procedure `{dbName}`.`AlterTestLogFiled`(in dbName varchar(32),in tbName varchar(32),in filed varchar(32),in len int) " & vbCrLf )
sqlCmd . Append ( " begin " & vbCrLf )
sqlCmd . Append ( " DECLARE l_int int default 0; " & vbCrLf )
sqlCmd . Append ( " DECLARE l_len int default 0; " & vbCrLf )
sqlCmd . Append ( " DECLARE l_type varchar(16) default ''; " & vbCrLf )
sqlCmd . Append ( " select count(*),`DATA_TYPE`,`CHARACTER_MAXIMUM_LENGTH` into l_int,l_type,l_len from `information_schema`.`COLUMNS` WHERE TABLE_SCHEMA = dbName and TABLE_NAME = tbName and COLUMN_NAME = filed; " & vbCrLf )
sqlCmd . Append ( " if l_int = 0 then " & vbCrLf )
sqlCmd . Append ( " set @cmd = CONCAT('alter table ',dbName,'.',tbName,' add column ',filed,' varchar(',len,')'); " & vbCrLf )
sqlCmd . Append ( " PREPARE pre FROM @cmd; " & vbCrLf )
sqlCmd . Append ( " EXECUTE pre; " & vbCrLf )
sqlCmd . Append ( " deallocate prepare pre; " & vbCrLf )
sqlCmd . Append ( " else " & vbCrLf )
sqlCmd . Append ( " if l_type = 'varchar' and len > l_len then " & vbCrLf )
sqlCmd . Append ( " set @cmd = CONCAT('alter table ',dbName,'.',tbName,' modify column ',filed,' varchar(',len,')'); " & vbCrLf )
sqlCmd . Append ( " PREPARE pre FROM @cmd; " & vbCrLf )
sqlCmd . Append ( " EXECUTE pre; " & vbCrLf )
sqlCmd . Append ( " deallocate prepare pre; " & vbCrLf )
sqlCmd . Append ( " end if; " & vbCrLf )
sqlCmd . Append ( " end if; " & vbCrLf )
sqlCmd . Append ( " end " & vbCrLf )
db . ExecuteNonQuery ( sqlCmd . ToString )
'Sn总表新增条码存储过程
sqlCmd . Clear ( )
sqlCmd . Append ( $ " Drop Procedure If Exists `{dbName}`.`AlterSnListBarcode`; " & vbCrLf )
sqlCmd . Append ( $ " Create Procedure `{dbName}`.`AlterSnListBarcode`(in orderid int,in orderinternalid int,in pid int,in code varchar(32),in sntype int) " & vbCrLf )
sqlCmd . Append ( " begin " & vbCrLf )
sqlCmd . Append ( " DECLARE l_int int default 0; " & vbCrLf )
sqlCmd . Append ( " select count(*) into l_int from `TBL_SnList` WHERE `BarCode` = code; " & vbCrLf )
sqlCmd . Append ( " if l_int = 0 then " & vbCrLf )
sqlCmd . Append ( " set @cmd = CONCAT('Insert into TBL_SnList(OrderID,OrderInternalID,ProductID,BarCode,SnType) values(',orderid,',',orderinternalid,',',pid,',''',code,''',',sntype,')'); " & vbCrLf )
sqlCmd . Append ( " PREPARE pre FROM @cmd; " & vbCrLf )
sqlCmd . Append ( " EXECUTE pre; " & vbCrLf )
sqlCmd . Append ( " deallocate prepare pre; " & vbCrLf )
sqlCmd . Append ( " end if; " & vbCrLf )
sqlCmd . Append ( " end " & vbCrLf )
db . ExecuteNonQuery ( sqlCmd . ToString )
'Sn总表更新条码测试记录存储过程-有MO
sqlCmd . Clear ( )
sqlCmd . Append ( $ " Drop Procedure If Exists `{dbName}`.`UpdateSnListBarcode_MO`; " & vbCrLf )
'2023-06-07 add MO'''''''''''
'sqlCmd.Append($"Create Procedure `{dbName}`.`UpdateSnListBarcode`(in code varchar(32),in snOrder int,in startTime datetime,in result int,in a1String varchar(254))," & vbCrLf)
sqlCmd . Append ( $ " Create Procedure `{dbName}`.`UpdateSnListBarcode_MO`(in code varchar(32),in snOrder int,in startTime datetime,in result int,in a1String varchar(254),in MoId int " & vbCrLf )
''''''''''''''''''''''''''''''
sqlCmd . Append ( " begin " & vbCrLf )
sqlCmd . Append ( " DECLARE msg int default -1; " & vbCrLf )
sqlCmd . Append ( " set @cmd = Concat('select S',snOrder,',count(1) into @l_tm,@l_ct from `TBL_SnList` where `BarCode` = ''',code,''''); " & vbCrLf )
sqlCmd . Append ( " PREPARE pre FROM @cmd; " & vbCrLf )
sqlCmd . Append ( " EXECUTE pre; " & vbCrLf )
sqlCmd . Append ( " deallocate prepare pre; " & vbCrLf )
sqlCmd . Append ( " if @l_ct = 0 then " & vbCrLf )
sqlCmd . Append ( " set msg = 0; " & vbCrLf )
sqlCmd . Append ( " else " & vbCrLf )
sqlCmd . Append ( " if @l_tm is null then " & vbCrLf )
sqlCmd . Append ( " if char_length(a1String) = 0 then " & vbCrLf )
'2023-06-07 add MO'''''''''''
'sqlCmd.Append("set @cmd = Concat('update `TBL_SnList` set S',snOrder,' = ''',startTime,''',Result',snOrder, ' = ',result,' where `BarCode` = ''',code,'''');" & vbCrLf)
sqlCmd . Append ( " set @cmd = Concat('update `TBL_SnList` set OrderInternalID=''',MoId,''',S',snOrder,' = ''',startTime,''',Result',snOrder, ' = ',result,' where `BarCode` = ''',code,''''); " & vbCrLf )
''''''''''''''''''''''''''''''
sqlCmd . Append ( " else " & vbCrLf )
'2023-06-07 add MO'''''''''''
'sqlCmd.Append("set @cmd = Concat('update `TBL_SnList` set S',snOrder,' = ''',startTime,''',Result',snOrder, ' = ',result,',AssemblySn = ''',a1String,''',AssemblyTime =''',startTime,''' where `BarCode` = ''',code,''''); " & vbCrLf)
sqlCmd . Append ( " set @cmd = Concat('update `TBL_SnList` set OrderInternalID=''',MoId,''',S',snOrder,' = ''',startTime,''',Result',snOrder, ' = ',result,',AssemblySn = ''',a1String,''',AssemblyTime =''',startTime,''' where `BarCode` = ''',code,''''); " & vbCrLf )
''''''''''''''''''''''''''''''
sqlCmd . Append ( " end if; " & vbCrLf )
sqlCmd . Append ( " PREPARE pre FROM @cmd; " & vbCrLf )
sqlCmd . Append ( " EXECUTE pre; " & vbCrLf )
sqlCmd . Append ( " deallocate prepare pre; " & vbCrLf )
sqlCmd . Append ( " set msg = 1; " & vbCrLf )
sqlCmd . Append ( " else " & vbCrLf )
sqlCmd . Append ( " if startTime >= @l_tm then " & vbCrLf )
sqlCmd . Append ( " if char_length(a1String) = 0 then " & vbCrLf )
'2023-06-07 add MO'''''''''''
'sqlCmd.Append("set @cmd = Concat('update `TBL_SnList` set S',snOrder,' = ''',startTime,''',Result',snOrder, ' = ',result,' where `BarCode` = ''',code,''''); " & vbCrLf)
sqlCmd . Append ( " set @cmd = Concat('update `TBL_SnList` set OrderInternalID=''',MoId,''',S',snOrder,' = ''',startTime,''',Result',snOrder, ' = ',result,' where `BarCode` = ''',code,''''); " & vbCrLf )
''''''''''''''''''''''''''''''
sqlCmd . Append ( " else " & vbCrLf )
'2023-06-07 add MO'''''''''''
'sqlCmd.Append("set @cmd = Concat('update `TBL_SnList` set S',snOrder,' = ''',startTime,''',Result',snOrder, ' = ',result,',AssemblySn = ''',a1String,''',AssemblyTime =''',startTime,''' where `BarCode` = ''',code,''''); " & vbCrLf)
sqlCmd . Append ( " set @cmd = Concat('update `TBL_SnList` set OrderInternalID=''',MoId,''',S',snOrder,' = ''',startTime,''',Result',snOrder, ' = ',result,',AssemblySn = ''',a1String,''',AssemblyTime =''',startTime,''' where `BarCode` = ''',code,''''); " & vbCrLf )
''''''''''''''''''''''''''''''
sqlCmd . Append ( " end if; " & vbCrLf )
sqlCmd . Append ( " PREPARE pre FROM @cmd; " & vbCrLf )
sqlCmd . Append ( " EXECUTE pre; " & vbCrLf )
sqlCmd . Append ( " deallocate prepare pre; " & vbCrLf )
sqlCmd . Append ( " set msg = 1; " & vbCrLf )
sqlCmd . Append ( " else " & vbCrLf )
sqlCmd . Append ( " set msg = 2; " & vbCrLf )
sqlCmd . Append ( " end if; " & vbCrLf )
sqlCmd . Append ( " end if; " & vbCrLf )
sqlCmd . Append ( " end if; " & vbCrLf )
sqlCmd . Append ( " select msg; " & vbCrLf )
sqlCmd . Append ( " end " & vbCrLf )
db . ExecuteNonQuery ( sqlCmd . ToString )
'Sn总表更新条码测试记录存储过程:无MO
sqlCmd . Clear ( )
sqlCmd . Append ( $ " Drop Procedure If Exists `{dbName}`.`UpdateSnListBarcode`; " & vbCrLf )
sqlCmd . Append ( $ " Create Procedure `{dbName}`.`UpdateSnListBarcode`(in code varchar(32),in snOrder int,in startTime datetime,in result int,in a1String varchar(254)), " & vbCrLf )
sqlCmd . Append ( " begin " & vbCrLf )
sqlCmd . Append ( " DECLARE msg int default -1; " & vbCrLf )
sqlCmd . Append ( " set @cmd = Concat('select S',snOrder,',count(1) into @l_tm,@l_ct from `TBL_SnList` where `BarCode` = ''',code,''''); " & vbCrLf )
sqlCmd . Append ( " PREPARE pre FROM @cmd; " & vbCrLf )
sqlCmd . Append ( " EXECUTE pre; " & vbCrLf )
sqlCmd . Append ( " deallocate prepare pre; " & vbCrLf )
sqlCmd . Append ( " if @l_ct = 0 then " & vbCrLf )
sqlCmd . Append ( " set msg = 0; " & vbCrLf )
sqlCmd . Append ( " else " & vbCrLf )
sqlCmd . Append ( " if @l_tm is null then " & vbCrLf )
sqlCmd . Append ( " if char_length(a1String) = 0 then " & vbCrLf )
sqlCmd . Append ( " set @cmd = Concat('update `TBL_SnList` set S',snOrder,' = ''',startTime,''',Result',snOrder, ' = ',result,' where `BarCode` = ''',code,''''); " & vbCrLf )
sqlCmd . Append ( " else " & vbCrLf )
sqlCmd . Append ( " set @cmd = Concat('update `TBL_SnList` set S',snOrder,' = ''',startTime,''',Result',snOrder, ' = ',result,',AssemblySn = ''',a1String,''',AssemblyTime =''',startTime,''' where `BarCode` = ''',code,''''); " & vbCrLf )
sqlCmd . Append ( " end if; " & vbCrLf )
sqlCmd . Append ( " PREPARE pre FROM @cmd; " & vbCrLf )
sqlCmd . Append ( " EXECUTE pre; " & vbCrLf )
sqlCmd . Append ( " deallocate prepare pre; " & vbCrLf )
sqlCmd . Append ( " set msg = 1; " & vbCrLf )
sqlCmd . Append ( " else " & vbCrLf )
sqlCmd . Append ( " if startTime >= @l_tm then " & vbCrLf )
sqlCmd . Append ( " if char_length(a1String) = 0 then " & vbCrLf )
sqlCmd . Append ( " set @cmd = Concat('update `TBL_SnList` set S',snOrder,' = ''',startTime,''',Result',snOrder, ' = ',result,' where `BarCode` = ''',code,''''); " & vbCrLf )
sqlCmd . Append ( " else " & vbCrLf )
sqlCmd . Append ( " set @cmd = Concat('update `TBL_SnList` set S',snOrder,' = ''',startTime,''',Result',snOrder, ' = ',result,',AssemblySn = ''',a1String,''',AssemblyTime =''',startTime,''' where `BarCode` = ''',code,''''); " & vbCrLf )
sqlCmd . Append ( " end if; " & vbCrLf )
sqlCmd . Append ( " PREPARE pre FROM @cmd; " & vbCrLf )
sqlCmd . Append ( " EXECUTE pre; " & vbCrLf )
sqlCmd . Append ( " deallocate prepare pre; " & vbCrLf )
sqlCmd . Append ( " set msg = 1; " & vbCrLf )
sqlCmd . Append ( " else " & vbCrLf )
sqlCmd . Append ( " set msg = 2; " & vbCrLf )
sqlCmd . Append ( " end if; " & vbCrLf )
sqlCmd . Append ( " end if; " & vbCrLf )
sqlCmd . Append ( " end if; " & vbCrLf )
sqlCmd . Append ( " select msg; " & vbCrLf )
sqlCmd . Append ( " end " & vbCrLf )
db . ExecuteNonQuery ( sqlCmd . ToString )
End Sub
Private Sub CreateDatabase ( db As DbExecutor , dbName As String )
Dim sqlCmd As New StringBuilder
Dim tableName As String
'创建数据库
UpdateInstallTip ( 55 , $ " 创建数据库中... " )
sqlCmd . Clear ( )
sqlCmd . Append ( $ " CREATE DATABASE IF NOT EXISTS {dbName}; " )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 60 , $ " 创建数据库完成! " )
'创建数据库同步表
UpdateInstallTip ( 65 , $ " 创建同步表... " )
sqlCmd . Clear ( )
sqlCmd . Append ( SyncListTable . CreateTableString ( dbName , db . DatabaseType ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 65 , $ " 创建同步表完成! " )
'创建数据库日志表
UpdateInstallTip ( 65 , $ " 创建日志表... " )
sqlCmd . Clear ( )
sqlCmd . Append ( LogTable . CreateTableString ( dbName , db . DatabaseType ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 65 , $ " 创建日志表完成! " )
'创建项目类型表
UpdateInstallTip ( 65 , $ " 创建项目类型表... " )
sqlCmd . Clear ( )
tableName = ProductTypesTable . TableName
sqlCmd . Append ( ProductTypesTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 65 , $ " 创建项目类型表完成! " )
'创建项目表
UpdateInstallTip ( 70 , $ " 创建项目表... " )
sqlCmd . Clear ( )
tableName = ProjectTable . TableName
sqlCmd . Append ( ProjectTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 70 , $ " 创建项目表完成! " )
'创建站位表
UpdateInstallTip ( 70 , $ " 创建站位表... " )
sqlCmd . Clear ( )
tableName = StationListTable . TableName
sqlCmd . Append ( StationListTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 70 , $ " 创建站位表完成! " )
2024-05-08 21:59:31 +08:00
'创建站包发布历史表
UpdateInstallTip ( 70 , $ " 创建站包发布历史表... " )
sqlCmd . Clear ( )
tableName = StationPacketReleaseLogTable . TableName
sqlCmd . Append ( StationPacketReleaseLogTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 70 , $ " 创建站包发布历史表完成! " )
2024-03-11 16:32:52 +08:00
'创建内部单表
UpdateInstallTip ( 70 , $ " 创建内部单表... " )
sqlCmd . Clear ( )
tableName = OrderInternalTable . TableName
sqlCmd . Append ( OrderInternalTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 70 , $ " 创建内部单表完成! " )
'创建订单表
UpdateInstallTip ( 70 , $ " 创建订单表... " )
sqlCmd . Clear ( )
tableName = OrdersTable . TableName
sqlCmd . Append ( OrdersTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 70 , $ " 创建订单表完成! " )
'创建产线表
UpdateInstallTip ( 75 , $ " 创建产线表... " )
sqlCmd . Clear ( )
tableName = ProductionLineTable . TableName
sqlCmd . Append ( ProductionLineTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 75 , $ " 创建产线表完成! " )
'创建生产计划表
UpdateInstallTip ( 75 , $ " 创建生产计划表... " )
sqlCmd . Clear ( )
tableName = ProductionPlanTable . TableName
sqlCmd . Append ( ProductionPlanTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 75 , $ " 创建生产计划表完成! " )
'创建产商客户表
UpdateInstallTip ( 75 , $ " 创建产商客户表... " )
sqlCmd . Clear ( )
tableName = VendorCustomerTable . TableName
sqlCmd . Append ( VendorCustomerTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 75 , $ " 创建产商客户表完成! " )
'创建序号总表
UpdateInstallTip ( 75 , $ " 创建序号总表... " )
sqlCmd . Clear ( )
tableName = SnListTable . TableName
sqlCmd . Append ( SnListTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName , " new " ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 75 , $ " 创建序号总表完成! " )
'创建序号关联信息总表
UpdateInstallTip ( 75 , $ " 创建序号关联信息总表... " )
sqlCmd . Clear ( )
tableName = ImportInfoTable . TableName
sqlCmd . Append ( ImportInfoTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName , " new " ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 75 , $ " 创建序号关联信息总表完成! " )
'创建维修原因类型表
UpdateInstallTip ( 75 , $ " 创建维修原因类型表... " )
sqlCmd . Clear ( )
tableName = RepairTypesTable . TableName
sqlCmd . Append ( RepairTypesTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 75 , $ " 创建维修原因类型表完成! " )
'创建维修原因表
UpdateInstallTip ( 75 , $ " 创建维修原因表... " )
sqlCmd . Clear ( )
tableName = RepairReasonTable . TableName
sqlCmd . Append ( RepairReasonTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 75 , $ " 创建维修原因表完成! " )
'创建报修不良代码表
UpdateInstallTip ( 75 , $ " 创建报修不良代码表... " )
sqlCmd . Clear ( )
tableName = RejectsExplainTable . TableName
sqlCmd . Append ( RejectsExplainTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 75 , $ " 创建报修不良代码完成! " )
'创建报修记录表
UpdateInstallTip ( 75 , $ " 创建报修记录表... " )
sqlCmd . Clear ( )
tableName = RepairRequestTable . TableName
sqlCmd . Append ( RepairRequestTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 75 , $ " 创建报修记录表完成! " )
'创建维修结果表
UpdateInstallTip ( 75 , $ " 创建维修结果表... " )
sqlCmd . Clear ( )
tableName = RepairResultTable . TableName
sqlCmd . Append ( RepairResultTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 75 , $ " 创建维修结果表完成! " )
'创建维修记录表
UpdateInstallTip ( 75 , $ " 创建维修记录表... " )
sqlCmd . Clear ( )
tableName = RepairLogTable . TableName
sqlCmd . Append ( RepairLogTable . CreateTableString ( dbName , db . DatabaseType ) )
sqlCmd . Append ( SyncListTable . SyncTrigger ( dbName , tableName ) )
sqlCmd . Append ( SyncListTable . AddSyncTableString ( dbName , tableName ) )
db . ExecuteNonQuery ( sqlCmd . ToString ( ) )
UpdateInstallTip ( 75 , $ " 创建维修记录表完成! " )
End Sub
Private Sub CreateVendorTables ( lic As License )
'生成对应数据库的对应数据表
Dim connType As DbExecutor . DbTypeEnum = DbExecutor . DbTypeEnum . Mysql
Dim connString As String = $ " Server = {lic.MysqlServer};Port = {lic.MysqlPort};User id = {lic.MysqlUserID};Password = {lic.MysqlPassword};SslMode = none;Allow User Variables = True; "
UpdateInstallTip ( 45 , $ " 连接数据库中... " )
Using db As New DbExecutor ( connType , connString )
db . Open ( )
UpdateInstallTip ( 50 , $ " 连接数据库完成! " )
UpdateInstallTip ( 51 , $ " 创建客户数据库中... " )
Try
CreateDatabase ( db , lic . MysqlDatabase )
UpdateInstallTip ( 80 , $ " 创建客户数据库完成! " )
Catch ex As Exception
Throw New Exception ( $ " 创建客户数据库失败,{ex.Message} " )
End Try
Try
CreateProcedure ( db , lic . MysqlDatabase )
Catch ex As Exception
Throw New Exception ( $ " 创建客户数据库存储过程失败,{ex.Message} " )
End Try
UpdateInstallTip ( 81 , $ " 注册客户中... " )
Try
UpdateInstallTip ( 81 , $ " 注册客户公司中... " )
UpdateCompanyTable ( db , lic . PublicDb , lic . VendorName )
UpdateInstallTip ( 85 , $ " 注册客户公司中! " )
UpdateInstallTip ( 86 , $ " 注册客户数据库中... " )
UpdateDatabaseTable ( db , lic . PublicDb , lic . VendorName , lic . MysqlDatabase , lic . MysqlUserID , lic . MysqlPassword )
UpdateInstallTip ( 90 , $ " 注册客户数据库完成! " )
Catch ex As Exception
Throw New Exception ( $ " 注册客户失败,{ex.Message} " )
End Try
db . Close ( )
End Using
End Sub
Private Sub UpdateFormByLicense ( lic As License )
TxtVendorName . Text = lic . VendorName
DtpExpirationDate . Value = Date . Parse ( lic . ExpirationDate )
TxtRemoteServer . Text = lic . MysqlServer
NudRemotePort . Value = CInt ( lic . MysqlPort )
TxtRemoteUser . Text = lic . MysqlUserID
TxtRemotePwd . Text = lic . MysqlPassword
TxtRemotePrivateDb . Text = lic . MysqlDatabase
TxtRemotePublicDb . Text = lic . PublicDb
TxtLocalFileName . Text = lic . SqliteName
TxtLocalPwd . Text = lic . SqlitePassword
TxtFtpHost . Text = lic . FtpHost
NudFtpPort . Value = CInt ( lic . FtpPort )
TxtFtpUser . Text = lic . FtpUser
TxtFtpPwd . Text = lic . FtpPwd
TxtMac . Text = lic . Mac
TxtRemard . Text = lic . Remark
End Sub
Private Sub BtnLoad_Click ( sender As Object , e As EventArgs ) Handles BtnLoad . Click
Dim licensePath As String
Using openDlg As New OpenFileDialog
openDlg . Title = $ " 请选择模板鉴权License文件的路径 "
openDlg . Filter = $ " License文件(*.dat)|*.dat "
If openDlg . ShowDialog ( ) <> DialogResult . OK Then Return
licensePath = openDlg . FileName
End Using
Try
Dim lic As New License ( licensePath )
UpdateFormByLicense ( lic )
Catch ex As Exception
MsgBox ( $ " Load license file error:{ex.Message} " )
End Try
End Sub
Private Sub UpdateProgressBar ( value As Integer )
TsPrgInstall . Value = value
End Sub
Private Sub UpdateInstallLog ( value As Integer , log As String )
If value = 0 Then RtxTip . Clear ( )
RtxTip . AppendText ( $ " [{value,3}%]-[{Now}]{log}{vbCrLf} " )
RtxTip . ScrollToCaret ( )
End Sub
Private Sub UpdateInstallTip ( value As Integer , str As String )
UpdateProgressBar ( value )
UpdateInstallLog ( value , str )
End Sub
Private Sub Form1_Load ( sender As Object , e As EventArgs ) Handles MyBase . Load
Text = $ " {Application.ProductName} {Application.ProductVersion} "
DtpExpirationDate . Value = Now . AddMonths ( 6 )
End Sub
Private Sub GroupBox2_Enter ( sender As Object , e As EventArgs ) Handles GroupBox2 . Enter
End Sub
End Class