소스 검색

上傳檔案到 'updata_mysql'

fatwolf 3 년 전
부모
커밋
543fb683b5
8개의 변경된 파일617개의 추가작업 그리고 0개의 파일을 삭제
  1. 212 0
      updata_mysql/app.py
  2. 164 0
      updata_mysql/app_old.py
  3. 45 0
      updata_mysql/bom.html
  4. 21 0
      updata_mysql/check.html
  5. 47 0
      updata_mysql/check1.html
  6. 9 0
      updata_mysql/index.html
  7. 41 0
      updata_mysql/modify.html
  8. 78 0
      updata_mysql/update.html

+ 212 - 0
updata_mysql/app.py

@@ -0,0 +1,212 @@
+from flask import Flask, render_template,request,url_for, redirect
+import pymysql
+import pandas as pd
+import csv
+import time
+
+app = Flask(__name__)
+
+conn = pymysql.connect(
+    host='127.0.0.1',
+    user='root',
+    password='g53743001',
+    db='erp',
+    charset='utf8'
+)
+
+
+@app.route('/')
+def index():
+    return render_template('index.html')
+
+#新增資料
+@app.route('/add_Nu',methods=['POST', 'GET'])
+def form():
+    cur = conn.cursor()
+
+    sql2 = "SELECT * FROM 會計科目表"
+    cur.execute(sql2)
+    會計科目 = cur.fetchall()
+
+    sql3 = "SELECT * FROM 類別表"
+    cur.execute(sql3)
+    類別 = cur.fetchall()
+
+    sql4 = "SELECT * FROM 供應商"
+    cur.execute(sql4)
+    供應商 = cur.fetchall()
+
+    sql5 = "SELECT 名稱 FROM 零件表"
+    cur.execute(sql5)
+    名稱 = cur.fetchall()
+
+    if request.method == 'POST':
+    
+        會計科目 = request.form['會計科目']
+        類別 = request.form['類別']
+        供應商 = request.form['供應商']
+
+
+        cur = conn.cursor()
+        sql6 = "select 流水號 from 零件表 WHERE"
+        sql7 = 'order by 流水號 desc limit 1'
+        if 會計科目 != '' and 類別 != '':
+            sql6 += ' 會計科目 = \'' + 會計科目 + '\' ' 'AND' ' 類別 = \'' + 類別 +'\''
+            data = sql6 + sql7
+        #"select 流水號 from 零件表 WHERE `會計科目` = '04' AND `類別` = '01' order by 流水號 desc limit 1"
+
+            print(data)
+            cur.execute(data)
+            流水號 = cur.fetchone()
+            print('查詢後流水號:',流水號)
+            if 流水號 == None:
+                流水號 = int('0000')+1
+                流水號 = '{0:04}'.format(流水號)
+                print('+1後流水號:',流水號)
+            else :
+                流水號 = int(流水號[0]) + 1
+                print('+1後流水號:',流水號)
+                流水號 = '{0:04}'.format(流水號)
+
+        內部料號 = str(會計科目)+str(類別)+str(流水號)+str(供應商)
+        print(內部料號)
+
+        名稱 = request.form['名稱']
+        原廠料號 = request.form['原廠料號']
+        尺寸 = request.form['尺寸']
+        封裝材質 = request.form['封裝/材質']
+        工作電壓 = request.form['工作電壓']
+        工作電流 = request.form['工作電流']
+        功率 = request.form['功率']
+        最大電流 = request.form['最大電流']
+        工作溫度 = request.form['工作溫度']
+        print(名稱,原廠料號,尺寸,封裝材質,工作電壓,工作電流,功率,最大電流,工作溫度)
+        print(內部料號)
+
+
+        if 會計科目 != '' and 類別 != '' and 流水號 !='' and 供應商 != '' and 名稱 !='':
+            cur = conn.cursor()
+            cur.execute(' INSERT INTO 零件表 VALUES(%s,%s,%s,%s,%s,%s)'
+                           ,(內部料號,會計科目, 類別, 流水號,供應商, 名稱))
+            conn.commit()
+            cur.close()
+        else:
+            print('都沒輸入,直接略過')
+            pass
+
+        if 名稱 != ''and 原廠料號 != ''and 尺寸 != '' and 封裝材質 !='' and 工作電壓 != '' and 工作電流 !=''and 功率 !='' and 最大電流 !='' and 工作溫度 !='':
+            cur = conn.cursor()
+            sql1 = "INSERT INTO 規格表 VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')"%(內部料號,名稱,原廠料號,尺寸, 封裝材質, 工作電壓, 工作電流, 功率, 最大電流, 工作溫度)
+            cur.execute(sql1)
+            conn.commit()
+            cur.close()
+        else:
+            print('都沒輸入,直接略過')
+            pass
+
+        return render_template('update.html',**locals())
+
+    return render_template('update.html',**locals())
+
+
+
+@app.route('/bom/')
+def bom():
+    return render_template('bom.html')
+
+#改資料
+@app.route('/modify/',methods=['POST', 'GET'])
+def modify():
+
+    cur = conn.cursor()
+    sql = "SELECT 內部料號,名稱 FROM 規格表"
+    cur.execute(sql)
+    內部料號 = cur.fetchall()
+    #內部料號 = [g for g in 內部料號]
+
+    if request.method == 'POST':
+    
+        內部料號 = request.form['內部料號']
+        名稱 = request.form['名稱']
+        原廠料號 = request.form['原廠料號']
+        尺寸 = request.form['尺寸']
+        封裝材質 = request.form['封裝/材質']
+        工作電壓 = request.form['工作電壓']
+        工作電流 = request.form['工作電流']
+        功率 = request.form['功率']
+        最大電流 = request.form['最大電流']
+        工作溫度 = request.form['工作溫度']
+
+
+        if 內部料號 != '' and 名稱 != ''and 原廠料號 != ''and 尺寸 != '' and 封裝材質 !='' and 工作電壓 != '' and 工作電流 !=''and 功率 !='' and 最大電流 !='' and 工作溫度 !='':
+            cur = conn.cursor()
+            sql = "update 規格表 set 名稱='%s',原廠料號='%s',尺寸='%s',`封裝/材質`='%s',工作電壓='%s',工作電流='%s',功率='%s',最大電流='%s',工作溫度='%s'"" where 內部料號='%s'"\
+                  %(名稱,原廠料號,尺寸, 封裝材質, 工作電壓, 工作電流, 功率, 最大電流, 工作溫度, 內部料號[2:13])
+            cur.execute(sql)
+            conn.commit()
+            cur.close()
+        else:
+            print('都沒輸入,直接略過')
+            pass
+
+        return render_template('index.html')
+
+    return render_template('modify.html',內部料號=內部料號)
+
+#查資料
+@app.route('/check/', methods=['GET', 'POST'])
+def check():
+    cur = conn.cursor()
+    # 獲取欄位名稱
+    sql = "select 內部料號,名稱 from 規格表 "
+    cur.execute(sql)
+    labels = cur.fetchall()
+    print(labels)
+    labels = [g for g in labels]
+
+    if request.method == 'POST':
+        sql = "SHOW FIELDS FROM `規格表`"
+        cur.execute(sql)
+        labels = cur.fetchall()
+        labels = [g[0] for g in labels]
+
+        global t
+        t = request.values['Test']
+        #t = t[2:13]
+
+        print(t[2:13])
+        cur = conn.cursor()
+        # 獲取欄位資料
+        cur.execute("""select * from `規格表` WHERE 內部料號 = {}""".format(repr(t[2:13])))
+        content = cur.fetchall()
+        print(content)
+
+
+
+        return render_template('check1.html', labels=labels,content=content)
+
+    return render_template('check.html', labels=labels)
+
+#刪除資料
+@app.route('/del_data/', methods=['GET', 'POST'])
+def del_data():
+    if request.method == 'POST':
+        print('內部料號:',t[2:13])
+        cur = conn.cursor()
+        sql1 = "DELETE FROM `規格表` WHERE `內部料號` = {}".format(repr(t[2:13]))
+        cur.execute(sql1)
+        cur.close()
+        print(sql1)
+        cur = conn.cursor()
+        sql2 = "DELETE FROM `零件表` WHERE `內部料號` = {}".format(repr(t[2:13]))
+        cur.execute(sql2)
+        cur.close()
+        print(sql2)
+        
+
+        
+    return render_template('index.html')
+
+
+if __name__ == '__main__':
+    app.run(debug=True,port=5050)

