Exemplo n.º 1
0
        public bool Create501Message(LogisticsHead logisticsHead)
        {
            bool          isSuccess     = true;
            BaseSubscribe baseSubscribe = null;
            XElement      xele          = null;
            XNamespace    ns            = null;

            try
            {
                Logs.Debug("Create501Message Start!" + logisticsHead.orderNo);
                baseSubscribe = GetBaseSubscribe();
                ns            = "http://www.chinaport.gov.cn/ceb";
                xele          = new XElement(ns + "CEB501Message");
                xele.SetAttributeValue(XNamespace.Xmlns + "ceb", ns);
                xele = logisticsHead.ToXElememt(xele, ns);
                xele = baseSubscribe.ToXElememt(xele, ns);
                FileUtilities.CreateFolder(ConfigurationInfo.PathSend);
                xele.Save(ConfigurationInfo.PathSend + "\\" + logisticsHead.orderNo + "_501.xml");
                Logs.Debug("Create501Message End! OrderNo_" + logisticsHead.orderNo);
            }
            catch (Exception ex)
            {
                Logs.Error("Create501Message Exception: " + ex.ToString());
                isSuccess = false;
            }
            return(isSuccess);
        }
        private LogisticsHead GetLogisticsHead(SqlDataReader dr)
        {
            LogisticsHead result = null;

            try
            {
                result                    = new LogisticsHead();
                result.guid               = Guid.NewGuid();
                result.customsCode        = Convert.ToString(dr["customsCode"]);
                result.appType            = Convert.ToInt32(AppType.Add);
                result.appTime            = DateTime.UtcNow;
                result.appStatus          = Convert.ToInt32(AppStatus.Declare);
                result.appUid             = Convert.ToString(dr["appUid"]);
                result.appUname           = Convert.ToString(dr["appUname"]);
                result.orderNo            = Convert.ToString(dr["customs_OrderNo"]);
                result.ebpCode            = Convert.ToString(dr["ebpCode"]);
                result.ebpName            = Convert.ToString(dr["ebpName"]);
                result.logisticsCode      = Convert.ToString(dr["logisticsCode"]);
                result.logisticsName      = Convert.ToString(dr["logisticsName"]);
                result.logisticsNo        = Convert.ToString(dr["logisticsNo"]);
                result.ieFlag             = OrderType.E;
                result.trafMode           = "9";
                result.trafName           = Convert.ToString(dr["trafName"]);
                result.voyageNo           = Convert.ToString(dr["voyageNo"]);
                result.billNo             = DateTime.Now.ToString("yyyyMMdd") + "_" + result.logisticsNo;
                result.freight            = Convert.ToSingle(dr["loginticsFreight"]);
                result.insuredFee         = Convert.ToSingle(dr["insuredFee"]);
                result.currency           = "142";
                result.weight             = Convert.ToSingle(dr["orderWeight"]);
                result.netWt              = Convert.ToSingle(dr["orderNetWeight"]);
                result.packNo             = Convert.ToSingle(dr["packNo"]);
                result.parcelInfo         = result.logisticsNo;
                result.goodsInfo          = ";";
                result.consignee          = Convert.ToString(dr["consignee"]);
                result.consigneeAddress   = Convert.ToString(dr["consigneeAddress"]);
                result.consigneeTelephone = Convert.ToString(dr["consigneeTelephone"]);
                result.consigneeCountry   = Convert.ToString(dr["consigneeCountry_Code"]);
                result.shipper            = Convert.ToString(dr["shipper"]);
                result.shipperAddress     = Convert.ToString(dr["shipperAddress"]);
                result.shipperTelephone   = Convert.ToString(dr["shipperTelephone"]);
                result.shipperCountry     = "142";
                result.note               = "";
            }
            catch (Exception ex)
            {
                throw new Exception("GetLogisticsHead Exception : " + ex.ToString());
            }
            return(result);
        }
        public void QueryData501(string orderNoFake, ref LogisticsHead logisticsHead)
        {
            SqlDataReader dr = null;

            try
            {
                dr = a_sqlServer.ExePROC("MessageCenterQuery", ConvertToSqlParameters(501, orderNoFake, ""));
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        logisticsHead = GetLogisticsHead(dr);
                    }
                }
            }
            catch (Exception ex)
            {
                Logs.Error("Query501DataByOrderNo Exception : " + ex.ToString());
            }
            finally
            {
                dr.Close();
            }
        }
Exemplo n.º 4
0
        public bool CreateMessage501(string orderNoFake)
        {
            bool           success       = true;
            LogisticsHead  logisticsHead = null;
            MessageSql     mssql         = null;
            MessageService msService     = null;
            XElement       xele          = null;
            XNamespace     ns            = null;

            try
            {
                mssql         = new MessageSql();
                logisticsHead = new LogisticsHead();
                mssql.QueryData501(orderNoFake, ref logisticsHead);

                if (logisticsHead.guid != new Guid())
                {
                    string      url         = GetRequestHostByCode(logisticsHead.logisticsCode);
                    RestRequest restRequest = new RestRequest(string.Format("{0}:{1}/Logistics/Create501", url, ConfigurationInfo.RestPort), Utilities.JsonSerialize(logisticsHead));
                    success = Convert.ToBoolean(restRequest.Execute());
                }
                else
                {
                    success = false;
                }
                if (success)
                {
                    mssql.UpdateSchedule501(orderNoFake, logisticsHead.billNo, logisticsHead.weight.ToString(), logisticsHead.freight.ToString());

                    ns   = "http://www.chinaport.gov.cn/ceb";
                    xele = new XElement(ns + "CEB501Message");
                    xele.SetAttributeValue(XNamespace.Xmlns + "ceb", ns);
                    xele = logisticsHead.ToXElememt(xele, ns);

                    string destPath = FileUtilities.GetNewFolderName(true, ConfigurationInfo.PathBackUp, "501") + "\\" + FileUtilities.GetNewFileName(orderNoFake, "Create") + ".xml";

                    xele.Save(destPath);

                    msService = new MessageService();
                    msService.DealMessage501(false, true, logisticsHead.guid.ToString(), orderNoFake, logisticsHead.logisticsNo, destPath);
                }
                else
                {
                    Logs.Info("Create501Message Response Error! Date:" + Utilities.JsonSerialize(logisticsHead));
                }
            }
            catch (Exception ex)
            {
                success = false;
                Logs.Error("Create501Message Exception: " + ex.ToString());
            }
            finally
            {
                if (!success)
                {
                    MessageCache.DeleteMessageCache("503R" + logisticsHead.logisticsNo);
                    MessageCache.DeleteMessageCache("601" + logisticsHead.logisticsNo);
                }
            }
            return(success);
        }
Exemplo n.º 5
0
        public bool UploadLogistics501(LogisticsHead info)
        {
            LogisticsControl control = new LogisticsControl();

            return(control.Create501Message(info));
        }