Пример #1
0
        /// <summary>
        /// 上传运单号
        /// </summary>
        private static void UploadOrder()
        {
            ResultModelOfboolean           result = new ResultModelOfboolean();
            List <Model_Huadong_Tms_Order> list   = new List <Model_Huadong_Tms_Order>();

            try
            {
                //根据每次查询运单数量为条件查询几条信息
                DataTable dt = HuadongTmsOrderServer.GethuadongTmsOrder(Common._MaxUploadOrderCount);
                if (dt != null && dt.Rows.Count > 0)
                {
                    foreach (DataRow row in dt.Rows)
                    {
                        Model_Huadong_Tms_Order huadong = new Model_Huadong_Tms_Order();
                        huadong.Idk__BackingField         = Convert.ToInt32(row["id"]);
                        huadong.RelationIdk__BackingField = row["relationId"].ToString();
                        list.Add(huadong);
                    }
                    //后台接口,上传数据
                    result = Common._PdaServer.UploadHuadongTmsOrder(list.ToArray());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (result.Data)
                {
                    HuadongTmsOrderServer.DeleteUploadHuadongTmsOrder(list.Select(l => l.RelationIdk__BackingField).ToList());
                }
            }
        }
Пример #2
0
        /// <summary>
        /// 查询华东运单的信息
        /// </summary>
        /// <param name="order"></param>
        /// <returns></returns>
        public static Model_Huadong_Tms_Order Queryhuadongtmsorder(Model_Huadong_Tms_Order order)
        {
            string sql = "select * from huadong_tms_order where id=?id";

            MySqlParameter[] para = new MySqlParameter[1];
            para[0] = new MySqlParameter("id", order.Id);
            Model_Huadong_Tms_Order huadongtmsorder = _SqlHelp.ExecuteObject <Model_Huadong_Tms_Order>(sql, para);

            return(huadongtmsorder);
        }
Пример #3
0
        /// <summary>
        /// 添加华东医药托运订单与惊尘运单关联表 信息
        /// </summary>
        /// <param name="waybillbase"></param>
        /// <returns></returns>
        public static int AddhuadongWaybillbase(Model_Huadong_Tms_Order waybillbase, string HD)
        {
            string sql = "insert into huadong_tmsorder_waybillbase(relationId,number) values(?relationId, ?number)";

            MySqlParameter[] para = new MySqlParameter[2];
            para[0] = new MySqlParameter("relationId", waybillbase.RelationId);
            para[1] = new MySqlParameter("number", HD);
            int result = _SqlHelp.ExecuteNonQuery(sql, para);

            return(result);
        }
Пример #4
0
        /// <summary>
        /// 插入华东医药托运订单的关联编号信息
        /// </summary>
        /// <param name="rela">华东医药托运订单主体信息</param>
        /// <returns></returns>
        public static int UpdateHuadong(string order, Model_Huadong_Tms_Order rela)
        {
            string sql = "update huadong_tms_order set relationId=?relationId where id=?id";

            MySqlParameter[] para = new MySqlParameter[2];
            para[0] = new MySqlParameter("relationId", order);
            para[1] = new MySqlParameter("id", rela.Id);
            int reslut = _SqlHelp.ExecuteNonQuery(sql, para);

            return(reslut);
        }
Пример #5
0
        /// <summary>
        /// 添加运单信息
        /// </summary>
        /// <param name="huadongtms"></param>
        /// <returns></returns>
        public static int AddWaybillBase(Model_Huadong_Tms_Order huadongtms)
        {
            //从配置文件中读取寄货客户单位id和name
            int      temp                  = Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["Huadong_Id"]);
            string   senderorg             = System.Configuration.ConfigurationManager.AppSettings["Huadong_Name"];
            string   receiverId            = null;
            int      billingCount          = 0;
            int      stage                 = 0;
            string   SenderTel             = "";
            DateTime beginAt               = DateTime.Now;
            string   signinAt              = null;
            string   picPostbackAt         = null;
            long     number                = 1000000000;
            string   sqlnumber             = "select * from waybill_base where company=1;";
            List <Model_Waybill_Base> list = _SqlHelp.ExecuteObjects <Model_Waybill_Base>(sqlnumber);

            number = number + list.Count + 1;
            string HD  = "99" + number;
            string sql = "insert into waybill_base(number,senderId,senderOrg,senderPerson,senderTel,senderAddress,receiverId,receiverOrg,receiverPerson,receiverTel,receiverAddress,billingCount,stage,beginAt,signinAt,picPostbackAt,company) " +
                         " values(?number,?senderId,?senderOrg,?senderPerson,?senderTel,?senderAddress,?receiverId,?receiverOrg,?receiverPerson,?receiverTel,?receiverAddress,?billingCount,?stage,?beginAt,?signinAt,?picPostbackAt,?company)";

            MySqlParameter[] para = new MySqlParameter[17];
            para[0]  = new MySqlParameter("number", HD);
            para[1]  = new MySqlParameter("senderId", temp);
            para[2]  = new MySqlParameter("senderOrg", senderorg);
            para[3]  = new MySqlParameter("senderPerson", huadongtms.EXTCOL12);       //寄件人
            para[4]  = new MySqlParameter("senderTel", SenderTel);                    //寄件人电话
            para[5]  = new MySqlParameter("senderAddress", huadongtms.EXTCOL11);      //寄件人地址
            para[6]  = new MySqlParameter("receiverId", receiverId);                  //收货客户单位 id
            para[7]  = new MySqlParameter("receiverOrg", huadongtms.CUSTOMERNAME);    //收货单位
            para[8]  = new MySqlParameter("receiverPerson", huadongtms.RECEIVEMAN);   //收货人
            para[9]  = new MySqlParameter("receiverTel", huadongtms.RECEIVEPHONE);    //收货人电话
            para[10] = new MySqlParameter("receiverAddress", huadongtms.RECEIVEADDR); //收货人地址
            para[11] = new MySqlParameter("billingCount", billingCount);
            para[12] = new MySqlParameter("stage", stage);
            para[13] = new MySqlParameter("beginAt", beginAt);
            para[14] = new MySqlParameter("signinAt", signinAt);
            para[15] = new MySqlParameter("picPostbackAt", picPostbackAt);
            para[16] = new MySqlParameter("company", Enum_Company.ThirdParty);
            int result = 0;

            result = _SqlHelp.ExecuteNonQuery(sql, para);
            //插入关联表信息
            if (result > 0)
            {
                result = AddhuadongWaybillbase(huadongtms, HD);
            }
            return(result);
        }
