Browse Source

1.新增生成重码报警
2.去掉码每天备份

liuxinglong 6 years ago
parent
commit
f10d1d3aad
35 changed files with 1358 additions and 390 deletions
  1. 65 65
      .idea/sonarlint/issuestore/1/2/12673843a8d25728fa6498c4afe5545da7b92d91
  2. 7 7
      .idea/sonarlint/issuestore/1/2/126c795aaaa4514a9310a384c977b33ca2921ad8
  3. 3 3
      .idea/sonarlint/issuestore/1/a/1a41ca92836a975ce9a2d14a8048364b77f01045
  4. 0 0
      .idea/sonarlint/issuestore/1/d/1d94eba24c2c13a11a1530afaf3e4e9977b0e545
  5. 3 2
      .idea/sonarlint/issuestore/1/d/1ddf276c69e765a10a7a4c22af6d481ddca64b03
  6. 12 12
      .idea/sonarlint/issuestore/2/8/28ab7cae577594b0b0f2d89420339ae0fd5feeb7
  7. 5 5
      .idea/sonarlint/issuestore/3/f/3fb2c6300c06d424cd20d6aaa59c7468e917aec2
  8. 1 1
      .idea/sonarlint/issuestore/4/3/43b88a13b0dd73d1e683ec42479e2799a8074af7
  9. 2 2
      .idea/sonarlint/issuestore/4/5/45c365228acec60ff1951ec94508dfc81c6d01f4
  10. 0 0
      .idea/sonarlint/issuestore/5/8/58f1d0ab996d229ea861af2a0d36ed78bee0ded3
  11. 4 4
      .idea/sonarlint/issuestore/6/5/655f0b636817439dcddd21df216cbafc8301054b
  12. 0 0
      .idea/sonarlint/issuestore/8/3/830faf4018b18fd93219ac9e7f2950f8dc6fafb5
  13. 0 0
      .idea/sonarlint/issuestore/8/f/8f4b8dcc29768ba1584b6c6369aa74bf76ef2906
  14. 14 14
      .idea/sonarlint/issuestore/9/3/9386acd216a2d06a0765c557a20a966c0b247c7c
  15. 5 5
      .idea/sonarlint/issuestore/9/c/9c52b7c0ee59d7f181874ad5e513b52af041e83b
  16. 4 4
      .idea/sonarlint/issuestore/b/0/b0fac8d6d7ead4e1c98dd97f3a289f028cd34032
  17. 2 2
      .idea/sonarlint/issuestore/c/0/c099daf5e5ff836227290784f6d1d47a9ec6d0d7
  18. 43 43
      .idea/sonarlint/issuestore/c/3/c31119428485a35a1366fae41e8bb396a9f1bfa9
  19. 6 6
      .idea/sonarlint/issuestore/c/5/c5394e590f0b754c3a0c215412c98d0ccb8d18b9
  20. 29 29
      .idea/sonarlint/issuestore/f/f/ff8d0749ce86a89be6ff0cec5162a3144f8798cb
  21. 9 1
      .idea/sonarlint/issuestore/index.pb
  22. 3 3
      doc/install.exe4j
  23. 0 18
      exe.path_IS_UNDEFINED/logs/log_error.log
  24. 459 25
      exe.path_IS_UNDEFINED/logs/log_info.log
  25. 459 43
      exe.path_IS_UNDEFINED/logs/log_run.log
  26. 1 1
      pom.xml
  27. 49 3
      src/main/java/co/dc/aptiv/AptivApp.java
  28. 2 2
      src/main/java/co/dc/aptiv/MaterielFrame.java
  29. 39 27
      src/main/java/co/dc/aptiv/ScanFrame.java
  30. 11 7
      src/main/java/co/dc/aptiv/mina/TestMachineCollectorMinaHandler.java
  31. 76 41
      src/main/java/co/dc/aptiv/service/BillDetailService.java
  32. 20 1
      src/main/java/co/dc/aptiv/service/BillService.java
  33. 3 3
      src/main/java/co/dc/aptiv/service/MaterielService.java
  34. 20 9
      src/main/java/co/dc/aptiv/service/QrCodeService.java
  35. 2 2
      src/main/resources/config.properties

+ 65 - 65
.idea/sonarlint/issuestore/1/2/12673843a8d25728fa6498c4afe5545da7b92d91

@@ -1,81 +1,81 @@
 
