生产部产品生产单

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()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值