RefreshBedNetInterfaceExcutor.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data.SqlClient;
  4. using System.Linq;
  5. using JLHHJSvr.BLL;
  6. using JLHHJSvr.Com;
  7. using JLHHJSvr.Com.Model;
  8. using JLHHJSvr.Helper;
  9. using JLHHJSvr.LJException;
  10. using LJLib.DAL.SQL;
  11. using LJLib.Net.SPI.Server;
  12. using LJLib.SQLEX;
  13. namespace JLHHJSvr.Excutor
  14. {
  15. internal sealed class RefreshBedNetInterfaceExcutor : ExcutorBase<RefreshBedNetInterfaceRequest, RefreshBedNetInterfaceResponse>
  16. {
  17. protected override void ExcuteInternal(RefreshBedNetInterfaceRequest request, object state, RefreshBedNetInterfaceResponse rslt)
  18. {
  19. var tokendata = BllHelper.GetToken(request.token);
  20. if (tokendata == null)
  21. {
  22. rslt.ErrMsg = "会话已经中断,请重新登录";
  23. return;
  24. }
  25. if (request.bednetid == null || request.bednetid <= 0)
  26. {
  27. rslt.ErrMsg = "床网id有误,请检查!";
  28. return;
  29. }
  30. using (var con = GlobalVar.ConnectionString.NewSqlConnection())
  31. using (var cmd = con.CreateCommand())
  32. {
  33. con.Open();
  34. var copy_list = new List<u_mattress_interface>();
  35. var selectStr = @"SELECT bednetid
  36. ,printid
  37. ,itemname
  38. ,bj_pzname
  39. ,bj_namemx
  40. ,actual_size
  41. ,erp_pzid
  42. ,Space(200) AS erp_pzcode
  43. ,Space(200) AS erp_pzname
  44. ,bj_inputtype AS erp_inputtype
  45. FROM u_bednet_interface";
  46. DbSqlHelper.SelectJoin(cmd, selectStr, "bednetid = @bednetid", new Dictionary<string, object>() { { "@bednetid", request.bednetid } }, "printid", "bednetid,printid,itemname,bj_pzname,bj_namemx,actual_size,erp_pzid,ss_rate,ls_rate,bj_inputtype", 0, 0, copy_list);
  47. var interfaceHelper = HelperBase.GetHelper<InterfaceHelper>(cmd, new HelperBase.Context() { tokendata = tokendata });
  48. var interfaceList = interfaceHelper.RefreshBedNetInterfaceList(request.bednetid.Value, request.configcodetype.Value);
  49. if (request.isPz != null && request.isPz == 1)
  50. {
  51. var copyDict = copy_list.Where(mx2 => mx2.erp_pzid > 0)
  52. .ToDictionary(mx2 => mx2.erp_pzid, mx2 => mx2);
  53. foreach (var mx in interfaceList)
  54. {
  55. if (mx.erp_pzid > 0 && copyDict.TryGetValue(mx.erp_pzid, out var mx2))
  56. {
  57. if (mx.bj_inputtype != 2 || (mx.bj_inputtype == 2 && mx2.bj_inputtype == 1))
  58. {
  59. mx.bj_namemx = mx2.bj_namemx;
  60. mx.actual_size = mx2.actual_size;
  61. if (mx.bj_inputtype == 2 && mx2.bj_inputtype == 1)
  62. {
  63. mx.bj_inputtype = 1;
  64. }
  65. }
  66. else
  67. {
  68. mx.actual_size = mx2.actual_size;
  69. }
  70. }
  71. }
  72. }
  73. rslt.mxList = interfaceList;
  74. }
  75. }
  76. }
  77. }