Пример #6
0
        /// <summary>
        /// 查询华东订单信息
        /// </summary>
        /// <param name="huadong">华东医药托运订单主体信息</param>
        /// <returns></returns>
        public static List <Model_Huadong_Tms_Order> GethuadongTms(Model_Huadong_Tms_Order huadong)
        {
            List <Model_Huadong_Tms_Order> list = new List <Model_Huadong_Tms_Order>();

            if (huadong != null)
            {
                string sql = "select id,relationId,code,SRCEXPNO,ROADID,SHIPDETAILID,TOTALID,LEGCODE,SHIPMENTCODE,OPERATIONTYPE,DEMANDARRIVETIME," +
                             "senderOrg,senderPerson,senderTel,senderAddress,receiverOrg,receiverPerson,receiverTel,receiverAddress " +
                             " from huadong_tms_order where (SHIPDETAILID = ?SHIPDETAILID or LEGCODE = ?LEGCODE ) ;";
                MySqlParameter[] para = new MySqlParameter[2];
                para[0] = new MySqlParameter("SHIPDETAILID", huadong.RelationId);
                para[1] = new MySqlParameter("LEGCODE", huadong.RelationId);
                list    = _SqlHelp.ExecuteObjects <Model_Huadong_Tms_Order>(sql, para);
            }
            return(list);
        }
