KOMBI39C_SIA.ccpage 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <fragment xmlns="http://www.holeschak.de/BmwDeepObd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.holeschak.de/BmwDeepObd BmwDeepObd.xsd">
  3. <page name="SIA" display-mode="list" fontsize="medium" gauges-portrait="2" gauges-landscape="4" logfile="KOMBI39C_SIA.log">
  4. <strings lang="de">
  5. <string name="SIA">SIA</string>
  6. <string name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_SERVICE_TEXT"> letzter Service war</string>
  7. <string name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_INSPEKTIONSGRENZE_WERT"> Inspektionsgrenze Kraftstoff [l]</string>
  8. <string name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_KRAFTSTOFFMENGE_WERT"> Kraftstoffmenge seit letztem Service [l]</string>
  9. <string name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_ZEIT_INSP_ZAEHLER_WERT"> Zeitinspektionszähler [Tage]</string>
  10. <string name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_ZEITGRENZE_WERT"> Zeitgrenze [Tage]</string>
  11. </strings>
  12. <strings>
  13. <string name="SIA">SIA</string>
  14. <string name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_SERVICE_TEXT"> last service was</string>
  15. <string name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_INSPEKTIONSGRENZE_WERT"> inspection limit fuel [l]</string>
  16. <string name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_KRAFTSTOFFMENGE_WERT"> fuel since last service [l]</string>
  17. <string name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_ZEIT_INSP_ZAEHLER_WERT"> inspection time counter [days]</string>
  18. <string name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_ZEITGRENZE_WERT"> time limit [days]</string>
  19. </strings>
  20. <display name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_SERVICE_TEXT" result="STAT_SERVICE_TEXT" format="T" log_tag="STAT_SERVICE_TEXT" />
  21. <display name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_INSPEKTIONSGRENZE_WERT" result="STAT_INSPEKTIONSGRENZE_WERT" format="L" log_tag="STAT_INSPEKTIONSGRENZE_WERT" />
  22. <display name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_KRAFTSTOFFMENGE_WERT" result="STAT_KRAFTSTOFFMENGE_WERT" format="L" log_tag="STAT_KRAFTSTOFFMENGE_WERT" />
  23. <display name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_ZEIT_INSP_ZAEHLER_WERT" result="STAT_ZEIT_INSP_ZAEHLER_WERT" format="L" log_tag="STAT_ZEIT_INSP_ZAEHLER_WERT" />
  24. <display name="!JOB#STATUS_AIF_SIA_DATEN_LESEN#STAT_ZEITGRENZE_WERT" result="STAT_ZEITGRENZE_WERT" format="L" log_tag="STAT_ZEITGRENZE_WERT" />
  25. <jobs sgbd="kombi39c" />
  26. <code show_warnings="true">
  27. <![CDATA[
  28. class PageClass
  29. {
  30. private Button buttonSIAWegReset;
  31. //private Button buttonSIAOelReset;
  32. private Button buttonSIAZeitReset;
  33. //private Button buttonSIAKorrektur;
  34. private bool doSIAWegReset = false;
  35. //private bool doSIAOelReset = false;
  36. private bool doSIAZeitReset = false;
  37. //private bool doSIAKorrektur = false;
  38. private int serviceArt;
  39. public void CreateLayout(ActivityMain activity, JobReader.PageInfo pageInfo, LinearLayout pageLayout)
  40. {
  41. LinearLayout buttonLayout = new LinearLayout(activity);
  42. buttonLayout.Orientation = Orientation.Horizontal;
  43. LinearLayout.LayoutParams buttonLayoutParams = new LinearLayout.LayoutParams(
  44. ViewGroup.LayoutParams.MatchParent,
  45. ViewGroup.LayoutParams.WrapContent);
  46. buttonLayoutParams.Weight = 1;
  47. // Button 1
  48. buttonSIAWegReset = new Button(activity);
  49. buttonSIAWegReset.Text = "RESET INSPEKTION / ÖLSERVICE";
  50. buttonSIAWegReset.Click += delegate
  51. {
  52. // button setzt klassenweite variable auf true, diese wird beim durchlauf von ExecuteJob ausgewertet
  53. doSIAWegReset = true;
  54. // Benachrichtung anzeigen wenn man will
  55. ActivityMain.ShowNotification(activity, 0, 2,
  56. "SIA RESET",
  57. "Weginspektion wird zurückgesetzt...");
  58. };
  59. buttonLayout.AddView(buttonSIAWegReset, buttonLayoutParams);
  60. //// Button 2
  61. //buttonSIAOelReset = new Button(activity);
  62. //buttonSIAOelReset.Text = "RESET ÖLSERVICE";
  63. //buttonSIAOelReset.Click += delegate
  64. //{
  65. // // button setzt klassenweite variable auf true, diese wird beim durchlauf von ExecuteJob ausgewertet
  66. // doSIAOelReset = true;
  67. //
  68. // // Benachrichtung anzeigen wenn man will
  69. // ActivityMain.ShowNotification(activity, 0, 2,
  70. // "SIA RESET",
  71. // "Ölservice wird zurückgesetzt...");
  72. //};
  73. //buttonLayout.AddView(buttonSIAOelReset, buttonLayoutParams);
  74. // Button 3
  75. buttonSIAZeitReset = new Button(activity);
  76. buttonSIAZeitReset.Text = "RESET ZEIT- INSPEKTION";
  77. buttonSIAZeitReset.Click += delegate
  78. {
  79. // button setzt klassenweite variable auf true, diese wird beim durchlauf von ExecuteJob ausgewertet
  80. doSIAZeitReset = true;
  81. // Benachrichtung anzeigen wenn man will
  82. ActivityMain.ShowNotification(activity, 0, 2,
  83. "SIA RESET",
  84. "Zeitinspektion wird zurückgesetzt...");
  85. };
  86. buttonLayout.AddView(buttonSIAZeitReset, buttonLayoutParams);
  87. // KOMBI30_C hat diesen job nicht
  88. // // Button 4
  89. // buttonSIAKorrektur = new Button(activity);
  90. // buttonSIAKorrektur.Text = "KORREKTUR WECHSEL INSPEKTION <> ÖLSERVICE";
  91. // buttonSIAKorrektur.Click += delegate
  92. // {
  93. // // button setzt klassenweite variable auf true, diese wird beim durchlauf von ExecuteJob ausgewertet
  94. // doSIAKorrektur = true;
  95. //
  96. // // Benachrichtung anzeigen wenn man will
  97. // ActivityMain.ShowNotification(activity, 0, 2,
  98. // "SIA",
  99. // "Wechsel zwischen Inspektion <> Ölservice wird durchgeführt...");
  100. // };
  101. // buttonLayout.AddView(buttonSIAKorrektur, buttonLayoutParams);
  102. LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
  103. ViewGroup.LayoutParams.MatchParent,
  104. ViewGroup.LayoutParams.WrapContent);
  105. pageLayout.AddView(buttonLayout, layoutParams);
  106. }
  107. public void DestroyLayout(JobReader.PageInfo pageInfo)
  108. {
  109. buttonSIAWegReset = null;
  110. //buttonSIAOelReset = null;
  111. buttonSIAZeitReset = null;
  112. //buttonSIAKorrektur = null;
  113. }
  114. public void ExecuteJob(EdiabasNet ediabas, ref MultiMap<string, EdiabasNet.ResultData> resultDict, bool firstCall)
  115. {
  116. List<Dictionary<string, EdiabasNet.ResultData>> resultSets;
  117. // Job 1
  118. ediabas.ArgString = string.Empty;
  119. ediabas.ArgBinaryStd = null;
  120. ediabas.ResultsRequests = string.Empty;
  121. ediabas.ExecuteJob("AIF_SIA_DATEN_LESEN");
  122. resultSets = ediabas.ResultSets;
  123. if (resultSets != null && resultSets.Count >= 2)
  124. {
  125. EdiabasThread.MergeResultDictionarys(ref resultDict, resultSets[1]);
  126. }
  127. EdiabasNet.ResultData resultData;
  128. if (resultSets[1].TryGetValue("STAT_SERVICE_ART", out resultData))
  129. {
  130. if (resultData.OpData is Int64)
  131. {
  132. serviceArt = (int)((Int64)resultData.OpData);
  133. }
  134. }
  135. // // Job 2 KOMBI39_C hat diesen Job nicht
  136. // ediabas.ArgString = string.Empty;
  137. // ediabas.ArgBinaryStd = null;
  138. // ediabas.ResultsRequests = string.Empty;
  139. //
  140. // ediabas.ExecuteJob("ZEITINSPEKTIONSDATUM_LESEN");
  141. //
  142. // resultSets = ediabas.ResultSets;
  143. // if (resultSets != null && resultSets.Count >= 2)
  144. // {
  145. // EdiabasThread.MergeResultDictionarys(ref resultDict, resultSets[1]);
  146. // }
  147. // Button Jobs
  148. // Button 1 - SIA RESET Weginspektion/Oelservice
  149. if (doSIAWegReset) {
  150. if(serviceArt == 0) ediabas.ArgString = "Oel_Reset";
  151. if(serviceArt == 1) ediabas.ArgString = "Weg_Reset";
  152. ediabas.ArgBinaryStd = null;
  153. ediabas.ResultsRequests = "JOB_STATUS";
  154. ediabas.ExecuteJob("SIA_RESET");
  155. //resultSets = ediabas.ResultSets;
  156. //if (resultSets != null && resultSets.Count >= 2)
  157. //{
  158. // EdiabasThread.MergeResultDictionarys(ref resultDict, resultSets[1]);
  159. //}
  160. // ablaufvariable wieder zurücksetzen, sonst würde diese funktion nun bei jedem folgenden durchlauf ausgeführt werden...
  161. doSIAWegReset = false;
  162. }
  163. //// Button 2 - SIA RESET Ölservice
  164. //if (doSIAOelReset) {
  165. // ediabas.ArgString = "Oel_Reset";
  166. // ediabas.ArgBinaryStd = null;
  167. // ediabas.ResultsRequests = "JOB_STATUS";
  168. //
  169. // ediabas.ExecuteJob("SIA_RESET");
  170. //
  171. // //resultSets = ediabas.ResultSets;
  172. // //if (resultSets != null && resultSets.Count >= 2)
  173. // //{
  174. // // EdiabasThread.MergeResultDictionarys(ref resultDict, resultSets[1]);
  175. // //}
  176. //
  177. // // ablaufvariable wieder zurücksetzen, sonst würde diese funktion nun bei jedem folgenden durchlauf ausgeführt werden...
  178. // doSIAOelReset = false;
  179. //}
  180. // Button 3 - SIA RESET Zeitinspektion
  181. if (doSIAZeitReset) {
  182. ediabas.ArgString = "Zeit_Reset";
  183. ediabas.ArgBinaryStd = null;
  184. ediabas.ResultsRequests = "JOB_STATUS";
  185. ediabas.ExecuteJob("SIA_RESET");
  186. //resultSets = ediabas.ResultSets;
  187. //if (resultSets != null && resultSets.Count >= 2)
  188. //{
  189. // EdiabasThread.MergeResultDictionarys(ref resultDict, resultSets[1]);
  190. //}
  191. // ablaufvariable wieder zurücksetzen, sonst würde diese funktion nun bei jedem folgenden durchlauf ausgeführt werden...
  192. doSIAZeitReset = false;
  193. }
  194. // KOMBI39_C hat diesen job nicht
  195. // // Button 4 - SIA Korrektur
  196. // if (doSIAKorrektur) {
  197. // ediabas.ArgString = string.Empty;
  198. // ediabas.ArgBinaryStd = null;
  199. // ediabas.ResultsRequests = "JOB_STATUS";
  200. //
  201. // ediabas.ExecuteJob("SIA_KORREKTUR_SCHREIBEN");
  202. //
  203. // //resultSets = ediabas.ResultSets;
  204. // //if (resultSets != null && resultSets.Count >= 2)
  205. // //{
  206. // // EdiabasThread.MergeResultDictionarys(ref resultDict, resultSets[1]);
  207. // //}
  208. //
  209. // // ablaufvariable wieder zurücksetzen, sonst würde diese funktion nun bei jedem folgenden durchlauf ausgeführt werden...
  210. // doSIAKorrektur = false;
  211. // }
  212. }
  213. }
  214. ]]>
  215. </code>
  216. </page>
  217. </fragment>