KOMBI46R_SIA.ccpage 12 KB

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