import 'package:common_utils/common_utils.dart'; import 'package:floor/floor.dart'; import 'package:get/get.dart'; import 'package:pj_supermarket_cloud/common/index.dart'; // classify @dao abstract class ClassifyDao { @insert Future save(ClassifyEntity entity); @Query(''' DELETE FROM classify ''') Future delAllForce(); @insert Future batchSave(List entitys); Future delByIds(List codes) async { if (ObjectUtil.isEmptyList(codes)) return -1; final app = Get.find(); final database = app.dataBase.database; final placeholders = List.generate(codes.length, (index) => '?').join(', '); final sql = ''' UPDATE classify SET delFlag = 1 WHERE serviceUniqueCode IN ($placeholders) '''; return await database.rawUpdate(sql, [...codes]); } @Query(''' UPDATE classify SET delFlag = 1 WHERE delFlag = 0 AND (:sysType = '-1' OR sysType = :sysType) ''') Future delBySysType(String sysType); @update Future edit(ClassifyEntity entity); @update Future batchEdit(List entitys); @Query('SELECT DISTINCT COUNT(0) FROM classify WHERE delFlag = 0') Future getCount(); @Query(""" SELECT * FROM classify WHERE delFlag = 0 AND serviceUniqueCode = :code """) Future getByCode(String code); @Query(''' SELECT classify.* FROM classify WHERE delFlag = 0 AND (:sysType = '-1' OR sysType = :sysType) AND (:categoryType = '-1' OR INSTR(',' || categoryType || ',', ',' || :categoryType || ',') > 0) ORDER BY classify.sort ''') Future> getAll( String sysType, String categoryType, ); }