RefreshBedNetInterfaceExcutor.cs 3.4 KB

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