Ejemplo n.º 1
0
        protected override void Grid_ClickCellButton(GridRecord row, string commandName)
        {
            // base.Grid_ClickCellButton(sender, e);

            SystemSettingFacade systemSettingFacade = new SystemSettingFacade(this.DataProvider);
            UserFacade          userFacade          = new UserFacade(this.DataProvider);

            if (commandName == "Download")
            {
                string tryCode = row.Items.FindItemByKey("TryCode").Value.ToString();
                if (facade == null)
                {
                    facade = new TryFacade(base.DataProvider);
                }
                object trySelected = facade.GetTry(tryCode);
                if (trySelected == null)
                {
                    ExceptionManager.Raise(this.GetType(), "试流单不存在");
                }
                Try selectedTry = trySelected as Try;

                string originalFilePath = this.Request.PhysicalApplicationPath + @"download\TryCode.htm";
                if (!File.Exists(originalFilePath))
                {
                    ExceptionManager.Raise(this.GetType(), "文件[TryCode.htm]不存在");
                }

                //获取Deparment Name
                string deparmentCode = selectedTry.Department;
                string deparmentName = " ";
                if (deparmentCode.Trim().Length > 0)
                {
                    Domain.BaseSetting.Parameter department = (Domain.BaseSetting.Parameter)systemSettingFacade.GetParameter(selectedTry.Department, "DEPARTMENT");
                    if (department != null)
                    {
                        deparmentName = department.ParameterAlias;
                    }
                }

                //获取Create User Name
                string createUserCode = selectedTry.CreateUser;
                string createUserName = "******";
                if (createUserCode.Trim().Length > 0)
                {
                    User createUser = (User)userFacade.GetUser(createUserCode);
                    if (createUser != null)
                    {
                        createUserName = createUser.UserName;
                    }
                }

                string fileContent = File.ReadAllText(originalFilePath, Encoding.GetEncoding("GB2312"));
                fileContent = fileContent.Replace("$$TryCode$$", selectedTry.TryCode);
                fileContent = fileContent.Replace("$$Department$$", deparmentName);
                fileContent = fileContent.Replace("$$CreateUser$$", createUserName);
                fileContent = fileContent.Replace("$$ReleaseDate$$", selectedTry.ReleaseDate == 0 ? " " : FormatHelper.ToDateString(selectedTry.ReleaseDate, "/"));
                //fileContent = fileContent.Replace("$$ReleaseDate$$", selectedTry.ReleaseDate == 0 ? " " : selectedTry.ReleaseDate.ToString());
                fileContent = fileContent.Replace("$$MaterialCode$$", selectedTry.ItemCode == "" ? " " : selectedTry.ItemCode);
                fileContent = fileContent.Replace("$$MaterialDescription$$", row.Items.FindItemByKey("Dept").Value.ToString() == "" ? " " : row.Items.FindItemByKey("Dept").Value.ToString());
                fileContent = fileContent.Replace("$$PlanQuantity$$", selectedTry.PlanQty.ToString());
                fileContent = fileContent.Replace("$$VendorCode$$", selectedTry.VendorName == "" ? " " : selectedTry.VendorName);
                fileContent = fileContent.Replace("$$Result$$", selectedTry.Result == "" ? " " : selectedTry.Result);
                fileContent = fileContent.Replace("$$Memo$$", selectedTry.Memo == "" ? " " : selectedTry.Memo);
                //fileContent = fileContent.Replace("$$PrintDateTime$$", DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss", new System.Globalization.CultureInfo("en-US")));
                fileContent = fileContent.Replace("$$TryType$$", selectedTry.TryType.Trim() == "" ? " " : this.languageComponent1.GetString(selectedTry.TryType));
                fileContent = fileContent.Replace("$$TryReason$$", selectedTry.TryReason == "" ? " " : selectedTry.TryReason);
                fileContent = fileContent.Replace("$$SoftVersion$$", selectedTry.SoftVersion == "" ? " " : selectedTry.SoftVersion);
                fileContent = fileContent.Replace("$$WaitTry$$", selectedTry.WaitTry == "" ? " " : this.languageComponent1.GetString(selectedTry.WaitTry));
                fileContent = fileContent.Replace("$$Change$$", selectedTry.Change == "" ? " " : this.languageComponent1.GetString(selectedTry.Change));
                fileContent = fileContent.Replace("$$BurnINDuration$$", selectedTry.BurnINDuration == "" ? " " : selectedTry.BurnINDuration);

                string downloadPhysicalPath = this.Request.PhysicalApplicationPath + @"upload\";
                if (!Directory.Exists(downloadPhysicalPath))
                {
                    Directory.CreateDirectory(downloadPhysicalPath);
                }

                string filename = string.Format("{0}_{1}_{2}", row.Items.FindItemByKey("TryCode").Value.ToString(), FormatHelper.TODateInt(System.DateTime.Now).ToString(), FormatHelper.TOTimeInt(System.DateTime.Now).ToString());
                string filepath = string.Format(@"{0}{1}{2}", downloadPhysicalPath, filename, ".xls");

                while (File.Exists(filepath))
                {
                    filename = string.Format("{0}_{1}", filename, "0");
                    filepath = string.Format(@"{0}{1}{2}", downloadPhysicalPath, filename, ".xls");
                }

                StreamWriter writer = new StreamWriter(filepath, false, System.Text.Encoding.GetEncoding("GB2312"));
                writer.Write(fileContent);
                writer.Flush();
                writer.Close();

                this.DownloadFile(filename);
            }
        }