-esquid:S3027Ç"FPut single-quotes around '=' to use the faster "indexOf(char)" method.(²Áº×8¢Æß‚Í,
-zsquid:S001166"VRename this field "textField_1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(€þ�‡þÿÿÿÿ8¢Æß‚Í,
-Qsquid:S1444G"3Make this "public static collectorMina" field final(Ží¬”8¢Æß‚Í,
-Hsquid:S1444Z"*Make this "public static flag" field final(°Ð÷ð8¢Æß‚Í,
-Bsquid:S1148¹"#Use a logger to log this exception.(Ç’Çê8¢Æß‚Í,
-¥squid:S1186Ö"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(˜Â½€øÿÿÿÿ8¢Æß‚Í,
-Ž"squid:ClassVariableVisibilityCheck<"YMake configuration a static final constant or non-public and provide accessors if needed.(è±ßò8¢Æß‚Í,
-Qsquid:S1444^".Make this "public static billPojo" field final(¸‡åîþÿÿÿÿ8¢Æß‚Í,
-`squid:S1126´"AReplace this if-then-else statement by a single return statement.(ñ¬ÂØ8¢Æß‚Í,
-Gsquid:S1125Ì")Remove the literal "false" boolean value.(éüú!8¢Æß‚Í,
-Psquid:S1444C"-Make this "public static plcMina" field final(¨§Þ¾ÿÿÿÿÿ8¢Æß‚Í,
-Nsquid:S00108¿")Either remove or fill this block of code.(±Ÿ—±ÿÿÿÿÿ8¢Æß‚Í,
-hsquid:S1192­"IDefine a constant instead of duplicating this literal "lastname" 5 times.(¢ÙƒÙ8¢Æß‚Í,
-vsquid:S3776î"RRefactor this method to reduce its Cognitive Complexity from 18 to the 15 allowed.(�·žòþÿÿÿÿ8¢Æß‚Í,
-‘"squid:ClassVariableVisibilityCheck8"WMake queryRunner a static final constant or non-public and provide accessors if needed.(¹õ…äþÿÿÿÿ8¢Æß‚Í,
 Œ"squid:ClassVariableVisibilityCheckb"RMake qrCode a static final constant or non-public and provide accessors if needed.(þ‹’ƒÿÿÿÿÿ8¢Æß‚Í,
-Lsquid:S1444n")Make this "public static ccu" field final(­óþòüÿÿÿÿ8¢Æß‚Í,
-�"squid:ClassVariableVisibilityCheckV"[Make nowMaterielPojo a static final constant or non-public and provide accessors if needed.(©„î�8¢Æß‚Í,
-Ž"squid:ClassVariableVisibilityCheckG"YMake collectorMina a static final constant or non-public and provide accessors if needed.(Ží¬”8¢Æß‚Í,
+`squid:S1126´"AReplace this if-then-else statement by a single return statement.(ñ¬ÂØ8¢Æß‚Í,
+Nsquid:S1444Q"0Make this "public static loginToken" field final(šç�«8¢Æß‚Í,
 ´%squid:RedundantThrowsDeclarationCheck�"vRemove the declaration of thrown exception 'java.net.UnknownHostException', as it cannot be thrown from method's body.(ÂïÖ�øÿÿÿÿ8¢Æß‚Í,
-“"squid:ClassVariableVisibilityCheck>"YMake qrcodeService a static final constant or non-public and provide accessors if needed.(ºÜéÎúÿÿÿÿ8¢Æß‚Í,
-squid:S1192˜"[Define a constant instead of duplicating this literal "/co/dc/aptiv/img/close.png" 3 times.(®£Ž˜ùÿÿÿÿ8¢Æß‚Í,
-Tsquid:S14448"1Make this "public static queryRunner" field final(¹õ…äþÿÿÿÿ8¢Æß‚Í,
-Tsquid:S1444:"1Make this "public static billService" field final(�š½æþÿÿÿÿ8¢Æß‚Í,
-Rsquid:S1444K"/Make this "public static printMina" field final(ëâЛýÿÿÿÿ8¢Æß‚Í,
-isquid:CommentedOutCodeLinef"<This block of commented-out lines of code should be removed.(·¹¥Û8ÏÂï¦Í,
-vsquid:S00117Ç"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ê’Ü”úÿÿÿÿ8¢Æß‚Í,
-ž"squid:ClassVariableVisibilityCheckO"dMake testMachineCollectorMina a static final constant or non-public and provide accessors if needed.(åÞéºúÿÿÿÿ8¢Æß‚Í,
+Psquid:S14440"-Make this "public static session" field final(íѽªûÿÿÿÿ8¢Æß‚Í,
+‹"squid:ClassVariableVisibilityCheck9"WMake userService a static final constant or non-public and provide accessors if needed.(èºÔ8¢Æß‚Í,
+¥squid:S1186Ö"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(˜Â½€øÿÿÿÿ8¢Æß‚Í,
+�"squid:ClassVariableVisibilityCheck0"SMake session a static final constant or non-public and provide accessors if needed.(íѽªûÿÿÿÿ8¢Æß‚Í,
+ squid:S1186Ù"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(��÷—8¢Æß‚Í,
+�"squid:ClassVariableVisibilityCheckC"SMake plcMina a static final constant or non-public and provide accessors if needed.(¨§Þ¾ÿÿÿÿÿ8¢Æß‚Í,
+‘"squid:ClassVariableVisibilityCheck8"WMake queryRunner a static final constant or non-public and provide accessors if needed.(¹õ…äþÿÿÿÿ8¢Æß‚Í,
+Psquid:S1444C"-Make this "public static plcMina" field final(¨§Þ¾ÿÿÿÿÿ8¢Æß‚Í,
 Msquid:S1125«")Remove the literal "false" boolean value.(·èÀßýÿÿÿÿ8¢Æß‚Í,
+gsquid:HiddenFieldCheckÓ"8Rename "ccu" which hides the field declared at line 110.(€Ïàíøÿÿÿÿ8¢Æß‚Í,
+\
+squid:S106Ø"9Replace this use of System.out or System.err by a logger.(úšˆáýÿÿÿÿ8¢Æß‚Í,
+ž"squid:ClassVariableVisibilityCheckO"dMake testMachineCollectorMina a static final constant or non-public and provide accessors if needed.(åÞéºúÿÿÿÿ8¢Æß‚Í,
+osquid:CommentedOutCodeLineö"<This block of commented-out lines of code should be removed.(úèû¬úÿÿÿÿ8¢Æß‚Í,
+…"squid:ClassVariableVisibilityCheckZ"PMake flag a static final constant or non-public and provide accessors if needed.(°Ð÷ð8¢Æß‚Í,
 usquid:S2159Ä"VRemove this call to "equals"; comparisons between unrelated types always return false.(Øø÷‰8¢Æß‚Í,
-Osquid:S1444b",Make this "public static qrCode" field final(þ‹’ƒÿÿÿÿÿ8¢Æß‚Í,
-`
-squid:S899•"BDo something with the "boolean" value returned by "createNewFile".(äÌÖ’8¢Æß‚Í,
-W
-squid:S106Õ"9Replace this use of System.out or System.err by a logger.(º°ïã8¢Æß‚Í,
+Gsquid:S1125Ì")Remove the literal "false" boolean value.(éüú!8¢Æß‚Í,
+Rsquid:S1444K"/Make this "public static printMina" field final(ëâЛýÿÿÿÿ8¢Æß‚Í,
+Qsquid:S1444G"3Make this "public static collectorMina" field final(Ží¬”8¢Æß‚Í,
+Ssquid:S1444V"5Make this "public static nowMaterielPojo" field final(©„î�8¢Æß‚Í,
+zsquid:S001166"VRename this field "textField_1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(€þ�‡þÿÿÿÿ8¢Æß‚Í,
 �"squid:ClassVariableVisibilityCheckK"UMake printMina a static final constant or non-public and provide accessors if needed.(ëâЛýÿÿÿÿ8¢Æß‚Í,
-‰"squid:ClassVariableVisibilityCheckn"OMake ccu a static final constant or non-public and provide accessors if needed.(­óþòüÿÿÿÿ8¢Æß‚Í,
-‹"squid:ClassVariableVisibilityCheckQ"VMake loginToken a static final constant or non-public and provide accessors if needed.(šç�«8¢Æß‚Í,
-Nsquid:S14449"1Make this "public static userService" field final(èºÔ8¢Æß‚Í,
-Ssquid:S1444?"0Make this "public static windowUtil" field final(³ÛëŽýÿÿÿÿ8¢Æß‚Í,
-�"squid:ClassVariableVisibilityCheck?"VMake windowUtil a static final constant or non-public and provide accessors if needed.(³ÛëŽýÿÿÿÿ8¢Æß‚Í,
+usquid:S2159é"VRemove this call to "equals"; comparisons between unrelated types always return false.(뿱Ì8¢Æß‚Í,
+�"squid:ClassVariableVisibilityCheck="[Make materielService a static final constant or non-public and provide accessors if needed.(þ€ä—8¢Æß‚Í,
+squid:S1192˜"[Define a constant instead of duplicating this literal "/co/dc/aptiv/img/close.png" 3 times.(®£Ž˜ùÿÿÿÿ8¢Æß‚Í,
 W
 squid:S106×"9Replace this use of System.out or System.err by a logger.(¬·öý8¢Æß‚Í,
- squid:S1186Ù"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(��÷—8¢Æß‚Í,
-wsquid:S14504"ZRemove the "contentPane" field and declare it as a local variable in the relevant methods.(į�_8¢Æß‚Í,
+asquid:S1444O">Make this "public static testMachineCollectorMina" field final(åÞéºúÿÿÿÿ8¢Æß‚Í,
 W
-squid:S106Ö"9Replace this use of System.out or System.err by a logger.(×ì÷Œ8¢Æß‚Í,
-usquid:S2159é"VRemove this call to "equals"; comparisons between unrelated types always return false.(뿱Ì8¢Æß‚Í,
-Zsquid:S2696ò"6Make the enclosing method "static" or remove this set.(´¨àŒùÿÿÿÿ8¢Æß‚Í,
-Ssquid:S1444="5Make this "public static materielService" field final(þ€ä—8¢Æß‚Í,
-msquid:S2095—"NUse try-with-resources or close this "RandomAccessFile" in a "finally" clause.(¤ôŽ†8¢Æß‚Í,
+squid:S106Õ"9Replace this use of System.out or System.err by a logger.(º°ïã8¢Æß‚Í,
+vsquid:S3776î"RRefactor this method to reduce its Cognitive Complexity from 18 to the 15 allowed.(�·žòþÿÿÿÿ8¢Æß‚Í,
+hsquid:S1192­"IDefine a constant instead of duplicating this literal "lastname" 5 times.(¢ÙƒÙ8¢Æß‚Í,
 msquid:S00100Ò"NRename this method name to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(‚›µJ8¢Æß‚Í,
-gsquid:HiddenFieldCheckÓ"8Rename "ccu" which hides the field declared at line 110.(€Ïàíøÿÿÿÿ8¢Æß‚Í,
-Ssquid:S1444V"5Make this "public static nowMaterielPojo" field final(©„î�8¢Æß‚Í,
-esquid:S3027É"FPut single-quotes around '?' to use the faster "indexOf(char)" method.(ÚÒ÷Ö8¢Æß‚Í,
-—"squid:ClassVariableVisibilityCheck;"]Make billDetailService a static final constant or non-public and provide accessors if needed.(‰Ížûùÿÿÿÿ8¢Æß‚Í,
-Nsquid:S1444Q"0Make this "public static loginToken" field final(šç�«8¢Æß‚Í,
 Msquid:S1125µ")Remove the literal "false" boolean value.( ­ÿìüÿÿÿÿ8¢Æß‚Í,
-Qsquid:S1444<"3Make this "public static configuration" field final(è±ßò8¢Æß‚Í,
-Vsquid:S1444>"3Make this "public static qrcodeService" field final(ºÜéÎúÿÿÿÿ8¢Æß‚Í,
-�"squid:ClassVariableVisibilityCheck0"SMake session a static final constant or non-public and provide accessors if needed.(íѽªûÿÿÿÿ8¢Æß‚Í,
-‹"squid:ClassVariableVisibilityCheck9"WMake userService a static final constant or non-public and provide accessors if needed.(èºÔ8¢Æß‚Í,
-\
-squid:S106Ø"9Replace this use of System.out or System.err by a logger.(úšˆáýÿÿÿÿ8¢Æß‚Í,
-�"squid:ClassVariableVisibilityCheckC"SMake plcMina a static final constant or non-public and provide accessors if needed.(¨§Þ¾ÿÿÿÿÿ8¢Æß‚Í,
-`squid:S1126š"AReplace this if-then-else statement by a single return statement.(¿ÓÔ†8¢Æß‚Í,
-jsquid:CommentedOutCodeLineÚ"<This block of commented-out lines of code should be removed.(ß‹§€8¢Æß‚Í,
+Tsquid:S1444:"1Make this "public static billService" field final(�š½æþÿÿÿÿ8¢Æß‚Í,
+Ssquid:S1444="5Make this "public static materielService" field final(þ€ä—8¢Æß‚Í,
+Zsquid:S1444;"7Make this "public static billDetailService" field final(‰Ížûùÿÿÿÿ8¢Æß‚Í,
+Osquid:S1444b",Make this "public static qrCode" field final(þ‹’ƒÿÿÿÿÿ8¢Æß‚Í,
+nsquid:CommentedOutCodeLinej"<This block of commented-out lines of code should be removed.(±ûÖÊýÿÿÿÿ8ÏÂï¦Í,
+esquid:S3027Ç"FPut single-quotes around '=' to use the faster "indexOf(char)" method.(²Áº×8¢Æß‚Í,
+Qsquid:S1444^".Make this "public static billPojo" field final(¸‡åîþÿÿÿÿ8¢Æß‚Í,
+�"squid:ClassVariableVisibilityCheck?"VMake windowUtil a static final constant or non-public and provide accessors if needed.(³ÛëŽýÿÿÿÿ8¢Æß‚Í,
+Nsquid:S00108¿")Either remove or fill this block of code.(±Ÿ—±ÿÿÿÿÿ8¢Æß‚Í,
 vsquid:S00117ì"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ê’Ü”úÿÿÿÿ8¢Æß‚Í,
-Zsquid:S2696Ë"6Make the enclosing method "static" or remove this set.(´¨àŒùÿÿÿÿ8¢Æß‚Í,
+‰"squid:ClassVariableVisibilityCheckn"OMake ccu a static final constant or non-public and provide accessors if needed.(­óþòüÿÿÿÿ8¢Æß‚Í,
+vsquid:S00117Ç"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ê’Ü”úÿÿÿÿ8¢Æß‚Í,
+—"squid:ClassVariableVisibilityCheck;"]Make billDetailService a static final constant or non-public and provide accessors if needed.(‰Ížûùÿÿÿÿ8¢Æß‚Í,
 Msquid:S1125Á")Remove the literal "false" boolean value.(Ä؃�ùÿÿÿÿ8¢Æß‚Í,
+`squid:S1126š"AReplace this if-then-else statement by a single return statement.(¿ÓÔ†8¢Æß‚Í,
+msquid:S2095—"NUse try-with-resources or close this "RandomAccessFile" in a "finally" clause.(¤ôŽ†8¢Æß‚Í,
+‹"squid:ClassVariableVisibilityCheckQ"VMake loginToken a static final constant or non-public and provide accessors if needed.(šç�«8¢Æß‚Í,
 Ž"squid:ClassVariableVisibilityCheck^"TMake billPojo a static final constant or non-public and provide accessors if needed.(¸‡åîþÿÿÿÿ8¢Æß‚Í,
-Zsquid:S1444;"7Make this "public static billDetailService" field final(‰Ížûùÿÿÿÿ8¢Æß‚Í,
-asquid:S1444O">Make this "public static testMachineCollectorMina" field final(åÞéºúÿÿÿÿ8¢Æß‚Í,
-osquid:CommentedOutCodeLineö"<This block of commented-out lines of code should be removed.(úèû¬úÿÿÿÿ8¢Æß‚Í,
-nsquid:CommentedOutCodeLinej"<This block of commented-out lines of code should be removed.(±ûÖÊýÿÿÿÿ8ÏÂï¦Í,
-Psquid:S14440"-Make this "public static session" field final(íѽªûÿÿÿÿ8¢Æß‚Í,
+W
+squid:S106Ö"9Replace this use of System.out or System.err by a logger.(×ì÷Œ8¢Æß‚Í,
 jsquid:CommentedOutCodeLineð"<This block of commented-out lines of code should be removed.(úàŽÑ8¢Æß‚Í,
 ‘"squid:ClassVariableVisibilityCheck:"WMake billService a static final constant or non-public and provide accessors if needed.(�š½æþÿÿÿÿ8¢Æß‚Í,
-…"squid:ClassVariableVisibilityCheckZ"PMake flag a static final constant or non-public and provide accessors if needed.(°Ð÷ð8¢Æß‚Í,
-�"squid:ClassVariableVisibilityCheck="[Make materielService a static final constant or non-public and provide accessors if needed.(þ€ä—8¢Æß‚Í,
+`
+squid:S899•"BDo something with the "boolean" value returned by "createNewFile".(äÌÖ’8¢Æß‚Í,
+Qsquid:S1444<"3Make this "public static configuration" field final(è±ßò8¢Æß‚Í,
+esquid:S3027É"FPut single-quotes around '?' to use the faster "indexOf(char)" method.(ÚÒ÷Ö8¢Æß‚Í,
+Ž"squid:ClassVariableVisibilityCheck<"YMake configuration a static final constant or non-public and provide accessors if needed.(è±ßò8¢Æß‚Í,
+isquid:CommentedOutCodeLinef"<This block of commented-out lines of code should be removed.(·¹¥Û8ÏÂï¦Í,
+“"squid:ClassVariableVisibilityCheck>"YMake qrcodeService a static final constant or non-public and provide accessors if needed.(ºÜéÎúÿÿÿÿ8¢Æß‚Í,
+wsquid:S14504"ZRemove the "contentPane" field and declare it as a local variable in the relevant methods.(į�_8¢Æß‚Í,
+Ssquid:S1444?"0Make this "public static windowUtil" field final(³ÛëŽýÿÿÿÿ8¢Æß‚Í,
+jsquid:CommentedOutCodeLineÚ"<This block of commented-out lines of code should be removed.(ß‹§€8¢Æß‚Í,
+Bsquid:S1148¹"#Use a logger to log this exception.(Ç’Çê8¢Æß‚Í,
+Zsquid:S2696ò"6Make the enclosing method "static" or remove this set.(´¨àŒùÿÿÿÿ8¢Æß‚Í,
+Lsquid:S1444n")Make this "public static ccu" field final(­óþòüÿÿÿÿ8¢Æß‚Í,
+Zsquid:S2696Ë"6Make the enclosing method "static" or remove this set.(´¨àŒùÿÿÿÿ8¢Æß‚Í,
+Tsquid:S14448"1Make this "public static queryRunner" field final(¹õ…äþÿÿÿÿ8¢Æß‚Í,
+Nsquid:S14449"1Make this "public static userService" field final(èºÔ8¢Æß‚Í,
+Vsquid:S1444>"3Make this "public static qrcodeService" field final(ºÜéÎúÿÿÿÿ8¢Æß‚Í,
+Hsquid:S1444Z"*Make this "public static flag" field final(°Ð÷ð8¢Æß‚Í,
+�"squid:ClassVariableVisibilityCheckV"[Make nowMaterielPojo a static final constant or non-public and provide accessors if needed.(©„î�8¢Æß‚Í,
+Ž"squid:ClassVariableVisibilityCheckG"YMake collectorMina a static final constant or non-public and provide accessors if needed.(Ží¬”8¢Æß‚Í,

+ 7 - 7
.idea/sonarlint/issuestore/1/2/126c795aaaa4514a9310a384c977b33ca2921ad8

@@ -1,11 +1,11 @@
 
-Ssquid:S23877"7"queryRunner" is the name of a field in "MinaAbstract".(‘í„Øøÿÿÿÿ
-gsquid:CommentedOutCodeLineD"<This block of commented-out lines of code should be removed.(èúµÈûÿÿÿÿ
-isquid:CommentedOutCodeLineU"<This block of commented-out lines of code should be removed.(ŒÌ½’8ŽÇó¦Í,
+ƒ"squid:ClassVariableVisibilityCheck-"PMake flag a static final constant or non-public and provide accessors if needed.(ÕȾëüÿÿÿÿ
+Isquid:S1444/"2Make this "public static waringStatus" field final(Á‡Š’
 Ksquid:S1066T"/Merge this if statement with the enclosing one.(Á݆çýÿÿÿÿ
-†"squid:ClassVariableVisibilityCheck/"XMake waringStatus a static final constant or non-public and provide accessors if needed.(Á‡Š’
+Fsquid:S1444-"*Make this "public static flag" field final(ÕȾëüÿÿÿÿ
 ˜squid:S1186]"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(Ú¿û¤
+Ssquid:S23877"7"queryRunner" is the name of a field in "MinaAbstract".(‘í„Øøÿÿÿÿ
+isquid:CommentedOutCodeLineU"<This block of commented-out lines of code should be removed.(ŒÌ½’8ŽÇó¦Í,
+gsquid:CommentedOutCodeLineD"<This block of commented-out lines of code should be removed.(èúµÈûÿÿÿÿ
 4squid:S2386/"Make this member "protected".(Á‡Š’
-Isquid:S1444/"2Make this "public static waringStatus" field final(Á‡Š’
-ƒ"squid:ClassVariableVisibilityCheck-"PMake flag a static final constant or non-public and provide accessors if needed.(ÕȾëüÿÿÿÿ
-Fsquid:S1444-"*Make this "public static flag" field final(ÕȾëüÿÿÿÿ
+†"squid:ClassVariableVisibilityCheck/"XMake waringStatus a static final constant or non-public and provide accessors if needed.(Á‡Š’

+ 3 - 3
.idea/sonarlint/issuestore/1/a/1a41ca92836a975ce9a2d14a8048364b77f01045

@@ -1,7 +1,7 @@
 
 bsquid:S1155£">Use isEmpty() to check whether the collection is empty or not.(­öó‰üÿÿÿÿ8´ª›¨Ì,
 \squid:S1155]">Use isEmpty() to check whether the collection is empty or not.(ËÐÒ¤8´ª›¨Ì,
-Fsquid:S1148r"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ8´ª›¨Ì,
+fsquid:S1854Y"CRemove this useless assignment to local variable "billDetailPojos".(¤·µñúÿÿÿÿ8´ª›¨Ì,
 isquid:S1192["LDefine a constant instead of duplicating this literal "updatedflag" 3 times.(ûòÁ8´ª›¨Ì,
-esquid:S1192³"FDefine a constant instead of duplicating this literal "index" 3 times.(²‹Ïå8´ª›¨Ì,
-fsquid:S1854Y"CRemove this useless assignment to local variable "billDetailPojos".(¤·µñúÿÿÿÿ8´ª›¨Ì,
+Fsquid:S1148r"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ8´ª›¨Ì,
+esquid:S1192³"FDefine a constant instead of duplicating this literal "index" 3 times.(²‹Ïå8´ª›¨Ì,

+ 0 - 0
.idea/sonarlint/issuestore/1/d/1d94eba24c2c13a11a1530afaf3e4e9977b0e545


+ 3 - 2
.idea/sonarlint/issuestore/1/d/1ddf276c69e765a10a7a4c22af6d481ddca64b03

@@ -1,4 +1,5 @@
 
+Ysquid:S26968"6Make the enclosing method "static" or remove this set.(”…�þýÿÿÿÿ8ºò÷­Ì,
 Rsquid:S1068"/Remove this unused "billService" private field.(ªŠŽ•ùÿÿÿÿ8¼žæÖ¼,
-usquid:S3776*"RRefactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed.(�éÍ°øÿÿÿÿ8ºò÷­Ì,
-Ysquid:S26968"6Make the enclosing method "static" or remove this set.(”…�þýÿÿÿÿ8ºò÷­Ì,
+isquid:CommentedOutCodeLine7"<This block of commented-out lines of code should be removed.(ׯì£8ñ—ê®Î,
+nsquid:CommentedOutCodeLine?"<This block of commented-out lines of code should be removed.(éØ»Úûÿÿÿÿ8ñ—ê®Î,

+ 12 - 12
.idea/sonarlint/issuestore/2/8/28ab7cae577594b0b0f2d89420339ae0fd5feeb7

@@ -1,17 +1,17 @@
 
-hsquid:UselessImportCheck
-">Remove this unused import 'co.dc.aptiv.service.QrCodeService'.(”ø“a8«Ê�®Ì,
-Ksquid:S11859"(Remove this method to simply inherit it.(Ž·üÆþÿÿÿÿ8ôÈ××¼,
-asquid:UselessImportCheck"1Remove this unused import 'co.dc.aptiv.AptivApp'.(ˆÃƳþÿÿÿÿ8Û¶ú­Ì,
-Zsquid:S2387"7"queryRunner" is the name of a field in "MinaAbstract".(‘í„Øøÿÿÿÿ8ôÈ××¼,
-hsquid:UselessImportCheck"=Remove this unused import 'co.dc.commons.utils.DateTimeUtil'.(úµ×À8¾µè¬Â,
-Rsquid:S10661"/Merge this if statement with the enclosing one.(ªŠôåþÿÿÿÿ8ôÈ××¼,
-lsquid:UselessImportCheck"ARemove this unused import 'org.apache.mina.core.buffer.IoBuffer'.(ÓÐúÛ8Û¶ú­Ì,
 Ksquid:S11250"(Remove the literal "true" boolean value.(Ùû£¾ÿÿÿÿÿ8ôÈ××¼,
-Esquid:S1068"'Remove this unused "log" private field.(ƒàç¤8Û¶ú­Ì,
-psquid:UselessImportCheck	"@Remove this unused import 'co.dc.aptiv.service.MaterielService'.(°­·“ýÿÿÿÿ8«Ê�®Ì,
 tsquid:UselessImportCheck"DRemove this unused import 'org.apache.mina.core.session.IdleStatus'.(åëãûùÿÿÿÿ8Õüõ­Ì,
 esquid:UselessImportCheck":Remove this unused import 'co.dc.aptiv.pojo.MaterielPojo'.(© —Š8Û¶ú­Ì,
-msquid:UselessImportCheck"CRemove this unused import 'org.apache.mina.core.session.IoSession'.(…¾�8Û¶ú­Ì,
+asquid:UselessImportCheck"1Remove this unused import 'co.dc.aptiv.AptivApp'.(ˆÃƳþÿÿÿÿ8Û¶ú­Ì,
 Msquid:S001081")Either remove or fill this block of code.(ªŠôåþÿÿÿÿ8ÉŸ’®Ì,
-]squid:UselessImportCheck"2Remove this unused import 'co.dc.aptiv.ScanFrame'.(•™©·8ÉŸ’®Ì,
+msquid:UselessImportCheck"CRemove this unused import 'org.apache.mina.core.session.IoSession'.(…¾�8Û¶ú­Ì,
+psquid:UselessImportCheck	"@Remove this unused import 'co.dc.aptiv.service.MaterielService'.(°­·“ýÿÿÿÿ8«Ê�®Ì,
+]squid:UselessImportCheck"2Remove this unused import 'co.dc.aptiv.ScanFrame'.(•™©·8ÉŸ’®Ì,
+Rsquid:S10661"/Merge this if statement with the enclosing one.(ªŠôåþÿÿÿÿ8ôÈ××¼,
+Esquid:S1068"'Remove this unused "log" private field.(ƒàç¤8Û¶ú­Ì,
+Zsquid:S2387"7"queryRunner" is the name of a field in "MinaAbstract".(‘í„Øøÿÿÿÿ8ôÈ××¼,
+hsquid:UselessImportCheck
+">Remove this unused import 'co.dc.aptiv.service.QrCodeService'.(”ø“a8«Ê�®Ì,
+lsquid:UselessImportCheck"ARemove this unused import 'org.apache.mina.core.buffer.IoBuffer'.(ÓÐúÛ8Û¶ú­Ì,
+Ksquid:S11859"(Remove this method to simply inherit it.(Ž·üÆþÿÿÿÿ8ôÈ××¼,
+hsquid:UselessImportCheck"=Remove this unused import 'co.dc.commons.utils.DateTimeUtil'.(úµ×À8¾µè¬Â,

+ 5 - 5
.idea/sonarlint/issuestore/3/f/3fb2c6300c06d424cd20d6aaa59c7468e917aec2

@@ -1,7 +1,7 @@
 
-†squid:S4165Ç"gRemove this useless assignment; "reBoolean" already holds the assigned value along all execution paths.(‚¿Ö‰8§³Í§Ì,
-Gsquid:S1148ž"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ8§³Í§Ì,
-vsquid:S00117Ö"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(îÿ”®üÿÿÿÿ8§³Í§Ì,
 Gsquid:S1148ä"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ8§³Í§Ì,
-bsquid:S1155Ý">Use isEmpty() to check whether the collection is empty or not.(„ñÛ¯þÿÿÿÿ8§³Í§Ì,
-bsquid:S1155»">Use isEmpty() to check whether the collection is empty or not.(„ñÛ¯þÿÿÿÿ8§³Í§Ì,
+vsquid:S00117Ö"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(îÿ”®üÿÿÿÿ8§³Í§Ì,
+Gsquid:S1148ž"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ8§³Í§Ì,
+†squid:S4165Ç"gRemove this useless assignment; "reBoolean" already holds the assigned value along all execution paths.(‚¿Ö‰8§³Í§Ì,
+bsquid:S1155»">Use isEmpty() to check whether the collection is empty or not.(„ñÛ¯þÿÿÿÿ8§³Í§Ì,
+bsquid:S1155Ý">Use isEmpty() to check whether the collection is empty or not.(„ñÛ¯þÿÿÿÿ8§³Í§Ì,

+ 1 - 1
.idea/sonarlint/issuestore/4/3/43b88a13b0dd73d1e683ec42479e2799a8074af7

@@ -1,2 +1,2 @@
 
-psquid:S00115"ZRename this constant name to match the regular expression '^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'.(û†Ææ
+rsquid:S00115"ZRename this constant name to match the regular expression '^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$'.(û†Ææ

+ 2 - 2
.idea/sonarlint/issuestore/4/5/45c365228acec60ff1951ec94508dfc81c6d01f4

@@ -1,7 +1,7 @@
 
+Ksquid:S1066?"/Merge this if statement with the enclosing one.(‹ÎþÇøÿÿÿÿ
 ˜squid:S1186)"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(Ä£»‹
 ˜squid:S1186-"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(ÝÕŽõ
 ˜squid:S11861"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(�–ÿì
 ˜squid:S1186F"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(ì½ÏÔ
-˜squid:S1186J"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(ã—ò¯
-Ksquid:S1066?"/Merge this if statement with the enclosing one.(‹ÎþÇøÿÿÿÿ
+˜squid:S1186J"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(ã—ò¯

+ 0 - 0
.idea/sonarlint/issuestore/5/8/58f1d0ab996d229ea861af2a0d36ed78bee0ded3


+ 4 - 4
.idea/sonarlint/issuestore/6/5/655f0b636817439dcddd21df216cbafc8301054b

@@ -1,6 +1,6 @@
 
-Ysquid:S2696:"6Make the enclosing method "static" or remove this set.(Å�Ž«ÿÿÿÿÿ8ƒŠÏ´Â,
-Ksquid:S1068"/Remove this unused "billService" private field.(ªŠŽ•ùÿÿÿÿ
-nsquid:CommentedOutCodeLineX"<This block of commented-out lines of code should be removed.(¦Ž®éûÿÿÿÿ8»‹È´Â,
 ]squid:UselessImportCheck"2Remove this unused import 'co.dc.aptiv.ScanFrame'.(•™©·8¸ÛœÂÂ,
-hsquid:UselessImportCheck"=Remove this unused import 'co.dc.commons.utils.DateTimeUtil'.(úµ×À8ÃåÄ´Â,
+hsquid:UselessImportCheck"=Remove this unused import 'co.dc.commons.utils.DateTimeUtil'.(úµ×À8ÃåÄ´Â,
+nsquid:CommentedOutCodeLineX"<This block of commented-out lines of code should be removed.(¦Ž®éûÿÿÿÿ8»‹È´Â,
+Ksquid:S1068"/Remove this unused "billService" private field.(ªŠŽ•ùÿÿÿÿ
+Ysquid:S2696:"6Make the enclosing method "static" or remove this set.(Å�Ž«ÿÿÿÿÿ8ƒŠÏ´Â,

+ 0 - 0
.idea/sonarlint/issuestore/8/3/830faf4018b18fd93219ac9e7f2950f8dc6fafb5


+ 0 - 0
.idea/sonarlint/issuestore/8/f/8f4b8dcc29768ba1584b6c6369aa74bf76ef2906


+ 14 - 14
.idea/sonarlint/issuestore/9/3/9386acd216a2d06a0765c557a20a966c0b247c7c

@@ -1,21 +1,21 @@
 
-Hsquid:S1125Á")Remove the literal "false" boolean value.(ß¿Æó8ŠÝå×¼,
-esquid:S2184Ê"FCast one of the operands of this multiplication operation to a "long".(á³ñ±8ŠÝå×¼,
-Gsquid:S1125¦"(Remove the literal "true" boolean value.(üøη8ŠÝå×¼,
-Hsquid:S1125¦")Remove the literal "false" boolean value.(üøη8ŠÝå×¼,
-esquid:S2142Ë"FEither re-interrupt this method or rethrow the "InterruptedException".(ä ¹€8ŠÝå×¼,
-Ksquid:S1125j"(Remove the literal "true" boolean value.(¼’î¿ÿÿÿÿÿ8ŠÝå×¼,
+Ksquid:S1125E"(Remove the literal "true" boolean value.(Ùû£¾ÿÿÿÿÿ8ŠÝå×¼,
+Gsquid:S1125k")Remove the literal "false" boolean value.(±‹óƒ8ŠÝå×¼,
+nsquid:CommentedOutCodeLine9"<This block of commented-out lines of code should be removed.(ª£ŒŸþÿÿÿÿ8ŠÝå×¼,
+`squid:S1126š"AReplace this if-then-else statement by a single return statement.(ãýØÌ8ŠÝå×¼,
 Ksquid:S1125["(Remove the literal "true" boolean value.(Ùû£¾ÿÿÿÿÿ8ŠÝå×¼,
+Ksquid:S1125j"(Remove the literal "true" boolean value.(¼’î¿ÿÿÿÿÿ8ŠÝå×¼,
+dsquid:S1126|"AReplace this if-then-else statement by a single return statement.(±Ö�£øÿÿÿÿ8ŠÝå×¼,
+Msquid:S1125Œ")Remove the literal "false" boolean value.(”½éøýÿÿÿÿ8ŠÝå×¼,
 isquid:CommentedOutCodeLineW"<This block of commented-out lines of code should be removed.(Ÿ£�®8ŠÝå×¼,
 Xsquid:S1141m"5Extract this nested try block into a separate method.(¡»¢üùÿÿÿÿ8ŠÝå×¼,
+esquid:S2142Ë"FEither re-interrupt this method or rethrow the "InterruptedException".(ä ¹€8ŠÝå×¼,
 Gsquid:S1148Ì"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ8ŠÝå×¼,
-nsquid:CommentedOutCodeLine9"<This block of commented-out lines of code should be removed.(ª£ŒŸþÿÿÿÿ8ŠÝå×¼,
+Hsquid:S1125Á")Remove the literal "false" boolean value.(ß¿Æó8ŠÝå×¼,
+esquid:S2184Ê"FCast one of the operands of this multiplication operation to a "long".(á³ñ±8ŠÝå×¼,
+bsquid:S2276Ê"CReplace the call to "Thread.sleep(...)" with a call to "wait(...)".(á³ñ±8ŠÝå×¼,
 w
 squid:S135¿"YReduce the total number of break and continue statements in this loop to use at most one.(´ÿÕ™8ŠÝå×¼,
-Ksquid:S1125E"(Remove the literal "true" boolean value.(Ùû£¾ÿÿÿÿÿ8ŠÝå×¼,
-Gsquid:S1125k")Remove the literal "false" boolean value.(±‹óƒ8ŠÝå×¼,
-`squid:S1126š"AReplace this if-then-else statement by a single return statement.(ãýØÌ8ŠÝå×¼,
-bsquid:S2276Ê"CReplace the call to "Thread.sleep(...)" with a call to "wait(...)".(á³ñ±8ŠÝå×¼,
-nsquid:CommentedOutCodeLineQ"<This block of commented-out lines of code should be removed.(ª£ŒŸþÿÿÿÿ8ŠÝå×¼,
-dsquid:S1126|"AReplace this if-then-else statement by a single return statement.(±Ö�£øÿÿÿÿ8ŠÝå×¼,
-Msquid:S1125Œ")Remove the literal "false" boolean value.(”½éøýÿÿÿÿ8ŠÝå×¼,
+Gsquid:S1125¦"(Remove the literal "true" boolean value.(üøη8ŠÝå×¼,
+Hsquid:S1125¦")Remove the literal "false" boolean value.(üøη8ŠÝå×¼,
+nsquid:CommentedOutCodeLineQ"<This block of commented-out lines of code should be removed.(ª£ŒŸþÿÿÿÿ8ŠÝå×¼,

+ 5 - 5
.idea/sonarlint/issuestore/9/c/9c52b7c0ee59d7f181874ad5e513b52af041e83b

@@ -1,8 +1,8 @@
 
-nsquid:CommentedOutCodeLineP"<This block of commented-out lines of code should be removed.(˜È«§ûÿÿÿÿ8ö·ð¦Í,
+jsquid:CommentedOutCodeLine„"<This block of commented-out lines of code should be removed.(¨�”ö8ã�ñ¦Í,
+isquid:CommentedOutCodeLineq"<This block of commented-out lines of code should be removed.(£Ïþœ8«žó¦Í,
 Tsquid:S2696W"6Make the enclosing method "static" or remove this set.(dz¾À8¢Æß‚Í,
 esquid:S1192X"GDefine a constant instead of duplicating this literal "qrCode" 3 times.(ØÚ³–8¢Æß‚Í,
-isquid:CommentedOutCodeLineq"<This block of commented-out lines of code should be removed.(£Ïþœ8«žó¦Í,
-nsquid:CommentedOutCodeLineR"<This block of commented-out lines of code should be removed.(îÎÅ�üÿÿÿÿ8ðˆð¦Í,
-jsquid:CommentedOutCodeLine„"<This block of commented-out lines of code should be removed.(¨�”ö8ã�ñ¦Í,
-isquid:CommentedOutCodeLine9"<This block of commented-out lines of code should be removed.(›Ø÷î8¢Æß‚Í,
+isquid:CommentedOutCodeLine9"<This block of commented-out lines of code should be removed.(›Ø÷î8¢Æß‚Í,
+nsquid:CommentedOutCodeLineP"<This block of commented-out lines of code should be removed.(˜È«§ûÿÿÿÿ8ö·ð¦Í,
+nsquid:CommentedOutCodeLineR"<This block of commented-out lines of code should be removed.(îÎÅ�üÿÿÿÿ8ðˆð¦Í,

+ 4 - 4
.idea/sonarlint/issuestore/b/0/b0fac8d6d7ead4e1c98dd97f3a289f028cd34032

@@ -1,8 +1,8 @@
 
+nsquid:CommentedOutCodeLineB"<This block of commented-out lines of code should be removed.(¦Ž®éûÿÿÿÿ8‰¾ï§Ì,
 hsquid:UselessImportCheck"=Remove this unused import 'co.dc.commons.utils.DateTimeUtil'.(úµ×À8õ¬ï§Ì,
+nsquid:CommentedOutCodeLine2"<This block of commented-out lines of code should be removed.(ŽéŠŽÿÿÿÿÿ8ÙÉõ¦Í,
+nsquid:CommentedOutCodeLine4"<This block of commented-out lines of code should be removed.(áûç�úÿÿÿÿ8ºôõ¦Í,
 lsquid:UselessImportCheck"<Remove this unused import 'co.dc.aptiv.pojo.BillDetailPojo'.(ý¦¡‰þÿÿÿÿ8õ¬ï§Ì,
-nsquid:CommentedOutCodeLineB"<This block of commented-out lines of code should be removed.(¦Ž®éûÿÿÿÿ8‰¾ï§Ì,
 Rsquid:S1068"/Remove this unused "billService" private field.(ªŠŽ•ùÿÿÿÿ8õ¬ï§Ì,
-nsquid:CommentedOutCodeLine7"<This block of commented-out lines of code should be removed.(éØ»Úûÿÿÿÿ8ºôõ¦Í,
-nsquid:CommentedOutCodeLine4"<This block of commented-out lines of code should be removed.(áûç�úÿÿÿÿ8ºôõ¦Í,
-nsquid:CommentedOutCodeLine2"<This block of commented-out lines of code should be removed.(ŽéŠŽÿÿÿÿÿ8ÙÉõ¦Í,
+nsquid:CommentedOutCodeLine7"<This block of commented-out lines of code should be removed.(éØ»Úûÿÿÿÿ8ºôõ¦Í,

+ 2 - 2
.idea/sonarlint/issuestore/c/0/c099daf5e5ff836227290784f6d1d47a9ec6d0d7

@@ -1,7 +1,7 @@
 
 Nsquid:S2387"2"queryRunner" is the name of a field in "BaseDao".(‘í„Øøÿÿÿÿ
-ksquid:S1192?"ODefine a constant instead of duplicating this literal "select * from " 4 times.(�º™îûÿÿÿÿ
 wsquid:S1488j"`Immediately return this expression instead of assigning it to the temporary variable "userPojo".(·²œ­
-=squid:S1172i"&Remove these unused method parameters.(ø˜¥Ì
 ^squid:S1126Ü"AReplace this if-then-else statement by a single return statement.(ˆ¤œñþÿÿÿÿ
+=squid:S1172i"&Remove these unused method parameters.(ø˜¥Ì
+ksquid:S1192?"ODefine a constant instead of duplicating this literal "select * from " 4 times.(�º™îûÿÿÿÿ
 @squid:S1148„"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ

+ 43 - 43
.idea/sonarlint/issuestore/c/3/c31119428485a35a1366fae41e8bb396a9f1bfa9

@@ -1,56 +1,56 @@
 
-|squid:S00116J"XRename this field "TitleVector_1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(»¿ƒ³ÿÿÿÿÿ8£Æß‚Í,
-Œ"squid:ClassVariableVisibilityCheckS"WMake label_scan2 a static final constant or non-public and provide accessors if needed.(ãÂçË8£Æß‚Í,
-usquid:S3776l"RRefactor this method to reduce its Cognitive Complexity from 34 to the 15 allowed.(¢þ­�þÿÿÿÿ8£Æß‚Í,
-tsquid:S00116L"PRename this field "jsp_1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ÇÕä¿ÿÿÿÿÿ8£Æß‚Í,
 Gsquid:S1185�"(Remove this method to simply inherit it.(ÈÊ“À8£Æß‚Í,
-xsquid:S00116P"YRename this field "label_content2" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(€»é¡8£Æß‚Í,
-Usquid:S2696™"6Make the enclosing method "static" or remove this set.(èôÄÀ8£Æß‚Í,
-Usquid:S2696Ü"6Make the enclosing method "static" or remove this set.(È–Ò¢8£Æß‚Í,
+‘"squid:ClassVariableVisibilityCheckT"WMake label_scan3 a static final constant or non-public and provide accessors if needed.(¦Œ÷Ïøÿÿÿÿ8£Æß‚Í,
+usquid:S3776l"RRefactor this method to reduce its Cognitive Complexity from 34 to the 15 allowed.(¢þ­�þÿÿÿÿ8£Æß‚Í,
+ssquid:S1450W"URemove the "timer1" field and declare it as a local variable in the relevant methods.(Ë­´à8£Æß‚Í,
+wsquid:S00116I"XRename this field "CellsVector_1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(¤Ò½ 8£Æß‚Í,
+”"squid:ClassVariableVisibilityCheckf"ZMake billDetailPojo a static final constant or non-public and provide accessors if needed.(κËõüÿÿÿÿ8£Æß‚Í,
+jsquid:CommentedOutCodeLine—"<This block of commented-out lines of code should be removed.(¨�”ö8êÀò¦Í,
 Œ"squid:ClassVariableVisibilityCheckj"RMake onLine a static final constant or non-public and provide accessors if needed.(öµ§Üúÿÿÿÿ8£Æß‚Í,
-vsquid:S00116U"RRename this field "label_3" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ƾ€õùÿÿÿÿ8£Æß‚Í,
+Tsquid:S2696”"6Make the enclosing method "static" or remove this set.(¡²ü8£Æß‚Í,
+Œ"squid:ClassVariableVisibilityCheckS"WMake label_scan2 a static final constant or non-public and provide accessors if needed.(ãÂçË8£Æß‚Í,
+Zsquid:S2696ß"6Make the enclosing method "static" or remove this set.(Å�Ž«ÿÿÿÿÿ8£Æß‚Í,
+Lsquid:S1948a"/Make "materielPojos" transient or serializable.(÷ùÈ8£Æß‚Í,
 isquid:CommentedOutCodeLineê"<This block of commented-out lines of code should be removed.(¨Âí$8£Æß‚Í,
-qsquid:MaximumInheritanceDepth$"<This class has 6 parents which is greater than 5 authorized.(ˆ˜ë¶ÿÿÿÿÿ8£Æß‚Í,
-jsquid:UselessImportCheck"@Remove this unused import 'javax.swing.table.TableCellRenderer'.(É¡“8£Æß‚Í,
+Tsquid:S2696ú"6Make the enclosing method "static" or remove this set.(†–öS8£Æß‚Í,
+jsquid:CommentedOutCodeLine£"<This block of commented-out lines of code should be removed.(ñ­Ø’8£Æß‚Í,
+�"squid:ClassVariableVisibilityCheck?"UMake frameType a static final constant or non-public and provide accessors if needed.(¼“á¬ùÿÿÿÿ8£Æß‚Í,
+ssquid:S1450X"URemove the "timer2" field and declare it as a local variable in the relevant methods.(ôÙªö8£Æß‚Í,
+nsquid:S00100˜"NRename this method name to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(î篗8£Æß‚Í,
 nsquid:S00116K"ORename this field "jt_1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ö�¦Ò8£Æß‚Í,
-‘"squid:ClassVariableVisibilityCheckR"WMake label_scan1 a static final constant or non-public and provide accessors if needed.(÷ùÚøýÿÿÿÿ8£Æß‚Í,
-Gsquid:S1148¬"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ8£Æß‚Í,
-‘"squid:ClassVariableVisibilityCheckT"WMake label_scan3 a static final constant or non-public and provide accessors if needed.(¦Œ÷Ïøÿÿÿÿ8£Æß‚Í,
-ƒsquid:S1149I"eReplace the synchronized class "Vector" by an unsynchronized one such as "ArrayList" or "LinkedList".(¤Ò½ 8£Æß‚Í,
+jsquid:UselessImportCheck"@Remove this unused import 'javax.swing.table.TableCellRenderer'.(É¡“8£Æß‚Í,
+bsquid:S1155½">Use isEmpty() to check whether the collection is empty or not.(„ñÛ¯þÿÿÿÿ8£Æß‚Í,
+tsquid:S00116L"PRename this field "jsp_1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ÇÕä¿ÿÿÿÿÿ8£Æß‚Í,
+}squid:S00116O"YRename this field "label_content1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Ïé•›øÿÿÿÿ8£Æß‚Í,
+vsquid:S00117›"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ᶆÄýÿÿÿÿ8£Æß‚Í,
 „squid:S1192é"eDefine a constant instead of duplicating this literal "/co/dc/aptiv/img/start-btn-hover.png" 4 times.(¡ð“Ë8£Æß‚Í,
 Usquid:S2696€"6Make the enclosing method "static" or remove this set.(¾š¶¯8£Æß‚Í,
-�"squid:ClassVariableVisibilityCheck?"UMake frameType a static final constant or non-public and provide accessors if needed.(¼“á¬ùÿÿÿÿ8£Æß‚Í,
-wsquid:S00116I"XRename this field "CellsVector_1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(¤Ò½ 8£Æß‚Í,
-qsquid:S00116V"RRename this field "label_4" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(¢†£Ÿ8£Æß‚Í,
-gsquid:S1192Ö"HDefine a constant instead of duplicating this literal "</html>" 6 times.(Ó¸ˆ³8£Æß‚Í,
-}squid:S00116O"YRename this field "label_content1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Ïé•›øÿÿÿÿ8£Æß‚Í,
+Gsquid:S1148©"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ8£Æß‚Í,
 vsquid:S00117Ï"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(””؇ÿÿÿÿÿ8£Æß‚Í,
-vsquid:S00117¦"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(�™Å’úÿÿÿÿ8£Æß‚Í,
-jsquid:CommentedOutCodeLine—"<This block of commented-out lines of code should be removed.(¨�”ö8êÀò¦Í,
-nsquid:S00100˜"NRename this method name to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(î篗8£Æß‚Í,
+ƒsquid:S1149I"eReplace the synchronized class "Vector" by an unsynchronized one such as "ArrayList" or "LinkedList".(¤Ò½ 8£Æß‚Í,
+gsquid:S1192Ö"HDefine a constant instead of duplicating this literal "</html>" 6 times.(Ó¸ˆ³8£Æß‚Í,
+Usquid:S2696™"6Make the enclosing method "static" or remove this set.(èôÄÀ8£Æß‚Í,
+isquid:UnusedPrivateMethod�"7Remove this unused private "createNewScanFrame" method.(€°óƒýÿÿÿÿ8£Æß‚Í,
+Gsquid:S1125€"(Remove the literal "true" boolean value.(¾š¶¯8£Æß‚Í,
+„squid:S1149­"eReplace the synchronized class "Vector" by an unsynchronized one such as "ArrayList" or "LinkedList".(íÒ«�8£Æß‚Í,
 asquid:UselessImportCheck"6Remove this unused import 'co.dc.aptiv.pojo.BillPojo'.(à·Þ£8£Æß‚Í,
-Lsquid:S1948a"/Make "materielPojos" transient or serializable.(÷ùÈ8£Æß‚Í,
-Tsquid:S2696ú"6Make the enclosing method "static" or remove this set.(†–öS8£Æß‚Í,
-jsquid:CommentedOutCodeLineæ"<This block of commented-out lines of code should be removed.(åßø8£Æß‚Í,
-zsquid:S00116T"VRename this field "label_scan3" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(¦Œ÷Ïøÿÿÿÿ8£Æß‚Í,
-xsquid:S00116Q"YRename this field "label_content3" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ÂçñÃ8£Æß‚Í,
 zsquid:S00116R"VRename this field "label_scan1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(÷ùÚøýÿÿÿÿ8£Æß‚Í,
-Gsquid:S1125€"(Remove the literal "true" boolean value.(¾š¶¯8£Æß‚Í,
-jsquid:CommentedOutCodeLine£"<This block of commented-out lines of code should be removed.(ñ­Ø’8£Æß‚Í,
-ˆsquid:S1149J"eReplace the synchronized class "Vector" by an unsynchronized one such as "ArrayList" or "LinkedList".(»¿ƒ³ÿÿÿÿÿ8£Æß‚Í,
-isquid:UnusedPrivateMethod�"7Remove this unused private "createNewScanFrame" method.(€°óƒýÿÿÿÿ8£Æß‚Í,
-tsquid:S00116N"VRename this field "panel_style" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Ú“ÿ\8£Æß‚Í,
-”"squid:ClassVariableVisibilityCheckf"ZMake billDetailPojo a static final constant or non-public and provide accessors if needed.(κËõüÿÿÿÿ8£Æß‚Í,
-Gsquid:S1148©"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ8£Æß‚Í,
-ssquid:S1450W"URemove the "timer1" field and declare it as a local variable in the relevant methods.(Ë­´à8£Æß‚Í,
-ssquid:S1450X"URemove the "timer2" field and declare it as a local variable in the relevant methods.(ôÙªö8£Æß‚Í,
-Zsquid:S2696ß"6Make the enclosing method "static" or remove this set.(Å�Ž«ÿÿÿÿÿ8£Æß‚Í,
+tsquid:S00116/"URename this field "comboBox_1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ƒîÛø8£Æß‚Í,
+Qsquid:S1068b"4Remove this unused "nowMaterielPojo2" private field.(§¼Š8£Æß‚Í,
 ‹"squid:ClassVariableVisibilityCheck/"VMake comboBox_1 a static final constant or non-public and provide accessors if needed.(ƒîÛø8£Æß‚Í,
+xsquid:S00116P"YRename this field "label_content2" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(€»é¡8£Æß‚Í,
+tsquid:S00116N"VRename this field "panel_style" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Ú“ÿ\8£Æß‚Í,
+jsquid:CommentedOutCodeLineæ"<This block of commented-out lines of code should be removed.(åßø8£Æß‚Í,
+qsquid:MaximumInheritanceDepth$"<This class has 6 parents which is greater than 5 authorized.(ˆ˜ë¶ÿÿÿÿÿ8£Æß‚Í,
+Usquid:S2696Ü"6Make the enclosing method "static" or remove this set.(È–Ò¢8£Æß‚Í,
 Zsquid:S2696œ"6Make the enclosing method "static" or remove this set.(»¶¶ˆúÿÿÿÿ8£Æß‚Í,
-tsquid:S00116/"URename this field "comboBox_1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ƒîÛø8£Æß‚Í,
-vsquid:S00117›"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ᶆÄýÿÿÿÿ8£Æß‚Í,
+|squid:S00116J"XRename this field "TitleVector_1" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(»¿ƒ³ÿÿÿÿÿ8£Æß‚Í,
+vsquid:S00116U"RRename this field "label_3" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ƾ€õùÿÿÿÿ8£Æß‚Í,
+Gsquid:S1148¬"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ8£Æß‚Í,
+ˆsquid:S1149J"eReplace the synchronized class "Vector" by an unsynchronized one such as "ArrayList" or "LinkedList".(»¿ƒ³ÿÿÿÿÿ8£Æß‚Í,
+xsquid:S00116Q"YRename this field "label_content3" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ÂçñÃ8£Æß‚Í,
 usquid:S00116S"VRename this field "label_scan2" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ãÂçË8£Æß‚Í,
-bsquid:S1155½">Use isEmpty() to check whether the collection is empty or not.(„ñÛ¯þÿÿÿÿ8£Æß‚Í,
-Qsquid:S1068b"4Remove this unused "nowMaterielPojo2" private field.(§¼Š8£Æß‚Í,
-Tsquid:S2696”"6Make the enclosing method "static" or remove this set.(¡²ü8£Æß‚Í,
-„squid:S1149­"eReplace the synchronized class "Vector" by an unsynchronized one such as "ArrayList" or "LinkedList".(íÒ«�8£Æß‚Í,
+zsquid:S00116T"VRename this field "label_scan3" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(¦Œ÷Ïøÿÿÿÿ8£Æß‚Í,
+‘"squid:ClassVariableVisibilityCheckR"WMake label_scan1 a static final constant or non-public and provide accessors if needed.(÷ùÚøýÿÿÿÿ8£Æß‚Í,
+vsquid:S00117¦"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(�™Å’úÿÿÿÿ8£Æß‚Í,
+qsquid:S00116V"RRename this field "label_4" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(¢†£Ÿ8£Æß‚Í,

+ 6 - 6
.idea/sonarlint/issuestore/c/5/c5394e590f0b754c3a0c215412c98d0ccb8d18b9

@@ -1,9 +1,9 @@
 
-Jsquid:S1168Š"+Return an empty collection instead of null.(¥¹ï�8¬¶çÖ¼,
-‚squid:S1149?"_Replace the synchronized class "StringBuffer" by an unsynchronized one such as "StringBuilder".(êéÑ°üÿÿÿÿ8¬¶çÖ¼,
-~squid:S1488…"`Immediately return this expression instead of assigning it to the temporary variable "listBill".(ä‹Òm8¬¶çÖ¼,
-~squid:S1488¥"`Immediately return this expression instead of assigning it to the temporary variable "listBill".(ä‹Òm8¬¶çÖ¼,
 Gsquid:S1148ˆ"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ8¬¶çÖ¼,
-Usquid:S2387$"2"queryRunner" is the name of a field in "BaseDao".(‘í„Øøÿÿÿÿ8¬¶çÖ¼,
+~squid:S1488…"`Immediately return this expression instead of assigning it to the temporary variable "listBill".(ä‹Òm8¬¶çÖ¼,
 Jsquid:S1168ª"+Return an empty collection instead of null.(¥¹ï�8¬¶çÖ¼,
-Gsquid:S1148¨"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ8¬¶çÖ¼,
+Usquid:S2387$"2"queryRunner" is the name of a field in "BaseDao".(‘í„Øøÿÿÿÿ8¬¶çÖ¼,
+~squid:S1488¥"`Immediately return this expression instead of assigning it to the temporary variable "listBill".(ä‹Òm8¬¶çÖ¼,
+Gsquid:S1148¨"#Use a logger to log this exception.(€ÉÔ…ýÿÿÿÿ8¬¶çÖ¼,
+‚squid:S1149?"_Replace the synchronized class "StringBuffer" by an unsynchronized one such as "StringBuilder".(êéÑ°üÿÿÿÿ8¬¶çÖ¼,
+Jsquid:S1168Š"+Return an empty collection instead of null.(¥¹ï�8¬¶çÖ¼,

+ 29 - 29
.idea/sonarlint/issuestore/f/f/ff8d0749ce86a89be6ff0cec5162a3144f8798cb

@@ -1,38 +1,38 @@
 
-asquid:S2583†"DChange this condition so that it does not always evaluate to "false"(ýü‡Ìûÿÿÿÿ
-˜squid:S1186ã"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(ƆêC
-esquid:MaximumInheritanceDepth"<This class has 6 parents which is greater than 5 authorized.(ÞíÒÆ
+Xsquid:S1854Š"9Remove this useless assignment to local variable "typei".(ˆ€Øï8¦ë‰ËÈ,
+žsquid:S1186Î"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(Šá® þÿÿÿÿ
+csquid:CommentedOutCodeLineŒ"<This block of commented-out lines of code should be removed.(öƒýÔ
 ™squid:S1186Ñ"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(£í´
-fsquid:S00116¿"NRename this field "DPN" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(á”ôx
-jsquid:S00117Â"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Š½Öî
-Xsquid:S1854‘"9Remove this useless assignment to local variable "typei".(ÿ�’‘8¦ë‰ËÈ,
-lsquid:S00116´"NRename this field "CPN" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(£ Ü¦øÿÿÿÿ
+asquid:S2583†"DChange this condition so that it does not always evaluate to "false"(ýü‡Ìûÿÿÿÿ
+™squid:S1186Û"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(£í´
+msquid:S00116Á"ORename this field "TYPE" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ÑÏ­ïúÿÿÿÿ
+csquid:CommentedOutCodeLine¢"<This block of commented-out lines of code should be removed.(ûìží
+hsquid:S00117~"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ê ¬W
+jsquid:CommentedOutCodeLineš"<This block of commented-out lines of code should be removed.(»ÅÀ€8²�¸ÊÈ,
 osquid:CommentedOutCodeLine“"<This block of commented-out lines of code should be removed.(ô�½Öúÿÿÿÿ8¦ë‰ËÈ,
-žsquid:S1186Ë"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(›ÐêÕûÿÿÿÿ
 žsquid:S1186Ü"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(ô—�»ûÿÿÿÿ
+fsquid:S00116¿"NRename this field "DPN" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(á”ôx
 žsquid:S1186Ø"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(Šá® þÿÿÿÿ
-jsquid:CommentedOutCodeLineš"<This block of commented-out lines of code should be removed.(»ÅÀ€8²�¸ÊÈ,
-Xsquid:S1854Š"9Remove this useless assignment to local variable "typei".(ˆ€Øï8¦ë‰ËÈ,
-csquid:CommentedOutCodeLine¢"<This block of commented-out lines of code should be removed.(ûìží
-asquid:S2583Ô"DChange this condition so that it does not always evaluate to "false"(ýü‡Ìûÿÿÿÿ
 vsquid:S3776„"RRefactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed.(¼ Òþüÿÿÿÿ8¦ë‰ËÈ,
-žsquid:S1186æ"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(ô—�»ûÿÿÿÿ
-Usquid:CallToDeprecatedMethod…",Remove this use of "show"; it is deprecated.(–çÏ�
-Usquid:CallToDeprecatedMethodÓ",Remove this use of "show"; it is deprecated.(ڵô
-žsquid:S1186Î"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(Šá® þÿÿÿÿ
-msquid:S00116µ"ORename this field "TYPE" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ÑÏ­ïúÿÿÿÿ
-žsquid:S1186Ò"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(Š¿˜¶ûÿÿÿÿ
-™squid:S1186Û"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(£í´
-Isquid:S1481Š"*Remove this unused "typei" local variable.(ˆ€Øï8¦ë‰ËÈ,
+osquid:CommentedOutCodeLineš"<This block of commented-out lines of code should be removed.(ô�½Öúÿÿÿÿ8¦ë‰ËÈ,
+asquid:S2583Ô"DChange this condition so that it does not always evaluate to "false"(ýü‡Ìûÿÿÿÿ
 fsquid:S00116³"NRename this field "DPN" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(á”ôx
-isquid:S3776Q"RRefactor this method to reduce its Cognitive Complexity from 52 to the 15 allowed.(为£
-Isquid:S1481‘"*Remove this unused "typei" local variable.(ÿ�’‘8¦ë‰ËÈ,
-žsquid:S1186È"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(Š¿˜¶ûÿÿÿÿ
-hsquid:S00117~"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ê ¬W
+žsquid:S1186Ò"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(Š¿˜¶ûÿÿÿÿ
+jsquid:S00117Â"QRename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(Š½Öî
+vsquid:S3776þ"RRefactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed.(¼ Òþüÿÿÿÿ8¦ë‰ËÈ,
+msquid:S00116µ"ORename this field "TYPE" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ÑÏ­ïúÿÿÿÿ
 ˜squid:S1186Ù"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(ƆêC
-csquid:CommentedOutCodeLineŒ"<This block of commented-out lines of code should be removed.(öƒýÔ
-msquid:S00116Á"ORename this field "TYPE" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(ÑÏ­ïúÿÿÿÿ
+isquid:S3776Q"RRefactor this method to reduce its Cognitive Complexity from 52 to the 15 allowed.(为£
+lsquid:S00116´"NRename this field "CPN" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(£ Ü¦øÿÿÿÿ
+Xsquid:S1854‘"9Remove this useless assignment to local variable "typei".(ÿ�’‘8¦ë‰ËÈ,
 lsquid:S00116À"NRename this field "CPN" to match the regular expression '^[a-z][a-zA-Z0-9]*$'.(£ Ü¦øÿÿÿÿ
-vsquid:S3776þ"RRefactor this method to reduce its Cognitive Complexity from 16 to the 15 allowed.(¼ Òþüÿÿÿÿ8¦ë‰ËÈ,
-osquid:CommentedOutCodeLineš"<This block of commented-out lines of code should be removed.(ô�½Öúÿÿÿÿ8¦ë‰ËÈ,
-žsquid:S1186Õ"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(›ÐêÕûÿÿÿÿ
+esquid:MaximumInheritanceDepth"<This class has 6 parents which is greater than 5 authorized.(ÞíÒÆ
+Isquid:S1481Š"*Remove this unused "typei" local variable.(ˆ€Øï8¦ë‰ËÈ,
+žsquid:S1186Õ"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(›ÐêÕûÿÿÿÿ
+žsquid:S1186Ë"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(›ÐêÕûÿÿÿÿ
+žsquid:S1186æ"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(ô—�»ûÿÿÿÿ
+žsquid:S1186È"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(Š¿˜¶ûÿÿÿÿ
+˜squid:S1186ã"€Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.(ƆêC
+Isquid:S1481‘"*Remove this unused "typei" local variable.(ÿ�’‘8¦ë‰ËÈ,
+Usquid:CallToDeprecatedMethod…",Remove this use of "show"; it is deprecated.(–çÏ�
+Usquid:CallToDeprecatedMethodÓ",Remove this use of "show"; it is deprecated.(ڵô

+ 9 - 1
.idea/sonarlint/issuestore/index.pb

@@ -170,4 +170,12 @@ N
 _
 /src/main/java/co/dc/aptiv/LoadingGlassPane.java,5\e\5e4da37d3ca58b82db51c75bf8e3c05280cddd12
 \
-,src/main/java/co/dc/aptiv/JWindowLoding.java,4\e\4eaecac3a216fa7cb274d9a630a201aeca71ac2c
+,src/main/java/co/dc/aptiv/JWindowLoding.java,4\e\4eaecac3a216fa7cb274d9a630a201aeca71ac2c
+X
+(exe.path_IS_UNDEFINED/logs/log_debug.log,5\8\58f1d0ab996d229ea861af2a0d36ed78bee0ded3
+X
+(exe.path_IS_UNDEFINED/logs/log_error.log,1\d\1d94eba24c2c13a11a1530afaf3e4e9977b0e545
+W
+'exe.path_IS_UNDEFINED/logs/log_info.log,8\f\8f4b8dcc29768ba1584b6c6369aa74bf76ef2906
+V
+&exe.path_IS_UNDEFINED/logs/log_run.log,8\3\830faf4018b18fd93219ac9e7f2950f8dc6fafb5

File diff suppressed because it is too large
+ 3 - 3
doc/install.exe4j


+ 0 - 18
exe.path_IS_UNDEFINED/logs/log_error.log

@@ -1,18 +0,0 @@
-ERROR [2018-07-25 15:34:27,321] co.dc.aptiv.mina.MinaAbstract:132 - (nio socket connector: managedSessionCount: 0) 建立连接失败 
-org.apache.mina.core.RuntimeIoException: Failed to get the session.
-	at org.apache.mina.core.future.DefaultConnectFuture.getSession(DefaultConnectFuture.java:58) ~[mina-core-2.0.9.jar:na]
-	at co.dc.aptiv.mina.MinaAbstract.createConn(MinaAbstract.java:123) [classes/:na]
-	at co.dc.aptiv.mina.MinaAbstract.startConnection(MinaAbstract.java:233) [classes/:na]
-	at co.dc.aptiv.AptivApp.main(AptivApp.java:180) [classes/:na]
-Caused by: java.net.NoRouteToHostException: No route to host: no further information
-	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) ~[na:1.8.0_112]
-	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[na:1.8.0_112]
-	at org.apache.mina.transport.socket.nio.NioSocketConnector.finishConnect(NioSocketConnector.java:221) ~[mina-core-2.0.9.jar:na]
-	at org.apache.mina.transport.socket.nio.NioSocketConnector.finishConnect(NioSocketConnector.java:47) ~[mina-core-2.0.9.jar:na]
-	at org.apache.mina.core.polling.AbstractPollingIoConnector.processConnections(AbstractPollingIoConnector.java:459) ~[mina-core-2.0.9.jar:na]
-	at org.apache.mina.core.polling.AbstractPollingIoConnector.access$700(AbstractPollingIoConnector.java:65) ~[mina-core-2.0.9.jar:na]
-	at org.apache.mina.core.polling.AbstractPollingIoConnector$Connector.run(AbstractPollingIoConnector.java:527) ~[mina-core-2.0.9.jar:na]
-	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) ~[mina-core-2.0.9.jar:na]
-	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_112]
-	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[na:1.8.0_112]
-	at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_112]

File diff suppressed because it is too large
+ 459 - 25
exe.path_IS_UNDEFINED/logs/log_info.log


File diff suppressed because it is too large
+ 459 - 43
exe.path_IS_UNDEFINED/logs/log_run.log


+ 1 - 1
pom.xml

@@ -3,7 +3,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>co.dc.aptiv</groupId>
     <artifactId>AptivApp</artifactId>
-    <version>1.2.0</version>
+    <version>1.2.1</version>
 
     <properties>
         <org.springframework.version>3.2.5.RELEASE</org.springframework.version>

+ 49 - 3
src/main/java/co/dc/aptiv/AptivApp.java

@@ -12,9 +12,11 @@ import co.dc.aptiv.utils.CharacterConversionUtil;
 import co.dc.aptiv.utils.KeyboardUtil;
 import co.dc.aptiv.utils.ResetJButton;
 import co.dc.aptiv.utils.WindowUtil;
+import co.dc.commons.utils.DateTimeUtil;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.commons.dbutils.QueryRunner;
+import org.apache.commons.dbutils.handlers.MapHandler;
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -36,8 +38,10 @@ import java.io.RandomAccessFile;
 import java.net.UnknownHostException;
 import java.nio.channels.FileChannel;
 import java.nio.channels.FileLock;
+import java.sql.SQLException;
 import java.util.Arrays;
 import java.util.Enumeration;
+import java.util.Map;
 
 /**
  * @describe: 主程序
@@ -111,6 +115,8 @@ public class AptivApp {
 
     /**
      * 程序入口
+     *
+     * @param args
      */
     public static void main(String[] args) {
         //检查文件锁--用于限制程序多开
@@ -174,8 +180,48 @@ public class AptivApp {
             System.exit(0);
         }
 
+        /*备份码表
+            1.获取订单的最后一条记录的日期
+            2.判断最后一条记录的日期是不是当前日期,是就不备份
+            3.判断以最后一条记录的日期为后缀的表是否存在,存在就表示之前备份过,不用再备份
+            4.备份码表为当前日期,并截断现有的码表
+            5.这样做会引起如下问题:
+                5.1:查看和导出记录的时候,得先去找指定的表
+                5.2: 导出多条订单记录会读很多张码表
+                5.3:跨时间的按订单时间算
+         */
+        //备份表
+       /* jWindowLoding.setProgress("备份码表", 40);
+        //获取订单的最后一条记录的日期
+        String billLastDate = billService.getLastDate();
+        //判断是不是从未生产过
+        if (StringUtils.isNotEmpty(billLastDate)) {
+            //判断获取的最后一条记录的日期是不是当前日期
+            if (!DateTimeUtil.getDateString().equals(billLastDate)) {
+                try {
+                    //设置表名
+                    String tableName = "bill_detail_" + billLastDate.replaceAll("-", "");
+                    //查询表是否存在
+                    String sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'aptiv' AND TABLE_NAME = ?";
+                    Map<String, Object> map = queryRunner.query(sql, new MapHandler(), tableName);
+                    //表不存在
+                    if (map == null) {
+                        //创建并复制表
+                        log.info("创建并复制表");
+                        queryRunner.update("CREATE TABLE " + tableName + " SELECT * FROM bill_detail");
+                        //截断表
+                        log.info("截断表");
+                        queryRunner.update("truncate table bill_detail");
+                    }
+                } catch (SQLException e) {
+                    e.printStackTrace();
+                }
+            }
+        }*/
+
+
         //检查PLC
-        jWindowLoding.setProgress("正在连接PLC", 40);
+        jWindowLoding.setProgress("正在连接PLC", 50);
         //tcp配置--检查设备
         plcMina.startConnection();
         if (plcMina.isConnect() == false) {
@@ -186,7 +232,7 @@ public class AptivApp {
         }
 
         //检查激光机
-        jWindowLoding.setProgress("正在连接激光器", 50);
+        jWindowLoding.setProgress("正在连接激光器", 70);
         //tcp配置--检查设备
         printMina = new ComMinaA(configuration.getString("com"), Integer.parseInt(configuration.getString("bot")));
         printMina.startConnection();
@@ -198,7 +244,7 @@ public class AptivApp {
         }
 
         //检查采集器
-        jWindowLoding.setProgress("正在连接采集器", 70);
+        jWindowLoding.setProgress("正在连接采集器", 80);
         //tcp配置--检查设备
         collectorMina.startConnection();
         if (collectorMina.isConnect() == false) {

+ 2 - 2
src/main/java/co/dc/aptiv/MaterielFrame.java

@@ -398,7 +398,7 @@ public class MaterielFrame extends JFrame {
                 if (!StringUtils.isEmpty(dpnVal) && !StringUtils.isEmpty(cpnVal) && !StringUtils.isEmpty(typeVal)) {
                     int dpni = AptivApp.materielService.isExistByParam("dpn", dpnVal, 8, 0);
                     int cpni = AptivApp.materielService.isExistByParam("cpn", cpnVal, 10, 0);
-                    int typei = AptivApp.materielService.isExistByParam("type", typeVal, 2, 0);
+//                    int typei = AptivApp.materielService.isExistByParam("type", typeVal, 2, 0);
                     if (dpni == 1) {
                         JOptionPane.showMessageDialog(MaterielFrame.this, "DPN已存在,请重新填写DPN", "提示", JOptionPane.ERROR_MESSAGE);
                     } else if (dpni == 2) {
@@ -519,7 +519,7 @@ public class MaterielFrame extends JFrame {
                 if (!StringUtils.isEmpty(dpnVal) && !StringUtils.isEmpty(cpnVal) && !StringUtils.isEmpty(typeVal)) {
                     int dpni = AptivApp.materielService.isExistByParam("dpn", dpnVal, 8, materiel.getId());
                     int cpni = AptivApp.materielService.isExistByParam("cpn", cpnVal, 10, materiel.getId());
-                    int typei = AptivApp.materielService.isExistByParam("type", typeVal, 2, materiel.getId());
+//                    int typei = AptivApp.materielService.isExistByParam("type", typeVal, 2, materiel.getId());
                     if (dpni == 1) {
                         JOptionPane.showMessageDialog(MaterielFrame.this, "DPN已存在,请重新填写DPN", "提示", JOptionPane.ERROR_MESSAGE);
                     } else if (dpni == 2) {

+ 39 - 27
src/main/java/co/dc/aptiv/ScanFrame.java

@@ -1,7 +1,6 @@
 package co.dc.aptiv;
 
 import co.dc.aptiv.pojo.BillDetailPojo;
-import co.dc.aptiv.pojo.BillPojo;
 import co.dc.aptiv.pojo.MaterielPojo;
 import co.dc.aptiv.pojo.UserPojo;
 import co.dc.aptiv.utils.ResetJButton;
@@ -15,13 +14,15 @@ import javax.swing.border.EmptyBorder;
 import javax.swing.plaf.FontUIResource;
 import javax.swing.table.DefaultTableCellRenderer;
 import javax.swing.table.JTableHeader;
-import javax.swing.table.TableCellRenderer;
 import java.awt.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.ItemEvent;
 import java.awt.event.ItemListener;
-import java.io.*;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
 import java.util.Enumeration;
 import java.util.List;
 import java.util.Map;
@@ -513,39 +514,25 @@ public class ScanFrame extends JFrame {
             //判断当前模式,非联机模式则自动发码
             if (!onLine) {
                 int codeFlag = AptivApp.qrcodeService.sendQrCode();
-                if (codeFlag != 1) {
-                    log.info("发送码给激光机异常");
+                if (codeFlag < 0) {
+                    log.error("发送码给激光机异常");
                     alertMsg(1, "生产码异常,请停止打印并联系管理员!");
                 }
+                if (codeFlag == 0) {
+                    log.error("已接收测试机发的物料号,但程序尚未开始打印!");
+                    alertMsg(1, "已接收测试机发的物料号,但程序尚未开始打印!");
+                }
             }
         }
     }
 
     /**
-     * 结束打印
+     * 结束打印,需手动确认
      */
     public void stopPrint() {
         int val = JOptionPane.showConfirmDialog(ScanFrame.this, "确定结束打印吗?", "提示", 2);
         if (val == JOptionPane.YES_OPTION) {
-            //清空激光机的数据
-            AptivApp.qrcodeService.resetLaserMachine();
-            AptivApp.flag = false;
-            //发送停止指令给PLC
-            sendPLCCommand("E");
-//            AptivApp.printStatus = true;
-//            AptivApp.scanStatus = false;
-            AptivApp.billPojo = null;
-            this.CellsVector_1.clear();
-            this.jt_1.updateUI();
-            AptivApp.qrCode = null;
-            loadCode();
-            loadDate(0, 0, 0);
-            //设置按钮
-            setButton(AptivApp.flag);
-            if (!onLine) {
-                comboBox_1.setEnabled(true);
-            }
-            log.info("结束打印");
+            suspend();
         }
     }
 
@@ -626,7 +613,7 @@ public class ScanFrame extends JFrame {
      * @param type
      */
     public void warning(String msg, int type) {
-        log.info("程序警告信息:警告类型=" + type + ",警告信息=" + msg);
+//        log.info("程序警告信息:警告类型=" + type + ",警告信息=" + msg);
         label_4.setIcon(new ImageIcon(ScanFrame.class.getResource(type == 0 ? "img/warn-yellow.png" : "img/warn-red.png")));
         label_4.setText("<html>&nbsp;" + msg + "</html>");
     }
@@ -649,7 +636,7 @@ public class ScanFrame extends JFrame {
      * @param msg  信息
      */
     public void alertMsg(int type, String msg) {
-        log.info("程序提示信息:提示类型=" + type + ",提示信息=" + msg);
+        log.error("程序提示信息:提示类型=" + (type == 0 ? "提示" : "警告") + ",提示信息=" + msg);
         JOptionPane.showMessageDialog(ScanFrame.this, msg, type == 0 ? "提示" : "警告", JOptionPane.WARNING_MESSAGE);
     }
 
@@ -697,4 +684,29 @@ public class ScanFrame extends JFrame {
             JOptionPane.showMessageDialog(ScanFrame.this, status > 0 ? "测试机" + command + "指令发送超时" : "测试机" + command + "指令发送异常", "提示", JOptionPane.WARNING_MESSAGE);
         }
     }
+
+    /**
+     * 停止打印
+     */
+    public void suspend() {
+        //清空激光机的数据
+//        AptivApp.qrcodeService.resetLaserMachine();
+        AptivApp.flag = false;
+        //发送停止指令给PLC
+        sendPLCCommand("E");
+//            AptivApp.printStatus = true;
+//            AptivApp.scanStatus = false;
+        AptivApp.billPojo = null;
+        this.CellsVector_1.clear();
+        this.jt_1.updateUI();
+        AptivApp.qrCode = null;
+        loadCode();
+        loadDate(0, 0, 0);
+        //设置按钮
+        setButton(AptivApp.flag);
+        if (!onLine) {
+            comboBox_1.setEnabled(true);
+        }
+        log.info("结束打印");
+    }
 }

+ 11 - 7
src/main/java/co/dc/aptiv/mina/TestMachineCollectorMinaHandler.java

@@ -53,13 +53,17 @@ public class TestMachineCollectorMinaHandler extends MinaAbstractHandler {
                     log.info("测试机发来的物料,DPN = " + dpn);
                     //判断当前是否可打印模式
 //                    if (AptivApp.printStatus) {
-                        AptivApp.nowMaterielPojo = materielPojo;
-                        AptivApp.qrcodeService.getScanFrame().setComboBox_1();
-                        int codeFlag = AptivApp.qrcodeService.sendQrCode();
-                        if (codeFlag != 1) {
-                            log.info("发送码给激光机异常");
-                            AptivApp.qrcodeService.getScanFrame().alertMsg(1, "生产码异常,请停止打印并联系管理员!");
-                        }
+                    AptivApp.nowMaterielPojo = materielPojo;
+                    AptivApp.qrcodeService.getScanFrame().setComboBox_1();
+                    int codeFlag = AptivApp.qrcodeService.sendQrCode();
+                    if (codeFlag < 0) {
+                        log.info("发送码给激光机异常");
+                        AptivApp.qrcodeService.getScanFrame().alertMsg(1, "生产码异常,请停止打印并联系管理员!");
+                    }
+                    if (codeFlag == 0) {
+                        log.error("已接收测试机发的物料号,但程序尚未开始打印!");
+                        AptivApp.qrcodeService.getScanFrame().alertMsg(1, "已接收测试机发的物料号,但程序尚未开始打印!");
+                    }
 //                    }
                 } else {
                     //弹出提示信息

+ 76 - 41
src/main/java/co/dc/aptiv/service/BillDetailService.java

@@ -12,6 +12,7 @@ import co.dc.commons.utils.DateTimeUtil;
 import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.commons.dbutils.handlers.BeanHandler;
 import org.apache.commons.dbutils.handlers.BeanListHandler;
+import org.apache.commons.dbutils.handlers.MapHandler;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.springframework.stereotype.Service;
@@ -156,52 +157,86 @@ public class BillDetailService extends BaseDao<BillDetailPojo> {
 
     /**
      * 导出详情
+     * 1.获取查询结果列表
+     * 2.获取每条记录生成的时间
+     * 3.判断记录生成时间是否当前日期,不是就截取生成日期去备份表找
      *
      * @param billPojos
      */
     public void exportDetails(List<BillPojo> billPojos) {
-        if (billPojos == null || billPojos.size() < 1) {
-            getBillFrame().alertMsg(1, "当前查询结果为空,不能导出!");
-            return;
-        }
-        List<MaterielPojo> materielPojos = AptivApp.materielService.listAll();
-        Map<Long, MaterielPojo> materielMap = new HashMap<Long, MaterielPojo>(materielPojos.size());
-        for (MaterielPojo pojo : materielPojos) {
-            materielMap.put(pojo.getId(), pojo);
-        }
-        List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();
-        Integer index = 1;
-        for (BillPojo billPojo : billPojos) {
-            List<BillDetailPojo> billDetailPojos = listByParam("billId", billPojo.getId() + "");
-            //单据查详情
-            for (int j = 0; j < billDetailPojos.size(); j++) {
-                Map<String, Object> map = new HashMap<String, Object>(8);
-                map.put("index", index);
-                map.put("billCode", billPojo.getBillCode());
-                MaterielPojo materielPojo = materielMap.get(billDetailPojos.get(j).getMaterielId());
-                map.put("dpn", materielPojo != null ? materielPojo.getDpn() : "物料已删除");
-                map.put("qrCode", billDetailPojos.get(j).getQrCode());
-                map.put("collectionCode", billDetailPojos.get(j).getCollectionCode());
-                map.put("state", billDetailPojos.get(j).getState() == 1 ? "合格" : "不合格");
-                map.put("createTime", billDetailPojos.get(j).getCreateTime());
-                map.put("modifyTime", billDetailPojos.get(j).getModifyTime());
-                mapList.add(map);
-                index++;
+       /* try {*/
+            //判断查询列表是否为空,为空弹提示
+            if (billPojos == null || billPojos.size() < 1) {
+                getBillFrame().alertMsg(1, "当前查询结果为空,不能导出!");
+                return;
             }
-        }
-        //检查码是否超过行限制
-        if (index > 65535) {
-            getBillFrame().alertMsg(1, "导出的码数据不能超过65535行!");
-            return;
-        }
-        //设置路径并导出excel
-        String fileName = "C:\\Users\\" + System.getProperties().getProperty("user.name") + "\\Desktop\\" + "码详情" + DateTimeUtil.getDateTimeString().replace(":", "-") + ".xls";
-        boolean bool = export(mapList, fileName);
-        if (bool) {
-            getBillFrame().alertMsg(0, "导出成功,路径为:" + fileName);
-        } else {
-            getBillFrame().alertMsg(1, "数据导出失败!");
-        }
+            //获取所有物料信息
+            List<MaterielPojo> materielPojos = AptivApp.materielService.listAll();
+            Map<Long, MaterielPojo> materielMap = new HashMap<Long, MaterielPojo>(materielPojos.size());
+            for (MaterielPojo pojo : materielPojos) {
+                materielMap.put(pojo.getId(), pojo);
+            }
+            //初始化查询结果list用于导出
+            List<Map<String, Object>> mapList = new ArrayList<Map<String, Object>>();
+            //获取当前日期
+//            String currentDate = DateTimeUtil.getDateString();
+            //导出id计数器
+            Integer index = 1;
+            for (BillPojo billPojo : billPojos) {
+                //获取订单时间
+//                String billDate = billPojo.getCreateTime().split(" ")[0];
+                //声明查询结果list
+                List<BillDetailPojo> billDetailPojos;
+                //判断订单日期是否当前日期
+//                if (currentDate.equals(billDate)) {
+                    billDetailPojos = listByParam("billId", billPojo.getId() + "");
+              /*  } else {
+                    //设置表名
+                    String tableName = "bill_detail_" + billDate.replaceAll("-", "");
+                    //查询表是否存在
+                    String sql = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ?";
+                    Map<String, Object> map = queryRunner.query(sql, new MapHandler(), tableName);
+                    if (map != null) {
+                        // 查询语句
+                        sql = "SELECT * FROM " + tableName + " WHERE billId = ? ORDER BY createTime ASC";
+                        billDetailPojos = queryRunner.query(sql, new BeanListHandler<BillDetailPojo>(BillDetailPojo.class), billPojo.getId());
+                    } else {
+                        continue;
+                    }
+                }*/
+                //单据查详情
+                for (int j = 0; j < billDetailPojos.size(); j++) {
+                    Map<String, Object> map = new HashMap<String, Object>(8);
+                    map.put("index", index);
+                    map.put("billCode", billPojo.getBillCode());
+                    MaterielPojo materielPojo = materielMap.get(billDetailPojos.get(j).getMaterielId());
+                    map.put("dpn", materielPojo != null ? materielPojo.getDpn() : "物料已删除");
+                    map.put("qrCode", billDetailPojos.get(j).getQrCode());
+                    map.put("collectionCode", billDetailPojos.get(j).getCollectionCode());
+                    map.put("state", billDetailPojos.get(j).getState() == 1 ? "合格" : "不合格");
+                    map.put("createTime", billDetailPojos.get(j).getCreateTime());
+                    map.put("modifyTime", billDetailPojos.get(j).getModifyTime());
+                    mapList.add(map);
+                    index++;
+                }
+            }
+            //检查码是否超过行限制
+            if (index > 65500) {
+                getBillFrame().alertMsg(1, "导出的码数据不能超过65500行,请分批导出");
+                return;
+            }
+            //设置路径并导出excel
+            String fileName = "C:\\Users\\" + System.getProperties().getProperty("user.name") + "\\Desktop\\" + "码详情" + DateTimeUtil.getDateTimeString().replace(":", "-") + ".xls";
+            boolean bool = export(mapList, fileName);
+            if (bool) {
+                getBillFrame().alertMsg(0, "导出成功,路径为:" + fileName);
+            } else {
+                getBillFrame().alertMsg(1, "数据导出失败!");
+            }
+      /*  } catch (SQLException e) {
+            log.error("数据导出异常:", e);
+            getBillFrame().alertMsg(1, "数据导出异常,请联系管理员!");
+        }*/
     }
 
     /**

+ 20 - 1
src/main/java/co/dc/aptiv/service/BillService.java

@@ -10,6 +10,7 @@ import co.dc.aptiv.AptivApp;
 import co.dc.commons.utils.DateTimeUtil;
 import co.dc.aptiv.pojo.BillPojo;
 import org.apache.commons.dbutils.QueryRunner;
+import org.apache.commons.dbutils.handlers.BeanHandler;
 import org.apache.commons.dbutils.handlers.BeanListHandler;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -149,7 +150,7 @@ public class BillService extends BaseDao<BillPojo> {
      * @return
      */
     public List<BillPojo> findByParam(boolean online, Long materielId, String beginDate, String endDate) {
-        String sql = "SELECT * FROM bill WHERE delFlag = 0";
+        String sql = "SELECT * FROM bill WHERE delFlag = 0 AND number > 0";
         if (online) {
             sql += " AND materielId = 0";
         } else {
@@ -226,6 +227,24 @@ public class BillService extends BaseDao<BillPojo> {
         return this.update(billPojo);
     }
 
+    /**
+     * 获取物料在详情表中最后一条记录的创建日期
+     *
+     * @return
+     */
+    public String getLastDate() {
+        try {
+            String sql = "SELECT * FROM bill WHERE delFlag = 0 AND number > 0 ORDER BY createTime DESC LIMIT 1";
+            BillPojo billPojo = queryRunner.query(sql, new BeanHandler<BillPojo>(BillPojo.class));
+            if (billPojo != null) {
+                return billPojo.getCreateTime().substring(0, 10);
+            }
+        } catch (SQLException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
 
     public ScanFrame getScanFrame() {
         return scanFrame;

+ 3 - 3
src/main/java/co/dc/aptiv/service/MaterielService.java

@@ -1,9 +1,9 @@
 package co.dc.aptiv.service;
 
 import co.dc.aptiv.AptivApp;
+import co.dc.aptiv.pojo.MaterielPojo;
 import co.dc.commons.basedao.CommonBaseDao;
 import co.dc.commons.utils.DateTimeUtil;
-import co.dc.aptiv.pojo.MaterielPojo;
 import org.apache.commons.dbutils.QueryRunner;
 import org.apache.commons.dbutils.handlers.BeanHandler;
 import org.apache.commons.dbutils.handlers.BeanListHandler;
@@ -212,12 +212,12 @@ public class MaterielService {
      * @return
      */
     public int isExistByParam(String paramName, String paramValue, int MaxLength, long id) {
-        String sql = "SELECT * FROM materiel WHERE delFlag = 0 AND ? = ?";
+        String sql = "SELECT * FROM materiel WHERE delFlag = 0 AND " + paramName + " = '" + paramValue + "'";
         if (id > 0) {
             sql += " AND id != " + id;
         }
         try {
-            List<MaterielPojo> materielPojos = baseDao.query(sql, new BeanListHandler<MaterielPojo>(MaterielPojo.class), paramName, paramValue);
+            List<MaterielPojo> materielPojos = baseDao.query(sql, new BeanListHandler<MaterielPojo>(MaterielPojo.class));
             if (materielPojos != null && materielPojos.size() > 0) {
                 return 1;
             }

+ 20 - 9
src/main/java/co/dc/aptiv/service/QrCodeService.java

@@ -1,11 +1,11 @@
 package co.dc.aptiv.service;
 
 import co.dc.aptiv.AptivApp;
-import co.dc.commons.basedao.CommonBaseDao;
-import co.dc.commons.utils.DateTimeUtil;
 import co.dc.aptiv.ScanFrame;
 import co.dc.aptiv.pojo.BillDetailPojo;
 import co.dc.aptiv.pojo.MaterielPojo;
+import co.dc.commons.basedao.CommonBaseDao;
+import co.dc.commons.utils.DateTimeUtil;
 import org.apache.commons.dbutils.handlers.MapHandler;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -54,9 +54,10 @@ public class QrCodeService {
             AptivApp.materielService.updateMaterielpojo(materielPojo);
         }
         //每天计数不能超过9999
-        /*if (materielPojo.getMaxNum() > 9999) {
+        if (materielPojo.getMaxNum() > 9999) {
+            log.error(DateTimeUtil.getDateTimeString() + "当天生产超过了9999个码");
             return null;
-        }*/
+        }
         String maxNum = materielPojo.getMaxNum() + "";
         //最大序号不足4位进行补位
         StringBuilder sb = new StringBuilder();
@@ -85,21 +86,31 @@ public class QrCodeService {
                 return 2;
             }
             AptivApp.qrCode = code;
+            //检查是否生成重码,不是重码才发往激光机打印,是重码提示管理员
             BillDetailPojo billDetailPojo = baseDao.findByParam(BillDetailPojo.class, "qrCode", AptivApp.qrCode);
-            //不是重码才发往激光机打印,是重码提示管理员
+            getScanFrame().loadCode();
             if (billDetailPojo == null) {
-                getScanFrame().loadCode();
                 //获取码并发送到激光机
                 int status = AptivApp.printMina.sendByte(AptivApp.ccu.String2ASCII(AptivApp.nowMaterielPojo.getCpn() + AptivApp.nowMaterielPojo.getType() + AptivApp.qrCode));
                 if (status > 0) {
                     return status;
                 }
             } else {
-                log.error("生产出重码 =" + AptivApp.qrCode);
-                getScanFrame().alertMsg(1, "生产出重码,请停止打印并联系管理员");
+                // 停止打印
+                getScanFrame().suspend();
+                // 触发声光报警、驱动气缸
+                sendErrorCommand("生产出重码,已停止打印,请联系管理员!重码:" + code);
+                // 弹提示信息
+                javax.swing.SwingUtilities.invokeLater(new Runnable() {
+                    public void run() {
+                        getScanFrame().alertMsg(1, "生产出现重码,已停止打印,请联系管理员!");
+                    }
+                });
+                return 1;
             }
+            return -1;
         }
-        return -1;
+        return 0;
     }
 
 

+ 2 - 2
src/main/resources/config.properties

@@ -8,7 +8,7 @@ dataSource.password=
 lastname=admin
 
 #PLC
-plc.ip=192.168.2.197
+plc.ip=127.0.0.1
 plc.port=3000
 
 #\u6FC0\u5149\u673A\u914D\u7F6E
@@ -16,7 +16,7 @@ com=COM2
 bot=9600
 
 #\u91C7\u96C6\u5668\u914D\u7F6E
-machine.ip=192.168.2.197
+machine.ip=127.0.0.1
 machine.port=51236
 
 #\u8054\u673A\u72B6\u6001