锐腾搅拌上料功能
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

163 lines
6.1 KiB

5 months ago
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using ICSSoft.Base.Config.AppConfig;
  6. using ICSSoft.Frame.Data.Entity;
  7. namespace ICSSoft.Frame.Data.DAL
  8. {
  9. public class ICSUserSkillDAL
  10. {
  11. public static string AddandEditList(List<ICSUserSkill> userSkillList, string conStr)
  12. {
  13. int ng = 0;
  14. int insert = 0;
  15. int update = 0;
  16. int fail = 0;
  17. List<string> list = new List<string>();
  18. FramDataContext db = new FramDataContext(conStr);
  19. db.Connection.Open();
  20. db.Transaction = db.Connection.BeginTransaction();
  21. try
  22. {
  23. for (int i = 0; i < userSkillList.Count; i++)
  24. {
  25. ICSUserSkill input = userSkillList[i];
  26. if (input.SkillCode == "" || input.UserCode.Trim() == "" || input.Qualification == "")
  27. {
  28. continue;
  29. }
  30. bool isNew = false;
  31. var line = db.ICSUserSkill.FirstOrDefault(a =>
  32. a.UserCode == input.UserCode
  33. && a.Qualification == input.Qualification
  34. && a.WorkPoint == AppConfig.WorkPointCode
  35. );
  36. if (line == null)
  37. {
  38. var baseuser = db.Sys_User.FirstOrDefault(a => a.UserCode == input.UserCode && a.WorkPointCode == AppConfig.WorkPointCode);
  39. if (baseuser == null)
  40. {
  41. ng++;
  42. list.Add("用户" + input.UserCode + "不存在");
  43. continue;
  44. }
  45. isNew = true;
  46. line = new ICSUserSkill();
  47. line.ID = AppConfig.GetGuid();
  48. line.UserID = baseuser.ID;
  49. line.UserCode = input.UserCode;
  50. line.CreateDate = DateTime.Now;
  51. line.CreateUserCode = input.CreateUserCode;
  52. line.WorkPoint = AppConfig.WorkPointCode;
  53. }
  54. line.Qualification = input.Qualification;
  55. line.SkillCode = input.SkillCode;
  56. line.SkillDesc = input.SkillDesc;
  57. line.ModifyDate = DateTime.Now;
  58. line.ModifyUserCode = input.CreateUserCode;
  59. line.EnableFlag = true;
  60. if (isNew)
  61. {
  62. db.ICSUserSkill.InsertOnSubmit(line);
  63. insert++;
  64. }
  65. else
  66. {
  67. update++;
  68. }
  69. db.SubmitChanges();
  70. }
  71. db.Transaction.Commit();
  72. }
  73. catch (Exception ex)
  74. {
  75. fail++;
  76. db.Transaction.Rollback();
  77. }
  78. string smghead =
  79. "不符合" + ng.ToString() + "更新" + update.ToString() + "新增" + insert.ToString() + "\r\n";
  80. return
  81. smghead + string.Join("\r\n", list);
  82. }
  83. public static void AddOrEdit(ICSUserSkill user, string conStr)
  84. {
  85. FramDataContext db = new FramDataContext(conStr);
  86. db.Connection.Open();
  87. db.Transaction = db.Connection.BeginTransaction();
  88. try
  89. {
  90. bool isNew = false;
  91. var line = db.ICSUserSkill.FirstOrDefault(a =>
  92. a.UserCode == user.UserCode
  93. && a.Qualification == user.Qualification
  94. && a.WorkPoint == AppConfig.WorkPointCode
  95. );
  96. if (String.IsNullOrEmpty(user.ID))
  97. {
  98. if (line != null)
  99. {
  100. throw new Exception("新增失败!用户:" + user.UserCode + "产品资格:" + user.Qualification + "已维护,技能等级为:" + user.SkillDesc);
  101. }
  102. isNew = true;
  103. line = new ICSUserSkill();
  104. line.ID = AppConfig.GetGuid();
  105. line.UserCode = user.UserCode;
  106. line.UserID = user.UserID;
  107. line.Qualification = user.Qualification;
  108. line.CreateDate = DateTime.Now;
  109. line.CreateUserCode = AppConfig.UserCode;
  110. line.WorkPoint = AppConfig.WorkPointCode;
  111. }
  112. else
  113. {
  114. if (line == null)
  115. {
  116. throw new Exception("修改失败!用户:" + user.UserCode + "产品资格:" + user.Qualification + "已被他人删除");
  117. }
  118. isNew = false;
  119. }
  120. line.SkillCode = user.SkillCode;
  121. line.SkillDesc = user.SkillDesc;
  122. line.EnableFlag = user.EnableFlag;
  123. line.ModifyDate = DateTime.Now;
  124. line.ModifyUserCode = AppConfig.UserCode;
  125. if (isNew) db.ICSUserSkill.InsertOnSubmit(line);
  126. db.SubmitChanges();
  127. db.Transaction.Commit();
  128. }
  129. catch (Exception ex)
  130. {
  131. db.Transaction.Rollback();
  132. throw ex;
  133. }
  134. }
  135. public static void Delete(List<string> listID)
  136. {
  137. FramDataContext db = new FramDataContext(AppConfig.AppConnectString);
  138. db.Connection.Open();
  139. db.Transaction = db.Connection.BeginTransaction();
  140. try
  141. {
  142. var lines = db.ICSUserSkill.Where(a => listID.Contains(a.ID));
  143. db.ICSUserSkill.DeleteAllOnSubmit(lines);
  144. db.SubmitChanges();
  145. db.Transaction.Commit();
  146. }
  147. catch (Exception ex)
  148. {
  149. db.Transaction.Rollback();
  150. throw new Exception("删除失败," + ex.Message);
  151. }
  152. }
  153. }
  154. }