Ejemplo n.º 2
0
        public Messages Execute(ActionEventArgs actionEventArgs)
        {
            Messages         messages         = new Messages();
            DataCollectDebug dataCollectDebug = new DataCollectDebug(this.GetType().ToString() + "Collect");

            TryEventArgs tryEventArgs = actionEventArgs as TryEventArgs;
            DBDateTime   dbDateTime   = FormatHelper.GetNowDBDateTime(this.DataProvider);
            int          date         = dbDateTime.DBDate;
            int          time         = dbDateTime.DBTime;
            string       userCode     = tryEventArgs.UserCode;

            string tryCode   = tryEventArgs.TryCode.Trim().ToUpper();
            string mItemCode = tryEventArgs.MItemCode.Trim().ToUpper();
            string mCard     = tryEventArgs.MRunningCard.Trim().ToUpper();
            string itemCode  = tryEventArgs.ItemCode.Trim().ToUpper();
            string rCard     = tryEventArgs.RunningCard.Trim().ToUpper();

            dataCollectDebug.WhenFunctionIn(messages);
            try
            {
                TryFacade tryFacade = new TryFacade(this.DataProvider);

                //用于上料或者carton采集
                if (tryEventArgs.ForCollect)
                {
                    if (string.IsNullOrEmpty(tryEventArgs.MRunningCard))
                    {
                        List <string> TryCodeList = new List <string>();
                        if (tryEventArgs.TryCode.Trim().Length > 0)
                        {
                            if (tryEventArgs.TryCode.IndexOf(",") >= 0)
                            {
                                string[] TryCode = tryEventArgs.TryCode.Split(',');
                                for (int i = 0; i < TryCode.Length; i++)
                                {
                                    TryCodeList.Add(TryCode[i]);
                                }
                            }
                            else
                            {
                                TryCodeList.Add(tryEventArgs.TryCode.Trim());
                            }

                            for (int i = 0; i < TryCodeList.Count; i++)
                            {
                                string TryCode = TryCodeList[i].ToString().Trim().ToUpper();

                                Try2RCard try2RCard = (Try2RCard)tryFacade.GetTry2RCard(TryCode, tryEventArgs.RunningCard, tryEventArgs.ItemCode);
                                if (try2RCard == null)
                                {
                                    try2RCard = tryFacade.CreateNewTry2RCard();

                                    try2RCard.TryCode      = TryCode;
                                    try2RCard.RCard        = tryEventArgs.RunningCard;
                                    try2RCard.ItemCode     = tryEventArgs.ItemCode;
                                    try2RCard.OPCode       = tryEventArgs.OPCode;
                                    try2RCard.MaintainDate = date;
                                    try2RCard.MaintainTime = time;
                                    try2RCard.MaintainUser = userCode;
                                    try2RCard.EAttribute1  = " ";

                                    tryFacade.AddTry2RCard(try2RCard);

                                    object objectTry = tryFacade.GetTry(TryCode);
                                    if (objectTry != null)
                                    {
                                        ((Try)objectTry).ActualQty   += 1;
                                        ((Try)objectTry).Status       = TryStatus.STATUS_PRODUCE;
                                        ((Try)objectTry).MaintainDate = date;
                                        ((Try)objectTry).MaintainTime = time;
                                        ((Try)objectTry).MaintainUser = userCode;
                                        if (tryEventArgs.ForLinkLot)
                                        {
                                            ((Try)objectTry).LinkLot = "Y";
                                        }
                                        else
                                        {
                                            if (((Try)objectTry).LinkLot != "Y")
                                            {
                                                ((Try)objectTry).LinkLot = "N";
                                            }
                                        }

                                        if (string.IsNullOrEmpty(((Try)objectTry).LinkLot))
                                        {
                                            ((Try)objectTry).LinkLot = "N";
                                        }

                                        tryFacade.UpdateTry((Try)objectTry);
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        object[] try2RCardList = tryFacade.QueryTry2RCard(tryCode, mCard, mItemCode);
                        if (try2RCardList != null)
                        {
                            foreach (Try2RCard try2RCard in try2RCardList)
                            {
                                Try2RCard try2RCardParent = (Try2RCard)tryFacade.GetTry2RCard(try2RCard.TryCode, rCard, itemCode);
                                if (try2RCardParent == null)
                                {
                                    try2RCardParent = tryFacade.CreateNewTry2RCard();

                                    try2RCardParent.TryCode      = try2RCard.TryCode;
                                    try2RCardParent.RCard        = rCard;
                                    try2RCardParent.ItemCode     = itemCode;
                                    try2RCardParent.OPCode       = tryEventArgs.OPCode;
                                    try2RCardParent.MaintainDate = date;
                                    try2RCardParent.MaintainTime = time;
                                    try2RCardParent.MaintainUser = userCode;
                                    try2RCardParent.EAttribute1  = " ";

                                    tryFacade.AddTry2RCard(try2RCardParent);

                                    object objectTry = tryFacade.GetTry(try2RCard.TryCode);
                                    if (objectTry != null)
                                    {
                                        //((Try)objectTry).ActualQty += 1;
                                        ////((Try)objectTry).Status = TryStatus.STATUS_PRODUCE;
                                        //((Try)objectTry).MaintainDate = date;
                                        //((Try)objectTry).MaintainTime = time;
                                        //((Try)objectTry).MaintainUser = userCode;
                                        ////隐形的LINKLOT不改变 changed by hiro 2009/01/19
                                        ////if (tryEventArgs.ForLinkLot)
                                        ////{
                                        ////    ((Try)objectTry).LinkLot = "Y";
                                        ////}
                                        ////else
                                        ////{
                                        ////    if (((Try)objectTry).LinkLot != "Y")
                                        ////    {
                                        ////        ((Try)objectTry).LinkLot = "N";
                                        ////    }
                                        ////}

                                        ////if (string.IsNullOrEmpty(((Try)objectTry).LinkLot))
                                        ////{
                                        ////    ((Try)objectTry).LinkLot = "N";
                                        ////}
                                        //tryFacade.UpdateTry((Try)objectTry);
                                    }
                                }
                            }
                        }
                    }
                }
                //用于拆解
                else
                {
                    object[] try2RCardList = tryFacade.QueryTry2RCard(tryCode, mCard, mItemCode);

                    if (try2RCardList != null)
                    {
                        foreach (Try2RCard try2RCard in try2RCardList)
                        {
                            Try2RCard try2RCardParent = (Try2RCard)tryFacade.GetTry2RCard(try2RCard.TryCode, rCard, itemCode);

                            if (try2RCardParent != null)
                            {
                                Try objectTry = (Try)tryFacade.GetTry(try2RCard.TryCode);
                                if (objectTry != null)
                                {
                                    objectTry.ActualQty   -= 1;
                                    objectTry.MaintainDate = date;
                                    objectTry.MaintainTime = time;
                                    objectTry.MaintainUser = userCode;

                                    tryFacade.UpdateTry(objectTry);
                                }

                                tryFacade.DeleteTry2RCard(try2RCardParent);
                            }
                        }
                    }
                }
            }
            catch (Exception e)
            {
                messages.Add(new Message(e));
            }

            dataCollectDebug.WhenFunctionOut(messages);
            return(messages);
        }