Esempio n. 1
0
        public async Task <IActionResult> QcSentMailDtrFgtResult(string stage, string modelNo, string article, string labNo, string remark, string type, string reason)
        {
            _logger.LogInformation(String.Format(@"******DTRController SentMailF340PpdByArticle fired!! ******"));
            ModelDah modelDah = _modelDahDAO.FindSingle(
                x => x.MODELNO.Trim() == modelNo.Trim() && x.FACTORYID.Trim() == labNo.Substring(0, 1));
            var season = modelDah.SEASON;

            var toMails = new List <string>();
            List <BasicCodeDto> list017 = await _dKSDAO.GetBasicCodeDto("017");    //017 = 開發小組

            BasicCodeDto teamId = list017.FirstOrDefault(x => x.Key == modelDah.DEVTEAMID.Trim());

            if (stage == "CR2" || stage == "SMS" || stage == "CS1")    //mail to DEV
            {
                toMails = teamId.MemoZh3.Split(";").Where(x => x.Length > 5).ToList();
            }
            else if (stage == "CS2" || stage == "CS3")      //mail to COMM
            {
                toMails = teamId.MemoZh4.Split(";").Where(x => x.Length > 5).ToList();
            }

            var content = string.Format(@"Hi Team: 
{0} Test report has been evaluated from pass to fail or deleted, please check with QC team.
(Model name: {1}, Season: {2}, Model No: {3}, Article: {4})
Type: {5}。  Reason: {6}。 Remark: {7}
", stage, modelDah.MODELNAME, season, modelNo, article, type, reason, remark);

            await _sendMailService.SendListMailAsync(toMails, null, string.Format(@"Test report change result (Season: {0}, Stage: {1}, Model Name: {2}, Model No:{3}, Art:{4})", season, stage, modelDah.MODELNAME, modelNo, article), content, null);

            return(Ok());
        }
Esempio n. 2
0
        public async Task <IActionResult> TransitArticle(TransitArticleDto transitArticleDto)
        {
            string status = "0";
            string errMsg = "";

            _logger.LogInformation(String.Format(@"****** DKSController TransitArticle fired!! ******"));
            Articled checkArt = _articledDAO.FindSingle(
                x => x.ARTICLE.Trim() == transitArticleDto.Article.Trim() &&
                x.STAGE.Trim() == transitArticleDto.Stage.Trim() &&
                x.FACTORYID.Trim() == transitArticleDto.FactoryId.Trim());

            if (checkArt != null)
            {
                errMsg = "The Article、Stage、Factory is exist. Please refresh page and try again.";
                return(Ok(errMsg));
            }

            Articled fromArt = _articledDAO.FindSingle(
                x => x.PKARTBID.Trim() == transitArticleDto.PkArticle.Trim());

            // Step1: save fromArt to db (status =0 )
            fromArt.MODELNO   = transitArticleDto.ModelNo.Trim();
            fromArt.STAGE     = transitArticleDto.Stage.Trim();
            fromArt.FACTORYID = transitArticleDto.FactoryId;
            fromArt.STATUS    = status;
            fromArt.MDUSERID  = transitArticleDto.UpdateUser.ToDecimal();
            fromArt.CHANGDATE = DateTime.Now;
            fromArt.INSERDATE = DateTime.Now;

            //fromArt.REMARK = string.Format("Transit From Factory: {0} ,Update User: {1}", transitArticleDto.FactoryIdFrom,transitArticleDto.UpdateUser);
            //get new PKARTICLE
            var newPkArticle = _commonService.GetPKARTBID();

            fromArt.PKARTBID = newPkArticle;
            _articledDAO.Add(fromArt);
            await _articledDAO.SaveAll();

            _logger.LogInformation(String.Format(@"****** Save ARTICLED Success!! PKARTICLE: {0} ******", newPkArticle));
            // Step2: copy ARTICLE_PICTURE and save to DB
            ArticlePicture fromArtPic = _articlePictureDAO.FindSingle(
                x => x.FKARTICID.Trim() == transitArticleDto.PkArticle.Trim());

            if (fromArtPic != null)
            {
                fromArtPic.FKARTICID = newPkArticle;
                _articlePictureDAO.Add(fromArtPic);
                await _articlePictureDAO.SaveAll();
            }

            _logger.LogInformation(String.Format(@"****** Save ARTICLEPICTURE Success!! FKARTICID: {0} ******", newPkArticle));
            // Step3: if the new article don't have model in db copy one.
            ModelDah toModel = _modelDahDAO.FindSingle(
                x => x.MODELNO.Trim() == transitArticleDto.ModelNo.Trim() &&
                x.FACTORYID.Trim() == transitArticleDto.FactoryId.Trim());

            if (toModel == null)
            {
                ModelDah fromModel = _modelDahDAO.FindSingle(
                    x => x.MODELNO.Trim() == transitArticleDto.ModelNoFrom.Trim() &&
                    x.FACTORYID.Trim() == transitArticleDto.FactoryIdFrom.Trim());
                fromModel.MODELNO     = transitArticleDto.ModelNo.Trim();
                fromModel.DEVTEAMID   = transitArticleDto.DevTeamId;
                fromModel.DEVELOPERID = "";
                fromModel.FACTORYID   = transitArticleDto.FactoryId;
                fromModel.STATUS      = status;
                fromModel.MDUSERID    = transitArticleDto.UpdateUser.ToDecimal();
                fromModel.CHANGDATE   = DateTime.Now;
                _modelDahDAO.Add(fromModel);
                await _modelDahDAO.SaveAll();

                _logger.LogInformation(String.Format(@"****** Save ModelDah Success!! ModelNo: {0}, FactoryId: {1} ******", fromModel.MODELNO, fromModel.FACTORYID));
            }
            //step4: stend email

            /*
             * //var dksSignature = _config.GetSection("DksSignatureLine").Value;
             * var dksSignature = "";
             * var content = string.Format(@"The Article : {0} was Transit from factory: {1}, please check it in F205 Article of the below website.{2}", transitArticleDto.Article, transitArticleDto.FactoryIdFrom , dksSignature);
             *
             * var toMails = new List<string>();
             *
             * toMails.Add(transitArticleDto.Email);
             * await _sendMailService.SendListMailAsync(toMails, null, "A Article was Transit Please check it in F205 !", content, null);
             * _logger.LogInformation(String.Format(@"******Sent Mail F205 Article Transit to : {0} ******", transitArticleDto.Email));
             */
            //step5 : insert to dtr_excel and dtr_cwa date
            _dKSDAO.GetTransferToDTR(transitArticleDto.FactoryIdFrom, transitArticleDto.FactoryId, transitArticleDto.Article.Trim());
            return(Ok(errMsg));
        }