MixLabelPrintDao.java 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package thyyxxk.webserver.dao.his.examinations;
  2. import org.apache.ibatis.annotations.*;
  3. import thyyxxk.webserver.entity.examinations.mixlabel.MixLabel;
  4. import thyyxxk.webserver.entity.examinations.mixlabel.MixLabelRange;
  5. import java.util.List;
  6. @Mapper
  7. public interface MixLabelPrintDao {
  8. @Update("create table dbo.${table} (label varchar(32) not null constraint ${table}_pk primary key, " +
  9. "status tinyint default 0 not null, reprint tinyint default 0 not null, " +
  10. "print_staff varchar(12), print_datetime datetime, " +
  11. "reprint_staff varchar(12), reprint_datetime datetime);" +
  12. "exec sp_addextendedproperty 'MS_Description', '核酸混采标签打印', 'SCHEMA', 'dbo', 'TABLE', '${table}';" +
  13. "exec sp_addextendedproperty 'MS_Description', '标签编号', 'SCHEMA', 'dbo', 'TABLE', '${table}', 'COLUMN', 'label';" +
  14. "exec sp_addextendedproperty 'MS_Description', '状态:0-未打印,1-已打印', 'SCHEMA', 'dbo', 'TABLE', '${table}', 'COLUMN', 'status';" +
  15. "exec sp_addextendedproperty 'MS_Description', '是否重复打印过:0-否,1-是', 'SCHEMA', 'dbo', 'TABLE', '${table}', 'COLUMN', 'reprint';" +
  16. "exec sp_addextendedproperty 'MS_Description', '打印操作人', 'SCHEMA', 'dbo', 'TABLE', '${table}', 'COLUMN', 'print_staff';" +
  17. "exec sp_addextendedproperty 'MS_Description', '打印时间', 'SCHEMA', 'dbo', 'TABLE', '${table}', 'COLUMN', 'print_datetime';" +
  18. "exec sp_addextendedproperty 'MS_Description', '重复打印操作人', 'SCHEMA', 'dbo', 'TABLE', '${table}', 'COLUMN', 'reprint_staff';" +
  19. "exec sp_addextendedproperty 'MS_Description', '重复打印操作时间', 'SCHEMA', 'dbo', 'TABLE', '${table}', 'COLUMN', 'reprint_datetime';")
  20. void createTable(@Param("table") String table);
  21. @Insert("insert into ${table} (label,status,reprint) values (#{label},0,0)")
  22. void insertNewLabel(@Param("table") String table, @Param("label") String label);
  23. @Insert("insert into t_mix_label_ranges(table_name, min_label, max_label, prefix, slice_index, end_number) values " +
  24. "(#{tableName},#{minLabel},#{maxLabel},#{prefix},#{sliceIndex},#{endNumber})")
  25. void insertNewLabelRange(MixLabelRange labelRange);
  26. @Select("select * from t_mix_label_ranges")
  27. List<MixLabelRange> selectLabelRanges();
  28. @Select("select top 1 label from ${table} where status=0 order by label")
  29. String selectMinUnprintedLabel(@Param("table") String table);
  30. @Select("select * from ${table} where label=#{label}")
  31. MixLabel selectSingleLabel(@Param("table") String table, @Param("label") String label);
  32. @Update("update ${tableName} set status=1,print_staff=#{printStaff},print_datetime=#{printDatetime} where label=#{label}")
  33. void updatePrinted(MixLabel printer);
  34. @Update("update ${tableName} set reprint=1,reprint_staff=#{reprintStaff}, " +
  35. "reprint_datetime=#{reprintDatetime} where label=#{label}")
  36. void updateReprinted(MixLabel printer);
  37. @Select("select count(1) from ${table} where status=0")
  38. Integer selectNotPrintedCount(@Param("table") String table);
  39. @Update("update t_mix_label_ranges set finish_flag=1 where table_name=#{tableName}")
  40. void updateAllPrinted(@Param("table") String table);
  41. }