+ 164 - 0
updata_mysql/app_old.py

@@ -0,0 +1,164 @@
+from flask import Flask, render_template,request,url_for, redirect
+import pymysql
+import pandas as pd
+import csv
+
+
+app = Flask(__name__)
+
+conn = pymysql.connect(
+    host='127.0.0.1',
+    user='root',
+    password='g53743001',
+    db='erp',
+    charset='utf8'
+)
+
+
+@app.route('/')
+def index():
+    return render_template('index.html')
+
+
+@app.route('/submit/')
+def form():
+    return render_template('update.html')
+
+#新增產品清單內容
+@app.route('/add_Nu', methods=['POST', 'GET'])
+def add_Nu():
+
+    if request.method == 'POST':
+    
+        會計科目 = request.form['會計科目']
+        名稱1 = request.form['名稱1']
+        類別 = request.form['類別']
+        名稱2 = request.form['名稱2']
+        廠商 = request.form['廠商']
+        名稱3 = request.form['名稱3']
+        if 會計科目 == '' and 名稱1 == '' and 類別 == '' and 名稱2 == ''and 廠商 == ''and 名稱3 == '':
+            print('都沒輸入,直接略過')
+            pass
+        else:
+            if 會計科目 != '' and 名稱1 != '':
+                cur = conn.cursor()
+
+                cur.execute(''' INSERT INTO accounting_subjects VALUES(%s,%s)'''
+                               ,(會計科目, 名稱1))
+                conn.commit()
+                cur.close()
+            else:
+                print('accounting_subjects error')
+            if 類別 != '' and 名稱2 != '':
+                cur = conn.cursor()
+
+                cur.execute(''' INSERT INTO category VALUES(%s,%s)'''
+                               ,(類別, 名稱2))
+                conn.commit()
+                cur.close()
+            else:
+                print('category error')
+            if 廠商 != ''and 名稱3 != '':
+                cur = conn.cursor()
+
+                cur.execute(''' INSERT INTO company VALUES(%s,%s)'''
+                               ,(廠商, 名稱3))
+                conn.commit()
+                cur.close()
+            else:
+                print('company error')
+                
+    return render_template('index.html')
+
+
+@app.route('/check/', methods=['GET', 'POST'])
+def check():
+    cur = conn.cursor()
+    # 獲取欄位名稱
+    sql = "select concat(會計科目,類別,流水號,供應商),名稱 from parts_list ORDER BY concat(會計科目,類別,流水號,供應商) ASC"
+    cur.execute(sql)
+    labels = cur.fetchall()
+    print(labels)
+    labels = [g for g in labels]
+
+    if request.method == 'POST':
+        sql = "SHOW FIELDS FROM parts_list"
+        cur.execute(sql)
+        labels = cur.fetchall()
+        labels = [g[0] for g in labels]
+
+        t = request.values['Test']
+        #t = t[2:13]
+        print(t)
+        #cur = conn.cursor()
+        # 獲取欄位資料
+        cur.execute("""select * from parts_list WHERE concat(會計科目,類別,流水號,供應商) = {}""".format(repr(t[2:13])))
+        content = cur.fetchall()
+        print(content)
+        sql1 = "SELECT 名稱 FROM parts_list"
+        cur.execute(sql1)
+        pdname = cur.fetchall()
+        pdname = [g for g in pdname]
+
+        sql2 = "SELECT * FROM accounting_subjects"
+        cur.execute(sql2)
+        accounting_subjects = cur.fetchall()
+        accounting_subjects = [g for g in accounting_subjects]
+
+        sql3 = "SELECT * FROM category"
+        cur.execute(sql3)
+        category = cur.fetchall()
+        category = [g for g in category]
+
+        sql4 = "SELECT * FROM company"
+        cur.execute(sql4)
+        company = cur.fetchall()
+        company = [g for g in company]
+
+        return render_template('check1.html', content=content, labels=labels,pdname=pdname,accounting_subjects=accounting_subjects,category=category,company=company)
+
+    return render_template('check.html', labels=labels)
+
+
+@app.route('/update/')
+def update():
+    # 獲取頁面輸入內容,提供給sql使用
+    userinfoId = request.args.get('userinfoId')
+    name = request.args.get('name')  # 更新後的數據返回到頁面上面顯示
+    # return render_template('update.html')
+
+
+# 修改資料庫資料
+@app.route('/updateaction/', methods=['POST'])
+def updateaction():
+    cur = conn.cursor()
+    params = request.args if request.method == 'GET' else request.form
+
+    serial_number = params.get('serial_number')
+    pdname = params.get('pdname')
+    accounting_subjects = params.get('accounting_subjects')
+    category = params.get('category')
+    company = params.get('company')
+    print(pdname)
+    print(accounting_subjects[2:4])
+    print(category[2:4])
+    print(company[2:4])
+
+    sql = "update parts_list set 會計科目='%s',類別='%s',供應商='%s',名稱='%s'"" where 流水號='%s'" \
+          %(accounting_subjects[2:4], category[2:4], company[2:4], pdname, serial_number)  # 執行插入操作
+
+    cur.execute(sql)
+    conn.commit()
+
+   
+
+
+    return render_template('index.html')  # 返回更新後的數據,確認是否更新成功
+
+
+
+
+
+
+if __name__ == '__main__':
+    app.run(debug=True,host='0.0.0.0',port=5050)

