예제 #1
0
 /// <summary>
 /// 获取打印配置
 /// </summary>
 /// <param name="orderInfo"></param>
 /// <param name="kdComanpy"></param>
 /// <returns></returns>
 public PrintConfig PrintConfigInfo(pmw_order orderInfo, string kdComanpy)
 {
     if (kdComanpy.Contains("黑猫"))
     {
         if (orderInfo.agencyFund <= 0 && orderInfo.pay_type != 1 && !kdComanpy.Contains("不代收"))
         {
             kdComanpy = kdComanpy + "不代收";
         }
         else if (!kdComanpy.Contains("代收"))
         {
             kdComanpy = kdComanpy + "代收";
         }
         return(new DAL.Dal_Print()
                .getPrinConfig(kdComanpy));
     }
     else if (kdComanpy.Contains("立邦"))
     {
         return(new DAL.Dal_Print()
                .getPrinConfig(kdComanpy));
     }
     else
     {
         return(new DAL.Dal_Print()
                .getPrinConfig("国阳"));
     }
 }
        public Model.GeneralReturns GetOrderDetail(Model.M_OffShelf.OffShelfRequest S)
        {
            Model.GeneralReturns genRet = new Model.GeneralReturns();
            if (string.IsNullOrEmpty(S.areaCode) || String.IsNullOrEmpty(S.Operator) || String.IsNullOrEmpty(S.site))
            {
                genRet.MsgText = "拣货员工信息不完整,无法拣货";
                return(genRet);
            }
            pmw_order orderInfo = new pmw_order();

            if (String.IsNullOrEmpty(S.OrderID))
            {
                orderInfo = new DAL.DalGet_order_detail().IsPicking(S);
                if (orderInfo == null)
                {
                    pmw_admin adminInfo = new DAL.DalGet_order_detail().GetShopNameIDArray(S.Operator);
                    if (adminInfo == null || String.IsNullOrEmpty(adminInfo.shop_name))
                    {
                        genRet.MsgText = "无法获取员工管理店铺";
                        return(genRet);
                    }
                    orderInfo = RegionalPicking(adminInfo.shop_name.Split(','), S.site, S.areaCode);
                    if (orderInfo == null || string.IsNullOrEmpty(orderInfo.order_code))
                    {
                        genRet.MsgText = "没有拣货任务了";
                        return(genRet);
                    }
                }
            }
            else
            {
                if (new DAL.DalGet_order_detail().OrderOutBillCodeNotOut(int.Parse(S.OrderID)))
                {
                    new DAL.DalGet_order_detail().UpdateOrderNotOut(int.Parse(S.OrderID), 0);
                }
                orderInfo = new DAL.DalGet_order_detail().OrderIDGetTask(int.Parse(S.OrderID), S.site);
                if ((orderInfo == null || string.IsNullOrEmpty(orderInfo.order_code)) && !new DAL.DalGet_order_detail().IsOutBillCode(int.Parse(S.OrderID)))
                {
                    new DAL.DalGet_order_detail().UpdateOrderNotOut(int.Parse(S.OrderID), 1);
                    genRet.MsgText = "该订单已经下架";
                }
            }

            if (orderInfo != null && !string.IsNullOrEmpty(orderInfo.order_code))
            {
                new DAL.DalGet_order_detail().Release_task(orderInfo.id, S.Operator, 1);
                genRet = GetOrderDetailTask(orderInfo, S.Operator, S.site);
            }
            else
            {
                genRet.MsgText = "无法获取改单号信息";
            }

            return(genRet);
        }
        /// <summary>
        /// 按区域拣货
        /// </summary>
        /// <param name="country_id"></param>
        /// <param name="site"></param>
        /// <param name="areaCodeArr"></param>
        /// <returns></returns>
        public pmw_order RegionalPicking(string[] shopNameArray, string site, string areaCodeArr)
        {
            pmw_order orderInfo = new pmw_order();

            foreach (var areaCode in areaCodeArr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
            {
                orderInfo = new DAL.DalGet_order_detail().RegionalPicking(shopNameArray, site, areaCode);
                if (orderInfo != null && !string.IsNullOrEmpty(orderInfo.order_code))
                {
                    break;
                }
            }
            return(orderInfo);
        }
        /// <summary>
        /// 返回拣货任务
        /// </summary>
        /// <param name="orderInfo"></param>
        /// <returns></returns>
        private Model.GeneralReturns GetOrderDetailTask(pmw_order orderInfo, string operatorName, string site)
        {
            Model.GeneralReturns gr = new Model.GeneralReturns();
            Model.M_OffShelf.OffShelfListRuturn offSheListRet = new Model.M_OffShelf.OffShelfListRuturn();
            offSheListRet.OffShelfRuturn = new DAL.DalGet_order_detail().PickingTask(operatorName, site, orderInfo);

            if (offSheListRet.OffShelfRuturn.Count > 0)
            {
                gr.ReturnJson = Common.DataHandling.ObjToJson(offSheListRet);
                gr.State      = true;
            }
            else
            {
                new DAL.DalGet_order_detail().Release_task(orderInfo.id, string.Empty, 0);
                gr.MsgText = "无法获取" + orderInfo.id + "!请重试";
            }
            return(gr);
        }
예제 #5
0
        /// <summary>
        /// 记录打单数据
        /// </summary>
        /// <param name="orderInfo"></param>
        /// <param name="orderSentBillCode"></param>
        /// <param name="orderSentCompany"></param>
        /// <param name="recipients"></param>
        /// <param name="houserInfo"></param>
        /// <param name="tbInfo"></param>
        /// <param name="forwarderInfo"></param>
        /// <param name="billCoderList"></param>
        /// <param name="goodsName"></param>
        /// <param name="S"></param>
        /// <param name="printNo"></param>
        /// <returns></returns>
        public bool Print(decimal collectingMoney, pmw_order orderInfo, string orderSentBillCode, string orderSentCompany, string recipients, pmw_house houserInfo, TaoBaoInfo tbInfo, Forwarder forwarderInfo, string[] billCoderList, string goodsName, Model.M_Print.Request S, string printNo, double weightBillcode)
        {
            return(Common.Config.StartSqlSugar <bool>((db) =>
            {
                return db.Ado.UseTran(() =>
                {
                    db.Insertable <pmw_Print>(new pmw_Print
                    {
                        address = orderInfo.address,
                        orderID = orderInfo.id,
                        operateMan = S.operateMan,
                        operateSiteID = SqlFunc.ToInt32(S.operateSite),
                        operateTime = DateTime.Now,
                        WaybillNo = printNo,
                        z_weight = SqlFunc.ToDecimal(weightBillcode)
                    }).ExecuteCommand();
                    db.Insertable <pmw_track>(new pmw_track
                    {
                        billcode = printNo,
                        scan_time = DateTime.Now,
                        scan_type = "拣货完成",
                        scan_memo = "拣货完毕,快件已拣货完毕,正在打包",
                        scan_site = houserInfo.house_name,
                        scan_emp = S.operateMan
                    }).ExecuteCommand();

                    db.Updateable <pmw_billcode>(new
                    {
                        is_packed = 1,
                        packed_time = DateTime.Now,
                        packed_emp = S.operateMan,
                        packed_billcode = printNo,
                        packed_code = forwarderInfo.ForwarderCode,
                        packed_kd_com = forwarderInfo.ForwarderName,
                        printID = forwarderInfo.id,
                        is_Big = S.is_Big
                    })
                    .Where(a => SqlFunc.ContainsArray(billCoderList, a.kd_billcode) && a.order_code == orderInfo.order_code && (SqlFunc.IsNullToInt(a.is_lock) == 0 || SqlFunc.IsNullToInt(a.is_lock) == 2))
                    .ExecuteCommand();

                    db.Updateable <pmw_order>(new
                    {
                        is_sented = 1,
                        sent_emp = S.operateMan,
                        sent_time = DateTime.Now,
                        sent_kd_billcode = orderSentBillCode,
                        sent_kd_com = orderSentCompany
                    })
                    .Where(a => a.id == orderInfo.id)
                    .ExecuteCommand();

                    db.Insertable <CFHMPring>(new CFHMPring
                    {
                        CForHM_number = printNo,
                        OrderID = orderInfo.id,
                        freightPayable = collectingMoney,
                        goods = goodsName.ToString(),
                        recipients = recipients,
                        consignee = recipients,
                        recipientsAdd = orderInfo.address,
                        recipientsPhone = orderInfo.mobile,
                        recipientsIDCard = orderInfo.RecipientCode,
                        TurnNumber = billCoderList.Length,
                        Order_Notes = orderInfo.order_memo,
                        consolidator = tbInfo.Name,
                        deliveryCom = forwarderInfo.ForwarderName,
                        deliveryCode = forwarderInfo.ForwarderCode,
                        billNumType = "PDA",
                        CFpacked_time = DateTime.Now,
                        CFpacked_billcode = printNo,
                        CFpacked_code = forwarderInfo.ForwarderCode,
                        CFpacked_emp = S.operateMan,
                        CFpacked_kd_com = forwarderInfo.ForwarderName,
                        KD_billcodeList = string.Join(",", billCoderList),
                        houseID = houserInfo.id,
                        houseName = houserInfo.house_name,
                        netWeight = SqlFunc.ToDecimal(weightBillcode)
                    }).ExecuteCommand();
                }).IsSuccess;
            }));
        }