ERP-库存与存货-原料采购单
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=80) YLCG_WareHouse_Label=tk.Label(window,text='采购日期:',font=('Arial',12),bg= 'Beige')YLCG_WareHouse_Label.place(x=497,y=80)YLCG_Department_Label=tk.Label(window,text='采购部门:',font=('Arial',12),bg= 'Beige')YLCG_Department_Label.place(x=100,y=120)YLCG_reference_Label=tk.Label(window,text='备注:',font=('Arial',12),bg= 'Beige')YLCG_reference_Label.place(x=332,y=120)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'] = ('原料编码', '原料名字', '原料类别', '采购数目', '价格', '主计量', '采购时间', '生产批号', '描述', '颜色', '硬度', '供应商ID')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('供应商ID', 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('供应商ID', text='供应商ID')tree.insert('', 'end', values=('', '', '', '', '', '', '', '', '', '', '', ''))def buy_product():#数据转移 window.quit()tk.Button(window, text='采购', width=10, height=1, command=buy_product,bg= 'LemonChiffon').place(x=500, y=440)tree.pack()def treeviewClick(event):iid = tree.identify_row(event.y)xy = tree.identify_element(event.x, event.y)s = tree.selection()print(iid,xy )print(s)#元祖(x,y) if s:# var 变量 var_MaterialID_Text = tk.StringVar()var_MaterialName_Text = tk.StringVar()var_Category_Text = tk.DoubleVarvar_MaterialNum_Text = tk.StringVar()var_MaterialPrice_Text = tk.IntVar()var_MaterialCalculate_Text = tk.IntVar()var_date_Text = tk.IntVar()var_BatchNumber_Text = tk.StringVar()var_M_Specificetions_Text = tk.IntVar()var_Color_Text = tk.IntVar()var_Hard_Text = tk.IntVar()var_SupplierID_Text = tk.StringVar()product = tk.Tk()product.title('原材料货物详细')product.geometry('600x500')product['bg']='Beige' MaterialID_Label = tk.Label(product, text='原料编码:', font=('Arial', 12), bg='Beige')MaterialID_Label.place(x=100, y=20)MaterialName_Label = tk.Label(product, text='原料名字:', font=('Arial', 12), bg='Beige')MaterialName_Label.place(x=100, y=50)M_Category_Label = tk.Label(product, text='原料类别:', font=('Arial', 12), bg='Beige')M_Category_Label.place(x=100, y=80)MaterialNum_Label = tk.Label(product, text='采购数目:', font=('Arial', 12), bg='Beige')MaterialNum_Label.place(x=100, y=110)MaterialPrice_Label = tk.Label(product, text='价格:', font=('Arial', 12), bg='Beige')MaterialPrice_Label.place(x=100, y=140)MaterialCalculate_Label = tk.Label(product, text='主计量:', font=('Arial', 12), bg='Beige')MaterialCalculate_Label.place(x=100, y=170)date_Label = tk.Label(product, text='采购时间:', font=('Arial', 12), bg='Beige')date_Label.place(x=100, y=200)BatchNumber_Label = tk.Label(product, text='生产批号:', font=('Arial', 12), bg='Beige')BatchNumber_Label.place(x=100, y=230)M_Specificetions_Label = tk.Label(product, text='描述:', font=('Arial', 12), bg='Beige')M_Specificetions_Label.place(x=100, y=260)Color_Label = tk.Label(product, text='颜色:', font=('Arial', 12), bg='Beige')Color_Label.place(x=100, y=290)Hard_Label = tk.Label(product, text='硬度:', font=('Arial', 12), bg='Beige')Hard_Label.place(x=100, y=320)SupplierID_Label = tk.Label(product, text='供应商ID:', font=('Arial', 12), bg='Beige')SupplierID_Label.place(x=100, y=350)# Entry MaterialID_Entry = tk.Entry(product, width=15)MaterialID_Entry.place(x=175, y=20)MaterialName_Entry = tk.Entry(product, width=15)MaterialName_Entry.place(x=175, y=50)M_Category_Entry = tk.Entry(product, width=15)M_Category_Entry.place(x=175, y=80)MaterialNum_Entry = tk.Entry(product, width=15)MaterialNum_Entry.place(x=175, y=110)MaterialbigNum_Entry = tk.Entry(product, width=25) #最大采购量 MaterialbigNum_Entry.place(x=300, y=110)MaterialPrice_Entry = tk.Entry(product, width=15)MaterialPrice_Entry.place(x=175, y=140)MaterialCalculate_Entry = tk.Entry(product, width=15)MaterialCalculate_Entry.place(x=175, y=170)date_Entry = tk.Entry(product, width=30)date_Entry.place(x=175, y=200)BatchNumber_Entry = tk.Entry(product, width=15)BatchNumber_Entry.place(x=175, y=230)M_Specificetions_Entry = tk.Entry(product, width=15)M_Specificetions_Entry.place(x=175, y=260)Color_Entry = tk.Entry(product, width=15)Color_Entry.place(x=175, y=290)Hard_Entry = tk.Entry(product, width=15)Hard_Entry.place(x=175, y=320)SupplierID_Entry = tk.Entry(product, width=15)SupplierID_Entry.place(x=175, y=350, width=350)# 变量赋值 def look_point(): # 在列表里继续插入(原材料) # 输入编码,其余自动显示 var_MaterialID_Text = MaterialID_Entry.get()cursor = self.conn.cursor()cursor.execute("select * from material where `MaterialID`='%s'" % var_MaterialID_Text)self.conn.commit()data = cursor.fetchone()print(data[1]) # 获取到数据 var_MaterialName_Text = data[1]var_M_Category_Text = data[2]var_MateriralNum_Text = MaterialNum_Entry.get()num = data[12] - data[3]print(num)var_MaterialbigNum_Text = numvar_MaterialPrice_Text = data[4]var_MaterialCalculate_Text = data[5]var_date_Text = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 现在时间 var_BatchNumber_Text = data[7]var_M_Specificetions_Text = data[8]var_Color_Text = data[9]var_Hard_Text = data[10]var_SupplierID_Text = data[11]var_MateriralNum_Text = numMaterialName_Entry.insert('end', data[1])M_Category_Entry.insert('end', data[2])MaterialNum_Entry.insert('end', MaterialNum_Entry.get())MaterialbigNum_Entry.insert('end', '当前最大采购数量为:%d'%num)MaterialPrice_Entry.insert('end', data[4])MaterialCalculate_Entry.insert('end', data[5])date_Entry.insert('end', datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))BatchNumber_Entry.insert('end', data[7])M_Specificetions_Entry.insert('end', data[8])Color_Entry.insert('end', data[9])Hard_Entry.insert('end', data[10])SupplierID_Entry.insert('end', data[11])def insert_point(): #在列表里继续插入(原材料) #输入编码,其余自动显示 var_MaterialID_Text = MaterialID_Entry.get()cursor = self.conn.cursor()cursor.execute("select * from material where `MaterialID`='%s'" % var_MaterialID_Text )self.conn.commit()data = cursor.fetchone()print(data[1]) # 获取到数据 var_MaterialName_Text = data[1]var_M_Category_Text =data[2]var_MaterialNum_Text = MaterialNum_Entry.get()var_MaterialPrice_Text = data[4]var_MaterialCalculate_Text = data[5]var_date_Text =datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 现在时间 var_BatchNumber_Text =data[7]var_M_Specifications_Text = data[8]var_Color_Text = data[9]var_Hard_Text =data[10]var_SupplierID_Text = data[11]tree.insert('','end',values=(var_MaterialID_Text, var_MaterialName_Text,var_M_Category_Text,var_MaterialNum_Text,var_MaterialPrice_Text,var_MaterialCalculate_Text,var_date_Text, var_BatchNumber_Text, var_M_Specifications_Text,var_Color_Text,var_Hard_Text,var_SupplierID_Text))#数据插入原料入库表里 cursor = self.conn.cursor()sql = "INSERT INTO material_linshi(MaterialID, MaterialName,M_Category,MaterialNum,MaterialPrice,MaterialCalculate,date, BatchNumber, M_Specifications,Color,Hard,SupplierID) VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s');" % (var_MaterialID_Text, var_MaterialName_Text, var_M_Category_Text, var_MaterialNum_Text,var_MaterialPrice_Text, var_MaterialCalculate_Text, var_date_Text, var_BatchNumber_Text,var_M_Specifications_Text, var_Color_Text, var_Hard_Text, var_SupplierID_Text) # 插入数据 cursor.execute(sql)self.conn.commit()tk.Button(product, text='查看', width=10, height=1, command=look_point).place(x=200, y=380)tk.Button(product, text='插入', width=10, height=1, command=insert_point).place(x=300,y=380)product.mainloop()tree.bind('<Double-Button-1>',treeviewClick)def __Entry(self,window):YLCG_MaterialID_Entry=tk.Entry(window,width=15)YLCG_MaterialID_Entry.place(x=175,y=83)YLCG_MaterialNum_Entry=tk.Entry(window,width=15) #采购部门 YLCG_MaterialNum_Entry.place(x=175,y=123)YLCG_MaterialNum_Entry.insert('end', '采购部')YLCG_date_Entry = tk.Entry(window, width=30)YLCG_date_Entry.place(x=175, y=83)YLCG_M_Specificetions_Entry = tk.Entry(window, width=17)YLCG_M_Specificetions_Entry.place(x=572, y=83)nowTime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') # 现在时间 YLCG_M_Specificetions_Entry.insert('end', nowTime)YLCG_Hard_Entry = tk.Entry(window, width=15) #备注 YLCG_Hard_Entry.place(x=375, y=120, width=320)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()
ERP-库存与存货-原料采购单相关推荐
- Oracle ERP 库存管理(业务流程 核心流程) [转]
Oracle ERP 库存管理(业务流程 核心流程) [转] 库存核心业务 库存管理的核心是对货物本身的管理,是对货物的数量与相关属性的管理,目的是为销售与采购服务,确保合理的库存保有量,处理库存分类 ...
- Oracle ERP 库存管理(业务流程 核心流程)
库存核心业务 库存管理的核心是对货物本身的管理,是对货物的数量与相关属性的管理,目的是为销售与采购服务,确保合理的库存保有量,处理库存分类帐目与进出流水帐,以单据的形式基本涵盖仓库的各种进出库业务. ...
- EPICOR ERP 库存交易类型
EPICOR ERP 库存交易类型 1.ADJ-CST 记录物料成本变化,包括5种交易 (1)减少物料成本 (2)增加物料成本 (3)根据标准成本追踪采购收货.如果采购收货成本高于标准成本,采 ...
- Qt编写ERP库存库房发货电子看板
一.前言 有了之前可视化大屏电子看板系统的经验,要做这个ERP库存库房发货电子看板,可以说是水到渠成轻车熟路,技术难度比之前做过的各种大屏系统的子模块都要简单.由于库存库房发货数据的特殊性,基本上都是 ...
- 每一个合格的家庭主妇都是生产厂长的有力竞争者——ERP库存管理pandas代码示例(面试题)
欢迎关注,敬请点赞! 每一个合格的家庭主妇都是生产厂长的有力竞争者--ERP简介及代码示例 ERP简介 ERP小故事 ERP库存管理简单代码示例 导入数据 按销量排序的索引列表 分配库存量 最终结果 ...
- 电子行业erp库存管理软件有哪些功能?
随着社会信息化技术的不断深入发展, erp库存管理软件已经成为电子贸易企业必备的工具.行业想提升整体运作效率,就必须在库存管理方面下功夫,尤其是电子贸易行业,不少企业在库存管理工作混乱,导致出现库存 ...
- oracle erp的库存管理软件,教你如何充分利用ERP库存管理系统
现如今,信息化的发展已经势不可挡,企业信息化也是一股必然趋势,那么该怎么实现工业化和信息化的完美融合呢?ERP管理系统能够帮助企业完成这一目标.和传统企业管理系统不同,ERP系统的主要功能是解决管理模 ...
- 库存与存货SQL脚本
/* Navicat MySQL Data Transfer Source Server : RDZ Source Server Version : 50703 Source Host ...
- html5 报表erp案例,ERP库存管理系统报表案例分析_泛普软件
一.案例 现象1:一个产品由成百上千种物料组成,最终又可以分解为各种原辅材料,每种材料的批量和采购提前期都不相同,为了降低成本而又不影响生产,每种材料究竟应该在仓库里保存多少?这一直是企业非常关心的问 ...
最新文章
- 打牌软件可以控制吗_使用crm软件真的可以帮助企业省钱吗
- linux添加磁盘后进入grub,从硬盘安装 Linux 和从 GRUB 命令行启动操作系统
- pjax 历史管理 jQuery.History.js
- python3.x获取windows自启动程序列表
- 极致无边界!2021 神策数据 Tech-Day 即将开幕
- 步步为营-19-正则表达式的简单应用
- CRM WebClient UI outbound plug的使用
- Qt总结之七:QPaintEvent绘制雷达图(二)
- 硬盘引导扇区、多分区图、不通硬盘的LINUX逻辑分区数量
- 安卓中的乱码以及编码问题
- Apache Shiro框架简介
- 仿时钟表盘自定义view
- Drug Discov. Today | 药物发现中的先进机器学习技术
- css实现烟雾效果(css制作汽车尾气排放效果)
- ps-通道实现故障色彩效果
- wince tfp telnet
- java 调用 yed 绘制 流程图_让人一见倾心的流程图绘制软件yEd
- SLT2021: CONVERSATIONAL END-TO-END TTS FOR VOICE AGENTS
- java找最长连续号段,字符串—寻找最长连续子串
- Android后端工程师的要求,后端工程师的岗位职责和能力
热门文章
- ug908中文文档获取方式 | Xilinx
- 【MySQL 8.0 OCP 1Z0-908认证考试】题库精讲--第三讲mysql8.0安装配置升级(中)
- linux安装包为什么要编译,不解:为什么程序需要安装而不是直接放编译好的可执行文件...
- javaee期末复习选择题
- E签宝的接口对接PHP代码演示
- The reference to entity “XX“ must end with the ‘;‘ delimiter.
- R语言使用glmnet包的glmnet函数拟合lasso回归模型:使用cv.glmnet函数获取最佳lambda值、coef函数获取每个特征的系数以及截距
- 事物的传播特性以及事物的隔离界别
- 2020开年最火css效果实现
- OpenStack Victoria版——6.2计算节点-Nova计算服务组件