finish
This commit is contained in:
@@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<module type="PYTHON_MODULE" version="4">
|
<module type="PYTHON_MODULE" version="4">
|
||||||
<component name="NewModuleRootManager">
|
<component name="NewModuleRootManager">
|
||||||
<content url="file://$MODULE_DIR$">
|
<content url="file://$USER_HOME$/PycharmProjects/jit_oracle_connection" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
<content url="file://$USER_HOME$/PycharmProjects/jit_tools" />
|
||||||
</content>
|
<content url="file://$MODULE_DIR$" />
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="jdk" jdkName="Python 3.12 (KSbExcelExportSivasTeilestamm)" jdkType="Python SDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (KSbExcelExportSivasTeilestamm)" project-jdk-type="Python SDK" />
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (KSbExcelExportSivasTeilestamm)" project-jdk-type="Python SDK" />
|
||||||
</project>
|
</project>
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
# KSbExcelExportSivasTeilestamm
|
# KSbExcelExportSivasTeilestamm
|
||||||
|
|
||||||
Ein Tool, um Daten aus dem SIVAS-Teilestamm in eine Excel-Datei zu exportieren. Es können mit dem Parameter TEILENR 1...n Teilenummern angegeben werden. Das Verzeichnis in welches die CSV-Dateien exportiert werden muss als Umgebungsvariable SIVAS_EXCEL_EXPORT_DIR definiert werden. Falls nicht spezifiziert, wird auf den Desktop exportiert.
|
Ein Tool, um Daten aus dem SIVAS-Teilestamm in eine Excel-Datei zu exportieren. Es können mit dem Parameter -teilenr 1...n Teilenummern angegeben werden. Das Verzeichnis in welches die CSV-Dateien exportiert werden muss als Umgebungsvariable SIVAS_EXCEL_EXPORT_DIR definiert werden. Falls nicht spezifiziert, wird auf den Desktop exportiert.
|
||||||
Beispielaufruf: KSbExcelExportSivasTeilestamm.exe TEILENR=4711,0815,1234
|
Beispielaufruf: KSbExcelExportSivasTeilestamm.exe -teilenr=4711,0815,1234
|
||||||
|
|
||||||
|
usage: KSbExcelExportSivasTeilestamm.exe [-h] -teilenr TEILENUMMERN_KOMMA_SEPARIERT
|
||||||
@@ -1,16 +1,66 @@
|
|||||||
# This is a sample Python script.
|
import csv
|
||||||
|
import os
|
||||||
|
|
||||||
# Press Umschalt+F10 to execute it or replace it with your code.
|
from jit_oracle_connection import JitOracleConnection
|
||||||
# Press Double Shift to search everywhere for classes, files, tool windows, actions, and settings.
|
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
|
||||||
def print_hi(name):
|
def main():
|
||||||
# Use a breakpoint in the code line below to debug your script.
|
count = 0
|
||||||
print(f'Hi, {name}') # Press Strg+F8 to toggle the breakpoint.
|
instantclient_path = r"\\195.243.223.3\sivas_schreiben\jit\oracle\bin\x64"
|
||||||
|
conn = JitOracleConnection(db_host='195.243.223.3', db_sid='linux', db_user='sivas', db_pwd='forte',
|
||||||
|
db_database='sivas', instantclient_dir=instantclient_path, tns_admin=None, app=None,
|
||||||
|
init_oracle_client=True)
|
||||||
|
|
||||||
|
if not conn:
|
||||||
|
return
|
||||||
|
|
||||||
|
if "SIVAS_EXCEL_EXPORT_DIR" in os.environ:
|
||||||
|
excel_export_dir = os.environ["SIVAS_EXCEL_EXPORT_DIR"]
|
||||||
|
else:
|
||||||
|
excel_export_dir = os.path.join(os.path.join(os.environ['USERPROFILE']), 'Desktop')
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser(description='Ein Tool, um Daten aus dem SIVAS-Teilestamm in eine Excel-Datei zu exportieren. Es können mit dem Parameter TEILENR 1...n Teilenummern angegeben werden. Das Verzeichnis in welches die CSV-Dateien exportiert werden muss als Umgebungsvariable SIVAS_EXCEL_EXPORT_DIR definiert werden. Falls nicht spezifiziert, wird auf den Desktop exportiert. Beispielaufruf: KSbExcelExportSivasTeilestamm.exe TEILENR=4711,0815,1234')
|
||||||
|
parser.add_argument('-teilenr', dest='para_teilenr', help='Kommaseparierte liste von Artikelnummern')
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if not args.para_teilenr:
|
||||||
|
print("Fehler beim Auslesen des Teilenummern Parameters.")
|
||||||
|
return
|
||||||
|
|
||||||
|
teilenummern = [s.strip() for s in args.para_teilenr.split(",")]
|
||||||
|
for teilenr in teilenummern:
|
||||||
|
o_fehler = conn.cursor_var(str)
|
||||||
|
retval = conn.call('sivas.excel_ueb.konserve_ausfuehren', {"i_lfdnr": 500,
|
||||||
|
"i_param1": teilenr,
|
||||||
|
"o_fehler": o_fehler})
|
||||||
|
|
||||||
|
if not retval:
|
||||||
|
print(f"Fehler beim Export der Teilenummer {teilenr}: {o_fehler.getvalue()}")
|
||||||
|
return
|
||||||
|
|
||||||
|
writer = csv.writer(open(os.path.join(excel_export_dir, f"{teilenr}.csv"), "w", newline='', encoding='utf-8'), delimiter=";")
|
||||||
|
|
||||||
|
sql = """select zeile
|
||||||
|
from excel_ergebnis
|
||||||
|
order by lfdnr"""
|
||||||
|
zeilen = conn.query(sql)
|
||||||
|
for zeile in zeilen:
|
||||||
|
zeile_writable = zeile["ZEILE"].replace('\t', ';').lstrip('\"').rstrip('\"')
|
||||||
|
writer.writerow([zeile_writable])
|
||||||
|
|
||||||
|
count = count + 1
|
||||||
|
print(f"{teilenr}.csv exportiert nach {excel_export_dir}")
|
||||||
|
|
||||||
|
conn.connection().close()
|
||||||
|
|
||||||
|
if count > 0:
|
||||||
|
print(f"Alle Teile exportiert nach {excel_export_dir}")
|
||||||
|
os.startfile(excel_export_dir)
|
||||||
|
else:
|
||||||
|
print("Nichts exportiert")
|
||||||
|
|
||||||
# Press the green button in the gutter to run the script.
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
print_hi('PyCharm')
|
main()
|
||||||
|
|
||||||
# See PyCharm help at https://www.jetbrains.com/help/pycharm/
|
|
||||||
Reference in New Issue
Block a user