示例#1
0
文件: yiqi.py 项目: gaoqifa1996/yiqi
def put_psn(client, sn):
    info = json_post(client, host_graphdbget(), {
        "n": "task",
        "obj": "uid,sn",
        "opt": {
            "and": [{
                "eq": "sn",
                "v": sn
            }]
        }
    })
    uid = info[0]["uid"]
    result = json_post(client, host_graphdb(), {
        "a": [{
            "v": [[{
                "k": "sn",
                "v": sn
            }]],
            "u": uid,
            "n": "pcode"
        }]
    })
    if result == "Success":
        return result
    else:
        return "Error"
示例#2
0
def get_plan(client):
    data = mq_get(client, "MES.MEB.ASSEMBLE.PLAN.SEND")
    if data is None:
        return

    start = datetime.datetime.strptime(data["PT"], "%Y%m%d%H%M%S")
    diff = datetime.timedelta(minutes=15)

    pstart = start.strftime("%Y-%m-%dT%H:%M:%S")
    pend = (start + diff).strftime("%Y-%m-%dT%H:%M:%S")

    sn = data["CID"]

    ret = json_post(client, host_real_task(), {
        "sn": sn,
        "tsn": data["TSN"],
        "pstart": str(pstart),
        "pend": str(pend),
        "pnum": 1,
        "info": [
            {"k": "ig2", "v": data["1G2"]},
            {"k": "288", "v": data["288"]},
            {"k": "gbt", "v": data["GBT"]},
            {"k": "sqr", "v": data["SQR"]},
            {"k": "prn", "v": data["PRN"]},
            {"k": "tsn", "v": data["TSN"]}
        ]
    })

    if ret != "Success":
        return

    ret = json_post(client, host_graphdbget(), {
        "n": "task",
        "obj": "uid,sn",
        "opt": {
            "and": [{"eq": "sn", "v": sn}]
        }
    })

    if ret is None:
        return

    uid = ret[0]["uid"]

    ret = json_post(client, host_graphdb(), {
        "a": [{
            "u": uid,
            "n": "pcode",
            "v": [[{"k": "sn", "v": sn}]]
        }]
    })

    if ret != "Success":
        return

    ret = json2xml(client, "ack", "")

    mq_put("MES.MEB.ASSEMBLE.PLAN.ACK", ret)
示例#3
0
def get_snstatus(rec):
    for i in range(len(rec)):
        sn = get_item(rec[i], u"WorkOrderNo")
        status = get_item(rec[i], u"Status")

        status_list = ["open", "close"]  # only support such
        if status not in status_list:
            print(status)
            return {
                "Result": False,
                "Message": "Error no such status",
                "Resultint": 2000
            }
        # info = json_requests_post("http://47.96.151.120/graphdb/get/line-two",{
        info = json_requests_post(
            host_graphdbget(), {
                "n": "task",
                "obj": "sn,uid,state",
                "opt": {
                    "and": [{
                        "eq": "sn",
                        "v": sn
                    }]
                }
            })
        print(info)
        state = get_item(info[0], "state")
        uid = get_item(info[0], "uid")
        if status == state:
            if i >= len(rec) - 1:
                return {"Result": True, "Message": "ok", "Resultint": 1000}
        else:
            # data = json_requests_post("http://47.96.151.120/graphdb/md",{
            data = json_requests_post(
                host_graphdb(), {
                    "m": [{
                        "u":
                        uid,
                        "v": [{
                            "k": "sn",
                            "v": sn
                        }, {
                            "k": "state",
                            "v": status
                        }]
                    }]
                })
            print(data)
            if data == "Success":
                if i >= len(rec) - 1:
                    return {"Result": True, "Message": "ok", "Resultint": 1000}
            else:
                return {"Result": False, "Message": "error", "Resultint": 2000}
