wincc报表日报表实例_工作系统二次开发二Python加工原膜切割日报表数据实例
#工作系統(tǒng)二次開發(fā)二Python加工原膜切割日報表數(shù)據(jù)實例
#當查詢一個或多個工作令后在表格展示數(shù)據(jù)前按要求對數(shù)據(jù)進行二次處理,處理要求看如下
#1、加工單號和母卷物料編號相同則把除第一行外的領(lǐng)料有關(guān)的數(shù)量變成0
#2、加工單號和成品行號相同則把除第一行外的生產(chǎn)數(shù)量,平方數(shù)
#3、加工單號相同把除第一行外的效率統(tǒng)計字段清零
#引入庫文件
import json
import spam
data = [[data]]; #[data]是獲取當前表單所查詢據(jù),[[data]]聲明并生成json對象
strMInfo = ""; #存放上一行加工單號和生產(chǎn)成品行號
strPInfo = ""; #存放上一行加工單號和生產(chǎn)領(lǐng)料行號
strSheetinfo = "" #單據(jù)編號
strSaveM = ""; #存放單據(jù)編號+生產(chǎn)成品數(shù)據(jù)行號
strSaveD = ""; #存放加工單號和生產(chǎn)領(lǐng)料行號
strM002 = ""; #單據(jù)編號
reccount = data.__len__(); #取得json對象的長度
for index in xrange(reccount): #for 循環(huán)
#data[index]["D014"] = data[index]["D014"] + "修改了內(nèi)容";
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): #加工單號和母卷物料編號相同則把領(lǐng)料有關(guān)的數(shù)量變成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): #如果切割單號和生產(chǎn)成品數(shù)據(jù)行號相同則把把以下成品有關(guān)的字段置零
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): //同一張切割單把以下統(tǒng)計字段置零
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文本數(shù)據(jù)
#jsonTxt = json.dumps(data,ensure_ascii=False);
spam.ExecPythonAction_Clear('', 1); #清空消息文本
print "ExecPythonAction_One"; #執(zhí)行某個動作函數(shù)
spam.ExecPythonActionName('', 1);
for index in range(reccount): #for 循環(huán)
print json.dumps(data[index],ensure_ascii=False); #發(fā)送編輯過的json數(shù)據(jù)
spam.ExecPythonAction_Text('', 1);
#print jsonTxt; #發(fā)送編輯過的json數(shù)據(jù)
spam.ExecPythonAction('', 1);
總結(jié)
以上是生活随笔為你收集整理的wincc报表日报表实例_工作系统二次开发二Python加工原膜切割日报表数据实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: themleft模板库_Thymelea
- 下一篇: python socket服务器多线程_