修改处方取药循环开抽屉逻辑
This commit is contained in:
		
							parent
							
								
									776a1ddce2
								
							
						
					
					
						commit
						eb8aa8db83
					
				| 
						 | 
					@ -329,7 +329,6 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                                        Message = "储物箱使能失败"
 | 
					                                        Message = "储物箱使能失败"
 | 
				
			||||||
                                    });
 | 
					                                    });
 | 
				
			||||||
                                    logger.Info($"储物箱使能失败");
 | 
					                                    logger.Info($"储物箱使能失败");
 | 
				
			||||||
                                    _portUtil.ResetData();
 | 
					 | 
				
			||||||
                                    stop();
 | 
					                                    stop();
 | 
				
			||||||
                                }
 | 
					                                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -367,15 +366,6 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                        // 锁是打开状态现在关闭了,说明操作完成了,告诉前台锁已关闭
 | 
					                                        // 锁是打开状态现在关闭了,说明操作完成了,告诉前台锁已关闭
 | 
				
			||||||
                                        _portUtil.statue = 2;
 | 
					                                        _portUtil.statue = 2;
 | 
				
			||||||
 | 
					 | 
				
			||||||
                                        string _WindowName = "OrderTakeDialog";
 | 
					 | 
				
			||||||
                                        // 重新初始化数据
 | 
					 | 
				
			||||||
                                        //ResetData();
 | 
					 | 
				
			||||||
                                        _eventAggregator.GetEvent<PortUtilEvent>().Publish(new util.DeviceMsg()
 | 
					 | 
				
			||||||
                                        {
 | 
					 | 
				
			||||||
                                            EventType = util.EventType.DRAWERCLOSE,
 | 
					 | 
				
			||||||
                                            WindowName = _WindowName,
 | 
					 | 
				
			||||||
                                        });
 | 
					 | 
				
			||||||
                                        logger.Info($"储物箱关闭");
 | 
					                                        logger.Info($"储物箱关闭");
 | 
				
			||||||
                                        if (options._data == (enumerable.Count() - 1))
 | 
					                                        if (options._data == (enumerable.Count() - 1))
 | 
				
			||||||
                                        {
 | 
					                                        {
 | 
				
			||||||
| 
						 | 
					@ -394,8 +384,68 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                                }
 | 
					                                }
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 | 
					                        // 外置抽屉
 | 
				
			||||||
 | 
					                        else
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            if (channelStocks[0].DrawerType == 3)
 | 
				
			||||||
 | 
					                            {
 | 
				
			||||||
 | 
					                                if (channelStocks[0].BoardType == 2)
 | 
				
			||||||
 | 
					                                {
 | 
				
			||||||
 | 
					                                    if (channelStocks[0].DrawerState == 0)
 | 
				
			||||||
 | 
					                                    {
 | 
				
			||||||
 | 
					                                        byte[] buffer = await _portUtil.OpenRecover();
 | 
				
			||||||
 | 
					                                        int[] r = buffer.Select(it => Convert.ToInt32(it)).ToArray();
 | 
				
			||||||
 | 
					                                        if ((_portUtil.ColNos[0] > 3 && r[4] == 1) || (_portUtil.ColNos[0] < 4 && r[3] == 1))
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                            logger.Info($"回收箱打开成功");
 | 
				
			||||||
 | 
					                                            channelStocks[0].DrawerState = 1;
 | 
				
			||||||
 | 
					                                            next();
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                        else
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                            logger.Info($"回收箱打开失败");
 | 
				
			||||||
 | 
					                                            stop();
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                    }
 | 
				
			||||||
 | 
					                                    if(channelStocks[0].DrawerState == 1)
 | 
				
			||||||
 | 
					                                    {
 | 
				
			||||||
 | 
					                                        // 查询是否关闭状态
 | 
				
			||||||
 | 
					                                        byte[] buffer = await _portUtil.CheckRecoverStatus();
 | 
				
			||||||
 | 
					                                        int[] r = buffer.Select(it => Convert.ToInt32(it)).ToArray();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                        logger.Info($"GeRecoverStatus{string.Join(",", r)}");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                        // 回收箱关闭成功
 | 
				
			||||||
 | 
					                                        if ((_portUtil.ColNos[0] > 3 && r[4] == 0) || (_portUtil.ColNos[0] < 4 && r[3] == 0))
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                            logger.Info($"回收箱关闭");
 | 
				
			||||||
 | 
					                                            // 查询数量
 | 
				
			||||||
 | 
					                                            byte[] bytes = await _portUtil.CheckRecoverQuantity();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                            int[] r1 = bytes.Select(it => Convert.ToInt32(it)).ToArray();
 | 
				
			||||||
 | 
					                                            // 返回消息库位关闭,放入空瓶数量
 | 
				
			||||||
 | 
					                                            int[] quantitys = r1.Skip(3).Take(3).ToArray();
 | 
				
			||||||
 | 
					                                            int index = _portUtil.ColNos[0] % 3 > 0 ? _portUtil.ColNos[0] % 3 - 1 : 2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                            // 指定库位放入的药品数量
 | 
				
			||||||
 | 
					                                            int InCount = quantitys[index];
 | 
				
			||||||
 | 
					                                            logger.Info($"回收板数量变化【{string.Join(",", quantitys)}】");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                                            enumerator.MoveNext();
 | 
				
			||||||
 | 
					                                            next();
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                        else
 | 
				
			||||||
 | 
					                                        {
 | 
				
			||||||
 | 
					                                            // 查询是否关闭状态
 | 
				
			||||||
 | 
					                                            await Task.Delay(200);
 | 
				
			||||||
 | 
					                                            next();
 | 
				
			||||||
 | 
					                                        }
 | 
				
			||||||
 | 
					                                    }
 | 
				
			||||||
 | 
					                                }
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					                            else
 | 
				
			||||||
 | 
					                            {
 | 
				
			||||||
                                if (channelStocks[0].DrawerState == 0)
 | 
					                                if (channelStocks[0].DrawerState == 0)
 | 
				
			||||||
                                {
 | 
					                                {
 | 
				
			||||||
                                    // 判断是否为单支抽屉
 | 
					                                    // 判断是否为单支抽屉
 | 
				
			||||||
| 
						 | 
					@ -499,8 +549,8 @@ namespace DM_Weight.ViewModels
 | 
				
			||||||
                                        }
 | 
					                                        }
 | 
				
			||||||
                                    }
 | 
					                                    }
 | 
				
			||||||
                                }
 | 
					                                }
 | 
				
			||||||
 | 
					                            }
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                catch (Exception e)
 | 
					                catch (Exception e)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue