feat:辅助条码

This commit is contained in:
dzc committed 2025-03-20 14:32:07 +08:00
1 parent 6b3ee0e8d1
commit 93f9ec7cfd
10 files changed
+130 -52

No files matched your search

@@ -31,8 +31,37 @@ abstract class SupermarketCodeDao {
@insert
Future<void> batchSave(List<SupermarketCodeEntity> changeList);
// @Query('''
// SELECT * FROM supermarket_code LIMIT 1
// ''')
// Future<SupermarketCodeEntity?> getByBarCode(String barCode);
@Query('''
SELECT
supermarket_sku.id,
supermarket_sku.serviceUniqueCode,
supermarket_sku.spuId,
supermarket_spu.productCode,
supermarket_spu.classifyServiceUniqueCode,
supermarket_spu.productName,
supermarket_spu.picUrl,
supermarket_spu.productNature,
supermarket_spu.salesCount,
supermarket_spu.stock,
supermarket_spu.sort,
supermarket_spu.createTime,
supermarket_spu.updateTime,
supermarket_spu.delFlag,
supermarket_sku.barCode,
supermarket_sku.promotionPrice,
supermarket_sku.purchasePrice,
supermarket_sku.retailPrice,
supermarket_sku.spec,
supermarket_sku.packageNum,
supermarket_sku.unit,
supermarket_sku.packageNum
FROM supermarket_code
INNER JOIN supermarket_spu ON supermarket_code.spuId = supermarket_spu.serviceUniqueCode AND supermarket_spu.delFlag = 0
INNER JOIN supermarket_sku ON supermarket_spu.serviceUniqueCode = supermarket_sku.spuId
WHERE
1 = 1
AND (:barCode = '-1' OR supermarket_code.barCode = :barCode)
LIMIT 1
''')
Future<SupermarketSpuEntity?> getByBarCode(String barCode);
}
@@ -34,8 +34,12 @@ abstract class SupermarketSkuDao {
@Query("""
SELECT DISTINCT COUNT(0) FROM supermarket_sku
INNER JOIN supermarket_spu ON supermarket_sku.spuId = supermarket_spu.serviceUniqueCode AND supermarket_spu.delFlag = 0
WHERE
1 = 1
AND (:barCode = '-1' OR supermarket_sku.barCode LIKE '%' || :barCode || '%')
AND (:classifyServiceUniqueCode = '-1' OR supermarket_spu.classifyServiceUniqueCode = :classifyServiceUniqueCode)
""")
Future<int?> getCount();
Future<int?> getCount(String barCode, String classifyServiceUniqueCode);
@Query('''
SELECT
+15 -3
View File
@@ -673,10 +673,14 @@ class _$SupermarketSkuDao extends SupermarketSkuDao {
}
@override
Future<int?> getCount() async {
Future<int?> getCount(
String barCode,
String classifyServiceUniqueCode,
) async {
return _queryAdapter.query(
'SELECT DISTINCT COUNT(0) FROM supermarket_sku INNER JOIN supermarket_spu ON supermarket_sku.spuId = supermarket_spu.serviceUniqueCode AND supermarket_spu.delFlag = 0',
mapper: (Map<String, Object?> row) => row.values.first as int);
'SELECT DISTINCT COUNT(0) FROM supermarket_sku INNER JOIN supermarket_spu ON supermarket_sku.spuId = supermarket_spu.serviceUniqueCode AND supermarket_spu.delFlag = 0 WHERE 1 = 1 AND (?1 = \'-1\' OR supermarket_sku.barCode LIKE \'%\' || ?1 || \'%\') AND (?2 = \'-1\' OR supermarket_spu.classifyServiceUniqueCode = ?2)',
mapper: (Map<String, Object?> row) => row.values.first as int,
arguments: [barCode, classifyServiceUniqueCode]);
}
@override
@@ -861,6 +865,14 @@ class _$SupermarketCodeDao extends SupermarketCodeDao {
await _queryAdapter.queryNoReturn('DELETE FROM supermarket_code');
}
@override
Future<SupermarketSpuEntity?> getByBarCode(String barCode) async {
return _queryAdapter.query(
'SELECT supermarket_sku.id, supermarket_sku.serviceUniqueCode, supermarket_sku.spuId, supermarket_spu.productCode, supermarket_spu.classifyServiceUniqueCode, supermarket_spu.productName, supermarket_spu.picUrl, supermarket_spu.productNature, supermarket_spu.salesCount, supermarket_spu.stock, supermarket_spu.sort, supermarket_spu.createTime, supermarket_spu.updateTime, supermarket_spu.delFlag, supermarket_sku.barCode, supermarket_sku.promotionPrice, supermarket_sku.purchasePrice, supermarket_sku.retailPrice, supermarket_sku.spec, supermarket_sku.packageNum, supermarket_sku.unit, supermarket_sku.packageNum FROM supermarket_code INNER JOIN supermarket_spu ON supermarket_code.spuId = supermarket_spu.serviceUniqueCode AND supermarket_spu.delFlag = 0 INNER JOIN supermarket_sku ON supermarket_spu.serviceUniqueCode = supermarket_sku.spuId WHERE 1 = 1 AND (?1 = \'-1\' OR supermarket_code.barCode = ?1) LIMIT 1',
mapper: (Map<String, Object?> row) => SupermarketSpuEntity(id: row['id'] as int?, serviceUniqueCode: row['serviceUniqueCode'] as String, classifyServiceUniqueCode: row['classifyServiceUniqueCode'] as String, productCode: row['productCode'] as String, productName: row['productName'] as String, productNature: _supermarketNatureConverter.decode(row['productNature'] as String), barCode: row['barCode'] as String?, packageNum: row['packageNum'] as int, unit: row['unit'] as String, spec: row['spec'] as String, picUrl: row['picUrl'] as String?, stock: row['stock'] as double?, salesCount: row['salesCount'] as double?, purchasePrice: row['purchasePrice'] as int, retailPrice: row['retailPrice'] as int, promotionPrice: row['promotionPrice'] as int, sort: row['sort'] as int, createTime: _dateTimeConverter.decode(row['createTime'] as String), updateTime: _dateTimeConverter.decode(row['updateTime'] as String), delFlag: _boolConverter.decode(row['delFlag'] as int)),
arguments: [barCode]);
}
@override
Future<void> batchSave(List<SupermarketCodeEntity> changeList) async {
await _supermarketCodeEntityInsertionAdapter.insertList(