wincc报表日报表实例_工作系统二次开发二Python加工原膜切割日报表数据实例
#工作系統二次開發二Python加工原膜切割日報表數據實例
#當查詢一個或多個工作令后在表格展示數據前按要求對數據進行二次處理,處理要求看如下
#1、加工單號和母卷物料編號相同則把除第一行外的領料有關的數量變成0
#2、加工單號和成品行號相同則把除第一行外的生產數量,平方數
#3、加工單號相同把除第一行外的效率統計字段清零
#引入庫文件
import json
import spam
data = [[data]]; #[data]是獲取當前表單所查詢據,[[data]]聲明并生成json對象
strMInfo = ""; #存放上一行加工單號和生產成品行號
strPInfo = ""; #存放上一行加工單號和生產領料行號
strSheetinfo = "" #單據編號
strSaveM = ""; #存放單據編號+生產成品數據行號
strSaveD = ""; #存放加工單號和生產領料行號
strM002 = ""; #單據編號
reccount = data.__len__(); #取得json對象的長度
for index in xrange(reccount): #for 循環
#data[index]["D014"] = data[index]["D014"] + "修改了內容";
strSheetinfo = data[index]["M002"];
strMInfo = strSheetinfo + str(data[index]["D009"]);
strPInfo = strSheetinfo + str(data[index]["M009"]);
if(strSaveM == strMInfo) or (strSaveM.find(strMInfo+"/") != -1) or (strSaveM.find("/" + strMInfo) != -1): #加工單號和母卷物料編號相同則把領料有關的數量變成0
data[index]["M602"] = "0";
data[index]["M604"] = "0";
data[index]["D027"] = "0";
data[index]["M608"] = "0";
data[index]["M605"] = "0";
data[index]["M607"] = "0";
else:
if(strSaveM == ""):
strSaveM = strMInfo;
else:
strSaveM = strSaveM + "/" + strMInfo;
if(strSaveD == strPInfo) or (strSaveD.find(strPInfo+"/") != -1) or (strSaveD.find("/" + strPInfo) != -1): #如果切割單號和生產成品數據行號相同則把把以下成品有關的字段置零
data[index]["M603"] = "0";
data[index]["M606"] = "0";
data[index]["M812"] = "0";
else:
if(strSaveD == ""):
strSaveD = strPInfo;
else:
strSaveD = strSaveD + "/" + strPInfo;
if(strM002 == strSheetinfo) or (strM002.find(strSheetinfo+"/") != -1) or (strM002.find("/" + strSheetinfo) != -1): //同一張切割單把以下統計字段置零
data[index]["M504"] = "0";
data[index]["M501"] = "0";
data[index]["M502"] = "0";
data[index]["M503"] = "0";
else:
if(strM002 == ""):
strM002 = strSheetinfo;
else:
strM002 = strM002 + "/" + strSheetinfo;
#輸出json文本數據
#jsonTxt = json.dumps(data,ensure_ascii=False);
spam.ExecPythonAction_Clear('', 1); #清空消息文本
print "ExecPythonAction_One"; #執行某個動作函數
spam.ExecPythonActionName('', 1);
for index in range(reccount): #for 循環
print json.dumps(data[index],ensure_ascii=False); #發送編輯過的json數據
spam.ExecPythonAction_Text('', 1);
#print jsonTxt; #發送編輯過的json數據
spam.ExecPythonAction('', 1);
總結
以上是生活随笔為你收集整理的wincc报表日报表实例_工作系统二次开发二Python加工原膜切割日报表数据实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: themleft模板库_Thymelea
- 下一篇: bat启动脚本 springboot_奇