Exemple #1
0
 private void Task_Img(object obj)
 {
     while (true)
     {
         if (stk.workMode != null && TanslateWorkMode(int.Parse(stk.workMode)) != "空闲")
         {
             try
             {
                 OD_Task currentTask = srv.Od_Task_GetCurrentTaskByDeviceID("SRM_1");
                 lbContainerID.Text = "托盘号:" + currentTask.CONTAINERNO;
                 lbDestination.Text = "目标地址" + currentTask.TOPLACE;
                 lbSourcePlace.Text = "起始地址" + currentTask.SOURCEPLACE;
                 lbItemName.Text    = "物料名称:";
                 lbSku.Text         = "物料号:";
                 lbTaskType.Text    = "作业指令:" + currentTask.TASKTYPEDESCRIPTION;
                 if (currentTask.ISEMPTYCONTAINER == "N")
                 {
                     var itemsLst = srv.Container_Vs_Items_GetItemsByContainerID(currentTask.CONTAINERNO).ToList();
                     foreach (var p in itemsLst)
                     {
                         lbItemName.Text += p.ITEMDESC + "; ";
                         lbSku.Text      += p.ITEMSKU + "; ";
                     }
                 }
             }
             catch (Exception)
             {
             }
         }
         else
         {
             lbContainerID.Text = "托盘号:";
             lbDestination.Text = "目标地址";
             lbSourcePlace.Text = "起始地址";
             lbItemName.Text    = "物料名称:";
             lbSku.Text         = "物料号:";
             lbTaskType.Text    = "作业指令:";
         }
         wait(3000);
     }
 }
Exemple #2
0
 private void btn_Refresh_Click(object sender, EventArgs e)
 {
     using (ASRS_ServiceSoapClient srv = new ASRS_ServiceSoapClient())
     {
         var            nofinods = srv.Od_Task_GetNotFinishedTask_by_deviceID("SRM_1").ToList();
         var            rlsod    = srv.Od_Task_GetCurrentTaskByDeviceID("SRM_1");
         List <OD_Task> rlsods   = new List <OD_Task>();
         rlsods.Add(rlsod);
         dgvNoFinOd.DataSource   = null;
         dGVReleaseOd.DataSource = null;
         dgvNoFinOd.DataSource   = nofinods;
         dGVReleaseOd.DataSource = rlsods;
     }
 }
Exemple #3
0
        //实时刷新库存
        private void DeviceRead(object obj)
        {
            string nowrlsod = "";

            using (ASRS_ServiceSoapClient srv = new ASRS_ServiceSoapClient())
            {
                while (true)
                {
                    Thread.Sleep(1000);
                    var rlsod = srv.Od_Task_GetCurrentTaskByDeviceID("SRM_1");
                    if (nowrlsod != rlsod.TASKID)
                    {
                        nowrlsod = rlsod.TASKID;
                        RefreshAll();
                    }
                }
            }
        }
Exemple #4
0
        private void btnUnLoad_Click(object sender, EventArgs e)
        {
            List <Query_Stored> unLoadLst = new List <Query_Stored>();
            string isEmptyContainer       = "N";
            string toPlace = "";

            if (dGVUnLoadItems.Rows.Count == 0)
            {
                return;
            }
            using (ASRS_ServiceSoapClient srv = new ASRS_ServiceSoapClient())
            {
                int count = 0;
                foreach (DataGridViewRow p in dGVUnLoadItems.Rows)
                {
                    Query_Stored one = new Query_Stored();
                    one.WAREHOUSENO = p.Cells[0].Value == null ? "" : p.Cells[0].Value.ToString();
                    one.PLACEID     = p.Cells[1].Value.ToString();
                    one.CONTAINERID = p.Cells[2].Value.ToString();
                    one.ITEMDESC    = p.Cells[4].Value == null ? "" : p.Cells[4].Value.ToString();
                    one.ITEMQTY     = decimal.Parse(p.Cells[5].Value == null ? "0" : p.Cells[5].Value.ToString());
                    one.ITEMSKU     = p.Cells[3].Value == null ? "" : p.Cells[3].Value.ToString();

                    toPlace = p.Cells[6].Value.ToString();
                    switch (toPlace)
                    {
                    case "出入口10001":
                        toPlace = "10001";
                        break;

                    default:
                        toPlace = "10001";
                        break;
                    }
                    unLoadLst.Add(one);

                    if (unLoadLst.Count < 1)
                    {
                        return;
                    }
                    else
                    {
                        //foreach (var unLoadOne in unLoadLst)
                        //{
                        OD_Task taskSRM = new OD_Task();
                        //MessageBox.Show(unLoadLst[count].PLACEID);
                        #region newTask
                        taskSRM.TASKID              = Guid.NewGuid().ToString();
                        taskSRM.TASKNAME            = "堆垛机出库" + DateTime.Now.ToString("yyyyMMddHHmmssfff");
                        taskSRM.TASKTYPE            = "SRM_Retrieve_Out"; //任务类型
                        taskSRM.TASKTYPEDESCRIPTION = "堆垛机出库";
                        taskSRM.TASKSTATUS          = "Out_Intention";    //想要入库
                        taskSRM.TASKLEVEL           = "Normal";
                        getTASKCONTENTSTRING(unLoadLst[count].CONTAINERID);
                        taskSRM.TASKCONTENTSTRING = itemDetails;
                        taskSRM.DODEVICEID        = "SRM_1";  //设备号
                        taskSRM.DODEVICENODEID    = "000011"; //设备节点号
                        taskSRM.DODEVICETYPE      = "SRM";    //设备类型
                        taskSRM.SOURCEPLACE       = unLoadLst[count].PLACEID;
                        taskSRM.TOPLACE           = toPlace;  //出库口
                        taskSRM.SENDTIMES         = 1;
                        taskSRM.RELEASESTATUS     = "N";
                        taskSRM.HADFINISH         = "N";
                        taskSRM.ORDERHEADID       = "";
                        taskSRM.ORDERDETAILSID    = "";
                        taskSRM.VOID               = 0;
                        taskSRM.UPDATEUSER         = FormLogin.user.USERNAME;
                        taskSRM.UPDATETIME         = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                        taskSRM.ISCURRENTTASK      = "N";
                        taskSRM.ISLASTTASK         = "N";
                        taskSRM.CONTAINERNO        = unLoadLst[count].CONTAINERID;
                        taskSRM.INPUTLOCATIONLEVEL = 1;
                        taskSRM.ISEMPTYCONTAINER   = isEmptyContainer;
                        taskSRM.WAREHOUSENO        = "端拾器立体库";

                        IV_place_vs_container pvc = new IV_place_vs_container();
                        try
                        {
                            pvc = srv.Place_Vs_Container_GetRelationshipByContainer(taskSRM.CONTAINERNO)[0];

                            if (pvc.PLACEID.ToUpper().Contains("TEMP"))
                            {
                                MessageBox.Show("托盘:" + taskSRM.CONTAINERNO + "正在出库!");
                                return;
                            }
                        }

                        catch (Exception)
                        {
                            MessageBox.Show("托盘:" + taskSRM.CONTAINERNO + "已出库!");
                            return;
                        }

                        var undoTask = srv.Od_Task_GetNotFinishedTask_by_deviceID("SRM_1").ToList();
                        undoTask = undoTask.FindAll(x => (x.TOPLACE == "10001" || x.TOPLACE == "11601" || x.TOPLACE == "20001"));
                        var curtsk = srv.Od_Task_GetCurrentTaskByDeviceID("SRM_1");
                        if (curtsk.TOPLACE == "10001")
                        {
                            undoTask.Add(curtsk);
                        }
                        //foreach (var o in undoTask)//如果任务序列中的任务目标位和未完成任务目标位子冲突,不允许下发
                        //{
                        //    if (taskSRM.TOPLACE == o.TOPLACE)
                        //    {
                        //        MessageBox.Show(taskSRM.CONTAINERNO + "的出库口尚有出库任务执行中,请稍后再执行!");
                        //        return;
                        //    }
                        //}
                        #endregion
                        if (srv.Od_Task_InsertOne(taskSRM))
                        {
                            ///将库位号改为TEMP_OUT
                            pvc.PLACEID    = "TEMP_OUT";
                            pvc.UPDATETIME = DateTime.Now.ToString();
                            pvc.UPDATEUSER = FormLogin.user.USERNAME;
                            srv.Place_Vs_Container_UpdateOne(pvc);
                        }
                        //}
                    }
                    count++;
                }
                count = 0;
                dGVUnLoadItems.Rows.Clear();
                dGVUnLoadItems.Refresh();
                lsBGate.SelectedIndex   = -1;
                dGVItemQuery.DataSource = null;
                wait(1500);
                btnFind_Click(null, null);//出库后执行页面刷新
            }
        }