+ 45 - 0
updata_mysql/bom.html

@@ -0,0 +1,45 @@
+<!DOCTYPE html>
+<html lang="en">
+<script type="text/javascript" src="https://code.jquery.com/jquery-3.6.0.min.js"></script> 
+<head>
+
+</head>
+
+
+<body>
+	<br>
+
+		
+		<table id="mt" border="1" cellpadding="5" cellspacing="0">
+		  <thead>
+		    <th>產品編號</th>
+		    <th>產品名稱</th>
+		  </thead>
+		  <tbody></tbody>
+          <p><input type = "button" id="add" value = "新增"  /></p>
+          <p><input type = "button" id="del" value = "刪除"  /></p>
+
+		</table>
+		
+		
+	<script type="text/javascript">
+        var tag = 1;
+        
+		$(function(){
+		  $("#add").click(function(){
+		      $('#mt tbody').append('<tr><td>A0000'+tag+'</td><td><input type = "text"/></td></tr>');
+		    tag++;
+		   });
+		  $("#del").click(function(){
+		      $("#mt tbody tr:last").remove();
+		  });
+		  
+		})
+
+    </script>
+
+
+
+</body>
+
+</html>

+ 21 - 0
updata_mysql/check.html

@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+</head>
+<link rel="stylesheet" href="{{ url_for('static',filename='css/ul.css') }}">
+
+<body>
+
+<form action="{{ url_for('check') }}" method="POST">
+  <select name="Test">
+    <tr>
+    {% for i1 in labels %}
+    <option>{{i1}}</option>
+    {% endfor %}
+    </tr>
+
+  </select>
+  <button type='submit'>Submit</button>
+</form>
+</body>
+</html>

