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); }
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") : " "); // 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())); }
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, "")); }