/// <summary> /// 备货烟道优化2010-07-08 /// </summary> /// <param name="orderDate"></param> /// <param name="batchNo"></param> public void GenStockChannelSchedule(string orderDate, int batchNo) { using (THOK.Util.PersistentManager pm = new THOK.Util.PersistentManager()) { StockChannelDao schannelDao = new StockChannelDao(); OrderDao orderDao = new OrderDao(); OrderDao detailDao = new OrderDao(); SysParameterDao parameterDao = new SysParameterDao(); Dictionary<string, string> parameter = parameterDao.FindParameters(); //每天分拣结束后备货烟道是否为空 if (parameter["ClearStockChannel"] == "1") schannelDao.ClearCigarette(); //查询补货烟道表 DataTable channelTable = schannelDao.FindChannel(); //查询通道机卷烟数量信息表 DataTable orderCTable = orderDao.FindCigaretteQuantityFromChannelUsed(orderDate, batchNo, "3"); //查询立式机卷烟数量信息表(应加上混合烟道问题) DataTable orderTTable = orderDao.FindCigaretteQuantityFromChannelUsed(orderDate, batchNo, "2"); //取所有订单品牌及总数量 DataTable orderTable = detailDao.FindAllCigaretteQuantity(orderDate, batchNo,false).Tables[0]; StockOptimize stockOptimize = new StockOptimize(); bool isUseSynchronizeOptimize = Convert.ToBoolean(parameter["IsUseSynchronizeOptimize"]); DataTable mixTable = stockOptimize.Optimize(isUseSynchronizeOptimize, channelTable, isUseSynchronizeOptimize ? orderCTable : orderTable, isUseSynchronizeOptimize ? orderTTable : orderTable, orderDate, batchNo); schannelDao.UpdateChannel(channelTable); schannelDao.InsertStockChannelUsed(orderDate, batchNo,channelTable); schannelDao.InsertMixChannel(mixTable); if (OnSchedule != null) OnSchedule(this, new ScheduleEventArgs(6, "备货烟道优化", 1, 1)); } }