InnerDoubleJISCO.cs 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using com.hnshituo.core.webapp.vo;
  7. using Common;
  8. using Common.DbOption.work;
  9. namespace MeterSceneLibrary
  10. {
  11. public class InnerDoubleJISCO
  12. {
  13. // 一次计量数据
  14. private MeterWorkCarActualFirstService mwcfs = new MeterWorkCarActualFirstService();
  15. // 重量类型预处理表
  16. private MeterWorkPreWgttypeService wgttypeService = new MeterWorkPreWgttypeService();
  17. // 车辆委托表
  18. private PreTrackScaleService preTrackScaleService = new PreTrackScaleService();
  19. // 留期限皮操作
  20. private MeterBaseTermTareDataService termTareDate = new MeterBaseTermTareDataService();
  21. private MeterBaseSpotInfoService meterBaseSpotInfoService = new MeterBaseSpotInfoService();
  22. private rtInfo rt = new rtInfo();
  23. // 构建一次计量数据
  24. private MeterWorkCarActualFirst mwaf = new MeterWorkCarActualFirst();
  25. private MeterBaseCarService carService = new MeterBaseCarService();
  26. private MeterBaseSpecialUnitService meterBaseSpecialUnitService = new MeterBaseSpecialUnitService();
  27. // 结净最小值,默认取配置文件
  28. private double diffrentWgt = AppConfigCache.differenceWgt;
  29. // 根据称点查询监控信息
  30. private RESTfulResult<List<MeterWorkMonitor>> listMonitor;
  31. // 根据车号查询委托表中未使用和使用中的委托
  32. private List<PreTrackScale> listPreScale;
  33. private JISCO.SaveMethod saveMethod = new JISCO.SaveMethod();
  34. private ComBaseInfoService comBaseInfoService = new ComBaseInfoService();
  35. private MeterBaseTermTareDataService meterBaseTermTareDataService = new MeterBaseTermTareDataService();
  36. public rtInfo MeterMethod(PreTrackScale scale)
  37. {
  38. Log lg = Log.GetInstance();
  39. rt.isError = false;
  40. string ResultMessage = "";
  41. bool isError = false;
  42. //根据称点查询监控信息
  43. MeterWorkMonitorService meterWorkMonitorService = new MeterWorkMonitorService();
  44. listMonitor = meterWorkMonitorService.doQueryOneWf(new MeterWorkMonitor { pointNo = PbCache.sportInfo.baseSpotNo });
  45. mwaf.carNo = PbCache.lockCarNo;
  46. mwaf.weightType = ""; // 默认重量类型为空
  47. mwaf.actualFirstNo = DateTime.Now.ToString("yyyyMMdd");//10
  48. mwaf.meterWeight = PbCache.lockWgt;//计量重量
  49. mwaf.addWeight = PbCache.addWgt;//附加重量
  50. mwaf.createManNo = "admin";
  51. mwaf.createManName = "admin";
  52. mwaf.meterGroup = "";
  53. mwaf.meterClass = "";
  54. mwaf.createManNo = "SYSTEM";
  55. mwaf.createManName = "system";
  56. mwaf.createTime = DateTime.Now;
  57. mwaf.baseSpotNo = PbCache.sportInfo.baseSpotNo;//计量点编号
  58. mwaf.baseSpotName = PbCache.sportInfo.baseSpotName;
  59. //mwaf.memo = "";
  60. mwaf.valueFlag = "1"; //状态(0 = 作废,1 = 有效(已匹配),2 = 结净)
  61. mwaf.updateManName = "";
  62. mwaf.updateManNo = "";
  63. mwaf.updateTime = null;
  64. mwaf.checkFlag = "1"; //0未审核,1已审核
  65. mwaf.meterMode = "2"; //1:远程计量;2:智能计量;3:手工录入;4:放行智能计量;5:滞后匹配
  66. mwaf.addWeight = PbCache.addWgt;
  67. mwaf.dataSource = "1"; //数据来源(1=智能终端,2=本地计量,3=应急计量,4=手动录入(计量票据录入))
  68. PbCache.isActual = false;
  69. PbCache.isInnerCar = false;
  70. PbCache.ResultMessage = "";
  71. PbCache.monitorResultMessage = "";
  72. PbCache.LEDResultMessage = "";
  73. // 根据车号查询重量类型预处理表
  74. RESTfulResult<List<MeterWorkPreWgttype>> rmX = wgttypeService.doQueryWf(new MeterWorkPreWgttype { carNo = PbCache.lockCarNo, valueFlag = "1" });
  75. if (rmX.Succeed)
  76. {
  77. List<MeterWorkPreWgttype> list = rmX.Data;
  78. // 不存在一次预处理数据
  79. if (list == null || list.Count == 0)
  80. {
  81. /* a. 程序报警
  82. * b. 自动进行语音求助
  83. */
  84. rt = saveMethod.doError("未选择称重类型,请选择后开始计量");
  85. PbCache.voiceType = 21;
  86. PbCache.monitorResultMessage = "未选择称重类型,请选择后开始计量";
  87. PbCache.LEDResultMessage = "未选择称重类型,请选择后开始计量";
  88. PbCache.ResultMessage = "未选择称重类型,请选择后开始计量";
  89. return rt;
  90. }
  91. else if (list == null || list.Count == 1)
  92. {
  93. // 历史皮重验证
  94. // 001033002:皮重
  95. rt = saveMethod.validHisTare2(list[0].weightTypeNo);
  96. if (list[0].weightTypeNo == "001033002" && PbCache.monitorResult.valid_wgt == false && listMonitor.Data[0].validWgt == "1")
  97. {
  98. PbCache.ResultMessage = "毛皮类型选错,请重新选择";
  99. PbCache.LEDResultMessage = "计量失败,毛皮类型选错,请重新选择";
  100. PbCache.voiceType = 26;
  101. rt = saveMethod.doError(PbCache.ResultMessage);
  102. rt.isWarn = true;
  103. rt.WarnContent = "validWgt";
  104. return rt;
  105. }
  106. // 001033001:毛重
  107. if (list[0].weightTypeNo == "001033001" && PbCache.monitorResult.valid_wgt == true && listMonitor.Data[0].validWgt == "1")
  108. {
  109. PbCache.ResultMessage = "毛皮类型选错,请重新选择";
  110. PbCache.LEDResultMessage = "计量失败,毛皮类型选错,请重新选择";
  111. PbCache.voiceType = 23;
  112. rt = saveMethod.doError(PbCache.ResultMessage);
  113. rt.isWarn = true;
  114. rt.WarnContent = "validWgt";
  115. return rt;
  116. }
  117. // 查已选择的委托
  118. RESTfulResult<List<PreTrackScale>> rmScale = preTrackScaleService.doQueryByFlag(new PreTrackScale { carNo = PbCache.lockCarNo, lineDesc = "1" });
  119. // 查询一次计量数据表
  120. RESTfulResult<List<MeterWorkCarActualFirst>> rmFirst = mwcfs.doQueryByFlag(new MeterWorkCarActualFirst { carNo = PbCache.lockCarNo });
  121. //查询车辆是否存在配置
  122. RESTfulResult<List<ComBaseInfo>> comBaseInfos = comBaseInfoService.doQueryBaseList(new ComBaseInfo { pBaseCode = "001048", validFlag = "1",baseName = PbCache.lockCarNo });
  123. //查询车辆是否存在期限皮重信息
  124. RESTfulResult<MeterBaseTermTareData> termTareData = meterBaseTermTareDataService.doQueryPageWf(new MeterBaseTermTareData { carNo = PbCache.lockCarNo, valueFlag = "0" });
  125. List<MeterWorkCarActualFirst> firstList = rmFirst.Data;
  126. //判断已选择的委托是否为1条
  127. if (rmScale.Succeed && rmScale.Data.Count == 1)
  128. {
  129. mwaf.weightType = "0";
  130. if (rmFirst.Succeed)
  131. {
  132. //不存在一次计量数据
  133. if (firstList == null || firstList.Count == 0)
  134. {
  135. if (comBaseInfos.Succeed)
  136. {
  137. //判断车辆是否满足期限皮
  138. if (comBaseInfos.Data != null && comBaseInfos.Data.Count == 1)
  139. {
  140. if (termTareData.Succeed)
  141. {
  142. //判断车辆是否存在期限皮重
  143. if (termTareData.Data == null)
  144. {
  145. // 只保存一次计量数据
  146. rt = saveMethod.doAddDoubleFirst(rmScale.Data[0], scale, mwaf);
  147. PbCache.voiceType = 15;
  148. rt.resultInfo = "计量成功,期限皮过期,请留存期限皮";
  149. PbCache.ResultMessage = "计量成功,期限皮过期,请留存期限皮";
  150. PbCache.monitorResultMessage = "计量成功,期限皮过期,请留存期限皮";
  151. PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,计量完成,期限皮过期", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
  152. }
  153. else
  154. {
  155. // 存在期限皮重,并使用期限皮重结净
  156. EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
  157. mwaf = entityBase1.format<MeterWorkCarActualFirst>(rmScale.Data[0], mwaf);
  158. rt = saveMethod.doTermTareNetDouble(rmScale.Data[0], scale, mwaf, "0");
  159. rt.resultInfo += ",期限皮结净";
  160. PbCache.voiceType = 16;
  161. PbCache.ResultMessage = "计量完成,期限皮结净";
  162. PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,净重{2}吨,期限皮结净", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(PbCache.lockWgt - termTareData.Data.meterWeight.Value) / 1000), 2));
  163. }
  164. }
  165. }
  166. else
  167. {
  168. // 只保存一次计量数据
  169. rt = saveMethod.doAddDoubleFirst(rmScale.Data[0], scale, mwaf);
  170. PbCache.voiceType = 1;
  171. PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
  172. }
  173. }
  174. }
  175. //存在一条一次计量数据
  176. else if (firstList.Count == 1)
  177. {
  178. //存在的一次数据为毛重
  179. if (firstList[0].weightType == "0")
  180. {
  181. if (comBaseInfos.Succeed)
  182. {
  183. //判断车辆是否满足期限皮
  184. if (comBaseInfos.Data != null && comBaseInfos.Data.Count == 1)
  185. {
  186. if (termTareData.Succeed)
  187. {
  188. //判断车辆是否存在期限皮重
  189. if (termTareData.Data == null)
  190. {
  191. // 只保存一次计量数据
  192. rt = saveMethod.doAddDoubleFirst(rmScale.Data[0], scale, mwaf);
  193. PbCache.voiceType = 17;
  194. rt.resultInfo = "计量成功,期限皮过期,存在未结净毛重";
  195. PbCache.ResultMessage = "计量成功,期限皮过期,存在未结净毛重";
  196. PbCache.monitorResultMessage = "计量成功,期限皮过期,存在未结净毛重";
  197. PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,计量完成,期限皮过期", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
  198. }
  199. else
  200. {
  201. // 存在期限皮重,并使用期限皮重结净
  202. EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
  203. mwaf = entityBase1.format<MeterWorkCarActualFirst>(rmScale.Data[0], mwaf);
  204. rt = saveMethod.doTermTareNetDouble(rmScale.Data[0], scale, mwaf, "0");
  205. rt.resultInfo += ",期限皮结净";
  206. PbCache.voiceType = 16;
  207. PbCache.ResultMessage = "计量完成,期限皮结净";
  208. PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,净重{2}吨,期限皮结净", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(PbCache.lockWgt - termTareData.Data.meterWeight.Value) / 1000), 2));
  209. }
  210. }
  211. }
  212. else
  213. {
  214. // 只保存一次计量数据
  215. rt = saveMethod.doAddDoubleFirst(rmScale.Data[0], scale, mwaf);
  216. rt.resultInfo += ",存在未结净毛重";
  217. PbCache.voiceType = 17;
  218. PbCache.ResultMessage = "存在未结净毛重";
  219. PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,存在未结净毛重,请联系", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
  220. PbCache.monitorResultMessage = "存在未结净毛重";
  221. rt.isWarn = true;
  222. rt.WarnContent = "validWgt";
  223. }
  224. }
  225. }
  226. //存在的一次数据为皮重
  227. else
  228. {
  229. if (comBaseInfos.Succeed)
  230. {
  231. //判断车辆是否满足期限皮
  232. if (comBaseInfos.Data != null && comBaseInfos.Data.Count == 1)
  233. {
  234. if (termTareData.Succeed)
  235. {
  236. // 存在期限皮重,并使用期限皮重结净
  237. EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
  238. mwaf = entityBase1.format<MeterWorkCarActualFirst>(rmScale.Data[0], mwaf);
  239. rt = saveMethod.doTermTareNetDoubleRetain(rmScale.Data[0], scale, firstList[0], mwaf, "0");
  240. rt.resultInfo += ",留存期限皮成功";
  241. PbCache.voiceType = 16;
  242. PbCache.ResultMessage = "计量完成,留存期限皮成功";
  243. PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,净重{2}吨,留存期限皮成功", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(PbCache.lockWgt - firstList[0].meterWeight.Value) / 1000), 2));
  244. }
  245. }
  246. else
  247. {
  248. // 只保存一次计量数据
  249. rt = saveMethod.doAddDoubleNet(rmScale.Data[0], scale, firstList[0], mwaf,"0");
  250. PbCache.voiceType = 1;
  251. PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,净重{2}吨,双委托结净", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2),Math.Round((Math.Abs(PbCache.lockWgt - firstList[0].meterWeight.Value) / 1000), 2));
  252. }
  253. }
  254. }
  255. }
  256. //存在多条一次计量数据
  257. else
  258. {
  259. if (comBaseInfos.Succeed)
  260. {
  261. //判断车辆是否满足期限皮
  262. if (comBaseInfos.Data != null && comBaseInfos.Data.Count == 1)
  263. {
  264. if (termTareData.Succeed)
  265. {
  266. //判断车辆是否存在期限皮重
  267. if (termTareData.Data == null)
  268. {
  269. // 只保存一次计量数据
  270. rt = saveMethod.doAddDoubleFirst(rmScale.Data[0], scale, mwaf);
  271. PbCache.voiceType = 15;
  272. rt.resultInfo = "计量成功,期限皮过期,存在多条未结净数据";
  273. PbCache.ResultMessage = "计量成功,期限皮过期,存在多条未结净数据";
  274. PbCache.monitorResultMessage = "计量成功,期限皮过期,存在多条未结净数据";
  275. PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,计量完成,期限皮过期", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
  276. }
  277. else
  278. {
  279. // 存在期限皮重,并使用期限皮重结净
  280. EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
  281. mwaf = entityBase1.format<MeterWorkCarActualFirst>(rmScale.Data[0], mwaf);
  282. rt = saveMethod.doTermTareNetDouble(rmScale.Data[0], scale, mwaf, "0");
  283. rt.resultInfo += ",期限皮结净";
  284. PbCache.voiceType = 16;
  285. PbCache.ResultMessage = "计量完成,期限皮结净";
  286. PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,净重{2}吨,期限皮结净", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(PbCache.lockWgt - termTareData.Data.meterWeight.Value) / 1000), 2));
  287. }
  288. }
  289. }
  290. else
  291. {
  292. // 只保存一次计量数据
  293. rt = saveMethod.doAddDoubleFirst(rmScale.Data[0], scale, mwaf);
  294. rt.resultInfo += ",存在多条未结净数据";
  295. PbCache.voiceType = 11;
  296. PbCache.ResultMessage = "存在多条未结净数据";
  297. PbCache.LEDResultMessage = string.Format("车号{0},毛重{1}吨,存在多条未结净数据,请联系", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
  298. PbCache.monitorResultMessage = "存在未结净毛重";
  299. rt.isWarn = true;
  300. rt.WarnContent = "validWgt";
  301. }
  302. }
  303. }
  304. }
  305. }
  306. //判断已选择的委托是否为0条
  307. else if (rmScale.Succeed && rmScale.Data.Count == 0)
  308. {
  309. mwaf.weightType = "1";
  310. //不存在一次计量数据
  311. if (firstList == null || firstList.Count == 0)
  312. {
  313. // 只保存一次计量数据
  314. rt = saveMethod.doAddFirst(null, mwaf);
  315. PbCache.voiceType = 1;
  316. PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
  317. }
  318. //存在一条一次计量数据
  319. else if (firstList.Count == 1)
  320. {
  321. //存在的一次数据为毛重
  322. if (firstList[0].weightType == "0")
  323. {
  324. if (comBaseInfos.Succeed)
  325. {
  326. //判断车辆是否满足期限皮
  327. if (comBaseInfos.Data != null && comBaseInfos.Data.Count == 1)
  328. {
  329. RESTfulResult<List<PreTrackScale>> scales = preTrackScaleService.doQueryWf(new PreTrackScale { predictionNo = firstList[0].predictionNo });
  330. // 存在期限皮重,并使用期限皮重结净
  331. EntityBase<PreTrackScale> entityBase1 = new EntityBase<PreTrackScale>();
  332. mwaf = entityBase1.format<MeterWorkCarActualFirst>(scales.Data[0], mwaf);
  333. rt = saveMethod.doTermTareNetDoubleRetain(scales.Data[0], scale, mwaf, firstList[0], "1");
  334. rt.resultInfo += ",留存期限皮成功";
  335. PbCache.voiceType = 16;
  336. PbCache.ResultMessage = "计量完成,留存期限皮成功";
  337. PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,净重{2}吨,留存期限皮成功", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(PbCache.lockWgt - termTareData.Data.meterWeight.Value) / 1000), 2));
  338. }
  339. else
  340. {
  341. // 只保存一次计量数据
  342. rt = saveMethod.doAddDoubleNet(rmScale.Data[0], scale, mwaf, firstList[0], "1");
  343. PbCache.voiceType = 1;
  344. PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,净重{2}吨,双委托结净", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2), Math.Round((Math.Abs(firstList[0].meterWeight.Value - PbCache.lockWgt) / 1000), 2));
  345. }
  346. }
  347. }
  348. //存在的一次数据为皮重
  349. else
  350. {
  351. //保存一条作废的皮重数据
  352. mwaf.weightType = "1";
  353. mwaf.valueFlag = "0";
  354. PbCache.voiceType = 1;
  355. rt = saveMethod.doAddFirst(null, mwaf);
  356. PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
  357. }
  358. }
  359. //存在多条一次计量数据
  360. else
  361. {
  362. List<MeterWorkCarActualFirst> mwcafListDouble = new List<MeterWorkCarActualFirst>();
  363. foreach (var item in firstList)
  364. {
  365. if (!string.IsNullOrEmpty(item.predictionCombination))
  366. {
  367. mwcafListDouble.Add(item);
  368. }
  369. }
  370. List<MeterWorkCarActualFirst> mwcafList = new List<MeterWorkCarActualFirst>();
  371. MeterWorkCarActualFirst meterWorkCarActualFirst = mwcafListDouble[0];
  372. mwcafList.Add(meterWorkCarActualFirst);
  373. foreach (var item in mwcafListDouble)
  374. {
  375. if (!string.IsNullOrEmpty(item.predictionCombination))
  376. {
  377. if (meterWorkCarActualFirst.predictionCombination == item.predictionCombination && meterWorkCarActualFirst.actualFirstNo != item.actualFirstNo)
  378. {
  379. mwcafList.Add(item);
  380. break;
  381. };
  382. }
  383. }
  384. if (comBaseInfos.Succeed)
  385. {
  386. //判断车辆是否满足期限皮
  387. if (comBaseInfos.Data != null && comBaseInfos.Data.Count == 1)
  388. {
  389. // 存在期限皮重,并使用期限皮重结净
  390. rt = saveMethod.doNetAddMuchGrossDouble(mwcafListDouble, mwaf);
  391. rt.resultInfo += ",留存期限皮成功";
  392. PbCache.voiceType = 16;
  393. PbCache.ResultMessage = "计量完成,留存期限皮成功";
  394. PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,留存期限皮成功", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
  395. }
  396. else
  397. {
  398. // 双委托不使用期限皮结净
  399. rt = saveMethod.doAddDoubleMuchNet(mwcafList, mwaf);
  400. PbCache.voiceType = 1;
  401. PbCache.LEDResultMessage = string.Format("车号{0},皮重{1}吨,计量完成", PbCache.lockCarNo, Math.Round((PbCache.lockWgt / 1000), 2));
  402. }
  403. }
  404. }
  405. }
  406. //判断已选择的委托是否为多条
  407. else
  408. {
  409. rt = saveMethod.doError("存在多条已选择的委托,请联系计量大厅");
  410. PbCache.LEDResultMessage = "存在多条已选择的委托,请联系计量大厅";
  411. rt.isWarn = true;
  412. PbCache.voiceType = 19;
  413. rt.WarnContent = "validIsPre";
  414. return rt;
  415. }
  416. }
  417. else
  418. {
  419. rt = saveMethod.doError("存在多条上称申请数据,请联系计量大厅");
  420. PbCache.voiceType = 20;
  421. PbCache.LEDResultMessage = "存在多条上称申请数据,请联系计量大厅";
  422. return rt;
  423. }
  424. }
  425. // 后台失败处理
  426. if (!rt.result)
  427. {
  428. rt.resultInfo = "称重数据保存失败";
  429. PbCache.voiceType = 25;
  430. PbCache.LEDResultMessage = "计量失败,请联系计量大厅";
  431. PbCache.monitorResultMessage = "";
  432. }
  433. return rt;
  434. }
  435. }
  436. }