Example #1
0
 /// <summary>
 /// 增加一条数据
 /// </summary>
 public bool Add(Express.Model.OrderInfo model)
 {
     return(dal.Add(model));
 }
Example #2
0
 /// <summary>
 /// 更新一条数据
 /// </summary>
 public bool Update(Express.Model.OrderInfo model)
 {
     return(dal.Update(model));
 }
Example #3
0
        /// <summary>
        /// 更新快件状态
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        private int GetOrderState(string data, ref Express.Model.OrderInfo model)
        {
            if (string.IsNullOrEmpty(data) || data.Length < 5)
            {
                model.Remark = "查件失败";
                return(3);//未签收
            }
            string[] dts = data.Split(';');
            Array.Sort(dts);
            ////如果只有一条信息并且处于“揽件扫描”,则说明无物流信息
            if (dts.Length == 1 && dts[0].Split(',')[2] == "揽件扫描")
            {
                return(4);
            }
            bool isNoAct = true;

            foreach (var item in dts)
            {
                string[] mydata = item.Split(',');
                if (mydata[2].Contains("扫描") && mydata[3].Contains("深圳"))
                {
                    isNoAct = false;
                    break;
                }
            }
            if (isNoAct)
            {
                return(5);//漏件补收
            }

            if (dts.Length > 1)
            {
                if (dts[dts.Length - 2].Split(',')[2] == "签收")
                {
                    return(1);
                }
            }
            switch (dts[dts.Length - 1].Split(',')[2])
            {
            case "签收":
            case "代签收扫描":
                return(1);

                break;

            case "异常签收":
                string exmsg = dts[dts.Length - 1].Split(',')[3].ToString();
                if (exmsg.IndexOf("备注:") > 0)
                {
                    model.Remark += exmsg.Substring(exmsg.IndexOf("备注:") + 3);
                }
                return(2);

                break;

            case "揽件扫描":    //最后一条揽件状态为揽件扫描如果上一条时签收状态,则认为快件为正常状态
                if (dts.Length > 1)
                {
                    if (dts[dts.Length - 2].Split(',')[2].Contains("签收"))
                    {
                        return(1);
                    }
                }
                break;

            default:
                break;
            }


            return(3);
        }