public string GetRMASnapShot(RMAInfo oParam) { StringBuilder sb = new StringBuilder(); if (oParam.ItemHash.Count > 0) { sb.Append("<table class=\"GridViewStyle\" cellspacing=\"0\" rules=\"all\" border=\"1\" id=\"Table99\" style=\"width: 100%;border-collapse: collapse;\">"); sb.Append(" <tr class=\"GridViewHeaderStyle\">"); sb.Append(" <td>" + oParam.RMAID + "</td>"); sb.Append(" <td>商品名称</td>"); sb.Append(" <td>返修数量</td>"); sb.Append(" <td>返修类型</td>"); sb.Append(" <td>返修原因</td>"); sb.Append(" </tr>"); Hashtable SysnoHt = new Hashtable(); foreach (RMAItemInfo item in oParam.ItemHash.Values) { SysnoHt.Add(item.ProductSysNo, item.ProductSysNo); } Hashtable PbHt = Icson.BLL.Basic.ProductManager.GetInstance().GetProductBoundle(SysnoHt); int i = 1; foreach (RMAItemInfo item in oParam.ItemHash.Values) { if ((i % 2) != 0) { sb.Append("<tr class=\"GridViewRowStyle\" onmouseout=\"this.style.backgroundColor=currentcolor,this.style.fontWeight="";\" onmouseover=\"currentcolor=this.style.backgroundColor;this.style.backgroundColor="#d8e3e7",this.style.fontWeight="";jquery_Tools_showthis(this);\">"); } else { sb.Append("<tr class=\"GridViewAlternatingRowStyle\" onmouseout=\"this.style.backgroundColor=currentcolor,this.style.fontWeight="";\" onmouseover=\"currentcolor=this.style.backgroundColor;this.style.backgroundColor="#d8e3e7",this.style.fontWeight="";jquery_Tools_showthis(this);\">"); } i++; foreach (ProductBasicInfo PbInfo in PbHt.Values) { if (PbInfo.SysNo == item.ProductSysNo) { sb.Append("<td>"); sb.Append(PbInfo.ProductID); sb.Append("</td>"); sb.Append("<td>"); sb.Append(PbInfo.ProductName); sb.Append("</td>"); break; } } sb.Append(" <td>" + item.RMAQty.ToString() + "</td>"); sb.Append(" <td>" + AppEnum.GetRMAType(item.RMAType) + "</td>"); sb.Append(" <td>" + item.RMADesc + "</td>"); sb.Append("</tr>"); } sb.Append("</table>"); } return(sb.ToString()); }
public void Import() { string sql = @"select top 1 * from rma_master; select top 1 * from rma_item;" ; DataSet ds = SqlHelper.ExecuteDataSet(sql); foreach (DataTable dt in ds.Tables) { if (Util.HasMoreRow(dt)) { throw new BizException("The target is not empty"); } } TransactionOptions options = new TransactionOptions(); options.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted; options.Timeout = TransactionManager.DefaultTimeout; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, options)) { //Insert RMA_Master string sqlMaster = @"select rm.sysno, rmaid, sosysno, customsysno as customersysno, approvetime as audittime, suau.newsysno as auditusersysno, status, rmatime as createtime, note as rmanote,note as ccnote from ipp2003..rma_master rm left join ippconvert..sys_user suau on suau.oldsysno = rm.approversysno" ; DataSet dsMaster = SqlHelper.ExecuteDataSet(sqlMaster); if (Util.HasMoreRow(dsMaster)) { foreach (DataRow dr in dsMaster.Tables[0].Rows) { RMAInfo oRMA = new RMAInfo(); oRMA.SysNo = Util.TrimIntNull(dr["SysNo"]); oRMA.RMAID = Util.TrimNull(dr["RMAID"]); oRMA.SOSysNo = Util.TrimIntNull(dr["SOSysNo"]); oRMA.CustomerSysNo = Util.TrimIntNull(dr["CustomerSysNo"]); oRMA.AuditTime = Util.TrimDateNull(dr["AuditTime"]); oRMA.AuditUserSysNo = Util.TrimIntNull(dr["AuditUserSysNo"]); switch ((int)dr["Status"]) { case -1: oRMA.Status = (int)AppEnum.RMAStatus.Abandon; break; case 0: oRMA.Status = (int)AppEnum.RMAStatus.Origin; break; case 1: oRMA.Status = (int)AppEnum.RMAStatus.Closed; break; } oRMA.CreateTime = Util.TrimDateNull(dr["CreateTime"]); oRMA.RMANote = Util.TrimNull(dr["RMANote"]); oRMA.CCNote = Util.TrimNull(dr["CCNote"]); oRMA.UserStatus = 1; new RMADac().InsertMaster(oRMA); } } //Insert RMA_Item string sqlItem = @"select 1 as sysno,rmasysno,case realrmatype when 3 then " + (int)AppEnum.RMAType.Overrule + @" when 1 then " + (int)AppEnum.RMAType.Return + @" when 2 then " + (int)AppEnum.RMAType.Maintain + @" end as rmatype, realrmaquantity as rmaqty, realrmareason as rmadesc,pb.newsysno as productsysno from ipp2003..rma_item ri inner join ippconvert..productbasic pb on pb.oldsysno = ri.productsysno" ; DataSet dsItem = SqlHelper.ExecuteDataSet(sqlItem); if (Util.HasMoreRow(dsItem)) { foreach (DataRow dr in dsItem.Tables[0].Rows) { RMAItemInfo oRMAItem = new RMAItemInfo(); this.map(oRMAItem, dr); new RMADac().InsertItem(oRMAItem); } } //Insert SnapShot string sqlSnapShot = @"select rmasysno,rmaid,case rmatype when 0 then " + (int)AppEnum.RMAType.Unsure + @" when 1 then " + (int)AppEnum.RMAType.Return + @" when 2 then " + (int)AppEnum.RMAType.Maintain + @" end as rmatype, rmaquantity as rmaqty, rmareason as rmadesc,pb.newsysno as productsysno,pl.productname,p.productid from ipp2003..rma_item ri inner join ippconvert..productbasic pb on pb.oldsysno = ri.productsysno inner join ipp2003..product_language pl on pl.productsysno = ri.productsysno and pl.languageid = 'cn' inner join ipp2003..product p on p.sysno = ri.productsysno inner join ipp2003..rma_master rm on rm.sysno = ri.rmasysno order by rmasysno" ; DataSet dsSnapShot = SqlHelper.ExecuteDataSet(sqlSnapShot); if (Util.HasMoreRow(dsSnapShot)) { StringBuilder sb = new StringBuilder(); int tempSysNo = 0; foreach (DataRow dr in dsSnapShot.Tables[0].Rows) { if (tempSysNo != (int)dr["RMASysNo"]) { if (tempSysNo != 0) { sb.Append("</table>"); Hashtable updateht = new Hashtable(); updateht.Add("SysNo", tempSysNo); updateht.Add("SubmitInfo", sb.ToString()); updateht.Add("ReceiveInfo", sb.ToString()); new RMADac().UpdateMaster(updateht); sb.Remove(0, sb.Length); } sb.Append("<table width='100%' border='1' cellpadding='0' cellspacing='0'>"); sb.Append(" <tr>"); sb.Append(" <td>" + dr["RMAID"].ToString() + "</td>"); sb.Append(" <td>商品名称</td>"); sb.Append(" <td>返修数量</td>"); sb.Append(" <td>返修类型</td>"); sb.Append(" <td>返修原因</td>"); sb.Append(" </tr>"); } sb.Append("<tr>"); sb.Append(" <td>" + dr["ProductID"].ToString() + "</td>"); sb.Append(" <td>" + dr["ProductName"].ToString() + "</td>"); sb.Append(" <td>" + dr["RMAQty"].ToString() + "</td>"); sb.Append(" <td>" + AppEnum.GetRMAType(Util.TrimIntNull(dr["RMAType"])) + "</td>"); sb.Append(" <td>" + dr["RMADesc"].ToString() + "</td>"); sb.Append("</tr>"); tempSysNo = (int)dr["RMASysNo"]; } } //Insert Sequence string sqlMaxSysNo = @"select max(sysno) as sysno from rma_master"; DataSet dsMaxSysNo = SqlHelper.ExecuteDataSet(sqlMaxSysNo); int n = 0; while (n < Util.TrimIntNull(dsMaxSysNo.Tables[0].Rows[0][0])) { n = SequenceDac.GetInstance().Create("RMA_Sequence"); } scope.Complete(); } }