示例#1
0
        private static List <DBModel> GetDBModel(DBParam dbParam)
        {
            List <DBModel> result = null;

            DataCommand dc = DataCommandManager.GetDataCommand(dbParam.CommandName);

            dc.SetParameterValue("@PMUserSysNo", dbParam.PMUserSysNo);
            if (dbParam.today != null)
            {
                dc.SetParameterValue("@today", dbParam.today);
            }
            if (dbParam.yesterday != null)
            {
                dc.SetParameterValue("@yesterday", dbParam.yesterday);
            }
            if (dbParam.daybefore21 != null)
            {
                dc.SetParameterValue("@daybefore21", dbParam.daybefore21);
            }
            dc.SetParameterValue("@status", dbParam.status);
            if (dbParam.status1 != null)
            {
                dc.SetParameterValue("@status1", dbParam.status1);
            }

            result = dc.ExecuteEntityList <DBModel>();


            return(result);
        }
示例#2
0
        private static string GetReportHtml(DBParam dbParam, string htmlReports, string htmlRows, out int num, out decimal cost)
        {
            StringBuilder  sbReport = new StringBuilder();
            List <DBModel> reports  = GetDBModel(dbParam);

            htmlReports = htmlReports.Replace("{ListName}", dbParam.reportName);
            htmlReports = htmlReports.Replace("{RegisterNum}", reports.Count.ToString());
            decimal OverTimeCost = 0;

            foreach (DBModel dbm in reports)
            {
                StringBuilder dbItem = new StringBuilder(htmlRows);
                dbItem.Replace("{SysNo}", dbm.SysNo.ToString());

                dbItem.Replace("{productid}", dbm.productid);
                dbItem.Replace("{productname}", dbm.productname);
                dbItem.Replace("{CustomerDesc}", dbm.CustomerDesc);

                dbItem.Replace("{statusName}", dbParam.statusName);
                //DBModelPMInfo pmInfo = null;
                //if (dbm.PMUserSysNo!=null)
                //{
                //    pmInfo = GetDBModelPMInfo(dbm.PMUserSysNo.Value);
                //}
                //if (pmInfo != null)
                //{
                //    dbItem.Replace("{pmName}", pmInfo.UserName);
                //}
                //else
                //{
                //    dbItem.Replace("{pmName}", "");
                //}
                dbItem.Replace("{pmName}", dbParam.PMUserName);
                dbItem.Replace("{VendorName}", dbm.VendorName);
                dbItem.Replace("{LastVendorSysNo}", dbm.LastVendorSysNo.ToString());
                dbItem.Replace("{Cost}", (dbm.Cost != null) ? dbm.Cost.Value.ToString("#########0.00") : "&nbsp;&nbsp;");
                //
                OverTimeCost += (dbm.Cost != null) ? dbm.Cost.Value : 0;
                sbReport.Append(dbItem);

                dbItem.Length = 0;
            }
            htmlReports = htmlReports.Replace("{RegisterCost}", OverTimeCost.ToString("#,###,###,##0.00"));
            num         = reports.Count;
            cost        = OverTimeCost;
            return(htmlReports.Replace("[rows]" + htmlRows + "[/rows]", sbReport.ToString()));
        }