示例#4
0
def get_plan(rec):

    line = get_item(rec, "ProdLineCode")
    sn = get_item(rec, "WorkOrderNo")
    pnum = get_item(rec, "Qty")
    tsn = get_item(rec, "TechnologyNo")
    pstart = get_item(rec, "StartTime")
    pend = get_item(rec, "EndTime")

    print(tsn,sn,pnum,pstart,pend)

    if tsn and sn and pnum and pstart and pend:
        print(tsn,sn,pnum,pstart,pend)
    else:
        return {"Result":False,"Message":"has null value","Resultint":2000}

    if tsn :
        uidinfo = json_requests_post(host_graphdbget(),{
            "n":"tech",
            "obj":"uid,sn",
            "opt":{
                "and":[{
                    "eq":"sn",
                    "v":tsn
                }]
            }
        })
        uid = uidinfo[0]["uid"]
        if not uid:
            return {"Result": False, "Message": "no such Technology", "Resultint": 2000}
        info = json_requests_post(host_graphdb(), {
            "a":[{
            "u":"line-one",
            "n":"task",
            "v":[[
                {"k":"sn","v":sn},
                {"k":"tech","u":uid},
                {"k":"pstart","v":pstart},
                {"k":"pend","v":pend},
                {"k":"pnum","v":pnum},
                {"k":"state","v":"open"},
                {"k":"linecode","v":line}
            ]]
            }]})
        if info == "Success":
            return {"Result": True, "Message": info , "Resultint": 1000}
        else:
            return {"Result": False, "Message": "info error", "Resultint": 2000}
示例#5
0
def get_psn(rec):
    for i in range(len(rec)):
        sn = get_item(rec[i], "WorkOrderNo")
        psn = get_item(rec[i], "SerialNumber")

        if sn and psn:
            print(sn, psn)
        else:
            return {
                "Result": False,
                "Message": "has null value",
                "Resultint": 2000
            }

        uidinfo = json_requests_post(host_graphdbget(), {
            "n": "task",
            "obj": "uid,sn",
            "opt": {
                "and": [{
                    "eq": "sn",
                    "v": sn
                }]
            }
        })
        uid = uidinfo[0]["uid"]
        # psnresult = json_requests_post("http://47.96.151.120/graphdb/md",{
        psnresult = json_requests_post(
            host_graphdb(),
            {"a": [{
                "v": [[{
                    "k": "sn",
                    "v": psn
                }]],
                "u": uid,
                "n": "pcode"
            }]})
        print(psnresult)
        if psnresult == "Success":
            if i >= len(rec) - 1:
                print(i)
                return {"Result": True, "Message": "ok", "Resultint": 1000}
        else:
            return {
                "Result": False,
                "Message": "send error",
                "Resultint": 2000
            }
示例#6
0
def get_plan(client, tab, cfg, rec):
    st = None

    if tab in cfg:
        st = cfg[tab]

    #tsn = rec["tsn"]
    tsn = "11G 915 911"
    sn = rec["CID"]
    pt = rec["PT"]
    ig2 = rec["1G2"]
    b288 = rec["288"]
    gbt = rec["GBT"]

    pstar = datetime.datetime.strptime(pt, "%Y%m%d%H%M%S")
    nedtime = datetime.timedelta(minutes=15)
    pen = (pstar + nedtime).strftime("%Y-%m-%dT%H:%M:%S")
    pstart = str(pstar.strftime("%Y-%m-%dT%H:%M:%S"))
    pend = str(pen)

    if st is None:
        uidinfo = json_post(client, host_graphdbget(), {
            "n": "tech",
            "obj": "uid,sn",
            "opt": {
                "and": [{
                    "eq": "sn",
                    "v": tsn
                }]
            }
        })

        uid = uidinfo[0]["uid"]

        info = json_post(
            client, host_graphdb(), {
                "a": [{
                    "u":
                    "line-one",
                    "n":
                    "task",
                    "v": [[{
                        "k": "sn",
                        "v": sn
                    }, {
                        "k": "tech",
                        "u": uid
                    }, {
                        "k": "pstart",
                        "v": pstart
                    }, {
                        "k": "pend",
                        "v": pend
                    }, {
                        "k": "pnum",
                        "v": "1"
                    }, {
                        "k": "state",
                        "v": "open"
                    }, {
                        "k": "ig2",
                        "v": ig2
                    }, {
                        "k": "288",
                        "v": b288
                    }, {
                        "k": "gbt",
                        "v": gbt
                    }]]
                }]
            })
        if info == "Success":
            return info