+ 47 - 0
updata_mysql/check1.html

@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+<style>
+table, th, td {
+  border:1px solid black;
+}
+</style>
+
+
+<body>
+
+
+<form>
+<table class="table table-bordered">
+    <tr>
+        
+      {% for i1 in labels %}
+        <th>{{i1}}</font></th>
+      {% endfor %}       
+    </tr>
+
+      {% for i in content %}
+      <tr>
+        <td>{{ i[0] }}</td>
+        <td>{{ i[1] }}</td>
+        <td>{{ i[2] }}</td>
+        <td>{{ i[3] }}</td>
+        <td>{{ i[4] }}</td>
+        <td>{{ i[5] }}</td>
+        <td>{{ i[6] }}</td>
+        <td>{{ i[7] }}</td>
+        <td>{{ i[8] }}</td>
+        <td>{{ i[9] }}</td>
+      </tr>
+    {% endfor %}
+    </table>
+</form>
+
+    <br>
+    <br>
+
+    <form action="{{ url_for('del_data') }}" method="post"> 
+        <input type="submit" name = "del" value="刪除這筆資料"> 
+    </form> 
+
+</body>
+</html>

+ 9 - 0
updata_mysql/index.html

@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<html>
+<head>
+	<title>fatwolf</title>
+</head>
+<body>
+hello
+</body>
+</html>