示例#3
0
        private static int SendMail(int pmsysno, string pmUserName, string email, string ccEmail, string mailSubject, string mailBody, string htmlReports, string htmlRows)
        {
            //if (email!="*****@*****.**")
            //{
            //    return 0;
            //}
            StringBuilder sbReports = new StringBuilder();

            int     num = 0, totalNum = 0;
            decimal cost = 0, totalCost = 0;
            string  repostHtml = "";

            #region reports
            DBParam dbParam = new DBParam();
            #region 1
            dbParam.reportName  = "今日接受件";
            dbParam.CommandName = "RMARequestStatus";
            dbParam.today       = DateTime.Today;
            dbParam.yesterday   = DateTime.Today.AddDays(-1);
            dbParam.PMUserSysNo = pmsysno;
            dbParam.PMUserName  = pmUserName;
            //dbParam.status = (int)RMARequestStatus.Handling;
            dbParam.status     = 1;
            dbParam.statusName = "处理中";

            repostHtml = GetReportHtml(dbParam, htmlReports, htmlRows, out num, out cost);
            sbReports.Append(repostHtml);
            mailBody   = mailBody.Replace("{RecRegisterNum}", num.ToString());
            mailBody   = mailBody.Replace("{RecRegisterCost}", cost.ToString("#,###,###,##0.00"));
            totalNum  += num;
            totalCost += cost;
            #endregion

            #region 2
            dbParam             = new DBParam();
            dbParam.reportName  = "当日返还物品清单";
            dbParam.CommandName = "RMAOutBoundStatus";
            dbParam.today       = DateTime.Today;
            dbParam.yesterday   = DateTime.Today.AddDays(-1);
            dbParam.PMUserSysNo = pmsysno;
            dbParam.PMUserName  = pmUserName;
            //dbParam.status = (int)RMAOutBoundStatus.Responsed;
            dbParam.status     = 3;
            dbParam.statusName = "全部返还";

            repostHtml = GetReportHtml(dbParam, htmlReports, htmlRows, out num, out cost);
            sbReports.Append(repostHtml);
            mailBody   = mailBody.Replace("{RevertedNum}", num.ToString());
            mailBody   = mailBody.Replace("{RevertedCost}", cost.ToString("#,###,###,##0.00"));
            totalNum  += num;
            totalCost += cost;
            #endregion

            #region 3
            dbParam             = new DBParam();
            dbParam.reportName  = "当日退款物品清单";
            dbParam.CommandName = "RMARefundStatus";
            dbParam.today       = DateTime.Today;
            dbParam.yesterday   = DateTime.Today.AddDays(-1);
            dbParam.PMUserSysNo = pmsysno;
            dbParam.PMUserName  = pmUserName;
            //dbParam.status = (int)ERefundStatus.Refunded;
            dbParam.status     = 2;
            dbParam.statusName = "已退款";

            repostHtml = GetReportHtml(dbParam, htmlReports, htmlRows, out num, out cost);
            sbReports.Append(repostHtml);
            mailBody   = mailBody.Replace("{RefundedNum}", num.ToString());
            mailBody   = mailBody.Replace("{RefundedCost}", cost.ToString("#,###,###,##0.00"));
            totalNum  += num;
            totalCost += cost;
            #endregion

            #region 4
            dbParam             = new DBParam();
            dbParam.reportName  = "当日发新物品清单";
            dbParam.CommandName = "RMARevertStatus";
            dbParam.today       = DateTime.Today;
            dbParam.yesterday   = DateTime.Today.AddDays(-1);
            dbParam.PMUserSysNo = pmsysno;
            dbParam.PMUserName  = pmUserName;
            //dbParam.status = (int)RMARevertStatus.Reverted;
            //dbParam.status1 = (int)RMANewProductStatus.Origin;
            dbParam.status     = 1;
            dbParam.status1    = 0;
            dbParam.statusName = "非换货";

            repostHtml = GetReportHtml(dbParam, htmlReports, htmlRows, out num, out cost);
            sbReports.Append(repostHtml);
            mailBody   = mailBody.Replace("{RevertedNewNum}", num.ToString());
            mailBody   = mailBody.Replace("{RevertedNewCost}", cost.ToString("#,###,###,##0.00"));
            totalNum  += num;
            totalCost += cost;
            #endregion

            #region 5
            dbParam             = new DBParam();
            dbParam.reportName  = "当日退货入库清单";
            dbParam.CommandName = "RMAReturnStatus";
            dbParam.today       = DateTime.Today;
            dbParam.yesterday   = DateTime.Today.AddDays(-1);
            dbParam.PMUserSysNo = pmsysno;
            dbParam.PMUserName  = pmUserName;
            //dbParam.status = (int)RMAReturnStatus.Returned;
            dbParam.status     = 1;
            dbParam.statusName = "已退正式库";

            repostHtml = GetReportHtml(dbParam, htmlReports, htmlRows, out num, out cost);
            sbReports.Append(repostHtml);
            mailBody   = mailBody.Replace("{ReturnedNum}", num.ToString());
            mailBody   = mailBody.Replace("{ReturnedCost}", cost.ToString("#,###,###,##0.00"));
            totalNum  += num;
            totalCost += cost;
            #endregion

            #region 6
            dbParam             = new DBParam();
            dbParam.reportName  = "超时未结束物品清单";
            dbParam.CommandName = "RMARequestStatus21";
            dbParam.daybefore21 = DateTime.Today.AddDays(-21);
            dbParam.PMUserSysNo = pmsysno;
            dbParam.PMUserName  = pmUserName;
            //dbParam.status = (int)RMARequestStatus.Handling;
            dbParam.status     = 1;
            dbParam.statusName = "处理中";

            repostHtml = GetReportHtml(dbParam, htmlReports, htmlRows, out num, out cost);
            sbReports.Append(repostHtml);
            mailBody   = mailBody.Replace("{OverTimeNum}", num.ToString());
            mailBody   = mailBody.Replace("{OverTimeCost}", cost.ToString("#,###,###,##0.00"));
            totalNum  += num;
            totalCost += cost;
            #endregion

            #endregion

            StringBuilder sbBody = new StringBuilder(mailBody);
            sbBody.Replace("[reports]" + htmlReports + "[/reports]", sbReports.ToString());
            sbBody.Replace("{year}", DateTime.Now.Year.ToString());
            sbBody.Replace("{month}", DateTime.Now.Month.ToString());
            sbBody.Replace("{day}", DateTime.Now.Day.ToString());
            sbBody.Replace("{allRegisterNum}", totalNum.ToString());
            sbBody.Replace("{allRegisterCost}", totalCost.ToString("#,###,###,##0.00"));
            mailBody = sbBody.ToString();

            return(InsertAsyncEmailInternal(email, mailSubject, mailBody, 0, ccEmail, "", 1, ""));
        }