Compare commits
1700 Commits
v1.27.4(29
...
fb6a68e6d4
| Author | SHA1 | Date | |
|---|---|---|---|
| fb6a68e6d4 | |||
| fd15235e6e | |||
| a88ddab405 | |||
| 9fb18215e3 | |||
| 2e3af6d1b3 | |||
| ac38aaeea7 | |||
| ade18170ee | |||
| cc89441f0a | |||
| f612e1c402 | |||
| 663d172edf | |||
| 5ffff22013 | |||
| 56829d7ffd | |||
| 092fbd69b6 | |||
| 878584a619 | |||
| 5d52e2df46 | |||
| f25240abe4 | |||
| 809d4ef5af | |||
| faa45cd096 | |||
| 1ab9b10a13 | |||
| 3bbc8c4f21 | |||
| a952f41e61 | |||
| cce4d2dbb2 | |||
| db246e6a94 | |||
| 37ce428bf0 | |||
| 49d099c339 | |||
| 64875c10c3 | |||
| 8b442ea4d0 | |||
| bb1867b1c8 | |||
| 42cb721e1c | |||
| c104313d89 | |||
| c8cc56bfd6 | |||
| 727c56a171 | |||
| ee71349c52 | |||
| 2c297db483 | |||
| eb779c34ab | |||
| 05c306e29f | |||
| 80b5b8db34 | |||
| e0b86db09d | |||
| 9d871f3ae4 | |||
| e025b234a7 | |||
| e57bd79fba | |||
| 97fe0d53b8 | |||
| acafcf720d | |||
| 809ef43445 | |||
| 1079c38a5f | |||
| f6388eff1c | |||
| 38f3eced41 | |||
| b5010d480f | |||
| 495a8dae92 | |||
| e61ef63225 | |||
| 9e9bdcd16d | |||
| ed938815bb | |||
| 539e8b7c31 | |||
| 92da8cde53 | |||
| fee8a13960 | |||
| 95c71d73ae | |||
| 96d29c784d | |||
| be8ce4de24 | |||
| 3d0f7f16f9 | |||
| 501ca404ff | |||
| 5ad4fd7821 | |||
| c99c3a3b11 | |||
| 7ccda80bfc | |||
| 2d67d87f94 | |||
| 1ba2fb96ba | |||
| ffdd1a1df5 | |||
| 0205255f7d | |||
| f4e56c8b53 | |||
| e46cbca2a9 | |||
| 83fdb89a9e | |||
| d99fd542c2 | |||
| c21e856a0f | |||
| b673940dd6 | |||
| b0ce11cbf7 | |||
| f245bb5d1e | |||
| 4bf974e7b6 | |||
| 95adc4bdc9 | |||
| 4ef2c209c8 | |||
| 41d77b806f | |||
| 6b65c4a570 | |||
| 1247ff590b | |||
| adc76fe82c | |||
| 1c029242ac | |||
| b2aea70516 | |||
| cf2134de57 | |||
| 4d5c0e5509 | |||
| 21af5fc0a9 | |||
| caeabdb765 | |||
| 09b984f5d0 | |||
| ebea9d3a8f | |||
| ee5e80ccf4 | |||
| 9df5ac353c | |||
| 610d42328a | |||
| dd473412cc | |||
| 4f0c5bf6dd | |||
| 90e4e2e464 | |||
| 50e2605ea5 | |||
| 4752e3a3a2 | |||
| 3fe903cc12 | |||
| 3f95a70039 | |||
| b01657de87 | |||
| 067443698a | |||
| fbef5b5cac | |||
| f2ef8ed241 | |||
| 0363f9c835 | |||
| 990a4d1538 | |||
| 55c16e602d | |||
| 6097a7f736 | |||
| f8b92901fd | |||
| 6c6daa4809 | |||
| de8b48d938 | |||
| bfa69ca78b | |||
| bffb471015 | |||
| 1c9604ffde | |||
| bf39eccf72 | |||
| 087e3e261c | |||
| 2eff03dee6 | |||
| fc34a555bd | |||
| 0bf21c046f | |||
| cc14e8a55d | |||
| 892047ffd4 | |||
| 2bae112d80 | |||
| 473ed536fb | |||
| dc342c1fee | |||
| 81507938b1 | |||
| cff52140bd | |||
| f2bab2f510 | |||
| 971e026488 | |||
| 24d90b58f9 | |||
| cb9ef169f8 | |||
| 5e27b8eaf0 | |||
| b5d049aa1d | |||
| 01028f9888 | |||
| 200424fd34 | |||
| eea738b595 | |||
| 2774eaecbf | |||
| ea765b591c | |||
| 07bf4982a1 | |||
| 648a572752 | |||
| 022a56a584 | |||
| ea97e8f249 | |||
| 571ad1590f | |||
| c4124226bd | |||
| 878ac418ed | |||
| 03c02d6625 | |||
| ba1118fdd8 | |||
| a44d6610ef | |||
| 7878748548 | |||
| 172a8256b6 | |||
| 7d0448aa01 | |||
| c7cc197c4c | |||
| c16f5c1747 | |||
| 0736278dc0 | |||
| e190e3de3b | |||
| 33860a0cfe | |||
| 15a946dfb6 | |||
| 62adf49157 | |||
| 64fcb7ccc8 | |||
| dc7ac45c29 | |||
| cebd3b8a8f | |||
| 3ebdc72642 | |||
| aacf5ca76e | |||
| 4f134bfc8e | |||
| a2b53f94c6 | |||
| 6bd1e62190 | |||
| 64407787d8 | |||
| ace4996c20 | |||
| f9f02452d7 | |||
| b653ae39af | |||
| 63d1d9ecf0 | |||
| 40e46e6aac | |||
| 5dc94cbd8f | |||
| 9c72a2a628 | |||
| c06c000e05 | |||
| 48818ec05f | |||
| 5f1b7ef4a4 | |||
| c36bc9d8c2 | |||
| ba9da26ca0 | |||
| 21bd503027 | |||
| b2ad4fdb62 | |||
| fe581580b7 | |||
| 60e725f554 | |||
| 1856ad1f4a | |||
| 27ed85eb6c | |||
| 2f6f9b54c2 | |||
| a2ef35e353 | |||
| b06f058ecf | |||
| e67cbd3760 | |||
| ce9d304043 | |||
| c7d9231d27 | |||
| fc30b8253d | |||
| e8da16cb8a | |||
| dff725ea92 | |||
| e4248c8c48 | |||
| a808144896 | |||
| 601f823944 | |||
| 819cc97113 | |||
| 05d806f9f2 | |||
| 6fdadffe77 | |||
| a245497fcf | |||
| 5ae9371c51 | |||
| 4aeb37e4bc | |||
| 4861c689d7 | |||
| dfe22a76cd | |||
| 24bc83b748 | |||
| 1c63908b3b | |||
| a622e89058 | |||
| ac4500e2a2 | |||
| 6ebcbc2d6c | |||
| 150be3cae2 | |||
| 72edf5228a | |||
| b72a3321d9 | |||
| 5bf71a1b0c | |||
| ee10427048 | |||
| 7fb7cbf8ec | |||
| 3a43e9238b | |||
| 007d58a17e | |||
| 998a59cffc | |||
| 11b353a91d | |||
| 8772d11e02 | |||
| 3d772e3722 | |||
| 41cfbc273e | |||
| bc67098ae0 | |||
| 0e49c93678 | |||
| ed93b88ee8 | |||
| 2cb184f24b | |||
| 126846aef2 | |||
| 8ac595c6c5 | |||
| fc2c0fbe0c | |||
| 0aa0b09afa | |||
| 23c199d0b8 | |||
| 9436236eaa | |||
| 633f41e17d | |||
| d6f26b3971 | |||
| fc5568a046 | |||
| 590e9ec24e | |||
| 984a4a156b | |||
| 04afb4cfca | |||
| cfa527e19a | |||
| 572f75fe9e | |||
| 81eda94fe0 | |||
| 8f02dfbee4 | |||
| 75e1447a54 | |||
| aa6877c235 | |||
| 23332e1424 | |||
| fc2ffc6a62 | |||
| e5f79bf7e7 | |||
| d8f9886f82 | |||
| 51c5c831ee | |||
| 3279c4e2af | |||
| 6f070e6998 | |||
| df4bfcc955 | |||
| c1983cf73c | |||
| da9bbd0b1c | |||
| cd84d3e9a8 | |||
| e79d80c2d3 | |||
| 595f4a8797 | |||
| 388f08a02f | |||
| c562735661 | |||
| ab137ad828 | |||
| b56f209084 | |||
| ae5c2c1b5a | |||
| bddb6e2bac | |||
| 5107897888 | |||
| d91eaf3412 | |||
| caa6a7cd75 | |||
| 567b288e4d | |||
| 7cfb0879af | |||
| ed4485a536 | |||
| 1db13de61d | |||
| 12388a6175 | |||
| 86121bfa93 | |||
| 669a38732f | |||
| e3e7a7d7c6 | |||
| a5a1febc0e | |||
| 0c77af962f | |||
| 4374dc243c | |||
| 26ee5c5fea | |||
| f4d2e12073 | |||
| 75914ab9c9 | |||
| d1976f3e21 | |||
| 5ef5c4b28a | |||
| 8acb8a04db | |||
| 05a5b3d6a3 | |||
| e889f1e264 | |||
| 40d9370e3a | |||
| 2c3d4bbc22 | |||
| fd8bb8e7da | |||
| 60a088a7f4 | |||
| 8ca5207a58 | |||
| 9c3e4f0481 | |||
| b93f5e5fa5 | |||
| 87b45c6c27 | |||
| 20f425354f | |||
| 805e939c43 | |||
| b9bfdb3b44 | |||
| acfe51e83a | |||
| f2cc31e08a | |||
| e541031efe | |||
| d4b220d1e6 | |||
| e2a4a1ad67 | |||
| 136aa3bd9a | |||
| 6780f899d3 | |||
| 0e46e5fae3 | |||
| 798835cb4c | |||
| ba72284c87 | |||
| 603c5dd8b7 | |||
| 43fc8be493 | |||
| e35284f724 | |||
| b9de3e8b27 | |||
| 825eaaf840 | |||
| 22bace2402 | |||
| 3b86460f48 | |||
| ddac54b513 | |||
| f1790c2595 | |||
| dafec91aff | |||
| d818994e3a | |||
| a385b01584 | |||
| dec9f25c15 | |||
| 0f3cb16ef9 | |||
| 7920166110 | |||
| fdf719982f | |||
| 5d09453c39 | |||
| f71d4e56e6 | |||
| e6f4cc9d6d | |||
| 13d9c40119 | |||
| 1d7125a821 | |||
| deb4d77203 | |||
| cf2f9e5ffd | |||
| 1f5a628eb1 | |||
| 520a1cb07a | |||
| c620e9cb96 | |||
| 6ef4961074 | |||
| 01b91adc61 | |||
| db3641668a | |||
| 4d81b24fd4 | |||
| 8f420111fc | |||
| a20470c0f9 | |||
| 31cee18b37 | |||
| ca9c62bc80 | |||
| dd2c19f12a | |||
| 36b6ba7ddd | |||
| 3b3ab8e7c5 | |||
| 688a8e4bad | |||
| 12796b11e5 | |||
| f7dc857587 | |||
| 404716d269 | |||
| aa1c3b877d | |||
| 65e7d26655 | |||
| 3ade0879f5 | |||
| 4d267acad4 | |||
| 7c90a9b2fd | |||
| f99c0e5514 | |||
| babc0d1736 | |||
| 704caa3ab2 | |||
| 63552f6314 | |||
| 60c3dd4eca | |||
| 6776a1e521 | |||
| 7d130ae1eb | |||
| 25e3a5ddc4 | |||
| d44b726a66 | |||
| 3d3113d2bf | |||
| e917b2a413 | |||
| 96f827b692 | |||
| a41c09e980 | |||
| 7961508de3 | |||
| 3dcfe4773c | |||
| cc8b7de428 | |||
| 4bf1b2a1e9 | |||
| 5e7af4ced4 | |||
| b8bb20ce0d | |||
| b0567e4eaa | |||
| b7e74d9bdc | |||
| fd88e5cd64 | |||
| 370c0b47bd | |||
| 04071f3bad | |||
| 4901097f99 | |||
| 6e02aec5e0 | |||
| f1c304eaeb | |||
| 7b3fde1d71 | |||
| 3c337fc138 | |||
| 548cdd562a | |||
| 70a819ec83 | |||
| afd7ae25f3 | |||
| 74b3613555 | |||
| 1f1011e628 | |||
| 3a8debdbc4 | |||
| 143b8a5bda | |||
| d32c96818e | |||
| 20bc5c6da2 | |||
| cfc19b00f0 | |||
| c2d82d0806 | |||
| ae86a5cde8 | |||
| 0a55c644d7 | |||
| 417172b31c | |||
| bae4d1acac | |||
| d5a86327d8 | |||
| fef03ebfbc | |||
| 021f6974f1 | |||
| 448f361cd3 | |||
| 7aa5960f87 | |||
| 92abfe1da4 | |||
| 6338c1dfa6 | |||
| 657d85be86 | |||
| 205ba184d3 | |||
| f759b20f96 | |||
| c845689ec8 | |||
| 4479779e4a | |||
| a35b3b7fc4 | |||
| 5b31e2c6a9 | |||
| 6365cbfd5b | |||
| 9dbfa812c1 | |||
| 97c907c992 | |||
| caed709b64 | |||
| 2eb637e4bd | |||
| de91c7a8ec | |||
| 13800eecab | |||
| c9bfd52586 | |||
| c4357f662c | |||
| 67a8ca94db | |||
| 0bfd56c011 | |||
| eead844ac1 | |||
| 65cfadcb6e | |||
| 00067ca1c9 | |||
| 73ca8bb366 | |||
| 3ffdb2c220 | |||
| f3113a423c | |||
| a5479595c7 | |||
| 27e368f780 | |||
| e530c0dda9 | |||
| a3fbbb6dcc | |||
| d3931a116a | |||
| 189c11c27f | |||
| cff971bef8 | |||
| a5d3388665 | |||
| 22ad23c5b7 | |||
| b1d5e10db4 | |||
| 75662bd8ae | |||
| 763c96c7dc | |||
| 178b458030 | |||
| bde41d21be | |||
| 9d8228419c | |||
| ad7d9059c0 | |||
| 4831a7ce19 | |||
| 552b82feda | |||
| 6d62a7b10e | |||
| 667f4aea74 | |||
| f80225b7bf | |||
| 7a02e1d8ad | |||
| 9cc70f4ee6 | |||
| 7c4c5da1d6 | |||
| b960b6319a | |||
| 08ddaa7a11 | |||
| bcce40094c | |||
| 960388adf8 | |||
| e76722018f | |||
| 917a810a59 | |||
| b69a053323 | |||
| fc30017021 | |||
| e1dd4f2140 | |||
| 67a0679de7 | |||
| dfc87f7aec | |||
| 4da012b33c | |||
| c5ae374854 | |||
| 886ef6ba08 | |||
| fe77f90a7a | |||
| 7a1f0d6cf6 | |||
| 004bc3b926 | |||
| d1b9e22673 | |||
| 6edeba3246 | |||
| 5a0b45c6f9 | |||
| be5ebb89d7 | |||
| f81d61c4c5 | |||
| 634bc502ce | |||
| 7f9ebb3bc9 | |||
| 20783026b8 | |||
| 99fb9f1d6a | |||
| 86632940eb | |||
| d13dbf1ad3 | |||
| 2f9ee642da | |||
| afecc11364 | |||
| 53168632e7 | |||
| 06f59bfaaa | |||
| c83f75c5e4 | |||
| 185246597b | |||
| b33d566abd | |||
| 141147aee1 | |||
| 525570d918 | |||
| 49b4039bbe | |||
| 7a99df44c9 | |||
| 81ce09e605 | |||
| 67936a3787 | |||
| 69d880b587 | |||
| aeadea42e1 | |||
| f5c3dcfdc9 | |||
| 9bf0dacda6 | |||
| d30af1e2a6 | |||
| 71a18e9ffa | |||
| f4c64e5f04 | |||
| d54939d058 | |||
| a8674cb31e | |||
| 40e1fb4f83 | |||
| f3f0fd8fd8 | |||
| ed53b9e3b4 | |||
| 37ac05b8ab | |||
| d9070ee5fb | |||
| b3afc404f0 | |||
| 168c4e4fb7 | |||
| 1991be79d6 | |||
| c2a2983606 | |||
| 9866d5c4fd | |||
| 823d0d7a33 | |||
| 5b07ff5efa | |||
| c5639a643a | |||
| 012f75198b | |||
| ee3728436c | |||
| ed5c6c6b2f | |||
| d7e0e858d2 | |||
| 339a5e5b68 | |||
| 02a13911d8 | |||
| b6f51971f1 | |||
| 57079c0062 | |||
| 63c353a83c | |||
| c069d21cbf | |||
| afeb9ecc23 | |||
| 2ff8d80da3 | |||
| 891e2641fa | |||
| ca79107809 | |||
| 5c37b986ce | |||
| c426250cd5 | |||
| f090c11146 | |||
| 5c90f22a49 | |||
| f1ddaa1fca | |||
| 8490553a32 | |||
| 66824fccb1 | |||
| 9c6c17ffa3 | |||
| 39dce4d23f | |||
| c1dbbde905 | |||
| 8d2d0ad195 | |||
| 927b14c9fc | |||
| f342cd0e5f | |||
| c287852ce6 | |||
| c823692a72 | |||
| 1fe4437163 | |||
| 4500696bcd | |||
| 17b0454f8b | |||
| b9bbbabc5c | |||
| 4633a54152 | |||
| 5dbb03531d | |||
| edc9470e9b | |||
| 7adeee589e | |||
| 52a393c260 | |||
| 60a405536c | |||
| 5f5117c0f6 | |||
| 0740faa964 | |||
| 2f40302791 | |||
| 13b3d5e63b | |||
| 5e00329292 | |||
| 58521997c1 | |||
| 6b24111b39 | |||
| c2fe657bcf | |||
| af64ca04f9 | |||
| ad026cbd6b | |||
| 5481e25483 | |||
| c7c151045d | |||
| 1e9d048264 | |||
| 6f202c0c7a | |||
| 94a9690045 | |||
| 2b4aa11021 | |||
| f2d5bb76c5 | |||
| 61dc5fc9a4 | |||
| 3440ecd4f1 | |||
| f6c7d98efa | |||
| e8821b0caf | |||
| 627a0b402b | |||
| ab9353dee6 | |||
| e956895e8c | |||
| 724a63acc1 | |||
| 3a5312d661 | |||
| 06dbae0ac5 | |||
| 603fd59b05 | |||
| ebbd515a34 | |||
| fd89c6394f | |||
| d72f685e01 | |||
| ea1f39a9db | |||
| 518e6f0853 | |||
| ce902cd2be | |||
| fde266922b | |||
| 7bdb9b47f4 | |||
| 68bf6767b9 | |||
| 184d1f759c | |||
| 2a26236d94 | |||
| 71a00ac140 | |||
| f10aaaba6b | |||
| 296675f0b0 | |||
| 7f365be53d | |||
| 0180500e9a | |||
| 9e85204d04 | |||
| d5d80e71e7 | |||
| 73b360f427 | |||
| 722094bc3e | |||
| 645b2cfe5d | |||
| afcaa82069 | |||
| 393bffe14c | |||
| d44b6f00c6 | |||
| de68c3b49f | |||
| 0591b60fad | |||
| a6cebccad9 | |||
| 4186d90a32 | |||
| bb21441c3d | |||
| 12b1b89713 | |||
| 26512f5dc1 | |||
| 4d29e2ab41 | |||
| 40d35bb4df | |||
| 1802ab5a2e | |||
| 6c6fd38482 | |||
| 2e37e874c3 | |||
| c99e32998b | |||
| 22ce078c74 | |||
| a93d80b2e2 | |||
| 1b4df1ecd1 | |||
| ce5ab1cfc2 | |||
| 3ac021d7ef | |||
| fa7d561189 | |||
| 2c59e9beec | |||
| 01af72bd2f | |||
| 2f42958394 | |||
| 4613f13eae | |||
| fba3801994 | |||
| 7ec722fc26 | |||
| 64295d565a | |||
| 2db0027fff | |||
| 71f077a617 | |||
| a80cf53f08 | |||
| 80dac639da | |||
| ff73a124f0 | |||
| a4fcc87088 | |||
| be1b993239 | |||
| 63f9912347 | |||
| b887172032 | |||
| 18937a3315 | |||
| fb6a74aef8 | |||
| cd89ce917e | |||
| 6229a1a4b1 | |||
| eb5ae8443d | |||
| a9028e65d9 | |||
| ba413e4d05 | |||
| 6f759d969d | |||
| 044bcbd852 | |||
| 53ba5a962b | |||
| 6f06eaf0a0 | |||
| 993191c083 | |||
| db178ce991 | |||
| 329d53f8d0 | |||
| 7c35e19ed4 | |||
| 326a3a00b2 | |||
| 086597985b | |||
| c3c3d32dfe | |||
| 1756124b89 | |||
| 5bc3619d6b | |||
| 7ec04ac8da | |||
| 8d93f3bb61 | |||
| b31ea475c6 | |||
| a7e8ec4d99 | |||
| 677ee127ff | |||
| d238cb1d88 | |||
| a02035e9b8 | |||
| b61948dac3 | |||
| deee26d55b | |||
| 00443b46c8 | |||
| 5694d8bd1c | |||
| e5a4cf59c4 | |||
| 9228eaf01b | |||
| 51f9e1f58c | |||
| 6747ee077b | |||
| e11e270101 | |||
| 12fe5059a6 | |||
| e75121b0bd | |||
| 0312f972bc | |||
| 9d48fec426 | |||
| 645045b492 | |||
| 1988fae4f9 | |||
| 6c621d5ca8 | |||
| b8c8a9d8ea | |||
| bc27355ed6 | |||
| 078d9af116 | |||
| 9b14e1186e | |||
| 779c606c2a | |||
| 002e855d82 | |||
| 1c6de11e04 | |||
| 581e56a245 | |||
| 7f468e19bd | |||
| e8a511d49e | |||
| 1988ad993f | |||
| 6105c44dab | |||
| d3b7cd8cd6 | |||
| ce3dfca6e0 | |||
| 706878b1e4 | |||
| 6c59e22101 | |||
| 36c48f28d1 | |||
| 93b18531ab | |||
| 27edd84442 | |||
| e24e6858fb | |||
| 2d48f6687c | |||
| fa10973626 | |||
| 521e2fe62b | |||
| 7e7938ea1a | |||
| 4fe48bd02a | |||
| f26bc28ba1 | |||
| aaf8b96070 | |||
| c5720059f3 | |||
| 361faf235d | |||
| f85f5d63a6 | |||
| 526bc11626 | |||
| 95d73b5bc5 | |||
| 73e0f03886 | |||
| 91bc82ed16 | |||
| c6a30588e6 | |||
| 26c09c02ab | |||
| c34e6723d8 | |||
| bf2a039700 | |||
| cebe5afd0a | |||
| 2e8e4c0ccc | |||
| 1c5c8c61cf | |||
| 726d9fd29c | |||
| d7eeeeeac2 | |||
| ee72f8364e | |||
| a95ff0b0e5 | |||
| 57ced048a0 | |||
| ca545e2d44 | |||
| 0b777137d5 | |||
| d19f4de424 | |||
| 56d509b07b | |||
| fe3a9d84d5 | |||
| dc38311125 | |||
| bce8f2a8b7 | |||
| 13ec0c745e | |||
| b5f7e12f5a | |||
| 90e8ff128c | |||
| 998b1057e0 | |||
| d4a7dee121 | |||
| e85e05a526 | |||
| 7f953e78cf | |||
| 8b536eb0b0 | |||
| f390548d66 | |||
| c6a2b8c6ea | |||
| a046e31412 | |||
| 716f6d4daa | |||
| 9b451ff1bc | |||
| 6d48182d90 | |||
| e3d8defa5b | |||
| dc24b43311 | |||
| 75f55ebd44 | |||
| 09cebb1c7e | |||
| 9dc0935cc1 | |||
| 5bfd695f2d | |||
| 8e0b05b6af | |||
| ddc441e76e | |||
| 20602cadb5 | |||
| 416ac0a2a5 | |||
| 49933c8493 | |||
| b1bc72a1a5 | |||
| c498a373f5 | |||
| bd04d6263e | |||
| fbe9244000 | |||
| 6e52a3c0c7 | |||
| 9f92274720 | |||
| 6d431bb251 | |||
| 5265b949af | |||
| db875491d0 | |||
| 778fdff69a | |||
| 4b54aa3c02 | |||
| 019688a5cc | |||
| 00fc3a59eb | |||
| e5244e75a3 | |||
| cb77c21656 | |||
| 7b0f7f16ba | |||
| e23446654d | |||
| b3641534c9 | |||
| a3a5f65e53 | |||
| d5c0f388db | |||
| 8ae3820aa2 | |||
| ac6f64d494 | |||
| 9d001f8896 | |||
| 24e9cffeea | |||
| b0f2763a85 | |||
| cc343c296f | |||
| bc9b60b0ac | |||
| 856592e1fe | |||
| cd28d01354 | |||
| 653cd3fd75 | |||
| 73b1a77a12 | |||
| 777d6a3c5b | |||
| 98f520427e | |||
| 403f2ec57c | |||
| e69d99fdf1 | |||
| b48b2fbac9 | |||
| 00515aaf9b | |||
| e70d5697c3 | |||
| fb6d206203 | |||
| d3a9c87d14 | |||
| 39841f6b0d | |||
| 7ed3b421a1 | |||
| 3b5eb32190 | |||
| be31b87eac | |||
| 3d341ac99d | |||
| 9df1c37ee9 | |||
| 385a28c29b | |||
| e26568cdf1 | |||
| 191953a003 | |||
| 47143fe97d | |||
| 387ce6a555 | |||
| 47ff01805c | |||
| 0e24f7188c | |||
| 8b3d1f2a2e | |||
| dcdc823b5f | |||
| 7201e5c8f8 | |||
| 929c52b94c | |||
| 2adfda5f30 | |||
| 421accaf15 | |||
| 574ad6176b | |||
| 290d737ff7 | |||
| 4b0fbd0b6b | |||
| 6327089a55 | |||
| 807c3a8cde | |||
| 665c261b9a | |||
| bdd6f21522 | |||
| 482243ceff | |||
| 9890fbfec0 | |||
| 2a0465dc0f | |||
| 3ebe311728 | |||
| 95a51ecc7a | |||
| 342753aeac | |||
| 2b467f56d7 | |||
| a27db0ab68 | |||
| 845a4c8faa | |||
| 7b9959e68d | |||
| 0328ebad85 | |||
| 77c5252bf6 | |||
| c42a597bb4 | |||
| b40781db84 | |||
| f5a0bf67c8 | |||
| 044d60fb66 | |||
| 7999e98bd9 | |||
| 7c14688ef3 | |||
| 8039d1942d | |||
| 6c8fd2518e | |||
| 03e2f4390b | |||
| 08656ae276 | |||
| 9f2ba56c59 | |||
| 34e1ba8f95 | |||
| 4e95f4f9c9 | |||
| 7ee59ea814 | |||
| 1463510b08 | |||
| a771335ff1 | |||
| 7b1f58412a | |||
| d897c83165 | |||
| 44b9bc3fc1 | |||
| fa95ed1391 | |||
| 26ca580ba4 | |||
| f65e69b745 | |||
| 5a147fb0de | |||
| 64e38ce05a | |||
| 6c79a1781d | |||
| 6177d84131 | |||
| c6975badce | |||
| c548c6484f | |||
| 9aae16521f | |||
| 559ff4e94c | |||
| 7b11f503d8 | |||
| bc788c3a34 | |||
| f936c71188 | |||
| 25a7982a87 | |||
| 74a3749e44 | |||
| 074fb10b44 | |||
| 4f490eb737 | |||
| 2b981b6c40 | |||
| bec80d980f | |||
| 8a5c8f5c94 | |||
| da301ec6b2 | |||
| a5a9cb1c50 | |||
| cef74ab71f | |||
| 3f647952c0 | |||
| 9bf55aae85 | |||
| f9a31faa78 | |||
| 9a643837d4 | |||
| f458a52b18 | |||
| 132437d134 | |||
| 022841c195 | |||
| bdbecfb037 | |||
| 1a501af172 | |||
| fe558a8be8 | |||
| 05d930d8f7 | |||
| 267aa85e01 | |||
| 89a98cac8b | |||
| efc052d622 | |||
| 6f61f3af9b | |||
| e7d06c9752 | |||
| 81e3c70960 | |||
| 76a0fe9b6f | |||
| a9bab6db56 | |||
| 85197c1f9b | |||
| ece434806f | |||
| 0962192144 | |||
| 38139a1ec9 | |||
| 56e5603256 | |||
| b5c2efa9e2 | |||
| 26f9f0e16c | |||
| 9abba0ce82 | |||
| c616a9d31a | |||
| e45a980ce3 | |||
| 91bca90e5d | |||
| c5d09b0d8b | |||
| 46c9fa184d | |||
| 3a31fba1b4 | |||
| 6cded1d2d1 | |||
| 027d0e891b | |||
| 0da31ef866 | |||
| 56f14c064e | |||
| 09c929803f | |||
| 93abea0823 | |||
| 5c5216e207 | |||
| 7a20ff6ddc | |||
| 048b7d7f56 | |||
| f009726cf0 | |||
| fb213cbdbb | |||
| 971dcaed87 | |||
| 7b132def2a | |||
| 998dc54292 | |||
| 157eaf8760 | |||
| 10ffcf7806 | |||
| 392dd18338 | |||
| d4c7cdf400 | |||
| cde96ae694 | |||
| e49d35fdbc | |||
| 55db6d362d | |||
| 925cb6ae07 | |||
| c4f1d53199 | |||
| e18ac7a390 | |||
| cc454aea1a | |||
| 5cf275e43c | |||
| 53fe1db488 | |||
| 64082fc5ee | |||
| f9c642ad13 | |||
| bd7edf2357 | |||
| b7605bd28c | |||
| ad01283511 | |||
| adeab93b17 | |||
| 51480c2b06 | |||
| d04b3797ce | |||
| 518a00becf | |||
| c808cf7ce3 | |||
| 8cb488d81f | |||
| ed3f84d0ea | |||
| d9b02c4402 | |||
| 23522c9370 | |||
| f79b40c574 | |||
| 835915b46a | |||
| e643f25aa3 | |||
| 230a32139d | |||
| b0272cd9e0 | |||
| fa9947f22b | |||
| 5d3bb333e1 | |||
| 9f7085dfed | |||
| 95f765756c | |||
| a846ec00d7 | |||
| 6edc1917e1 | |||
| 1b864253b5 | |||
| f212987547 | |||
| 76f9c7030b | |||
| 05bc6e3fbe | |||
| 38dc5e134c | |||
| 76cf6c7d66 | |||
| 21100d517c | |||
| 37f83cd642 | |||
| f29f832387 | |||
| dd523ed6d8 | |||
| 879cfc5f7e | |||
| 83a6dd29f2 | |||
| cc85d83267 | |||
| 5d427a258e | |||
| 75e0a13f10 | |||
| 0862727176 | |||
| 6c02fcc9d5 | |||
| cd38c1b301 | |||
| c822f14a10 | |||
| 76683cb80c | |||
| 3041498ff1 | |||
| 66e0ce15cb | |||
| e12da84fa3 | |||
| bd4f28eb6d | |||
| c25b2e6cb5 | |||
| b86a1eb1bd | |||
| a9b5483005 | |||
| 29c181cff1 | |||
| 614da5ec5a | |||
| 5342f96076 | |||
| 479950df14 | |||
| 51fa32d48d | |||
| e491c56f3f | |||
| 5c505e2fe1 | |||
| 67e88d01e7 | |||
| 9454614af6 | |||
| 535a095b0a | |||
| c6457ccf1c | |||
| 3f470df462 | |||
| af5c5338b7 | |||
| e832db3214 | |||
| 8b432d1b19 | |||
| d33eb81968 | |||
| be60cdb971 | |||
| 062f877777 | |||
| 5187564250 | |||
| fc22c119f6 | |||
| dd8b696862 | |||
| 99a5e162de | |||
| 84dcf30aac | |||
| 388c0641cf | |||
| 40f2c86eec | |||
| 34bd0109c0 | |||
| b4199f38aa | |||
| 299e066436 | |||
| 0098fdaf5a | |||
| 76d26765ef | |||
| c5b6e80aaf | |||
| a1b3517b07 | |||
| bd3fdd9ab1 | |||
| 377950c978 | |||
| d17e528158 | |||
| a0c9c40ab5 | |||
| 175f9e226b | |||
| 5f2a2d96e9 | |||
| 3a167befae | |||
| 364c627f2d | |||
| c0a9477000 | |||
| f1f56b97d6 | |||
| 4a79b6c1bf | |||
| 3fddb6bcf7 | |||
| 435b6d753a | |||
| f0e1cf7f0b | |||
| 7049552f16 | |||
| 4e53189d56 | |||
| 9aa38b6fca | |||
| 5745d249f0 | |||
| 089ca061a7 | |||
| 725372befe | |||
| 6a84828506 | |||
| 1c0dc8c6f2 | |||
| 59350f768e | |||
| 0ebcf934ff | |||
| 20c934a28e | |||
| b6abeee972 | |||
| 7ecf9e4807 | |||
| 8030a90e8e | |||
| 61810c44c7 | |||
| d64bc584f0 | |||
| 4f4dea9097 | |||
| 707c852377 | |||
| 0ae1ac87d5 | |||
| f03fe78ed3 | |||
| 77cf6ac4db | |||
| 48d1a34c52 | |||
| 258f150dbb | |||
| 14783dfef5 | |||
| e62e5d11f0 | |||
| 648d908e95 | |||
| db3eb1b062 | |||
| fb2bed2dbf | |||
| f45010650a | |||
| 6022cfea1f | |||
| 1ceb8c9cf9 | |||
| 3c86db62c0 | |||
| 49687efc16 | |||
| 62835878a6 | |||
| 02cd92f2dd | |||
| 1014043c53 | |||
| bd087fbf73 | |||
| 12a1ce1654 | |||
| fbb7d414f1 | |||
| a09ed92945 | |||
| 0194a5a49d | |||
| 112110e10f | |||
| 8045d8b4e9 | |||
| d839d94d34 | |||
| 5728481a94 | |||
| 4b1632c265 | |||
| b95863d66d | |||
| 2e360e8104 | |||
| 7c52a692e3 | |||
| 17e3b8856c | |||
| 550cf3506e | |||
| 243d0d1d30 | |||
| 98649e3a42 | |||
| 9dabbee1c7 | |||
| 1c9f4de437 | |||
| b6bd8d5e01 | |||
| 502ff6f684 | |||
| 50e58446b4 | |||
| f8df1ffa96 | |||
| adf80ae3f5 | |||
| d81f623ee6 | |||
| 84c6b7099b | |||
| 965a60b6e8 | |||
| 4ba1b847e7 | |||
| f5ad8e8b64 | |||
| 4863b31bb6 | |||
| 8411b0fc17 | |||
| 6541f17555 | |||
| 143a6c9e9c | |||
| 8ef216318e | |||
| 946d3e6593 | |||
| 0bdc3a0638 | |||
| 49782755bc | |||
| 2c5fb3ba48 | |||
| bf732a1182 | |||
| a73ecc1e81 | |||
| 818351f1d0 | |||
| 27577d10cf | |||
| 09dd2ef31e | |||
| 86507d41c7 | |||
| ea6585152c | |||
| 01d7e433b5 | |||
| 185288b221 | |||
| ba35a6b32d | |||
| 04838ce08f | |||
| 7c936bc387 | |||
| 6c30400aa9 | |||
| 03aa2b17ac | |||
| 8c24f5f025 | |||
| 7f9524e0b2 | |||
| e6b50ef7da | |||
| 2275db39b3 | |||
| 3a3680b2b2 | |||
| 2189acce5a | |||
| 4a4e290a9c | |||
| 1d92759653 | |||
| bc9f4121ef | |||
| cc54c6decb | |||
| c592ba0795 | |||
| 09d009bcc5 | |||
| 95bc3031df | |||
| 0aca5df3fe | |||
| 2ce2b8b25c | |||
| bea30a5400 | |||
| d520e18a30 | |||
| ebc0d22e9f | |||
| 19122ed637 | |||
| 138500a16f | |||
| 8d93da11b1 | |||
| 9db04fcd02 | |||
| 70b2fbd47b | |||
| 9361d786b4 | |||
| c7db59b70f | |||
| 1008e2aece | |||
| d2703fd495 | |||
| 68f576fb93 | |||
| 69758da7e2 | |||
| b832a593f4 | |||
| c115a6f9f1 | |||
| 35210db708 | |||
| 51728a8103 | |||
| 3961721241 | |||
| 5d5ca02c16 | |||
| be8739c167 | |||
| 8c6b19a064 | |||
| 8751b7c698 | |||
| 42b16975d6 | |||
| 23da1b3e94 | |||
| d003a0322e | |||
| 1e129d1ea9 | |||
| a7dbe55ad2 | |||
| 99f21b19f1 | |||
| eeb06e105e | |||
| 5988667944 | |||
| 77e3d00bef | |||
| 4b475ef1e5 | |||
| 1ec0611e2a | |||
| bd81385cac | |||
| 6dbcdb0475 | |||
| e1fddc8682 | |||
| a046f736b0 | |||
| 696ea31d7d | |||
| 3d9e33464a | |||
| ab74a9cbad | |||
| d56dcc0ed2 | |||
| 7e73aceeb7 | |||
| d63c80d6b7 | |||
| bc9016cf93 | |||
| ff128a1de2 | |||
| fa6ad5a150 | |||
| a8aaf69c57 | |||
| 9c86598f03 | |||
| 031cbc8d0a | |||
| df63fbe4af | |||
| 1372e831f7 | |||
| c31700d9cb | |||
| e6ecebd49a | |||
| dfec2f2bd3 | |||
| 3d425b6b02 | |||
| 318a8f645e | |||
| 8ec314044f | |||
| 2965b18a5f | |||
| 24f6341ff6 | |||
| 589a179a1b | |||
| afc2aef691 | |||
| 19e4a14c95 | |||
| 8237466adf | |||
| 3c1471ee8d | |||
| 099d5fa54d | |||
| 8b04f3e696 | |||
| 04ef20c69a | |||
| d08ec43d29 | |||
| 64e5200912 | |||
| 9e79653769 | |||
| 1fee2c901a | |||
| 3713bb5e49 | |||
| fdeb98b82a | |||
| 3e68dd2d36 | |||
| 1a964d7a97 | |||
| 43df6fc9f5 | |||
| 10f7ecd79b | |||
| 9a60b1ff86 | |||
| 386d51ffd7 | |||
| d3804a4601 | |||
| 04720c1d97 | |||
| 0826aa0445 | |||
| 7ceb51a54b | |||
| e8351ca75b | |||
| f8ceb1fb2d | |||
| 4ef49f3523 | |||
| 21ed15a2ea | |||
| aacec1dfde | |||
| ac7e0443a6 | |||
| 4bbb0d5cbb | |||
| 05c28d62d8 | |||
| bf2ac81ab8 | |||
| 17a78ef044 | |||
| 3c78c2787a | |||
| c7358b536e | |||
| 4f9fe14f7e | |||
| 0934765176 | |||
| b7d3cb18b9 | |||
| 227c67dc23 | |||
| da3c9eae6e | |||
| bf37a1acaf | |||
| 2a8974e9c6 | |||
| c34d7dc777 | |||
| 461a2f705e | |||
| 705dd96a0e | |||
| 10128a1bae | |||
| 54d40ca06e | |||
| e4aa2d19d9 | |||
| 6251c0f1ac | |||
| 3caed63b7f | |||
| 75bc046cf5 | |||
| 97d27b047d | |||
| 44e00f4f98 | |||
| 81b053ee06 | |||
| f1b5a7ec1b | |||
| 2d4211d329 | |||
| c5ba78eeda | |||
| 1faaef7062 | |||
| 762c5fd5b5 | |||
| 9af5970ec7 | |||
| 3a5836ba4b | |||
| 72b0e29ae6 | |||
| e0cc802b62 | |||
| 2d4d9cef4e | |||
| 4a8a21b970 | |||
| 5103a53c11 | |||
| 11c4cba70c | |||
| b1dba20973 | |||
| 920c22083b | |||
| f9230ac341 | |||
| 6344c4b77d | |||
| d4c111dedc | |||
| 65dda1d5c0 | |||
| 4a7406fda1 | |||
| ef17e7a0c7 | |||
| c45850555e | |||
| 303690eed2 | |||
| ae62b26edf | |||
| 2e39754c20 | |||
| 0ae6bbcd96 | |||
| 529455931d | |||
| 46d0510ed8 | |||
| b02e12d76e | |||
| c6bbde2b67 | |||
| cfbb27a67b | |||
| 35283fc11b | |||
| c3d62f88b4 | |||
| fc8469bf07 | |||
| 400f1440db | |||
| ad12e7e65b | |||
| a63e3817b5 | |||
| cbd772bf7e | |||
| e90bd46a42 | |||
| 96bd5d516c | |||
| d9306e13c2 | |||
| fc80baeaee | |||
| c0b49b68f7 | |||
| 73242bc208 | |||
| d4b60a51bd | |||
| 1bc687c79a | |||
| 3a6b0949d4 | |||
| bfc03a4ef9 | |||
| 4dfa796790 | |||
| f0db805c84 | |||
| 0cc742e103 | |||
| d01319c417 | |||
| c0b9496041 | |||
| d4e7832f80 | |||
| cb4f9e68f5 | |||
| ac4a5b1d34 | |||
| 39ebc9d367 | |||
| 7ef0299282 | |||
| 6a998d6605 | |||
| 9eb4b0a621 | |||
| f55080f7ca | |||
| 7fb6109e18 | |||
| f419944699 | |||
| 8de54a504b | |||
| 6f2be2b459 | |||
| fa413aba25 | |||
| ab6eeb91a6 | |||
| 16cbe01157 | |||
| 16cb685bb3 | |||
| 28501c5509 | |||
| 79c4bdad48 | |||
| 68007ebc8e | |||
| c5eec26f8d | |||
| 5c3f8d8717 | |||
| 43aa0f0324 | |||
| 4ab7bf27d7 | |||
| 28f4ac4414 | |||
| 60414c949e | |||
| ff09147968 | |||
| 17e66af99a | |||
| 762ab2719d | |||
| 95f282cd4d | |||
| 029979c463 | |||
| e748161dda | |||
| c2c2a1f984 | |||
| fd13f2f1b4 | |||
| ac6cca1eda | |||
| dc46b36624 | |||
| 42aa655021 | |||
| b89085a9c3 | |||
| 557644f024 | |||
| 258ed9d7ca | |||
| be7d3775cc | |||
| 93ffb191b5 | |||
| 8eb58a4d64 | |||
| 4bc8374ea3 | |||
| f76295c3f6 | |||
| b8486b677f | |||
| 1ad2d9ca9b | |||
| a57eadeab3 | |||
| 1c34b120db | |||
| c6c19ca04b | |||
| 987d667350 | |||
| e704bd1597 | |||
| 0f08d704ac | |||
| b340c2270d | |||
| d3c518b7df | |||
| d8a0594600 | |||
| 7af451724a | |||
| 6cbfb1d81b | |||
| a8c28d7624 | |||
| 3c7792febb | |||
| 4f2dfb82e6 | |||
| cd2c04ad0c | |||
| a1d8e98dfe | |||
| 80fb6737fe | |||
| eadd93dfaf | |||
| 12919613ab | |||
| 7da729205c | |||
| 1bfb734139 | |||
| 09ae517903 | |||
| 0735312c98 | |||
| c31e1ae79a | |||
| 3a9b6a99eb | |||
| 3da92d4630 | |||
| 1d54680db6 | |||
| 384214e084 | |||
| 03dc6e93be | |||
| 2ba4e5d11e | |||
| 78c6e98084 | |||
| 968eed44cb | |||
| ee784b27c6 | |||
| bac849324f | |||
| d823856ac5 | |||
| a49ee430e2 | |||
| d8672e1c22 | |||
| d8c6464830 | |||
| af5d19eb55 | |||
| 8fe0a1fd07 | |||
| b0a7a93f85 | |||
| 10f888b5d5 | |||
| 95807fbfbc | |||
| 4317e083a6 | |||
| 0c54a32e39 | |||
| 62dc62aa99 | |||
| 603fd6ad96 | |||
| 2182a970ac | |||
| 9b823fdca8 | |||
| 904c825472 | |||
| a15d225998 | |||
| 62f8ee61d3 | |||
| e3b8373bb9 | |||
| 0cdbbc096c | |||
| 895c21cee4 | |||
| d541761ac6 | |||
| 1df84ba046 | |||
| 72773deaf1 | |||
| 165568b7e3 | |||
| 3396e295fa | |||
| 0f3f593abd | |||
| df48ea3b32 | |||
| 5e52d83c40 | |||
| 0a71f54814 | |||
| c18828cdda | |||
| 92073fa8bb | |||
| 4131dd7e97 | |||
| 3c4fdea0ec | |||
| 71c73e8cde | |||
| 1a66d4f541 | |||
| d9c33dc5f5 | |||
| 1edcba63aa | |||
| 2566311f96 | |||
| c01cbc1bac | |||
| 9c95b107d5 | |||
| c2e1c048be | |||
| c3bfe70093 | |||
| a6cb8c9c9c | |||
| 5908e076a4 | |||
| 4445e9aff2 | |||
| 9cd0855dcf | |||
| d807ab1f31 | |||
| 69b88b1f6d | |||
| 35f1495ebc | |||
| 7fdc964687 | |||
| 8322303351 | |||
| a7f5f5f505 | |||
| 9b1a00d09c | |||
| 72ebf8f135 | |||
| be58e333b6 | |||
| 42620bd324 | |||
| d4deade046 | |||
| 846393304a | |||
| c3ceae8027 | |||
| 7b4d7db265 | |||
| 1c6cf9a02b | |||
| fd2d4fb47b | |||
| 094f9b68f6 | |||
| be418d3d26 | |||
| 25813a6362 | |||
| 51c5d3a0c7 | |||
| e964220655 | |||
| e493f1796b | |||
| 4882645311 | |||
| 468f1e5b58 | |||
| 79add4f60a | |||
| 975763f400 | |||
| 5eac3f14cc | |||
| bed5b36ade | |||
| 7678ce1a50 | |||
| b3faf38455 | |||
| 283cb59d42 | |||
| 1867ac8742 | |||
| d210e3b3e0 | |||
| 8bb2f48090 | |||
| 15b4d728e6 | |||
| 3018123110 | |||
| b02eaf02a8 | |||
| ad9795a3a3 | |||
| 170411383f | |||
| 9e87130d6c | |||
| 0f6a9cdae2 | |||
| 79ec6430f6 | |||
| 0c46fb09c1 | |||
| 8aad7337bf | |||
| c49197d002 | |||
| 16f611c147 | |||
| 7b623913d8 | |||
| 0a8997f30b | |||
| 702d0a7348 | |||
| f4ae1fbed3 | |||
| 8c0639be9b | |||
| c9ea13a1d2 | |||
| bef5423a06 | |||
| 22b072aff7 | |||
| 50acee47e9 | |||
| ba041d1133 | |||
| 21c26ab3ad | |||
| 5288ad8bb0 | |||
| 0ccff458f7 | |||
| a1c8a52dd2 | |||
| e6e8b22554 | |||
| 9371e5824f | |||
| bda1328dec | |||
| 2030893249 | |||
| fa695ca9a4 | |||
| 8b9c9437ae | |||
| 6f026145ef | |||
| 0744d3713e | |||
| 3275422af8 | |||
| a49aab1fb0 | |||
| e25cc9e825 | |||
| 92e9529cc5 | |||
| 7990f38c37 | |||
| 134dff5aba | |||
| 0c359e5110 | |||
| 7b913e607e | |||
| ee5d30ff80 | |||
| 6c41506a97 | |||
| ab14d6736c | |||
| b6c82c869e | |||
| f3f04e9473 | |||
| ef753f9bcd | |||
| e764ad1148 | |||
| 82cc4f989c | |||
| 650d1670de | |||
| 6ca7943d78 | |||
| 013646eae3 | |||
| 341359d871 | |||
| 545081444c | |||
| b35819c9c9 | |||
| ec44275e41 | |||
| f5d78edfd1 | |||
| 9390cd0320 | |||
| ca448542c3 | |||
| 9d3f6f73d9 | |||
| ee35a14518 | |||
| b7bb6ad6ac | |||
| 011deafb90 | |||
| 214d98f181 | |||
| dfa2a1106e | |||
| 08841537f5 | |||
| 21cf03a50b | |||
| 356b146e3d | |||
| a4c9b0cd3a | |||
| 882c95bd85 | |||
| 04772057c1 | |||
| c72037783f | |||
| 5e5f2b7889 | |||
| 226ce27a5c | |||
| 2e90c33854 | |||
| d4fbd7b45f | |||
| be70e75f44 | |||
| 41c5fa52b5 | |||
| f50400bcb7 | |||
| 9a8322adcc | |||
| feb79ff95d | |||
| 4634f2ce9c | |||
| 77a6856843 | |||
| 302ea697e1 | |||
| ae8db5791e | |||
| f967514f97 | |||
| 1512cb7de9 | |||
| bad3e58fbd | |||
| 75e79394f2 | |||
| b127130bc7 | |||
| 9b5beeb028 | |||
| fd95f18200 | |||
| 92d1331630 | |||
| 8216c19338 | |||
| d97d1f1597 | |||
| 52b99f084a | |||
| a3598fab56 | |||
| 7dc77bf1f9 | |||
| 66f2bda370 | |||
| 600258228b | |||
| 19cc9f5016 | |||
| 0dcb8c6af4 | |||
| 9974deaf69 | |||
| fe081897e7 | |||
| b0de2dda40 | |||
| dda288d709 | |||
| f6fdc45e1a | |||
| 5e88833039 | |||
| 2c521c5f96 | |||
| 8530309244 | |||
| 57dd0cef76 | |||
| 8df31407ac | |||
| 8134a64a43 | |||
| 0c2fd117d5 | |||
| d2b5fe917d | |||
| 3de49545b7 | |||
| 7163d91c53 | |||
| b8b3d2f2bb | |||
| 7555e3d90f | |||
| 46e438e0e9 | |||
| 439eada61b | |||
| 48548b7c92 | |||
| 79afe0155b | |||
| 730dabc2bb | |||
| 44255f08b4 | |||
| fb23009fcc | |||
| c0310e492f | |||
| bf1fc455e1 | |||
| c7c2700dbe | |||
| c89e4869ef | |||
| 5e147c9d96 | |||
| 95fc680823 | |||
| 3cd1b8eb9f | |||
| ca04b87a8e | |||
| 10ab47a1b7 | |||
| fdaa2b7f21 | |||
| e9b179ca7f | |||
| 04d811af93 | |||
| cb2421f263 | |||
| 16a565fc51 | |||
| f68691df6b | |||
| f4f7f4a6f0 | |||
| b129bb51c6 | |||
| 8c80918521 | |||
| e8dea4cef0 | |||
| b51bf1d9cb | |||
| 3c25e223ab | |||
| 16d9f2f6ff | |||
| fd3dfb9afe | |||
| 2916d2b5d0 | |||
| dac12905ef | |||
| bf56c8e4c7 | |||
| 7272e3e541 | |||
| 020c99e700 | |||
| 12a9610e7a | |||
| 0e6f4a7892 | |||
| f8c0852cb7 | |||
| ee48e7e2a4 | |||
| 821099c037 | |||
| 9a6211fc46 | |||
| ee8abe3ea8 | |||
| 654a9e0161 | |||
| 076c84c119 | |||
| 6fa80a5485 | |||
| e0ea6b17a1 | |||
| 60978167c2 | |||
| 6a848e081a | |||
| 2960d0d4b4 | |||
| 6b01861a26 | |||
| 5889942ff9 | |||
| 0359ddcc90 | |||
| 8409507dab | |||
| 208653223c | |||
| 62f6e12a86 | |||
| b662929c19 | |||
| 40895eac2f | |||
| dc7e90b2fe | |||
| 5d1f275ebc | |||
| 79192ce337 | |||
| 7f0f6c969a | |||
| e23beddf65 | |||
| 1fd51a4097 | |||
| 5ea124bcf6 | |||
| fa6ab9f58f | |||
| f7806103fb | |||
| 87acc5a4e3 | |||
| 7c49af085d | |||
| 0c3d5bd0f1 | |||
| 37d956bb5c | |||
| fef564b090 | |||
| d1c491ee80 | |||
| 0cd8a3b41f | |||
| f7e4a3d005 | |||
| a22ecb9620 | |||
| 57c22b617e | |||
| 84876bf7c1 | |||
| 2718f0ff2b | |||
| fca325855e | |||
| c6fc287a3f | |||
| 29fd0292e7 | |||
| 90cf83e3cd | |||
| f4c1f1fe34 | |||
| 9e85b9f828 | |||
| a9fd55c01f | |||
| 506a56a1a2 | |||
| c93e29606c | |||
| 4adc40aa90 | |||
| 4842a6091b | |||
| 9faf4123ef | |||
| cdf5b413a2 | |||
| 4dd2ccdb13 | |||
| 56c54d3cde | |||
| 19e2d5b869 | |||
| 0acf023556 | |||
| 71f6dc83fb | |||
| 3479ee2b87 | |||
| 609b9f1852 | |||
| 23c98d9218 | |||
| 57900a9617 | |||
| c3274a4311 | |||
| 356e2562da | |||
| 46c0078331 | |||
| bbc81f3d99 | |||
| 0dd662518e | |||
| 08d332e2c6 | |||
| b9001790be | |||
| d43bd8e659 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -149,3 +149,6 @@ crashlytics.properties
|
||||
crashlytics-build.properties
|
||||
### AndroidStudio Patch ###
|
||||
!/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
copilot.*.xml
|
||||
/.idea/dataSources.xml
|
||||
6
.idea/AndroidProjectSystem.xml
generated
Normal file
6
.idea/AndroidProjectSystem.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AndroidProjectSystem">
|
||||
<option name="providerId" value="com.android.tools.idea.GradleProjectSystem" />
|
||||
</component>
|
||||
</project>
|
||||
41
.idea/appInsightsSettings.xml
generated
Normal file
41
.idea/appInsightsSettings.xml
generated
Normal file
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="AppInsightsSettings">
|
||||
<option name="selectedTabId" value="Firebase Crashlytics" />
|
||||
<option name="tabSettings">
|
||||
<map>
|
||||
<entry key="Android Vitals">
|
||||
<value>
|
||||
<InsightsFilterSettings>
|
||||
<option name="connection">
|
||||
<ConnectionSetting>
|
||||
<option name="appId" value="it.integry.ordify.dulciar" />
|
||||
</ConnectionSetting>
|
||||
</option>
|
||||
<option name="signal" value="SIGNAL_UNSPECIFIED" />
|
||||
<option name="timeIntervalDays" value="SEVEN_DAYS" />
|
||||
<option name="visibilityType" value="ALL" />
|
||||
</InsightsFilterSettings>
|
||||
</value>
|
||||
</entry>
|
||||
<entry key="Firebase Crashlytics">
|
||||
<value>
|
||||
<InsightsFilterSettings>
|
||||
<option name="connection">
|
||||
<ConnectionSetting>
|
||||
<option name="appId" value="it.integry.integrywmsnative" />
|
||||
<option name="mobileSdkAppId" value="1:963231271247:android:6d73ab369f33c450" />
|
||||
<option name="projectId" value="wmsfirebaseproject-64854" />
|
||||
<option name="projectNumber" value="963231271247" />
|
||||
</ConnectionSetting>
|
||||
</option>
|
||||
<option name="signal" value="SIGNAL_UNSPECIFIED" />
|
||||
<option name="timeIntervalDays" value="THIRTY_DAYS" />
|
||||
<option name="visibilityType" value="ALL" />
|
||||
</InsightsFilterSettings>
|
||||
</value>
|
||||
</entry>
|
||||
</map>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
35
.idea/codeStyles/Project.xml
generated
35
.idea/codeStyles/Project.xml
generated
@@ -1,5 +1,40 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<JavaCodeStyleSettings>
|
||||
<option name="IMPORT_LAYOUT_TABLE">
|
||||
<value>
|
||||
<package name="" withSubpackages="true" static="false" module="true" />
|
||||
<package name="android" withSubpackages="true" static="true" />
|
||||
<package name="androidx" withSubpackages="true" static="true" />
|
||||
<package name="com" withSubpackages="true" static="true" />
|
||||
<package name="junit" withSubpackages="true" static="true" />
|
||||
<package name="net" withSubpackages="true" static="true" />
|
||||
<package name="org" withSubpackages="true" static="true" />
|
||||
<package name="java" withSubpackages="true" static="true" />
|
||||
<package name="javax" withSubpackages="true" static="true" />
|
||||
<package name="" withSubpackages="true" static="true" />
|
||||
<emptyLine />
|
||||
<package name="android" withSubpackages="true" static="false" />
|
||||
<emptyLine />
|
||||
<package name="androidx" withSubpackages="true" static="false" />
|
||||
<emptyLine />
|
||||
<package name="com" withSubpackages="true" static="false" />
|
||||
<emptyLine />
|
||||
<package name="junit" withSubpackages="true" static="false" />
|
||||
<emptyLine />
|
||||
<package name="net" withSubpackages="true" static="false" />
|
||||
<emptyLine />
|
||||
<package name="org" withSubpackages="true" static="false" />
|
||||
<emptyLine />
|
||||
<package name="java" withSubpackages="true" static="false" />
|
||||
<emptyLine />
|
||||
<package name="javax" withSubpackages="true" static="false" />
|
||||
<emptyLine />
|
||||
<package name="" withSubpackages="true" static="false" />
|
||||
<emptyLine />
|
||||
</value>
|
||||
</option>
|
||||
</JavaCodeStyleSettings>
|
||||
<JetCodeStyleSettings>
|
||||
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
|
||||
</JetCodeStyleSettings>
|
||||
|
||||
19
.idea/deploymentTargetDropDown.xml
generated
19
.idea/deploymentTargetDropDown.xml
generated
@@ -1,16 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetDropDown">
|
||||
<runningDeviceTargetsSelectedWithDialog>
|
||||
<Target>
|
||||
<type value="RUNNING_DEVICE_TARGET" />
|
||||
<deviceKey>
|
||||
<Key>
|
||||
<type value="SERIAL_NUMBER" />
|
||||
<value value="20119B1E55" />
|
||||
</Key>
|
||||
</deviceKey>
|
||||
</Target>
|
||||
</runningDeviceTargetsSelectedWithDialog>
|
||||
<value>
|
||||
<entry key="Prod_Android.WMS.app">
|
||||
<State />
|
||||
</entry>
|
||||
<entry key="app">
|
||||
<State />
|
||||
</entry>
|
||||
</value>
|
||||
</component>
|
||||
</project>
|
||||
18
.idea/deploymentTargetSelector.xml
generated
Normal file
18
.idea/deploymentTargetSelector.xml
generated
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetSelector">
|
||||
<selectionStates>
|
||||
<SelectionState runConfigName="app">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
<DropdownSelection timestamp="2025-06-10T08:33:51.753564600Z">
|
||||
<Target type="DEFAULT_BOOT">
|
||||
<handle>
|
||||
<DeviceId pluginId="PhysicalDevice" identifier="serial=21088B8EFD" />
|
||||
</handle>
|
||||
</Target>
|
||||
</DropdownSelection>
|
||||
<DialogSelection />
|
||||
</SelectionState>
|
||||
</selectionStates>
|
||||
</component>
|
||||
</project>
|
||||
13
.idea/deviceManager.xml
generated
Normal file
13
.idea/deviceManager.xml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DeviceTable">
|
||||
<option name="columnSorters">
|
||||
<list>
|
||||
<ColumnSorterState>
|
||||
<option name="column" value="Name" />
|
||||
<option name="order" value="ASCENDING" />
|
||||
</ColumnSorterState>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
97
.idea/fileTemplates/Android Activity.java
generated
Normal file
97
.idea/fileTemplates/Android Activity.java
generated
Normal file
@@ -0,0 +1,97 @@
|
||||
#set( $regex = "([a-z])([A-Z]+)")
|
||||
#set( $replacement = "$1_$2")
|
||||
#set( $dashName = $NAME.replaceAll($regex, $replacement).toLowerCase())
|
||||
#set( $variableName = $NAME.replace($NAME.substring(0, 1), $NAME.substring(0, 1).toLowerCase()))
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.content.Intent;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseActivity;
|
||||
|
||||
public class ${NAME}Activity extends BaseActivity {
|
||||
|
||||
/*
|
||||
- Create the following layout resource file [activity_${dashName}.xml]
|
||||
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
|
||||
<data>
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</layout>
|
||||
|
||||
|
||||
|
||||
|
||||
- Create an entry in AndroidManifest.xml
|
||||
Fix the android:name tag with current path
|
||||
|
||||
<activity
|
||||
android:name="${NAME}Activity"
|
||||
android:label="@string/activity_${dashName}_title"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Light" />
|
||||
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@Inject
|
||||
${NAME}ViewModel mViewModel;
|
||||
|
||||
//private Activity${NAME}Binding mBindings;
|
||||
|
||||
//Pass here all external parameters
|
||||
public static void startActivity(Context context) {
|
||||
Intent myIntent = new Intent(context, ${NAME}Activity.class);
|
||||
|
||||
//String keyExtraItem = DataCache.addItem(var);
|
||||
//myIntent.putExtra("keyExtraItem", keyExtraItem);
|
||||
|
||||
context.startActivity(myIntent);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onCreate(@Nullable Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
//mBindings = DataBindingUtil.setContentView(this, R.layout.activity_${dashName});
|
||||
//mBindings.setLifecycleOwner(this);
|
||||
|
||||
|
||||
/*
|
||||
- Add following lines into MainApplicationComponent
|
||||
|
||||
[a] into @Component
|
||||
${NAME}Module.class
|
||||
|
||||
[b] into interface body
|
||||
${NAME}Component.Factory ${variableName}Component();
|
||||
*/
|
||||
MainApplication.appComponent
|
||||
.${variableName}Component()
|
||||
.create()
|
||||
.inject(this);
|
||||
}
|
||||
|
||||
}
|
||||
12
.idea/fileTemplates/Android Activity.java.child.0.java
generated
Normal file
12
.idea/fileTemplates/Android Activity.java.child.0.java
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@Module(subcomponents = ${NAME}Component.class)
|
||||
public class ${NAME}Module {
|
||||
|
||||
@Provides
|
||||
${NAME}ViewModel provides${NAME}ViewModel() {
|
||||
return new ${NAME}ViewModel();
|
||||
}
|
||||
|
||||
}
|
||||
12
.idea/fileTemplates/Android Activity.java.child.1.java
generated
Normal file
12
.idea/fileTemplates/Android Activity.java.child.1.java
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
import dagger.Subcomponent;
|
||||
|
||||
@Subcomponent
|
||||
public interface ${NAME}Component {
|
||||
|
||||
@Subcomponent.Factory
|
||||
interface Factory {
|
||||
${NAME}Component create();
|
||||
}
|
||||
|
||||
void inject(${NAME}Activity ${NAME}Activity);
|
||||
}
|
||||
3
.idea/fileTemplates/Android Activity.java.child.2.java
generated
Normal file
3
.idea/fileTemplates/Android Activity.java.child.2.java
generated
Normal file
@@ -0,0 +1,3 @@
|
||||
public class ${NAME}ViewModel {
|
||||
|
||||
}
|
||||
190
.idea/fileTemplates/Android Dialog.java
generated
Normal file
190
.idea/fileTemplates/Android Dialog.java
generated
Normal file
@@ -0,0 +1,190 @@
|
||||
#set( $regex = "([a-z])([A-Z]+)")
|
||||
#set( $replacement = "$1_$2")
|
||||
#set( $dashName = $NAME.replaceAll($regex, $replacement).toLowerCase())
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.view.LayoutInflater;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseMaterialAlertDialogBuilder;
|
||||
|
||||
public class Dialog${NAME}View extends BaseMaterialAlertDialogBuilder implements DialogInterface.OnShowListener, DialogInterface.OnDismissListener {
|
||||
|
||||
/*
|
||||
Create the following layout resource file [dialog_${dashName}.xml]
|
||||
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical" android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
app:cardCornerRadius="16dp"
|
||||
app:cardElevation="0dp">
|
||||
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingHorizontal="16dp"
|
||||
android:paddingVertical="16dp">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
style="@style/MaterialAlertDialog.Material3.Title.Icon.CenterStacked"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
android:src="@drawable/ic_error_white_24dp"
|
||||
app:tint="?colorPrimary" />
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/title_text"
|
||||
style="@style/MaterialAlertDialog.Material3.Title.Text.CenterStacked"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:text="Title here" />
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/description_text"
|
||||
style="@style/TextAppearance.Material3.BodyMedium"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="Description here" />
|
||||
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
</androidx.cardview.widget.CardView>
|
||||
</layout>
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@Inject
|
||||
Dialog${NAME}ViewModel mViewModel;
|
||||
|
||||
//private Dialog${NAME}Binding mBindings;
|
||||
private Context mContext;
|
||||
|
||||
//Pass here all external parameters
|
||||
public static Dialog${NAME}View newInstance(@NonNull Context context) {
|
||||
return new Dialog${NAME}View(context);
|
||||
}
|
||||
|
||||
/*
|
||||
- Add following lines into MainApplicationComponent
|
||||
|
||||
[a] into @Component
|
||||
Dialog${NAME}Module.class
|
||||
|
||||
[b] into interface body
|
||||
Dialog${NAME}Component.Factory dialog${NAME}Component();
|
||||
*/
|
||||
|
||||
private Dialog${NAME}View(@NonNull Context context) {
|
||||
super(context);
|
||||
this.mContext = context;
|
||||
|
||||
MainApplication.appComponent
|
||||
.dialog${NAME}Component()
|
||||
.create()
|
||||
.inject(this);
|
||||
|
||||
//mBindings = Dialog${NAME}Binding.inflate(LayoutInflater.from(this.mContext), null, false);
|
||||
|
||||
if (context instanceof LifecycleOwner) {
|
||||
//mBindings.setLifecycleOwner((LifecycleOwner) context);
|
||||
}
|
||||
|
||||
setCancelable(true);
|
||||
|
||||
setView(mBindings.getRoot());
|
||||
|
||||
/*
|
||||
setPositiveButton(R.string.ok, (dialog, which) -> {
|
||||
onOk();
|
||||
});
|
||||
|
||||
setNegativeButton(R.string.abort, (dialog, which) -> {
|
||||
onKo();
|
||||
});
|
||||
*/
|
||||
|
||||
//this.setupBarcode();
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public AlertDialog create() {
|
||||
AlertDialog alertDialog = super.create();
|
||||
alertDialog.setCanceledOnTouchOutside(false);
|
||||
alertDialog.setOnShowListener(this);
|
||||
alertDialog.setOnDismissListener(this);
|
||||
return alertDialog;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void onShow(DialogInterface dialogInterface) {
|
||||
//Init here all data or lists
|
||||
//this.initList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDismiss(DialogInterface dialog) {
|
||||
//BarcodeManager.removeCallback(mBarcodeScannerInstanceID);
|
||||
}
|
||||
|
||||
/*
|
||||
private void setupBarcode() {
|
||||
BarcodeManager.enable(mBarcodeScannerInstanceID);
|
||||
|
||||
mBarcodeScannerInstanceID = BarcodeManager.addCallback(new BarcodeCallbackDTO()
|
||||
.setOnScanSuccessful(onScanSuccessfull)
|
||||
.setOnScanFailed(ex -> UtilityExceptions.defaultException(getContext(), ex, false)));
|
||||
|
||||
super.initBarcodeManager(mBarcodeScannerInstanceID);
|
||||
}
|
||||
*/
|
||||
|
||||
public static class Result {
|
||||
private final Object returnData;
|
||||
private final boolean isAborted;
|
||||
|
||||
private Result(Object returnData, boolean isAborted) {
|
||||
this.returnData = returnData;
|
||||
this.isAborted = isAborted;
|
||||
}
|
||||
|
||||
public static Result completed(Object returnData) {
|
||||
return new Result(returnData, false);
|
||||
}
|
||||
|
||||
public static Result aborted() {
|
||||
return new Result(null, true);
|
||||
}
|
||||
|
||||
public boolean isAborted() {
|
||||
return isAborted;
|
||||
}
|
||||
|
||||
public Object getReturnData() {
|
||||
return returnData;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
12
.idea/fileTemplates/Android Dialog.java.child.0.java
generated
Normal file
12
.idea/fileTemplates/Android Dialog.java.child.0.java
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@Module(subcomponents = Dialog${NAME}Component.class)
|
||||
public class Dialog${NAME}Module {
|
||||
|
||||
@Provides
|
||||
Dialog${NAME}ViewModel providesDialog${NAME}ViewModel() {
|
||||
return new Dialog${NAME}ViewModel();
|
||||
}
|
||||
|
||||
}
|
||||
12
.idea/fileTemplates/Android Dialog.java.child.1.java
generated
Normal file
12
.idea/fileTemplates/Android Dialog.java.child.1.java
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
import dagger.Subcomponent;
|
||||
|
||||
@Subcomponent
|
||||
public interface Dialog${NAME}Component {
|
||||
|
||||
@Subcomponent.Factory
|
||||
interface Factory {
|
||||
Dialog${NAME}Component create();
|
||||
}
|
||||
|
||||
void inject(Dialog${NAME}View dialog${NAME}View);
|
||||
}
|
||||
3
.idea/fileTemplates/Android Dialog.java.child.2.java
generated
Normal file
3
.idea/fileTemplates/Android Dialog.java.child.2.java
generated
Normal file
@@ -0,0 +1,3 @@
|
||||
public class Dialog${NAME}ViewModel {
|
||||
|
||||
}
|
||||
82
.idea/fileTemplates/Android Fragment.java
generated
Normal file
82
.idea/fileTemplates/Android Fragment.java
generated
Normal file
@@ -0,0 +1,82 @@
|
||||
#set( $regex = "([a-z])([A-Z]+)")
|
||||
#set( $replacement = "$1_$2")
|
||||
#set( $dashName = $NAME.replaceAll($regex, $replacement).toLowerCase())
|
||||
#set( $variableName = $NAME.replace($NAME.substring(0, 1), $NAME.substring(0, 1).toLowerCase()))
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.MainApplication;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseFragment;
|
||||
|
||||
public class ${NAME}Fragment extends BaseFragment {
|
||||
|
||||
/*
|
||||
- Create the following layout resource file [fragment_${dashName}.xml]
|
||||
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
|
||||
<data>
|
||||
</data>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</layout>
|
||||
|
||||
*/
|
||||
|
||||
|
||||
@Inject
|
||||
${NAME}ViewModel mViewModel;
|
||||
|
||||
//private Fragment${NAME}Binding mBindings;
|
||||
|
||||
|
||||
public ${NAME}Fragment() {
|
||||
// Required empty public constructor
|
||||
}
|
||||
|
||||
public static ${NAME}Fragment newInstance() {
|
||||
return new ${NAME}Fragment();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
// Inflate the layout for this fragment
|
||||
setRetainInstance(true);
|
||||
|
||||
//mBindings = Fragment${NAME}Binding.inflate(inflater, container, false);
|
||||
//mBindings.setLifecycleOwner(this);
|
||||
|
||||
|
||||
/*
|
||||
- Add following lines into MainApplicationComponent
|
||||
|
||||
[a] into @Component
|
||||
${NAME}Module.class
|
||||
|
||||
[b] into interface body
|
||||
${NAME}Component.Factory ${variableName}Component();
|
||||
*/
|
||||
MainApplication.appComponent
|
||||
.${variableName}Component()
|
||||
.create()
|
||||
.inject(this);
|
||||
|
||||
return mBindings.getRoot();
|
||||
}
|
||||
|
||||
}
|
||||
3
.idea/fileTemplates/Android Fragment.java.child.0.java
generated
Normal file
3
.idea/fileTemplates/Android Fragment.java.child.0.java
generated
Normal file
@@ -0,0 +1,3 @@
|
||||
public class ${NAME}ViewModel {
|
||||
|
||||
}
|
||||
12
.idea/fileTemplates/Android Fragment.java.child.1.java
generated
Normal file
12
.idea/fileTemplates/Android Fragment.java.child.1.java
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
import dagger.Subcomponent;
|
||||
|
||||
@Subcomponent
|
||||
public interface ${NAME}Component {
|
||||
|
||||
@Subcomponent.Factory
|
||||
interface Factory {
|
||||
${NAME}Component create();
|
||||
}
|
||||
|
||||
void inject(${NAME}Fragment ${NAME}Fragment);
|
||||
}
|
||||
12
.idea/fileTemplates/Android Fragment.java.child.2.java
generated
Normal file
12
.idea/fileTemplates/Android Fragment.java.child.2.java
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
import dagger.Module;
|
||||
import dagger.Provides;
|
||||
|
||||
@Module(subcomponents = ${NAME}Component.class)
|
||||
public class ${NAME}Module {
|
||||
|
||||
@Provides
|
||||
${NAME}ViewModel provides${NAME}ViewModel() {
|
||||
return new ${NAME}ViewModel();
|
||||
}
|
||||
|
||||
}
|
||||
15
.idea/git_toolbox_prj.xml
generated
Normal file
15
.idea/git_toolbox_prj.xml
generated
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="GitToolBoxProjectSettings">
|
||||
<option name="commitMessageIssueKeyValidationOverride">
|
||||
<BoolValueOverride>
|
||||
<option name="enabled" value="true" />
|
||||
</BoolValueOverride>
|
||||
</option>
|
||||
<option name="commitMessageValidationEnabledOverride">
|
||||
<BoolValueOverride>
|
||||
<option name="enabled" value="true" />
|
||||
</BoolValueOverride>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
8
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
8
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="AutoCloseableResource" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="METHOD_MATCHER_CONFIG" value="java.util.Formatter,format,java.io.Writer,append,com.google.common.base.Preconditions,checkNotNull,org.hibernate.Session,close,java.io.PrintWriter,printf,java.io.PrintStream,printf,com.annimon.stream.Stream,of" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
||||
6
.idea/kotlinc.xml
generated
Normal file
6
.idea/kotlinc.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="KotlinJpsPluginSettings">
|
||||
<option name="version" value="1.9.25" />
|
||||
</component>
|
||||
</project>
|
||||
10
.idea/migrations.xml
generated
Normal file
10
.idea/migrations.xml
generated
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectMigrations">
|
||||
<option name="MigrateToGradleLocalJavaHome">
|
||||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
17
.idea/runConfigurations.xml
generated
Normal file
17
.idea/runConfigurations.xml
generated
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RunConfigurationProducerService">
|
||||
<option name="ignoredProducers">
|
||||
<set>
|
||||
<option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.PatternConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
|
||||
<option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
|
||||
<option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
|
||||
<option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
|
||||
</set>
|
||||
</option>
|
||||
</component>
|
||||
</project>
|
||||
@@ -1,6 +1,7 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="app_base" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
|
||||
<configuration default="false" name="app" type="AndroidRunConfigurationType" factoryName="Android App">
|
||||
<module name="WMS.app" />
|
||||
<option name="ANDROID_RUN_CONFIGURATION_SCHEMA_VERSION" value="1" />
|
||||
<option name="DEPLOY" value="true" />
|
||||
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
|
||||
<option name="DEPLOY_AS_INSTANT" value="false" />
|
||||
@@ -8,15 +9,17 @@
|
||||
<option name="PM_INSTALL_OPTIONS" value="" />
|
||||
<option name="ALL_USERS" value="false" />
|
||||
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
||||
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS.dynamic_vgalimenti" />
|
||||
<option name="ALLOW_ASSUME_VERIFIED" value="false" />
|
||||
<option name="CLEAR_APP_STORAGE" value="false" />
|
||||
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="" />
|
||||
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||
<option name="MODE" value="default_activity" />
|
||||
<option name="CLEAR_LOGCAT" value="true" />
|
||||
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
|
||||
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
|
||||
<option name="FORCE_STOP_RUNNING_APP" value="true" />
|
||||
<option name="INSPECTION_WITHOUT_ACTIVITY_RESTART" value="false" />
|
||||
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
|
||||
<option name="RESTORE_ENABLED" value="false" />
|
||||
<option name="RESTORE_FILE" value="" />
|
||||
<option name="RESTORE_FRESH_INSTALL_ONLY" value="false" />
|
||||
<option name="CLEAR_LOGCAT" value="false" />
|
||||
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="false" />
|
||||
<option name="TARGET_SELECTION_MODE" value="DEVICE_AND_SNAPSHOT_COMBO_BOX" />
|
||||
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
|
||||
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
|
||||
<option name="DEBUGGER_TYPE" value="Auto" />
|
||||
@@ -26,6 +29,8 @@
|
||||
<option name="WORKING_DIR" value="" />
|
||||
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
|
||||
<option name="DEBUG_SANDBOX_SDK" value="false" />
|
||||
</Auto>
|
||||
<Hybrid>
|
||||
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
||||
@@ -33,24 +38,32 @@
|
||||
<option name="WORKING_DIR" value="" />
|
||||
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
|
||||
<option name="DEBUG_SANDBOX_SDK" value="false" />
|
||||
</Hybrid>
|
||||
<Java />
|
||||
<Java>
|
||||
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
|
||||
<option name="DEBUG_SANDBOX_SDK" value="false" />
|
||||
</Java>
|
||||
<Native>
|
||||
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
||||
<option name="SHOW_STATIC_VARS" value="true" />
|
||||
<option name="WORKING_DIR" value="" />
|
||||
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||
<option name="ATTACH_ON_WAIT_FOR_DEBUGGER" value="false" />
|
||||
<option name="DEBUG_SANDBOX_SDK" value="false" />
|
||||
</Native>
|
||||
<Profilers>
|
||||
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
|
||||
<option name="STARTUP_PROFILING_ENABLED" value="false" />
|
||||
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
|
||||
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Callstack Sample" />
|
||||
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Java/Kotlin Method Sample (legacy)" />
|
||||
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
|
||||
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
|
||||
</Profilers>
|
||||
<option name="DEEP_LINK" value="" />
|
||||
<option name="ACTIVITY" value="" />
|
||||
<option name="ACTIVITY_CLASS" value="" />
|
||||
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
|
||||
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
|
||||
61
.idea/runConfigurations/app_vglimenti.xml
generated
61
.idea/runConfigurations/app_vglimenti.xml
generated
@@ -1,61 +0,0 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="app_vglimenti" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
|
||||
<module name="WMS.app" />
|
||||
<option name="DEPLOY" value="true" />
|
||||
<option name="DEPLOY_APK_FROM_BUNDLE" value="false" />
|
||||
<option name="DEPLOY_AS_INSTANT" value="false" />
|
||||
<option name="ARTIFACT_NAME" value="" />
|
||||
<option name="PM_INSTALL_OPTIONS" value="" />
|
||||
<option name="ALL_USERS" value="false" />
|
||||
<option name="ALWAYS_INSTALL_WITH_PM" value="false" />
|
||||
<option name="DYNAMIC_FEATURES_DISABLED_LIST" value="WMS.dynamic__base" />
|
||||
<option name="ACTIVITY_EXTRA_FLAGS" value="" />
|
||||
<option name="MODE" value="default_activity" />
|
||||
<option name="CLEAR_LOGCAT" value="true" />
|
||||
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
|
||||
<option name="SKIP_NOOP_APK_INSTALLATIONS" value="true" />
|
||||
<option name="FORCE_STOP_RUNNING_APP" value="true" />
|
||||
<option name="INSPECTION_WITHOUT_ACTIVITY_RESTART" value="false" />
|
||||
<option name="TARGET_SELECTION_MODE" value="SHOW_DIALOG" />
|
||||
<option name="SELECTED_CLOUD_MATRIX_CONFIGURATION_ID" value="-1" />
|
||||
<option name="SELECTED_CLOUD_MATRIX_PROJECT_ID" value="" />
|
||||
<option name="DEBUGGER_TYPE" value="Auto" />
|
||||
<Auto>
|
||||
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
||||
<option name="SHOW_STATIC_VARS" value="true" />
|
||||
<option name="WORKING_DIR" value="" />
|
||||
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||
</Auto>
|
||||
<Hybrid>
|
||||
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
||||
<option name="SHOW_STATIC_VARS" value="true" />
|
||||
<option name="WORKING_DIR" value="" />
|
||||
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||
</Hybrid>
|
||||
<Java />
|
||||
<Native>
|
||||
<option name="USE_JAVA_AWARE_DEBUGGER" value="false" />
|
||||
<option name="SHOW_STATIC_VARS" value="true" />
|
||||
<option name="WORKING_DIR" value="" />
|
||||
<option name="TARGET_LOGGING_CHANNELS" value="lldb process:gdb-remote packets" />
|
||||
<option name="SHOW_OPTIMIZED_WARNING" value="true" />
|
||||
</Native>
|
||||
<Profilers>
|
||||
<option name="ADVANCED_PROFILING_ENABLED" value="false" />
|
||||
<option name="STARTUP_PROFILING_ENABLED" value="false" />
|
||||
<option name="STARTUP_CPU_PROFILING_ENABLED" value="false" />
|
||||
<option name="STARTUP_CPU_PROFILING_CONFIGURATION_NAME" value="Callstack Sample" />
|
||||
<option name="STARTUP_NATIVE_MEMORY_PROFILING_ENABLED" value="false" />
|
||||
<option name="NATIVE_MEMORY_SAMPLE_RATE_BYTES" value="2048" />
|
||||
</Profilers>
|
||||
<option name="DEEP_LINK" value="" />
|
||||
<option name="ACTIVITY_CLASS" value="" />
|
||||
<option name="SEARCH_ACTIVITY_IN_GLOBAL_SCOPE" value="false" />
|
||||
<option name="SKIP_ACTIVITY_VALIDATION" value="false" />
|
||||
<method v="2">
|
||||
<option name="Android.Gradle.BeforeRunTask" enabled="true" />
|
||||
</method>
|
||||
</configuration>
|
||||
</component>
|
||||
72
Jenkinsfile.groovy
Normal file
72
Jenkinsfile.groovy
Normal file
@@ -0,0 +1,72 @@
|
||||
pipeline {
|
||||
agent {
|
||||
label 'master'
|
||||
}
|
||||
|
||||
options {
|
||||
buildDiscarder(logRotator(numToKeepStr: '30', artifactNumToKeepStr: '10'))
|
||||
disableConcurrentBuilds()
|
||||
}
|
||||
|
||||
environment {
|
||||
// ANDROID_HOME = "/usr/local/android/sdk" // Cambia in base al tuo sistema
|
||||
JAVA_HOME = tool 'JDK 17.0.6 x64' // Nome dello strumento configurato in Jenkins
|
||||
PATH = "${env.JAVA_HOME}\\bin;${env.PATH}"
|
||||
}
|
||||
|
||||
stages {
|
||||
|
||||
stage('Preparing') {
|
||||
when {
|
||||
expression {
|
||||
return env.GIT_BRANCH == "master-beta"
|
||||
}
|
||||
}
|
||||
steps {
|
||||
bat "./gradlew addBetaSuffix"
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build') {
|
||||
steps {
|
||||
bat "./gradlew assembleRelease"
|
||||
archiveArtifacts artifacts: 'app/build/outputs/apk/release/', onlyIfSuccessful: true
|
||||
}
|
||||
}
|
||||
|
||||
stage('Publish') {
|
||||
steps {
|
||||
azureUpload allowAnonymousAccess: true, fileShareName: 'storage-ci', filesPath: 'app/build/outputs/apk/release/*.apk,app/build/outputs/apk/release/*.txt', removePrefixPath: 'app/build/outputs/apk/release/', storageCredentialId: '83a86793-c1d6-4776-b20f-1ff652a57fee', storageType: 'filestorage', uploadArtifactsOnlyIfSuccessful: true, verbose: true, virtualPath: 'wms'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
post {
|
||||
success {
|
||||
script {
|
||||
bat 'curl -k "https://devservices.studioml.it/ems-api/updateWMSApp?overrideForced=false"'
|
||||
bat 'curl -k "https://devservices.studioml.it/ems-api/updateWMSApp?overrideForced=false&suffix=beta"'
|
||||
bat 'curl -k "https://services.studioml.it/ems-api/updateWMSApp?overrideForced=false"'
|
||||
bat 'curl -k "https://services.studioml.it/ems-api/updateWMSApp?overrideForced=false&suffix=beta"'
|
||||
if (env.GIT_BRANCH == "master" || env.GIT_BRANCH == "master-beta") {
|
||||
office365ConnectorSend adaptiveCards: true, color: '#008000', message: 'WMS è stato compilato con successo', status: 'SUCCESS', webhookUrl: 'https://default0b9c060c159c4e5f82a77459a72572.16.environment.api.powerplatform.com:443/powerautomate/automations/direct/workflows/a73f903a4044474c84ad9a0d68a9a479/triggers/manual/paths/invoke?api-version=1&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=gXc43FQXqIq7Xpfvis2XgFoPl8lpg0Sf5HtuxZG_jeI'
|
||||
}
|
||||
}
|
||||
}
|
||||
unstable {
|
||||
script {
|
||||
if (env.GIT_BRANCH == "master" || env.GIT_BRANCH == "master-beta") {
|
||||
office365ConnectorSend adaptiveCards: true, color: '#FFDE21', message: 'WMS è INSTABILE', status: 'UNSTABLE', webhookUrl: 'https://default0b9c060c159c4e5f82a77459a72572.16.environment.api.powerplatform.com:443/powerautomate/automations/direct/workflows/a73f903a4044474c84ad9a0d68a9a479/triggers/manual/paths/invoke?api-version=1&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=gXc43FQXqIq7Xpfvis2XgFoPl8lpg0Sf5HtuxZG_jeI'
|
||||
}
|
||||
}
|
||||
}
|
||||
failure {
|
||||
script {
|
||||
if (env.GIT_BRANCH == "master" || env.GIT_BRANCH == "master-beta") {
|
||||
office365ConnectorSend adaptiveCards: true, color: '#FF2C2C', message: 'Errore di compilazione su WMS', status: 'FAILURE', webhookUrl: 'https://default0b9c060c159c4e5f82a77459a72572.16.environment.api.powerplatform.com:443/powerautomate/automations/direct/workflows/a73f903a4044474c84ad9a0d68a9a479/triggers/manual/paths/invoke?api-version=1&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=gXc43FQXqIq7Xpfvis2XgFoPl8lpg0Sf5HtuxZG_jeI'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
187
app/build.gradle
187
app/build.gradle
@@ -5,13 +5,14 @@ if (!project.hasProperty("disable-performance-plugin")) {
|
||||
}
|
||||
|
||||
apply plugin: 'com.google.firebase.crashlytics'
|
||||
apply plugin: 'kotlin-android'
|
||||
//apply plugin: 'kotlin-android'
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
|
||||
|
||||
android {
|
||||
|
||||
def appVersionCode = 291
|
||||
def appVersionName = '1.27.4'
|
||||
def appVersionCode = 549
|
||||
def appVersionName = '1.50.00'
|
||||
|
||||
signingConfigs {
|
||||
release {
|
||||
@@ -25,131 +26,146 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
applicationVariants.all { variant ->
|
||||
variant.outputs.all { output ->
|
||||
applicationVariants.configureEach { variant ->
|
||||
variant.outputs.configureEach { output ->
|
||||
output.outputFileName = "android-release.apk"
|
||||
}
|
||||
}
|
||||
|
||||
compileSdkVersion 31
|
||||
|
||||
defaultConfig {
|
||||
applicationId "it.integry.integrywmsnative"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 31
|
||||
targetSdk 36
|
||||
versionCode appVersionCode
|
||||
versionName appVersionName
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
// testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
signingConfig signingConfigs.release
|
||||
|
||||
javaCompileOptions {
|
||||
annotationProcessorOptions {
|
||||
arguments += ["room.schemaLocation":
|
||||
"$projectDir/schemas".toString()]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
ext.enableCrashlytics = false
|
||||
minifyEnabled true // Abilita la minimizzazione del codice
|
||||
// shrinkResources true // Rimuove risorse non utilizzate
|
||||
// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
release {
|
||||
minifyEnabled false
|
||||
// minifyEnabled true // Abilita la minimizzazione del codice
|
||||
// shrinkResources true // Rimuove risorse non utilizzate
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
signingConfig signingConfigs.release
|
||||
firebaseCrashlytics {
|
||||
mappingFileUploadEnabled true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
android.buildFeatures.dataBinding true
|
||||
android.buildFeatures.buildConfig true
|
||||
|
||||
android.dataBinding.enabledForTests true
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_11
|
||||
targetCompatibility JavaVersion.VERSION_11
|
||||
|
||||
sourceCompatibility JavaVersion.VERSION_17
|
||||
targetCompatibility JavaVersion.VERSION_17
|
||||
coreLibraryDesugaringEnabled true
|
||||
}
|
||||
|
||||
productFlavors {
|
||||
}
|
||||
|
||||
|
||||
build {
|
||||
doLast {
|
||||
delete "$projectDir/build/outputs/apk/release/version.txt"
|
||||
file("$projectDir/build/outputs/apk/release/version.txt").text = appVersionCode + '\n' + appVersionName
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
gradle.projectsEvaluated {
|
||||
tasks.withType(JavaCompile.class) {
|
||||
tasks.withType(JavaCompile.class).tap {
|
||||
configureEach {
|
||||
options.compilerArgs << "-Xmaxerrs" << "10000"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
dynamicFeatures = [":dynamic__base", ":dynamic_vgalimenti"]
|
||||
}
|
||||
lint {
|
||||
abortOnError false
|
||||
}
|
||||
namespace 'it.integry.integrywmsnative'
|
||||
compileSdk 36
|
||||
}
|
||||
|
||||
|
||||
configurations {
|
||||
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7'
|
||||
all*.exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
|
||||
}
|
||||
|
||||
dependencies {
|
||||
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
|
||||
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||||
androidTestImplementation('androidx.test.espresso:espresso-core:3.3.0', {
|
||||
exclude group: 'com.android.support', module: 'support-annotations'
|
||||
})
|
||||
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||
implementation 'com.orhanobut:logger:2.2.0'
|
||||
// androidTestImplementation('androidx.test.espresso:espresso-core:3.6.1', {
|
||||
// exclude group: 'com.android.support', module: 'support-annotations'
|
||||
// })
|
||||
// implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
||||
|
||||
//Firebase
|
||||
implementation 'com.github.lupaulus:logger:2.3.2'
|
||||
|
||||
// Import the Firebase BoM
|
||||
implementation platform('com.google.firebase:firebase-bom:29.1.0')
|
||||
implementation platform('com.google.firebase:firebase-bom:33.16.0')
|
||||
implementation 'com.google.firebase:firebase-analytics'
|
||||
implementation 'com.google.firebase:firebase-core'
|
||||
implementation 'com.google.firebase:firebase-crashlytics'
|
||||
implementation 'com.google.firebase:firebase-perf'
|
||||
implementation 'com.google.android.gms:play-services-basement:18.0.0'
|
||||
implementation 'com.google.android.gms:play-services-basement:18.7.1'
|
||||
|
||||
//JJWT
|
||||
implementation 'io.jsonwebtoken:jjwt-api:0.12.6'
|
||||
runtimeOnly 'io.jsonwebtoken:jjwt-impl:0.12.6'
|
||||
runtimeOnly 'io.jsonwebtoken:jjwt-jackson:0.12.6'
|
||||
|
||||
implementation 'androidx.appcompat:appcompat:1.4.1'
|
||||
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
|
||||
implementation 'com.google.android.material:material:1.5.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
|
||||
implementation 'androidx.appcompat:appcompat:1.7.1'
|
||||
implementation 'com.google.android.material:material:1.12.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
|
||||
implementation 'androidx.cardview:cardview:1.0.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.2.1'
|
||||
implementation 'androidx.preference:preference-ktx:1.2.0'
|
||||
implementation 'androidx.recyclerview:recyclerview:1.4.0'
|
||||
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
||||
|
||||
implementation('androidx.preference:preference-ktx:1.2.1') {
|
||||
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel'
|
||||
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
|
||||
}
|
||||
|
||||
implementation "androidx.slidingpanelayout:slidingpanelayout:1.2.0"
|
||||
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
|
||||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||||
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||||
implementation 'com.squareup.retrofit2:retrofit:3.0.0'
|
||||
implementation 'com.squareup.retrofit2:converter-gson:3.0.0'
|
||||
implementation 'com.annimon:stream:1.2.2'
|
||||
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.1'
|
||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-common-java8:2.4.1'
|
||||
implementation 'org.apache.commons:commons-text:1.9'
|
||||
implementation 'androidx.lifecycle:lifecycle-runtime:2.9.1'
|
||||
implementation 'org.apache.commons:commons-text:1.13.1'
|
||||
|
||||
//MVVM
|
||||
def dagger2_version = '2.40'
|
||||
api "com.google.dagger:dagger:$dagger2_version"
|
||||
def dagger2_version = '2.56.2'
|
||||
implementation "com.google.dagger:dagger:$dagger2_version"
|
||||
annotationProcessor "com.google.dagger:dagger-compiler:$dagger2_version"
|
||||
api "com.google.dagger:dagger-android:$dagger2_version"
|
||||
api "com.google.dagger:dagger-android-support:$dagger2_version"
|
||||
implementation "com.google.dagger:dagger-android:$dagger2_version"
|
||||
implementation "com.google.dagger:dagger-android-support:$dagger2_version"
|
||||
// if you use the support libraries
|
||||
annotationProcessor "com.google.dagger:dagger-android-processor:$dagger2_version"
|
||||
|
||||
//FAB
|
||||
implementation 'com.github.clans:fab:1.6.4'
|
||||
//CUSTOM VIEWS
|
||||
implementation 'com.github.NaimishTrivedi:FBToast:1.0'
|
||||
implementation 'com.github.cachapa:ExpandableLayout:2.9.2'
|
||||
implementation 'com.github.frankiesardo:linearlistview:1.0.1@aar'
|
||||
implementation 'com.github.fede87:StatusBarAlert:1.0.1'
|
||||
implementation 'com.github.zhukic:sectioned-recyclerview:1.2.3'
|
||||
implementation 'com.github.pedromassango:doubleClick:3.0'
|
||||
|
||||
//SQLite ROOM
|
||||
def room_version = "2.4.1"
|
||||
def room_version = "2.7.2"
|
||||
|
||||
implementation "androidx.room:room-runtime:$room_version"
|
||||
annotationProcessor "androidx.room:room-compiler:$room_version"
|
||||
|
||||
//AppUpdate
|
||||
implementation 'com.github.javiersantos:AppUpdater:2.7'
|
||||
implementation "androidx.room:room-rxjava3:$room_version"
|
||||
|
||||
//Barcode
|
||||
implementation project(':pointmobilescannerlibrary')
|
||||
@@ -168,11 +184,16 @@ dependencies {
|
||||
|
||||
|
||||
//Bluetooth device manager
|
||||
implementation 'com.github.harry1453:android-bluetooth-serial:v1.1'
|
||||
implementation 'com.github.harry1453:android-bluetooth-serial:v1.1.2'
|
||||
|
||||
// RxJava is also required.
|
||||
implementation 'io.reactivex.rxjava2:rxjava:2.1.12'
|
||||
implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
|
||||
implementation 'io.reactivex.rxjava2:rxjava:2.2.21'
|
||||
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
|
||||
|
||||
//Barcode generator
|
||||
implementation 'com.journeyapps:zxing-android-embedded:4.3.0'
|
||||
|
||||
implementation("org.javatuples:javatuples:1.2")
|
||||
}
|
||||
|
||||
repositories {
|
||||
@@ -180,3 +201,49 @@ repositories {
|
||||
google()
|
||||
maven { url 'https://jitpack.io' }
|
||||
}
|
||||
|
||||
tasks.register('addBetaSuffix') {
|
||||
doLast {
|
||||
def gradleFile = file("build.gradle")
|
||||
def content = gradleFile.text
|
||||
|
||||
// Modifica appVersionName
|
||||
content = content.replaceAll(/appVersionName\s*=\s*'(.*?)'/) { fullMatch, version ->
|
||||
"appVersionName = '${version}-beta'"
|
||||
}
|
||||
|
||||
// Modifica outputFileName
|
||||
content = content.replaceAll(/output\.outputFileName\s*=\s*"(.*?)"/) { fullMatch, filename ->
|
||||
"output.outputFileName = \"${filename.replace('.apk', '-beta.apk')}\""
|
||||
}
|
||||
|
||||
// Modifica direttamente la riga che crea 'version.txt' in 'version-beta.txt'
|
||||
content = content.replace(
|
||||
"def versionFile = new File(outputDir, \"version.txt\")",
|
||||
"def versionFile = new File(outputDir, \"version-beta.txt\")"
|
||||
)
|
||||
|
||||
// Sovrascrivi il file
|
||||
gradleFile.write(content)
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register('createVersionFile') {
|
||||
doLast {
|
||||
def outputDir = file("${projectDir}/build/outputs/apk/release")
|
||||
def versionFile = new File(outputDir, "version.txt")
|
||||
|
||||
// Cancella il file se esiste
|
||||
if (versionFile.exists()) {
|
||||
versionFile.delete()
|
||||
}
|
||||
|
||||
// Crea il file con i contenuti desiderati
|
||||
versionFile.write("${android.defaultConfig.versionCode}\n${android.defaultConfig.versionName}\nforced=true")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
afterEvaluate {
|
||||
tasks.assembleRelease.finalizedBy createVersionFile
|
||||
}
|
||||
|
||||
49
app/proguard-rules.pro
vendored
49
app/proguard-rules.pro
vendored
@@ -18,8 +18,55 @@
|
||||
|
||||
# Uncomment this to preserve the line number information for
|
||||
# debugging stack traces.
|
||||
#-keepattributes SourceFile,LineNumberTable
|
||||
-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
# If you keep the line number information, uncomment this to
|
||||
# hide the original source file name.
|
||||
#-renamesourcefileattribute SourceFile
|
||||
# Prevent proguard from stripping interface information from TypeAdapter, TypeAdapterFactory,
|
||||
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
|
||||
|
||||
-dontwarn android.os.ServiceManager
|
||||
|
||||
|
||||
-keep class io.jsonwebtoken.** { *; }
|
||||
-dontwarn io.jsonwebtoken.**
|
||||
|
||||
-keep class * extends com.google.gson.TypeAdapter
|
||||
-keep class * implements com.google.gson.TypeAdapterFactory
|
||||
-keep class * implements com.google.gson.JsonSerializer
|
||||
-keep class * implements com.google.gson.JsonDeserializer
|
||||
# Prevent R8 from leaving Data object members always null
|
||||
-keepclasseswithmembers class * {
|
||||
<init>(...);
|
||||
@com.google.gson.annotations.SerializedName <fields>;
|
||||
}
|
||||
|
||||
# Per JJWT
|
||||
-keep class io.jsonwebtoken.** { *; }
|
||||
-keepnames class io.jsonwebtoken.* { *; }
|
||||
-keepnames interface io.jsonwebtoken.* { *; }
|
||||
|
||||
# Retain generic signatures of TypeToken and its subclasses with R8 version 3.0 and higher.
|
||||
-keep,allowshrinking class com.google.gson.reflect.TypeToken
|
||||
-keep,allowshrinking class * extends com.google.gson.reflect.TypeToken
|
||||
-keep,allowshrinking class com.google.common.reflect.TypeToken
|
||||
-keep,allowshrinking class * extends com.google.common.reflect.TypeToken
|
||||
|
||||
-keep class it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse { *; }
|
||||
-keep class * extends it.integry.integrywmsnative.core.rest.model.ServiceRESTResponse { *; }
|
||||
-keep class * extends it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.BaseDialogRowInfoView { *; }
|
||||
-keep class * implements it.integry.barcode_base_android_library.interfaces.BarcodeReaderInterface { *; }
|
||||
|
||||
# Regole ProGuard per Gson e classi modello
|
||||
-keepattributes Signature
|
||||
-keepattributes InnerClasses
|
||||
|
||||
# Se usi ObservableArrayList o altre classi specifiche di AndroidX Data Binding con Gson,
|
||||
# potresti aver bisogno di mantenerle esplicitamente se non sono coperte sopra.
|
||||
-keep class androidx.databinding.ObservableArrayList { *; }
|
||||
-keepclassmembers class androidx.databinding.ObservableArrayList { *; }
|
||||
|
||||
|
||||
|
||||
-keep class * implements it.integry.integrywmsnative.view.dialogs.ask_cliente.viewmodel.IDialogAskClienteViewModel { *; }
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,22 +1,34 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="it.integry.integrywmsnative">
|
||||
<manifest xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<uses-feature android:name="android.hardware.camera"
|
||||
android:required="false" />
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
|
||||
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
|
||||
|
||||
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
|
||||
android:maxSdkVersion="32" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||
android:maxSdkVersion="32"
|
||||
tools:ignore="ScopedStorage" />
|
||||
|
||||
<application
|
||||
android:name=".MainApplication"
|
||||
android:allowBackup="true"
|
||||
android:hardwareAccelerated="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:label="@string/app_name"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme"
|
||||
android:usesCleartextTraffic="true"
|
||||
@@ -24,57 +36,58 @@
|
||||
android:requestLegacyExternalStorage="true">
|
||||
<activity
|
||||
android:name=".gest.spedizione.SpedizioneActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Light"
|
||||
android:windowSoftInputMode="adjustNothing" />
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Light"
|
||||
android:windowSoftInputMode="adjustNothing" />
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.prod_dettaglio_linea.ProdDettaglioLineaActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Light"
|
||||
android:windowSoftInputMode="adjustNothing" />
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.contab_doc_interni.edit_form.DocInterniEditFormActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Light"
|
||||
android:windowSoftInputMode="adjustNothing" />
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.picking_resi.PickingResiActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Light" />
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.main.MainActivity"
|
||||
android:theme="@style/Light"
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.CLIENTBARCODEACTIVITY" />
|
||||
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".gest.accettazione_picking.AccettazionePickingActivity"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Light"
|
||||
android:windowSoftInputMode="adjustNothing" />
|
||||
<activity
|
||||
android:name=".gest.login.LoginActivity"
|
||||
android:theme="@style/Light" />
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.accettazione_ordini_picking.AccettazioneOrdiniPickingActivity"
|
||||
android:windowSoftInputMode="adjustPan"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.lista_bancali.ListaBancaliActivity"
|
||||
android:label="@string/activity_lista_bancali_title"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Light" />
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.contenuto_bancale.ContenutoBancaleActivity"
|
||||
android:label="@string/activity_contenuto_bancale_title"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Light" />
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
<activity
|
||||
android:name=".gest.inventario.picking.PickingInventarioActivity"
|
||||
android:label="@string/activity_picking_inventario_title"
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden"/>
|
||||
|
||||
<activity
|
||||
android:name=".gest.trasferimento_pedane.edit.TrasferimentoPedaneEditActivity"
|
||||
android:label="@string/activity_trasferimento_pedane_edit_title"
|
||||
android:windowSoftInputMode="adjustNothing"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden" />
|
||||
|
||||
<meta-data
|
||||
android:name="firebase_crashlytics_collection_enabled"
|
||||
@@ -92,6 +105,10 @@
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name=".gest.accettazione_bolla_picking.AccettazioneBollaPickingActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
|
||||
<provider
|
||||
android:name=".core.update.GenericFileProvider"
|
||||
android:authorities="${applicationId}.core.update.GenericFileProvider"
|
||||
|
||||
BIN
app/src/main/ic_launcher-playstore.png
Normal file
BIN
app/src/main/ic_launcher-playstore.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
@@ -3,11 +3,13 @@ package it.integry.integrywmsnative;
|
||||
import android.app.Application;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.util.Log;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import it.integry.integrywmsnative.core.context.AppContext;
|
||||
import it.integry.integrywmsnative.core.data_store.db.RoomModule;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityLogger;
|
||||
|
||||
|
||||
public class MainApplication extends Application {
|
||||
@@ -19,6 +21,8 @@ public class MainApplication extends Application {
|
||||
public static MainApplicationModule appModule;
|
||||
public static RoomModule roomModule;
|
||||
|
||||
private Thread.UncaughtExceptionHandler defaultUncaughtExceptionHandler;
|
||||
|
||||
@Inject
|
||||
AppContext appContext;
|
||||
|
||||
@@ -40,6 +44,9 @@ public class MainApplication extends Application {
|
||||
appComponent.inject(this);
|
||||
|
||||
res = getResources();
|
||||
|
||||
defaultUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
|
||||
Thread.setDefaultUncaughtExceptionHandler(_unCaughtExceptionHandler);
|
||||
}
|
||||
|
||||
// Called by the system when the device configuration changes while your component is running.
|
||||
@@ -61,4 +68,22 @@ public class MainApplication extends Application {
|
||||
System.exit(0);
|
||||
}
|
||||
|
||||
|
||||
// handler listener
|
||||
private final Thread.UncaughtExceptionHandler _unCaughtExceptionHandler =
|
||||
new Thread.UncaughtExceptionHandler() {
|
||||
@Override
|
||||
public void uncaughtException(Thread thread, Throwable ex) {
|
||||
// re-throw critical exception further to the os (important)
|
||||
defaultUncaughtExceptionHandler.uncaughtException(thread, ex);
|
||||
|
||||
try {
|
||||
UtilityLogger.error(new Exception(ex));
|
||||
MainApplication.exit();
|
||||
} catch (Exception e) {
|
||||
Log.e("Uncaught error", "Exception Logger failed!", e);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
@@ -11,10 +11,17 @@ import it.integry.integrywmsnative.core.expansion.BaseDialogFragmentComponent;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseDialogFragmentModule;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseFragmentComponent;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseFragmentModule;
|
||||
import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneModule;
|
||||
import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazione_picking.AccettazionePickingModule;
|
||||
import it.integry.integrywmsnative.core.expansion.BaseMaterialAlertDialogBuilderComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoModule;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.AccettazioneBollaPickingComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_picking.AccettazioneBollaPickingModule;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoModule;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingComponent;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_picking.AccettazioneOrdiniPickingModule;
|
||||
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaComponent;
|
||||
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaModule;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniComponent;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniModule;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.dialog.DialogSelectDocInfoComponent;
|
||||
@@ -23,8 +30,20 @@ import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.DocInterniE
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.DocInterniEditFormModule;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsComponent;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectDocRows.DialogSelectDocRowsModule;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectLotti.DialogSelectLottiComponent;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.edit_form.dialog.selectLotti.DialogSelectLottiModule;
|
||||
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleComponent;
|
||||
import it.integry.integrywmsnative.gest.contenuto_bancale.ContenutoBancaleModule;
|
||||
import it.integry.integrywmsnative.gest.inventario.ElencoInventariComponent;
|
||||
import it.integry.integrywmsnative.gest.inventario.ElencoInventariModule;
|
||||
import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_actions.BottomSheetInventarioActionsComponent;
|
||||
import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_actions.BottomSheetInventarioActionsModule;
|
||||
import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_row_actions.BottomSheetInventarioRowActionsComponent;
|
||||
import it.integry.integrywmsnative.gest.inventario.bottom_sheet__inventario_row_actions.BottomSheetInventarioRowActionsModule;
|
||||
import it.integry.integrywmsnative.gest.inventario.dialogs.ask_info_inventario.DialogAskInfoInventarioComponent;
|
||||
import it.integry.integrywmsnative.gest.inventario.dialogs.ask_info_inventario.DialogAskInfoInventarioModule;
|
||||
import it.integry.integrywmsnative.gest.inventario.picking.PickingInventarioComponent;
|
||||
import it.integry.integrywmsnative.gest.inventario.picking.PickingInventarioModule;
|
||||
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliComponent;
|
||||
import it.integry.integrywmsnative.gest.lista_bancali.ListaBancaliModule;
|
||||
import it.integry.integrywmsnative.gest.login.LoginComponent;
|
||||
@@ -53,43 +72,117 @@ import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMate
|
||||
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeModule;
|
||||
import it.integry.integrywmsnative.gest.prod_rientro_merce.ProdRientroMerceComponent;
|
||||
import it.integry.integrywmsnative.gest.prod_rientro_merce.order_detail.ProdRientroMerceOrderDetailComponent;
|
||||
import it.integry.integrywmsnative.gest.prod_rientro_merce.order_list.ProdRientroMerceOrderListComponent;
|
||||
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.ProdRiposizionamentoDaProdComponent;
|
||||
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.ProdRiposizionamentoDaProdModule;
|
||||
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dialogs.info_giacenza.DialogInfoGiacenzaComponent;
|
||||
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.dialogs.info_giacenza.DialogInfoGiacenzaModule;
|
||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeComponent;
|
||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeModule;
|
||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale_su_mag_prossimita.ProdVersamentoMaterialeInBufferComponent;
|
||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale_su_mag_prossimita.ProdVersamentoMaterialeInBufferModule;
|
||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditComponent;
|
||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.PVOrdineAcquistoEditModule;
|
||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.DialogEditArticoloComponent;
|
||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.DialogEditArticoloModule;
|
||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.edit_articolo.DialogEditArticoloComponent;
|
||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.edit_articolo.DialogEditArticoloModule;
|
||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.selectArtFromList.DialogSelectArtToOrderComponent;
|
||||
import it.integry.integrywmsnative.gest.pv_ordine_acquisto_edit.dialog.selectArtFromList.DialogSelectArtToOrderModule;
|
||||
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdiniAcquistoGrigliaComponent;
|
||||
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdiniAcquistoGrigliaModule;
|
||||
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.dialogs.DialogScanGrigliaAcquistoComponent;
|
||||
import it.integry.integrywmsnative.gest.pv_verifica_giacenze.VerificaGiacenzeComponent;
|
||||
import it.integry.integrywmsnative.gest.pv_verifica_giacenze.VerificaGiacenzeModule;
|
||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeComponent;
|
||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeModule;
|
||||
import it.integry.integrywmsnative.gest.settings.MainSettingsComponent;
|
||||
import it.integry.integrywmsnative.gest.settings.MainSettingsModule;
|
||||
import it.integry.integrywmsnative.gest.spedizione.SpedizioneComponent;
|
||||
import it.integry.integrywmsnative.gest.spedizione.SpedizioneModule;
|
||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.print_sscc_list.DialogPrintOrderSSCCListComponent;
|
||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.print_sscc_list.DialogPrintOrderSSCCListModule;
|
||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.DialogInfoSituazioneArticoloComponent;
|
||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.DialogInfoSituazioneArticoloModule;
|
||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod.DialogRowInfoProdFabbisognoLineeProdComponent;
|
||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.prod_fabbisogno_linee_prod.DialogRowInfoProdFabbisognoLineeProdModule;
|
||||
import it.integry.integrywmsnative.gest.trasferimento_pedane.TrasferimentoPedaneComponent;
|
||||
import it.integry.integrywmsnative.gest.trasferimento_pedane.TrasferimentoPedaneModule;
|
||||
import it.integry.integrywmsnative.gest.trasferimento_pedane.dialog.confirm_export.DialogTrasferimentoPedaneConfirmExportComponent;
|
||||
import it.integry.integrywmsnative.gest.trasferimento_pedane.dialog.confirm_export.DialogTrasferimentoPedaneConfirmExportModule;
|
||||
import it.integry.integrywmsnative.gest.trasferimento_pedane.edit.TrasferimentoPedaneEditComponent;
|
||||
import it.integry.integrywmsnative.gest.trasferimento_pedane.edit.TrasferimentoPedaneEditModule;
|
||||
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteComponent;
|
||||
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteModule;
|
||||
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.dialog.DialogUltimeConsegneFiltroAvanzatoComponent;
|
||||
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.dialog.DialogUltimeConsegneFiltroAvanzatoModule;
|
||||
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreComponent;
|
||||
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreModule;
|
||||
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.dialog.DialogUltimiArriviFornitoreFiltroAvanzatoComponent;
|
||||
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.dialog.DialogUltimiArriviFornitoreFiltroAvanzatoModule;
|
||||
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceComponent;
|
||||
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceModule;
|
||||
import it.integry.integrywmsnative.view.bottom_sheet__item_edit.BottomSheetItemEditComponent;
|
||||
import it.integry.integrywmsnative.view.bottom_sheet__item_edit.BottomSheetItemEditModule;
|
||||
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalComponent;
|
||||
import it.integry.integrywmsnative.view.bottom_sheet__mtb_colr_edit.BottomSheetMtbColrEditModalModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_cliente.DialogAskClienteModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArtsComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromListaArtsModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_commessa.DialogAskCommessaComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_deposito.DialogAskDepositoComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_deposito.DialogAskDepositoModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_info_trasferimento.DialogAskInfoTrasferimentoComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_info_trasferimento.DialogAskInfoTrasferimentoModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_linea_prod.DialogAskLineaProdComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_linea_prod.DialogAskLineaProdModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_livello_posizione.DialogAskLivelloPosizioneComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_livello_posizione.DialogAskLivelloPosizioneModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_position_of_lu.DialogAskPositionOfLUModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_unknown_barcode_notes.DialogAskUnknownBarcodeNotesComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_unknown_barcode_notes.DialogAskUnknownBarcodeNotesModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_vettore.DialogAskVettoreComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.ask_vettore.DialogAskVettoreModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.basket_lu.DialogBasketLUComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.basket_lu.DialogBasketLUModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.bind_product_barcode_with_package.DialogBindProductBarcodeWithPackageComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.bind_product_barcode_with_package.DialogBindProductBarcodeWithPackageModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArtsComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_art_from_lista_arts.DialogChooseArtFromListaArtsModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromMtbAartListComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_lista_arts.DialogChooseArtsFromMtbAartListModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrListComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_arts_from_mtbcolr_list.DialogChooseArtsFromMtbColrListModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.choose_batch_lot.DialogChooseBatchLotModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.InfoAggiuntiveLUDialogComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.create_new_art.DialogCreateNewArtComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.create_new_art.DialogCreateNewArtModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.device_end_of_life.DialogDeviceEndOfLifeComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.device_end_of_life.DialogDeviceEndOfLifeModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.extra_info.DialogExtraInfoComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.extra_info.DialogExtraInfoModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.DialogInfoAggiuntiveLUComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.info_aggiuntive_lu.DialogInfoAggiuntiveLUModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_lu_prod.DialogInputLUProdModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLUComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_peso_lu.DialogInputPesoLUModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_to_return.DialogInputQuantityToReturnComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_to_return.DialogInputQuantityToReturnModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Component;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2Module;
|
||||
import it.integry.integrywmsnative.view.dialogs.printSsccUl.DialogPrintUlSSCCComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.printSsccUl.DialogPrintUlSSCCModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_art.DialogScanArtModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCreateLUModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.select_position_of_lu.DialogSelectPositionOfLuComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.select_position_of_lu.DialogSelectPositionOfLuModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.switch_user_depo.DialogSwitchUserDepoComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.switch_user_depo.DialogSwitchUserDepoModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.tracciamento_imballi.DialogTracciamentoImballiModule;
|
||||
import it.integry.integrywmsnative.view.dialogs.update_available.DialogUpdateAvailableComponent;
|
||||
import it.integry.integrywmsnative.view.dialogs.update_available.DialogUpdateAvailableModule;
|
||||
|
||||
// Definition of the Application graph
|
||||
@Singleton
|
||||
@@ -103,15 +196,16 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
|
||||
LoginModule.class,
|
||||
MainActivityModule.class,
|
||||
MainFragmentModule.class,
|
||||
MainAccettazioneModule.class,
|
||||
MainAccettazioneOrdiniElencoModule.class,
|
||||
ListaBancaliModule.class,
|
||||
ContenutoBancaleModule.class,
|
||||
PVOrdiniAcquistoGrigliaModule.class,
|
||||
PVOrdineAcquistoEditModule.class,
|
||||
PickingLiberoModule.class,
|
||||
RettificaGiacenzeModule.class,
|
||||
ElencoInventariModule.class,
|
||||
SpedizioneModule.class,
|
||||
AccettazionePickingModule.class,
|
||||
AccettazioneOrdiniPickingModule.class,
|
||||
UltimeConsegneClienteModule.class,
|
||||
UltimiArriviFornitoreModule.class,
|
||||
PickingResiModule.class,
|
||||
@@ -120,6 +214,7 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
|
||||
DialogInputLUProdModule.class,
|
||||
DialogScanArtModule.class,
|
||||
DialogScanOrCreateLUModule.class,
|
||||
DialogBasketLUModule.class,
|
||||
ProdFabbisognoLineeProdModule.class,
|
||||
VersamentoMerceModule.class,
|
||||
DialogAskMagazzinoProssimitaModule.class,
|
||||
@@ -128,16 +223,61 @@ import it.integry.integrywmsnative.view.dialogs.scan_or_create_lu.DialogScanOrCr
|
||||
ProdOrdineProduzioneElencoModule.class,
|
||||
ProdRecuperoMaterialeModule.class,
|
||||
ProdVersamentoMaterialeModule.class,
|
||||
DialogChooseArtsFromListaArtsModule.class,
|
||||
DialogChooseArtsFromMtbColrListModule.class,
|
||||
DocInterniModule.class,
|
||||
DialogSelectDocInfoModule.class,
|
||||
DocInterniEditFormModule.class,
|
||||
DialogSelectDocRowsModule.class,
|
||||
DialogSelectLottiModule.class,
|
||||
DialogAskClienteModule.class,
|
||||
DialogEditArticoloModule.class,
|
||||
DialogPrintOrderSSCCListModule.class,
|
||||
ProdLineeProduzioneModule.class,
|
||||
ProdDettaglioLineaModule.class
|
||||
ProdDettaglioLineaModule.class,
|
||||
DialogPrintUlSSCCModule.class,
|
||||
DialogAskInfoInventarioModule.class,
|
||||
DialogInputPesoLUModule.class,
|
||||
PickingInventarioModule.class,
|
||||
BottomSheetItemEditModule.class,
|
||||
BottomSheetInventarioActionsModule.class,
|
||||
BottomSheetInventarioRowActionsModule.class,
|
||||
BottomSheetMtbColrEditModalModule.class,
|
||||
DialogChooseArtsFromMtbAartListModule.class,
|
||||
MainSettingsModule.class,
|
||||
DialogInfoSituazioneArticoloModule.class,
|
||||
DialogSelectArtToOrderModule.class,
|
||||
MainAccettazioneBollaElencoModule.class,
|
||||
AccettazioneBollaPickingModule.class,
|
||||
DialogBindProductBarcodeWithPackageModule.class,
|
||||
DialogAskUnknownBarcodeNotesModule.class,
|
||||
ProdVersamentoMaterialeInBufferModule.class,
|
||||
DialogInputQuantityToReturnModule.class,
|
||||
DialogInfoAggiuntiveLUModule.class,
|
||||
DialogAskLineaProdModule.class,
|
||||
ProdRiposizionamentoDaProdModule.class,
|
||||
DialogInfoGiacenzaModule.class,
|
||||
ArticoliInGiacenzaModule.class,
|
||||
DialogTracciamentoImballiModule.class,
|
||||
DialogAskVettoreModule.class,
|
||||
DialogAskVettoreModule.class,
|
||||
DialogCreateNewArtModule.class,
|
||||
DialogSwitchUserDepoModule.class,
|
||||
DialogUpdateAvailableModule.class,
|
||||
DialogAskPositionOfLUModule.class,
|
||||
DialogAskLivelloPosizioneModule.class,
|
||||
VerificaGiacenzeModule.class,
|
||||
DialogExtraInfoModule.class,
|
||||
DialogAskDepositoModule.class,
|
||||
DialogChooseArtFromListaArtsModule.class,
|
||||
DialogUltimeConsegneFiltroAvanzatoModule.class,
|
||||
DialogUltimiArriviFornitoreFiltroAvanzatoModule.class,
|
||||
DialogSelectPositionOfLuModule.class,
|
||||
TrasferimentoPedaneModule.class,
|
||||
DialogAskInfoTrasferimentoModule.class,
|
||||
TrasferimentoPedaneEditModule.class,
|
||||
DialogTrasferimentoPedaneConfirmExportModule.class,
|
||||
DialogChooseArtFromListaArtsModule.class,
|
||||
DialogDeviceEndOfLifeModule.class
|
||||
})
|
||||
public interface MainApplicationComponent {
|
||||
|
||||
@@ -147,6 +287,8 @@ public interface MainApplicationComponent {
|
||||
|
||||
BaseDialogFragmentComponent.Factory baseDialogFragmentComponent();
|
||||
|
||||
BaseMaterialAlertDialogBuilderComponent.Factory baseMaterialAlertDialogComponent();
|
||||
|
||||
SplashActivityComponent.Factory splashActivityComponent();
|
||||
|
||||
LoginComponent.Factory loginActivityComponent();
|
||||
@@ -155,7 +297,7 @@ public interface MainApplicationComponent {
|
||||
|
||||
MainFragmentComponent.Factory mainFragmentComponent();
|
||||
|
||||
MainAccettazioneComponent.Factory mainAccettazioneComponent();
|
||||
MainAccettazioneOrdiniElencoComponent.Factory mainAccettazioneOrdiniComponent();
|
||||
|
||||
ListaBancaliComponent.Factory listaBancaliComponent();
|
||||
|
||||
@@ -169,9 +311,11 @@ public interface MainApplicationComponent {
|
||||
|
||||
RettificaGiacenzeComponent.Factory rettificaGiacenzeComponent();
|
||||
|
||||
ElencoInventariComponent.Factory inventarioComponent();
|
||||
|
||||
SpedizioneComponent.Factory spedizioneComponent();
|
||||
|
||||
AccettazionePickingComponent.Factory accettazionePickingComponent();
|
||||
AccettazioneOrdiniPickingComponent.Factory accettazionePickingComponent();
|
||||
|
||||
UltimeConsegneClienteComponent.Factory ultimeConsegneClienteComponent();
|
||||
|
||||
@@ -191,12 +335,16 @@ public interface MainApplicationComponent {
|
||||
|
||||
DialogScanOrCreateLUComponent.Factory dialogScanOrCreateLUComponent();
|
||||
|
||||
DialogBasketLUComponent.Factory dialogBasketLUComponent();
|
||||
|
||||
ProdFabbisognoLineeProdComponent.Factory prodFabbisognoLineeProdComponent();
|
||||
|
||||
VersamentoMerceComponent.Factory versamentoMerceComponent();
|
||||
|
||||
DialogAskMagazzinoProssimitaComponent.Factory dialogAskMagazzinoProssimitaComponent();
|
||||
|
||||
DialogScanGrigliaAcquistoComponent.Factory dialogScanLisAComponent();
|
||||
|
||||
DialogChooseBatchLotComponent.Factory dialogChooseBatchLotComponent();
|
||||
|
||||
DialogRowInfoProdFabbisognoLineeProdComponent.Factory dialogRowInfoProdFabbisognoLineeProdComponent();
|
||||
@@ -211,18 +359,14 @@ public interface MainApplicationComponent {
|
||||
|
||||
ProdVersamentoMaterialeComponent.Factory prodVersamentoMaterialeComponent();
|
||||
|
||||
DialogChooseArtsFromListaArtsComponent.Factory dialogChooseArtsFromListaArtsComponent();
|
||||
DialogChooseArtsFromMtbColrListComponent.Factory dialogChooseArtsFromListaArtsComponent();
|
||||
|
||||
DocInterniComponent.Factory docInterniComponent();
|
||||
|
||||
DialogSelectDocInfoComponent.Factory dialogSelectMgrpDtipPairComponent();
|
||||
|
||||
DialogSelectDocRowsComponent.Factory dialogSelectDocRowsComponent();
|
||||
DialogSelectDocInfoComponent.Factory dialogSelectDocInfoNewViewComponent();
|
||||
|
||||
DocInterniEditFormComponent.Factory docInterniEditFormComponent();
|
||||
|
||||
InfoAggiuntiveLUDialogComponent.Factory infoAggiuntiveLUDialogComponent();
|
||||
|
||||
DialogEditArticoloComponent.Factory dialogEditArticoloComponent();
|
||||
|
||||
DialogPrintOrderSSCCListComponent.Factory dialogPrintOrderSSCCListComponent();
|
||||
@@ -231,6 +375,97 @@ public interface MainApplicationComponent {
|
||||
|
||||
ProdDettaglioLineaComponent.Factory prodDettaglioLineaComponent();
|
||||
|
||||
DialogPrintUlSSCCComponent.Factory dialogPrintUlSSCCComponent();
|
||||
|
||||
DialogAskInfoInventarioComponent.Factory dialogAskInfoInventarioComponent();
|
||||
|
||||
DialogInputPesoLUComponent.Factory dialogInputPesoLUComponent();
|
||||
|
||||
PickingInventarioComponent.Factory pickingInventarioComponent();
|
||||
|
||||
BottomSheetItemEditComponent.Factory bottomSheetItemEditComponent();
|
||||
|
||||
BottomSheetInventarioActionsComponent.Factory bottomSheetInventarioActionsComponent();
|
||||
|
||||
BottomSheetInventarioRowActionsComponent.Factory bottomSheetInventarioRowActionsComponent();
|
||||
|
||||
BottomSheetMtbColrEditModalComponent.Factory bottomSheetMtbColrEditModalComponent();
|
||||
|
||||
DialogChooseArtsFromMtbAartListComponent.Factory dialogDialogDialogChooseArtsFromMtbAartListViewComponent();
|
||||
|
||||
MainSettingsComponent.Factory mainSettingsFragmentComponent();
|
||||
|
||||
DialogInfoSituazioneArticoloComponent.Factory dialogInfoSituazioneArticoloComponent();
|
||||
|
||||
DialogSelectDocRowsComponent.Factory dialogSelectDocRowsNewComponent();
|
||||
DialogSelectLottiComponent.Factory dialogSelectLottiComponent();
|
||||
|
||||
DialogSelectArtToOrderComponent.Factory dialogSelectArtToOrderNewComponent();
|
||||
|
||||
MainAccettazioneBollaElencoComponent.Factory mainAccettazioneBollaElencoComponent();
|
||||
|
||||
AccettazioneBollaPickingComponent.Factory accettazioneBollaPickingComponent();
|
||||
|
||||
DialogBindProductBarcodeWithPackageComponent.Factory dialogBindProductBarcodeWithPackageComponent();
|
||||
|
||||
DialogAskUnknownBarcodeNotesComponent.Factory dialogAskUnknownBarcodeNotesComponent();
|
||||
|
||||
ProdVersamentoMaterialeInBufferComponent.Factory prodVersamentoMaterialeInBufferComponent();
|
||||
|
||||
DialogInputQuantityToReturnComponent.Factory dialogInputQuantityToReturnComponent();
|
||||
|
||||
DialogInfoAggiuntiveLUComponent.Factory dialogInfoAggiuntiveLUComponent();
|
||||
|
||||
DialogAskLineaProdComponent.Factory dialogAskLineaProdComponent();
|
||||
|
||||
ProdRiposizionamentoDaProdComponent.Factory prodRiposizionamentoDaprodComponent();
|
||||
|
||||
DialogInfoGiacenzaComponent.Factory dialogInfoGiacenzaComponent();
|
||||
|
||||
ArticoliInGiacenzaComponent.Factory controlloGiacenzeComponent();
|
||||
|
||||
DialogTracciamentoImballiComponent.Factory dialogTracciamentoImballiComponent();
|
||||
|
||||
DialogAskVettoreComponent.Factory dialogAskVettoreComponent();
|
||||
|
||||
DialogAskCommessaComponent.Factory dialogAskCommessaComponent();
|
||||
|
||||
DialogCreateNewArtComponent.Factory dialogCreateNewArtComponent();
|
||||
|
||||
DialogSwitchUserDepoComponent.Factory dialogSwitchUserDepoComponent();
|
||||
|
||||
ProdRientroMerceOrderListComponent.Factory prodRientroMerceOrderListComponent();
|
||||
|
||||
DialogUpdateAvailableComponent.Factory dialogUpdateAvailableComponent();
|
||||
|
||||
DialogAskPositionOfLUComponent.Factory dialogAskPositionOfLUComponent();
|
||||
|
||||
DialogAskLivelloPosizioneComponent.Factory dialogAskLivelloPosizioneComponent();
|
||||
|
||||
VerificaGiacenzeComponent.Factory verificaGiacenzeComponent();
|
||||
|
||||
DialogExtraInfoComponent.Factory dialogExtraInfoComponent();
|
||||
|
||||
DialogAskDepositoComponent.Factory dialogAskDepositoComponent();
|
||||
|
||||
DialogChooseArtFromListaArtsComponent.Factory dialogChooseArtFromListaArtsComponent();
|
||||
|
||||
DialogUltimeConsegneFiltroAvanzatoComponent.Factory dialogUltimeConsegneFiltroAvanzatoComponent();
|
||||
|
||||
DialogUltimiArriviFornitoreFiltroAvanzatoComponent.Factory dialogUltimiArriviFornitoreFiltroAvanzatoComponent();
|
||||
|
||||
DialogSelectPositionOfLuComponent.Factory dialogSelectPositionOfLuComponent();
|
||||
|
||||
TrasferimentoPedaneComponent.Factory trasferimentoPedaneComponent();
|
||||
|
||||
DialogAskInfoTrasferimentoComponent.Factory dialogAskInfoTrasferimentoComponent();
|
||||
|
||||
TrasferimentoPedaneEditComponent.Factory traferimentoPedaneEditComponent();
|
||||
|
||||
DialogTrasferimentoPedaneConfirmExportComponent.Factory dialogTrasferimentoPedaneConfirmExportComponent();
|
||||
|
||||
DialogDeviceEndOfLifeComponent.Factory dialogDeviceEndOfLifeComponent();
|
||||
|
||||
void inject(MainApplication mainApplication);
|
||||
|
||||
void inject(AppContext mainApplication);
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
package it.integry.integrywmsnative;
|
||||
|
||||
import android.app.Application;
|
||||
import android.os.Handler;
|
||||
|
||||
import androidx.core.os.HandlerCompat;
|
||||
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
@@ -10,27 +16,46 @@ import it.integry.integrywmsnative.core.context.AppContext;
|
||||
import it.integry.integrywmsnative.core.context.MainContext;
|
||||
import it.integry.integrywmsnative.core.data_recover.ColliDataRecoverService;
|
||||
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
|
||||
import it.integry.integrywmsnative.core.ean128.Ean128Service;
|
||||
import it.integry.integrywmsnative.core.menu.MenuRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.menu.MenuService;
|
||||
import it.integry.integrywmsnative.core.rest.AuthInterceptor;
|
||||
import it.integry.integrywmsnative.core.rest.RESTBuilder;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ArticoloRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.AziendaRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.BarcodeRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliAccettazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliLavorazioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliMagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ColliSpedizioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.CommessaRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.DepositoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.DocumentRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.EntityRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.GestSetupRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaPvRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ImballiRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoAutomaticoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoBufferRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MagazzinoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MaterialiRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.MesRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.OrdiniRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PVOrdiniAcquistoRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PosizioniRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.PrinterRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ProductionLinesRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.ProduzioneRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.SystemRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.VettoriRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
|
||||
import it.integry.integrywmsnative.core.services.inventario.InventarioService;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.sound.SoundAlertService;
|
||||
import it.integry.integrywmsnative.core.update.UpdatesManager;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.rest.DocInterniRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.rest.ProdFabbisognoLineeProdRESTConsumer;
|
||||
import it.integry.integrywmsnative.gest.login.rest.AuthenticationRESTConsumer;
|
||||
import it.integry.integrywmsnative.view.dialogs.DialogProgressView;
|
||||
import it.integry.integrywmsnative.view.dialogs.input_quantity_v2.DialogInputQuantityV2View;
|
||||
|
||||
@@ -49,6 +74,24 @@ public class MainApplicationModule {
|
||||
return mApplication;
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
public ExecutorService providesExecutorService() {
|
||||
return Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
public Handler providesMainThreadHandler() {
|
||||
return HandlerCompat.createAsync(mApplication.getApplicationContext().getMainLooper());
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
public SettingsManager provideSettingsManager(SystemRESTConsumer systemRESTConsumer, ImballiRESTConsumer imballiRESTConsumer, AziendaRESTConsumer aziendaRESTConsumer, PosizioniRESTConsumer posizioniRESTConsumer, GestSetupRESTConsumer gestSetupRESTConsumer) {
|
||||
return new SettingsManager(mApplication, systemRESTConsumer, imballiRESTConsumer, aziendaRESTConsumer, gestSetupRESTConsumer, posizioniRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
AppContext providesAppContext() {
|
||||
@@ -57,8 +100,14 @@ public class MainApplicationModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
MainContext providesMainContextNew(MenuService menuService, AppDatabase appDatabase) {
|
||||
return new MainContext(mApplication.getApplicationContext(), menuService, appDatabase);
|
||||
ServerStatusChecker providesServerStatusChecker(Handler handler) {
|
||||
return new ServerStatusChecker(handler);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
MainContext providesMainContextNew(MenuService menuService, AppDatabase appDatabase, AuthenticationRESTConsumer authenticationRESTConsumer, ExecutorService executorService, Handler handler, ServerStatusChecker serverStatusChecker) {
|
||||
return new MainContext(mApplication.getApplicationContext(), menuService, appDatabase, authenticationRESTConsumer, executorService, handler, serverStatusChecker);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@@ -69,6 +118,19 @@ public class MainApplicationModule {
|
||||
return colliDataRecoverService;
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
Ean128Service provideEan128Service() {
|
||||
return new Ean128Service();
|
||||
}
|
||||
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
RESTBuilder providesRESTBuilder(AuthInterceptor authInterceptor) {
|
||||
return new RESTBuilder(authInterceptor);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
MenuService provideMenuService(MenuRESTConsumer menuRESTConsumer) {
|
||||
@@ -77,8 +139,8 @@ public class MainApplicationModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
UpdatesManager provideUpdatesManager() {
|
||||
return new UpdatesManager();
|
||||
UpdatesManager provideUpdatesManager(ExecutorService executorService, Handler handler, SystemRESTConsumer systemRESTConsumer) {
|
||||
return new UpdatesManager(executorService, handler, systemRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@@ -95,104 +157,139 @@ public class MainApplicationModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
OrdiniRESTConsumer provideOrdiniRESTConsumer(SystemRESTConsumer systemRESTConsumer, EntityRESTConsumer entityRESTConsumer) {
|
||||
return new OrdiniRESTConsumer(systemRESTConsumer, entityRESTConsumer);
|
||||
OrdiniRESTConsumer provideOrdiniRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService, SystemRESTConsumer systemRESTConsumer, EntityRESTConsumer entityRESTConsumer) {
|
||||
return new OrdiniRESTConsumer(restBuilder, executorService, systemRESTConsumer, entityRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
GestSetupRESTConsumer provideGestSetupRESTConsumer() {
|
||||
return new GestSetupRESTConsumer();
|
||||
GestSetupRESTConsumer provideGestSetupRESTConsumer(RESTBuilder restBuilder) {
|
||||
return new GestSetupRESTConsumer(restBuilder);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
ArticoloRESTConsumer provideArticoloRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
||||
return new ArticoloRESTConsumer(systemRESTConsumer);
|
||||
ArticoloRESTConsumer provideArticoloRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService, SystemRESTConsumer systemRESTConsumer) {
|
||||
return new ArticoloRESTConsumer(restBuilder, executorService, systemRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
CommessaRESTConsumer provideCommessaRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
||||
return new CommessaRESTConsumer(systemRESTConsumer);
|
||||
CommessaRESTConsumer provideCommessaRESTConsumer(ExecutorService executorService, SystemRESTConsumer systemRESTConsumer) {
|
||||
return new CommessaRESTConsumer(executorService, systemRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
DepositoRESTConsumer provideDepositoRESTConsumer(EntityRESTConsumer entityRESTConsumer, SystemRESTConsumer systemRESTConsumer) {
|
||||
return new DepositoRESTConsumer(entityRESTConsumer, systemRESTConsumer);
|
||||
DepositoRESTConsumer provideDepositoRESTConsumer(ExecutorService executorService, SystemRESTConsumer systemRESTConsumer) {
|
||||
return new DepositoRESTConsumer(executorService, systemRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
MenuRESTConsumer provideMenuRESTConsumer() {
|
||||
return new MenuRESTConsumer();
|
||||
MenuRESTConsumer provideMenuRESTConsumer(RESTBuilder restBuilder) {
|
||||
return new MenuRESTConsumer(restBuilder);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
MagazzinoRESTConsumer provideMagazzinoRESTConsumer() {
|
||||
return new MagazzinoRESTConsumer();
|
||||
MagazzinoRESTConsumer provideMagazzinoRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService, SystemRESTConsumer systemRESTConsumer) {
|
||||
return new MagazzinoRESTConsumer(restBuilder, executorService, systemRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
MesRESTConsumer provideMesRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
||||
return new MesRESTConsumer(systemRESTConsumer);
|
||||
MesRESTConsumer provideMesRESTConsumer(ExecutorService executorService, RESTBuilder restBuilder, SystemRESTConsumer systemRESTConsumer) {
|
||||
return new MesRESTConsumer(executorService, restBuilder, systemRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
EntityRESTConsumer provideEntityRESTConsumer() {
|
||||
return new EntityRESTConsumer();
|
||||
EntityRESTConsumer provideEntityRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
||||
return new EntityRESTConsumer(restBuilder, executorService);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
ColliMagazzinoRESTConsumer provideColliMagazzinoRESTConsumer(SystemRESTConsumer systemRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer, EntityRESTConsumer entityRESTConsumer) {
|
||||
return new ColliMagazzinoRESTConsumer(systemRESTConsumer, articoloRESTConsumer, entityRESTConsumer);
|
||||
ColliMagazzinoRESTConsumer provideColliMagazzinoRESTConsumer(ExecutorService executorService,
|
||||
RESTBuilder restBuilder,
|
||||
SystemRESTConsumer systemRESTConsumer,
|
||||
ArticoloRESTConsumer articoloRESTConsumer,
|
||||
EntityRESTConsumer entityRESTConsumer,
|
||||
SettingsManager settingsManager) {
|
||||
return new ColliMagazzinoRESTConsumer(executorService, restBuilder, systemRESTConsumer, articoloRESTConsumer, entityRESTConsumer, settingsManager);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
BarcodeRESTConsumer provideBarcodeRESTConsumer() {
|
||||
return new BarcodeRESTConsumer();
|
||||
AziendaRESTConsumer provideAziendaRESTConsumer(RESTBuilder restBuilder) {
|
||||
return new AziendaRESTConsumer(restBuilder);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
PrinterRESTConsumer providePrinterRESTConsumer() {
|
||||
return new PrinterRESTConsumer();
|
||||
ProduzioneRESTConsumer provideProduzioneRESTConsumer(RESTBuilder restBuilder) {
|
||||
return new ProduzioneRESTConsumer(restBuilder);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
SystemRESTConsumer provideSystemRESTConsumer() {
|
||||
return new SystemRESTConsumer();
|
||||
BarcodeRESTConsumer provideBarcodeRESTConsumer(Ean128Service ean128Service) {
|
||||
return new BarcodeRESTConsumer(ean128Service);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
PosizioniRESTConsumer providesPosizioniRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
||||
return new PosizioniRESTConsumer(systemRESTConsumer);
|
||||
PrinterRESTConsumer providePrinterRESTConsumer(ExecutorService executorService, RESTBuilder restBuilder) {
|
||||
return new PrinterRESTConsumer(executorService, restBuilder);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
ProdFabbisognoLineeProdRESTConsumer providesProdFabbisognoLineeProdRESTConsumer(SystemRESTConsumer systemRESTConsumer) {
|
||||
return new ProdFabbisognoLineeProdRESTConsumer(systemRESTConsumer);
|
||||
SystemRESTConsumer provideSystemRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
||||
return new SystemRESTConsumer(restBuilder, executorService);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
DocInterniRESTConsumer provideDocInterniRESTConsumer() {
|
||||
return new DocInterniRESTConsumer();
|
||||
PVOrdiniAcquistoRESTConsumer providesPVOrdiniAcquistoRESTConsumer(RESTBuilder restBuilder, MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
||||
return new PVOrdiniAcquistoRESTConsumer(restBuilder, magazzinoRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
GiacenzaRESTConsumer provideGiacenzaRESTConsumer(SystemRESTConsumer systemRESTConsumer, ArticoloRESTConsumer articoloRESTConsumer) {
|
||||
return new GiacenzaRESTConsumer(systemRESTConsumer, articoloRESTConsumer);
|
||||
PosizioniRESTConsumer providesPosizioniRESTConsumer(RESTBuilder restBuilder, SystemRESTConsumer systemRESTConsumer, ExecutorService executorService) {
|
||||
return new PosizioniRESTConsumer(restBuilder, systemRESTConsumer, executorService);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
DocInterniRESTConsumer provideDocInterniRESTConsumer(RESTBuilder restBuilder, MagazzinoRESTConsumer magazzinoRESTConsumer) {
|
||||
return new DocInterniRESTConsumer(restBuilder, magazzinoRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
GiacenzaRESTConsumer provideGiacenzaRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService, ArticoloRESTConsumer articoloRESTConsumer) {
|
||||
return new GiacenzaRESTConsumer(restBuilder, executorService, articoloRESTConsumer);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
GiacenzaPvRESTConsumer provideGiacenzaPvRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
||||
return new GiacenzaPvRESTConsumer(restBuilder, executorService);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
ImballiRESTConsumer provideImballiRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
||||
return new ImballiRESTConsumer(restBuilder, executorService);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
VettoriRESTConsumer provideVettoriRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
||||
return new VettoriRESTConsumer(restBuilder, executorService);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@@ -203,8 +300,58 @@ public class MainApplicationModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
ProductionLinesRESTConsumer provideProductionLinesRESTConsumer() {
|
||||
return new ProductionLinesRESTConsumer();
|
||||
ProductionLinesRESTConsumer provideProductionLinesRESTConsumer(RESTBuilder restBuilder) {
|
||||
return new ProductionLinesRESTConsumer(restBuilder);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
DocumentRESTConsumer provideDocumentiRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
||||
return new DocumentRESTConsumer(restBuilder, executorService);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
ColliAccettazioneRESTConsumer provideColliAccettazioneRESTConsumer(ExecutorService executorService, RESTBuilder restBuilder) {
|
||||
return new ColliAccettazioneRESTConsumer(executorService, restBuilder);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
ColliSpedizioneRESTConsumer provideColliSpedizioneRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
||||
return new ColliSpedizioneRESTConsumer(restBuilder, executorService);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
ColliLavorazioneRESTConsumer provideColliLavorazioneRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService, SettingsManager settingsManager) {
|
||||
return new ColliLavorazioneRESTConsumer(restBuilder, executorService, settingsManager);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
MagazzinoAutomaticoRESTConsumer provideMagazzinoAutomaticoRESTConsumer(ExecutorService executorService, RESTBuilder restBuilder) {
|
||||
return new MagazzinoAutomaticoRESTConsumer(executorService, restBuilder);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
MagazzinoBufferRESTConsumer provideMagazzinoBufferRESTConsumer(RESTBuilder restBuilder) {
|
||||
return new MagazzinoBufferRESTConsumer(restBuilder);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
MaterialiRESTConsumer provideMaterialiRESTConsumer(RESTBuilder restBuilder, ExecutorService executorService) {
|
||||
return new MaterialiRESTConsumer(restBuilder, executorService);
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
SoundAlertService provideSoundAlertService() {
|
||||
SoundAlertService soundAlertService = new SoundAlertService(mApplication.getApplicationContext());
|
||||
soundAlertService.init();
|
||||
return soundAlertService;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -4,15 +4,19 @@ import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.text.SpannableString;
|
||||
import android.text.Spanned;
|
||||
import android.view.LayoutInflater;
|
||||
|
||||
import androidx.databinding.DataBindingUtil;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
@@ -26,6 +30,7 @@ import it.integry.integrywmsnative.databinding.ActivitySplashBinding;
|
||||
import it.integry.integrywmsnative.gest.login.LoginActivity;
|
||||
import it.integry.integrywmsnative.gest.main.MainActivity;
|
||||
import it.integry.integrywmsnative.view.dialogs.base.DialogSimpleMessageView;
|
||||
import it.integry.integrywmsnative.view.dialogs.device_end_of_life.DialogDeviceEndOfLifeView;
|
||||
|
||||
public class SplashActivity extends BaseActivity implements MainContext.Listener {
|
||||
|
||||
@@ -37,6 +42,9 @@ public class SplashActivity extends BaseActivity implements MainContext.Listener
|
||||
@Inject
|
||||
MainContext mainContext;
|
||||
|
||||
@Inject
|
||||
Handler handler;
|
||||
|
||||
private RunnableArgsss<Integer, String[], List<Integer>> onRequestPermissionResult;
|
||||
|
||||
public static void startActivity(Context context) {
|
||||
@@ -61,9 +69,24 @@ public class SplashActivity extends BaseActivity implements MainContext.Listener
|
||||
|
||||
UtilityContext.initMainActivity(this);
|
||||
|
||||
LocalDate endSupportDate = LocalDate.of(2026, 1, 31);
|
||||
|
||||
boolean isOldAndroid = Build.VERSION.SDK_INT < Build.VERSION_CODES.O;
|
||||
|
||||
executorService.execute(() -> {
|
||||
|
||||
if (isOldAndroid)
|
||||
showDeviceEndOfLifeMessage();
|
||||
|
||||
handler.post(() -> {
|
||||
if (LocalDate.now().isBefore(endSupportDate) || !isOldAndroid) {
|
||||
initAppVersion();
|
||||
initPermissions(this::init);
|
||||
} else {
|
||||
this.finish();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private void initAppVersion() {
|
||||
@@ -83,12 +106,13 @@ public class SplashActivity extends BaseActivity implements MainContext.Listener
|
||||
|
||||
private void initPermissions(Runnable onComplete) {
|
||||
PermissionsHelper.askPermissions(this, onComplete, permanentlyDenied -> {
|
||||
if (permanentlyDenied) {
|
||||
if (permanentlyDenied)
|
||||
onError(new SpannableString(getText(R.string.permissions_permanently_denied)));
|
||||
|
||||
} else {
|
||||
initPermissions(onComplete);
|
||||
}
|
||||
|
||||
// else {
|
||||
// initPermissions(onComplete);
|
||||
// }
|
||||
});
|
||||
}
|
||||
|
||||
@@ -100,14 +124,29 @@ public class SplashActivity extends BaseActivity implements MainContext.Listener
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void showDeviceEndOfLifeMessage() {
|
||||
|
||||
CountDownLatch latch = new CountDownLatch(1);
|
||||
|
||||
DialogDeviceEndOfLifeView.newInstance(latch::countDown)
|
||||
.show(this.getSupportFragmentManager(), "dialog_device_end_of_life");
|
||||
|
||||
try {
|
||||
latch.await();
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDBDataLoading(String item) {
|
||||
mBinding.loadingInfoTextview.setText("Caricamento " + item);
|
||||
handler.post(() -> mBinding.loadingInfoTextview.setText("Caricamento " + item));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onMenuLoading() {
|
||||
mBinding.loadingInfoTextview.setText("Caricamento menù");
|
||||
handler.post(() -> mBinding.loadingInfoTextview.setText("Caricamento menù"));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -150,11 +189,13 @@ public class SplashActivity extends BaseActivity implements MainContext.Listener
|
||||
|
||||
@Override
|
||||
public void onError(Spanned message) {
|
||||
|
||||
DialogSimpleMessageView.makeErrorDialog(
|
||||
handler.post(() -> {
|
||||
DialogSimpleMessageView.makeErrorDialog(this,
|
||||
message, null, this::finish, R.string.logout, () -> {
|
||||
this.mainContext.logout(MainApplication::exit);
|
||||
})
|
||||
.show(this.getSupportFragmentManager(), "tag");
|
||||
.show();
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,8 +5,9 @@ public class CommonConst {
|
||||
public static class Login {
|
||||
|
||||
public static class Azienda {
|
||||
public static String protocol = "https";
|
||||
public static String host = "www2.studioml.it";
|
||||
public static int port = 80;
|
||||
public static int port = 443;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -23,19 +24,4 @@ public class CommonConst {
|
||||
public static String RECOVER_COLLO_FILE = "recover_ul.json";
|
||||
}
|
||||
|
||||
public static class Mail {
|
||||
|
||||
public static String[] forErrorsDebug = {
|
||||
"g.scorrano@integry.it",
|
||||
"v.castellana@integry.it"
|
||||
};
|
||||
|
||||
public static String[] forErrors = {
|
||||
// "syslogs@integry.it",
|
||||
"g.scorrano@integry.it",
|
||||
"v.castellana@integry.it"
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package it.integry.integrywmsnative.core.authentication;
|
||||
|
||||
import io.jsonwebtoken.Claims;
|
||||
import io.jsonwebtoken.Jws;
|
||||
import io.jsonwebtoken.Jwts;
|
||||
import io.jsonwebtoken.io.Decoders;
|
||||
import io.jsonwebtoken.security.Keys;
|
||||
|
||||
public class JwtUtils {
|
||||
|
||||
private final static String SIGNING_KEY = "gICy3bjD56i/YFnBZZKe5ibiz3Snsp08nybGGziCV4ZcvyXBbyqWUnJ2wTrRXhOuf/xdljPXX0yBaqdAgvKthQ==";
|
||||
|
||||
public static Claims parseJwt(String token) {
|
||||
Jws<Claims> jws = Jwts.parser()
|
||||
.verifyWith(Keys.hmacShaKeyFor(Decoders.BASE64.decode(SIGNING_KEY)))
|
||||
.build()
|
||||
.parseSignedClaims(token);
|
||||
|
||||
return jws.getPayload();
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,7 @@ public class BarcodeCallbackDTO {
|
||||
|
||||
private int ID = -1;
|
||||
|
||||
private boolean enabled = true;
|
||||
private RunnableArgs<BarcodeScanDTO> onScanSuccessfull;
|
||||
private RunnableArgs<Exception> onScanFailed;
|
||||
|
||||
@@ -19,6 +20,15 @@ public class BarcodeCallbackDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isEnabled() {
|
||||
return enabled;
|
||||
}
|
||||
|
||||
public BarcodeCallbackDTO setEnabled(boolean enabled) {
|
||||
this.enabled = enabled;
|
||||
return this;
|
||||
}
|
||||
|
||||
public RunnableArgs<BarcodeScanDTO> getOnScanSuccessfull() {
|
||||
return onScanSuccessfull;
|
||||
}
|
||||
|
||||
@@ -1,14 +1,21 @@
|
||||
package it.integry.integrywmsnative.core.barcode_reader;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.util.Log;
|
||||
import android.util.Pair;
|
||||
import android.view.KeyEvent;
|
||||
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.barcode_base_android_library.interfaces.BarcodeReaderInterface;
|
||||
import it.integry.barcode_base_android_library.model.BarcodeSetting;
|
||||
import it.integry.honeywellscannerlibrary.HoneyWellBarcodeReader;
|
||||
import it.integry.integrywmsnative.gest.settings.MainSettingsFragment;
|
||||
import it.integry.keyobardemulatorscannerlibrary.KeyboardEmulatorBarcodeReader;
|
||||
import it.integry.pointmobilescannerlibrary.PointMobileBarcodeReader;
|
||||
import it.integry.zebrascannerlibrary.ZebraBarcodeReader;
|
||||
@@ -18,7 +25,7 @@ public class BarcodeManager {
|
||||
private static BarcodeReaderInterface mCurrentBarcodeInterface;
|
||||
private static final List<BarcodeCallbackDTO> mBarcodeCallbacksStacktrace = new ArrayList<>();
|
||||
|
||||
private static boolean mEnabled = true;
|
||||
// private static boolean mEnabled = true;
|
||||
|
||||
|
||||
private static final Class<? extends BarcodeReaderInterface>[] registeredBarcodeReaderInterfaces = new Class[]{
|
||||
@@ -55,16 +62,28 @@ public class BarcodeManager {
|
||||
|
||||
mCurrentBarcodeInterface.register(data -> {
|
||||
BarcodeCallbackDTO callback = getValidCallback();
|
||||
if (callback != null && mEnabled) {
|
||||
if (callback != null && callback.isEnabled()) {
|
||||
callback.getOnScanSuccessfull().run(data);
|
||||
}
|
||||
}, ex -> {
|
||||
BarcodeCallbackDTO callback = getValidCallback();
|
||||
if (callback != null && mEnabled) {
|
||||
if (callback != null && callback.isEnabled()) {
|
||||
callback.getOnScanFailed().run(ex);
|
||||
}
|
||||
});
|
||||
|
||||
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(applicationContext);
|
||||
var additionalSettings = new ArrayList<Pair<String, Object>>();
|
||||
var scanDelay = sharedPreferences.getString(MainSettingsFragment.KEY_TRIGGER_SCAN_DELAY, null);
|
||||
var scanDelaySetting = new Pair<String, Object>(BarcodeSetting.P_TRIGGER_SCAN_DELAY, scanDelay);
|
||||
additionalSettings.add(scanDelaySetting);
|
||||
|
||||
var scanMode = sharedPreferences.getString(MainSettingsFragment.KEY_TRIGGER_SCAN_MODE, null);
|
||||
var scanModeSetting = new Pair<String, Object>(BarcodeSetting.P_TRIGGER_SCAN_MODE, scanMode);
|
||||
additionalSettings.add(scanModeSetting);
|
||||
|
||||
BarcodeManager.changeSettings(additionalSettings);
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -72,7 +91,7 @@ public class BarcodeManager {
|
||||
|
||||
private static BarcodeCallbackDTO getValidCallback() {
|
||||
|
||||
if (mBarcodeCallbacksStacktrace.size() > 0) {
|
||||
if (!mBarcodeCallbacksStacktrace.isEmpty()) {
|
||||
return mBarcodeCallbacksStacktrace.get(mBarcodeCallbacksStacktrace.size() - 1);
|
||||
} else {
|
||||
return null;
|
||||
@@ -81,8 +100,7 @@ public class BarcodeManager {
|
||||
}
|
||||
|
||||
public static boolean onKeyDown(int keyCode, KeyEvent keyEvent) {
|
||||
if (mCurrentBarcodeInterface != null)
|
||||
mCurrentBarcodeInterface.onKeyEvent(keyEvent);
|
||||
if (mCurrentBarcodeInterface != null) mCurrentBarcodeInterface.onKeyEvent(keyEvent);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -91,10 +109,9 @@ public class BarcodeManager {
|
||||
}
|
||||
|
||||
public static int addCallback(BarcodeCallbackDTO barcodeCallbackDTO) {
|
||||
|
||||
int newID = -1;
|
||||
|
||||
if (mBarcodeCallbacksStacktrace.size() > 0) {
|
||||
if (!mBarcodeCallbacksStacktrace.isEmpty()) {
|
||||
newID = mBarcodeCallbacksStacktrace.get(mBarcodeCallbacksStacktrace.size() - 1).getID() + 1;
|
||||
} else {
|
||||
newID = 1;
|
||||
@@ -121,18 +138,53 @@ public class BarcodeManager {
|
||||
}
|
||||
|
||||
|
||||
public static void disable() {
|
||||
mEnabled = false;
|
||||
public static void disable(int instanceId) {
|
||||
mBarcodeCallbacksStacktrace.stream().filter(x -> x.getID() == instanceId)
|
||||
.findFirst().ifPresent(x -> {
|
||||
x.setEnabled(false);
|
||||
Log.d("BarcodeManager", "Disabled callback " + x.getID() + ": " + x.getOnScanSuccessfull());
|
||||
});
|
||||
}
|
||||
|
||||
public static void enable() {
|
||||
mEnabled = true;
|
||||
public static void disableLastCallback() {
|
||||
BarcodeCallbackDTO validCallback = getValidCallback();
|
||||
if (validCallback != null) {
|
||||
validCallback.setEnabled(false);
|
||||
// Log.d("BarcodeManager", "Last callback disabled: " + validCallback.getOnScanSuccessfull());
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isEnabled() {
|
||||
return mEnabled;
|
||||
public static void enable(int instanceId) {
|
||||
mBarcodeCallbacksStacktrace.stream().filter(x -> x.getID() == instanceId)
|
||||
.findFirst()
|
||||
.ifPresent(x -> {
|
||||
x.setEnabled(true);
|
||||
// Log.d("BarcodeManager", "Enabled callback " + x.getID() + ": " + x.getOnScanSuccessfull());
|
||||
});
|
||||
}
|
||||
|
||||
public static void enableLastCallback() {
|
||||
BarcodeCallbackDTO validCallback = getValidCallback();
|
||||
if (validCallback != null) {
|
||||
validCallback.setEnabled(true);
|
||||
Log.d("BarcodeManager", "Last callback enabled: " + validCallback.getOnScanSuccessfull());
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean isEnabled(int instanceId) {
|
||||
return mBarcodeCallbacksStacktrace.stream().filter(x -> x.getID() == instanceId)
|
||||
.findFirst()
|
||||
.map(BarcodeCallbackDTO::isEnabled)
|
||||
.orElse(false);
|
||||
}
|
||||
|
||||
public static boolean isLastCallbackEnabled() {
|
||||
return getValidCallback() != null && getValidCallback().isEnabled();
|
||||
}
|
||||
|
||||
public static void changeSettings(List<Pair<String, Object>> settings) {
|
||||
mCurrentBarcodeInterface.changeSettings(settings);
|
||||
}
|
||||
|
||||
public static boolean isKeyboardEmulator() {
|
||||
return mCurrentBarcodeInterface instanceof KeyboardEmulatorBarcodeReader;
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
package it.integry.integrywmsnative.core.base;
|
||||
|
||||
public interface Callable<I, O> {
|
||||
O call(I input);
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
package it.integry.integrywmsnative.core.base;
|
||||
|
||||
public interface CallableII<I, L, O> {
|
||||
O call(I input, L input2);
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
package it.integry.integrywmsnative.core.class_router;
|
||||
|
||||
import java.util.HashMap;
|
||||
|
||||
import it.integry.integrywmsnative.core.class_router.interfaces.ICustomConfiguration;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityHashMap;
|
||||
|
||||
public class BaseCustomConfiguration implements ICustomConfiguration {
|
||||
|
||||
|
||||
public static class Keys {
|
||||
public static int FLAG_SHOW_COD_FORN_IN_SPEDIZIONE = 1;
|
||||
public static int CUSTOM_DYNAMIC_VERSION_PATH = 2;
|
||||
public static int FLAG_SPEDIZIONE_GROUP_BY_GRP_MERC = 3;
|
||||
}
|
||||
|
||||
protected HashMap<Integer, Object> configurations = new HashMap<>() {{
|
||||
put(Keys.FLAG_SHOW_COD_FORN_IN_SPEDIZIONE, true);
|
||||
put(Keys.FLAG_SPEDIZIONE_GROUP_BY_GRP_MERC, false);
|
||||
}};
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public <T> T getConfig(int key) {
|
||||
return UtilityHashMap.getValue(configurations, key);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,84 +0,0 @@
|
||||
package it.integry.integrywmsnative.core.class_router;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.Pair;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ClassRouter {
|
||||
|
||||
public enum PATH {
|
||||
FILTRO_ORDINI_VENDITA,
|
||||
ORDINI_VENDITA,
|
||||
CUSTOM_CONFIGURATION,
|
||||
BARCODE_CUSTOMIZATION
|
||||
}
|
||||
|
||||
private static Context context;
|
||||
|
||||
private static List<Pair<PATH, Object>> mRouteClasses = new ArrayList<>();
|
||||
|
||||
public static void init() {
|
||||
// ClassRouter.context = context;
|
||||
}
|
||||
|
||||
private static boolean checkIClassExists(PATH path) {
|
||||
boolean methodAlreadyDeclared = false;
|
||||
|
||||
for(int i = 0; i < mRouteClasses.size() && !methodAlreadyDeclared; i++) {
|
||||
if(mRouteClasses.get(i).first == path) methodAlreadyDeclared = true;
|
||||
}
|
||||
|
||||
return methodAlreadyDeclared;
|
||||
}
|
||||
|
||||
|
||||
private static int getClassIndex(PATH path) {
|
||||
for(int i = 0; i < mRouteClasses.size(); i++) {
|
||||
if(mRouteClasses.get(i).first == path) return i;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
public static void registerPath(PATH path, Class clazz) {
|
||||
if(checkIClassExists(path)) {
|
||||
//throw new MethodPathAlreadyDeclaredException(path);
|
||||
}
|
||||
|
||||
try {
|
||||
mRouteClasses.add(new Pair<>(path, clazz.newInstance()));
|
||||
} catch (IllegalAccessException | InstantiationException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public static void deregisterPath(PATH path) {
|
||||
if(checkIClassExists(path)) {
|
||||
mRouteClasses.remove(getClassIndex(path));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static <T> T getInstance(PATH path) {
|
||||
try {
|
||||
|
||||
if (!checkIClassExists(path)) {
|
||||
// throw new MethodPathNotRegisteredException(path);
|
||||
}
|
||||
|
||||
Object instance = mRouteClasses.get(getClassIndex(path)).second;
|
||||
|
||||
return (T)instance;
|
||||
|
||||
} catch (Exception ex) {
|
||||
// UtilityExceptions.defaultException(null, ex, true);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -2,8 +2,12 @@ package it.integry.integrywmsnative.core.class_router.configs;
|
||||
|
||||
import it.integry.integrywmsnative.R;
|
||||
import it.integry.integrywmsnative.core.model.secondary.GestioneEnum;
|
||||
import it.integry.integrywmsnative.gest.accettazione.MainAccettazioneFragment;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.gest.accettazione_bolla_elenco.MainAccettazioneBollaElencoFragment;
|
||||
import it.integry.integrywmsnative.gest.accettazione_ordini_elenco.MainAccettazioneOrdiniElencoFragment;
|
||||
import it.integry.integrywmsnative.gest.articoli_in_giacenza.ArticoliInGiacenzaFragment;
|
||||
import it.integry.integrywmsnative.gest.contab_doc_interni.DocInterniFragment;
|
||||
import it.integry.integrywmsnative.gest.inventario.ElencoInventariFragment;
|
||||
import it.integry.integrywmsnative.gest.ordini_uscita_elenco.OrdiniUscitaElencoFragment;
|
||||
import it.integry.integrywmsnative.gest.picking_libero.PickingLiberoFragment;
|
||||
import it.integry.integrywmsnative.gest.prod_accettazione_ord_produzione.ProdOrdineProduzioneElencoFragment;
|
||||
@@ -11,9 +15,14 @@ import it.integry.integrywmsnative.gest.prod_fabbisogno_linee_prod.ProdFabbisogn
|
||||
import it.integry.integrywmsnative.gest.prod_linee_produzione.ProdLineeProduzioneFragment;
|
||||
import it.integry.integrywmsnative.gest.prod_recupero_materiale.ProdRecuperoMaterialeFragment;
|
||||
import it.integry.integrywmsnative.gest.prod_rientro_merce.ProdRientroMerceFragment;
|
||||
import it.integry.integrywmsnative.gest.prod_riposizionamento_da_prod.ProdRiposizionamentoDaProdFragment;
|
||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale.ProdVersamentoMaterialeFragment;
|
||||
import it.integry.integrywmsnative.gest.prod_versamento_materiale_su_mag_prossimita.ProdVersamentoMaterialeInBufferFragment;
|
||||
import it.integry.integrywmsnative.gest.pv_ordini_acquisto.PVOrdiniAcquistoGrigliaFragment;
|
||||
import it.integry.integrywmsnative.gest.pv_verifica_giacenze.VerificaGiacenzeFragment;
|
||||
import it.integry.integrywmsnative.gest.rettifica_giacenze.RettificaGiacenzeFragment;
|
||||
import it.integry.integrywmsnative.gest.spedizione.dialogs.row_info.info_situazione_articolo.DialogInfoSituazioneArticoloView;
|
||||
import it.integry.integrywmsnative.gest.trasferimento_pedane.TrasferimentoPedaneFragment;
|
||||
import it.integry.integrywmsnative.gest.ultime_consegne_cliente.UltimeConsegneClienteFragment;
|
||||
import it.integry.integrywmsnative.gest.ultimi_arrivi_fornitore.UltimiArriviFornitoreFragment;
|
||||
import it.integry.integrywmsnative.gest.versamento_merce.VersamentoMerceFragment;
|
||||
@@ -33,10 +42,18 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_accettazione)
|
||||
.setCodMenu("MG044")
|
||||
.setTitleText(R.string.accettazione_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_accettazione)
|
||||
.setTitleText(R.string.accettazione_ordine_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_accettazione_ordini)
|
||||
.setDrawerIcon(R.drawable.ic_black_download)
|
||||
.setFragmentFactory(MainAccettazioneFragment::newInstance))
|
||||
.setFragmentFactory(MainAccettazioneOrdiniElencoFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_accettazione_bolle)
|
||||
.setCodMenu("MG065")
|
||||
.setTitleText(R.string.accettazione_bolle_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_accettazione_bolle)
|
||||
.setDrawerIcon(R.drawable.ic_black_download)
|
||||
.setFragmentFactory(MainAccettazioneBollaElencoFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_resi_fornitore)
|
||||
@@ -56,8 +73,16 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
||||
.setCodMenu("MG046")
|
||||
.setTitleText(R.string.vendita_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_spedizione)
|
||||
.setDrawerIcon(R.drawable.ic_black_upload)
|
||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, null)))
|
||||
.setDrawerIcon(R.drawable.ic_upload)
|
||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.VENDITA, null, -1, DialogInfoSituazioneArticoloView.class)))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_rettifica_spedizione)
|
||||
.setCodMenu("MG064")
|
||||
.setTitleText(R.string.rettifica_spedizione_fragment_title)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_rettifica_spedizione)
|
||||
.setDrawerIcon(R.drawable.ic_rettifica_spedizione_drawer)
|
||||
.setFragmentFactory(() -> RettificaGiacenzeFragment.newInstance(GestioneEnum.VENDITA)))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_free_picking)
|
||||
@@ -65,7 +90,8 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
||||
.setTitleText(R.string.free_picking)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_picking_libero)
|
||||
.setDrawerIcon(R.drawable.ic_black_barcode_scanner)
|
||||
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.VENDITA)))
|
||||
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(R.string.free_picking, GestioneEnum.VENDITA,
|
||||
SettingsManager.iDB().isFlagAskClienteInPickingLibero(), false, false)))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_resi_cliente)
|
||||
@@ -93,22 +119,23 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
||||
.setTitleText(R.string.prod_ordine_lavorazione_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_lavorazione)
|
||||
.setDrawerIcon(R.drawable.ic_black_external)
|
||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, null)))
|
||||
.setFragmentFactory(() -> OrdiniUscitaElencoFragment.newInstance(GestioneEnum.PRODUZIONE, GestioneEnum.LAVORAZIONE, -1, SettingsManager.iDB().isFlagProduzioneShowInfo() ? DialogInfoSituazioneArticoloView.class : null)))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_free_lav_picking)
|
||||
.setCodMenu("MG051")
|
||||
.setTitleText(it.integry.integrywmsnative.R.string.free_lav_picking)
|
||||
.setTitleText(R.string.free_lav_picking)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_prod_picking_libero)
|
||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_barcode_scanner)
|
||||
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(GestioneEnum.LAVORAZIONE)))
|
||||
.setDrawerIcon(R.drawable.ic_black_barcode_scanner)
|
||||
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(R.string.free_lav_picking, GestioneEnum.LAVORAZIONE,
|
||||
SettingsManager.iDB().isFlagAskClienteInPickingLibero(), false, SettingsManager.iDB().isFlagAskCommessaInPickingLiberoLav())))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_prod_posizionamento_da_ord)
|
||||
.setCodMenu("MG052")
|
||||
.setTitleText(R.string.prod_fabbisogno_linee_prod_title)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_merce)
|
||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_load_shelf)
|
||||
.setDrawerIcon(R.drawable.ic_black_load_shelf)
|
||||
.setFragmentFactory(ProdFabbisognoLineeProdFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
@@ -128,20 +155,44 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
||||
.setFragmentFactory(ProdRecuperoMaterialeFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(it.integry.integrywmsnative.R.id.nav_prod_rientro_merce)
|
||||
.setID(R.id.nav_prod_rientro_merce)
|
||||
.setCodMenu("MG059")
|
||||
.setTitleText(it.integry.integrywmsnative.R.string.rientro_merce_fragment_title)
|
||||
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_prod_accettazione_produzione)
|
||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_black_external)
|
||||
.setTitleText(R.string.rientro_merce_fragment_title)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_prod_accettazione_produzione)
|
||||
.setDrawerIcon(R.drawable.ic_black_external)
|
||||
.setFragmentFactory(ProdRientroMerceFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(it.integry.integrywmsnative.R.id.nav_prod_linee)
|
||||
.setID(R.id.nav_prod_linee)
|
||||
.setCodMenu("MG061")
|
||||
.setTitleText(it.integry.integrywmsnative.R.string.nav_prod_linee_title)
|
||||
.setTitleText(R.string.nav_prod_linee_title)
|
||||
.setTitleIcon(R.drawable.ic_production_line)
|
||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_production_line)
|
||||
.setDrawerIcon(R.drawable.ic_production_line)
|
||||
.setFragmentFactory(ProdLineeProduzioneFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_prod_versamento_materiale_in_buffer)
|
||||
.setCodMenu("MG066")
|
||||
.setTitleText(R.string.prod_versamento_materiale_in_buffer_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_materiale)
|
||||
.setDrawerIcon(R.drawable.ic_black_external)
|
||||
.setFragmentFactory(ProdVersamentoMaterialeInBufferFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_prod_versamento_su_ordine)
|
||||
.setCodMenu("MG068")
|
||||
.setTitleText(R.string.prod_versamento_su_ordine_title_fragment)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_prod_versamento_su_ord)
|
||||
.setDrawerIcon(R.drawable.ic_black_external)
|
||||
.setFragmentFactory(() -> PickingLiberoFragment.newInstance(R.string.prod_versamento_su_ordine_title_fragment, GestioneEnum.LAVORAZIONE, false, true, false)))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_prod_riposizionamento_da_ord)
|
||||
.setCodMenu("MG069")
|
||||
.setTitleText(R.string.prod_riposizionamento_da_prod_title)
|
||||
.setTitleIcon(R.drawable.ic_production_line_produzione)
|
||||
.setDrawerIcon(R.drawable.ic_black_load_shelf)
|
||||
.setFragmentFactory(ProdRiposizionamentoDaProdFragment::newInstance))
|
||||
).addGroup(
|
||||
new MenuGroup()
|
||||
.setGroupText(R.string.internal_handling)
|
||||
@@ -164,6 +215,29 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
||||
.setDrawerIcon(R.drawable.ic_black_empty_box)
|
||||
.setFragmentFactory(RettificaGiacenzeFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_inventario)
|
||||
.setCodMenu("MG062")
|
||||
.setTitleText(R.string.inventario_fragment_title)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_rettifica_giacenze)
|
||||
.setDrawerIcon(R.drawable.ic_black_empty_box)
|
||||
.setFragmentFactory(ElencoInventariFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_articoli_in_giacenza)
|
||||
.setCodMenu("MG070")
|
||||
.setTitleText(R.string.articoli_in_giacenza_title)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_articoli_in_giacenza)
|
||||
.setDrawerIcon(R.drawable.ic_black_empty_box)
|
||||
.setFragmentFactory(ArticoliInGiacenzaFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setID(R.id.nav_trasferimento_pedane)
|
||||
.setCodMenu("MG076")
|
||||
.setTitleText(R.string.trasferimento_pedane_title)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_trasferimento_pedane)
|
||||
.setDrawerIcon(R.drawable.ic_black_empty_box)
|
||||
.setFragmentFactory(TrasferimentoPedaneFragment::newInstance))
|
||||
|
||||
).addGroup(
|
||||
new MenuGroup()
|
||||
@@ -178,14 +252,23 @@ public class MenuConfiguration extends BaseMenuConfiguration {
|
||||
.setTitleIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_purchase_orders_pv)
|
||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_purchase_orders_pv)
|
||||
.setFragmentFactory(PVOrdiniAcquistoGrigliaFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setCodMenu("MG058")
|
||||
.setID(it.integry.integrywmsnative.R.id.nav_pv_doc_interni)
|
||||
.setTitleText(it.integry.integrywmsnative.R.string.doc_interni)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_contab_doc_interni)
|
||||
.setDrawerIcon(it.integry.integrywmsnative.R.drawable.ic_dashboard_contab_doc_interni)
|
||||
.setDrawerIcon(R.drawable.ic_documents_outline)
|
||||
.setFragmentFactory(DocInterniFragment::newInstance))
|
||||
|
||||
.addItem(new MenuItem()
|
||||
.setCodMenu("MG075")
|
||||
.setID(it.integry.integrywmsnative.R.id.nav_pv_verifica_giacenze)
|
||||
.setTitleText(R.string.verifica_giacenze_menu)
|
||||
.setTitleIcon(R.drawable.ic_dashboard_verifica_giacenze)
|
||||
.setDrawerIcon(R.drawable.ic_drawer_verifica_giacenze)
|
||||
.setFragmentFactory(VerificaGiacenzeFragment::newInstance))
|
||||
|
||||
// .addItem(new MenuItem()
|
||||
// .setID(it.integry.integrywmsnative.R.id.nav_pv_ordini_acquisto_trasmessi)
|
||||
// .setTitleText(it.integry.integrywmsnative.R.string.transmitted_orders)
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
package it.integry.integrywmsnative.core.class_router.exceptions;
|
||||
|
||||
import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
||||
|
||||
public class MethodPathNotRegisteredException extends Exception {
|
||||
|
||||
public MethodPathNotRegisteredException(ClassRouter.PATH path) {
|
||||
super(String.format("Path %s is not registered", path.toString()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package it.integry.integrywmsnative.core.class_router.interfaces;
|
||||
|
||||
public interface IBarcodeCustomization {
|
||||
|
||||
boolean shouldForceToEan13(String barcode);
|
||||
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package it.integry.integrywmsnative.core.class_router.interfaces;
|
||||
|
||||
public interface ICustomConfiguration {
|
||||
|
||||
<T>T getConfig(int key);
|
||||
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
package it.integry.integrywmsnative.core.class_router.interfaces;
|
||||
|
||||
public interface IFiltroOrdiniVendita {
|
||||
|
||||
boolean shoudShowCodMdepFilter();
|
||||
|
||||
boolean shoudShowIdViaggioFilter();
|
||||
|
||||
boolean shoudShowAgenteFilter();
|
||||
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
package it.integry.integrywmsnative.core.class_router.interfaces;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
||||
|
||||
public interface IOrdiniVendita {
|
||||
|
||||
void distribuisciCollo(MtbColt mtbColt, List<OrdineUscitaInevasoDTO> testateOrdini, RunnableArgs<List<MtbColt>> onComplete, RunnableArgs<Exception> onFailed);
|
||||
|
||||
}
|
||||
@@ -2,10 +2,14 @@ package it.integry.integrywmsnative.core.context;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
import com.google.firebase.crashlytics.FirebaseCrashlytics;
|
||||
import com.orhanobut.logger.AndroidLogAdapter;
|
||||
import com.orhanobut.logger.DiskLogAdapter;
|
||||
import com.orhanobut.logger.Logger;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
|
||||
@@ -28,6 +32,11 @@ public class AppContext {
|
||||
@Inject
|
||||
AppDatabase mAppDatabase;
|
||||
|
||||
@Inject
|
||||
SettingsManager mSettingsManager;
|
||||
|
||||
private File logsFolder;
|
||||
|
||||
public AppContext(Context context) {
|
||||
this.mApplicationContext = context;
|
||||
|
||||
@@ -36,8 +45,6 @@ public class AppContext {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Inject
|
||||
public void init() {
|
||||
this.initUtilities();
|
||||
@@ -49,17 +56,21 @@ public class AppContext {
|
||||
this.initLogger();
|
||||
}
|
||||
|
||||
public File getLogFilePath() {
|
||||
return logsFolder;
|
||||
}
|
||||
|
||||
|
||||
private void initSettings() {
|
||||
Stash.init(mApplicationContext);
|
||||
SettingsManager.init(mApplicationContext);
|
||||
mSettingsManager.init();
|
||||
}
|
||||
|
||||
private void initCrashlytics() {
|
||||
if(!BuildConfig.DEBUG) {
|
||||
if (!BuildConfig.DEBUG) {
|
||||
FirebaseCrashlytics crashlytics = FirebaseCrashlytics.getInstance();
|
||||
|
||||
if( SettingsManager.isInstanceAvailable() &&
|
||||
if (SettingsManager.isInstanceAvailable() &&
|
||||
(SettingsManager.i().getUserSession() != null && !UtilityString.isNullOrEmpty(SettingsManager.i().getUserSession().getProfileDB())) &&
|
||||
(SettingsManager.i().getUser() != null && !UtilityString.isNullOrEmpty(SettingsManager.i().getUser().getFullname()))) {
|
||||
|
||||
@@ -77,6 +88,50 @@ public class AppContext {
|
||||
|
||||
private void initLogger() {
|
||||
Logger.addLogAdapter(new AndroidLogAdapter());
|
||||
|
||||
File dataDir = mApplicationContext.getExternalFilesDir(null);
|
||||
|
||||
logsFolder = new File(dataDir, "logs");
|
||||
|
||||
if (!logsFolder.exists())
|
||||
logsFolder.mkdirs();
|
||||
|
||||
//Temporary clean
|
||||
File[] wrongFilesToBeDeleted = dataDir.listFiles((file, s) -> s.startsWith("logs_"));
|
||||
|
||||
if (wrongFilesToBeDeleted != null)
|
||||
for (File fileToDelete : wrongFilesToBeDeleted) {
|
||||
fileToDelete.delete();
|
||||
}
|
||||
|
||||
removeOldLogs(logsFolder);
|
||||
|
||||
int maxBytesSize = 5 * 1024 * 1024;
|
||||
Logger.addLogAdapter(new DiskLogAdapter(logsFolder, maxBytesSize));
|
||||
}
|
||||
|
||||
private void removeOldLogs(File logsFolder) {
|
||||
var files = logsFolder.listFiles();
|
||||
|
||||
if (files == null || files.length <= 1)
|
||||
return;
|
||||
|
||||
var logFiles = Stream.of(files)
|
||||
.sortBy(x -> -1 * x.lastModified())
|
||||
.skip(1)
|
||||
.toList();
|
||||
|
||||
for (var logFile : logFiles) {
|
||||
boolean isDeleted = logFile.delete();
|
||||
}
|
||||
|
||||
files = logsFolder.listFiles();
|
||||
|
||||
if (files == null || files.length > 1)
|
||||
return;
|
||||
|
||||
final boolean isRenamed = files[0].renameTo(new File(files[0].getParentFile().getAbsolutePath() + "/" + "logs_0.csv"));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,23 +1,25 @@
|
||||
package it.integry.integrywmsnative.core.context;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
import android.text.Html;
|
||||
import android.text.SpannableString;
|
||||
import android.text.Spanned;
|
||||
import android.text.SpannedString;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import com.google.firebase.installations.FirebaseInstallations;
|
||||
|
||||
import java.net.ConnectException;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
import it.integry.integrywmsnative.core.barcode_reader.BarcodeManager;
|
||||
import it.integry.integrywmsnative.core.class_router.ClassRouter;
|
||||
import it.integry.integrywmsnative.core.data_store.db.AppDatabase;
|
||||
import it.integry.integrywmsnative.core.menu.MenuService;
|
||||
import it.integry.integrywmsnative.core.rest.watcher.ServerStatusChecker;
|
||||
import it.integry.integrywmsnative.core.settings.SettingsManager;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityThread;
|
||||
import it.integry.integrywmsnative.gest.login.rest.AuthenticationRESTConsumer;
|
||||
|
||||
@Singleton
|
||||
public class MainContext {
|
||||
@@ -25,61 +27,41 @@ public class MainContext {
|
||||
private final Context applicationContext;
|
||||
private final MenuService menuService;
|
||||
private final AppDatabase appDatabase;
|
||||
private final AuthenticationRESTConsumer authenticationRESTConsumer;
|
||||
private final ExecutorService executorService;
|
||||
private final Handler handler;
|
||||
private final ServerStatusChecker serverStatusChecker;
|
||||
|
||||
private Listener mListener;
|
||||
|
||||
public MainContext(Context applicationContext, MenuService menuService, AppDatabase appDatabase) {
|
||||
public MainContext(Context applicationContext, MenuService menuService, AppDatabase appDatabase, AuthenticationRESTConsumer authenticationRESTConsumer, ExecutorService executorService, Handler handler, ServerStatusChecker serverStatusChecker) {
|
||||
this.applicationContext = applicationContext;
|
||||
this.menuService = menuService;
|
||||
this.appDatabase = appDatabase;
|
||||
this.authenticationRESTConsumer = authenticationRESTConsumer;
|
||||
this.executorService = executorService;
|
||||
this.handler = handler;
|
||||
this.serverStatusChecker = serverStatusChecker;
|
||||
}
|
||||
|
||||
public void init() {
|
||||
|
||||
try {
|
||||
BarcodeManager.init(applicationContext);
|
||||
} catch (Exception exception) {
|
||||
|
||||
exception.printStackTrace();
|
||||
}
|
||||
|
||||
this.initDBData(() -> {
|
||||
this.initMenu(() -> {
|
||||
|
||||
this.initReflections();
|
||||
executorService.execute(() -> {
|
||||
|
||||
try {
|
||||
this.initDBData();
|
||||
this.initMenu();
|
||||
serverStatusChecker.init();
|
||||
|
||||
if (mListener != null) mListener.onContextInitialized();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
this.initServerStatusChecker();
|
||||
|
||||
}
|
||||
|
||||
public void logout(Runnable onLoggedOut) {
|
||||
menuService.invalidateCache();
|
||||
UtilityThread.executeParallel(() -> {
|
||||
SettingsManager.i().setUser(null);
|
||||
SettingsManager.i().setUserSession(null);
|
||||
SettingsManager.update();
|
||||
appDatabase.clearAllTables();
|
||||
|
||||
onLoggedOut.run();
|
||||
}, true);
|
||||
}
|
||||
|
||||
private void initServerStatusChecker() {
|
||||
ServerStatusChecker.init();
|
||||
}
|
||||
|
||||
private void initDBData(Runnable onComplete) {
|
||||
|
||||
|
||||
SettingsManager.loadDBVariables(item -> {
|
||||
if (mListener != null) mListener.onDBDataLoading(item);
|
||||
},
|
||||
onComplete,
|
||||
ex -> {
|
||||
|
||||
} catch (Exception ex) {
|
||||
Spanned message = null;
|
||||
|
||||
if (ex.getCause() != null && ex.getCause() instanceof ConnectException) {
|
||||
@@ -91,40 +73,61 @@ public class MainContext {
|
||||
}
|
||||
|
||||
if (mListener != null) mListener.onError(message);
|
||||
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
private void initMenu(Runnable onComplete) {
|
||||
if (mListener != null) mListener.onMenuLoading();
|
||||
this.menuService.init(onComplete, ex -> {
|
||||
|
||||
private void initAuthSession(Runnable onComplete) {
|
||||
this.authenticationRESTConsumer.me(obj -> {
|
||||
onComplete.run();
|
||||
}, ex -> {
|
||||
if (mListener != null) mListener.onError(new SpannedString(ex.getMessage()));
|
||||
});
|
||||
}
|
||||
|
||||
private void initReflections() {
|
||||
ClassRouter.init();
|
||||
|
||||
try {
|
||||
String initMethod = "init";
|
||||
|
||||
Class dynamicContextClass = Class.forName("it.integry.wms.dynamic_customization.DynamicContext");
|
||||
|
||||
Method[] methods = dynamicContextClass.getMethods();
|
||||
for (Method m : methods) {
|
||||
if (initMethod.equals(m.getName())) {
|
||||
// for static methods we can use null as instance of class
|
||||
final Object newInstance = dynamicContextClass.newInstance();
|
||||
|
||||
m.invoke(newInstance, applicationContext);
|
||||
break;
|
||||
}
|
||||
private void initDeviceId(Runnable onComplete) {
|
||||
if (SettingsManager.i().getUserSession().getDeviceId() != null) {
|
||||
onComplete.run();
|
||||
return;
|
||||
}
|
||||
|
||||
} catch (Exception e) {
|
||||
// UtilityExceptions.defaultException(mContext, e, true);
|
||||
|
||||
FirebaseInstallations.getInstance().getId().addOnCompleteListener(fid -> {
|
||||
SettingsManager.i().getUserSession().setDeviceId(fid.getResult());
|
||||
SettingsManager.update();
|
||||
|
||||
// systemRESTConsumer.registerDevice(onComplete, ex -> {
|
||||
// if (mListener != null) mListener.onError(new SpannedString(ex.getMessage()));
|
||||
// });
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
public void logout(Runnable onLoggedOut) {
|
||||
menuService.invalidateCache();
|
||||
executorService.execute(() -> {
|
||||
SettingsManager.i().setUser(null);
|
||||
SettingsManager.i().setUserSession(null);
|
||||
SettingsManager.update();
|
||||
appDatabase.clearAllTables();
|
||||
|
||||
handler.post(() -> {
|
||||
onLoggedOut.run();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private void initDBData() throws Exception {
|
||||
|
||||
SettingsManager.loadDBVariables(item -> {
|
||||
if (mListener != null) mListener.onDBDataLoading(item);
|
||||
});
|
||||
}
|
||||
|
||||
private void initMenu() throws Exception {
|
||||
if (mListener != null) mListener.onMenuLoading();
|
||||
this.menuService.init();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ public class DataCache {
|
||||
|
||||
Object foundDataCache = null;
|
||||
|
||||
if(dataCacheTemp != null && dataCacheTemp.size() > 0) {
|
||||
if(dataCacheTemp != null && !dataCacheTemp.isEmpty()) {
|
||||
foundDataCache = dataCacheTemp.get(0).getItem();
|
||||
dataCacheList.remove(dataCacheTemp.get(0));
|
||||
}
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
package it.integry.integrywmsnative.core.data_recover;
|
||||
|
||||
import com.google.gson.annotations.SerializedName;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
@@ -7,13 +10,26 @@ import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
||||
|
||||
public class ColliDataRecoverDTO {
|
||||
|
||||
|
||||
@SerializedName("id")
|
||||
private int id;
|
||||
|
||||
@SerializedName("numCollo")
|
||||
private int numCollo;
|
||||
|
||||
@SerializedName("serCollo")
|
||||
private String serCollo;
|
||||
private String dataCollo;
|
||||
|
||||
@SerializedName("dataCollo")
|
||||
private LocalDate dataCollo;
|
||||
|
||||
@SerializedName("gestioneCollo")
|
||||
private String gestioneCollo;
|
||||
|
||||
@SerializedName("filtro")
|
||||
private String filtro;
|
||||
|
||||
@SerializedName("testateOrdini")
|
||||
private List<OrdineUscitaInevasoDTO> testateOrdini;
|
||||
|
||||
public int getId() {
|
||||
@@ -43,11 +59,11 @@ public class ColliDataRecoverDTO {
|
||||
return this;
|
||||
}
|
||||
|
||||
public String getDataCollo() {
|
||||
public LocalDate getDataCollo() {
|
||||
return dataCollo;
|
||||
}
|
||||
|
||||
public ColliDataRecoverDTO setDataCollo(String dataCollo) {
|
||||
public ColliDataRecoverDTO setDataCollo(LocalDate dataCollo) {
|
||||
this.dataCollo = dataCollo;
|
||||
return this;
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package it.integry.integrywmsnative.core.data_recover;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.annimon.stream.Optional;
|
||||
import com.annimon.stream.Stream;
|
||||
import com.google.android.gms.common.util.IOUtils;
|
||||
import com.google.gson.Gson;
|
||||
@@ -14,6 +13,7 @@ import java.io.InputStream;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.Random;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@@ -22,6 +22,7 @@ import javax.inject.Singleton;
|
||||
import it.integry.integrywmsnative.core.CommonConst;
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
import it.integry.integrywmsnative.core.rest.model.OrdineUscitaInevasoDTO;
|
||||
import it.integry.integrywmsnative.core.utility.UtilityGson;
|
||||
|
||||
@Singleton
|
||||
public class ColliDataRecoverService {
|
||||
@@ -39,15 +40,17 @@ public class ColliDataRecoverService {
|
||||
if(isFilePresent(CommonConst.Files.RECOVER_COLLO_FILE)) {
|
||||
loadLocalFile();
|
||||
}
|
||||
|
||||
if(mtbColtsSessions == null)
|
||||
mtbColtsSessions = new ArrayList<>();
|
||||
}
|
||||
|
||||
public boolean thereIsAnExistantSession() {
|
||||
return mtbColtsSessions != null && mtbColtsSessions.size() > 0;
|
||||
return mtbColtsSessions != null && !mtbColtsSessions.isEmpty();
|
||||
}
|
||||
|
||||
public List<Integer> getAllSessionIDs() {
|
||||
if(thereIsAnExistantSession()) {
|
||||
|
||||
return Stream.of(mtbColtsSessions)
|
||||
.map(ColliDataRecoverDTO::getId)
|
||||
.toList();
|
||||
@@ -56,16 +59,15 @@ public class ColliDataRecoverService {
|
||||
}
|
||||
|
||||
public ColliDataRecoverDTO getSession(Integer sessionID) {
|
||||
|
||||
if(sessionID == null) return null;
|
||||
|
||||
return getIfExists(sessionID);
|
||||
}
|
||||
|
||||
private ColliDataRecoverDTO getIfExists(int id) {
|
||||
Optional<ColliDataRecoverDTO> recoverDTOOptional = Stream.of(mtbColtsSessions)
|
||||
Optional<ColliDataRecoverDTO> recoverDTOOptional = mtbColtsSessions.stream()
|
||||
.filter(x -> x.getId() == id)
|
||||
.findSingle();
|
||||
.findFirst();
|
||||
|
||||
|
||||
return recoverDTOOptional.isPresent() ? recoverDTOOptional.get() : null;
|
||||
@@ -83,7 +85,7 @@ public class ColliDataRecoverService {
|
||||
|
||||
ColliDataRecoverDTO recoverDTO = new ColliDataRecoverDTO()
|
||||
.setId(newId)
|
||||
.setDataCollo(mtbColtSession.getDataColloS())
|
||||
.setDataCollo(mtbColtSession.getDataColloLD())
|
||||
.setNumCollo(mtbColtSession.getNumCollo())
|
||||
.setSerCollo(mtbColtSession.getSerCollo())
|
||||
.setGestioneCollo(mtbColtSession.getGestione())
|
||||
@@ -107,7 +109,7 @@ public class ColliDataRecoverService {
|
||||
|
||||
private void loadLocalFile() {
|
||||
InputStream inputStream;
|
||||
Gson gson = new Gson();
|
||||
Gson gson = UtilityGson.createObject();
|
||||
|
||||
try {
|
||||
inputStream = mApplicationContext.openFileInput(CommonConst.Files.RECOVER_COLLO_FILE);
|
||||
@@ -129,7 +131,7 @@ public class ColliDataRecoverService {
|
||||
private void updateLocalFile() {
|
||||
FileOutputStream outputStream;
|
||||
|
||||
Gson gson = new Gson();
|
||||
Gson gson = UtilityGson.createObject();
|
||||
String jsonText = gson.toJson(mtbColtsSessions);
|
||||
|
||||
try {
|
||||
|
||||
@@ -1,31 +1,100 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.room.Database;
|
||||
import androidx.room.Room;
|
||||
import androidx.room.RoomDatabase;
|
||||
import androidx.room.TypeConverters;
|
||||
import androidx.room.migration.Migration;
|
||||
import androidx.sqlite.db.SupportSQLiteDatabase;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.converter.AppDatabaseConverters;
|
||||
import it.integry.integrywmsnative.core.data_store.db.converter.BigDecimalConverter;
|
||||
import it.integry.integrywmsnative.core.data_store.db.converter.DateConverter;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloOrdineDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.GrigliaDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.InventarioDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.InventarioRowDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.MtbColrDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.MtbColtDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.RawDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.TrasferimentoPedaneDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.TrasferimentoPedaneRowDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.VerificaGiacenzeDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.VerificaGiacenzeRowDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloGriglia;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.InventarioEntity;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.InventarioRowRoomDTO;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.TrasferimentoPedaneEntity;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.TrasferimentoPedaneRowEntity;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.VerificaGiacenzeEntity;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.VerificaGiacenzeRowEntity;
|
||||
|
||||
@Database(entities = {ArticoloGriglia.class, Griglia.class, Ordine.class, ArticoloOrdine.class, SqlMtbColt.class, SqlMtbColr.class}, version = 9, exportSchema = false)
|
||||
@Database(entities = {
|
||||
ArticoloGriglia.class,
|
||||
Griglia.class,
|
||||
Ordine.class,
|
||||
ArticoloOrdine.class,
|
||||
SqlMtbColt.class,
|
||||
SqlMtbColr.class,
|
||||
InventarioEntity.class,
|
||||
InventarioRowRoomDTO.class,
|
||||
VerificaGiacenzeEntity.class,
|
||||
VerificaGiacenzeRowEntity.class,
|
||||
TrasferimentoPedaneEntity.class,
|
||||
TrasferimentoPedaneRowEntity.class
|
||||
},
|
||||
version = 21)
|
||||
@TypeConverters({
|
||||
DateConverter.class,
|
||||
BigDecimalConverter.class
|
||||
BigDecimalConverter.class,
|
||||
AppDatabaseConverters.class
|
||||
})
|
||||
public abstract class AppDatabase extends RoomDatabase {
|
||||
|
||||
/**
|
||||
* The only instance
|
||||
*/
|
||||
private static AppDatabase sInstance;
|
||||
|
||||
/**
|
||||
* Gets the singleton instance of SampleDatabase.
|
||||
*
|
||||
* @param applicationContext The context.
|
||||
* @return The singleton instance of SampleDatabase.
|
||||
*/
|
||||
public static synchronized AppDatabase getInstance(Context applicationContext) {
|
||||
if (sInstance == null) {
|
||||
var builder = Room.databaseBuilder(applicationContext,
|
||||
AppDatabase.class, "integry_wms")
|
||||
.addMigrations(MIGRATION_10_11)
|
||||
.addMigrations(MIGRATION_11_12)
|
||||
.addMigrations(MIGRATION_12_13)
|
||||
.addMigrations(MIGRATION_13_14)
|
||||
.addMigrations(MIGRATION_14_15)
|
||||
.addMigrations(MIGRATION_15_16)
|
||||
.addMigrations(MIGRATION_16_17)
|
||||
.addMigrations(MIGRATION_17_18)
|
||||
.addMigrations(MIGRATION_18_19)
|
||||
.addMigrations(MIGRATION_19_20)
|
||||
.addMigrations(MIGRATION_20_21);
|
||||
|
||||
sInstance = builder.build();
|
||||
}
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
public abstract RawDao rawDao();
|
||||
|
||||
public abstract ArticoloGrigliaDao articoloGrigliaDao();
|
||||
|
||||
public abstract GrigliaDao grigliaDao();
|
||||
@@ -38,5 +107,194 @@ public abstract class AppDatabase extends RoomDatabase {
|
||||
|
||||
public abstract MtbColrDao mtbColrDao();
|
||||
|
||||
public abstract InventarioDao inventarioDao();
|
||||
|
||||
public abstract InventarioRowDao inventarioRowDao();
|
||||
|
||||
public abstract VerificaGiacenzeDao verificaGiacenzeDao();
|
||||
|
||||
public abstract VerificaGiacenzeRowDao verificaGiacenzeRowDao();
|
||||
|
||||
public abstract TrasferimentoPedaneDao trasferimentoPedaneDao();
|
||||
|
||||
public abstract TrasferimentoPedaneRowDao trasferimentoPedaneRowDao();
|
||||
|
||||
|
||||
|
||||
static final Migration MIGRATION_10_11 = new Migration(10, 11) {
|
||||
@Override
|
||||
public void migrate(SupportSQLiteDatabase database) {
|
||||
database.execSQL("CREATE TABLE IF NOT EXISTS inventari (_id INTEGER PRIMARY KEY AUTOINCREMENT, id_inventario INTEGER, cod_mdep TEXT NOT NULL, zona TEXT, data_inventario INTEGER, data_reg INTEGER, data_ver INTEGER, filtro TEXT, flag_stato TEXT, flag_operazione TEXT, cod_anag TEXT, cod_dtip TEXT, inserito_da TEXT, registrato_da TEXT, verificato_da TEXT, data_ora_inizio INTEGER, data_ora_fine INTEGER, causale TEXT, remote_sync_date INTEGER)");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_inventari__id ON inventari (_id)");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_inventari_id_inventario ON inventari (id_inventario)");
|
||||
|
||||
|
||||
database.execSQL("CREATE TABLE IF NOT EXISTS inventario_rows (_id INTEGER PRIMARY KEY AUTOINCREMENT, parent_id INTEGER, cod_mart TEXT NOT NULL, descrizione TEXT, partita_mag TEXT, qta REAL NOT NULL DEFAULT 0, num_cnf REAL NOT NULL DEFAULT 0, qta_cnf REAL NOT NULL DEFAULT 0, unt_mis TEXT NOT NULL DEFAULT '0', data_ora_inv INTEGER, scan_cod_barre TEXT, zona TEXT, remote_sync_date INTEGER, FOREIGN KEY(parent_id) REFERENCES inventari(_id) ON UPDATE NO ACTION ON DELETE NO ACTION )");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_inventario_rows__id ON inventario_rows (_id)");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_inventario_rows__parent_id ON inventario_rows (parent_id)");
|
||||
}
|
||||
};
|
||||
|
||||
static final Migration MIGRATION_11_12 = new Migration(11, 12) {
|
||||
@Override
|
||||
public void migrate(SupportSQLiteDatabase database) {
|
||||
database.execSQL("DROP TABLE IF EXISTS ordini_tmp;");
|
||||
database.execSQL("CREATE TABLE ordini_tmp (ordine_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, data_ins INTEGER, annotazioni TEXT, transmitted INTEGER NOT NULL, transmission_date INTEGER, gestione TEXT, data_ord INTEGER, num_ord INTEGER, cod_mdep TEXT, id_griglia INTEGER NOT NULL, cod_alis TEXT NOT NULL);");
|
||||
database.execSQL("INSERT INTO ordini_tmp(ordine_id,data_ins,annotazioni,transmitted,transmission_date,gestione,data_ord,num_ord,cod_mdep,id_griglia,cod_alis) SELECT ordini.ordine_id,ordini.data_ins,ordini.annotazioni,ordini.transmitted,ordini.transmission_date,ordini.gestione,ordini.data_ord,ordini.num_ord,ordini.cod_mdep,ordini.id_griglia,griglie.cod_alis from ordini left outer join griglie on ordini.id_griglia = griglie.griglia_id;");
|
||||
database.execSQL("DROP TABLE ordini;");
|
||||
database.execSQL("ALTER TABLE ordini_tmp RENAME TO ordini;");
|
||||
}
|
||||
};
|
||||
|
||||
static final Migration MIGRATION_12_13 = new Migration(12, 13) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("CREATE TABLE IF NOT EXISTS inventario_rows_tmp (_id INTEGER PRIMARY KEY AUTOINCREMENT, parent_id INTEGER, cod_mart TEXT, descrizione TEXT, partita_mag TEXT, qta REAL NOT NULL DEFAULT 0, num_cnf REAL NOT NULL DEFAULT 0, qta_cnf REAL NOT NULL DEFAULT 0, unt_mis TEXT NOT NULL DEFAULT '0', data_ora_inv INTEGER, scan_cod_barre TEXT, zona TEXT, remote_sync_date INTEGER, FOREIGN KEY(parent_id) REFERENCES inventari(_id) ON UPDATE NO ACTION ON DELETE NO ACTION )");
|
||||
database.execSQL("INSERT INTO inventario_rows_tmp SELECT * FROM inventario_rows");
|
||||
database.execSQL("DROP TABLE inventario_rows;");
|
||||
database.execSQL("ALTER TABLE inventario_rows_tmp RENAME TO inventario_rows;");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_inventario_rows__id ON inventario_rows (_id)");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_inventario_rows__parent_id ON inventario_rows (parent_id)");
|
||||
}
|
||||
};
|
||||
|
||||
static final Migration MIGRATION_13_14 = new Migration(13, 14) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("ALTER TABLE inventari"
|
||||
+ " ADD COLUMN new INTEGER");
|
||||
}
|
||||
};
|
||||
|
||||
static final Migration MIGRATION_14_15 = new Migration(14, 15) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
// rimuovo vincoli "not null" dai campi id_griglia e cod_alis
|
||||
database.execSQL("DROP TABLE IF EXISTS ordini_tmp;");
|
||||
database.execSQL("CREATE TABLE ordini_tmp (ordine_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, data_ins INTEGER, annotazioni TEXT, transmitted INTEGER NOT NULL, transmission_date INTEGER, gestione TEXT, data_ord INTEGER, num_ord INTEGER, cod_mdep TEXT, id_griglia INTEGER, cod_alis TEXT);");
|
||||
database.execSQL("INSERT INTO ordini_tmp(ordine_id,data_ins,annotazioni,transmitted,transmission_date,gestione,data_ord,num_ord,cod_mdep,id_griglia,cod_alis) SELECT ordini.ordine_id,ordini.data_ins,ordini.annotazioni,ordini.transmitted,ordini.transmission_date,ordini.gestione,ordini.data_ord,ordini.num_ord,ordini.cod_mdep,ordini.id_griglia,griglie.cod_alis from ordini left outer join griglie on ordini.id_griglia = griglie.griglia_id;");
|
||||
database.execSQL("DROP TABLE ordini;");
|
||||
database.execSQL("ALTER TABLE ordini_tmp RENAME TO ordini;");
|
||||
// aggiungo campo cod_alis sulle righe dell'ordine
|
||||
database.execSQL("DROP TABLE IF EXISTS art_ord_tmp;");
|
||||
database.execSQL("CREATE TABLE IF NOT EXISTS art_ord_tmp( articolo_ordine_id INTEGER PRIMARY KEY AUTOINCREMENT, cod_mart TEXT, descrizione TEXT, unt_mis TEXT, qta_cnf REAL NOT NULL, bar_code TEXT, merce_da_ric REAL NOT NULL, media_sett REAL NOT NULL, flag_qta_multipla TEXT, qta_min_ordinabile REAL NOT NULL, id_ordine INTEGER NOT NULL, qta_ord REAL NOT NULL, data_ins INTEGER, new_no_promo INTEGER NOT NULL, system_note TEXT, cod_alis TEXT , FOREIGN KEY(id_ordine) REFERENCES ordini(ordine_id) ON UPDATE NO ACTION ON DELETE CASCADE );");
|
||||
database.execSQL("INSERT INTO art_ord_tmp(articolo_ordine_id, cod_mart, descrizione, unt_mis, qta_cnf, bar_code, merce_da_ric, media_sett, flag_qta_multipla, qta_min_ordinabile, id_ordine, qta_ord, data_ins, new_no_promo, system_note, cod_alis) SELECT articolo_ordine_id, cod_mart, descrizione, unt_mis, qta_cnf, bar_code, merce_da_ric, media_sett, flag_qta_multipla, qta_min_ordinabile, id_ordine, qta_ord, data_ins, new_no_promo, system_note, null from articoli_ordine;");
|
||||
database.execSQL("DROP TABLE articoli_ordine;");
|
||||
database.execSQL("ALTER TABLE art_ord_tmp RENAME TO articoli_ordine;");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_articoli_ordine_id_ordine ON articoli_ordine (id_ordine);");
|
||||
database.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS index_articoli_ordine_id_ordine_cod_mart ON articoli_ordine (id_ordine, cod_mart);");
|
||||
}
|
||||
};
|
||||
|
||||
static final Migration MIGRATION_15_16 = new Migration(15, 16) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
}
|
||||
};
|
||||
|
||||
static final Migration MIGRATION_16_17 = new Migration(16, 17) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("ALTER TABLE inventario_rows RENAME TO _inventario_rows_old;");
|
||||
database.execSQL("DROP INDEX index_inventario_rows__id;");
|
||||
database.execSQL("DROP INDEX index_inventario_rows_parent_id;");
|
||||
|
||||
database.execSQL("CREATE TABLE inventario_rows (_id INTEGER PRIMARY KEY AUTOINCREMENT, parent_id INTEGER, cod_mart TEXT, partita_mag TEXT, descrizione TEXT, qta REAL NOT NULL DEFAULT 0, num_cnf REAL NOT NULL DEFAULT 0, qta_cnf REAL NOT NULL DEFAULT 0, unt_mis TEXT NOT NULL DEFAULT '0', data_ora_inv INTEGER, scan_cod_barre TEXT, zona TEXT, remote_sync_date INTEGER, FOREIGN KEY(parent_id) REFERENCES inventari(_id) ON UPDATE NO ACTION ON DELETE CASCADE);");
|
||||
|
||||
database.execSQL("INSERT INTO inventario_rows SELECT * FROM _inventario_rows_old;");
|
||||
|
||||
database.execSQL("CREATE INDEX index_inventario_rows__id ON inventario_rows (_id);");
|
||||
database.execSQL("CREATE INDEX index_inventario_rows_parent_id ON inventario_rows (parent_id)");
|
||||
database.execSQL("DROP TABLE _inventario_rows_old;");
|
||||
}
|
||||
};
|
||||
|
||||
static final Migration MIGRATION_17_18 = new Migration(17, 18) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("CREATE TABLE IF NOT EXISTS verifica_giacenze (_id INTEGER PRIMARY KEY AUTOINCREMENT, cod_mdep TEXT NOT NULL, data INTEGER, remote_sync_date INTEGER);");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_verifica_giacenze__id ON verifica_giacenze (_id);");
|
||||
|
||||
database.execSQL("CREATE TABLE IF NOT EXISTS verifica_giacenze_rows (" +
|
||||
"_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
|
||||
"parent_id INTEGER, " +
|
||||
"created_at INTEGER DEFAULT CURRENT_TIMESTAMP, " +
|
||||
"cod_mart TEXT, " +
|
||||
"partita_mag TEXT, " +
|
||||
"descrizione TEXT, " +
|
||||
"qta_in_giacenza REAL NOT NULL DEFAULT 0, " +
|
||||
"qta REAL NOT NULL DEFAULT 0, " +
|
||||
"num_cnf REAL NOT NULL DEFAULT 0, " +
|
||||
"qta_cnf REAL NOT NULL DEFAULT 0, " +
|
||||
"scan_cod_barre TEXT, " +
|
||||
"remote_sync_date INTEGER, " +
|
||||
"FOREIGN KEY(parent_id) REFERENCES verifica_giacenze(_id) ON UPDATE NO ACTION ON DELETE CASCADE );");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_verifica_giacenze_rows__id ON verifica_giacenze_rows (_id)");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_verifica_giacenze_rows_parent_id ON verifica_giacenze_rows (parent_id)");
|
||||
}
|
||||
};
|
||||
|
||||
static final Migration MIGRATION_18_19 = new Migration(18, 19) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("CREATE TABLE IF NOT EXISTS trasferimento_pedane (" +
|
||||
"cod_mdep_dest TEXT NOT NULL, " +
|
||||
"descrizione_depo_dest TEXT NOT NULL, " +
|
||||
"created_at INTEGER DEFAULT CURRENT_TIMESTAMP, " +
|
||||
"status INTEGER NOT NULL, " +
|
||||
"_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
|
||||
"remote_sync_date INTEGER);");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_trasferimento_pedane__id ON trasferimento_pedane (_id);");
|
||||
|
||||
database.execSQL("CREATE TABLE IF NOT EXISTS trasferimento_pedane_rows (" +
|
||||
"parent_id INTEGER, " +
|
||||
"barcode_ul TEXT NOT NUll, " +
|
||||
"progressivo_ul INTEGER, " +
|
||||
"created_at INTEGER DEFAULT CURRENT_TIMESTAMP, " +
|
||||
"flag_inconsistent INTEGER NOT NULL DEFAULT 0, " +
|
||||
"_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
|
||||
"remote_sync_date INTEGER," +
|
||||
"FOREIGN KEY(parent_id) REFERENCES trasferimento_pedane(_id) ON UPDATE NO ACTION ON DELETE CASCADE );");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_trasferimento_pedane_rows__id ON trasferimento_pedane_rows (_id)");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_trasferimento_pedane_rows_parent_id ON trasferimento_pedane_rows (parent_id)");
|
||||
}
|
||||
};
|
||||
|
||||
static final Migration MIGRATION_19_20 = new Migration(19, 20) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("DROP TABLE IF EXISTS trasferimento_pedane_rows;");
|
||||
database.execSQL("CREATE TABLE IF NOT EXISTS trasferimento_pedane_rows (" +
|
||||
"parent_id INTEGER NOT NULL, " +
|
||||
"barcode_ul TEXT NOT NULL, " +
|
||||
"progressivo_ul INTEGER NOT NULL, " +
|
||||
"flag_inconsistent INTEGER NOT NULL DEFAULT 0, " +
|
||||
"created_at INTEGER DEFAULT CURRENT_TIMESTAMP, " +
|
||||
"_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
|
||||
"remote_sync_date INTEGER, " +
|
||||
"FOREIGN KEY(parent_id) REFERENCES trasferimento_pedane(_id) ON UPDATE NO ACTION ON DELETE CASCADE );");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_trasferimento_pedane_rows__id ON trasferimento_pedane_rows (_id)");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS index_trasferimento_pedane_rows_parent_id ON trasferimento_pedane_rows (parent_id)");
|
||||
}
|
||||
};
|
||||
|
||||
static final Migration MIGRATION_20_21 = new Migration(20, 21) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("ALTER TABLE trasferimento_pedane"
|
||||
+ " ADD COLUMN document_cod_anag TEXT;");
|
||||
|
||||
database.execSQL("ALTER TABLE trasferimento_pedane"
|
||||
+ " ADD COLUMN document_cod_dtip TEXT");
|
||||
|
||||
database.execSQL("ALTER TABLE trasferimento_pedane"
|
||||
+ " ADD COLUMN document_num INTEGER");
|
||||
|
||||
database.execSQL("ALTER TABLE trasferimento_pedane"
|
||||
+ " ADD COLUMN document_ser TEXT");
|
||||
|
||||
database.execSQL("ALTER TABLE trasferimento_pedane"
|
||||
+ " ADD COLUMN document_data INTEGER");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db;
|
||||
|
||||
import android.app.Application;
|
||||
import android.os.Handler;
|
||||
|
||||
import androidx.room.Room;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
|
||||
import javax.inject.Singleton;
|
||||
|
||||
@@ -11,32 +12,50 @@ import dagger.Provides;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloGrigliaDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.ArticoloOrdineDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.GrigliaDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.InventarioDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.InventarioRowDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.MtbColrDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.MtbColtDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.OrdineDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.RawDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.TrasferimentoPedaneDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.TrasferimentoPedaneRowDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.VerificaGiacenzeDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.dao.VerificaGiacenzeRowDao;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoliOrdineRepository;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.ArticoloGrigliaRepository;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.GrigliaRepository;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.MtbColrRepository;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.MtbColrDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.MtbColtRepository;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.OrdineRepository;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.ArticoliGrigliaDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.ArticoliOrdineDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.GrigliaDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.OrdineDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.SqlMtbColrDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.implementations.SqlMtbColtDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.datasource.ArticoliGrigliaDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.datasource.ArticoliOrdineDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.datasource.GrigliaDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.datasource.OrdineDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.datasource.SqlMtbColrDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.repository.datasource.SqlMtbColtDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.respository_new.InventarioRepository;
|
||||
import it.integry.integrywmsnative.core.data_store.db.respository_new.InventarioRowRepository;
|
||||
import it.integry.integrywmsnative.core.data_store.db.respository_new.VerificaGiacenzeRepository;
|
||||
import it.integry.integrywmsnative.core.data_store.db.respository_new.VerificaGiacenzeRowRepository;
|
||||
import it.integry.integrywmsnative.core.data_store.db.respository_new.data_source.InventarioLocalDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.respository_new.data_source.InventarioRowLocalDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.respository_new.data_source.VerificaGiacenzeLocalDataSource;
|
||||
import it.integry.integrywmsnative.core.data_store.db.respository_new.data_source.VerificaGiacenzeRowLocalDataSource;
|
||||
import it.integry.integrywmsnative.core.mapper.InventarioMapper;
|
||||
import it.integry.integrywmsnative.core.mapper.InventarioRowMapper;
|
||||
import it.integry.integrywmsnative.core.mapper.VerificaGiacenzeMapper;
|
||||
import it.integry.integrywmsnative.core.mapper.VerificaGiacenzeRowMapper;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.GiacenzaPvRESTConsumer;
|
||||
import it.integry.integrywmsnative.core.rest.consumers.InventarioRESTConsumer;
|
||||
|
||||
@Module
|
||||
public class RoomModule {
|
||||
|
||||
private AppDatabase appDatabase;
|
||||
|
||||
public RoomModule(Application application) {
|
||||
appDatabase = Room.databaseBuilder(application,
|
||||
AppDatabase.class, "integry_wms")
|
||||
.fallbackToDestructiveMigration()
|
||||
.build();
|
||||
public RoomModule(Application applicationContext) {
|
||||
appDatabase = AppDatabase.getInstance(applicationContext);
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@@ -46,7 +65,11 @@ public class RoomModule {
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
RawDao providesRawDao(AppDatabase appDatabase) {
|
||||
return appDatabase.rawDao();
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
@@ -84,46 +107,141 @@ public class RoomModule {
|
||||
return appDatabase.mtbColrDao();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
ArticoloGrigliaRepository providesArticoloGrigliaRepository(ArticoloGrigliaDao articoloGrigliaDao) {
|
||||
return new ArticoliGrigliaDataSource(articoloGrigliaDao);
|
||||
InventarioDao providesInventarioDao(AppDatabase appDatabase) {
|
||||
return appDatabase.inventarioDao();
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
ArticoliOrdineRepository providesArticoliOrdineRepository(ArticoloOrdineDao articoloOrdineDao) {
|
||||
return new ArticoliOrdineDataSource(articoloOrdineDao);
|
||||
InventarioRowDao providesInventarioRowDao(AppDatabase appDatabase) {
|
||||
return appDatabase.inventarioRowDao();
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
GrigliaRepository providesGrigliaRepository(GrigliaDao grigliaDao) {
|
||||
return new GrigliaDataSource(grigliaDao);
|
||||
InventarioMapper providesInventarioMapper(InventarioRowMapper inventarioRowMapper) {
|
||||
return new InventarioMapper(inventarioRowMapper);
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
OrdineRepository providesOrdineRepository(OrdineDao ordineDao) {
|
||||
return new OrdineDataSource(ordineDao);
|
||||
InventarioRowMapper providesInventarioRowMapper() {
|
||||
return new InventarioRowMapper();
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
MtbColtRepository providesMtbColtRepository(MtbColtDao mtbColtDao) {
|
||||
return new SqlMtbColtDataSource(mtbColtDao);
|
||||
VerificaGiacenzeDao providesVerificaGiacenzeDao(AppDatabase appDatabase) {
|
||||
return appDatabase.verificaGiacenzeDao();
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
MtbColrRepository providesMtbColrRepository(MtbColrDao mtbColrDao) {
|
||||
return new SqlMtbColrDataSource(mtbColrDao);
|
||||
VerificaGiacenzeRowDao providesVerificaGiacenzeRowDao(AppDatabase appDatabase) {
|
||||
return appDatabase.verificaGiacenzeRowDao();
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
TrasferimentoPedaneDao providesTrasferimentoPedaneDao(AppDatabase appDatabase) {
|
||||
return appDatabase.trasferimentoPedaneDao();
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
TrasferimentoPedaneRowDao providesTrasferimentoPedaneRowDao(AppDatabase appDatabase) {
|
||||
return appDatabase.trasferimentoPedaneRowDao();
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
VerificaGiacenzeMapper providesVerificaGiacenzeMapper(VerificaGiacenzeRowMapper verificaGiacenzeRowMapper) {
|
||||
return new VerificaGiacenzeMapper(verificaGiacenzeRowMapper);
|
||||
}
|
||||
|
||||
@Singleton
|
||||
@Provides
|
||||
VerificaGiacenzeRowMapper providesVerificaGiacenzeRowMapper() {
|
||||
return new VerificaGiacenzeRowMapper();
|
||||
}
|
||||
|
||||
|
||||
@Provides
|
||||
InventarioLocalDataSource providesInventarioLocalDataSource(ExecutorService executorService, InventarioDao inventarioDao) {
|
||||
return new InventarioLocalDataSource(executorService, inventarioDao);
|
||||
}
|
||||
|
||||
@Provides
|
||||
InventarioRowLocalDataSource providesInventarioRowLocalDataSource(ExecutorService executorService, InventarioRowDao inventarioRowDao) {
|
||||
return new InventarioRowLocalDataSource(executorService, inventarioRowDao);
|
||||
}
|
||||
|
||||
|
||||
@Provides
|
||||
ArticoloGrigliaRepository providesArticoloGrigliaRepository(ExecutorService executorService, Handler handler, ArticoloGrigliaDao articoloGrigliaDao) {
|
||||
return new ArticoliGrigliaDataSource(executorService, handler, articoloGrigliaDao);
|
||||
}
|
||||
|
||||
|
||||
@Provides
|
||||
ArticoliOrdineRepository providesArticoliOrdineRepository(ExecutorService executorService, Handler handler, ArticoloOrdineDao articoloOrdineDao) {
|
||||
return new ArticoliOrdineDataSource(executorService, handler, articoloOrdineDao);
|
||||
}
|
||||
|
||||
|
||||
@Provides
|
||||
GrigliaRepository providesGrigliaRepository(ExecutorService executorService, Handler handler, GrigliaDao grigliaDao) {
|
||||
return new GrigliaDataSource(executorService, handler, grigliaDao);
|
||||
}
|
||||
|
||||
|
||||
@Provides
|
||||
OrdineRepository providesOrdineRepository(ExecutorService executorService, Handler handler, OrdineDao ordineDao) {
|
||||
return new OrdineDataSource(executorService, handler, ordineDao);
|
||||
}
|
||||
|
||||
@Provides
|
||||
MtbColtRepository providesMtbColtRepository(ExecutorService executorService, Handler handler, MtbColtDao mtbColtDao) {
|
||||
return new SqlMtbColtDataSource(executorService, handler, mtbColtDao);
|
||||
}
|
||||
|
||||
@Provides
|
||||
MtbColrDataSource providesMtbColrRepository(ExecutorService executorService, Handler handler, MtbColrDao mtbColrDao) {
|
||||
return new SqlMtbColrDataSource(executorService, handler, mtbColrDao);
|
||||
}
|
||||
|
||||
@Provides
|
||||
InventarioRepository providesInventarioRepository(ExecutorService executorService, Handler handler,
|
||||
InventarioLocalDataSource inventarioLocalDataSource,
|
||||
InventarioRESTConsumer inventarioRESTConsumer,
|
||||
InventarioMapper inventarioMapper) {
|
||||
return new InventarioRepository(inventarioLocalDataSource, inventarioRESTConsumer, inventarioMapper, handler, executorService);
|
||||
}
|
||||
|
||||
@Provides
|
||||
InventarioRowRepository providesInventarioRowRepository(ExecutorService executorService, Handler handler,
|
||||
InventarioRowLocalDataSource inventarioRowLocalDataSource,
|
||||
InventarioRESTConsumer inventarioRESTConsumer,
|
||||
InventarioRowMapper inventarioRowMapper) {
|
||||
return new InventarioRowRepository(inventarioRowLocalDataSource, inventarioRESTConsumer, inventarioRowMapper, handler);
|
||||
}
|
||||
|
||||
@Provides
|
||||
VerificaGiacenzeRepository providesVerificaGiacenzeRepository(ExecutorService executorService, Handler handler,
|
||||
VerificaGiacenzeLocalDataSource verificaGiacenzeLocalDataSource,
|
||||
GiacenzaPvRESTConsumer giacenzaPvRESTConsumer,
|
||||
VerificaGiacenzeMapper verificaGiacenzeMapper) {
|
||||
return new VerificaGiacenzeRepository(verificaGiacenzeLocalDataSource, giacenzaPvRESTConsumer, verificaGiacenzeMapper, handler, executorService);
|
||||
}
|
||||
|
||||
@Provides
|
||||
VerificaGiacenzeRowRepository providesVerificaGiacenzeRowRepository(ExecutorService executorService, Handler handler,
|
||||
VerificaGiacenzeRowLocalDataSource verificaGiacenzeRowLocalDataSource,
|
||||
GiacenzaPvRESTConsumer giacenzaPvRESTConsumer,
|
||||
VerificaGiacenzeRowMapper verificaGiacenzeRowMapper) {
|
||||
return new VerificaGiacenzeRowRepository(verificaGiacenzeRowLocalDataSource, giacenzaPvRESTConsumer, verificaGiacenzeRowMapper, handler, executorService);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.converter;
|
||||
|
||||
import androidx.room.TypeConverter;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.reflect.TypeToken;
|
||||
|
||||
import java.lang.reflect.Type;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
|
||||
public class AppDatabaseConverters {
|
||||
@TypeConverter
|
||||
public static LocalDateTime longToLocalDateTime(Long value) {
|
||||
return value == null ? null : UtilityDate.timeToLocalDateTime(value, null);
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
public static Long localDateTimeToTimestamp(LocalDateTime date) {
|
||||
return date == null ? null : UtilityDate.localDateTimeToTime(date, null);
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
public static LocalDate longToLocalDate(Long value) {
|
||||
return value == null ? null : UtilityDate.timeToLocalDate(value, null);
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
public static Long localDateToTimestamp(LocalDate date) {
|
||||
return date == null ? null : UtilityDate.localDateToTime(date);
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
public static ArrayList<String> fromString(String value) {
|
||||
Type listType = new TypeToken<ArrayList<String>>() {}.getType();
|
||||
return new Gson().fromJson(value, listType);
|
||||
}
|
||||
|
||||
@TypeConverter
|
||||
public static String fromArrayList(ArrayList<String> list) {
|
||||
Gson gson = new Gson();
|
||||
String json = gson.toJson(list);
|
||||
return json;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -53,6 +53,6 @@ public interface ArticoloGrigliaDao {
|
||||
@Query("SELECT * FROM articoli_griglia WHERE id_griglia = :grigliaId")
|
||||
List<ArticoloGriglia> getArticoliFromGriglia(int grigliaId);
|
||||
|
||||
@Query("SELECT * FROM articoli_griglia WHERE id_griglia = :grigliaId AND new_no_promo = 1")
|
||||
@Query("SELECT * FROM articoli_griglia WHERE id_griglia = :grigliaId AND qta_ord >= 1")
|
||||
List<ArticoloGriglia> getNewArticoliInGriglia(int grigliaId);
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ import androidx.room.Update;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.ArticoloOrdine;
|
||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.ArticoloOrdineWrapper;
|
||||
|
||||
@Dao
|
||||
public interface ArticoloOrdineDao {
|
||||
@@ -33,17 +32,10 @@ public interface ArticoloOrdineDao {
|
||||
@Update
|
||||
void update(ArticoloOrdine articolo);
|
||||
|
||||
@Query("SELECT articoli_ordine.*," +
|
||||
"articoli_griglia.gg_scadenza," +
|
||||
"articoli_griglia.giacenza," +
|
||||
"articoli_griglia.qta_prevista_vendita," +
|
||||
"articoli_griglia.qta_proposta " +
|
||||
@Query("SELECT *" +
|
||||
"FROM articoli_ordine " +
|
||||
"INNER JOIN ordini on articoli_ordine.id_ordine = ordini.ordine_id " +
|
||||
"LEFT OUTER JOIN articoli_griglia " +
|
||||
"on articoli_ordine.cod_mart = articoli_griglia.cod_mart and ordini.id_griglia = articoli_griglia.id_griglia and articoli_ordine.bar_code = articoli_griglia.bar_code " +
|
||||
"where id_ordine = :ordineId")
|
||||
List<ArticoloOrdineWrapper> findArticoliByOrdine(int ordineId);
|
||||
List<ArticoloOrdine> findArticoliByOrdine(int ordineId);
|
||||
|
||||
@Query("SELECt * from articoli_ordine where cod_mart = :codMart and id_ordine = :ordineId LIMIT 1")
|
||||
ArticoloOrdine findArticoloByCodMartAndOrdine(int ordineId, String codMart);
|
||||
|
||||
@@ -9,15 +9,14 @@ import androidx.room.Update;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.GrigliaWrapper;
|
||||
|
||||
@Dao
|
||||
public interface GrigliaDao {
|
||||
@Query("SELECT * from griglie")
|
||||
List<Griglia> getAll();
|
||||
|
||||
@Query("SELECT griglie.*, COUNT(articoli_griglia.articolo_griglia_id) as countArticoli from griglie LEFT JOIN articoli_griglia ON (griglie.griglia_id = articoli_griglia.id_griglia) where cod_alis = :codAlis GROUP BY griglie.griglia_id")
|
||||
GrigliaWrapper findByCodAlis(String codAlis);
|
||||
@Query("SELECT * from griglie where cod_alis = :codAlis")
|
||||
Griglia findByCodAlis(String codAlis);
|
||||
|
||||
@Insert
|
||||
long insert(Griglia griglia);
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.dao;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Query;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.rxjava3.core.Flowable;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.BaseSyncDTO;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.InventarioEntity;
|
||||
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityDaoInterface;
|
||||
|
||||
@Dao
|
||||
public interface InventarioDao extends EntityDaoInterface<InventarioEntity> {
|
||||
|
||||
|
||||
@Query("SELECT * FROM " + InventarioEntity.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))")
|
||||
List<InventarioEntity> selectAll(boolean toBeSync);
|
||||
|
||||
|
||||
@Query("SELECT * FROM " + InventarioEntity.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))" +
|
||||
" ORDER BY " + InventarioEntity.Columns.DATA_INVENTARIO + " DESC")
|
||||
Flowable<List<InventarioEntity>> selectAllFlowable(boolean toBeSync);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.dao;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Query;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.rxjava3.core.Flowable;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.BaseSyncDTO;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.InventarioRowRoomDTO;
|
||||
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityDaoInterface;
|
||||
|
||||
@Dao
|
||||
public interface InventarioRowDao extends EntityDaoInterface<InventarioRowRoomDTO> {
|
||||
|
||||
@Query("SELECT * FROM " + InventarioRowRoomDTO.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))")
|
||||
List<InventarioRowRoomDTO> selectAll(boolean toBeSync);
|
||||
|
||||
|
||||
@Query("SELECT * FROM " + InventarioRowRoomDTO.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))" +
|
||||
" AND " + InventarioRowRoomDTO.Columns.PARENT_ID + " = :parentId " +
|
||||
" ORDER BY " +
|
||||
" CASE WHEN :reversed = 1 THEN " + BaseSyncDTO.Columns.ID + " END DESC," +
|
||||
" CASE WHEN :reversed = 0 THEN " + BaseSyncDTO.Columns.ID + " END ASC")
|
||||
Flowable<List<InventarioRowRoomDTO>> selectAllFlowable(long parentId, boolean reversed, boolean toBeSync);
|
||||
}
|
||||
@@ -9,7 +9,6 @@ import androidx.room.Update;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
|
||||
|
||||
@Dao
|
||||
public interface MtbColrDao {
|
||||
@@ -25,6 +24,6 @@ public interface MtbColrDao {
|
||||
@Delete
|
||||
void delete(SqlMtbColr mtbColr);
|
||||
|
||||
@Query("SELECT * from mtb_colr where id_collo = :idDocument")
|
||||
List<SqlMtbColr> getDocumentRows(int idDocument);
|
||||
@Query("SELECT * FROM mtb_colr WHERE id_collo = :idDocument ORDER BY id DESC")
|
||||
List<SqlMtbColr> getDocumentRows(long idDocument);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.dao;
|
||||
|
||||
import androidx.lifecycle.LiveData;
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Delete;
|
||||
import androidx.room.Insert;
|
||||
@@ -9,11 +10,8 @@ import androidx.room.Update;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
|
||||
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
|
||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.DocInternoWrapper;
|
||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper;
|
||||
|
||||
@Dao
|
||||
public interface MtbColtDao {
|
||||
@@ -36,7 +34,7 @@ public interface MtbColtDao {
|
||||
" AND ( mtb_colt.data_doc = :dataDoc OR (mtb_colt.data_doc is null and :dataDoc is null)) " +
|
||||
" AND ( mtb_colt.num_doc = :numDoc OR (mtb_colt.num_doc is null and :numDoc is null)) " +
|
||||
" and cod_dtip is null group by mtb_colt.id")
|
||||
List<DocInternoWrapper> getLocalDocumentsByCodDtip(String codDtip, String codAnag, String codVdes, Date dataDoc, String numDoc);
|
||||
LiveData<List<DocInternoWrapper>> getLocalDocumentsByCodDtip(String codDtip, String codAnag, String codVdes, Date dataDoc, String numDoc);
|
||||
|
||||
@Query("SELECT ifnull(MAX(num_collo),0) +1 as num_collo from mtb_colt")
|
||||
Integer getNextNumCollo();
|
||||
|
||||
@@ -9,7 +9,6 @@ import androidx.room.Update;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
|
||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper;
|
||||
|
||||
@Dao
|
||||
@@ -17,11 +16,11 @@ public interface OrdineDao {
|
||||
@Query("SELECT * from ordini ")
|
||||
List<Ordine> getAll();
|
||||
|
||||
@Query("SELECT ordini.*, griglie.* from ordini inner join griglie ON id_griglia = griglie.griglia_id where ordini.transmitted = 1")
|
||||
List<OrdineWithGriglia> getAllTrasnmitted();
|
||||
@Query("SELECT ordini.* from ordini where ordini.transmitted = 1")
|
||||
List<Ordine> getAllTrasnmitted();
|
||||
|
||||
@Query("SELECT ordini.*, count(articolo_ordine_id) as countArticoli from ordini left join articoli_ordine ON ordini.ordine_id = articoli_ordine.id_ordine where ordini.transmitted = 0 and ordini.id_griglia = :idGriglia group by ordini.ordine_id")
|
||||
List<OrdineWrapper> getAllOpenOrdersByGriglia(int idGriglia);
|
||||
@Query("SELECT ordini.*, count(articolo_ordine_id) as countArticoli from ordini left join articoli_ordine ON ordini.ordine_id = articoli_ordine.id_ordine where ordini.transmitted = 0 and ((:codAlis is null and ordini.cod_alis is null) OR (ordini.cod_alis = :codAlis)) group by ordini.ordine_id")
|
||||
List<OrdineWrapper> getAllOpenOrdersByGriglia(String codAlis);
|
||||
|
||||
@Insert
|
||||
Long insert(Ordine ordine);
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.dao;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.RawQuery;
|
||||
import androidx.sqlite.db.SupportSQLiteQuery;
|
||||
|
||||
@Dao
|
||||
public interface RawDao {
|
||||
|
||||
@RawQuery
|
||||
int vacuumDb(SupportSQLiteQuery supportSQLiteQuery);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.dao;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Query;
|
||||
import androidx.room.Transaction;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.rxjava3.core.Flowable;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.BaseSyncDTO;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.TrasferimentoPedaneEntity;
|
||||
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityDaoInterface;
|
||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.TrasferimentoPedaneWithRowsWrapper;
|
||||
|
||||
@Dao
|
||||
public interface TrasferimentoPedaneDao extends EntityDaoInterface<TrasferimentoPedaneEntity> {
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT * FROM " + TrasferimentoPedaneEntity.TABLE_NAME +
|
||||
" WHERE " + BaseSyncDTO.Columns.ID + " = :id")
|
||||
TrasferimentoPedaneWithRowsWrapper select(long id);
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT * FROM " + TrasferimentoPedaneEntity.TABLE_NAME +
|
||||
" WHERE " + BaseSyncDTO.Columns.ID + " = :id")
|
||||
Flowable<TrasferimentoPedaneWithRowsWrapper> selectFlowable(long id);
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT * FROM " + TrasferimentoPedaneEntity.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))" +
|
||||
" ORDER BY " + TrasferimentoPedaneEntity.Columns.CREATED_AT + " DESC")
|
||||
List<TrasferimentoPedaneWithRowsWrapper> selectAll(boolean toBeSync);
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT * FROM " + TrasferimentoPedaneEntity.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))" +
|
||||
" ORDER BY " + TrasferimentoPedaneEntity.Columns.CREATED_AT + " DESC")
|
||||
Flowable<List<TrasferimentoPedaneWithRowsWrapper>> selectAllFlowable(boolean toBeSync);
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.dao;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Query;
|
||||
import androidx.room.Transaction;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.rxjava3.core.Flowable;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.BaseSyncDTO;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.TrasferimentoPedaneRowEntity;
|
||||
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityDaoInterface;
|
||||
|
||||
@Dao
|
||||
public interface TrasferimentoPedaneRowDao extends EntityDaoInterface<TrasferimentoPedaneRowEntity> {
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT * FROM " + TrasferimentoPedaneRowEntity.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))" +
|
||||
" ORDER BY " + TrasferimentoPedaneRowEntity.Columns.CREATED_AT + " DESC")
|
||||
List<TrasferimentoPedaneRowEntity> selectAll(boolean toBeSync);
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT * FROM " + TrasferimentoPedaneRowEntity.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))" +
|
||||
" ORDER BY " + TrasferimentoPedaneRowEntity.Columns.CREATED_AT + " DESC")
|
||||
Flowable<List<TrasferimentoPedaneRowEntity>> selectAllFlowable(boolean toBeSync);
|
||||
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT * FROM " + TrasferimentoPedaneRowEntity.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))" +
|
||||
" AND " + TrasferimentoPedaneRowEntity.Columns.PARENT_ID + " = :trasferimentoId " +
|
||||
" ORDER BY " + TrasferimentoPedaneRowEntity.Columns.CREATED_AT + " DESC")
|
||||
List<TrasferimentoPedaneRowEntity> selectAll(long trasferimentoId, boolean toBeSync);
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT * FROM " + TrasferimentoPedaneRowEntity.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))" +
|
||||
" AND " + TrasferimentoPedaneRowEntity.Columns.PARENT_ID + " = :trasferimentoId " +
|
||||
" ORDER BY " + TrasferimentoPedaneRowEntity.Columns.CREATED_AT + " DESC")
|
||||
Flowable<List<TrasferimentoPedaneRowEntity>> selectAllFlowable(long trasferimentoId, boolean toBeSync);
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.dao;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Query;
|
||||
import androidx.room.Transaction;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.rxjava3.core.Flowable;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.BaseSyncDTO;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.VerificaGiacenzeEntity;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.VerificaGiacenzeRowEntity;
|
||||
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityDaoInterface;
|
||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.VerificaGiacenzeWithRowsWrapper;
|
||||
|
||||
@Dao
|
||||
public interface VerificaGiacenzeDao extends EntityDaoInterface<VerificaGiacenzeEntity> {
|
||||
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT * FROM " + VerificaGiacenzeEntity.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))")
|
||||
List<VerificaGiacenzeWithRowsWrapper> selectAll(boolean toBeSync);
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT * FROM " + VerificaGiacenzeEntity.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))" +
|
||||
" ORDER BY " + VerificaGiacenzeEntity.Columns.DATA + " DESC")
|
||||
Flowable<List<VerificaGiacenzeWithRowsWrapper>> selectAllFlowable(boolean toBeSync);
|
||||
|
||||
@Transaction
|
||||
@Query("SELECT * FROM " + VerificaGiacenzeEntity.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))" +
|
||||
" ORDER BY " + VerificaGiacenzeEntity.Columns.DATA + " DESC" +
|
||||
" LIMIT 1")
|
||||
VerificaGiacenzeWithRowsWrapper selectLast(boolean toBeSync);
|
||||
|
||||
@Query("SELECT COALESCE(strftime('%s', 'now') - MAX(" + VerificaGiacenzeRowEntity.Columns.CREATED_AT + ") < :maxMinutes * 60, 0) as any_verifica_to_be_recovered" +
|
||||
" FROM " + VerificaGiacenzeRowEntity.TABLE_NAME +
|
||||
" WHERE (" + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL)")
|
||||
boolean isAnotherVerificaGiacenzeInProgress(int maxMinutes);
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.dao;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Query;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.reactivex.rxjava3.core.Flowable;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.BaseSyncDTO;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.VerificaGiacenzeRowEntity;
|
||||
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityDaoInterface;
|
||||
|
||||
@Dao
|
||||
public interface VerificaGiacenzeRowDao extends EntityDaoInterface<VerificaGiacenzeRowEntity> {
|
||||
|
||||
|
||||
@Query("SELECT * FROM " + VerificaGiacenzeRowEntity.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))")
|
||||
List<VerificaGiacenzeRowEntity> selectAll(boolean toBeSync);
|
||||
|
||||
@Query("SELECT * FROM " + VerificaGiacenzeRowEntity.TABLE_NAME +
|
||||
" WHERE ((:toBeSync = 1 AND " + BaseSyncDTO.Columns.COLUMN_REMOTE_SYNC_DATE + " IS NULL) OR (:toBeSync = 0))")
|
||||
Flowable<List<VerificaGiacenzeRowEntity>> selectAllFlowable(boolean toBeSync);
|
||||
|
||||
}
|
||||
@@ -6,13 +6,6 @@ import androidx.room.ForeignKey;
|
||||
import androidx.room.Index;
|
||||
import androidx.room.PrimaryKey;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.HashMap;
|
||||
|
||||
import it.integry.integrywmsnative.core.utility.UtilityDate;
|
||||
|
||||
@Entity(
|
||||
tableName = "articoli_griglia",
|
||||
indices = {
|
||||
@@ -71,6 +64,9 @@ public class ArticoloGriglia {
|
||||
@ColumnInfo(name = "qta_proposta")
|
||||
private float qtaProposta;
|
||||
|
||||
@ColumnInfo(name = "qta_ord")
|
||||
private float qtaOrd;
|
||||
|
||||
@ColumnInfo(name = "id_griglia")
|
||||
private int idGriglia;
|
||||
|
||||
@@ -205,38 +201,11 @@ public class ArticoloGriglia {
|
||||
this.newNoPromo = newNoPromo;
|
||||
}
|
||||
|
||||
public String generateSystemNote() {
|
||||
HashMap<String, String> pairs = new HashMap<>();
|
||||
pairs.put("qta_proposta", String.valueOf(qtaProposta));
|
||||
pairs.put("giacenza", String.valueOf(giacenza));
|
||||
|
||||
return new JSONObject(pairs).toString();
|
||||
public float getQtaOrd() {
|
||||
return qtaOrd;
|
||||
}
|
||||
|
||||
public ArticoloOrdine convertToArticoloOrdine(Ordine ordine) {
|
||||
ArticoloOrdine articolo = new ArticoloOrdine();
|
||||
|
||||
articolo.setIdOrdine(ordine.getOrdineId());
|
||||
|
||||
articolo.setBarCode(this.getBarCode());
|
||||
articolo.setCodMart(this.getCodMart());
|
||||
articolo.setMediaSett(this.getMediaSett());
|
||||
articolo.setFlagQtaMultipla(this.getFlagQtaMultipla());
|
||||
articolo.setQtaMinOrdinabile(this.getQtaMinOrdinabile());
|
||||
articolo.setMerceDaRic(this.getMerceDaRic());
|
||||
articolo.setQtaCnf(this.getQtaCnf());
|
||||
articolo.setUntMis(this.getUntMis());
|
||||
articolo.setDescrizione(this.getDescrizione());
|
||||
articolo.setDataIns(UtilityDate.getDateInstance());
|
||||
articolo.setGgScadenza(this.getGgScadenza());
|
||||
articolo.setGiacenza(BigDecimal.valueOf(this.getGiacenza()));
|
||||
articolo.setQtaPrevistaVendita(BigDecimal.valueOf(this.getQtaPrevistaVendita()));
|
||||
articolo.setQtaProposta(BigDecimal.valueOf(this.getQtaProposta()));
|
||||
articolo.setNewNoPromo(this.isNewNoPromo());
|
||||
articolo.setSystemNote(generateSystemNote());
|
||||
|
||||
articolo.setQtaOrd(0);
|
||||
|
||||
return articolo;
|
||||
public void setQtaOrd(float qtaOrd) {
|
||||
this.qtaOrd = qtaOrd;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,6 +73,9 @@ public class ArticoloOrdine {
|
||||
@ColumnInfo(name = "system_note")
|
||||
private String systemNote;
|
||||
|
||||
@ColumnInfo(name = "cod_alis")
|
||||
private String codAlis;
|
||||
|
||||
@Ignore
|
||||
private int ggScadenza = 0;
|
||||
|
||||
@@ -85,9 +88,15 @@ public class ArticoloOrdine {
|
||||
@Ignore
|
||||
private BigDecimal qtaProposta = BigDecimal.ZERO;
|
||||
|
||||
@Ignore
|
||||
private BigDecimal ctMaxOrd = BigDecimal.ZERO;
|
||||
|
||||
@Ignore
|
||||
private int bgTint;
|
||||
|
||||
@Ignore
|
||||
private boolean invalid = false;
|
||||
|
||||
|
||||
public Integer getArticoloOrdineId() {
|
||||
return articoloOrdineId;
|
||||
@@ -230,15 +239,15 @@ public class ArticoloOrdine {
|
||||
}
|
||||
|
||||
public BigDecimal getQtaCnfPrevistaVendita() {
|
||||
return qtaPrevistaVendita.equals(BigDecimal.ZERO) ? BigDecimal.ZERO : qtaPrevistaVendita.divide(BigDecimal.valueOf(qtaCnf), 0, RoundingMode.CEILING);
|
||||
return qtaPrevistaVendita == null || qtaPrevistaVendita.equals(BigDecimal.ZERO) ? BigDecimal.ZERO : qtaPrevistaVendita.divide(BigDecimal.valueOf(qtaCnf), 0, RoundingMode.CEILING);
|
||||
}
|
||||
|
||||
public BigDecimal getQtaCnfProposta() {
|
||||
return qtaProposta.equals(BigDecimal.ZERO) ? BigDecimal.ZERO : qtaProposta.divide(BigDecimal.valueOf(qtaCnf), 0, RoundingMode.CEILING);
|
||||
return qtaProposta == null || qtaProposta.equals(BigDecimal.ZERO) ? BigDecimal.ZERO : qtaProposta.divide(BigDecimal.valueOf(qtaCnf), 0, RoundingMode.CEILING);
|
||||
}
|
||||
|
||||
public BigDecimal getQtaCnfGiacenza() {
|
||||
return giacenza.equals(BigDecimal.ZERO) ? BigDecimal.ZERO : giacenza.divide(BigDecimal.valueOf(qtaCnf), 0, RoundingMode.CEILING);
|
||||
return giacenza == null || giacenza.equals(BigDecimal.ZERO) ? BigDecimal.ZERO : giacenza.divide(BigDecimal.valueOf(qtaCnf), 0, RoundingMode.CEILING);
|
||||
}
|
||||
|
||||
public boolean isNewNoPromo() {
|
||||
@@ -250,12 +259,12 @@ public class ArticoloOrdine {
|
||||
}
|
||||
|
||||
public float getCnfDaRic() {
|
||||
return qtaCnf > 0.f ? merceDaRic * qtaCnf : 0;
|
||||
return qtaCnf > 0.f ? merceDaRic / qtaCnf : 0;
|
||||
}
|
||||
|
||||
public int checkQtaProposta() {
|
||||
int check = 0;
|
||||
if (!qtaProposta.equals(BigDecimal.ZERO)) {
|
||||
if (qtaProposta != null && !qtaProposta.equals(BigDecimal.ZERO)) {
|
||||
check = BigDecimal.valueOf(qtaOrd).compareTo(qtaProposta);
|
||||
}
|
||||
return check;
|
||||
@@ -277,4 +286,30 @@ public class ArticoloOrdine {
|
||||
public void setSystemNote(String systemNote) {
|
||||
this.systemNote = systemNote;
|
||||
}
|
||||
|
||||
public String getCodAlis() {
|
||||
return codAlis;
|
||||
}
|
||||
|
||||
public void setCodAlis(String codAlis) {
|
||||
this.codAlis = codAlis;
|
||||
}
|
||||
|
||||
public BigDecimal getCtMaxOrd() {
|
||||
return ctMaxOrd;
|
||||
}
|
||||
|
||||
public ArticoloOrdine setCtMaxOrd(BigDecimal ctMaxOrd) {
|
||||
this.ctMaxOrd = ctMaxOrd;
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean isInvalid() {
|
||||
return invalid;
|
||||
}
|
||||
|
||||
public ArticoloOrdine setInvalid(boolean invalid) {
|
||||
this.invalid = invalid;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.entity;
|
||||
|
||||
public abstract class BaseRoomDTO {
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.entity;
|
||||
|
||||
import android.provider.BaseColumns;
|
||||
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.PrimaryKey;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
public abstract class BaseSyncDTO extends BaseRoomDTO {
|
||||
|
||||
|
||||
public static class Columns {
|
||||
public static final String ID = BaseColumns._ID;
|
||||
public static final String COLUMN_REMOTE_SYNC_DATE = "remote_sync_date";
|
||||
}
|
||||
|
||||
/** The unique ID of the cheese. */
|
||||
@PrimaryKey(autoGenerate = true)
|
||||
@ColumnInfo(index = true, name = Columns.ID)
|
||||
private Long id;
|
||||
|
||||
@ColumnInfo(name = Columns.COLUMN_REMOTE_SYNC_DATE)
|
||||
private LocalDateTime remoteSyncDate;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public LocalDateTime getRemoteSyncDate() {
|
||||
return remoteSyncDate;
|
||||
}
|
||||
|
||||
public void setRemoteSyncDate(LocalDateTime remoteSyncDate) {
|
||||
this.remoteSyncDate = remoteSyncDate;
|
||||
}
|
||||
|
||||
public boolean isSyncronized() {
|
||||
return getRemoteSyncDate() != null;
|
||||
}
|
||||
}
|
||||
@@ -2,11 +2,10 @@ package it.integry.integrywmsnative.core.data_store.db.entity;
|
||||
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.Ignore;
|
||||
import androidx.room.Index;
|
||||
import androidx.room.PrimaryKey;
|
||||
|
||||
@Entity(tableName ="griglie",
|
||||
@Entity(tableName = "griglie",
|
||||
indices = {
|
||||
@Index(value = "cod_alis", unique = true)
|
||||
}
|
||||
@@ -22,8 +21,6 @@ public class Griglia {
|
||||
private String descrLisa;
|
||||
@ColumnInfo(name = "descr_depo")
|
||||
private String descrDepo;
|
||||
@Ignore
|
||||
private int countArticoli = 0;
|
||||
|
||||
|
||||
public int getGrigliaId() {
|
||||
@@ -58,11 +55,4 @@ public class Griglia {
|
||||
this.descrDepo = descrDepo;
|
||||
}
|
||||
|
||||
public int getCountArticoli() {
|
||||
return countArticoli;
|
||||
}
|
||||
|
||||
public void setCountArticoli(int countArticoli) {
|
||||
this.countArticoli = countArticoli;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,257 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.entity;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.Ignore;
|
||||
import androidx.room.PrimaryKey;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityModelInterface;
|
||||
|
||||
@Entity(tableName = InventarioEntity.TABLE_NAME)
|
||||
public class InventarioEntity extends BaseSyncDTO implements EntityModelInterface {
|
||||
|
||||
public static final String TABLE_NAME = "inventari";
|
||||
|
||||
public static class Columns {
|
||||
public static final String ID_INVENTARIO = "id_inventario";
|
||||
public static final String COD_MDEP = "cod_mdep";
|
||||
public static final String DATA_INVENTARIO = "data_inventario";
|
||||
public static final String DATA_REG = "data_reg";
|
||||
public static final String DATA_VER = "data_ver";
|
||||
public static final String FILTRO = "filtro";
|
||||
public static final String FLAG_STATO = "flag_stato";
|
||||
public static final String FLAG_OPERAZIONE = "flag_operazione";
|
||||
public static final String COD_ANAG = "cod_anag";
|
||||
public static final String COD_DTIP = "cod_dtip";
|
||||
public static final String INSERITO_DA = "inserito_da";
|
||||
public static final String REGISTRATO_DA = "registrato_da";
|
||||
public static final String VERIFICATO_DA = "verificato_da";
|
||||
public static final String DATA_ORA_INIZIO = "data_ora_inizio";
|
||||
public static final String DATA_ORA_FINE = "data_ora_fine";
|
||||
public static final String CAUSALE = "causale";
|
||||
public static final String ZONA = "zona";
|
||||
public static final String IS_NEW = "new";
|
||||
}
|
||||
|
||||
/** The unique ID of the cheese. */
|
||||
@PrimaryKey(autoGenerate = true)
|
||||
@ColumnInfo(index = true, name = BaseSyncDTO.Columns.ID)
|
||||
private Long id;
|
||||
|
||||
/** The unique ID of the cheese. */
|
||||
@ColumnInfo(index = true, name = Columns.ID_INVENTARIO)
|
||||
private Long idInventario;
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = Columns.COD_MDEP)
|
||||
private String codMdep;
|
||||
|
||||
@ColumnInfo(name = Columns.DATA_INVENTARIO)
|
||||
private LocalDate dataInventario;
|
||||
|
||||
@ColumnInfo(name = Columns.DATA_REG)
|
||||
private LocalDateTime dataReg;
|
||||
|
||||
@ColumnInfo(name = Columns.DATA_VER)
|
||||
private LocalDateTime dataVer;
|
||||
|
||||
@ColumnInfo(name = Columns.FILTRO)
|
||||
private String filtro;
|
||||
|
||||
@ColumnInfo(name = Columns.FLAG_STATO)
|
||||
private String flagStato;
|
||||
|
||||
@ColumnInfo(name = Columns.FLAG_OPERAZIONE)
|
||||
private String flagOperazione;
|
||||
|
||||
@ColumnInfo(name = Columns.COD_ANAG)
|
||||
private String codAnag;
|
||||
|
||||
@ColumnInfo(name = Columns.COD_DTIP)
|
||||
private String codDtip;
|
||||
|
||||
@ColumnInfo(name = Columns.INSERITO_DA)
|
||||
private String inseritoDa;
|
||||
|
||||
@ColumnInfo(name = Columns.REGISTRATO_DA)
|
||||
private String registratoDa;
|
||||
|
||||
@ColumnInfo(name = Columns.VERIFICATO_DA)
|
||||
private String verificatoDa;
|
||||
|
||||
@ColumnInfo(name = Columns.DATA_ORA_INIZIO)
|
||||
private LocalDateTime dataOraInizio;
|
||||
|
||||
@ColumnInfo(name = Columns.DATA_ORA_FINE)
|
||||
private LocalDateTime dataOraFine;
|
||||
|
||||
@ColumnInfo(name = Columns.CAUSALE)
|
||||
private String causale;
|
||||
|
||||
@ColumnInfo(name = Columns.ZONA)
|
||||
private String zona;
|
||||
|
||||
@ColumnInfo(name = Columns.IS_NEW)
|
||||
private Boolean isNew = Boolean.TRUE;
|
||||
|
||||
@Ignore
|
||||
private List<InventarioRowRoomDTO> inventarioRowList;
|
||||
|
||||
public Long getIdInventario() {
|
||||
return idInventario;
|
||||
}
|
||||
|
||||
public void setIdInventario(Long idInventario) {
|
||||
this.idInventario = idInventario;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public String getCodMdep() {
|
||||
return codMdep;
|
||||
}
|
||||
|
||||
public void setCodMdep(@NonNull String codMdep) {
|
||||
this.codMdep = codMdep;
|
||||
}
|
||||
|
||||
public LocalDate getDataInventario() {
|
||||
return dataInventario;
|
||||
}
|
||||
|
||||
public void setDataInventario(LocalDate dataInventario) {
|
||||
this.dataInventario = dataInventario;
|
||||
}
|
||||
|
||||
public LocalDateTime getDataReg() {
|
||||
return dataReg;
|
||||
}
|
||||
|
||||
public void setDataReg(LocalDateTime dataReg) {
|
||||
this.dataReg = dataReg;
|
||||
}
|
||||
|
||||
public LocalDateTime getDataVer() {
|
||||
return dataVer;
|
||||
}
|
||||
|
||||
public void setDataVer(LocalDateTime dataVer) {
|
||||
this.dataVer = dataVer;
|
||||
}
|
||||
|
||||
public String getFiltro() {
|
||||
return filtro;
|
||||
}
|
||||
|
||||
public void setFiltro(String filtro) {
|
||||
this.filtro = filtro;
|
||||
}
|
||||
|
||||
public String getFlagStato() {
|
||||
return flagStato;
|
||||
}
|
||||
|
||||
public void setFlagStato(String flagStato) {
|
||||
this.flagStato = flagStato;
|
||||
}
|
||||
|
||||
public String getFlagOperazione() {
|
||||
return flagOperazione;
|
||||
}
|
||||
|
||||
public void setFlagOperazione(String flagOperazione) {
|
||||
this.flagOperazione = flagOperazione;
|
||||
}
|
||||
|
||||
public String getCodAnag() {
|
||||
return codAnag;
|
||||
}
|
||||
|
||||
public void setCodAnag(String codAnag) {
|
||||
this.codAnag = codAnag;
|
||||
}
|
||||
|
||||
public String getCodDtip() {
|
||||
return codDtip;
|
||||
}
|
||||
|
||||
public void setCodDtip(String codDtip) {
|
||||
this.codDtip = codDtip;
|
||||
}
|
||||
|
||||
public String getInseritoDa() {
|
||||
return inseritoDa;
|
||||
}
|
||||
|
||||
public void setInseritoDa(String inseritoDa) {
|
||||
this.inseritoDa = inseritoDa;
|
||||
}
|
||||
|
||||
public String getRegistratoDa() {
|
||||
return registratoDa;
|
||||
}
|
||||
|
||||
public void setRegistratoDa(String registratoDa) {
|
||||
this.registratoDa = registratoDa;
|
||||
}
|
||||
|
||||
public String getVerificatoDa() {
|
||||
return verificatoDa;
|
||||
}
|
||||
|
||||
public void setVerificatoDa(String verificatoDa) {
|
||||
this.verificatoDa = verificatoDa;
|
||||
}
|
||||
|
||||
public LocalDateTime getDataOraInizio() {
|
||||
return dataOraInizio;
|
||||
}
|
||||
|
||||
public void setDataOraInizio(LocalDateTime dataOraInizio) {
|
||||
this.dataOraInizio = dataOraInizio;
|
||||
}
|
||||
|
||||
public LocalDateTime getDataOraFine() {
|
||||
return dataOraFine;
|
||||
}
|
||||
|
||||
public void setDataOraFine(LocalDateTime dataOraFine) {
|
||||
this.dataOraFine = dataOraFine;
|
||||
}
|
||||
|
||||
public String getCausale() {
|
||||
return causale;
|
||||
}
|
||||
|
||||
public void setCausale(String causale) {
|
||||
this.causale = causale;
|
||||
}
|
||||
|
||||
public String getZona() {
|
||||
return zona;
|
||||
}
|
||||
|
||||
public void setZona(String zona) {
|
||||
this.zona = zona;
|
||||
}
|
||||
|
||||
public Boolean isNew() {
|
||||
return isNew;
|
||||
}
|
||||
|
||||
public void setNew(Boolean aNew) {
|
||||
isNew = aNew;
|
||||
}
|
||||
|
||||
public List<InventarioRowRoomDTO> getInventarioRowList() {
|
||||
return inventarioRowList;
|
||||
}
|
||||
|
||||
public void setInventarioRowList(List<InventarioRowRoomDTO> inventarioRowList) {
|
||||
this.inventarioRowList = inventarioRowList;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,216 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.entity;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.ForeignKey;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityModelInterface;
|
||||
|
||||
@Entity(
|
||||
inheritSuperIndices = true,
|
||||
tableName = InventarioRowRoomDTO.TABLE_NAME,
|
||||
foreignKeys = {
|
||||
@ForeignKey(
|
||||
entity = InventarioEntity.class,
|
||||
parentColumns = {BaseSyncDTO.Columns.ID},
|
||||
childColumns = {InventarioRowRoomDTO.Columns.PARENT_ID},
|
||||
onDelete = ForeignKey.CASCADE
|
||||
)
|
||||
}
|
||||
)
|
||||
public class InventarioRowRoomDTO extends BaseSyncDTO implements EntityModelInterface {
|
||||
|
||||
public static final String TABLE_NAME = "inventario_rows";
|
||||
|
||||
public static class Columns {
|
||||
public static final String PARENT_ID = "parent_id";
|
||||
public static final String COD_MART = "cod_mart";
|
||||
public static final String PARTITA_MAG = "partita_mag";
|
||||
public static final String DESCRIZIONE = "descrizione";
|
||||
public static final String QTA = "qta";
|
||||
public static final String NUM_CNF = "num_cnf";
|
||||
public static final String QTA_CNF = "qta_cnf";
|
||||
public static final String UNT_MIS = "unt_mis";
|
||||
public static final String DATA_ORA_INV = "data_ora_inv";
|
||||
public static final String SCAN_COD_BARRE = "scan_cod_barre";
|
||||
public static final String ZONA = "zona";
|
||||
}
|
||||
|
||||
@ColumnInfo(index = true, name = Columns.PARENT_ID)
|
||||
private Long parentId;
|
||||
|
||||
@ColumnInfo(name = Columns.COD_MART)
|
||||
private String codMart;
|
||||
|
||||
@ColumnInfo(name = Columns.PARTITA_MAG)
|
||||
private String partitaMag;
|
||||
|
||||
@ColumnInfo(name = Columns.DESCRIZIONE)
|
||||
private String descrizione;
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = Columns.QTA, defaultValue = "0")
|
||||
private BigDecimal qta;
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = Columns.NUM_CNF, defaultValue = "0")
|
||||
private BigDecimal numConf;
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = Columns.QTA_CNF, defaultValue = "0")
|
||||
private BigDecimal qtaConf;
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = Columns.UNT_MIS, defaultValue = "0")
|
||||
private String untMis;
|
||||
|
||||
@ColumnInfo(name = Columns.DATA_ORA_INV)
|
||||
private LocalDateTime dataOraInv;
|
||||
|
||||
@ColumnInfo(name = Columns.SCAN_COD_BARRE)
|
||||
private String scanCodBarre;
|
||||
|
||||
@ColumnInfo(name = Columns.ZONA)
|
||||
private String zona;
|
||||
|
||||
|
||||
public Long getParentId() {
|
||||
return parentId;
|
||||
}
|
||||
|
||||
public void setParentId(Long parentId) {
|
||||
this.parentId = parentId;
|
||||
}
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
}
|
||||
|
||||
public void setCodMart(@NonNull String codMart) {
|
||||
this.codMart = codMart;
|
||||
}
|
||||
|
||||
public String getPartitaMag() {
|
||||
return partitaMag;
|
||||
}
|
||||
|
||||
public void setPartitaMag(String partitaMag) {
|
||||
this.partitaMag = partitaMag;
|
||||
}
|
||||
|
||||
public String getDescrizione() {
|
||||
return descrizione;
|
||||
}
|
||||
|
||||
public void setDescrizione(String descrizione) {
|
||||
this.descrizione = descrizione;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public BigDecimal getQta() {
|
||||
return qta;
|
||||
}
|
||||
|
||||
public void setQta(@NonNull BigDecimal qta) {
|
||||
this.qta = qta;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public BigDecimal getNumConf() {
|
||||
return numConf;
|
||||
}
|
||||
|
||||
public void setNumConf(@NonNull BigDecimal numConf) {
|
||||
this.numConf = numConf;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public BigDecimal getQtaConf() {
|
||||
return qtaConf;
|
||||
}
|
||||
|
||||
public void setQtaConf(@NonNull BigDecimal qtaConf) {
|
||||
this.qtaConf = qtaConf;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public String getUntMis() {
|
||||
return untMis;
|
||||
}
|
||||
|
||||
public void setUntMis(@NonNull String untMis) {
|
||||
this.untMis = untMis;
|
||||
}
|
||||
|
||||
public LocalDateTime getDataOraInv() {
|
||||
return dataOraInv;
|
||||
}
|
||||
|
||||
public void setDataOraInv(LocalDateTime dataOraInv) {
|
||||
this.dataOraInv = dataOraInv;
|
||||
}
|
||||
|
||||
public String getScanCodBarre() {
|
||||
return scanCodBarre;
|
||||
}
|
||||
|
||||
public void setScanCodBarre(String scanCodBarre) {
|
||||
this.scanCodBarre = scanCodBarre;
|
||||
}
|
||||
|
||||
public String getZona() {
|
||||
return zona;
|
||||
}
|
||||
|
||||
public void setZona(String zona) {
|
||||
this.zona = zona;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
InventarioRowRoomDTO that = (InventarioRowRoomDTO) o;
|
||||
|
||||
if (getId() != null ? !getId().equals(that.getId()) : that.getId() != null) return false;
|
||||
if (getParentId() != null ? !getParentId().equals(that.getParentId()) : that.getParentId() != null)
|
||||
return false;
|
||||
if (getCodMart() != null ? !getCodMart().equals(that.getCodMart()) : that.getCodMart() != null)
|
||||
return false;
|
||||
if (getPartitaMag() != null ? !getPartitaMag().equals(that.getPartitaMag()) : that.getPartitaMag() != null)
|
||||
return false;
|
||||
if (getDescrizione() != null ? !getDescrizione().equals(that.getDescrizione()) : that.getDescrizione() != null)
|
||||
return false;
|
||||
if (!getQta().equals(that.getQta())) return false;
|
||||
if (!getNumConf().equals(that.getNumConf())) return false;
|
||||
if (!getQtaConf().equals(that.getQtaConf())) return false;
|
||||
if (!getUntMis().equals(that.getUntMis())) return false;
|
||||
if (getDataOraInv() != null ? !getDataOraInv().equals(that.getDataOraInv()) : that.getDataOraInv() != null)
|
||||
return false;
|
||||
if (getScanCodBarre() != null ? !getScanCodBarre().equals(that.getScanCodBarre()) : that.getScanCodBarre() != null)
|
||||
return false;
|
||||
return getZona() != null ? getZona().equals(that.getZona()) : that.getZona() == null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = getId() != null ? getId().hashCode() : 0;
|
||||
result = 31 * result + (getParentId() != null ? getParentId().hashCode() : 0);
|
||||
result = 31 * result + (getCodMart() != null ? getCodMart().hashCode() : 0);
|
||||
result = 31 * result + (getPartitaMag() != null ? getPartitaMag().hashCode() : 0);
|
||||
result = 31 * result + (getDescrizione() != null ? getDescrizione().hashCode() : 0);
|
||||
result = 31 * result + getQta().hashCode();
|
||||
result = 31 * result + getNumConf().hashCode();
|
||||
result = 31 * result + getQtaConf().hashCode();
|
||||
result = 31 * result + getUntMis().hashCode();
|
||||
result = 31 * result + (getDataOraInv() != null ? getDataOraInv().hashCode() : 0);
|
||||
result = 31 * result + (getScanCodBarre() != null ? getScanCodBarre().hashCode() : 0);
|
||||
result = 31 * result + (getZona() != null ? getZona().hashCode() : 0);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -48,10 +48,14 @@ public class Ordine {
|
||||
private String codMdep;
|
||||
|
||||
@Ignore
|
||||
private int countArticoli = 0;
|
||||
private boolean orderNewProducts = false;
|
||||
|
||||
@ColumnInfo(name = "id_griglia")
|
||||
private int idGriglia;
|
||||
@Nullable
|
||||
private Integer idGriglia;
|
||||
|
||||
@ColumnInfo(name = "cod_alis")
|
||||
private String codAlis;
|
||||
|
||||
public int getOrdineId() {
|
||||
return ordineId;
|
||||
@@ -77,11 +81,11 @@ public class Ordine {
|
||||
this.annotazioni = annotazioni;
|
||||
}
|
||||
|
||||
public int getIdGriglia() {
|
||||
public Integer getIdGriglia() {
|
||||
return idGriglia;
|
||||
}
|
||||
|
||||
public void setIdGriglia(int idGriglia) {
|
||||
public void setIdGriglia(Integer idGriglia) {
|
||||
this.idGriglia = idGriglia;
|
||||
}
|
||||
|
||||
@@ -102,14 +106,6 @@ public class Ordine {
|
||||
this.transmissionDate = transmissionDate;
|
||||
}
|
||||
|
||||
public int getCountArticoli() {
|
||||
return countArticoli;
|
||||
}
|
||||
|
||||
public void setCountArticoli(int countArticoli) {
|
||||
this.countArticoli = countArticoli;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public String getGestione() {
|
||||
return gestione;
|
||||
@@ -149,4 +145,20 @@ public class Ordine {
|
||||
public void setDataOrdS(String dataOrd) {
|
||||
setDataOrd(UtilityDate.recognizeDateWithExceptionHandler(dataOrd));
|
||||
}
|
||||
|
||||
public boolean isOrderNewProducts() {
|
||||
return orderNewProducts;
|
||||
}
|
||||
|
||||
public void setOrderNewProducts(boolean orderNewProducts) {
|
||||
this.orderNewProducts = orderNewProducts;
|
||||
}
|
||||
|
||||
public String getCodAlis() {
|
||||
return codAlis;
|
||||
}
|
||||
|
||||
public void setCodAlis(String codAlis) {
|
||||
this.codAlis = codAlis;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import androidx.room.ForeignKey;
|
||||
import androidx.room.Index;
|
||||
import androidx.room.PrimaryKey;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.util.Date;
|
||||
|
||||
@Entity(
|
||||
@@ -138,7 +138,7 @@ public class SqlMtbColr {
|
||||
@ColumnInfo(name = "unt_mis")
|
||||
private String untMis;
|
||||
@ColumnInfo(name = "data_scad")
|
||||
private Date dataScad;
|
||||
private LocalDate dataScad;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
@@ -428,11 +428,11 @@ public class SqlMtbColr {
|
||||
this.descrizione = descrizione;
|
||||
}
|
||||
|
||||
public Date getDataScad() {
|
||||
public LocalDate getDataScad() {
|
||||
return dataScad;
|
||||
}
|
||||
|
||||
public void setDataScad(Date dataScad) {
|
||||
public void setDataScad(LocalDate dataScad) {
|
||||
this.dataScad = dataScad;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,158 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.entity;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.Ignore;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityModelInterface;
|
||||
import it.integry.integrywmsnative.core.model.secondary.TrasferimentoPedaneStatusEnum;
|
||||
|
||||
@Entity(
|
||||
inheritSuperIndices = true,
|
||||
tableName = TrasferimentoPedaneEntity.TABLE_NAME
|
||||
)
|
||||
public class TrasferimentoPedaneEntity extends BaseSyncDTO implements EntityModelInterface {
|
||||
|
||||
public static final String TABLE_NAME = "trasferimento_pedane";
|
||||
|
||||
public static class Columns {
|
||||
public static final String COD_MDEP_DEST = "cod_mdep_dest";
|
||||
public static final String DESCRIZIONE_DEPO_DEST = "descrizione_depo_dest";
|
||||
public static final String STATUS = "status";
|
||||
public static final String DOCUMENT_COD_ANAG = "document_cod_anag";
|
||||
public static final String DOCUMENT_COD_DTIP = "document_cod_dtip";
|
||||
public static final String DOCUMENT_NUM = "document_num";
|
||||
public static final String DOCUMENT_SER = "document_ser";
|
||||
public static final String DOCUMENT_DATA = "document_data";
|
||||
|
||||
public static final String CREATED_AT = "created_at";
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = TrasferimentoPedaneEntity.Columns.COD_MDEP_DEST)
|
||||
private String codMdepDest;
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = Columns.DESCRIZIONE_DEPO_DEST)
|
||||
private String descrizioneDepoDest;
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = Columns.STATUS)
|
||||
private short status = TrasferimentoPedaneStatusEnum.APERTO.getValue();
|
||||
|
||||
@ColumnInfo(name = Columns.DOCUMENT_COD_ANAG)
|
||||
private String documentCodAnag;
|
||||
|
||||
@ColumnInfo(name = Columns.DOCUMENT_COD_DTIP)
|
||||
private String documentCodDtip;
|
||||
|
||||
@ColumnInfo(name = Columns.DOCUMENT_NUM)
|
||||
private Integer documentNum;
|
||||
|
||||
@ColumnInfo(name = Columns.DOCUMENT_SER)
|
||||
private String documentSer;
|
||||
|
||||
@ColumnInfo(name = Columns.DOCUMENT_DATA)
|
||||
private LocalDate documentData;
|
||||
|
||||
@ColumnInfo(name = TrasferimentoPedaneEntity.Columns.CREATED_AT, defaultValue = "CURRENT_TIMESTAMP")
|
||||
private LocalDateTime createdAt = LocalDateTime.now();
|
||||
|
||||
@Ignore
|
||||
private List<TrasferimentoPedaneRowEntity> trasferimentoPedaneRowList;
|
||||
|
||||
@NonNull
|
||||
public String getCodMdepDest() {
|
||||
return codMdepDest;
|
||||
}
|
||||
|
||||
public void setCodMdepDest(@NonNull String codMdepDest) {
|
||||
this.codMdepDest = codMdepDest;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public String getDescrizioneDepoDest() {
|
||||
return descrizioneDepoDest;
|
||||
}
|
||||
|
||||
public void setDescrizioneDepoDest(@NonNull String descrizioneDepoDest) {
|
||||
this.descrizioneDepoDest = descrizioneDepoDest;
|
||||
}
|
||||
|
||||
public short getStatus() {
|
||||
return status;
|
||||
}
|
||||
|
||||
public void setStatus(short status) {
|
||||
this.status = status;
|
||||
}
|
||||
|
||||
public String getDocumentCodAnag() {
|
||||
return documentCodAnag;
|
||||
}
|
||||
|
||||
public void setDocumentCodAnag(String documentCodAnag) {
|
||||
this.documentCodAnag = documentCodAnag;
|
||||
}
|
||||
|
||||
public String getDocumentCodDtip() {
|
||||
return documentCodDtip;
|
||||
}
|
||||
|
||||
public void setDocumentCodDtip(String documentCodDtip) {
|
||||
this.documentCodDtip = documentCodDtip;
|
||||
}
|
||||
|
||||
public Integer getDocumentNum() {
|
||||
return documentNum;
|
||||
}
|
||||
|
||||
public void setDocumentNum(Integer documentNum) {
|
||||
this.documentNum = documentNum;
|
||||
}
|
||||
|
||||
public String getDocumentSer() {
|
||||
return documentSer;
|
||||
}
|
||||
|
||||
public void setDocumentSer(String documentSer) {
|
||||
this.documentSer = documentSer;
|
||||
}
|
||||
|
||||
public LocalDate getDocumentData() {
|
||||
return documentData;
|
||||
}
|
||||
|
||||
public void setDocumentData(LocalDate documentData) {
|
||||
this.documentData = documentData;
|
||||
}
|
||||
|
||||
public LocalDateTime getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(LocalDateTime createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public List<TrasferimentoPedaneRowEntity> getTrasferimentoPedaneRowList() {
|
||||
return trasferimentoPedaneRowList;
|
||||
}
|
||||
|
||||
public void setTrasferimentoPedaneRowList(List<TrasferimentoPedaneRowEntity> trasferimentoPedaneRowList) {
|
||||
this.trasferimentoPedaneRowList = trasferimentoPedaneRowList;
|
||||
}
|
||||
|
||||
|
||||
@Ignore
|
||||
public TrasferimentoPedaneStatusEnum getStatusEnum() {
|
||||
return TrasferimentoPedaneStatusEnum.fromValue(getStatus());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.entity;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.ForeignKey;
|
||||
import androidx.room.Ignore;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityModelInterface;
|
||||
import it.integry.integrywmsnative.core.model.MtbColt;
|
||||
|
||||
@Entity(
|
||||
inheritSuperIndices = true,
|
||||
tableName = TrasferimentoPedaneRowEntity.TABLE_NAME,
|
||||
foreignKeys = {
|
||||
@ForeignKey(
|
||||
entity = TrasferimentoPedaneEntity.class,
|
||||
parentColumns = {BaseSyncDTO.Columns.ID},
|
||||
childColumns = {TrasferimentoPedaneRowEntity.Columns.PARENT_ID},
|
||||
onDelete = ForeignKey.CASCADE
|
||||
)
|
||||
}
|
||||
)
|
||||
public class TrasferimentoPedaneRowEntity extends BaseSyncDTO implements EntityModelInterface, Cloneable {
|
||||
public static final String TABLE_NAME = "trasferimento_pedane_rows";
|
||||
|
||||
public static class Columns {
|
||||
public static final String PARENT_ID = "parent_id";
|
||||
public static final String CREATED_AT = "created_at";
|
||||
public static final String BARCODE_UL = "barcode_ul";
|
||||
public static final String PROGRESSIVO_UL = "progressivo_ul";
|
||||
public static final String FLAG_INCONSISTENT = "flag_inconsistent";
|
||||
// public static final String COD_MART = "cod_mart";
|
||||
// public static final String PARTITA_MAG = "partita_mag";
|
||||
// public static final String DESCRIZIONE = "descrizione";
|
||||
// public static final String QTA_IN_GIACENZA = "qta_in_giacenza";
|
||||
// public static final String QTA = "qta";
|
||||
// public static final String NUM_CNF = "num_cnf";
|
||||
// public static final String QTA_CNF = "qta_cnf";
|
||||
// public static final String SCAN_COD_BARRE = "scan_cod_barre";
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(index = true, name = TrasferimentoPedaneRowEntity.Columns.PARENT_ID)
|
||||
private Long parentId;
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = Columns.BARCODE_UL)
|
||||
private String barcodeUl;
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = Columns.PROGRESSIVO_UL)
|
||||
private int progressivoUl;
|
||||
|
||||
@ColumnInfo(name = Columns.FLAG_INCONSISTENT, defaultValue = "0")
|
||||
private boolean flagInconsistent = false;
|
||||
|
||||
|
||||
@ColumnInfo(name = TrasferimentoPedaneRowEntity.Columns.CREATED_AT, defaultValue = "CURRENT_TIMESTAMP")
|
||||
private LocalDateTime createdAt = LocalDateTime.now();
|
||||
|
||||
|
||||
@Ignore
|
||||
private MtbColt detailMtbColt;
|
||||
|
||||
|
||||
public Long getParentId() {
|
||||
return parentId;
|
||||
}
|
||||
|
||||
public void setParentId(Long parentId) {
|
||||
this.parentId = parentId;
|
||||
}
|
||||
|
||||
public String getBarcodeUl() {
|
||||
return barcodeUl;
|
||||
}
|
||||
|
||||
public void setBarcodeUl(String barcodeUl) {
|
||||
this.barcodeUl = barcodeUl;
|
||||
}
|
||||
|
||||
public int getProgressivoUl() {
|
||||
return progressivoUl;
|
||||
}
|
||||
|
||||
public void setProgressivoUl(int progressivoUl) {
|
||||
this.progressivoUl = progressivoUl;
|
||||
}
|
||||
|
||||
|
||||
public boolean isFlagInconsistent() {
|
||||
return flagInconsistent;
|
||||
}
|
||||
|
||||
public void setFlagInconsistent(boolean flagInconsistent) {
|
||||
this.flagInconsistent = flagInconsistent;
|
||||
}
|
||||
|
||||
public LocalDateTime getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(LocalDateTime createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
|
||||
public MtbColt getDetailMtbColt() {
|
||||
return detailMtbColt;
|
||||
}
|
||||
|
||||
public void setDetailMtbColt(MtbColt detailMtbColt) {
|
||||
this.detailMtbColt = detailMtbColt;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
TrasferimentoPedaneRowEntity that = (TrasferimentoPedaneRowEntity) o;
|
||||
return getProgressivoUl() == that.getProgressivoUl() && isFlagInconsistent() == that.isFlagInconsistent() && Objects.equals(getParentId(), that.getParentId()) && Objects.equals(getBarcodeUl(), that.getBarcodeUl()) && Objects.equals(getCreatedAt(), that.getCreatedAt());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(getParentId(), getBarcodeUl(), getProgressivoUl(), isFlagInconsistent(), getCreatedAt());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.entity;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.Ignore;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityModelInterface;
|
||||
|
||||
@Entity(
|
||||
inheritSuperIndices = true,
|
||||
tableName = VerificaGiacenzeEntity.TABLE_NAME
|
||||
)
|
||||
public class VerificaGiacenzeEntity extends BaseSyncDTO implements EntityModelInterface {
|
||||
|
||||
public static final String TABLE_NAME = "verifica_giacenze";
|
||||
|
||||
public static class Columns {
|
||||
public static final String COD_MDEP = "cod_mdep";
|
||||
public static final String DATA = "data";
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = VerificaGiacenzeEntity.Columns.COD_MDEP)
|
||||
private String codMdep;
|
||||
|
||||
@ColumnInfo(name = VerificaGiacenzeEntity.Columns.DATA)
|
||||
private LocalDateTime data;
|
||||
|
||||
@Ignore
|
||||
private List<VerificaGiacenzeRowEntity> verificaGiacenzeRowList;
|
||||
|
||||
@NonNull
|
||||
public String getCodMdep() {
|
||||
return codMdep;
|
||||
}
|
||||
|
||||
public void setCodMdep(@NonNull String codMdep) {
|
||||
this.codMdep = codMdep;
|
||||
}
|
||||
|
||||
public LocalDateTime getData() {
|
||||
return data;
|
||||
}
|
||||
|
||||
public void setData(LocalDateTime data) {
|
||||
this.data = data;
|
||||
}
|
||||
|
||||
public List<VerificaGiacenzeRowEntity> getVerificaGiacenzeRowList() {
|
||||
return verificaGiacenzeRowList;
|
||||
}
|
||||
|
||||
public void setVerificaGiacenzeRowList(List<VerificaGiacenzeRowEntity> verificaGiacenzeRowList) {
|
||||
this.verificaGiacenzeRowList = verificaGiacenzeRowList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
VerificaGiacenzeEntity that = (VerificaGiacenzeEntity) o;
|
||||
return getId().equals(that.getId()) && getCodMdep().equals(that.getCodMdep()) && Objects.equals(getData(), that.getData()) && Objects.equals(getVerificaGiacenzeRowList(), that.getVerificaGiacenzeRowList());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = getId().hashCode();
|
||||
result = 31 * result + getCodMdep().hashCode();
|
||||
result = 31 * result + Objects.hashCode(getData());
|
||||
result = 31 * result + Objects.hashCode(getVerificaGiacenzeRowList());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,211 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.entity;
|
||||
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.room.ColumnInfo;
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.ForeignKey;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Objects;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.interfaces.EntityModelInterface;
|
||||
|
||||
@Entity(
|
||||
inheritSuperIndices = true,
|
||||
tableName = VerificaGiacenzeRowEntity.TABLE_NAME,
|
||||
foreignKeys = {
|
||||
@ForeignKey(
|
||||
entity = VerificaGiacenzeEntity.class,
|
||||
parentColumns = {BaseSyncDTO.Columns.ID},
|
||||
childColumns = {VerificaGiacenzeRowEntity.Columns.PARENT_ID},
|
||||
onDelete = ForeignKey.CASCADE
|
||||
)
|
||||
}
|
||||
)
|
||||
public class VerificaGiacenzeRowEntity extends BaseSyncDTO implements EntityModelInterface, Cloneable {
|
||||
public static final String TABLE_NAME = "verifica_giacenze_rows";
|
||||
|
||||
public static class Columns {
|
||||
public static final String PARENT_ID = "parent_id";
|
||||
public static final String CREATED_AT = "created_at";
|
||||
public static final String COD_MART = "cod_mart";
|
||||
public static final String PARTITA_MAG = "partita_mag";
|
||||
public static final String DESCRIZIONE = "descrizione";
|
||||
public static final String QTA_IN_GIACENZA = "qta_in_giacenza";
|
||||
public static final String QTA = "qta";
|
||||
public static final String NUM_CNF = "num_cnf";
|
||||
public static final String QTA_CNF = "qta_cnf";
|
||||
public static final String SCAN_COD_BARRE = "scan_cod_barre";
|
||||
}
|
||||
|
||||
@ColumnInfo(index = true, name = Columns.PARENT_ID)
|
||||
private Long parentId;
|
||||
|
||||
@ColumnInfo(name = Columns.CREATED_AT, defaultValue = "CURRENT_TIMESTAMP")
|
||||
private LocalDateTime createdAt = LocalDateTime.now();
|
||||
|
||||
@ColumnInfo(name = Columns.COD_MART)
|
||||
private String codMart;
|
||||
|
||||
@ColumnInfo(name = Columns.PARTITA_MAG)
|
||||
private String partitaMag;
|
||||
|
||||
@ColumnInfo(name = Columns.DESCRIZIONE)
|
||||
private String descrizione;
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = Columns.QTA_IN_GIACENZA, defaultValue = "0")
|
||||
private BigDecimal qtaInGiacenza;
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = Columns.QTA, defaultValue = "0")
|
||||
private BigDecimal qta;
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = Columns.NUM_CNF, defaultValue = "0")
|
||||
private BigDecimal numConf;
|
||||
|
||||
@NonNull
|
||||
@ColumnInfo(name = Columns.QTA_CNF, defaultValue = "0")
|
||||
private BigDecimal qtaConf;
|
||||
|
||||
@ColumnInfo(name = Columns.SCAN_COD_BARRE)
|
||||
private String scanCodBarre;
|
||||
|
||||
|
||||
public Long getParentId() {
|
||||
return parentId;
|
||||
}
|
||||
|
||||
public void setParentId(Long parentId) {
|
||||
this.parentId = parentId;
|
||||
}
|
||||
|
||||
public LocalDateTime getCreatedAt() {
|
||||
return createdAt;
|
||||
}
|
||||
|
||||
public void setCreatedAt(LocalDateTime createdAt) {
|
||||
this.createdAt = createdAt;
|
||||
}
|
||||
|
||||
public String getCodMart() {
|
||||
return codMart;
|
||||
}
|
||||
|
||||
public void setCodMart(String codMart) {
|
||||
this.codMart = codMart;
|
||||
}
|
||||
|
||||
public String getPartitaMag() {
|
||||
return partitaMag;
|
||||
}
|
||||
|
||||
public void setPartitaMag(String partitaMag) {
|
||||
this.partitaMag = partitaMag;
|
||||
}
|
||||
|
||||
public String getDescrizione() {
|
||||
return descrizione;
|
||||
}
|
||||
|
||||
public void setDescrizione(String descrizione) {
|
||||
this.descrizione = descrizione;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public BigDecimal getQtaInGiacenza() {
|
||||
return qtaInGiacenza;
|
||||
}
|
||||
|
||||
public void setQtaInGiacenza(@NonNull BigDecimal qtaInGiacenza) {
|
||||
this.qtaInGiacenza = qtaInGiacenza;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public BigDecimal getQta() {
|
||||
return qta;
|
||||
}
|
||||
|
||||
public void setQta(@NonNull BigDecimal qta) {
|
||||
this.qta = qta;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public BigDecimal getNumConf() {
|
||||
return numConf;
|
||||
}
|
||||
|
||||
public void setNumConf(@NonNull BigDecimal numConf) {
|
||||
this.numConf = numConf;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public BigDecimal getQtaConf() {
|
||||
return qtaConf;
|
||||
}
|
||||
|
||||
public void setQtaConf(@NonNull BigDecimal qtaConf) {
|
||||
this.qtaConf = qtaConf;
|
||||
}
|
||||
|
||||
public String getScanCodBarre() {
|
||||
return scanCodBarre;
|
||||
}
|
||||
|
||||
public void setScanCodBarre(String scanCodBarre) {
|
||||
this.scanCodBarre = scanCodBarre;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
VerificaGiacenzeRowEntity that = (VerificaGiacenzeRowEntity) o;
|
||||
return getId().equals(that.getId()) && getParentId().equals(that.getParentId()) && getCodMart().equals(that.getCodMart()) && Objects.equals(getPartitaMag(), that.getPartitaMag()) && getQta().equals(that.getQta()) && getNumConf().equals(that.getNumConf()) && getQtaConf().equals(that.getQtaConf()) && Objects.equals(getScanCodBarre(), that.getScanCodBarre());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = getId().hashCode();
|
||||
result = 31 * result + getParentId().hashCode();
|
||||
result = 31 * result + getCodMart().hashCode();
|
||||
result = 31 * result + Objects.hashCode(getPartitaMag());
|
||||
result = 31 * result + getQta().hashCode();
|
||||
result = 31 * result + getNumConf().hashCode();
|
||||
result = 31 * result + getQtaConf().hashCode();
|
||||
result = 31 * result + Objects.hashCode(getScanCodBarre());
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public VerificaGiacenzeRowEntity clone() throws CloneNotSupportedException {
|
||||
try {
|
||||
VerificaGiacenzeRowEntity clone = (VerificaGiacenzeRowEntity) super.clone();
|
||||
|
||||
// Clona ID
|
||||
clone.setId(getId() != null ? new Long(getId()) : null);
|
||||
clone.setParentId(getParentId() != null ? new Long(getParentId()) : null);
|
||||
|
||||
// Clona le stringhe
|
||||
clone.setCodMart(getCodMart() != null ? new String(getCodMart()) : null);
|
||||
clone.setPartitaMag(getPartitaMag() != null ? new String(getPartitaMag()) : null);
|
||||
clone.setDescrizione(getDescrizione() != null ? new String(getDescrizione()) : null);
|
||||
clone.setScanCodBarre(getScanCodBarre() != null ? new String(getScanCodBarre()) : null);
|
||||
|
||||
// Clona i BigDecimal
|
||||
clone.setQta(getQta() != null ? new BigDecimal(getQta().toString()) : null);
|
||||
clone.setNumConf(getNumConf() != null ? new BigDecimal(getNumConf().toString()) : null);
|
||||
clone.setQtaConf(getQtaConf() != null ? new BigDecimal(getQtaConf().toString()) : null);
|
||||
|
||||
return clone;
|
||||
} catch (CloneNotSupportedException e) {
|
||||
throw new AssertionError(); // Can't happen
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.interfaces;
|
||||
|
||||
import androidx.room.Delete;
|
||||
import androidx.room.Insert;
|
||||
import androidx.room.RawQuery;
|
||||
import androidx.room.Update;
|
||||
import androidx.sqlite.db.SupportSQLiteQuery;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface EntityDaoInterface<R> {
|
||||
|
||||
@RawQuery()
|
||||
List<R> execRaw(SupportSQLiteQuery query);
|
||||
|
||||
@Insert
|
||||
long insert(R objectToInsert);
|
||||
|
||||
@Insert
|
||||
List<Long> insertAll(List<R> objectToInsert);
|
||||
|
||||
@Delete
|
||||
void delete(R objectToInsert);
|
||||
|
||||
@Update
|
||||
void updateAll(List<R> cheese);
|
||||
|
||||
@Update
|
||||
int update(R cheese);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.interfaces;
|
||||
|
||||
public interface EntityModelInterface {
|
||||
|
||||
void setId(Long id);
|
||||
|
||||
Long getId();
|
||||
|
||||
}
|
||||
@@ -3,16 +3,15 @@ package it.integry.integrywmsnative.core.data_store.db.repository;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.GrigliaWrapper;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
|
||||
public interface GrigliaRepository {
|
||||
|
||||
void selectAll(RunnableArgs<List<Griglia>> onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
void findByCodAlis(String codAlis , RunnableArgs<GrigliaWrapper> onSuccess, RunnableArgs<Exception> onError);
|
||||
void findByCodAlis(String codAlis, RunnableArgs<Griglia> onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
void saveGriglia(Griglia griglia, RunnableArgs<Integer> onSuccess,RunnableArgs<Exception> onFail);
|
||||
void saveGriglia(Griglia griglia, RunnableArgs<Integer> onSuccess, RunnableArgs<Exception> onFail);
|
||||
|
||||
void findGrigliaById(int idGriglia, RunnableArgs<Griglia> onLoad, RunnableArgs<Exception> onFail);
|
||||
}
|
||||
|
||||
@@ -3,19 +3,18 @@ package it.integry.integrywmsnative.core.data_store.db.repository;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColr;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
|
||||
public interface MtbColrRepository {
|
||||
public interface MtbColrDataSource {
|
||||
|
||||
void selectAll(RunnableArgs<List<SqlMtbColr>> onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
void selectAllByDocumentID(long documentID, RunnableArgs<List<SqlMtbColr>> onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
void insert(SqlMtbColr mtbColr, RunnableArgs<Integer> onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
void update(SqlMtbColr mtbColr, RunnableArgs<SqlMtbColr> onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
void delete(SqlMtbColr mtbColr, Runnable onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
void getDocumentRows(SqlMtbColt sqlMtbColt, RunnableArgs<List<SqlMtbColr>> onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
}
|
||||
@@ -1,14 +1,12 @@
|
||||
package it.integry.integrywmsnative.core.data_store.db.repository;
|
||||
|
||||
import androidx.lifecycle.LiveData;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.SqlMtbColt;
|
||||
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
|
||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.DocInternoWrapper;
|
||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
|
||||
public interface MtbColtRepository {
|
||||
@@ -21,7 +19,7 @@ public interface MtbColtRepository {
|
||||
|
||||
void delete(SqlMtbColt mtbColt, Runnable onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
void getLocalDocumentsByCodDtip(String codDtip, String codAnag, String codVdes, Date dataDoc, String numDoc, RunnableArgs<List<DocInternoWrapper>> onSuccess, RunnableArgs<Exception> onError);
|
||||
LiveData<List<DocInternoWrapper>> getDocuments(String codDtip, String codAnag, String codVdes, Date dataDoc, String numDoc);
|
||||
|
||||
void getNextNumCollo(RunnableArgs<Integer> onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
|
||||
@@ -2,9 +2,7 @@ package it.integry.integrywmsnative.core.data_store.db.repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.Griglia;
|
||||
import it.integry.integrywmsnative.core.data_store.db.entity.Ordine;
|
||||
import it.integry.integrywmsnative.core.data_store.db.view_model.OrdineWithGriglia;
|
||||
import it.integry.integrywmsnative.core.data_store.db.wrappers.OrdineWrapper;
|
||||
import it.integry.integrywmsnative.core.expansion.RunnableArgs;
|
||||
|
||||
@@ -12,9 +10,9 @@ public interface OrdineRepository {
|
||||
|
||||
void selectAll(RunnableArgs<List<Ordine>> onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
void selectAllTransmitted(RunnableArgs<List<OrdineWithGriglia>> onSuccess, RunnableArgs<Exception> onError);
|
||||
void selectAllTransmitted(RunnableArgs<List<Ordine>> onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
void selectAllOpenOrders(Griglia griglia, RunnableArgs<List<OrdineWrapper>> onSuccess, RunnableArgs<Exception> onError);
|
||||
void selectAllOpenOrders(String codAlis, RunnableArgs<List<OrdineWrapper>> onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
void insert(Ordine ordine, RunnableArgs<Integer> onSuccess, RunnableArgs<Exception> onError);
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user