예제 #1
0
        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=&quot;&quot;;\" onmouseover=\"currentcolor=this.style.backgroundColor;this.style.backgroundColor=&quot;#d8e3e7&quot;,this.style.fontWeight=&quot;&quot;;jquery_Tools_showthis(this);\">");
                    }
                    else
                    {
                        sb.Append("<tr class=\"GridViewAlternatingRowStyle\" onmouseout=\"this.style.backgroundColor=currentcolor,this.style.fontWeight=&quot;&quot;;\" onmouseover=\"currentcolor=this.style.backgroundColor;this.style.backgroundColor=&quot;#d8e3e7&quot;,this.style.fontWeight=&quot;&quot;;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());
        }
예제 #2
0
        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();
            }
        }