/// <summary> /// 更新指定管理任务状态 /// </summary> /// <param name="manageTaskID">管理任务ID</param> /// <param name="taskStatus">管理任务状态:待执行,执行中,完成</param> /// <returns></returns> public ResposeData UpdateManageTaskStatus(string manageTaskID, string taskStatus) { ResposeData response = new ResposeData(); try { ManageModel task = bllManage.GetModel(manageTaskID); if (task == null) { response.Status = false; response.Describe = "任务状态更改失败!无此任务ID!"; } task.Mange_Status = taskStatus; if (taskStatus == EnumManageTaskStatus.执行中.ToString()) { task.Manage_Begin_Time = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); } else if (taskStatus == EnumManageTaskStatus.已完成.ToString()) { task.Manage_End_Time = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")); } bllManage.Update(task); response.Status = true; response.Describe = "任务状态更改成功!"; return(response); } catch (Exception ex) { response.Status = false; response.Describe = "任务状态更改失败!" + ex.Message; return(response); } }
public ResposeData GetWaittingToRunTaskList(TaskDeviceModel stDevice, ref List <ManageTaskModel> manageTaskList) { manageTaskList = new List <ManageTaskModel>(); ResposeData res = new ResposeData(); res.Status = true; if (wmsTaskDt == null) { return(res); } foreach (DataRow dr in wmsTaskDt.Rows) { if (dr["起始设备号"].ToString() == stDevice.DeviceCode && dr["任务状态"].ToString() == "待执行") { ManageTaskModel manTask = new ManageTaskModel(); manTask.TaskID = dr["管理任务ID"].ToString(); manTask.Type = dr["任务类型"].ToString(); manTask.Status = dr["任务类型"].ToString(); manTask.PalletCode = dr["托盘码"].ToString(); manTask.StartDevice = new TaskDeviceModel(dr["起始设备号"].ToString(), dr["起始设备类型"].ToString()); manTask.StartDevice.ExtParam = dr["起始设备参数"].ToString(); manTask.TargetDevice = new TaskDeviceModel(dr["目标设备号"].ToString(), dr["目标设备类型"].ToString()); manTask.TargetDevice.ExtParam = dr["目标设备参数"].ToString(); manTask.Remark = dr["备注"].ToString(); manageTaskList.Add(manTask); } } return(res); }
/// <summary> /// 获取所有待执行任务,wcs分解完一个管理任务后要将此任务状态更新为执行中状态 /// </summary> /// <param name="manageTaskList"></param> /// <returns></returns> public ResposeData GetWaittingToRunTaskList(TaskDeviceModel stDevice, ref List <ManageTaskModel> manageTaskList) { ResposeData response = new ResposeData(); manageTaskList = new List <ManageTaskModel>(); try { List <View_Manage_CellModel> taskList = bllViewManageCell.GetWattingTaskByDeviceCode(stDevice.DeviceCode); if (taskList == null) { response.Status = true; response.Describe = "没有待执行的任务!"; return(response); } foreach (View_Manage_CellModel manageModel in taskList) { ManageTaskModel manage = new ManageTaskModel(); manage.PalletCode = manageModel.Mange_Stock_Barcode; TaskDeviceModel startDevice = new TaskDeviceModel(); View_CellModel startCell = bllViewCell.GetModelByChildCellID(manageModel.Mange_Start_Cell_ID); if (startCell == null) { response.Status = false; response.Describe = "起始设备编码错误!"; return(response); } startDevice = FillTaskDevice(startCell, manageModel.Mange_Start_Cell_ID); manage.StartDevice = startDevice; manage.Status = manageModel.Mange_Status; View_CellModel targetCell = bllViewCell.GetModelByChildCellID(manageModel.Mange_End_Cell_ID); if (targetCell == null) { response.Status = false; response.Describe = "目标设备编码错误!"; return(response); } TaskDeviceModel targetDevice = FillTaskDevice(targetCell, manageModel.Mange_End_Cell_ID); manage.TargetDevice = targetDevice; manage.TaskID = manageModel.Mange_ID; manage.Type = manageModel.Manage_Type_Name; manageTaskList.Add(manage); } response.Status = true; response.Describe = "获取等待执行任务成功!"; return(response); } catch (Exception ex) { response.Status = true; response.Describe = "获取等待执行任务失败!" + ex.Message; return(response); } }
private void activate_btn_Click(object sender, EventArgs e) { string Number1 = numver_txtbx.Text.Trim(); string ApiReq1 = "https://api.urbanpiper.com/api/v1/card/activate/?format=json&customer_phone=91#replace#&username=zubin_urbanpiper&api_key=12345"; string ApiReq2 = ApiReq1.Replace("#replace#", Number1); WebRequest request = WebRequest.Create(ApiReq2); //Stopwatch timer = new Stopwatch(); //timer.Start(); WebResponse response = request.GetResponse(); Stream dataStream = response.GetResponseStream(); //timer.Stop(); //TimeSpan timetaken = timer.Elapsed; //numver_txtbx.Text = timetaken.TotalSeconds.ToString(); DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(ResposeData)); ResposeData datagot = (ResposeData)serializer.ReadObject(dataStream); PayForm1 pf = new PayForm1(numver_txtbx.Text); string status = datagot.success; if (status == "False") { this.Hide(); pf.ShowDialog(); } else { congrats_lbl1.Visible = true; this.Enabled = false; WaitSomeTime(); this.Hide(); pf.ShowDialog(); } /* * // Open the stream using a StreamReader for easy access. * StreamReader reader = new StreamReader(dataStream); * // Read the content. * string responseFromServer = reader.ReadToEnd(); * // Display the content. * experi_txtbx.Text = responseFromServer; */ }
public ResposeData List() { ResposeData responseData = new ResposeData(); var logic = new UserLogic(); try { var users = logic.GetUsers(); responseData.Status = "success"; responseData.ResultData = users; } catch (Exception e) { Console.WriteLine(e.ToString()); responseData.Status = "error"; responseData.ResultData = null; } return(responseData); }
public ResposeData Delete(RequestData requestData) { string userId = requestData.UserId; ResposeData responseData = new ResposeData(); var logic = new UserLogic(); try { logic.DeleteUser(userId); responseData.Status = "success"; responseData.ResultData = userId; } catch (Exception e) { Console.WriteLine(e.ToString()); responseData.Status = "error"; responseData.ResultData = null; } return(responseData); }
public ResposeData UpdateManageTaskStatus(string manageTaskID, string taskStatus) { ResposeData res = new ResposeData(); res.Status = true; if (this.wmsTaskDt != null) { foreach (DataRow dr in this.wmsTaskDt.Rows) { if (dr["管理任务ID"].ToString() == manageTaskID) { dr["任务状态"] = taskStatus; break; } } } return(res); // throw new NotImplementedException(); }
/// <summary> /// wcs向wms请求任务 /// </summary> /// <param name="applyTask"></param> /// <returns></returns> public ResposeData RequireTask(RequireTaskModel requireTask) { ResposeData response = new ResposeData(); if (requireTask == null) { response.Status = false; response.Describe = "请求任务对象为空!"; return(response); } try { ManageModel existMana = bllManage.GetModelByPalletCode(requireTask.PalletCode); if (existMana != null) { response.Status = false; response.Describe = "此托盘任务已经生成!"; return(response); } ManageModel manage = new ManageModel(); manage.Mange_ID = Guid.NewGuid().ToString(); WH_Station_LogicModel stationLogic = bllStationLogic.GetModelByCellID(requireTask.RequireDevice.DeviceCode); if (stationLogic == null) { response.Status = false; response.Describe = "请求设备编号错误!"; return(response); } if (requireTask.RequireType == EnumRequireTaskType.空筐入库.ToString())//入库请求设备对应指定库房编码,库房编码和堆垛机编码一致 { //通过stationLogic得知申请的是哪个库房的入库 View_CellModel targetModel = bllViewCell.ApplyCell(stationLogic.WareHouse_ID); if (targetModel == null) { response.Status = false; response.Describe = "已经没有货位可以申请了!"; return(response); } manage.Mange_Stock_Barcode = requireTask.PalletCode; manage.Manage_BreakDown_Status = "FALSE"; manage.Mange_End_Cell_ID = targetModel.Cell_Chlid_ID; manage.Mange_Full_Flag = "0"; manage.Mange_Start_Cell_ID = requireTask.RequireDevice.DeviceCode; manage.Mange_Status = EnumManageTaskStatus.待执行.ToString(); manage.Mange_Type_ID = "7";//空托盘上架 } else if (requireTask.RequireType == EnumRequireTaskType.空筐出库.ToString()) { View_CellModel emptyPalletCell = bllViewCell.GetEmptyPalletCell(); if (emptyPalletCell == null) { response.Status = false; response.Describe = "已经没有空托盘可以申请了!"; return(response); } manage.Manage_BreakDown_Status = "FALSE"; manage.Mange_End_Cell_ID = requireTask.RequireDevice.DeviceCode; manage.Mange_Full_Flag = "0"; manage.Mange_Start_Cell_ID = emptyPalletCell.Cell_Chlid_ID; manage.Mange_Status = EnumManageTaskStatus.待执行.ToString(); manage.Mange_Stock_Barcode = requireTask.PalletCode; manage.Mange_Type_ID = "9";//空托盘下架 } else { response.Status = false; response.Describe = "请求任务类型错误!"; return(response); } bllManage.Add(manage); response.Status = true; response.Describe = "任务请求成功!"; return(response); } catch (Exception ex) { response.Status = false; response.Describe = "任务请求失败!" + ex.Message; return(response); } }
private void WMSTaskMonitorProc() { foreach (TaskDeviceModel stDev in wmsStDevList) { List <ManageTaskModel> wmsTasks = new List <ManageTaskModel>(); ResposeData res = WmsSvc.GetWaittingToRunTaskList(stDev, ref wmsTasks); if (!res.Status) { Console.WriteLine("获取{0}待执行管理任务失败{1}", stDev.DeviceCode, res.Describe); continue; } foreach (ManageTaskModel wmsTask in wmsTasks) { if (mainCtlTaskBll.Exists(wmsTask.TaskID)) { continue; } CtlDBAccess.Model.MainControlTaskModel mainCtlTask = new CtlDBAccess.Model.MainControlTaskModel(); mainCtlTask.WMSTaskID = wmsTask.TaskID; mainCtlTask.MainTaskID = wmsTask.TaskID; mainCtlTask.FlowPathKey = wmsTask.StartDevice.DeviceCode + "-" + wmsTask.TargetDevice.DeviceCode; mainCtlTask.PalletCode = wmsTask.PalletCode; mainCtlTask.TaskStatus = "待启动"; //if(wmsTask.Type == "下架") //{ // mainCtlTask.TaskType = "产品出库"; //} //else if(wmsTask.Type=="上架") //{ // mainCtlTask.TaskType = "产品入库"; //} //else //{ // mainCtlTask.TaskType = wmsTask.Type; //} mainCtlTask.TaskType = wmsTask.Type; mainCtlTask.StDevice = wmsTask.StartDevice.DeviceCode; mainCtlTask.StDeviceCata = wmsTask.StartDevice.DeviceType; mainCtlTask.EndDevice = wmsTask.TargetDevice.DeviceCode; mainCtlTask.EndDeviceCata = wmsTask.TargetDevice.DeviceType; if (wmsTask.StartDevice.DeviceType == "货位") { mainCtlTask.StDeviceParam = wmsTask.StartDevice.ExtParam; } if (wmsTask.TargetDevice.DeviceType == "货位") { mainCtlTask.EndDeviceParam = wmsTask.TargetDevice.ExtParam; } mainCtlTask.CreateTime = System.DateTime.Now; mainCtlTask.CreateMode = "自动"; mainCtlTaskBll.Add(mainCtlTask); } } string reStr = ""; //分解主控制任务 List <CtlDBAccess.Model.MainControlTaskModel> mainTasks = mainCtlTaskBll.GetModelList("TaskStatus = '待启动'"); foreach (CtlDBAccess.Model.MainControlTaskModel mainTask in mainTasks) { string pathKey = mainTask.FlowPathKey; if (!wcsPathMap.Keys.Contains(pathKey)) { Console.WriteLine("不存在的路径配置:{0}", pathKey); continue; } FlowCtlBaseModel.WCSFlowPathModel wcsPath = wcsPathMap[pathKey]; if (wcsPath.NodeList.Count() < 1) { continue; } FlowCtlBaseModel.WCSPathNodeModel stNode = wcsPath.NodeList[0]; if (stNode.NodeFlag != "起点") { continue; } string nodeID = stNode.NodeID; FlowCtlBaseModel.CtlNodeBaseModel node = NodeManager.GetNodeByID(nodeID); if (node == null) { continue; } if (node.DevCata == "站台") { if (node.Db2Vals[0] != 2) { continue; } } if (!node.WCSMainTaskStart(mainTask, wcsPath, ref reStr)) { Console.WriteLine("{0} 启动任务:{1}失败,{2}", node.NodeName, mainTask.WMSTaskID, reStr); } else { WmsSvc.UpdateManageTaskStatus(mainTask.WMSTaskID, "执行中"); Console.WriteLine("主控制任务{0},{1}->{2}准备启动", mainTask.MainTaskID, mainTask.StDevice, mainTask.EndDevice); } } /* * foreach(string pathKey in wcsPathMap.Keys) * { * FlowCtlBaseModel.WCSFlowPathModel wcsPath = wcsPathMap[pathKey]; * if(wcsPath.NodeList.Count()<1) * { * continue; * } * * FlowCtlBaseModel.WCSPathNodeModel stNode= wcsPath.NodeList[0]; * if(stNode.NodeFlag !="起点") * { * continue; * } * string nodeID = stNode.NodeID; * FlowCtlBaseModel.CtlNodeBaseModel node = NodeManager.GetNodeByID(nodeID); * if(node == null) * { * continue; * } * //生成第一个控制任务 * List<CtlDBAccess.Model.MainControlTaskModel> mainTasks= mainCtlTaskBll.GetModelList(string.Format("TaskStatus = '待执行' and StDevice='{0}'", nodeID)); * foreach(CtlDBAccess.Model.MainControlTaskModel mainTask in mainTasks) * { * if(!node.WCSMainTaskStart(mainTask, wcsPath, ref reStr)) * { * Console.WriteLine("{0} 启动任务:{1}失败,{2}", node.NodeName, mainTask.WMSTaskID,reStr); * } * else * { * WmsSvc.UpdateManageTaskStatus(mainTask.WMSTaskID, "执行中"); * } * } * }*/ }