+ 41 - 0
updata_mysql/modify.html

@@ -0,0 +1,41 @@
+<!DOCTYPE html>
+<html>
+<head>
+	<meta charset="utf-8">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<title></title>
+</head>
+<body>
+<form action='/modify/' method="post"> 
+
+            內部料號 <input list="內部料號" name="內部料號"></label>
+            <datalist id="內部料號">
+                {% for i in 內部料號 %}
+                    <option value="{{i[0]}}">{{i[0]}}-{{i[1]}}</option>
+                {% endfor %}
+
+            </datalist>
+            <br>
+            名稱(可修改): <input type="text" name="名稱" value=""/>
+            <br> 
+            原廠料號(可修改): <input type="text" name="原廠料號" value=""/>
+            <br> 
+            尺寸(可修改): <input type="text" name="尺寸" value=""/>
+            <br> 
+            封裝/材質(可修改): <input type="text" name="封裝/材質" value=""/>
+            <br> 
+            工作電壓(可修改): <input type="text" name="工作電壓" value=""/> 
+            <br>
+            工作電流(可修改): <input type="text" name="工作電流" value=""/> 
+            <br>
+            功率(可修改): <input type="text" name="功率" value=""/> 
+            <br>
+            最大電流(可修改): <input type="text" name="最大電流" value=""/>
+            <br> 
+            工作溫度(可修改): <input type="text" name="工作溫度" value=""/>
+            <br> 
+    
+        <input type="submit" value="update"> 
+    </form> 
+</body>
+</html>

+ 78 - 0
updata_mysql/update.html

@@ -0,0 +1,78 @@
+<!DOCTYPE html>
+<html lang="en">
+
+
+
+<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
+<body>
+	<h1>新增零件資料</h1>
+
+	
+<form action="/add_Nu" method = "POST">
+	
+	
+	會計科目:
+            <select  name="會計科目">
+                <option value="00"></option>
+                {% for i in 會計科目 %}
+                    <option value="{{i[0]}}">{{i[0]}}-{{i[1]}}</option>
+                {% endfor %}
+
+            </select>
+            <br>
+    類別: 
+            <select  name="類別">
+                <option value="00"></option>
+                {% for i in 類別 %}
+                    <option value="{{i[0]}}">{{i[0]}}-{{i[1]}}</option>
+                {% endfor %}
+
+            </select>
+            <br>
+	供應商: 
+            <select  name="供應商">
+                <option value="00"></option>
+                {% for i in 供應商 %}
+                    <option value="{{i[0]}}">{{i[0]}}-{{i[1]}}</option>
+                {% endfor %}
+
+            </select>
+            <br>
+    名稱:
+        <input list="名稱" name="名稱">
+        <datalist id="名稱">
+            <option value=""></option>
+            {% for i in 名稱 %}
+                <option value="{{i[0]}}">{{i[0]}}</option>
+            {% endfor %}
+        </datalist>
+        
+	<br>
+    原廠料號(可修改): <input type="text" name="原廠料號" value=""/>
+    <br> 
+    尺寸(可修改): <input type="text" name="尺寸" value=""/>
+    <br> 
+    封裝/材質(可修改): <input type="text" name="封裝/材質" value=""/>
+    <br> 
+    工作電壓(可修改): <input type="text" name="工作電壓" value=""/> 
+    <br>
+    工作電流(可修改): <input type="text" name="工作電流" value=""/> 
+    <br>
+    功率(可修改): <input type="text" name="功率" value=""/> 
+    <br>
+    最大電流(可修改): <input type="text" name="最大電流" value=""/>
+    <br> 
+    工作溫度(可修改): <input type="text" name="工作溫度" value=""/>
+    <br> 
+	<p><input type = "submit" name = '新增' value="新增" /></p>
+
+</form>
+內部料號<input name="內部料號"  readonly value="{{內部料號}}">
+流水號<input name="流水號"  readonly value="{{流水號}}">
+
+<!--新增的規格<input name="新增的規格"  readonly value="{{名稱}}-{{原廠料號}}-{{尺寸}}-{{封裝材質}}-{{工作電壓}}-{{工作電流}}-{{功率}}-{{最大電流}}-{{工作溫度}}">-->
+
+</body>
+
+
+</html>