From 1aa2abdb43524a0f768cbd583bb9c58ffc32481c Mon Sep 17 00:00:00 2001 From: Misaka_Company Date: Mon, 2 Mar 2026 12:15:11 +0800 Subject: [PATCH] fix: resolve SQL Server table name mapping and variable naming conflicts - Fix getTableName() to handle generic schema_tablename pattern - Convert schema_tablename to [schema].[tablename] for SQL Server - Replace hardcoded productionContractData table name with helper function - Fix variable naming conflict: rename 'sql' to 'sqlString' to avoid shadowing mssql module import - Apply fixes to discrete-material-plan-dao, materials-to-be-deleted-dao, and bip-users-dao Co-Authored-By: Claude Sonnet 4.5 --- src/main/ipc/validation-handler.ts | 22 ++-- .../database/discrete-material-plan-dao.ts | 86 +++++++-------- .../database/materials-to-be-deleted-dao.ts | 102 +++++++++--------- src/main/services/user/bip-users-dao.ts | 58 +++++----- 4 files changed, 138 insertions(+), 130 deletions(-) diff --git a/src/main/ipc/validation-handler.ts b/src/main/ipc/validation-handler.ts index fdd46fc..81850f0 100644 --- a/src/main/ipc/validation-handler.ts +++ b/src/main/ipc/validation-handler.ts @@ -84,16 +84,22 @@ async function getValidationDatabaseService(): Promise [productionContractData].[26年压力表合同数据] + * dbo_MaterialsToBeDeleted -> [dbo].[MaterialsToBeDeleted] */ function getTableName(mysqlTableName: string): string { const dbType = process.env.DB_TYPE?.toLowerCase() if (dbType === 'sqlserver' || dbType === 'mssql') { - // Convert MySQL table name to SQL Server format - // e.g., dbo_MaterialsToBeDeleted -> [dbo].[MaterialsToBeDeleted] - if (mysqlTableName.startsWith('dbo_')) { - const tableName = mysqlTableName.substring(4) - return `[dbo].[${tableName}]` + // Find the FIRST underscore to split schema and table name + // This handles patterns like: schema_tablename + const firstUnderscoreIndex = mysqlTableName.indexOf('_') + if (firstUnderscoreIndex > 0) { + const schema = mysqlTableName.substring(0, firstUnderscoreIndex) + const tableName = mysqlTableName.substring(firstUnderscoreIndex + 1) + return `[${schema}].[${tableName}]` } + // If no underscore found, default to dbo schema return `[dbo].[${mysqlTableName}]` } return mysqlTableName @@ -151,6 +157,8 @@ async function getSourceNumbersFromInputs( // Table name in MySQL: productionContractData_26年压力表合同数据 // Column name: 生产订单号 (SourceNumber) if (productionIds.length > 0) { + const contractTableName = getTableName('productionContractData_26年压力表合同数据') + if (isSqlServer) { const sql = require('mssql') const placeholders = productionIds.map((_, idx) => `@p${idx}`).join(',') @@ -162,7 +170,7 @@ async function getSourceNumbersFromInputs( const contractSql = ` SELECT DISTINCT 生产订单号 - FROM productionContractData_26年压力表合同数据 + FROM ${contractTableName} WHERE 总排号 IN (${placeholders}) ` const contractResult = await (dbService as SqlServerService).queryWithParams(contractSql, params) @@ -174,7 +182,7 @@ async function getSourceNumbersFromInputs( const placeholders = productionIds.map(() => '?').join(',') const contractSql = ` SELECT DISTINCT 生产订单号 - FROM productionContractData_26年压力表合同数据 + FROM ${contractTableName} WHERE 总排号 IN (${placeholders}) ` const contractResult = await (dbService as MySqlService).query(contractSql, productionIds) diff --git a/src/main/services/database/discrete-material-plan-dao.ts b/src/main/services/database/discrete-material-plan-dao.ts index 5ac26b2..e2c9e92 100644 --- a/src/main/services/database/discrete-material-plan-dao.ts +++ b/src/main/services/database/discrete-material-plan-dao.ts @@ -169,11 +169,11 @@ export class DiscreteMaterialPlanDAO { const dbService = await this.getDatabaseService() const tableName = this.getTableName() - const sql = `SELECT * FROM ${tableName}` + const sqlString = `SELECT * FROM ${tableName}` const result = this.dbType === 'sqlserver' - ? await (dbService as SqlServerService).query(sql) - : await (dbService as MySqlService).query(sql) + ? await (dbService as SqlServerService).query(sqlString) + : await (dbService as MySqlService).query(sqlString) return result.rows } catch (error) { @@ -193,7 +193,7 @@ export class DiscreteMaterialPlanDAO { const dbService = await this.getDatabaseService() const tableName = this.getTableName() - const sql = ` + const sqlString = ` WITH RankedRecords AS ( SELECT *, @@ -216,8 +216,8 @@ export class DiscreteMaterialPlanDAO { ` const result = this.dbType === 'sqlserver' - ? await (dbService as SqlServerService).query(sql) - : await (dbService as MySqlService).query(sql) + ? await (dbService as SqlServerService).query(sqlString) + : await (dbService as MySqlService).query(sqlString) return result.rows } catch (error) { @@ -255,24 +255,24 @@ export class DiscreteMaterialPlanDAO { params[`p${idx}`] = { value: num, type: sql.NVarChar } }) - const sql = ` + const sqlString = ` SELECT * FROM ${tableName} WHERE SourceNumber IN (${placeholders}) ` - const result = await (dbService as SqlServerService).queryWithParams(sql, params) + const result = await (dbService as SqlServerService).queryWithParams(sqlString, params) allResults.push(...result.rows) } else { const placeholders = batch.map(() => '?').join(',') - const sql = ` + const sqlString = ` SELECT * FROM ${tableName} WHERE SourceNumber IN (${placeholders}) ` - const result = await (dbService as MySqlService).query(sql, batch) + const result = await (dbService as MySqlService).query(sqlString, batch) allResults.push(...result.rows) } } @@ -313,7 +313,7 @@ export class DiscreteMaterialPlanDAO { params[`p${idx}`] = { value: num, type: sql.NVarChar } }) - const sql = ` + const sqlString = ` WITH RankedRecords AS ( SELECT *, @@ -336,12 +336,12 @@ export class DiscreteMaterialPlanDAO { WHERE rn = 1 ` - const result = await (dbService as SqlServerService).queryWithParams(sql, params) + const result = await (dbService as SqlServerService).queryWithParams(sqlString, params) allResults.push(...result.rows) } else { const placeholders = batch.map(() => '?').join(',') - const sql = ` + const sqlString = ` WITH RankedRecords AS ( SELECT *, @@ -364,7 +364,7 @@ export class DiscreteMaterialPlanDAO { WHERE rn = 1 ` - const result = await (dbService as MySqlService).query(sql, batch) + const result = await (dbService as MySqlService).query(sqlString, batch) allResults.push(...result.rows) } } @@ -387,25 +387,25 @@ export class DiscreteMaterialPlanDAO { const tableName = this.getTableName() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` SELECT * FROM ${tableName} WHERE SourceNumber = @sourceNumber ` - const result = await (dbService as SqlServerService).queryWithParams(sql, { + const result = await (dbService as SqlServerService).queryWithParams(sqlString, { sourceNumber: { value: sourceNumber, type: sql.NVarChar } }) return result.rows } else { - const sql = ` + const sqlString = ` SELECT * FROM ${tableName} WHERE SourceNumber = ? ` - const result = await (dbService as MySqlService).query(sql, [sourceNumber]) + const result = await (dbService as MySqlService).query(sqlString, [sourceNumber]) return result.rows } @@ -428,25 +428,25 @@ export class DiscreteMaterialPlanDAO { const tableName = this.getTableName() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` SELECT * FROM ${tableName} WHERE PlanNumber = @planNumber ` - const result = await (dbService as SqlServerService).queryWithParams(sql, { + const result = await (dbService as SqlServerService).queryWithParams(sqlString, { planNumber: { value: planNumber, type: sql.NVarChar } }) return result.rows } else { - const sql = ` + const sqlString = ` SELECT * FROM ${tableName} WHERE PlanNumber = ? ` - const result = await (dbService as MySqlService).query(sql, [planNumber]) + const result = await (dbService as MySqlService).query(sqlString, [planNumber]) return result.rows } @@ -478,24 +478,24 @@ export class DiscreteMaterialPlanDAO { params[`p${idx}`] = { value: num, type: sql.NVarChar } }) - const sql = ` + const sqlString = ` SELECT * FROM ${tableName} WHERE PlanNumber IN (${placeholders}) ` - const result = await (dbService as SqlServerService).queryWithParams(sql, params) + const result = await (dbService as SqlServerService).queryWithParams(sqlString, params) return result.rows } else { const placeholders = planNumbers.map(() => '?').join(',') - const sql = ` + const sqlString = ` SELECT * FROM ${tableName} WHERE PlanNumber IN (${placeholders}) ` - const result = await (dbService as MySqlService).query(sql, planNumbers) + const result = await (dbService as MySqlService).query(sqlString, planNumbers) return result.rows } } catch (error) { @@ -515,11 +515,11 @@ export class DiscreteMaterialPlanDAO { const dbService = await this.getDatabaseService() const tableName = this.getTableName() - const sql = `SELECT COUNT(*) as count FROM ${tableName}` + const sqlString = `SELECT COUNT(*) as count FROM ${tableName}` const result = this.dbType === 'sqlserver' - ? await (dbService as SqlServerService).query(sql) - : await (dbService as MySqlService).query(sql) + ? await (dbService as SqlServerService).query(sqlString) + : await (dbService as MySqlService).query(sqlString) return result.rows.length > 0 ? (result.rows[0].count as number) : 0 } catch (error) { @@ -539,25 +539,25 @@ export class DiscreteMaterialPlanDAO { const tableName = this.getTableName() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` SELECT COUNT(*) as count FROM ${tableName} WHERE PlanNumber = @planNumber ` - const result = await (dbService as SqlServerService).queryWithParams(sql, { + const result = await (dbService as SqlServerService).queryWithParams(sqlString, { planNumber: { value: planNumber, type: sql.NVarChar } }) return result.rows.length > 0 ? (result.rows[0].count as number) : 0 } else { - const sql = ` + const sqlString = ` SELECT COUNT(*) as count FROM ${tableName} WHERE PlanNumber = ? ` - const result = await (dbService as MySqlService).query(sql, [planNumber]) + const result = await (dbService as MySqlService).query(sqlString, [planNumber]) return result.rows.length > 0 ? (result.rows[0].count as number) : 0 } @@ -586,42 +586,42 @@ export class DiscreteMaterialPlanDAO { params[`p${idx}`] = { value: num, type: sql.NVarChar } }) - const sql = ` + const sqlString = ` SELECT DISTINCT MaterialName FROM ${tableName} WHERE SourceNumber IN (${placeholders}) AND MaterialName IS NOT NULL ` - const result = await (dbService as SqlServerService).queryWithParams(sql, params) + const result = await (dbService as SqlServerService).queryWithParams(sqlString, params) return result.rows .map(row => row.MaterialName as string) .filter(Boolean) } else { const placeholders = sourceNumbers.map(() => '?').join(',') - const sql = ` + const sqlString = ` SELECT DISTINCT MaterialName FROM ${tableName} WHERE SourceNumber IN (${placeholders}) AND MaterialName IS NOT NULL ` - const result = await (dbService as MySqlService).query(sql, sourceNumbers) + const result = await (dbService as MySqlService).query(sqlString, sourceNumbers) return result.rows .map(row => row.MaterialName as string) .filter(Boolean) } } else { - const sql = ` + const sqlString = ` SELECT DISTINCT MaterialName FROM ${tableName} WHERE MaterialName IS NOT NULL ` const result = this.dbType === 'sqlserver' - ? await (dbService as SqlServerService).query(sql) - : await (dbService as MySqlService).query(sql) + ? await (dbService as SqlServerService).query(sqlString) + : await (dbService as MySqlService).query(sqlString) return result.rows .map(row => row.MaterialName as string) @@ -642,7 +642,7 @@ export class DiscreteMaterialPlanDAO { const dbService = await this.getDatabaseService() const tableName = this.getTableName() - const sql = ` + const sqlString = ` SELECT COUNT(*) as totalRecords, COUNT(DISTINCT PlanNumber) as uniquePlans, @@ -653,8 +653,8 @@ export class DiscreteMaterialPlanDAO { ` const result = this.dbType === 'sqlserver' - ? await (dbService as SqlServerService).query(sql) - : await (dbService as MySqlService).query(sql) + ? await (dbService as SqlServerService).query(sqlString) + : await (dbService as MySqlService).query(sqlString) return result.rows.length > 0 ? result.rows[0] : {} } catch (error) { diff --git a/src/main/services/database/materials-to-be-deleted-dao.ts b/src/main/services/database/materials-to-be-deleted-dao.ts index 509fd9b..dae847c 100644 --- a/src/main/services/database/materials-to-be-deleted-dao.ts +++ b/src/main/services/database/materials-to-be-deleted-dao.ts @@ -143,7 +143,7 @@ export class MaterialsToBeDeletedDAO { const manager = managerName?.trim() || null if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` MERGE ${tableName} AS target USING (VALUES (@materialCode, @managerName)) AS source (MaterialCode, ManagerName) ON target.MaterialCode = source.MaterialCode @@ -151,18 +151,18 @@ export class MaterialsToBeDeletedDAO { WHEN NOT MATCHED THEN INSERT (MaterialCode, ManagerName) VALUES (source.MaterialCode, source.ManagerName); ` - await (dbService as SqlServerService).queryWithParams(sql, { + await (dbService as SqlServerService).queryWithParams(sqlString, { materialCode: { value: code, type: sql.NVarChar }, managerName: { value: manager, type: sql.NVarChar } }) } else { - const sql = ` + const sqlString = ` INSERT INTO ${tableName} (MaterialCode, ManagerName) VALUES (?, ?) ON DUPLICATE KEY UPDATE ManagerName = VALUES(ManagerName) ` - await (dbService as MySqlService).query(sql, [code, manager]) + await (dbService as MySqlService).query(sqlString, [code, manager]) } return true @@ -203,7 +203,7 @@ export class MaterialsToBeDeletedDAO { try { if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` MERGE ${tableName} AS target USING (VALUES (@materialCode, @managerName)) AS source (MaterialCode, ManagerName) ON target.MaterialCode = source.MaterialCode @@ -211,18 +211,18 @@ export class MaterialsToBeDeletedDAO { WHEN NOT MATCHED THEN INSERT (MaterialCode, ManagerName) VALUES (source.MaterialCode, source.ManagerName); ` - await (dbService as SqlServerService).queryWithParams(sql, { + await (dbService as SqlServerService).queryWithParams(sqlString, { materialCode: { value: materialCode, type: sql.NVarChar }, managerName: { value: managerName || null, type: sql.NVarChar } }) } else { - const sql = ` + const sqlString = ` INSERT INTO ${tableName} (MaterialCode, ManagerName) VALUES (?, ?) ON DUPLICATE KEY UPDATE ManagerName = VALUES(ManagerName) ` - await (dbService as MySqlService).query(sql, [materialCode, managerName || null]) + await (dbService as MySqlService).query(sqlString, [materialCode, managerName || null]) } stats.success++ @@ -250,15 +250,15 @@ export class MaterialsToBeDeletedDAO { const dbService = await this.getDatabaseService() const tableName = this.getTableName() - const sql = ` + const sqlString = ` SELECT MaterialCode FROM ${tableName} WHERE MaterialCode IS NOT NULL ` const result = this.dbType === 'sqlserver' - ? await (dbService as SqlServerService).query(sql) - : await (dbService as MySqlService).query(sql) + ? await (dbService as SqlServerService).query(sqlString) + : await (dbService as MySqlService).query(sqlString) return new Set(result.rows.map(row => row.MaterialCode as string).filter(Boolean)) } catch (error) { @@ -276,7 +276,7 @@ export class MaterialsToBeDeletedDAO { const dbService = await this.getDatabaseService() const tableName = this.getTableName() - const sql = ` + const sqlString = ` SELECT ID, MaterialCode, ManagerName FROM ${tableName} WHERE MaterialCode IS NOT NULL @@ -284,8 +284,8 @@ export class MaterialsToBeDeletedDAO { ` const result = this.dbType === 'sqlserver' - ? await (dbService as SqlServerService).query(sql) - : await (dbService as MySqlService).query(sql) + ? await (dbService as SqlServerService).query(sqlString) + : await (dbService as MySqlService).query(sqlString) return result.rows.map(row => ({ id: row.ID as number, @@ -309,14 +309,14 @@ export class MaterialsToBeDeletedDAO { const tableName = this.getTableName() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` SELECT ID, MaterialCode, ManagerName FROM ${tableName} WHERE ManagerName = @managerName AND MaterialCode IS NOT NULL ORDER BY MaterialCode ` - const result = await (dbService as SqlServerService).queryWithParams(sql, { + const result = await (dbService as SqlServerService).queryWithParams(sqlString, { managerName: { value: managerName, type: sql.NVarChar } }) @@ -326,14 +326,14 @@ export class MaterialsToBeDeletedDAO { managerName: row.ManagerName as string })) } else { - const sql = ` + const sqlString = ` SELECT ID, MaterialCode, ManagerName FROM ${tableName} WHERE ManagerName = ? AND MaterialCode IS NOT NULL ORDER BY MaterialCode ` - const result = await (dbService as MySqlService).query(sql, [managerName]) + const result = await (dbService as MySqlService).query(sqlString, [managerName]) return result.rows.map(row => ({ id: row.ID as number, @@ -356,7 +356,7 @@ export class MaterialsToBeDeletedDAO { const dbService = await this.getDatabaseService() const tableName = this.getTableName() - const sql = ` + const sqlString = ` SELECT DISTINCT ManagerName FROM ${tableName} WHERE ManagerName IS NOT NULL @@ -364,8 +364,8 @@ export class MaterialsToBeDeletedDAO { ` const result = this.dbType === 'sqlserver' - ? await (dbService as SqlServerService).query(sql) - : await (dbService as MySqlService).query(sql) + ? await (dbService as SqlServerService).query(sqlString) + : await (dbService as MySqlService).query(sqlString) return result.rows.map(row => row.ManagerName as string).filter(Boolean) } catch (error) { @@ -386,13 +386,13 @@ export class MaterialsToBeDeletedDAO { const code = materialCode.trim() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` SELECT ID, MaterialCode, ManagerName FROM ${tableName} WHERE MaterialCode = @materialCode ` - const result = await (dbService as SqlServerService).queryWithParams(sql, { + const result = await (dbService as SqlServerService).queryWithParams(sqlString, { materialCode: { value: code, type: sql.NVarChar } }) @@ -407,13 +407,13 @@ export class MaterialsToBeDeletedDAO { managerName: row.ManagerName as string } } else { - const sql = ` + const sqlString = ` SELECT ID, MaterialCode, ManagerName FROM ${tableName} WHERE MaterialCode = ? ` - const result = await (dbService as MySqlService).query(sql, [code]) + const result = await (dbService as MySqlService).query(sqlString, [code]) if (result.rows.length === 0) { return null @@ -446,23 +446,23 @@ export class MaterialsToBeDeletedDAO { const code = materialCode.trim() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` DELETE FROM ${tableName} WHERE MaterialCode = @materialCode ` - const result = await (dbService as SqlServerService).queryWithParams(sql, { + const result = await (dbService as SqlServerService).queryWithParams(sqlString, { materialCode: { value: code, type: sql.NVarChar } }) return result.rowCount > 0 } else { - const sql = ` + const sqlString = ` DELETE FROM ${tableName} WHERE MaterialCode = ? ` - const result = await (dbService as MySqlService).query(sql, [code]) + const result = await (dbService as MySqlService).query(sqlString, [code]) return result.rowCount > 0 } @@ -483,23 +483,23 @@ export class MaterialsToBeDeletedDAO { const tableName = this.getTableName() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` DELETE FROM ${tableName} WHERE ManagerName = @managerName ` - const result = await (dbService as SqlServerService).queryWithParams(sql, { + const result = await (dbService as SqlServerService).queryWithParams(sqlString, { managerName: { value: managerName, type: sql.NVarChar } }) return result.rowCount } else { - const sql = ` + const sqlString = ` DELETE FROM ${tableName} WHERE ManagerName = ? ` - const result = await (dbService as MySqlService).query(sql, [managerName]) + const result = await (dbService as MySqlService).query(sqlString, [managerName]) return result.rowCount } @@ -518,11 +518,11 @@ export class MaterialsToBeDeletedDAO { const dbService = await this.getDatabaseService() const tableName = this.getTableName() - const sql = `DELETE FROM ${tableName}` + const sqlString = `DELETE FROM ${tableName}` const result = this.dbType === 'sqlserver' - ? await (dbService as SqlServerService).query(sql) - : await (dbService as MySqlService).query(sql) + ? await (dbService as SqlServerService).query(sqlString) + : await (dbService as MySqlService).query(sqlString) return result.rowCount } catch (error) { @@ -559,22 +559,22 @@ export class MaterialsToBeDeletedDAO { params[`p${idx}`] = { value: code.trim(), type: sql.NVarChar } }) - const sql = ` + const sqlString = ` DELETE FROM ${tableName} WHERE MaterialCode IN (${placeholders}) ` - const result = await (dbService as SqlServerService).queryWithParams(sql, params) + const result = await (dbService as SqlServerService).queryWithParams(sqlString, params) totalDeleted += result.rowCount } else { const placeholders = batch.map(() => '?').join(',') - const sql = ` + const sqlString = ` DELETE FROM ${tableName} WHERE MaterialCode IN (${placeholders}) ` - const result = await (dbService as MySqlService).query(sql, batch) + const result = await (dbService as MySqlService).query(sqlString, batch) totalDeleted += result.rowCount } } @@ -599,25 +599,25 @@ export class MaterialsToBeDeletedDAO { const code = materialCode.trim() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` SELECT COUNT(*) as count FROM ${tableName} WHERE MaterialCode = @materialCode ` - const result = await (dbService as SqlServerService).queryWithParams(sql, { + const result = await (dbService as SqlServerService).queryWithParams(sqlString, { materialCode: { value: code, type: sql.NVarChar } }) return result.rows.length > 0 && (result.rows[0].count as number) > 0 } else { - const sql = ` + const sqlString = ` SELECT COUNT(*) as count FROM ${tableName} WHERE MaterialCode = ? ` - const result = await (dbService as MySqlService).query(sql, [code]) + const result = await (dbService as MySqlService).query(sqlString, [code]) return result.rows.length > 0 && (result.rows[0].count as number) > 0 } @@ -636,11 +636,11 @@ export class MaterialsToBeDeletedDAO { const dbService = await this.getDatabaseService() const tableName = this.getTableName() - const sql = `SELECT COUNT(*) as count FROM ${tableName}` + const sqlString = `SELECT COUNT(*) as count FROM ${tableName}` const result = this.dbType === 'sqlserver' - ? await (dbService as SqlServerService).query(sql) - : await (dbService as MySqlService).query(sql) + ? await (dbService as SqlServerService).query(sqlString) + : await (dbService as MySqlService).query(sqlString) return result.rows.length > 0 ? (result.rows[0].count as number) : 0 } catch (error) { @@ -660,25 +660,25 @@ export class MaterialsToBeDeletedDAO { const tableName = this.getTableName() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` SELECT COUNT(*) as count FROM ${tableName} WHERE ManagerName = @managerName ` - const result = await (dbService as SqlServerService).queryWithParams(sql, { + const result = await (dbService as SqlServerService).queryWithParams(sqlString, { managerName: { value: managerName, type: sql.NVarChar } }) return result.rows.length > 0 ? (result.rows[0].count as number) : 0 } else { - const sql = ` + const sqlString = ` SELECT COUNT(*) as count FROM ${tableName} WHERE ManagerName = ? ` - const result = await (dbService as MySqlService).query(sql, [managerName]) + const result = await (dbService as MySqlService).query(sqlString, [managerName]) return result.rows.length > 0 ? (result.rows[0].count as number) : 0 } diff --git a/src/main/services/user/bip-users-dao.ts b/src/main/services/user/bip-users-dao.ts index ea3ec3d..49dff3c 100644 --- a/src/main/services/user/bip-users-dao.ts +++ b/src/main/services/user/bip-users-dao.ts @@ -114,13 +114,13 @@ export class BIPUsersDAO { const tableName = this.getTableName() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` SELECT ID, UserName, UserType FROM ${tableName} WHERE UserName = @username AND Password = @password ` - const result = await (dbService as SqlServerService).queryWithParams(sql, { + const result = await (dbService as SqlServerService).queryWithParams(sqlString, { username: { value: username, type: sql.NVarChar }, password: { value: password, type: sql.NVarChar } }) @@ -135,13 +135,13 @@ export class BIPUsersDAO { } return null } else { - const sql = ` + const sqlString = ` SELECT ID, UserName, UserType FROM ${tableName} WHERE UserName = ? AND Password = ? ` - const result = await (dbService as MySqlService).query(sql, [username, password]) + const result = await (dbService as MySqlService).query(sqlString, [username, password]) if (result.rows.length > 0) { const row = result.rows[0] @@ -170,13 +170,13 @@ export class BIPUsersDAO { const tableName = this.getTableName() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` SELECT ID, UserName, UserType FROM ${tableName} WHERE ComputerNmae = @computerName ` - const result = await (dbService as SqlServerService).queryWithParams(sql, { + const result = await (dbService as SqlServerService).queryWithParams(sqlString, { computerName: { value: computerName, type: sql.NVarChar } }) @@ -190,13 +190,13 @@ export class BIPUsersDAO { } return null } else { - const sql = ` + const sqlString = ` SELECT ID, UserName, UserType FROM ${tableName} WHERE ComputerNmae = ? ` - const result = await (dbService as MySqlService).query(sql, [computerName]) + const result = await (dbService as MySqlService).query(sqlString, [computerName]) if (result.rows.length > 0) { const row = result.rows[0] @@ -223,15 +223,15 @@ export class BIPUsersDAO { const dbService = await this.getDatabaseService() const tableName = this.getTableName() - const sql = ` + const sqlString = ` SELECT ID, UserName, UserType, CreateTime FROM ${tableName} ORDER BY UserName ` const result = this.dbType === 'sqlserver' - ? await (dbService as SqlServerService).query(sql) - : await (dbService as MySqlService).query(sql) + ? await (dbService as SqlServerService).query(sqlString) + : await (dbService as MySqlService).query(sqlString) return result.rows.map(row => ({ id: row.ID as number, @@ -292,7 +292,7 @@ export class BIPUsersDAO { } } - await (dbService as SqlServerService).queryWithParams(sql, params) + await (dbService as SqlServerService).queryWithParams(sqlString, params) return true } else { let sql: string @@ -314,7 +314,7 @@ export class BIPUsersDAO { params = [username, password, userType] } - await (dbService as MySqlService).query(sql, params) + await (dbService as MySqlService).query(sqlString, params) return true } } catch (error) { @@ -335,25 +335,25 @@ export class BIPUsersDAO { const tableName = this.getTableName() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` UPDATE ${tableName} SET UserType = @userType WHERE UserName = @username ` - await (dbService as SqlServerService).queryWithParams(sql, { + await (dbService as SqlServerService).queryWithParams(sqlString, { username: { value: username, type: sql.NVarChar }, userType: { value: userType, type: sql.NVarChar } }) return true } else { - const sql = ` + const sqlString = ` UPDATE ${tableName} SET UserType = ? WHERE UserName = ? ` - await (dbService as MySqlService).query(sql, [userType, username]) + await (dbService as MySqlService).query(sqlString, [userType, username]) return true } } catch (error) { @@ -374,25 +374,25 @@ export class BIPUsersDAO { const tableName = this.getTableName() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` UPDATE ${tableName} SET Password = @newPassword WHERE UserName = @username ` - await (dbService as SqlServerService).queryWithParams(sql, { + await (dbService as SqlServerService).queryWithParams(sqlString, { username: { value: username, type: sql.NVarChar }, newPassword: { value: newPassword, type: sql.NVarChar } }) return true } else { - const sql = ` + const sqlString = ` UPDATE ${tableName} SET Password = ? WHERE UserName = ? ` - await (dbService as MySqlService).query(sql, [newPassword, username]) + await (dbService as MySqlService).query(sqlString, [newPassword, username]) return true } } catch (error) { @@ -412,22 +412,22 @@ export class BIPUsersDAO { const tableName = this.getTableName() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` DELETE FROM ${tableName} WHERE UserName = @username ` - await (dbService as SqlServerService).queryWithParams(sql, { + await (dbService as SqlServerService).queryWithParams(sqlString, { username: { value: username, type: sql.NVarChar } }) return true } else { - const sql = ` + const sqlString = ` DELETE FROM ${tableName} WHERE UserName = ? ` - await (dbService as MySqlService).query(sql, [username]) + await (dbService as MySqlService).query(sqlString, [username]) return true } } catch (error) { @@ -447,24 +447,24 @@ export class BIPUsersDAO { const tableName = this.getTableName() if (this.dbType === 'sqlserver') { - const sql = ` + const sqlString = ` SELECT COUNT(*) as count FROM ${tableName} WHERE UserName = @username ` - const result = await (dbService as SqlServerService).queryWithParams(sql, { + const result = await (dbService as SqlServerService).queryWithParams(sqlString, { username: { value: username, type: sql.NVarChar } }) return result.rows.length > 0 && (result.rows[0].count as number) > 0 } else { - const sql = ` + const sqlString = ` SELECT COUNT(*) as count FROM ${tableName} WHERE UserName = ? ` - const result = await (dbService as MySqlService).query(sql, [username]) + const result = await (dbService as MySqlService).query(sqlString, [username]) return result.rows.length > 0 && (result.rows[0].count as number) > 0 } } catch (error) {