Пример #7
0
        /// <summary>
        /// 上传第三方运单号
        /// </summary>
        private static void UploadThirdOrder()
        {
            ResultModelOfboolean           result = new ResultModelOfboolean();
            List <Model_Huadong_Tms_Order> list   = new List <Model_Huadong_Tms_Order>();
            string msg = string.Empty;
            string err = string.Empty;

            try
            {
                //根据每次查询运单数量为条件查询几条信息
                DataTable dt = HuadongTmsOrderServer.GethuadongTmsOrder(Common._MaxUploadOrderCount);
                if (dt != null && dt.Rows.Count > 0)
                {
                    foreach (DataRow row in dt.Rows)
                    {
                        Model_Huadong_Tms_Order huadong = new Model_Huadong_Tms_Order();
                        huadong.Idk__BackingField         = Convert.ToInt32(row["id"]);
                        huadong.RelationIdk__BackingField = row["relationId"].ToString();
                        list.Add(huadong);
                        msg = huadong.RelationIdk__BackingField;
                    }
                    FrmParent.ParentForm.SetNewInfo("正在上报第三方运单" + msg + ",请稍候...", null);
                    //后台接口,上传数据
                    result = Common._PdaServer.UploadHuadongTmsOrder(list.ToArray());
                }
            }
            catch (Exception ex)
            {
                err = ex.Message;
                throw ex;
            }
            finally
            {
                if (result.Data)
                {
                    HuadongTmsOrderServer.DeleteUploadHuadongTmsOrder(list.Select(l => l.RelationIdk__BackingField).ToList());
                }
                else if (string.IsNullOrEmpty(err))
                {
                    err = result.Message;
                }
                err = err == null ? string.Empty : err;
                FrmParent.ParentForm.SetNewInfo(string.Format("{0}{1} {2}", (msg.Length == 0 ? "没有待上报的第三方运单." : "上报第三方运单"), msg, (err.Length == 0 ? (msg.Length == 0 ? "" : "成功") : "失败 " + err)), err.Length == 0);
            }
        }
Пример #8
0
        /// <summary>
        /// 查询运单信息是否存在第三方信息
        /// </summary>
        /// <param name="huadong"></param>
        /// <returns></returns>
        public static List <Model_Waybill_Base> QueryWaybill(Model_Huadong_Tms_Order huadong)
        {
            List <Model_Waybill_Base> list = null;
            //Model_Huadong_Tmsorder_Waybillbase huadongtmsorder = new Model_Huadong_Tmsorder_Waybillbase();
            string distinctSql = string.Format("select * from huadong_tmsorder_waybillbase where relationId in('{0}')", huadong.RelationId);
            Model_Huadong_Tmsorder_Waybillbase huadongtmsorder = _SqlHelp.ExecuteObject <Model_Huadong_Tmsorder_Waybillbase>(distinctSql);

            if (huadongtmsorder != null)
            {
                string sql = "select id,number,senderId,senderOrg,senderPerson,senderTel,senderAddress,receiverId,receiverOrg," +
                             "receiverPerson,receiverTel,receiverAddress,billingCount,stage,beginAt,signinAt,picPostbackAt from waybill_base " +
                             " where number = ?number";
                MySqlParameter[] para = new MySqlParameter[1];
                para[0] = new MySqlParameter("number", huadongtmsorder.number);
                list    = _SqlHelp.ExecuteObjects <Model_Waybill_Base>(sql, para);
            }
            return(list);
        }
Пример #9
0
        /// <summary>
        /// 第三方运单信息
        /// </summary>
        /// <param name="huadong"></param>
        /// <returns></returns>
        public static bool GethuadongTmsOrder(List <Model_Huadong_Tms_Order> huadong)
        {
            if (huadong.Count == 0)
            {
                return(false);
            }
            bool result = false;

            try
            {
                int distinctCount = 0;
                foreach (Model_Huadong_Tms_Order order in huadong)
                {
                    //1.查询运单表中存在运单号的信息,
                    List <Model_Waybill_Base> way = QueryWaybill(order);
                    if (way == null)
                    {
                        //根据运单号查询华东医药托运订单信息
                        List <Model_Huadong_Tms_Order> huadongtms = GethuadongTms(order);
                        if (huadongtms.Count > 0)
                        {
                            foreach (Model_Huadong_Tms_Order rela in huadongtms)
                            {
                                //判断华东药托运订单的relationId字段是否为空
                                if (string.IsNullOrEmpty(rela.RelationId))
                                {
                                    //把运单号插入华东医药托运订单的relationId字段中
                                    int reslult = UpdateHuadong(order.RelationId, rela);
                                    if (reslult > 0)
                                    {
                                        //查询华东运单信息
                                        Model_Huadong_Tms_Order huadongtmsorder = Queryhuadongtmsorder(rela);
                                        //根据运单号查询的信息插入运单记录运单表信息
                                        if (AddWaybillBase(huadongtmsorder) > 0)
                                        {
                                            result = true;
                                            HuaDongFcCoTable(order.RelationId);
                                        }
                                        else
                                        {
                                            result = false;
                                        }
                                    }
                                    else
                                    {
                                        return(false);
                                    }
                                }
                                else
                                {
                                    distinctCount++;
                                }
                            }
                        }
                        else
                        {
                            distinctCount++;
                        }
                    }
                    else
                    {
                        distinctCount++;
                    }
                }
                if (distinctCount == huadong.Count)
                {
                    return(true);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }