Beispiel #1
0
 private void DeleteTask(OD_Task tsk)
 {
     if (tsk.HADFINISH == "N" && tsk.RELEASESTATUS == "Y")
     {
         using (ASRS_ServiceSoapClient srv = new ASRS_ServiceSoapClient())
         {
             string containerID = tsk.CONTAINERNO;
             if (srv.Od_Task_deleteOne(tsk.TASKID))  //删除当前任务
             {
                 srv.Place_Vs_Container_DeleteOne(containerID);
                 srv.Container_Vs_Items_DeleteOneByContainerID(containerID);
                 bool bl = srv.OPC_WritePoint("S7:[300]DB540,B1", 2);   //删除堆垛机任务
                 if (bl)
                 {
                     MessageBox.Show("删除成功!");
                 }
             }
         }
     }
     if (tsk.HADFINISH == "N" && tsk.RELEASESTATUS == "N")
     {
         if (tsk.TASKTYPEDESCRIPTION.Contains("出库"))   //如果出库的话
         {
             using (ASRS_ServiceSoapClient srv = new ASRS_ServiceSoapClient())
             {
                 string placeId     = tsk.SOURCEPLACE;
                 string containerID = tsk.CONTAINERNO;
                 if (srv.Od_Task_deleteOne(tsk.TASKID))
                 {
                     List <IV_place_vs_container> lstPVC = srv.Place_Vs_Container_GetRelationshipByContainer(containerID).ToList();
                     IV_place_vs_container        pvc    = new IV_place_vs_container();
                     if (lstPVC.Count > 0)
                     {
                         pvc         = lstPVC[0];
                         pvc.PLACEID = placeId;
                         srv.Place_Vs_Container_UpdateOne(pvc);
                     }
                 }
             }
         }
         else if (tsk.TASKTYPEDESCRIPTION.Contains("入库")) //否则入库
         {
             using (ASRS_ServiceSoapClient srv = new ASRS_ServiceSoapClient())
             {
                 string containerID = tsk.CONTAINERNO;
                 if (srv.Od_Task_deleteOne(tsk.TASKID))
                 {
                     srv.Place_Vs_Container_DeleteOne(containerID);
                     srv.Container_Vs_Items_DeleteOneByContainerID(containerID);
                 }
             }
         }
     }
 }
Beispiel #2
0
        /// <summary>
        /// 处理出库任务
        /// </summary>
        /// <param name="currentTask"></param>
        /// <returns></returns>
        private bool DealFor_Srm_Retrieve_Out(OD_Task currentTask)
        {
            IV_place_vs_container placeContnr = new IV_place_vs_container();

            placeContnr = srv.Place_Vs_Container_GetRelationshipByContainer(currentTask.CONTAINERNO)[0];

            srv.Place_Vs_Container_DeleteOne(placeContnr.CONTAINERID);     //清除库存
            currentTask.TASKSTATUS = "Out_Finished";
            srv.Od_Task_SetLastTaskVoidByDeviceID(currentTask.DODEVICEID); // 废除上一次任务的有效性,当完成一个任务时,会先将以前的上一次任务(LastTask)作废,将刚刚完成的任务设置为最新上一次任务

            bool b = srv.Od_Task_UpdateOne(currentTask);

            return(b);
        }
Beispiel #3
0
        private void btnClear_Click(object sender, EventArgs e)
        {
            AlreadyScan.Text    = "";
            label4.Visible      = false;
            AlreadyScan.Visible = false;
            AlreadyScan.Height  = 32;
            using (ASRS_ServiceSoapClient srv = new ASRS_ServiceSoapClient())
            {
                if (MessageBox.Show("此操作会导致该小车的库存数据被清除,是否继续操作?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                {
                    var container = srv.IM_Container_GetOneByContainerId(tBContainer.Text.Trim());
                    if (container == null || string.IsNullOrEmpty(container.CONTAINERID))
                    {
                        MessageBox.Show("无此托盘信息!");
                        return;
                    }

                    if (isStoredContainer(container.CONTAINERID) == 2)
                    {
                        MessageBox.Show("托盘已经在货架上,若要解除绑定,请进行出库作业!");
                        tBContainer.Enabled = true;
                        tBContainer.SelectAll();
                        tBContainer.Focus();
                        return;
                    }
                    if (tBContainer.Enabled == true)
                    {
                        MessageBox.Show("托盘号尚未绑定可直接修改单元格,无需清除数据");
                        return;
                    }
                    try
                    {
                        srv.Place_Vs_Container_DeleteOne(tBContainer.Text.Trim());
                        var itemsIncontainer = srv.Container_Vs_Items_GetItemsByContainerID(tBContainer.Text.Trim()).ToList();
                        foreach (var p in itemsIncontainer)
                        {
                            srv.Container_Vs_Items_DeleteOneByContainerID(p.CONTAINERID);
                        }
                        tBContainer.Text    = "";
                        tBSku.Text          = "";
                        tBContainer.Enabled = true;
                        changeImg(1);
                        tBContainer.Focus();
                    }
                    catch (Exception)
                    {
                    }
                }
            }
        }