ScanNormalTemplate.txt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Data;
  6. using MediII.Adapter.Scan.Interface;
  7. using MediII.Adapter.Builder.Interface;
  8. namespace MediII.Adapter.Scanner.@@SYSNAME
  9. {
  10. public class @@SCANNAME_Scanner : DBScaner, IScan
  11. {
  12. public override long Do(DateTime dtEventTime)
  13. {
  14. IEnumerable<DataRow> listRow;
  15. string sql = "@@SQL";
  16. listRow = ctx.ExecuteDataSet(CommandType.Text, sql).Tables[0].AsEnumerable();
  17. if (listRow.Count() > 0)
  18. {
  19. List<MessageItem> listMessage = BuildMSG<DataRow>(listRow, entity =>
  20. {
  21. //OML_O21_Builder builder = HIS_MessageBuilder.GetBuilder<OML_O21_Builder>();
  22. //builder.BuildCheXiao(entity);
  23. //return builder.MessageHolder;
  24. var o = new NHapi.Model.V24.Message.OML_O21();
  25. o.MSH.MessageControlID.Value = Guid.NewGuid().ToString("N");
  26. return o;
  27. //return null;
  28. });
  29. BeforeSend(listMessage.Select(s => s.MessageStruct).ToList());
  30. SendMessages<DataRow>(listMessage, list =>
  31. {
  32. string[] idList = list.Select(s => s["XUHAO"].ToString()).ToArray();
  33. string sqlUpdate = string.Format("update hl7_l_laborder set zhuangtai = 1 where xuhao in ('{0}')", string.Join(",", idList));
  34. SqlDataAccess.ExecuteNonQuery(ctx,System.Data.CommandType.Text, sqlUpdate);
  35. return 1;
  36. });
  37. }
  38. return 0;
  39. }
  40. }
  41. }