SaveMattressExcutor.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data.SqlClient;
  4. using System.Linq;
  5. using System.Text;
  6. using JLHHJSvr.BLL;
  7. using JLHHJSvr.Com;
  8. using JLHHJSvr.Com.Model;
  9. using JLHHJSvr.LJException;
  10. using JLHHJSvr.Tools;
  11. using LJLib.DAL.SQL;
  12. using LJLib.Net.SPI.Server;
  13. namespace JLHHJSvr.Excutor
  14. {
  15. internal sealed class SaveMattressExcutor : ExcutorBase<SaveMattressRequest, SaveMattressResponse>
  16. {
  17. protected override void ExcuteInternal(SaveMattressRequest request, object state, SaveMattressResponse rslt)
  18. {
  19. var tokendata = BllHelper.GetToken(request.token);
  20. if (tokendata == null)
  21. {
  22. rslt.ErrMsg = "会话已经中断,请重新登录";
  23. return;
  24. }
  25. if (request.mattress == null)
  26. {
  27. rslt.ErrMsg = "缺少主表信息";
  28. return;
  29. }
  30. using (var con = new SqlConnection(GlobalVar.ConnectionString))
  31. using (var cmd = con.CreateCommand())
  32. {
  33. con.Open();
  34. // 初始化属性
  35. //AutoInit.AutoInitS(cmd, request.mattress);
  36. using (cmd.Transaction = con.BeginTransaction())
  37. {
  38. try
  39. {
  40. var dtNow = DateTime.Now;
  41. var fieldsMx = "mattressmxid,mattressid,formulaid,formula,replace_formula,if_success,priceunit,shrinkage,mtrlid,price,gram_weight,cloth_width,if_inputqty,qty ,costamt,if_areaprice,thickness,chastr,xu,useqty,useformula,replace_useformula,gydscrp";
  42. var currentMattressID = request.mattress.mattressid;
  43. if (request.mattress.mattressid == null || request.mattress.mattressid <= 0)
  44. {
  45. //新建
  46. request.mattress.createtime = dtNow;
  47. request.mattress.mattressid = BllHelper.GetID(cmd, "u_mattress");
  48. currentMattressID = request.mattress.mattressid;
  49. //var fields = "deptid,deptname,profitrate,pricelistid,springtypeid,createtime,moneyrate,discount,flag,if_rate_auto,manage_amt,mtrltype";
  50. //DbSqlHelper.Insert(cmd, "u_mattress", null, request.mattress, fields);
  51. }
  52. else
  53. {
  54. //修改
  55. //request.mattress.moddate = dtNow;
  56. //request.mattress.modemp = tokendata.username;
  57. //var fields = "deptname,profitrate,pricelistid,springtypeid,moneyrate,discount,flag,if_rate_auto,manage_amt,mtrltype,moddate,modemp";
  58. //DbSqlHelper.Update(cmd, "u_mattress", null, request.mattress, "deptid", fields);
  59. //var oriMx = new u_mattress_mx_mtrl {
  60. // mattressid = request.mattress.mattressid
  61. //};
  62. //DbSqlHelper.Delete(cmd, oriMx);
  63. }
  64. if (request.mianliao != null && request.mianliao.Count > 0)
  65. {
  66. foreach (var item in request.mianliao)
  67. {
  68. item.mattressid = currentMattressID;
  69. if (item.mattressmxid <= 0)
  70. {
  71. item.mattressmxid = BllHelper.GetID(cmd, "u_mattress_mx_mtrl");
  72. }
  73. }
  74. //DbSqlHelper.Insert(cmd, "u_mattress_mx_mtrl", null, request.mianliao, fieldsMx);
  75. }
  76. //...
  77. cmd.Transaction.Commit();
  78. }
  79. catch (Exception e)
  80. {
  81. cmd.Transaction.Rollback();
  82. rslt.ErrMsg = e.ToString();
  83. }
  84. }
  85. }
  86. }
  87. }
  88. }