import tkinter as tk from tkinter import ttk from tkinter import * #导入tkinter from tkinter import messagebox #引入弹出框 #from typing import Any, Union import pymysql #导入pymysql from pymysql.cursors import Cursor #导入游标 from hashlib import sha1 #导入hashlib,引用函数 from PIL import Image #图像缩放 from tkinter import Scrollbar from tkinter.ttk import Treeview import datetime window=tk.Tk() window.title('生产部产品生产单-生产部') window.geometry('1200x600-100-100') window['bg'] = 'Beige' window.resizable(False, False)#不允许改变窗口大小 class YLCG: def __init__(self,window): self.conn = pymysql.Connect( host='localhost', port=3306, user='root', passwd='12345', db='库存与存货系统', charset="utf8" ) #Label YLCG_name_Label=tk.Label(window,text='生产部产品生产单',font=('Arial',25),bg= 'Beige') YLCG_name_Label.place(x=350,y=15) YLCG_id_Label=tk.Label(window,text='生产单号:',font=('Arial',12),bg= 'Beige') YLCG_id_Label.place(x=100,y=80) YLCG_date_Label=tk.Label(window,text='备注:',font=('Arial',12),bg= 'Beige') YLCG_date_Label.place(x=300,y=120) YLCG_WareHouse_Label=tk.Label(window,text='生产环境:',font=('Arial',12),bg= 'Beige') YLCG_WareHouse_Label.place(x=500,y=80) YLCG_Department_Label=tk.Label(window,text='部门:',font=('Arial',12),bg= 'Beige') YLCG_Department_Label.place(x=132,y=120) YLCG_reference_Label=tk.Label(window,text='生产日期:',font=('Arial',12),bg= 'Beige') YLCG_reference_Label.place(x=300,y=83) YLCG_ZhiDanRen_Label = tk.Label(window, text='制单人:', font=('Arial', 12),bg= 'Beige') YLCG_ZhiDanRen_Label.place(x=100, y=450) #详细 frame = tk.Frame(window) # 锁定框架 frame.place(x=85, y=200, width=620, height=230) scrollBarx = tk.Scrollbar(frame, orient='horizontal') # 定义滑动条 scrollBarx.pack(side=tk.BOTTOM, fill=tk.X) scrollBary = tk.Scrollbar(frame) scrollBary.pack(side=tk.RIGHT, fill=tk.Y) tree = ttk.Treeview(frame, show="headings", xscrollcommand=scrollBarx.set, yscrollcommand=scrollBary.set) scrollBarx['command'] = tree.xview # 根据视图x移动 scrollBary['command'] = tree.yview # 根据视图y移动 tree['columns'] = ('原材料编码', '原材料名字', '原材料类别', '原材料数目', '成品编码', '成品名称','成品类别','成品数量', '成品价格', '成品主计量', '生产时间', '生产批号', '产品描述', '颜色', '硬度') tree.column('原材料编码', width=120, anchor='center') tree.column('原材料名字', width=120, anchor='center') tree.column('原材料类别', width=120, anchor='center') tree.column('原材料数目', width=120, anchor='center') tree.column('成品编码', width=120, anchor='center') tree.column('成品名称', width=120, anchor='center') tree.column('成品类别', width=120, anchor='center') tree.column('成品价格', width=120, anchor='center') tree.column('成品数量', width=120, anchor='center') tree.column('成品主计量', width=120, anchor='center') tree.column('生产时间', width=120, anchor='center') tree.column('生产批号', width=120, anchor='center') tree.column('产品描述', width=120, anchor='center') tree.column('颜色', width=120, anchor='center') tree.column('硬度', width=120, anchor='center') tree.heading('原材料编码', text='原材料编码') tree.heading('原材料名字', text='原材料名字') tree.heading('原材料类别', text='原材料类别') tree.heading('原材料数目', text='原材料数目') tree.heading('成品编码', text='成品编码') tree.heading('成品名称', text='成品名称') tree.heading('成品类别', text='成品类别') tree.heading('成品价格', text='成品价格') tree.heading('成品数量', text='成品数量') tree.heading('成品主计量', text='成品主计量') tree.heading('生产时间', text='生产时间') tree.heading('生产批号', text='生产批号') tree.heading('产品描述', text='产品描述') tree.heading('颜色', text='颜色') tree.heading('硬度', text='硬度') tree.insert('', 'end', values=('', '', '', '', '', '', '', '', '', '', '', '', '', '', '')) def view_material(): cursor = self.conn.cursor() #从数据库选数据 cursor.execute("select * from material_shengchanlinshi ") self.conn.commit() data = cursor.fetchall() print(data[0][0]) cursor = self.conn.cursor() #取行数 cursor.execute("select count(*) from material_shengchanlinshi ") row1 = cursor.fetchall() self.conn.commit() row = row1[0][0] int(row) print(row) #产品生产代码 for i in range(row): #ojbk if data[i][0]=='A1': A_1= 10001 #生产不同产品 A_2='肠炎宁' A_3='胃药类' A_4=19 A_5=data[i][3]/2 A_6='盒' A_7=nowTime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') A_8=1123 A_9='小药丸' A_10='褐色' A_11=0.9 tree.insert('', 'end', values=(data[i][0], data[i][1], data[i][2], data[i][3], A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10,A_11)) cursor = self.conn.cursor() sql = "INSERT INTO linshishengchan(ID, Name,Category,Num, A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10,A_11) VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s');" % ( data[i][0], data[i][1], data[i][2], data[i][3], A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10, A_11) # 插入数据 cursor.execute(sql) self.conn.commit() if data[i][0]=='A2': A_1= 10002 #生产不同产品 A_2='急支糖浆' A_3='咽喉类' A_4=45 A_5=data[i][3]/10 A_6='瓶' A_7=nowTime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') A_8=1126 A_9='浓稠状黄褐色液体' A_10='黄褐色' A_11=0.2 tree.insert('', 'end', values=(data[i][0], data[i][1], data[i][2], data[i][3], A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10,A_11)) cursor = self.conn.cursor() sql = "INSERT INTO linshishengchan(ID, Name,Category,Num, A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10,A_11) VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s');" % ( data[i][0], data[i][1], data[i][2], data[i][3], A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10, A_11) # 插入数据 cursor.execute(sql) self.conn.commit() if data[i][0]=='A3': A_1= 10003 #生产不同产品 A_2='999感冒灵' A_3='感冒类' A_4=21 A_5=data[i][3]/5 A_6='盒' A_7=nowTime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') A_8=1124 A_9='粉末状颗粒' A_10='褐色' A_11=0.4 tree.insert('', 'end', values=(data[i][0], data[i][1], data[i][2], data[i][3], A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10,A_11)) cursor = self.conn.cursor() sql = "INSERT INTO linshishengchan(ID, Name,Category,Num, A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10,A_11) VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s');" % ( data[i][0], data[i][1], data[i][2], data[i][3], A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10, A_11) # 插入数据 cursor.execute(sql) self.conn.commit() if data[i][0]=='A4': A_1= 10004 #生产不同产品 A_2='维生素A' A_3='维生素类' A_4=66 A_5=data[i][3]/5 A_6='瓶' A_7=nowTime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') A_8=1123 A_9='青绿色含片' A_10='青绿色' A_11=8 tree.insert('', 'end', values=(data[i][0], data[i][1], data[i][2], data[i][3], A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10,A_11)) cursor = self.conn.cursor() sql = "INSERT INTO linshishengchan(ID, Name,Category,Num, A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10,A_11) VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s');" % ( data[i][0], data[i][1], data[i][2], data[i][3], A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10, A_11) # 插入数据 cursor.execute(sql) self.conn.commit() if data[i][0]=='A5': A_1= 10005 #生产不同产品 A_2='六味地黄丸' A_3='保健类' A_4=109 A_5=data[i][3]/8 A_6='瓶' A_7=nowTime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') A_8=1129 A_9='小药丸' A_10='褐色' A_11=7 tree.insert('', 'end', values=(data[i][0], data[i][1], data[i][2], data[i][3], A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10,A_11)) cursor = self.conn.cursor() sql = "INSERT INTO linshishengchan(ID, Name,Category,Num, A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10,A_11) VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s');" % ( data[i][0], data[i][1], data[i][2], data[i][3], A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10, A_11) # 插入数据 cursor.execute(sql) self.conn.commit() if data[i][0]=='A6': A_1= 10006 #生产不同产品 A_2='健胃消食片' A_3='饮食类' A_4=109 A_5=data[i][3]/8 A_6='瓶' A_7=nowTime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') A_8=1129 A_9='小药丸' A_10='淡褐色' A_11=7 tree.insert('', 'end', values=(data[i][0], data[i][1], data[i][2], data[i][3], A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10,A_11)) cursor = self.conn.cursor() sql = "INSERT INTO linshishengchan(ID, Name,Category,Num, A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10,A_11) VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s');" % ( data[i][0], data[i][1], data[i][2], data[i][3], A_1, A_2, A_3, A_4, A_5, A_6, A_7, A_8, A_9, A_10, A_11) # 插入数据 cursor.execute(sql) self.conn.commit() def sub_material(): #开始生产 window.quit() #退出 tk.Button(window, text='确定出库', width=10, height=1, command=sub_material,bg= 'LemonChiffon').place(x=500, y=440) #临时材料表变为空 tk.Button(window, text='查看', width=10, height=1, command=view_material, bg='LemonChiffon').place(x=350, y=440) #显示生产的原材料和对应的产品信息 tree.pack() def __Entry(self,window): YLCG_MaterialID_Entry=tk.Entry(window,width=15) #出库单号 YLCG_MaterialID_Entry.place(x=175,y=83) YLCG_MaterialName_Entry=tk.Entry(window,width=17) #日期 YLCG_MaterialName_Entry.place(x=375,y=83) nowTime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 现在时间 YLCG_MaterialName_Entry.insert('end', nowTime) YLCG_M_Category_Entry=tk.Entry(window,width=15) #出库仓库 YLCG_M_Category_Entry.place(x=575,y=83) YLCG_M_Category_Entry.insert('end', '低温干燥') YLCG_MateriralNum_Entry=tk.Entry(window,width=15) #部门 YLCG_MateriralNum_Entry.place(x=175,y=123) YLCG_MateriralNum_Entry.insert('end', '生产部') YLCG_date_Entry = tk.Entry(window, width=47) YLCG_date_Entry.place(x=350, y=120) #备注 YLCG_SupplierID_Entry = tk.Entry(window, width=15) #制单人 YLCG_SupplierID_Entry.place(x=170, y=450) def show(self,window): self.__Entry(window) window.mainloop() YLCG=YLCG(window) YLCG.show(window) window.mainloop()
生产部产品生产单
最新推荐文章于 2021-01-17 15:23:47 发布