WD_StaffInfoDataAccess.cs 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. using System;
  2. using Dapper;
  3. using HNWD.Pregrant.Model;
  4. using System.Collections.Generic;
  5. using System.Text;
  6. namespace HNWD.Pregrant.DataAccess
  7. {
  8. public class WD_StaffInfoDataAccess : GenericDataAccess<WD_StaffInfo>
  9. {
  10. private WD_StaffInfo wd_StaffInfo = null;
  11. public WD_StaffInfoExt ext = new WD_StaffInfoExt();
  12. private readonly static WD_StaffInfoDataAccess wd_StaffInfoDataAccess = new WD_StaffInfoDataAccess(null);
  13. private readonly static object lockobj = new object();
  14. public static WD_StaffInfoDataAccess GetInstance()
  15. {
  16. lock (lockobj)
  17. {
  18. return wd_StaffInfoDataAccess;
  19. }
  20. }
  21. private WD_StaffInfoDataAccess(WD_StaffInfo wd_StaffInfo)
  22. {
  23. this.wd_StaffInfo = wd_StaffInfo;
  24. }
  25. public List<WD_StaffInfo> Query()
  26. {
  27. string strSql = " select {0} from [WD_StaffInfo] where id = " + this.wd_StaffInfo.ID;
  28. ext.messageDataList = this.Query(strSql, new WD_StaffInfo());
  29. ext.messageDataList.ForEach(f => f.bSuccess = this.bSuccess);
  30. ext.messageDataList.ForEach(f => f.Code = this.Code);
  31. ext.messageDataList.ForEach(f => f.Message = this.Message);
  32. ext.messageDataList.ForEach(f => f.Rows = this.Rows);
  33. ext.bSuccess = this.bSuccess;
  34. ext.Code = this.Code;
  35. ext.Message = this.Message;
  36. ext.Rows = this.Rows;
  37. return ext.messageDataList;
  38. }
  39. public List<WD_StaffInfo> QueryAll()
  40. {
  41. string strSql = " select {0} from [WD_StaffInfo] ";
  42. ext.messageDataList = this.Query(strSql, new WD_StaffInfo());
  43. ext.messageDataList.ForEach(f => f.bSuccess = this.bSuccess);
  44. ext.messageDataList.ForEach(f => f.Code = this.Code);
  45. ext.messageDataList.ForEach(f => f.Message = this.Message);
  46. ext.messageDataList.ForEach(f => f.Rows = this.Rows);
  47. ext.bSuccess = this.bSuccess;
  48. ext.Code = this.Code;
  49. ext.Message = this.Message;
  50. ext.Rows = this.Rows;
  51. return ext.messageDataList;
  52. }
  53. private WD_StaffInfoExt QueryMAXID()
  54. {
  55. string strSql = " select top 1 * from [WD_StaffInfo] order by ID desc ";
  56. ext.messageDataList = this.Query(strSql, new WD_StaffInfo());
  57. ext.messageDataList.ForEach(f => f.bSuccess = this.bSuccess);
  58. ext.messageDataList.ForEach(f => f.Code = this.Code);
  59. ext.messageDataList.ForEach(f => f.Message = this.Message);
  60. ext.messageDataList.ForEach(f => f.Rows = this.Rows);
  61. ext.bSuccess = this.bSuccess;
  62. ext.Code = this.Code;
  63. ext.Message = this.Message;
  64. ext.Rows = this.Rows;
  65. return ext;
  66. }
  67. public void Business(List<WD_StaffInfo> il, List<WD_StaffInfo> ul, List<WD_StaffInfo> dl)
  68. {
  69. StringBuilder sb_itemp = new StringBuilder();
  70. sb_itemp.Append(" INSERT INTO [WD_StaffInfo]( " );
  71. sb_itemp.Append(" [STAFF_ID],[STAFF_PASSWORDCARD],[STAFF_NAME],[STAFF_NAME_PY],[STAFF_TYPE], " );
  72. sb_itemp.Append(" [STAFF_SEX],[STAFF_BIRTHDAY],[STAFF_IDCARD],[STAFF_WORKDATE],[STAFF_PICTURE], ");
  73. sb_itemp.Append(" [STAFF_WORKTEL],[STAFF_MOBILE],[STAFF_CONTENT],[STAFF_DUTY],[STAFF_DATETIME] ");
  74. sb_itemp.Append(" ) values ( ");
  75. sb_itemp.Append(" '{0}' , '{1}' , '{2}' ,'{3}' ,'{4}' , ");
  76. sb_itemp.Append(" '{5}' , '{6}' , '{7}' ,'{8}' ,'{9}' , ");
  77. sb_itemp.Append(" '{10}' , '{11}' , '{12}' ,'{13}' ,'{14}' ");
  78. sb_itemp.Append(" ) ");
  79. StringBuilder sb_utemp = new StringBuilder();
  80. sb_utemp.Append(" UPDATE [WD_StaffInfo] SET " );
  81. sb_utemp.Append(" [STAFF_ID] = '{0}',[STAFF_PASSWORDCARD] = '{1}',[STAFF_NAME] = '{2}',[STAFF_NAME_PY] = '{3}',[STAFF_TYPE] = '{4}', " );
  82. sb_utemp.Append(" [STAFF_SEX] = '{5}',[STAFF_BIRTHDAY] = '{6}',[STAFF_IDCARD] = '{7}',[STAFF_WORKDATE] = '{8}',[STAFF_PICTURE] = '{9}', ");
  83. sb_utemp.Append(" [STAFF_WORKTEL] = '{10}',[STAFF_MOBILE] = '{11}',[STAFF_CONTENT] = '{12}',[STAFF_DUTY] = '{13}',[STAFF_DATETIME] = '{14}' ");
  84. sb_utemp.Append(" WHERE ID = '{15}' ");
  85. StringBuilder sb_dtemp = new StringBuilder();
  86. sb_dtemp.Append( " delete from [WD_StaffInfo] where [ID]= '{0}'" );
  87. StringBuilder sb_i = new StringBuilder();
  88. foreach (WD_StaffInfo wd in il)
  89. {
  90. WD_StaffInfoExt wd_extmax = this.QueryMAXID();
  91. if(wd_extmax.bSuccess && wd_extmax.Rows == 0)
  92. {
  93. wd.STAFF_PICTURE = "Pic/1.png";
  94. }
  95. else
  96. {
  97. wd.STAFF_PICTURE = "Pic/" + wd_extmax.messageDataList[0].ID + ".png";
  98. }
  99. sb_i.AppendFormat(sb_itemp.ToString(),
  100. wd.STAFF_ID ,
  101. wd.STAFF_PASSWORDCARD ,
  102. wd.STAFF_NAME ,
  103. wd.STAFF_NAME_PY ,
  104. wd.STAFF_TYPE ,
  105. wd.STAFF_SEX ,
  106. wd.STAFF_BIRTHDAY ,
  107. wd.STAFF_IDCARD ,
  108. wd.STAFF_WORKDATE ,
  109. wd.STAFF_PICTURE ,
  110. wd.STAFF_WORKTEL ,
  111. wd.STAFF_MOBILE ,
  112. wd.STAFF_CONTENT ,
  113. wd.STAFF_DUTY ,
  114. wd.STAFF_DATETIME
  115. );
  116. }
  117. StringBuilder sb_u = new StringBuilder();
  118. foreach (WD_StaffInfo wd in ul)
  119. {
  120. sb_u.AppendFormat(sb_utemp.ToString(),
  121. wd.STAFF_ID ,
  122. wd.STAFF_PASSWORDCARD ,
  123. wd.STAFF_NAME ,
  124. wd.STAFF_NAME_PY ,
  125. wd.STAFF_TYPE ,
  126. wd.STAFF_SEX ,
  127. wd.STAFF_BIRTHDAY ,
  128. wd.STAFF_IDCARD ,
  129. wd.STAFF_WORKDATE ,
  130. wd.STAFF_PICTURE ,
  131. wd.STAFF_WORKTEL ,
  132. wd.STAFF_MOBILE ,
  133. wd.STAFF_CONTENT ,
  134. wd.STAFF_DUTY ,
  135. wd.STAFF_DATETIME,
  136. wd.ID
  137. );
  138. }
  139. StringBuilder sb_d = new StringBuilder();
  140. foreach (WD_StaffInfo wd in dl)
  141. {
  142. sb_d.AppendFormat(sb_dtemp.ToString(), wd.ID);
  143. }
  144. this.Execute(sb_i.ToString(), sb_u.ToString(), sb_d.ToString());
  145. }
  146. }
  147. }