欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

python - ERP 软件操作自动化

最编程 2024-04-30 18:38:59
...
软件部分.png
数据部分.png

erp软件操作是个繁琐至极的工作,也许能带来整体数据的优化,但操作十分死板和无聊,通过python中pyautogui和pyopenxl两个包,可以将操作部分实现自动化,平时只需要维护基础excel表格就可以,将如我这般的基础数据工作者,从繁琐工作中解放出来。
pyautogui模块十分简单易上手,主要功能有鼠标操纵,键盘操纵和一些机器视觉的东西。它不通过更改软件本身,而是外设的操作,相当于一个熟练操作软件的人,在不停地工作。
同样,pyopenxl同样容易上手,不同于vba极限操纵excel,只需要了解一点python操作表格基础就能直接将数据写入erp软件。

代码如下:怎么样很容易吧,erp就是点点点,不停的点。简单但是枯燥,上限是熟练度与手速,当你碰到一个不成熟的erp时,会让你痛苦不已的。

import pyautogui
import time
import openpyxl
#防错设定
pyautogui.PAUSE=2
pyautogui.FAILSAFE=True
pyautogui.click(163,334)#生产制造
pyautogui.click(337,164)#流程生产任务管理
pyautogui.doubleClick(559,203)#生产报告
#excel数据准备
wb=openpyxl.load_workbook(r'E:\UC\data.xlsx')
sheet=wb.get_sheet_by_name('Sheet1')
print(sheet.cell(2,1).value)
max_row = sheet.max_row
#循环读取数据和操作pyautogui操纵uc软件
for i in range(2,max_row):
    pyautogui.click(156,135)#新增
    pyautogui.click(185,203)#选择流程生产订单

    pyautogui.click(1165,438)#制单日期向前推
    pyautogui.doubleClick(1269,466)#向前推两个月日期
    pyautogui.click(1340,441)#空点消除窗口

    pyautogui.click(1165,624)#开工日期向前推
    pyautogui.doubleClick(1269,651)#向前推两个月日期
    pyautogui.click(1340,635)#空点消除窗口

    pyautogui.click(1073,514)#产品编码
    pyautogui.typewrite(sheet.cell(i,5).value)#输入单元格内编码

    # pyautogui.hotkey('alt','y')#按下ALT+Y确定进入选单界面
    pyautogui.click(1211,796)#备选方案确定
    time.sleep(3)#选单慢等待3秒

    #选单界面
    pyautogui.click(579,321)#勾选第一个批次
    # pyautogui.click(579,321)#再次勾选第一个批次
    # pyautogui.typewrite(['enter'])#确定
    pyautogui.click(1266,852)#备选方案
    time.sleep(2)

    #完工产出
    pyautogui.doubleClick(941,336)#净完工数量生产数
    pyautogui.typewrite(str(sheet.cell(i,6).value))#写入生产数
    pyautogui.doubleClick(1032,333)#报废数量
    pyautogui.typewrite(str(sheet.cell(i,7).value))#写入报废数
    pyautogui.doubleClick(1115,333)#检废数量
    pyautogui.typewrite(str(sheet.cell(i,8).value))#写入检废数
    pyautogui.doubleClick(1300,334)#质量等级
    pyautogui.typewrite('0101')
    pyautogui.doubleClick(1416,335)#单件重量,平均重量
    pyautogui.typewrite(str(sheet.cell(i,9).value))#重量填入
    pyautogui.doubleClick(1550,336)#工作中心编码(机床)
    pyautogui.typewrite(str(sheet.cell(i,3).value))#输入机床
    pyautogui.doubleClick(1798,335)#生产部门编码
    pyautogui.typewrite(str(sheet.cell(i,2).value))#输入班组代号
    pyautogui.click(1297,242)#报产日期
    pyautogui.typewrite(str(sheet.cell(i,1).value))#输入日期
    pyautogui.click(139,135)#保存
    pyautogui.click(689,136)#审批
    time.sleep(2)#防错

    #材料计算部分
    pyautogui.click(243,292)#材料消耗
    pyautogui.click(211,136)#修改
    pyautogui.click(466,137)#计算耗用
    pyautogui.doubleClick(1067,345)#发料仓库编码
    pyautogui.typewrite('09')#一车间仓
    pyautogui.click(1172,343)#空点确认
    pyautogui.doubleClick(1066,368)#发料仓库编码
    pyautogui.typewrite('09')#一车间仓
    pyautogui.click(1190,367)#空点确认
    pyautogui.click(570,136)#重量倒挤计算
    pyautogui.click(1074,584)#确定
    pyautogui.click(137,136)#保存
    pyautogui.click(916,137)#耗用

    #作业量维护
    pyautogui.click(149,290)#完工产出
    pyautogui.click(541,136)#单击
    pyautogui.click(1406,281)#增行
    pyautogui.doubleClick(658,378)#作业编码电费
    pyautogui.typewrite('05')#电费代号
    pyautogui.doubleClick(1039,333)#实际人数
    pyautogui.typewrite(str(sheet.cell(i,10).value))
    pyautogui.doubleClick(1038,357)#实际工时
    pyautogui.typewrite(str(sheet.cell(i,11).value))#工时输入
    pyautogui.doubleClick(1035,382)#实际电费
    pyautogui.typewrite(str(sheet.cell(i,12).value))#输入电费
    pyautogui.doubleClick(471,335)#生产部门
    pyautogui.typewrite(str(sheet.cell(i,2).value))#输入生产部门
    pyautogui.click(565,335)#空点确认
    pyautogui.doubleClick(473,358)#生产部门
    pyautogui.typewrite(str(sheet.cell(i,2).value))#输入生产部门
    pyautogui.click(581,356)#空点确认
    pyautogui.doubleClick(478,378)#生产部门
    pyautogui.typewrite(str(sheet.cell(i,2).value))#输入生产部门
    pyautogui.click(573,380)#空点确认
    pyautogui.click(1133,334)#作业日期
    pyautogui.typewrite(str(sheet.cell(i,1).value))#输入日期
    pyautogui.click(1133,355)#作业日期
    pyautogui.typewrite(str(sheet.cell(i,1).value))#输入日期
    pyautogui.click(1133,380)#作业日期
    pyautogui.typewrite(str(sheet.cell(i,1).value))#输入日期
    pyautogui.click(136,137)#保存
    pyautogui.click(516,101)#作业量维护关闭

    #入库操作部分
    pyautogui.click(871,137)#执行
    pyautogui.click(881,174)#合格入库
    time.sleep(2)#弹出界面耗时防错
    pyautogui.doubleClick(1021,380)#入库仓库编码
    pyautogui.typewrite(str(sheet.cell(i,13).value))#输入仓库代号01成品,02半成品
    pyautogui.click(1120,376)#空点确认防错
    pyautogui.click(1277,670)#确定
    time.sleep(5)#等待5秒进入下次循环有时间纠错

推荐阅读