SingleCheckData.cs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using SysBaseLibs;
  5. using SysDataLibs;
  6. using SysDataLibs.TableClass ;
  7. namespace DataTransfersLibs
  8. {
  9. public class SingleCheckData : IErrorMsg
  10. {
  11. //<sample_no>0001</ sample_no >
  12. //<check_method>速测法</check_method >
  13. //<sub_category>叶菜</ sub_category >
  14. //<sample>青菜</ sample >
  15. //<check_item>残留农药</ check_item >
  16. //<result>1</ result >
  17. //<check_org>农业检测站</ check_org >
  18. //<region>长沙市</ region >
  19. //<check_district>江苏</ check_district >
  20. //<produce_org>农夫果园</ produce_org >
  21. //<checked_org>第一食品公司”</checked_org>
  22. //<checked_org_type>公司</ checked_org_type >
  23. //<rate>88.88</ rate >
  24. //<check_time>1979-09-16</ check_time >
  25. //<operator>张三</ operator >
  26. //<hardware_no>HW12345678</ hardware_no >
  27. //<MachineMaker>fuchun</MachineMaker>
  28. //<Memo>备注</Memo>
  29. public SingleCheckData(rsXmlNode poNode)
  30. {
  31. if (poNode != null)
  32. {
  33. _sample_no = poNode.GetChildValue("sample_no");
  34. _check_method = poNode.GetChildValue("check_method");
  35. _sub_category = poNode.GetChildValue("sub_category");
  36. _sample = poNode.GetChildValue("sample");
  37. _check_item = poNode.GetChildValue("check_item");
  38. _result = poNode.GetChildValue("result");
  39. _check_org = poNode.GetChildValue("check_org");
  40. _region = poNode.GetChildValue("region");
  41. _check_district = poNode.GetChildValue("check_district");
  42. _produce_org = poNode.GetChildValue("produce_org");
  43. _checked_org = poNode.GetChildValue("checked_org");
  44. _checked_org_type = poNode.GetChildValue("checked_org_type");
  45. _rate = poNode.GetChildValue("rate");
  46. _check_time = poNode.GetChildValue("check_time");
  47. _operator = poNode.GetChildValue("operator");
  48. _hardware_no = poNode.GetChildValue("hardware_no");
  49. _MachineMaker = poNode.GetChildValue("MachineMaker");
  50. _Memo = poNode.GetChildValue("Memo");
  51. }
  52. }
  53. #region Properties
  54. string _ErrorMsg = "";
  55. public string ErrorMsg
  56. {
  57. get { return _ErrorMsg; }
  58. set { _ErrorMsg = value; }
  59. }
  60. /// <summary>
  61. /// 采样编号
  62. /// </summary>
  63. string _sample_no = "";
  64. public string sample_no
  65. {
  66. get { return _sample; }
  67. }
  68. /// <summary>
  69. /// 检测方法 速测法
  70. /// </summary>
  71. string _check_method = "";
  72. /// <summary>
  73. /// 检测项目 残留农药
  74. /// </summary>
  75. string _check_item = "";
  76. /// <summary>
  77. /// 所属小类
  78. /// </summary>
  79. string _sub_category = "";
  80. /// <summary>
  81. /// 样品名字
  82. /// </summary>
  83. string _sample = "";
  84. /// <summary>
  85. /// 结论0表示不合格,1表示合格
  86. /// </summary>
  87. string _result = "";
  88. /// <summary>
  89. /// 检测单位id
  90. /// </summary>
  91. string _check_org = "";
  92. /// <summary>
  93. /// 地区id
  94. /// </summary>
  95. string _region = "";
  96. /// <summary>
  97. /// 产地
  98. /// </summary>
  99. string _check_district = "";
  100. /// <summary>
  101. /// 生产单位
  102. /// </summary>
  103. string _produce_org = "";
  104. /// <summary>
  105. /// 被检单位
  106. /// </summary>
  107. string _checked_org = "";
  108. /// <summary>
  109. /// 被检单位类型
  110. /// </summary>
  111. string _checked_org_type = "";
  112. /// <summary>
  113. /// 实测值
  114. /// </summary>
  115. string _rate = "";
  116. /// <summary>
  117. /// 检测时间
  118. /// </summary>
  119. string _check_time = "";
  120. /// <summary>
  121. /// 检测人
  122. /// </summary>
  123. string _operator = "";
  124. /// <summary>
  125. /// 检测硬件系列号
  126. /// </summary>
  127. string _hardware_no = "";
  128. /// <summary>
  129. /// 检测数量
  130. /// </summary>
  131. string _ChackTotal = "1";
  132. /// <summary>
  133. /// 生产日期
  134. /// </summary>
  135. string _ProduceDate = "";
  136. /// <summary>
  137. /// 仪器制造商
  138. /// </summary>
  139. string _MachineMaker = "fuchun";
  140. /// <summary>
  141. /// 送检时间
  142. /// </summary>
  143. string _SendDate = "";
  144. /// <summary>
  145. /// 备注说明
  146. /// </summary>
  147. string _Memo = "";
  148. /// <summary>
  149. /// 条形码
  150. /// </summary>
  151. string _BarCode = "";
  152. public CheckData_info GetCheckDataObj(CheckDataTrans poDataTrans)
  153. {
  154. CheckData_info loCheckData = null;
  155. string lcSampleId = poDataTrans.GetSampleNo(_sample);
  156. if (IsValid && poDataTrans.GetCheckProTypeIDByItemAndMothed(_check_item, _check_method, CheckProjectType_info.cCheckProjectTypeID) != "" && !string.IsNullOrEmpty(lcSampleId))
  157. {
  158. loCheckData = new CheckData_info();
  159. loCheckData.BarCode = _BarCode;
  160. loCheckData.CheckProjectTypeID = poDataTrans.GetCheckProTypeIDByItemAndMothed(_check_item, _check_method, CheckProjectType_info.cCheckProjectTypeID);
  161. loCheckData.CheckLimit = poDataTrans.GetCheckProTypeIDByItemAndMothed(_check_item, _check_method, CheckProjectType_info.cStandardValue);
  162. loCheckData.CheckValue = _rate;
  163. loCheckData.CheckResult = poDataTrans.TransResult(_result);
  164. loCheckData.CheckTime = _check_time;
  165. loCheckData.CheckTotal = _ChackTotal;
  166. loCheckData.CheckUnit = _check_org;
  167. loCheckData.CheckUser = _operator;
  168. loCheckData.ClientIndexID = _sample_no;
  169. loCheckData.CorpKind = _checked_org_type;
  170. loCheckData.CorpName = _checked_org;
  171. loCheckData.GreatKindName = "";
  172. //-----翻译
  173. loCheckData.HabitatID = poDataTrans.GetHabitIdByHabitName(_check_district);
  174. //默认自检
  175. loCheckData.IsSelf = "1";
  176. //_sub_category; 不直接使用客户端类型,通过品种名查找服务器端名称
  177. //loCheckData.LittleKindName = poDataTrans.GetLittleKindName(_sample);
  178. loCheckData.MachineID = _hardware_no;
  179. loCheckData.MachineMaker = _MachineMaker;
  180. loCheckData.MarketID = poDataTrans.MarketId;
  181. loCheckData.Memo = _Memo;
  182. loCheckData.ProduceDate = _ProduceDate;
  183. loCheckData.ProduceUnit = _produce_org;
  184. //检查服务器端是否有匹配的数据
  185. loCheckData.SampleName = _sample;// _sample;
  186. loCheckData.SampleId = lcSampleId;// _sample;
  187. loCheckData.SendDate = _SendDate;
  188. loCheckData.UserID = poDataTrans.UserID;
  189. loCheckData.UploadTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  190. }
  191. return loCheckData;
  192. }
  193. public bool InsertCheckData(CheckDataTrans poDataTrans)
  194. {
  195. bool lbRetVal = false;
  196. string lcSampleId = poDataTrans.GetSampleNo(_sample);
  197. if (IsValid && poDataTrans.GetCheckProTypeIDByItemAndMothed(_check_item, _check_method, CheckProjectType_info.cCheckProjectTypeID)!="")
  198. {
  199. CheckData_info loCheckData = new CheckData_info();
  200. loCheckData.BarCode = _BarCode;
  201. loCheckData.CheckProjectTypeID = poDataTrans.GetCheckProTypeIDByItemAndMothed(_check_item, _check_method, CheckProjectType_info.cCheckProjectTypeID);
  202. loCheckData.CheckLimit = poDataTrans.GetCheckProTypeIDByItemAndMothed(_check_item, _check_method, CheckProjectType_info.cStandardValue);
  203. loCheckData.CheckValue = _rate;
  204. loCheckData.CheckResult = poDataTrans.TransResult(_result);
  205. loCheckData.CheckTime = _check_time;
  206. loCheckData.CheckTotal = _ChackTotal;
  207. loCheckData.CheckUnit = _check_org;
  208. loCheckData.CheckUser = _operator;
  209. loCheckData.ClientIndexID = _sample_no;
  210. loCheckData.CorpKind = _checked_org_type;
  211. loCheckData.CorpName = _checked_org;
  212. loCheckData.GreatKindName = "";
  213. //-----翻译
  214. loCheckData.HabitatID = poDataTrans.GetHabitIdByHabitName(_check_district);
  215. //默认自检
  216. loCheckData.IsSelf = "1";
  217. //_sub_category; 不直接使用客户端类型,通过品种名查找服务器端名称
  218. //loCheckData.LittleKindName = poDataTrans.GetLittleKindName(_sample );
  219. loCheckData.MachineID = _hardware_no;
  220. loCheckData.MachineMaker = _MachineMaker;
  221. loCheckData.MarketID = poDataTrans.MarketId ;
  222. loCheckData.Memo = _Memo;
  223. loCheckData.ProduceDate = _ProduceDate;
  224. loCheckData.ProduceUnit = _produce_org;
  225. //检查服务器端是否有匹配的数据
  226. loCheckData.SampleName = _sample;// _sample;
  227. loCheckData.SampleId = lcSampleId;
  228. loCheckData.SendDate = _SendDate;
  229. loCheckData.UserID = poDataTrans.UserID;
  230. loCheckData.UploadTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
  231. string lcSql= loCheckData.InsertSql()+ ";\r\n";
  232. if (!string.IsNullOrWhiteSpace(lcSampleId))
  233. {
  234. lcSql += " UPDATE VarietyCategory SET [CheckCount]=[CheckCount]+1 WHERE [VarietyCategoryNo]='" +
  235. lcSampleId + "'";
  236. }
  237. if (poDataTrans.DBConn.ExcuteSqlTran(lcSql))
  238. {
  239. lbRetVal = true;
  240. }
  241. }
  242. return lbRetVal;
  243. }
  244. public bool IsValid
  245. {
  246. get { return _sample != "" && _rate != ""
  247. && _check_item != "" && _check_method != ""
  248. && _operator != ""; }
  249. }
  250. #endregion
  251. }
  252. }