wave 2
This commit is contained in:
BIN
taskapp/CodeList/CodeList_Task.xlsx
Normal file
BIN
taskapp/CodeList/CodeList_Task.xlsx
Normal file
Binary file not shown.
BIN
taskapp/CodeList/CodeList_Task_Follow_Up_and_Related_Items.xlsx
Normal file
BIN
taskapp/CodeList/CodeList_Task_Follow_Up_and_Related_Items.xlsx
Normal file
Binary file not shown.
BIN
taskapp/CodeList/CodeList_Task_Involved_Parties.xlsx
Normal file
BIN
taskapp/CodeList/CodeList_Task_Involved_Parties.xlsx
Normal file
Binary file not shown.
BIN
taskapp/CodeList/CodeList_Tasks_Notes.xlsx
Normal file
BIN
taskapp/CodeList/CodeList_Tasks_Notes.xlsx
Normal file
Binary file not shown.
21
taskapp/Quote_AT.csv
Normal file
21
taskapp/Quote_AT.csv
Normal file
@@ -0,0 +1,21 @@
|
||||
Quote ID;Name;Contact;Total Amount;Customer Reference;Opportunity;Sales Rep;Sales Taker;Quote Status;Order ID (Order);Quote type;Created On;Modified On;Account Number (Customer);Project Opp Number (Opportunity); (quoteid);Currency;Sharepoint URL
|
||||
5313SQ053484;KOMM.-RAT JOHANN GERSTHOFER;;362,46;Anfrage;;Manuel Hofer;Doris Fabian;;;Demand;2022-09-08 07:17:17;2022-09-08 08:05:28;13001806;;{9D5E3B15-F6F5-4BE8-9149-6E46690F9349};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053484
|
||||
5313SQ053489;ARGE Baustahl Eisen Blasy - Neptun GmbH;;775,6;Um + ZB WH Ferrari-Zoller in Nassereith;;Daniel Kucera;Katja Wirtz;;;Calculation;2022-09-08 09:12:59;2022-09-08 09:14:36;13000397;;{4D2E12EA-1E1F-464B-ADC9-612209288889};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053489
|
||||
5313SQ053490;KOHLBACHER GmbH;BM Ing. Rathofer;89565,53;Anfrage TPA;;Martin Kubat;Doris Fabian;;;Calculation;2022-09-08 09:45:09;2022-09-08 09:46:39;13001214;;{B674E725-E6D8-49F6-B7FF-4DA4F1B43C78};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053490
|
||||
5313SQ053476;RIEDER BAUGES.M.B.H. & CO. KG;;5629,8;EFH Lindermayr;;Daniel Kucera;Aleksandra Sretenovic;;;Demand;2022-09-08 10:00:18;2022-09-08 10:02:03;13000244;;{AAC4DB89-EB02-4D3F-BA3E-D550316CBD44};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053476
|
||||
5313SQ053481;RIEDER BAUGES.M.B.H. & CO. KG;;3128,85;WA Mühlenweg;;Daniel Kucera;Aleksandra Sretenovic;;;Demand;2022-09-08 10:00:18;2022-09-08 10:02:04;13000244;;{A513133F-BC5E-4BC1-B640-EFEAB56DA564};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053481
|
||||
5313SQ053495;Arcotec Bewehrungstechnik GmbH;;4722,13;BVH Rankweil;;Daniel Kucera;Therese Riegler;;;Demand;2022-09-08 10:33:23;2022-09-08 10:34:58;13001334;;{FD44AA14-7D57-4D31-B201-883164A7323C};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053495
|
||||
5313SQ053493;STRABAG AG;;2621,75;BV 1090 Wien, Mariannengasse;;Martin Kubat;Katja Wirtz;;;Demand;2022-09-08 10:33:23;2022-09-08 10:34:58;13000174;;{A14D507D-D279-4DE0-ADF4-EDB927491A68};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053493
|
||||
5313SQ053487;Bauhandelsgesellschaft m.b.H.;;16033,19;BVH Richard-Strauss-Straße;;Daniel Kucera;Aleksandra Sretenovic;;;Demand;2022-09-08 10:49:10;2022-09-08 10:50:43;13000258;;{6745933B-A639-42EB-99A8-A62942893906};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053487
|
||||
5313SQ053499;ARGE Baustahl Eisen Blasy - Neptun GmbH;Darko Brborovic;12875,54;BVH Haus A-B-C Reith bei Kitzbühel;;Daniel Kucera;Aleksandra Sretenovic;;;Calculation;2022-09-08 12:33:00;2022-09-08 12:50:39;13000397;;{B1975491-0C2A-4638-8A83-E4F72FAAFE18};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053499
|
||||
5313SQ053497;Arcotec Bewehrungstechnik GmbH;;542,68;Umbau Tischlerei Schneider // Baywa;;Daniel Kucera;Therese Riegler;Ordered;5313S038049;Demand;2022-09-08 11:05:18;2022-09-08 13:00:21;13001334;;{639296AA-97B9-45A6-A46D-2F1C0CF13B37};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053497
|
||||
5313SQ053496;Arcotec Bewehrungstechnik GmbH;;416,52;Dringende Anfrage HDB// Wälderbau / Sieber Martin//;;Daniel Kucera;Therese Riegler;Ordered;5313S038048;Demand;2022-09-08 10:49:10;2022-09-08 13:00:21;13001334;;{0B3FDB10-982A-4F73-BB7E-38BE851093AD};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053496
|
||||
5313SQ053498;Kurz Fertigteilbau GmbH;Florian Feller;8939,68;BVH Paseo Stadthäuser, München;;Daniel Kucera;Doris Fabian;;;Calculation;2022-09-08 13:21:13;2022-09-08 13:22:43;13003572;;{4CE5F83B-679B-4B39-9C4B-F255E2DDF17A};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053498
|
||||
5313SQ053502;SFW Salzburger Fertigteilwerk GmbH;Michael Hartl;1129,87;BFI Fahrzeughalle, Innsbruck;;Daniel Kucera;Doris Fabian;;;Calculation;2022-09-08 13:52:29;2022-09-08 13:53:55;13001060;;{4EC1FC0D-5E0D-4976-93FD-358F2CE01E11};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053502
|
||||
5313SQ053505;ALFRED TREPKA GMBH;Bernhard Harrer;11693,33;Anfrage;;Manuel Hofer;Doris Fabian;;;Calculation;2022-09-08 14:25:11;2022-09-08 14:56:29;13000021;;{46BF2D3D-C3AD-46A5-B89C-0A4D109D9D2C};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053505
|
||||
5313SQ053507;Arcotec Bewehrungstechnik GmbH;;335,79;Anfrage BF Bregenz, i+R - HDB;;Daniel Kucera;Therese Riegler;;;Demand;2022-09-08 15:12:59;2022-09-08 15:14:29;13001334;;{E685C401-93D5-43FB-9386-493F493C6823};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053507
|
||||
5313SQ053506;SFW Salzburger Fertigteilwerk GmbH;Christoph Enthammer;17763,77;BV 22428 - W-Well;;Daniel Kucera;Doris Fabian;;;Demand;2022-09-08 15:12:59;2022-09-08 15:14:29;13001060;;{663DD45C-B067-4AB1-9313-4FF4CAB440B5};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053506
|
||||
5313SQ053504;KOGLER AUFZUGSBAU GMBH;;9066,21;Anfrage: Lager Lafnitz/B220933;;Andreas Ronge;Katja Wirtz;;;Demand;2022-09-08 15:12:59;2022-09-08 15:29:12;13002251;;{B6AC5734-B5F4-424F-B576-1477A4E43ABB};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053504
|
||||
5313SQ053509;Bauwaren Canal GmbH & Co. KG;;117,79;Anfrage Fröschl BVH Jonas 110/1504;;Daniel Kucera;Therese Riegler;;;Demand;2022-09-08 15:29:08;2022-09-08 15:30:47;13000399;;{8DE2FB37-1BE0-4952-BF8C-065D8DD32E59};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053509
|
||||
5313SQ053511;Traisen Baugesellschaft m.b.H.;;1253,74;BVH DFS205 + FIN20;;Martin Kubat;Therese Riegler;;;Demand;2022-09-08 16:05:07;2022-09-08 16:06:48;13000013;;{0E44AF7B-4B78-45F5-B7A7-FA4DC6FA3DC8};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053511
|
||||
5313SQ053510;METABAU GmbH;;926,13;VeggieMeat;;Andreas Ronge;Katja Wirtz;Ordered;5313S038055;Demand;2022-09-08 15:48:23;2022-09-08 16:30:21;13001714;;{AC598708-29C5-46A0-BBA8-24A6D14B1D32};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053510
|
||||
|
17
taskapp/Quote_ATnew.csv
Normal file
17
taskapp/Quote_ATnew.csv
Normal file
@@ -0,0 +1,17 @@
|
||||
Quote ID;Name;Contact;Total Amount;Customer Reference;Opportunity;Sales Rep;Sales Taker;Quote Status;Order ID (Order);Quote type;Created On;Modified On;Account Number (Customer);Project Opp Number (Opportunity); (quoteid);Currency;Sharepoint URL
|
||||
5313SQ053529;RIEDER GmbH & Co KG;;1632,97;BVH Kindergarten Schlitters;;Daniel Kucera;Therese Riegler;;;Demand;2022-09-12 09:48:37;2022-09-12 09:50:27;13000017;;{9EA831F0-1826-4032-BD13-6EDB64603E47};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053529
|
||||
5313SQ053530;STRABAG AG§Direktion AG;;9466,81;BVH 45 WE Wohnen Am Salberg-Liezen;;Martin Kubat;Therese Riegler;;;Demand;2022-09-12 10:53:07;2022-09-12 10:54:51;13003396;;{21D6DEA2-F0F8-42AD-BA6F-F0E0536B9F1A};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053530
|
||||
5313SQ053531;Bauhandelsgesellschaft m.b.H.;;391,81;Anfrage 351681 Rotes Kreuz Kitzbühel;;Daniel Kucera;Therese Riegler;;;Demand;2022-09-12 11:09:31;2022-09-12 11:11:31;13000258;;{09B7791C-66C4-480E-BDD0-D548933858EF};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053531
|
||||
5313SQ053533;NÄGELE Betonfertigteil-§und Transportbetonwerk GmbH;Sabine Magenheim;993,04;Ankerschienen - BVH 22449;;Daniel Kucera;Alexander Vogl;;;Demand;2022-09-12 13:21:44;2022-09-12 13:23:34;13000212;;{61C00681-9CA4-4B9F-BBA1-AB2A6A25EC6A};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053533
|
||||
5313SQ053528;ARGE Baustahl Eisen Blasy - Neptun GmbH;;10131,7;MFH Fam. Mücke in St.Johann in Tirol;;Daniel Kucera;Aleksandra Sretenovic;;;Calculation;2022-09-12 13:41:10;2022-09-12 13:58:52;13000397;;{D4F15359-2EA8-4657-93E8-B41E11193C43};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053528
|
||||
5313SQ053532;PORR Bau GmbH;;73033,73;BVH Scheedgasse 1-7, BAG7;;Manuel Hofer;Aleksandra Sretenovic;;;Calculation;2022-09-12 13:57:27;2022-09-12 13:58:53;13000861;;{20FF1C1F-F258-4857-AF24-45AAA122A8CE};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053532
|
||||
5313SQ053501;Arcotec Bewehrungstechnik GmbH;;4734,32;ARGE Blum Werk 2/14+15 BE;;Daniel Kucera;Katja Wirtz;;;Demand;2022-09-12 13:05:16;2022-09-12 14:15:08;13001334;;{AA12D45D-3C00-43DF-8D38-4FE659FF4BE1};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053501
|
||||
5313SQ053525;FRANZ OBERNDORFER§Ges.m.b.H. & Co KG;Sonja Söllinger;3885,48;EKZ Eishalle Zell am See;;Manuel Hofer;Doris Fabian;;;Demand;2022-09-12 14:45:07;2022-09-12 14:46:47;13000001;;{ED05108B-7152-4890-9B11-6FC6F26AF280};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053525
|
||||
5313SQ053536;Gebrüder Haider & Co Hoch- u. Tiefbau GmbH;;1368,18;Kugelkopfanker 15to BVH Riedmüller;;Martin Kubat;Alexander Vogl;;;Demand;2022-09-12 14:45:07;2022-09-12 15:01:13;13000830;;{375AB2B5-66F9-45F0-92A7-EFC6362CAD90};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053536
|
||||
5313SQ053534;Arcotec Bewehrungstechnik GmbH;Sasha Petschnig;48373,13;Vandans ROW I Erneuerung 110 kV Anlage;;Daniel Kucera;Aleksandra Sretenovic;;;Demand;2022-09-12 15:17:27;2022-09-12 15:18:53;13001334;;{16FB2AA1-8B6A-41D1-A06A-E4268E9C52E6};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053534
|
||||
5313SQ053539;ING. PRATH§Gesellschaft m.b.H. Nfg. KG;;333;BV: 1120 Wien, Rollingergasse 27;;Martin Kubat;Alexander Vogl;;;Demand;2022-09-12 15:33:14;2022-09-12 15:35:40;13001906;;{5BBD9E68-5E71-4693-8E7F-41259BCC60E3};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053539
|
||||
5313SQ053540;PORR Bau GmbH§Niederlassung Salzburg;;6318,31;Pläne Rettenlackstraße Status F;;Daniel Kucera;Alexander Vogl;;;Calculation;2022-09-12 15:33:14;2022-09-12 15:35:40;13001306;;{1C1CCB4A-B1D4-4FF7-A724-4B0D2323872C};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053540
|
||||
5313SQ053535;STRABAG AG§Dir. AR;;12652,96;BVH TZ Seestadt BT 3 - Einbauteile STB;;Martin Kubat;Therese Riegler;;;Calculation;2022-09-12 15:53:01;2022-09-12 16:10:44;13000866;;{8CF3EE00-070A-48D3-AC12-9163609AE55F};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053535
|
||||
5313SQ053537;Leier Baustoffe GmbH & Co KG;;714,81;Anfr. Hr. Talos;;Manuel Hofer;Alexander Vogl;Ordered;5313S038086;Demand;2022-09-12 15:01:08;2022-09-12 16:15:23;20018792;;{C24D95EA-EC98-4D96-AD2A-7AC6B1BC5F0E};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053537
|
||||
5313SQ053538;PORR Bau GmbH§Tiefbau NL Tirol;Ing. Gerhard Lonic;30,33;BV Ohlstadt;;Daniel Kucera;Alexander Vogl;Ordered;5313S038087;Demand;2022-09-12 15:17:27;2022-09-12 16:15:23;13002764;;{FA67E6F0-C00E-4403-ABD0-86D452DEFD87};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053538
|
||||
5313SQ053541;HV BAU GMBH;;1728,87;BVH Brunner;;Daniel Kucera;Aleksandra Sretenovic;;;Demand;2022-09-12 16:25:11;2022-09-12 16:26:50;13001759;;{A1CEBE31-D6A4-461A-8F2F-1D6043100B0D};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053541
|
||||
|
9
taskapp/Quote_ATtoday.csv
Normal file
9
taskapp/Quote_ATtoday.csv
Normal file
@@ -0,0 +1,9 @@
|
||||
Quote ID;Name;Contact;Total Amount;Customer Reference;Opportunity;Sales Rep;Sales Taker;Quote Status;Order ID (Order);Quote type;Created On;Modified On;Account Number (Customer);Project Opp Number (Opportunity); (quoteid);Currency;Sharepoint URL
|
||||
5313SQ053703;NILU - Stahlbau & Schlosserei GmbH;;7088,55;HM 40/22 ca. 130 m 23 x 6 m;;Andreas Ronge;Zsuzsanna Borsodi;;;Demand;2022-09-23 08:33:07;2022-09-23 08:49:19;13002625;;{E65B4051-EA01-433F-B117-D64904AB147E};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053703
|
||||
5313SQ053705;Raffl Stahlbau Gesellschaft m.b.H.;;2736,18;Anfr. Herr Ziegler;;Andreas Ronge;Alexander Vogl;;;Demand;2022-09-23 08:49:15;2022-09-23 08:50:58;13002126;;{289BA212-477E-4D96-9A66-4D274F61FE31};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053705
|
||||
5313SQ053706;E.G.O. Austria§Elektrogeräte Ges.m.b.H.;;1116,52;Anfrage HM/HS;;Andreas Ronge;Therese Riegler;;;Demand;2022-09-23 08:49:15;2022-09-23 08:50:58;13004085;;{494F0B93-342F-4FB0-9339-DBA116E76AF1};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053706
|
||||
5313SQ053707;NÄGELE Betonfertigteil-§und Transportbetonwerk GmbH;Sabine Magenheim;7983,84;Bvh. Badener Segnesstrasse, Schweiz;;Daniel Kucera;Alexander Vogl;;;Calculation;2022-09-23 09:58:06;2022-09-23 09:59:40;13000212;;{5A66A7D7-7133-47EA-A6A0-86D26159B7A2};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053707
|
||||
5313SQ053708;Arcotec Bewehrungstechnik GmbH;;12592,13;BV Rathausgalerie Hohenems;;Daniel Kucera;Therese Riegler;;;Demand;2022-09-23 10:53:40;2022-09-23 10:55:36;13001334;;{4AA62082-9741-4AF2-9ECC-A1AD41CEDA68};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053708
|
||||
5313SQ053704;Bauhandelsgesellschaft m.b.H.;;13618,97;Anfrage 352223 Lagerplatz Taurus Zone;;Daniel Kucera;Therese Riegler;;;Demand;2022-09-23 10:53:40;2022-09-23 10:55:36;13000258;;{4C86D49E-E95B-4E0A-B038-A93483997816};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053704
|
||||
5313SQ053672;HABAU Hoch- und§Tiefbaugesellschaft m.b.H.;;25837,04;MAHI 10-18 Schienen;;Manuel Hofer;Alexander Vogl;;;Demand;2022-09-23 11:13:24;2022-09-23 11:15:24;13000008;;{B1D98720-C39E-4DB3-A6F9-0DED0459A0C4};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053672
|
||||
5313SQ053710;Bauhandelsgesellschaft m.b.H.;;201,13;Anfrage 352270 Teampool Bürohaus;;Daniel Kucera;Therese Riegler;;;Demand;2022-09-23 11:29:03;2022-09-23 11:30:48;13000258;;{4F1161A2-5B99-45F5-A11E-DA0FFE1D5D1D};euro;http://bebrs01as027.eu.crh-corp.net:9000/quote/Forms/AllItems.aspx?RootFolder=%2fquote%2f5313SQ053710
|
||||
|
28532
taskapp/acc1.csv
Normal file
28532
taskapp/acc1.csv
Normal file
File diff suppressed because it is too large
Load Diff
34689
taskapp/accounts.csv
Normal file
34689
taskapp/accounts.csv
Normal file
File diff suppressed because it is too large
Load Diff
655
taskapp/emp.csv
Normal file
655
taskapp/emp.csv
Normal file
@@ -0,0 +1,655 @@
|
||||
"Employee.ID","Name"
|
||||
90047,"Adam Maury"
|
||||
321,"Aki Loikkanen"
|
||||
90100,"Alba Aragon"
|
||||
90101,"Alexander Diehl"
|
||||
90040,"Alexander Holthausen"
|
||||
335,"Ali Yalcin"
|
||||
176,"Amedeo Geraldi"
|
||||
90102,"Amy Gao"
|
||||
90103,"Andi Wu"
|
||||
393,"Andre Biallowons"
|
||||
90104,"Andrea Bergeritz"
|
||||
173,"Andrea Piazzalunga"
|
||||
90105,"Andrea Ross"
|
||||
90106,"Andreas Michna"
|
||||
90107,"Anna Magri"
|
||||
90108,"Anna Römisch"
|
||||
90109,"Anna-Lena Lindblom"
|
||||
90110,"Antonio Bocero Sanchez"
|
||||
90111,"Arjan Kwast"
|
||||
291,"Artour Abnoosi"
|
||||
90112,"Axel Schönherr"
|
||||
90113,"Bart van Wijk"
|
||||
90114,"Bartlomiej Kozubek"
|
||||
90115,"Bennie Hendriks"
|
||||
90116,"Benoit Mertens"
|
||||
293,"Bernd Kahabka"
|
||||
90117,"Bernhard Mehner"
|
||||
90043,"Bertwin van Zeeburg"
|
||||
90118,"Beti Miteva"
|
||||
90054,"Bohdan Nowak"
|
||||
90119,"Bram Aalbers"
|
||||
90051,"Carlo Nusiner"
|
||||
90120,"Carsten Kracht"
|
||||
90121,"Cecilia Torstensson"
|
||||
90122,"Cengiz Özen"
|
||||
90123,"Christian Li"
|
||||
90124,"Christiane Korte"
|
||||
345,"Daniel Höynä"
|
||||
140,"Daniel Kucera"
|
||||
90125,"Danielle Middeljans"
|
||||
90126,"Danny Cremer"
|
||||
187,"Dariusz Mazur"
|
||||
90018,"Dariusz Tomczyk"
|
||||
211,"David Dou"
|
||||
90127,"David Haro Vidaurreta"
|
||||
90128,"Denise Butz"
|
||||
90129,"Dennis Slot"
|
||||
182,"Diego Carminati"
|
||||
90130,"Diego Velasquez Jofre"
|
||||
90131,"Dirk Borgstede"
|
||||
90132,"Eduardo Yanez Ferrer"
|
||||
90133,"Elvira Garcia"
|
||||
90134,"Fabian Hoelzl"
|
||||
90135,"Falko Jung"
|
||||
90136,"Faysal Azaouagh"
|
||||
90137,"Femke De Bisschop"
|
||||
337,"Frank Hebbink"
|
||||
307,"Franziskus Fischer"
|
||||
202,"Fuqiang Xu"
|
||||
90138,"Gerko van Gortel"
|
||||
241,"Ground Zhang"
|
||||
90139,"Grzegorz Biały"
|
||||
90140,"Guido Burger"
|
||||
315,"Günther Teichmann"
|
||||
259,"Guoyu Zhang"
|
||||
265,"Haiyan Ge"
|
||||
323,"Harri Lehtovaara"
|
||||
90141,"Hatem Abou Hamaida"
|
||||
301,"Heiko Langner"
|
||||
339,"Helge Monnich"
|
||||
90142,"Ilaria Mascheroni"
|
||||
406,"Isabel Paas"
|
||||
90143,"Ivana Žahourová"
|
||||
90144,"Ivica Duzic"
|
||||
90145,"Ivo Van Hoof"
|
||||
217,"Jacky Li"
|
||||
90146,"Jan Kučera"
|
||||
90147,"Ján Vongrej"
|
||||
90148,"Jarosław Miara"
|
||||
90149,"Jens Hitzke"
|
||||
90150,"Jeroen Admiraal"
|
||||
208,"Jerry Gu"
|
||||
90151,"Jing Lin"
|
||||
90152,"Jos Robeyn"
|
||||
281,"Jubilant Clement"
|
||||
90153,"Karol Rozmiarek"
|
||||
305,"Karsten Gäbel"
|
||||
90154,"Katja Rustenhoven"
|
||||
90155,"Kenneth Sola"
|
||||
90156,"Kerstin Kaster"
|
||||
90157,"Kerstin Markgraf"
|
||||
410,"Kirsten Priemer"
|
||||
90158,"Kolbjorn Kalsas"
|
||||
90159,"Kun Liu"
|
||||
146,"Kurt Minder"
|
||||
232,"Leo Yang"
|
||||
158,"Leon ten Brinke"
|
||||
90160,"Łukasz Cebulski"
|
||||
90161,"Maarten Wijnendaele"
|
||||
90162,"Malte Hustedt"
|
||||
138,"Manuel Hofer"
|
||||
90163,"Marc Meinert"
|
||||
90164,"Marc Müller-Meyfarth"
|
||||
90165,"Marc-David Schwarz"
|
||||
90166,"Marcel Smit"
|
||||
172,"Marco Testa"
|
||||
267,"Marek Lomský"
|
||||
90167,"Mariel Rohof"
|
||||
90168,"Mark Henrix"
|
||||
329,"Mark Lammertink"
|
||||
90169,"mark sun"
|
||||
90170,"Markus Scheuren"
|
||||
90171,"Marloes van der Aa"
|
||||
311,"Martin Behrens"
|
||||
357,"Martin Carlund"
|
||||
90172,"Martin Steinhöfel"
|
||||
90173,"Matthäus Brodacki"
|
||||
90174,"Maxime Julliard"
|
||||
90175,"Michael Eiling"
|
||||
90176,"Michael Zacher"
|
||||
90177,"Michel Overdijk"
|
||||
90178,"Nadine Dunkin"
|
||||
422,"Nadine Junior"
|
||||
90179,"Niklas Heffler"
|
||||
426,"Oliver Muschalik"
|
||||
90180,"Ömer Özkan"
|
||||
90181,"Pavel Trnavsky"
|
||||
309,"Peter Tauber"
|
||||
390,"Petr Moucha"
|
||||
90182,"Petra Hillig"
|
||||
191,"Piotr Czarnecki"
|
||||
90183,"Piotr Gawron"
|
||||
90184,"Piotr Kończak"
|
||||
355,"Pontus Stenberg"
|
||||
250,"Qingfeng Xu"
|
||||
196,"Rain Liu"
|
||||
90185,"Ralf Armbrecht"
|
||||
289,"Ralph Lichtfusz"
|
||||
90186,"Raymond Mess Lapre"
|
||||
90041,"Rebecca Caspers"
|
||||
90187,"Reto Schmitz"
|
||||
333,"Richard Morsink"
|
||||
90188,"Robert Lomsky"
|
||||
90189,"Robin Kemper"
|
||||
90190,"Ronnie Andersen"
|
||||
90191,"Sabrina Smits"
|
||||
90192,"Sara Fernandez Rey"
|
||||
90193,"Sascha Haefke"
|
||||
313,"Sebastian Hoppe"
|
||||
90194,"Sheethal Nirmal"
|
||||
90195,"Stefan Hierl"
|
||||
279,"Stefan Lammert"
|
||||
90196,"Stefan Marquardt"
|
||||
180,"Stefano Ceriani"
|
||||
90197,"Stephan Hempel"
|
||||
432,"Stephan Jendretzky"
|
||||
90198,"Steve Middup"
|
||||
90199,"Steve Morris"
|
||||
325,"Tero Lahtinen"
|
||||
303,"Thomas Kruse"
|
||||
319,"Thomas Lehmann"
|
||||
90200,"Thomas Riegraf"
|
||||
317,"Thomas Schöne"
|
||||
90039,"Thorsten Tilinski"
|
||||
299,"Tim Rockenberg"
|
||||
331,"Tom Hogeweg"
|
||||
90201,"Tomasz Mąka"
|
||||
90202,"Tomasz Nawrocki"
|
||||
90203,"Udo Miehlke"
|
||||
437,"Veronica Molina Lopez"
|
||||
90204,"Vitezslava Semencova"
|
||||
90205,"Wei Starks"
|
||||
90206,"Wendy Janssens"
|
||||
90207,"Wojciech Modrzyński"
|
||||
90208,"Wolfgang Gollmayr"
|
||||
90209,"Wolfgang Hörnchen"
|
||||
238,"Yong Yu"
|
||||
90210,"Yvan Nagels"
|
||||
90211,"Zhihua Zhang"
|
||||
90045,"Zili Jia"
|
||||
90212,"Zoe Van De Ven"
|
||||
90213,"Zuber Moreno"
|
||||
90214,"dummy Netherlands"
|
||||
90215,"dummy Italy"
|
||||
90216,"dummy Sweden"
|
||||
90217,"dummy Finand"
|
||||
90218,"dummy Germany"
|
||||
90219,"dummy Spain"
|
||||
90220,"dummy China"
|
||||
90221,"dummy Poland"
|
||||
99999,"dummyAll"
|
||||
181,"Marc Schmid"
|
||||
183,"Daniel Matyas"
|
||||
90019,"Violeta Ciobotaru"
|
||||
90013,"info.ch@leviat.com Leviat"
|
||||
90014,"engineering.ch@leviat.com Leviat"
|
||||
90015,"Info.at@leviat.com Leviat"
|
||||
90016,"Technik.at@leviat.com Leviat"
|
||||
136,"Wolfgang Gollmayr"
|
||||
132,"Doris Fabian"
|
||||
123,"Sarah Garo"
|
||||
112,"Giuseppe Greco"
|
||||
111,"Mark Gospic"
|
||||
104,"Lukas Fodora"
|
||||
103,"Herminio Gesto"
|
||||
102,"Melanie Giannotta"
|
||||
101,"Francisco Gil Cordero"
|
||||
49,"Peter Gygi"
|
||||
48,"Myriam Grosjean"
|
||||
47,"Mathias Gerber"
|
||||
45,"Demba Embalo"
|
||||
44,"Franklin Eisenzimmer"
|
||||
43,"Michel Dolder"
|
||||
42,"Tidiane Diallo Amadou"
|
||||
41,"Madiou Diallo"
|
||||
39,"Tjalke De Witte"
|
||||
38,"Gilles De Vevey"
|
||||
20,"Sabrina Gasser"
|
||||
19,"Lars Franke"
|
||||
18,"Espedito Campa"
|
||||
15,"Anna Gütiger"
|
||||
8,"René Gasser"
|
||||
7,"Hüseyin Demir"
|
||||
151,"Marco Lüdi"
|
||||
155,"Andreas Ronge"
|
||||
152,"Ivo Marchon"
|
||||
162,"Hamza Caliskan"
|
||||
165,"Michel Keable"
|
||||
139,"Sabine Joham"
|
||||
137,"Johannes Hardt"
|
||||
128,"Martin Kubat"
|
||||
127,"Roman Kargl"
|
||||
126,"Ludwig Hell"
|
||||
125,"Günther Stefan Langer"
|
||||
124,"Ruth Hammermüller"
|
||||
117,"Edvin Kovacevic"
|
||||
116,"Madlaina Huber"
|
||||
114,"Jessica Kopp"
|
||||
113,"Patrick Hofer"
|
||||
105,"Thomas Kargbo"
|
||||
100,"Armando Martinelli"
|
||||
97,"Sivarasa Lankatharan"
|
||||
70,"Michel Ngoyi Nyanguile"
|
||||
69,"Anna Maria Nardella"
|
||||
68,"Mangaleswary Nadarajah"
|
||||
67,"David Murtezovic"
|
||||
66,"Agim Murat"
|
||||
65,"Thierry Mollica"
|
||||
64,"Temesghen Measho"
|
||||
62,"Lhoussaine Loutfi"
|
||||
61,"Wolfgang Loder"
|
||||
60,"Stefan Lips"
|
||||
59,"Dogu-Can Karakoyun"
|
||||
58,"Midhat Kapic"
|
||||
57,"Andreas Junker"
|
||||
56,"Raimundo Joao"
|
||||
55,"Jacek Jankowski"
|
||||
54,"Slawomir Janicki"
|
||||
52,"Sven Herwig"
|
||||
51,"Stefan Herren"
|
||||
50,"Alice Haller"
|
||||
32,"Patrick Kienzler"
|
||||
31,"Fabrice Kasongo"
|
||||
27,"Tinh Nguyen"
|
||||
24,"Patricia Minder"
|
||||
16,"Reto König"
|
||||
9,"Buino Mazebo Assunçao"
|
||||
3,"Sarah Mäder"
|
||||
2,"Michael Lüssi"
|
||||
147,"Rafael Paulino da Silva"
|
||||
145,"Adelbert Stähli"
|
||||
143,"Alexander Vogl"
|
||||
142,"Rocco Stadler"
|
||||
141,"Aleksandra Sretenovic"
|
||||
135,"Michael Wittmann"
|
||||
134,"Katja Wirtz"
|
||||
133,"Aljosa Vujanic"
|
||||
131,"Gabriele Straka"
|
||||
130,"Bernhard Schipek"
|
||||
129,"Christoph Ott"
|
||||
122,"Patrick Zaruba"
|
||||
121,"Vanessa Vogelbacher"
|
||||
120,"Komala Sivabalan"
|
||||
119,"Dominik Schlatter"
|
||||
118,"Anica Ovcar-Berdin"
|
||||
110,"Robert Zuro"
|
||||
109,"Alessandro Teora"
|
||||
108,"Reto Stutz"
|
||||
107,"Heinz Spycher"
|
||||
106,"Dietmar Spottek"
|
||||
96,"Hans-Rudolf Zingg"
|
||||
95,"Muammer Yasaryildiz"
|
||||
94,"Marc Wiesner"
|
||||
93,"Stefan Walt"
|
||||
92,"Korbinian von Dalwigk"
|
||||
90,"Didier Vicini"
|
||||
89,"Marco Valli"
|
||||
88,"Christoph Trittibach"
|
||||
87,"Sadri Thaqi"
|
||||
86,"Habtom Teame"
|
||||
85,"Antoine Tateo"
|
||||
84,"Daniela Sutter Pfeiffer"
|
||||
83,"Mathialagan Shanmuganathan"
|
||||
82,"Vase Serafimov"
|
||||
81,"Sivabalan Sathasivam"
|
||||
80,"Andrea Rupp-Wuffli"
|
||||
79,"Konrad Rohner"
|
||||
78,"Lara Renggli"
|
||||
76,"Carlos Antonio Pereira da Silva"
|
||||
75,"Zoran Pavikj"
|
||||
74,"Vijayakanthan Pasupathipillai"
|
||||
73,"Daniel Pasquale"
|
||||
72,"Sonja Oswald Feichtinger"
|
||||
71,"Christoph Oberli"
|
||||
34,"Christoph Willi"
|
||||
33,"Jeton Sadiku"
|
||||
30,"Aleksandar Tanev"
|
||||
28,"Valentin Schudel"
|
||||
25,"Lirim Zenki"
|
||||
22,"Cornelia Wapf"
|
||||
21,"Marek Pych"
|
||||
14,"Ralf Schöller"
|
||||
13,"Yasar Yürekli"
|
||||
12,"Andreas Spätig"
|
||||
10,"Ana-Vanessa Pérez"
|
||||
4,"Sébastien Weber"
|
||||
1,"Eline van Oostveen"
|
||||
149,"Andre Bürgisser"
|
||||
171,"Jonas Hofer"
|
||||
179,"Batuhan Menekse"
|
||||
184,"Jenniffer Fernandez"
|
||||
90012,"Fotios Kaplanis"
|
||||
90017,"Rigo Selassa"
|
||||
90010,"Stephan van Loon"
|
||||
90011,"Suresh Biharie"
|
||||
163,"Jakob Bürgin"
|
||||
167,"Marc Inglin"
|
||||
99,"Ekrem Aksoy"
|
||||
98,"Nicola Allenbach"
|
||||
53,"Arultheepan Arulgananaseelan"
|
||||
46,"Tedros Alem"
|
||||
40,"Abduwali Ahmed"
|
||||
35,"Mohamed Abdullahi"
|
||||
26,"Luca Arrivabene"
|
||||
144,"Zsuzsanna Borsodi"
|
||||
115,"Nicole Blaser"
|
||||
91,"Samuel Borges Chaves"
|
||||
77,"Gerhard Blaser"
|
||||
63,"Yacine Bechiri"
|
||||
37,"Vincenzo Bruzzese"
|
||||
36,"Marc Brawand"
|
||||
29,"Fabienne Blunschi"
|
||||
23,"Marc Beyeler"
|
||||
17,"André Bischof"
|
||||
11,"Bence Bodó"
|
||||
6,"Bayram Büyükgöl"
|
||||
5,"Mürtaza Bozyüz"
|
||||
185,"Hoti Urim"
|
||||
164,"Geremia Rosa"
|
||||
186,"Luca Feuerstein"
|
||||
192,"Luka Djordjevic"
|
||||
190,"Tom Klinder"
|
||||
193,"René Gammerer"
|
||||
168,"Seale Zulfiji"
|
||||
188,"Silvia Hügli"
|
||||
189,"Raphael Rodriquez"
|
||||
269,"Robert Lomský"
|
||||
297,"Vertriebsinnendienst Industrietechnik"
|
||||
295,"Marc Müller-Meyfarth"
|
||||
287,"Andre Hoffmann"
|
||||
285,"Gabor Szuets"
|
||||
283,"Oliver Holleber"
|
||||
440,"Denise Zampoleri"
|
||||
435,"sven Strohe"
|
||||
431,"seema Tiwari"
|
||||
430,"sascha Pletscher"
|
||||
417,"martina Bauer"
|
||||
402,"dominik Schulte Oestrich"
|
||||
392,"ali Kilci"
|
||||
169,"Leticia San Jose"
|
||||
90021,"Verónica Demarchi"
|
||||
90026,"Luke Woollen"
|
||||
90027,"Jennifer Braybrook"
|
||||
90028,"Andreas Boomkamp"
|
||||
90029,"Stefan Genzel"
|
||||
90030,"Scott Brook"
|
||||
90031,"George Allis"
|
||||
90032,"Peter Biggs"
|
||||
90033,"Andrianna Keramidas"
|
||||
253,"Lin Jing"
|
||||
244,"Zhang Zhihua"
|
||||
235,"Danny Yang"
|
||||
226,"Starks Wei"
|
||||
223,"Elva Wang"
|
||||
214,"Mark Sun"
|
||||
205,"Peter Peng"
|
||||
193,"Jaroslaw Ratuszniak"
|
||||
189,"Grzegorz Bia?y"
|
||||
448,"Lala Dzhalilova"
|
||||
447,"Eduardo Yanez-Ferrer"
|
||||
395,"Axel Schönherr"
|
||||
388,"jana Hamouzova"
|
||||
368,"Agnieszka Tomczak"
|
||||
363,"Gustaf Lindstam"
|
||||
361,"Sweden Others"
|
||||
359,"Anna Lena Lindblom"
|
||||
353,"Jonas Henriksson"
|
||||
351,"Nikolaos Tottas"
|
||||
349,"Christer Räntfors"
|
||||
347,"Joakim Angervall"
|
||||
343,"Kolbjørn Kalsås"
|
||||
341,"Håkon Bjørnstad"
|
||||
339,"Helge Mønnich"
|
||||
178,"Lucia Palagi"
|
||||
275,"Slovakia Wertheim"
|
||||
271,"Slovakia Velement"
|
||||
185,"Marek Tarnacki"
|
||||
183,"Valeria Rossi"
|
||||
179,"Gianfranco Rossi"
|
||||
177,"Salvatore Biuso"
|
||||
175,"Andreas Demanega"
|
||||
174,"Vincenzo Isernia"
|
||||
367,"Harry Roberts"
|
||||
273,"Jan Ku?era"
|
||||
327,"Meerten Siertsema"
|
||||
181,"Stefano Terletti"
|
||||
90023,"Luca (Test) Meyer"
|
||||
90020,"Sebastian Weber (Test)"
|
||||
90022,"Olivia (Test) Anderson"
|
||||
90034,"Dale Morris"
|
||||
90024,"Kerry Davies"
|
||||
90025,"Colin Hunt"
|
||||
90035,"Andrei Zhakhavets"
|
||||
90036,"Michiel Pors"
|
||||
90037,"Fred Bouw"
|
||||
90038,"Nimai Rawlinson"
|
||||
90019,"Violeta Ciobotaru"
|
||||
90013,"info.ch@leviat.com Leviat"
|
||||
90014,"engineering.ch@leviat.com Leviat"
|
||||
90015,"Info.at@leviat.com Leviat"
|
||||
90016,"Technik.at@leviat.com Leviat"
|
||||
136,"Wolfgang Gollmayr"
|
||||
132,"Doris Fabian"
|
||||
123,"Sarah Garo"
|
||||
112,"Giuseppe Greco"
|
||||
111,"Mark Gospic"
|
||||
104,"Lukas Fodora"
|
||||
103,"Herminio Gesto"
|
||||
102,"Melanie Giannotta"
|
||||
101,"Francisco Gil Cordero"
|
||||
49,"Peter Gygi"
|
||||
48,"Myriam Grosjean"
|
||||
47,"Mathias Gerber"
|
||||
45,"Demba Embalo"
|
||||
44,"Franklin Eisenzimmer"
|
||||
43,"Michel Dolder"
|
||||
42,"Tidiane Diallo Amadou"
|
||||
41,"Madiou Diallo"
|
||||
39,"Tjalke De Witte"
|
||||
38,"Gilles De Vevey"
|
||||
20,"Sabrina Gasser"
|
||||
19,"Lars Franke"
|
||||
18,"Espedito Campa"
|
||||
15,"Anna Gütiger"
|
||||
8,"René Gasser"
|
||||
7,"Hüseyin Demir"
|
||||
151,"Marco Lüdi"
|
||||
155,"Andreas Ronge"
|
||||
152,"Ivo Marchon"
|
||||
162,"Hamza Caliskan"
|
||||
139,"Sabine Joham"
|
||||
137,"Johannes Hardt"
|
||||
128,"Martin Kubat"
|
||||
127,"Roman Kargl"
|
||||
126,"Ludwig Hell"
|
||||
125,"Günther Stefan Langer"
|
||||
124,"Ruth Hammermüller"
|
||||
117,"Edvin Kovacevic"
|
||||
116,"Madlaina Huber"
|
||||
114,"Jessica Kopp"
|
||||
113,"Patrick Hofer"
|
||||
105,"Thomas Kargbo"
|
||||
100,"Armando Martinelli"
|
||||
97,"Sivarasa Lankatharan"
|
||||
70,"Michel Ngoyi Nyanguile"
|
||||
69,"Anna Maria Nardella"
|
||||
68,"Mangaleswary Nadarajah"
|
||||
67,"David Murtezovic"
|
||||
66,"Agim Murat"
|
||||
65,"Thierry Mollica"
|
||||
64,"Temesghen Measho"
|
||||
62,"Lhoussaine Loutfi"
|
||||
61,"Wolfgang Loder"
|
||||
60,"Stefan Lips"
|
||||
59,"Dogu-Can Karakoyun"
|
||||
58,"Midhat Kapic"
|
||||
57,"Andreas Junker"
|
||||
56,"Raimundo Joao"
|
||||
55,"Jacek Jankowski"
|
||||
54,"Slawomir Janicki"
|
||||
52,"Sven Herwig"
|
||||
51,"Stefan Herren"
|
||||
50,"Alice Haller"
|
||||
32,"Patrick Kienzler"
|
||||
31,"Fabrice Kasongo"
|
||||
27,"Tinh Nguyen"
|
||||
24,"Patricia Minder"
|
||||
16,"Reto König"
|
||||
9,"Buino Mazebo Assunçao"
|
||||
3,"Sarah Mäder"
|
||||
2,"Michael Lüssi"
|
||||
147,"Rafael Paulino da Silva"
|
||||
145,"Adelbert Stähli"
|
||||
143,"Alexander Vogl"
|
||||
142,"Rocco Stadler"
|
||||
141,"Aleksandra Sretenovic"
|
||||
135,"Michael Wittmann"
|
||||
134,"Katja Wirtz"
|
||||
133,"Aljosa Vujanic"
|
||||
131,"Gabriele Straka"
|
||||
130,"Bernhard Schipek"
|
||||
129,"Christoph Ott"
|
||||
122,"Patrick Zaruba"
|
||||
121,"Vanessa Vogelbacher"
|
||||
120,"Komala Sivabalan"
|
||||
119,"Dominik Schlatter"
|
||||
118,"Anica Ovcar-Berdin"
|
||||
110,"Robert Zuro"
|
||||
109,"Alessandro Teora"
|
||||
108,"Reto Stutz"
|
||||
107,"Heinz Spycher"
|
||||
106,"Dietmar Spottek"
|
||||
96,"Hans-Rudolf Zingg"
|
||||
95,"Muammer Yasaryildiz"
|
||||
94,"Marc Wiesner"
|
||||
93,"Stefan Walt"
|
||||
92,"Korbinian von Dalwigk"
|
||||
90,"Didier Vicini"
|
||||
89,"Marco Valli"
|
||||
88,"Christoph Trittibach"
|
||||
87,"Sadri Thaqi"
|
||||
86,"Habtom Teame"
|
||||
85,"Antoine Tateo"
|
||||
84,"Daniela Sutter Pfeiffer"
|
||||
83,"Mathialagan Shanmuganathan"
|
||||
82,"Vase Serafimov"
|
||||
81,"Sivabalan Sathasivam"
|
||||
80,"Andrea Rupp-Wuffli"
|
||||
79,"Konrad Rohner"
|
||||
78,"Lara Renggli"
|
||||
76,"Carlos Antonio Pereira da Silva"
|
||||
75,"Zoran Pavikj"
|
||||
74,"Vijayakanthan Pasupathipillai"
|
||||
73,"Daniel Pasquale"
|
||||
72,"Sonja Oswald Feichtinger"
|
||||
71,"Christoph Oberli"
|
||||
34,"Christoph Willi"
|
||||
33,"Jeton Sadiku"
|
||||
30,"Aleksandar Tanev"
|
||||
28,"Valentin Schudel"
|
||||
25,"Lirim Zenki"
|
||||
22,"Cornelia Wapf"
|
||||
21,"Marek Pych"
|
||||
14,"Ralf Schöller"
|
||||
13,"Yasar Yürekli"
|
||||
12,"Andreas Spätig"
|
||||
10,"Ana-Vanessa Pérez"
|
||||
4,"Sébastien Weber"
|
||||
1,"Eline van Oostveen"
|
||||
149,"Andre Bürgisser"
|
||||
90012,"Fotios Kaplanis"
|
||||
90017,"Rigo Selassa"
|
||||
90010,"Stephan van Loon"
|
||||
90011,"Suresh Biharie"
|
||||
163,"Jakob Bürgin"
|
||||
99,"Ekrem Aksoy"
|
||||
98,"Nicola Allenbach"
|
||||
53,"Arultheepan Arulgananaseelan"
|
||||
46,"Tedros Alem"
|
||||
40,"Abduwali Ahmed"
|
||||
35,"Mohamed Abdullahi"
|
||||
26,"Luca Arrivabene"
|
||||
144,"Zsuzsanna Borsodi"
|
||||
115,"Nicole Blaser"
|
||||
91,"Samuel Borges Chaves"
|
||||
77,"Gerhard Blaser"
|
||||
63,"Yacine Bechiri"
|
||||
37,"Vincenzo Bruzzese"
|
||||
36,"Marc Brawand"
|
||||
29,"Fabienne Blunschi"
|
||||
23,"Marc Beyeler"
|
||||
17,"André Bischof"
|
||||
11,"Bence Bodó"
|
||||
6,"Bayram Büyükgöl"
|
||||
5,"Mürtaza Bozyüz"
|
||||
90236,"KEYTEST <Axel Schönherr>"
|
||||
90113,"Bart Van Dijck"
|
||||
90127,"David Haro-Vidaurreta"
|
||||
90222,"Zhao Wang"
|
||||
90223,"Shaoman Wang"
|
||||
90224,"Vincent Wang"
|
||||
90225,"Michelle Lin"
|
||||
6999999,"Andrzej Góra"
|
||||
6999998,"Diana Piasecka"
|
||||
6999997,"Elżbieta Kowalska"
|
||||
6999996,"Emilia Łyk"
|
||||
6999995,"Emilia Szal"
|
||||
6999994,"Joanna Golubienko"
|
||||
6999993,"Joanna Rabiega"
|
||||
6999992,"Marta Sowula"
|
||||
6999991,"Monika Pietrowska"
|
||||
6999990,"Weronika Broniszewska"
|
||||
90237,"Thomas Lange"
|
||||
90219,". dummy Spain"
|
||||
90235,"David Haro"
|
||||
473,"Anant Kulkarni"
|
||||
90221,". dummy Poland"
|
||||
99999,". dummy employee"
|
||||
90169,"Marc Sion"
|
||||
90156,"Kristin Kaiser"
|
||||
90109,"Anna Lena Lindblom"
|
||||
90110,"Antonio Bocero-Sanchez"
|
||||
90132,"Eduardo Yanez-Ferrer"
|
||||
90226,"Carl Gustafsson"
|
||||
90227,"Elin Carlsson"
|
||||
90228,"Sebastian Strandberg"
|
||||
90230,"Kenneth Björklund"
|
||||
90232,"Simon Lönnå"
|
||||
90233,"Hossam Alassadi"
|
||||
90234,"Ali Moghaddam"
|
||||
262,"Liu Kun"
|
||||
256,"Hui Zou"
|
||||
247,"Wu Danfeng"
|
||||
229,"Wayne Fan"
|
||||
220,"Jack Chen"
|
||||
199,"Camellia Shi"
|
||||
171,"Leticia San Jose"
|
||||
90046,"Cui Matthew"
|
||||
90048,"Volker Herrnkind"
|
||||
90049,"Simone Winandi"
|
||||
90050,"Cindy Komander"
|
||||
90052,"Henk Spijk"
|
||||
90055,"Ana Isabel Vega-Suela"
|
||||
90042,"Leticia Jose-Serrano"
|
||||
90044,"Helen Hao"
|
||||
90211,"Zhihua Zhang (NOT USE)"
|
||||
90145,"Ivo Vanhoof"
|
||||
90214,". dummy Netherlands"
|
||||
90215,". dummy Italy"
|
||||
90216,". dummy Sweden"
|
||||
90217,". dummy Finand"
|
||||
90218,". dummy Germany"
|
||||
90220,". dummy China"
|
||||
90164,"Marc Mueller-Meyfarth"
|
||||
|
@@ -0,0 +1,13 @@
|
||||
name: taskapp
|
||||
title: taskapp
|
||||
username:
|
||||
account: lanubia-datascience
|
||||
server: shinyapps.io
|
||||
hostUrl: https://api.shinyapps.io/v1
|
||||
appId: 6988311
|
||||
bundleId: 6426330
|
||||
url: https://lanubia-datascience.shinyapps.io/taskapp/
|
||||
when: 1666344192.01973
|
||||
lastSyncTime: 1666344192.01975
|
||||
asMultiple: FALSE
|
||||
asStatic: FALSE
|
||||
792
taskapp/server.R
Normal file
792
taskapp/server.R
Normal file
@@ -0,0 +1,792 @@
|
||||
#
|
||||
# This is the server logic of a Shiny web application. You can run the
|
||||
# application by clicking 'Run App' above.
|
||||
#
|
||||
# Find out more about building applications with Shiny here:
|
||||
#
|
||||
# http://shiny.rstudio.com/
|
||||
#
|
||||
|
||||
library(shiny)
|
||||
|
||||
# Define server logic required to draw a histogram
|
||||
shinyServer(function(input, output) {
|
||||
filenames <-
|
||||
list.files("./CodeList",
|
||||
pattern = "*.xlsx",
|
||||
full.names = T)
|
||||
sheet_names <-
|
||||
lapply(filenames, excel_sheets) # Creates a list of the sheet names
|
||||
codelist_files <- NULL
|
||||
for (i in seq_along(filenames)) {
|
||||
a <-
|
||||
lapply(excel_sheets(filenames[[i]]),
|
||||
read_excel,
|
||||
path = filenames[[i]],
|
||||
col_types = "text") # Reads the sheets of the excel files
|
||||
names(a) <-
|
||||
c(sheet_names[[i]]) # Renames them according to the sheet names extracted above
|
||||
codelist_files <- c(codelist_files, a)
|
||||
}
|
||||
emp<-read.csv("emp.csv") |> select(Employee.ID , Name)
|
||||
#acc<-read.csv("accounts.csv") |> select(-1)
|
||||
acc<-read.csv("acc1.csv")
|
||||
saptemplate <-
|
||||
read_excel("template.xlsx", sheet = "Field_Definitions")
|
||||
snames <- unique(saptemplate$`Sheet Name`)
|
||||
olddat<- reactive({
|
||||
req(input$oldfile)
|
||||
tryCatch(
|
||||
{
|
||||
df <- read.csv(input$oldfile$datapath,
|
||||
sep = ";", fileEncoding = 'ISO8859-2', dec = ",")
|
||||
},
|
||||
error = function(e) {
|
||||
# return a safeError if a parsing error occurs
|
||||
stop(safeError(e))
|
||||
}
|
||||
)
|
||||
df<-df |>
|
||||
left_join(emp, by=c(Sales.Rep = "Name")) |>
|
||||
rename(salerep=Sales.Rep) |>
|
||||
mutate(Employee.ID=ifelse(is.na(Employee.ID),"90112",Employee.ID)) |>
|
||||
rename(Sales.Rep=Employee.ID)
|
||||
df
|
||||
})
|
||||
|
||||
output$contents <- renderDataTable({
|
||||
req(olddat())
|
||||
|
||||
datatable(olddat(),
|
||||
extensions = "Buttons",
|
||||
options = list(
|
||||
paging = TRUE,
|
||||
scrollX = TRUE,
|
||||
searching = TRUE,
|
||||
ordering = TRUE,
|
||||
dom = 'Bfrtip',
|
||||
buttons = c('copy', 'csv', 'excel', 'pdf'),
|
||||
pageLength = 5,
|
||||
lengthMenu = c(3, 5, 10)
|
||||
))
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
newdattask<- reactive({
|
||||
req(olddat())
|
||||
External_Key<- olddat()$Quote.ID
|
||||
Document_Type<- "Activity Task" # Default
|
||||
Subject<- paste(olddat()$Name, olddat()$Quote.ID, sep="_")
|
||||
Status<- "Open" # Default
|
||||
Start_DateTime<- NA
|
||||
Start_DateTime_Time_Zone_Code<- NA #"Central Europe" # Default
|
||||
Due_Date_Time<- NA
|
||||
Due_Date_Time_Time_Zone_Code<- NA #"Central Europe" #Default
|
||||
Planned_Duration<- NA
|
||||
Actual_Duration<- NA
|
||||
Completion_Date_Time<- NA
|
||||
Main_Employee_Responsible_ID<- olddat()$Sales.Rep
|
||||
MainEmployeeResponsiblePartyExternalKey<- NA
|
||||
Main_Account_External_Key<-
|
||||
#olddat()$Account.Number..Customer.
|
||||
paste0("A",olddat()$Account.Number..Customer.)
|
||||
Main_Account_ID<- NA
|
||||
Main_Contact_ID_External_Key<- NA
|
||||
Main_Contact_ID<- NA
|
||||
Processor_ID<- olddat()$Sales.Rep
|
||||
ProcessorPartyExternalKey<- NA
|
||||
Completion_Percent<- NA
|
||||
Category<- NA
|
||||
Priority<- NA
|
||||
Sales_Territory_ID<- NA
|
||||
Sales_Organization_External_Key<- NA
|
||||
Sales_Organization_ID<- NA
|
||||
Distribution_Channel<- NA
|
||||
Division<- NA
|
||||
Data_Origin<- NA
|
||||
Processor_Email<- NA
|
||||
Processor_Name<- NA
|
||||
Last_Changed<- NA
|
||||
df<- data.frame(External_Key,
|
||||
Document_Type,
|
||||
Subject,
|
||||
Status,
|
||||
Start_DateTime,
|
||||
Start_DateTime_Time_Zone_Code,
|
||||
Due_Date_Time,
|
||||
Due_Date_Time_Time_Zone_Code,
|
||||
Planned_Duration,
|
||||
Actual_Duration,
|
||||
Completion_Date_Time,
|
||||
Main_Employee_Responsible_ID,
|
||||
MainEmployeeResponsiblePartyExternalKey,
|
||||
Main_Account_External_Key,
|
||||
Main_Account_ID,
|
||||
Main_Contact_ID_External_Key,
|
||||
Main_Contact_ID,
|
||||
Processor_ID,
|
||||
ProcessorPartyExternalKey,
|
||||
Completion_Percent,
|
||||
Category,
|
||||
Priority,
|
||||
Sales_Territory_ID,
|
||||
Sales_Organization_External_Key,
|
||||
Sales_Organization_ID,
|
||||
Distribution_Channel,
|
||||
Division,
|
||||
Data_Origin,
|
||||
Processor_Email,
|
||||
Processor_Name,
|
||||
Last_Changed)
|
||||
fulldf<-
|
||||
df |>
|
||||
left_join(acc, by=c("Main_Account_External_Key"="Former_CRM_reference"))
|
||||
|
||||
df<-fulldf |>
|
||||
filter(!is.na(Account_ID)) |>
|
||||
mutate(Main_Account_External_Key=NA) |>
|
||||
select(-Main_Account_ID) |>
|
||||
rename(Main_Account_ID=Account_ID) |>
|
||||
select(External_Key,
|
||||
Document_Type,
|
||||
Subject,
|
||||
Status,
|
||||
Start_DateTime,
|
||||
Start_DateTime_Time_Zone_Code,
|
||||
Due_Date_Time,
|
||||
Due_Date_Time_Time_Zone_Code,
|
||||
Planned_Duration,
|
||||
Actual_Duration,
|
||||
Completion_Date_Time,
|
||||
Main_Employee_Responsible_ID,
|
||||
MainEmployeeResponsiblePartyExternalKey,
|
||||
Main_Account_External_Key,
|
||||
Main_Account_ID,
|
||||
Main_Contact_ID_External_Key,
|
||||
Main_Contact_ID,
|
||||
Processor_ID,
|
||||
ProcessorPartyExternalKey,
|
||||
Completion_Percent,
|
||||
Category,
|
||||
Priority,
|
||||
Sales_Territory_ID,
|
||||
Sales_Organization_External_Key,
|
||||
Sales_Organization_ID,
|
||||
Distribution_Channel,
|
||||
Division,
|
||||
Data_Origin,
|
||||
Processor_Email,
|
||||
Processor_Name,
|
||||
Last_Changed)
|
||||
|
||||
df.umatched<-fulldf |>
|
||||
filter(is.na(Account_ID))
|
||||
sel.template.desc <-
|
||||
saptemplate[saptemplate$`Sheet Name` == "Task",]
|
||||
sel.template.desc |>
|
||||
filter(Mandatory == "Yes") |>
|
||||
pull(Header) -> essential.columns
|
||||
#error.mandatory <- NULL
|
||||
error.df <-
|
||||
data.frame(
|
||||
Country = NULL,
|
||||
Name = NULL,
|
||||
Rows = NULL,
|
||||
Expected = NULL
|
||||
)
|
||||
manerrdt<-NULL
|
||||
for (k in seq_along(essential.columns)) {
|
||||
print("Creating and writing data with missing mandatory values")
|
||||
|
||||
manerrdt <- rbind(df[is.na(df[, essential.columns[k]]),],manerrdt)
|
||||
if (nrow(manerrdt > 0)) {
|
||||
manerrdt <-
|
||||
manerrdt |> mutate(error = paste0(essential.columns[k], " missing"))
|
||||
}
|
||||
Country <- "AT"
|
||||
Name <- "Task"
|
||||
err.type <- paste0("Missing ", essential.columns[k])
|
||||
err.count <- nrow(df[is.na(df[, essential.columns[k]]),])
|
||||
print("Removing rows with empty essential columns")
|
||||
df <- df[!is.na(df[, essential.columns[k]]),]
|
||||
if (err.count > 0) {
|
||||
error.df <-
|
||||
rbind(
|
||||
error.df,
|
||||
data.frame(
|
||||
Country = Country,
|
||||
Name = Name,
|
||||
err.type = err.type,
|
||||
err.count = err.count
|
||||
)
|
||||
) #Error cal
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
print("Identifying columns associated with codelists")
|
||||
# List of columns that have a codelist
|
||||
codelistcols <- sel.template.desc |>
|
||||
filter(!is.na(`CodeList File Path`)) |> pull(Header)
|
||||
def<-NULL
|
||||
for (k in seq_along(codelistcols)) {
|
||||
print(paste0("Identifying errors ", codelistcols[k]))
|
||||
def.rows <-
|
||||
which(!df[, codelistcols[k]] %in% c(pull(codelist_files[codelistcols[k]][[1]], Description), NA))
|
||||
def.n <- df[def.rows, 1]
|
||||
def.rows.val <-
|
||||
df[!df[, codelistcols[k]] %in% c(pull(codelist_files[codelistcols[k]][[1]], Description), NA), codelistcols[k]]
|
||||
def.colname <-
|
||||
rep(codelistcols[k], length.out = length(def.rows))
|
||||
def <- rbind(data.frame(def.rows, def.n, def.rows.val, def.colname),def)
|
||||
|
||||
err.type <-
|
||||
paste0("Codelist Mismatch ", codelistcols[k]) #Error cal
|
||||
err.count <- nrow(def) #Error cal
|
||||
if (err.count > 0) {
|
||||
error.df <-
|
||||
rbind(
|
||||
error.df,
|
||||
data.frame(
|
||||
Country = Country,
|
||||
Name = Name,
|
||||
err.type = err.type,
|
||||
err.count = err.count
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
print(paste0("Removing errors ", codelistcols[k]))
|
||||
# Removes any mismatch
|
||||
df[!df[, codelistcols[k]] %in% c(pull(codelist_files[codelistcols[k]][[1]], Description), NA), codelistcols[k]] <-
|
||||
NA
|
||||
|
||||
# Matches each column with the corresponding code list and returns the value
|
||||
df[, codelistcols[k]] <-
|
||||
pull(codelist_files[codelistcols[k]][[1]], 2)[match(pull(df, codelistcols[k]),
|
||||
pull(codelist_files[codelistcols[k]][[1]], Description))]
|
||||
}
|
||||
|
||||
|
||||
max.length <- as.numeric(sel.template.desc$`Max Length`)
|
||||
dtype <- sel.template.desc$`Data Type`
|
||||
rowval <- NULL
|
||||
ival <- NULL
|
||||
rval <- NULL
|
||||
lenght.issue.df <- NULL
|
||||
# Changing the data class
|
||||
for (k in 1:ncol(df)) {
|
||||
if (dtype[k] == "String") {
|
||||
df[, k] <- as.character(pull(df, k))
|
||||
}
|
||||
if (dtype[k] == "Boolean") {
|
||||
df[, k] <- as.logical(pull(df, k))
|
||||
}
|
||||
if (dtype[k] == "DateTime") {
|
||||
df[, k] <- lubridate::ymd(pull(df, k))
|
||||
}
|
||||
if (dtype[k] == "Time") {
|
||||
df[, k] <- lubridate::hms(pull(df, k))
|
||||
|
||||
} # This list will increase and also change based on input date and time formats
|
||||
|
||||
}
|
||||
|
||||
# Length Rectification
|
||||
colclasses <- lapply(df, class)
|
||||
print("Rectifying Length")
|
||||
for (k in 1:ncol(df)) {
|
||||
if (colclasses[[k]] == "character") {
|
||||
print("found character column ")
|
||||
rowval <- pull(df, 1)
|
||||
ival <-
|
||||
ifelse(nchar(pull(df, k)) == 0 |
|
||||
is.na(nchar(pull(df, k))), 1, nchar(pull(df, k)))
|
||||
rval <- max.length[k]
|
||||
colval <- pull(df, k)
|
||||
colnm <- colnames(df)[k]
|
||||
cntr <- "AT"
|
||||
# rectifying data length
|
||||
df[, k] <-
|
||||
ifelse(nchar(pull(df, k)) > max.length[k],
|
||||
substring(pull(df, k), 1, max.length[k]),
|
||||
pull(df, k))
|
||||
}
|
||||
|
||||
lenght.issue.df <-
|
||||
rbind(lenght.issue.df,
|
||||
data.frame(rowval, ival, rval, colnm, colval, cntr))
|
||||
|
||||
err.type <-
|
||||
paste0("Length error ", colnames(df)[k]) # Error cal
|
||||
err.count <- sum(ival > rval, na.rm = T) # Error cal
|
||||
if (err.count > 0) {
|
||||
error.df <-
|
||||
rbind(
|
||||
error.df,
|
||||
data.frame(
|
||||
Country = Country,
|
||||
Name = Name,
|
||||
err.type = err.type,
|
||||
err.count = err.count
|
||||
)
|
||||
) #Error cal
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
lenght.issue.df <- dplyr::filter(lenght.issue.df, ival > rval)
|
||||
|
||||
taskdat<-list(dat=df, err=error.df, man.error=manerrdt, code.error=def, length.error=lenght.issue.df, unm.err=df.umatched)
|
||||
|
||||
return(taskdat)
|
||||
|
||||
})
|
||||
|
||||
newdatnotes<-reactive({
|
||||
req(newdattask())
|
||||
# sel.ids<-newdattask()$External_Key
|
||||
# print(sel.ids)
|
||||
External_Key<-paste(olddat()$Name, olddat()$Quote.ID, sep = "_")
|
||||
Task_External_Key<-olddat()$Quote.ID
|
||||
Task_ID<-NA
|
||||
Text<- paste("con",olddat()$Contact, "amt",olddat()$Total.Amount, "ref",olddat()$Customer.Reference, "slt",olddat()$Sales.Taker, "qst" ,olddat()$Quote.Status, "oid",olddat()$Order.ID..Order., "typ",olddat()$Quote.type, "url" ,olddat()$Sharepoint.URL, "mer",olddat()$salerep, sep = "_")
|
||||
Language_Code<-NA
|
||||
Type_Code<- "Body Text"
|
||||
Author_Name<-NA
|
||||
Updated_On<-NA
|
||||
|
||||
df<- data.frame(External_Key,
|
||||
Task_External_Key,
|
||||
Task_ID,
|
||||
Text,
|
||||
Language_Code,
|
||||
Type_Code,
|
||||
Author_Name,
|
||||
Updated_On)
|
||||
df<- df |>
|
||||
mutate(Text = gsub(",","..",Text))
|
||||
|
||||
# df<- df |>
|
||||
# filter(Task_External_Key %in% sel.ids)
|
||||
|
||||
sel.template.desc <-
|
||||
saptemplate[saptemplate$`Sheet Name` == "Tasks_Notes",]
|
||||
sel.template.desc |>
|
||||
filter(Mandatory == "Yes") |>
|
||||
pull(Header) -> essential.columns
|
||||
error.mandatory <- NULL
|
||||
error.df <-
|
||||
data.frame(
|
||||
Country = NULL,
|
||||
Name = NULL,
|
||||
Rows = NULL,
|
||||
Expected = NULL
|
||||
)
|
||||
for (k in seq_along(essential.columns)) {
|
||||
print("Creating and writing data with missing mandatory values")
|
||||
manerrdt <- df[is.na(df[, essential.columns[k]]),]
|
||||
if (nrow(manerrdt > 0)) {
|
||||
manerrdt <-
|
||||
manerrdt |> mutate(error = paste0(essential.columns[k], " missing"))
|
||||
}
|
||||
Country <- "AT"
|
||||
Name <- "Task"
|
||||
err.type <- paste0("Missing ", essential.columns[k])
|
||||
err.count <- nrow(df[is.na(df[, essential.columns[k]]),])
|
||||
print("Removing rows with empty essential columns")
|
||||
df <- df[!is.na(df[, essential.columns[k]]),]
|
||||
if (err.count > 0) {
|
||||
error.df <-
|
||||
rbind(
|
||||
error.df,
|
||||
data.frame(
|
||||
Country = Country,
|
||||
Name = Name,
|
||||
err.type = err.type,
|
||||
err.count = err.count
|
||||
)
|
||||
) #Error cal
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
print("Identifying columns associated with codelists")
|
||||
# List of columns that have a codelist
|
||||
codelistcols <- sel.template.desc |>
|
||||
filter(!is.na(`CodeList File Path`)) |> pull(Header)
|
||||
def<-NULL
|
||||
for (k in seq_along(codelistcols)) {
|
||||
print(paste0("Identifying errors ", codelistcols[k]))
|
||||
def.rows <-
|
||||
which(!df[, codelistcols[k]] %in% c(pull(codelist_files[codelistcols[k]][[1]], Description), NA))
|
||||
def.n <- df[def.rows, 1]
|
||||
def.rows.val <-
|
||||
df[!df[, codelistcols[k]] %in% c(pull(codelist_files[codelistcols[k]][[1]], Description), NA), codelistcols[k]]
|
||||
def.colname <-
|
||||
rep(codelistcols[k], length.out = length(def.rows))
|
||||
def <- rbind(data.frame(def.rows, def.n, def.rows.val, def.colname),def)
|
||||
|
||||
err.type <-
|
||||
paste0("Codelist Mismatch ", codelistcols[k]) #Error cal
|
||||
err.count <- nrow(def) #Error cal
|
||||
if (err.count > 0) {
|
||||
error.df <-
|
||||
rbind(
|
||||
error.df,
|
||||
data.frame(
|
||||
Country = Country,
|
||||
Name = Name,
|
||||
err.type = err.type,
|
||||
err.count = err.count
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
print(paste0("Removing errors ", codelistcols[k]))
|
||||
# Removes any mismatch
|
||||
df[!df[, codelistcols[k]] %in% c(pull(codelist_files[codelistcols[k]][[1]], Description), NA), codelistcols[k]] <-
|
||||
NA
|
||||
|
||||
# Matches each column with the corresponding code list and returns the value
|
||||
df[, codelistcols[k]] <-
|
||||
pull(codelist_files[codelistcols[k]][[1]], 2)[match(pull(df, codelistcols[k]),
|
||||
pull(codelist_files[codelistcols[k]][[1]], Description))]
|
||||
}
|
||||
|
||||
max.length <- as.numeric(sel.template.desc$`Max Length`)
|
||||
dtype <- sel.template.desc$`Data Type`
|
||||
rowval <- NULL
|
||||
ival <- NULL
|
||||
rval <- NULL
|
||||
lenght.issue.df <- NULL
|
||||
# Changing the data class
|
||||
for (k in 1:ncol(df)) {
|
||||
if (dtype[k] == "String") {
|
||||
df[, k] <- as.character(pull(df, k))
|
||||
}
|
||||
if (dtype[k] == "Boolean") {
|
||||
df[, k] <- as.logical(pull(df, k))
|
||||
}
|
||||
if (dtype[k] == "DateTime") {
|
||||
df[, k] <- lubridate::ymd(pull(df, k))
|
||||
}
|
||||
if (dtype[k] == "Time") {
|
||||
df[, k] <- lubridate::hms(pull(df, k))
|
||||
|
||||
} # This list will increase and also change based on input date and time formats
|
||||
|
||||
}
|
||||
|
||||
# Length Rectification
|
||||
colclasses <- lapply(df, class)
|
||||
print("Rectifying Length")
|
||||
for (k in 1:ncol(df)) {
|
||||
if (colclasses[[k]] == "character") {
|
||||
if(colnames(df)[k]=="Text"){
|
||||
next
|
||||
}
|
||||
print("found character column ")
|
||||
rowval <- pull(df, 1)
|
||||
ival <-
|
||||
ifelse(nchar(pull(df, k)) == 0 |
|
||||
is.na(nchar(pull(df, k))), 1, nchar(pull(df, k)))
|
||||
print("here")
|
||||
rval <- max.length[k]
|
||||
colval <- pull(df, k)
|
||||
colnm <- colnames(df)[k]
|
||||
cntr <- "AT"
|
||||
# rectifying data length
|
||||
|
||||
df[, k] <-
|
||||
ifelse(nchar(pull(df, k)) > max.length[k],
|
||||
substring(pull(df, k), 1, max.length[k]),
|
||||
pull(df, k))
|
||||
}
|
||||
|
||||
lenght.issue.df <-
|
||||
rbind(lenght.issue.df,
|
||||
data.frame(rowval, ival, rval, colnm, colval, cntr))
|
||||
|
||||
err.type <-
|
||||
paste0("Length error ", colnames(df)[k]) # Error cal
|
||||
err.count <- sum(ival > rval, na.rm = T) # Error cal
|
||||
if (err.count > 0) {
|
||||
error.df <-
|
||||
rbind(
|
||||
error.df,
|
||||
data.frame(
|
||||
Country = Country,
|
||||
Name = Name,
|
||||
err.type = err.type,
|
||||
err.count = err.count
|
||||
)
|
||||
) #Error cal
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
lenght.issue.df <- dplyr::filter(lenght.issue.df, ival > rval)
|
||||
|
||||
tasknotedat<-list(dat=df, err=error.df, man.error=manerrdt, code.error=def, length.error=lenght.issue.df)
|
||||
|
||||
return(tasknotedat)
|
||||
|
||||
})
|
||||
|
||||
newatt<-reactive({
|
||||
# req(newdattask())
|
||||
# sel.ids<-newdattask()$External_Key
|
||||
|
||||
TasksExternalKey<- olddat()$Quote.ID
|
||||
#paste0(olddat()$Quote.ID,"_TA01")
|
||||
TaskID<-paste(olddat()$Name, olddat()$Quote.ID, sep = "_")
|
||||
#olddat()$Quote.ID
|
||||
AttachmentTypeCode<- "10051"
|
||||
AttachmentName<- paste0("Att_",olddat()$Quote.ID)
|
||||
FilePath<-NA
|
||||
WebLink<-olddat()$Sharepoint.URL
|
||||
|
||||
df<-data.frame(TasksExternalKey,TaskID, AttachmentTypeCode, AttachmentName, FilePath, WebLink)
|
||||
# df<- df |>
|
||||
# filter(TasksExternalKey %in% sel.ids)
|
||||
df
|
||||
|
||||
})
|
||||
|
||||
output$task<- renderDataTable({
|
||||
req(newdattask())
|
||||
datatable(newdattask()$dat,
|
||||
#extensions = "Buttons",
|
||||
options = list(
|
||||
paging = TRUE,
|
||||
scrollX = TRUE,
|
||||
searching = TRUE,
|
||||
ordering = TRUE,
|
||||
#dom = 'Bfrtip',
|
||||
#buttons = c('copy', 'csv', 'excel', 'pdf'),
|
||||
pageLength = 5,
|
||||
lengthMenu = c(3, 5, 10)
|
||||
))
|
||||
})
|
||||
|
||||
output$taskdl<- downloadHandler(
|
||||
filename = function() {
|
||||
paste("Task-", Sys.Date(), ".csv", sep="")
|
||||
},
|
||||
content = function(file) {
|
||||
write.csv(newdattask()$dat, file, row.names = FALSE, quote = FALSE, na = "")
|
||||
}
|
||||
)
|
||||
|
||||
output$taskerror<-
|
||||
renderDataTable({
|
||||
req(newdattask())
|
||||
#req(newdatnotes())
|
||||
print(newdattask()$error.df)
|
||||
datatable(newdattask()$error.df,
|
||||
extensions = "Buttons",
|
||||
options = list(
|
||||
paging = TRUE,
|
||||
scrollX = TRUE,
|
||||
searching = TRUE,
|
||||
ordering = TRUE,
|
||||
dom = 'Bfrtip',
|
||||
buttons = c('copy', 'csv', 'excel', 'pdf'),
|
||||
pageLength = 5,
|
||||
lengthMenu = c(3, 5, 10)
|
||||
))
|
||||
})
|
||||
|
||||
output$taskerrorman<-
|
||||
renderDataTable({
|
||||
req(newdattask())
|
||||
datatable(newdattask()$man.error,
|
||||
extensions = "Buttons",
|
||||
options = list(
|
||||
paging = TRUE,
|
||||
scrollX = TRUE,
|
||||
searching = TRUE,
|
||||
ordering = TRUE,
|
||||
dom = 'Bfrtip',
|
||||
buttons = c('copy', 'csv', 'excel', 'pdf'),
|
||||
pageLength = 5,
|
||||
lengthMenu = c(3, 5, 10)
|
||||
))
|
||||
})
|
||||
|
||||
output$taskerrorcode<-
|
||||
renderDataTable({
|
||||
req(newdattask())
|
||||
datatable(newdattask()$code.error,
|
||||
extensions = "Buttons",
|
||||
options = list(
|
||||
paging = TRUE,
|
||||
scrollX = TRUE,
|
||||
searching = TRUE,
|
||||
ordering = TRUE,
|
||||
dom = 'Bfrtip',
|
||||
buttons = c('copy', 'csv', 'excel', 'pdf'),
|
||||
pageLength = 5,
|
||||
lengthMenu = c(3, 5, 10)
|
||||
))
|
||||
})
|
||||
|
||||
output$taskerrorlength<-
|
||||
renderDataTable({
|
||||
req(newdattask())
|
||||
datatable(newdattask()$length.error,
|
||||
extensions = "Buttons",
|
||||
options = list(
|
||||
paging = TRUE,
|
||||
scrollX = TRUE,
|
||||
searching = TRUE,
|
||||
ordering = TRUE,
|
||||
dom = 'Bfrtip',
|
||||
buttons = c('copy', 'csv', 'excel', 'pdf'),
|
||||
pageLength = 5,
|
||||
lengthMenu = c(3, 5, 10)
|
||||
))
|
||||
})
|
||||
|
||||
output$taskerrorunmatched<-
|
||||
renderDataTable({
|
||||
req(newdattask())
|
||||
datatable(newdattask()$unm.err,
|
||||
extensions = "Buttons",
|
||||
options = list(
|
||||
paging = TRUE,
|
||||
scrollX = TRUE,
|
||||
searching = TRUE,
|
||||
ordering = TRUE,
|
||||
dom = 'Bfrtip',
|
||||
buttons = c('copy', 'csv', 'excel', 'pdf'),
|
||||
pageLength = 5,
|
||||
lengthMenu = c(3, 5, 10)
|
||||
))
|
||||
})
|
||||
|
||||
### Notes
|
||||
|
||||
output$notes<- renderDataTable({
|
||||
datatable(newdatnotes()$dat,
|
||||
#extensions = "Buttons",
|
||||
options = list(
|
||||
paging = TRUE,
|
||||
scrollX = TRUE,
|
||||
searching = TRUE,
|
||||
ordering = TRUE,
|
||||
#dom = 'Bfrtip',
|
||||
#buttons = c('copy', 'csv', 'excel', 'pdf'),
|
||||
pageLength = 5,
|
||||
lengthMenu = c(3, 5, 10)
|
||||
))
|
||||
})
|
||||
output$tasknotesdl<- downloadHandler(
|
||||
filename = function() {
|
||||
paste("TaskNotes-", Sys.Date(), ".csv", sep="")
|
||||
},
|
||||
content = function(file) {
|
||||
write.csv(newdatnotes()$dat, file, row.names = FALSE, quote = FALSE, na = "")
|
||||
}
|
||||
)
|
||||
|
||||
output$tasknoteserror<-
|
||||
renderDataTable({
|
||||
#req(newdattask())
|
||||
req(newdatnotes())
|
||||
print(newdatnotes()$error.df)
|
||||
datatable(newdattask()$error.df,
|
||||
extensions = "Buttons",
|
||||
options = list(
|
||||
paging = TRUE,
|
||||
scrollX = TRUE,
|
||||
searching = TRUE,
|
||||
ordering = TRUE,
|
||||
dom = 'Bfrtip',
|
||||
buttons = c('copy', 'csv', 'excel', 'pdf'),
|
||||
pageLength = 5,
|
||||
lengthMenu = c(3, 5, 10)
|
||||
))
|
||||
})
|
||||
|
||||
|
||||
|
||||
output$tasknoteserrorman<-
|
||||
renderDataTable({
|
||||
req(newdatnotes())
|
||||
datatable(newdatnotes()$man.error,
|
||||
extensions = "Buttons",
|
||||
options = list(
|
||||
paging = TRUE,
|
||||
scrollX = TRUE,
|
||||
searching = TRUE,
|
||||
ordering = TRUE,
|
||||
dom = 'Bfrtip',
|
||||
buttons = c('copy', 'csv', 'excel', 'pdf'),
|
||||
pageLength = 5,
|
||||
lengthMenu = c(3, 5, 10)
|
||||
))
|
||||
})
|
||||
output$tasknoteserrorcode<-
|
||||
renderDataTable({
|
||||
req(newdatnotes())
|
||||
datatable(newdatnotes()$code.error,
|
||||
extensions = "Buttons",
|
||||
options = list(
|
||||
paging = TRUE,
|
||||
scrollX = TRUE,
|
||||
searching = TRUE,
|
||||
ordering = TRUE,
|
||||
dom = 'Bfrtip',
|
||||
buttons = c('copy', 'csv', 'excel', 'pdf'),
|
||||
pageLength = 5,
|
||||
lengthMenu = c(3, 5, 10)
|
||||
))
|
||||
})
|
||||
|
||||
output$tasknoteserrorlength<-
|
||||
renderDataTable({
|
||||
req(newdatnotes())
|
||||
datatable(newdatnotes()$length.error,
|
||||
extensions = "Buttons",
|
||||
options = list(
|
||||
paging = TRUE,
|
||||
scrollX = TRUE,
|
||||
searching = TRUE,
|
||||
ordering = TRUE,
|
||||
dom = 'Bfrtip',
|
||||
buttons = c('copy', 'csv', 'excel', 'pdf'),
|
||||
pageLength = 5,
|
||||
lengthMenu = c(3, 5, 10)
|
||||
))
|
||||
})
|
||||
|
||||
output$taskatt<- renderDataTable({
|
||||
req(newatt())
|
||||
datatable(newatt(),
|
||||
#extensions = "Buttons",
|
||||
options = list(
|
||||
paging = TRUE,
|
||||
scrollX = TRUE,
|
||||
searching = TRUE,
|
||||
ordering = TRUE,
|
||||
#dom = 'Bfrtip',
|
||||
#buttons = c('copy', 'csv', 'excel', 'pdf'),
|
||||
pageLength = 5,
|
||||
lengthMenu = c(3, 5, 10)
|
||||
))
|
||||
})
|
||||
|
||||
output$taskattdl<- downloadHandler(
|
||||
filename = function() {
|
||||
paste("manifest", ".csv", sep="")
|
||||
},
|
||||
content = function(file) {
|
||||
write.csv(newatt(), file, row.names = FALSE, quote = FALSE, na = "")
|
||||
}
|
||||
)
|
||||
|
||||
})
|
||||
BIN
taskapp/template.xlsx
Normal file
BIN
taskapp/template.xlsx
Normal file
Binary file not shown.
95
taskapp/ui.R
Normal file
95
taskapp/ui.R
Normal file
@@ -0,0 +1,95 @@
|
||||
#
|
||||
# This is the user-interface definition of a Shiny web application. You can
|
||||
# run the application by clicking 'Run App' above.
|
||||
#
|
||||
# Find out more about building applications with Shiny here:
|
||||
#
|
||||
# http://shiny.rstudio.com/
|
||||
#
|
||||
|
||||
library(shiny)
|
||||
library(DT)
|
||||
library(readxl)
|
||||
library(dplyr)
|
||||
|
||||
|
||||
|
||||
# Define UI for application that draws a histogram
|
||||
shinyUI(fluidPage(
|
||||
|
||||
# Application title
|
||||
titlePanel("Tasks"),
|
||||
|
||||
# Sidebar with a slider input for number of bins
|
||||
sidebarLayout(
|
||||
sidebarPanel(
|
||||
width = 3,
|
||||
fileInput("oldfile", "Choose CSV File",
|
||||
multiple = FALSE,
|
||||
accept = c("text/csv",
|
||||
"text/comma-separated-values,text/plain",
|
||||
".csv")),
|
||||
tags$hr(),
|
||||
radioButtons("sep", "Separator",
|
||||
choices = c(Comma = ",",
|
||||
Semicolon = ";",
|
||||
Tab = "\t"),
|
||||
selected = ";")
|
||||
|
||||
),
|
||||
|
||||
# Show a plot of the generated distribution
|
||||
mainPanel(
|
||||
fluidRow(
|
||||
h3("Input Data"),
|
||||
dataTableOutput("contents")
|
||||
),
|
||||
fluidRow(
|
||||
h3("Task")
|
||||
),
|
||||
fluidRow(
|
||||
column(width = 6,
|
||||
h4("Output"),
|
||||
dataTableOutput("task"),
|
||||
downloadButton("taskdl", "Download")
|
||||
),
|
||||
column(width = 6,
|
||||
h4("Errors"),
|
||||
tabsetPanel(
|
||||
tabPanel("Summary", dataTableOutput("taskerror")),
|
||||
tabPanel("Mandatory", dataTableOutput("taskerrorman")),
|
||||
tabPanel("Codelist", dataTableOutput("taskerrorcode")),
|
||||
tabPanel("Length", dataTableOutput("taskerrorlength")),
|
||||
tabPanel("Unmatched", dataTableOutput("taskerrorunmatched"))
|
||||
)
|
||||
)
|
||||
),
|
||||
fluidRow(
|
||||
h3("Notes")
|
||||
),
|
||||
fluidRow(
|
||||
column(width = 6,
|
||||
h4("Output"),
|
||||
h5("Notes"),
|
||||
dataTableOutput("notes"),
|
||||
downloadButton("tasknotesdl", "Download")
|
||||
),
|
||||
column(width = 6,
|
||||
h4("Errors"),
|
||||
tabsetPanel(
|
||||
tabPanel("Summary", dataTableOutput("tasknoteserror")),
|
||||
tabPanel("Mandatory", dataTableOutput("tasknoteserrorman")),
|
||||
tabPanel("Codelist", dataTableOutput("tasknoteserrorcode")),
|
||||
tabPanel("Length", dataTableOutput("tasknoteserrorlength"))
|
||||
)
|
||||
|
||||
)
|
||||
),
|
||||
fluidRow(
|
||||
h3("Attachments"),
|
||||
dataTableOutput("taskatt"),
|
||||
downloadButton("taskattdl")
|
||||
)
|
||||
)
|
||||
)
|
||||
))
|
||||
Reference in New Issue
Block a user