| | |
| | | StoreHandler.AddStoreForEmptySalverTransfer(context, remark, toPlace, qty, "人工手动", ref salver, ref newMaterial); |
| | | |
| | | |
| | | SaveLog(MaterialTypeEnum.托盘, newMaterial, context, tb_SrmNo, remark, qty, salver, toPlace, "", ""); |
| | | |
| | | |
| | | context.SaveChanges();//提交数据 |
| | | } |
| | |
| | | |
| | | toPlace.IsFull = true;//代表有货 |
| | | |
| | | SaveLog(MaterialTypeEnum.一般物料, newMaterial, context, tb_SrmNo, remark, qty, salver, toPlace, SerialNumber, OrderNo); |
| | | |
| | | |
| | | context.SaveChanges();//提交数据 |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | private void SaveLog(MaterialTypeEnum _MaterialTypeEnum, Base_Material newMaterial, DbModel context, string tb_SrmNo, string remark, int qty, |
| | | Base_Salver salver, Base_Station toPlace, string serialNumber, string orderNo) |
| | | { |
| | | //增加Main表和Part表数据 |
| | | Task_Main mainTask = new Task_Main(); |
| | | mainTask.IsVirtual = false;//非虚拟入库 |
| | | |
| | | MainTaskTypeEnum _taskType = default(MainTaskTypeEnum); |
| | | DeviceTaskTypeEnum _DeviceTaskTypeEnum = default(DeviceTaskTypeEnum); |
| | | string handlerType = ""; |
| | | MaterialTypeEnum _MaterialType = default(MaterialTypeEnum); |
| | | switch (_MaterialTypeEnum) |
| | | { |
| | | case MaterialTypeEnum.托盘: |
| | | handlerType = "手动添加托盘库存"; |
| | | _DeviceTaskTypeEnum = DeviceTaskTypeEnum.空托转运到立体库; |
| | | mainTask.TaskNo = TaskNoHelper.GenerateTaskNo("IN__SD_TP"); |
| | | mainTask.TaskName = "手动添加托盘库存"; |
| | | mainTask.InOutFlag = (int)MainInOutFlagEnum.入库; |
| | | mainTask.InOutFlagName = MainInOutFlagEnum.入库.ToString(); |
| | | _taskType = MainTaskTypeEnum.手动入库; |
| | | mainTask.TaskType = Convert.ToInt32(_taskType); |
| | | mainTask.TaskTypeName = _taskType.ToString(); |
| | | _MaterialType = MaterialTypeEnum.托盘; |
| | | break; |
| | | case MaterialTypeEnum.一般物料: |
| | | handlerType = "手动添加发动机库存"; |
| | | _DeviceTaskTypeEnum = DeviceTaskTypeEnum.组盘入库; |
| | | |
| | | mainTask.TaskNo = TaskNoHelper.GenerateTaskNo("IN_SD"); |
| | | mainTask.TaskName = "手动入库"; |
| | | mainTask.InOutFlag = (int)MainInOutFlagEnum.入库; |
| | | mainTask.InOutFlagName = MainInOutFlagEnum.入库.ToString(); |
| | | _taskType = MainTaskTypeEnum.手动入库; |
| | | mainTask.TaskType = Convert.ToInt32(_taskType); |
| | | mainTask.TaskTypeName = _taskType.ToString(); |
| | | |
| | | mainTask.SerialNumber = serialNumber; |
| | | mainTask.OrderNo = orderNo; |
| | | |
| | | _MaterialType = MaterialTypeEnum.一般物料; |
| | | |
| | | |
| | | |
| | | break; |
| | | } |
| | | |
| | | mainTask.MaterialType = (int)_MaterialType; |
| | | mainTask.MaterialTypeName = _MaterialType.ToString(); |
| | | |
| | | |
| | | var _taskState = MainTaskStatusEnum.已完成; |
| | | mainTask.TaskState = Convert.ToInt32(_taskState); |
| | | mainTask.TaskStateName = _taskState.ToString(); |
| | | mainTask.IsAllowSimulateExecute = true; |
| | | mainTask.OperationRemark = handlerType; |
| | | mainTask.Qty = qty; |
| | | mainTask.CreateTime = mainTask.ModifyTime = mainTask.StartTime = DateTime.Now; |
| | | mainTask.CreateBy = mainTask.ModifyBy = SysGloble.WCSSystem; |
| | | |
| | | mainTask.MaterialId = newMaterial.Id; |
| | | |
| | | mainTask.FinishTime = DateTime.Now; |
| | | |
| | | mainTask.ToPlace = toPlace.Id; |
| | | mainTask.RealToPlace = toPlace.SrmStationCode; |
| | | //记录区域 [EditBy shaocx,2022-05-02] |
| | | EDevice device = BusinessHelper.GetSrmDeviceByPlaceNo(toPlace.SrmStationCode); |
| | | mainTask.Area = ((int)device).ToString(); |
| | | |
| | | context.Task_Main.Add(mainTask); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | EDeviceType deviceType = EDeviceType.堆垛机; |
| | | var plcTaskNo = BusinessHelper.CreatePlcTaskIdForSrmTask(); |
| | | //中间点 |
| | | var midPlace = StationHandler.GetRgvPlaceBySrmPlaceForInStore(context, toPlace); |
| | | if (midPlace == null) |
| | | { |
| | | throw new Exception("没有找到RGV入库位置"); |
| | | } |
| | | Task_Part partTask = new Task_Part() |
| | | { |
| | | Id = Guid.NewGuid().ToString(), |
| | | |
| | | InOutFlag = mainTask.InOutFlag, |
| | | InOutFlagName = mainTask.InOutFlagName, |
| | | |
| | | DeviceType = (int)deviceType, |
| | | DeviceTypeName = deviceType.ToString(), |
| | | DeviceId = Convert.ToInt16(device), |
| | | DeviceName = Convert.ToString(device), |
| | | |
| | | IsAllowSimulateExecute = true, |
| | | |
| | | TaskSequence = 1, |
| | | MainTaskSequence = mainTask.TaskSequence,//增加主任务优先级 |
| | | TaskDescribe = handlerType, |
| | | OperationRemark = handlerType, |
| | | MainTaskId = mainTask.Id, |
| | | MainTaskNo = mainTask.TaskNo, |
| | | MaterialId = mainTask.MaterialId, |
| | | Qty = mainTask.Qty,//增加数量 【EditBy shaocx,2022-05-01】 |
| | | |
| | | //增加 订货号和序列号的赋值 [Editby shaocx,2022-04-21] |
| | | SerialNumber = mainTask.SerialNumber, |
| | | OrderNo = mainTask.OrderNo, |
| | | |
| | | //ToNumber = toNumber, |
| | | //TaskGuid = taskGuid, |
| | | //MatID = MatID, |
| | | //MatName = MatName, |
| | | //Remark = "手动入库创建设备任务" + description, |
| | | //Creator = "手动入库创建设备任务" + "," + Dns.GetHostName(), |
| | | //UpdateUser = "手动入库创建设备任务" + "," + Dns.GetHostName(), |
| | | CreateTime = DateTime.Now, |
| | | ModifyTime = DateTime.Now, |
| | | |
| | | PlcTaskId = plcTaskNo, |
| | | //ContainerId = ctn.ContainerId, |
| | | SalverId = salver.Id, |
| | | SalverCode = salver.SalverCode, |
| | | |
| | | SourcePlace = midPlace.Id, |
| | | ToPlace = toPlace.Id, |
| | | RealSourcePlace = midPlace.SrmStationCode, |
| | | RealToPlace = toPlace.SrmStationCode, |
| | | |
| | | TaskName = string.Format("(来源:id-{0} no-{1},目标:id-{2} no-{3})", midPlace.Id, midPlace.SrmStationCode, |
| | | toPlace.Id, toPlace.SrmStationCode), |
| | | |
| | | IsReleased = true, |
| | | // IsCurrentTask = 0, |
| | | IsFinished = true, |
| | | //IsLastTask = 0, |
| | | //Void = 0, |
| | | TaskState = (int)DeviceTaskStatusEnum.已完成, |
| | | TaskStateName = DeviceTaskStatusEnum.已完成.ToString(), |
| | | |
| | | TaskType = (int)_DeviceTaskTypeEnum, |
| | | TaskTypeName = _DeviceTaskTypeEnum.ToString(), |
| | | |
| | | MaterialType = (int)_MaterialType, |
| | | MaterialTypeName = _MaterialType.ToString(), |
| | | |
| | | IssueTime = DateTime.Now, |
| | | FinishTime = DateTime.Now |
| | | |
| | | }; |
| | | context.Task_Part.Add(partTask); |
| | | |
| | | |
| | | //保存人工处理日志 [EditBy shaocx,2022-05-01] |
| | | Base_PersonHandlerRecord record = new Base_PersonHandlerRecord() |
| | | { |
| | | MainTaskNo = mainTask.TaskNo, |
| | | HandlerType = handlerType, |
| | | PartTaskId = partTask.Id, |
| | | PlcTaskId = partTask.PlcTaskId, |
| | | RealSourcePlace = tb_SrmNo, |
| | | RealToPlace = tb_SrmNo, |
| | | SalverCode = salver.SalverCode, |
| | | SerialNumber = serialNumber, |
| | | OrderNo = orderNo, |
| | | TaskTypeName = partTask.TaskTypeName, |
| | | Qty = qty, |
| | | |
| | | ManualHandlerRemark = remark, |
| | | OperationRemark = remark |
| | | |
| | | }; |
| | | PersonHandlerRecordHandler.SavePersonHandlerRecord(context, record); |
| | | |
| | | } |
| | | |
| | | |
| | | private void button2_Click(object sender, EventArgs e) |
| | | { |