示例#1
0
        /// <summary>
        /// 拆包确认配货
        /// </summary>
        /// <returns></returns>
        public ActionResult DispartConfirmDistrbuilt()                                                            //
        {
            base_users   Userinfo   = JsonHelper.DeserializeJsonToObject <base_users>(GetCookie("userinfo"));     //得到用户信息
            RFTDistrView peihuoinfo = JsonHelper.DeserializeJsonToObject <RFTDistrView>(GetCookie("peihuoinfo")); //得到配货信息

            try
            {
                bool isok = _service.DispartConfirmDistruit(peihuoinfo, Userinfo); //真正在数据库中拆分掉包裹
                if (isok)                                                          //配货成功
                {
                    //ViewData["userid"] = Userinfo.real_name;
                    return(RedirectToAction("DistrubulitSucc"));
                }
                else
                {
                    ViewData["errorinfo"] = "配货失败!";
                    return(View("ComErrorView"));
                }
            }
            catch (Exception ex)
            {
                ViewData["errorinfo"] = "配货程序出错!" + ex.Message;
                return(View("ComErrorView"));
            }
            finally //删除之前的配货信息
            {
                peihuoinfo = null;
                DelCookie("peihuoinfo");
            }
        }
示例#2
0
 /// <summary>
 /// 菜单主页
 /// </summary>
 /// <returns></returns>
 public ActionResult MainMenu()
 {
     try
     {
         RFTDistrView peihuoinfo = JsonHelper.DeserializeJsonToObject <RFTDistrView>(GetCookie("peihuoinfo")); //得到配货信息
         if (peihuoinfo != null)                                                                               //代表取消进入此页面
         {
             bool isok = _service.CancelDistrubilt(peihuoinfo);
             if (!isok)
             {
                 ViewData["errorinfo"] = "取消配货失败";
                 return(View("ComErrorView"));
             }
         }
         var Userinfo = JsonHelper.DeserializeJsonToObject <base_users>(GetCookie("userinfo"));
         ViewData["userid"] = Userinfo.real_name;
         DelCookie("peihuoinfo"); //删除之前的配货cookie信息
         return(View("MainMenu"));
     }
     catch (Exception ex)
     {
         ViewData["errorinfo"] = ex.Message.ToString();
         return(View("ComErrorView"));
     }
 }
示例#3
0
        /// <summary>
        /// 配货
        /// </summary>
        /// <param name="SKUcode">SKU</param>
        /// <returns></returns>
        public ActionResult RDistrbuilt(string skucode)
        {
            //------------------------------测试代码------------------------------------------------------------
            //var objinfo = JsonHelper.DeserializeJsonToObject<base_users>( GetCookie("userinfo"));
            //ViewData["realname"] = objinfo.real_name;
            //return View("test");
            //-------------------------------------------------------------------------------------------
            if (string.IsNullOrEmpty(skucode))
            {
                ViewData["errorinfo"] = "请先扫描SKU";
                return(View("ComErrorView"));
            }
            bool isok = _service.IsSKUInSys(skucode);//判断SKU在系统中是否存在

            if (!isok)
            {
                ViewData["errorinfo"] = "此SKU在系统中不存在";
                return(View("ComErrorView"));
            }

            try
            {
                RFTDistrView dis = _service.Distrbuilt(skucode, 0, ""); //得到配货信息
                if (dis == null)
                {
                    ViewData["errorinfo"] = "无可配货信息";
                    return(View("ComErrorView"));
                }
                else
                {
                    var useinfo = JsonHelper.DeserializeJsonToObject <base_users>(GetCookie("userinfo"));
                    ViewData["userid"] = useinfo.real_name;
                    SetCookie("peihuoinfo", JsonHelper.SerializeObject(dis)); //将数据放入cookie,记得确认配货完删除cookie
                    if (dis.info == "可包装")
                    {
                        ViewData["disinfo"] = dis;
                        return(View("DistrbuiltInfo"));
                    }
                    else
                    {
                        ViewData["disinfo"] = dis;
                        return(View("DistrbuiltInfo2"));
                    }
                }
            }
            catch (Exception ex)
            {
                ViewData["errorinfo"] = ex.Message;
                return(View("ComErrorView"));
            }
        }
示例#4
0
        /// <summary>
        /// 取消配货
        /// </summary>
        /// <param name="peihuoinfo"></param>
        /// <returns></returns>
        public bool CancelDistrubilt(RFTDistrView peihuoinfo)
        {
            using (var db = SugarDao.GetInstance(conn))
            {
                try
                {
                    bool isok = db.Update <busi_workinfo>(new { islock = 0 }, s => s.work_id == peihuoinfo.workid);

                    return(isok);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
示例#5
0
        /// <summary>
        /// 店铺确认配货
        /// </summary>
        /// <param name="skucode"></param>
        /// <param name="shopid"></param>
        /// <returns></returns>
        public ActionResult RShopFirstDistrbuilt(string skucode, int shopid) //
        {
            SetCookieHasTime("currshopid", shopid.ToString(), 1);            //过期一分钟
            if (string.IsNullOrEmpty(skucode))
            {
                ViewData["errorinfo"] = "SKU和包店铺ID不能为空";
                return(View("ComErrorView"));
            }
            bool isok = _service.IsSKUInSys(skucode); //判断SKU在系统中是否存在

            if (!isok)
            {
                ViewData["errorinfo"] = "此SKU在系统中不存在";
                return(View("ComErrorView"));
            }
            try
            {
                RFTDistrView dis = _service.Distrbuilt(skucode, shopid, ""); //得到配货信息
                if (dis == null)
                {
                    ViewData["errorinfo"] = "无可配货信息";
                    return(View("ComErrorView"));
                }
                else
                {
                    var useinfo = JsonHelper.DeserializeJsonToObject <base_users>(GetCookie("userinfo"));
                    ViewData["userid"] = useinfo.real_name;
                    SetCookie("peihuoinfo", JsonHelper.SerializeObject(dis)); //将数据放入cookie,记得确认配货完删除cookie
                    if (dis.info == "可包装")
                    {
                        ViewData["disinfo"] = dis;
                        return(View("DistrbuiltInfo"));
                    }
                    else
                    {
                        ViewData["disinfo"] = dis;
                        return(View("DistrbuiltInfo2"));
                    }
                }
            }
            catch (Exception ex)
            {
                ViewData["errorinfo"] = ex.Message;
                return(View("ComErrorView"));
            }
        }
示例#6
0
        /// <summary>
        /// 包裹优先配货
        /// </summary>
        /// <param name="skucode"></param>
        /// <param name="packgecode"></param>
        /// <returns></returns>
        public ActionResult RPFirstDistrbuilt(string skucode, string packgecode) //
        {
            packgecode = packgecode.Replace("A", "").Trim();
            if (string.IsNullOrEmpty(skucode) || string.IsNullOrEmpty(packgecode))
            {
                ViewData["errorinfo"] = "SKU和包裹号不能为空";
                return(View("ComErrorView"));
            }
            bool isok = _service.IsSKUInSys(skucode); //判断SKU在系统中是否存在

            if (!isok)
            {
                ViewData["errorinfo"] = "此SKU在系统中不存在";
                return(View("ComErrorView"));
            }
            try
            {
                RFTDistrView dis = _service.Distrbuilt(skucode, 0, packgecode); //得到配货信息
                if (dis == null)
                {
                    ViewData["errorinfo"] = "无可配货信息";
                    return(View("ComErrorView"));
                }
                else
                {
                    var useinfo = JsonHelper.DeserializeJsonToObject <base_users>(GetCookie("userinfo"));
                    ViewData["userid"] = useinfo.real_name;
                    SetCookie("peihuoinfo", JsonHelper.SerializeObject(dis)); //将数据放入cookie,记得确认配货完删除cookie
                    if (dis.info == "可包装")
                    {
                        ViewData["disinfo"] = dis;
                        return(View("DistrbuiltInfo"));
                    }
                    else
                    {
                        ViewData["disinfo"] = dis;
                        return(View("DistrbuiltInfo2"));
                    }
                }
            }
            catch (Exception ex)
            {
                ViewData["errorinfo"] = ex.Message;
                return(View("ComErrorView"));
            }
        }
示例#7
0
 /// <summary>
 /// 拆分包裹(虚拟拆分并没有真正拆分掉)
 /// </summary>
 /// <param name="peihuoinfo"></param>
 /// <returns></returns>
 public RFTDistrView Dispartpackge(RFTDistrView peihuoinfo)
 {
     using (var db = SugarDao.GetInstance(conn))
     {
         try
         {
             int    packges     = db.Queryable <busi_sendorder>().Where(s => s.custorder_id == peihuoinfo.orderid).ToList().Count; //得到订单包裹数
             string npackgecode = GetPackCode().ToString();                                                                        //新的包裹号
             peihuoinfo.packgecode = npackgecode;                                                                                  //新增包裹号
             peihuoinfo.info       = "可包装";
             peihuoinfo.packges    = packges;                                                                                      //原先包裹数量
             return(peihuoinfo);
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
 }
示例#8
0
 /// <summary>
 /// 拆分包裹
 /// </summary>
 /// <returns></returns>
 public ActionResult Dipartpackge() //
 {
     try
     {
         base_users   Userinfo      = JsonHelper.DeserializeJsonToObject <base_users>(GetCookie("userinfo"));     //得到用户信息
         RFTDistrView peihuoinfo    = JsonHelper.DeserializeJsonToObject <RFTDistrView>(GetCookie("peihuoinfo")); //得到配货信息
         RFTDistrView newpeihuoinfo = _service.Dispartpackge(peihuoinfo);
         //DelCookie("peihuoinfo"); //删除之前的配货cookie信息
         if (newpeihuoinfo == null)
         {
             ViewData["errorinfo"] = "拆分包裹失败";
             return(View("ComErrorView"));
         }
         else
         {
             var useinfo = JsonHelper.DeserializeJsonToObject <base_users>(GetCookie("userinfo"));
             ViewData["userid"] = useinfo.real_name;
             SetCookie("peihuoinfo", JsonHelper.SerializeObject(newpeihuoinfo)); //将数据放入cookie,记得确认配货完删除cookie
             if (newpeihuoinfo.info == "可包装")
             {
                 ViewData["disinfo"] = newpeihuoinfo;
                 return(View("DistrbuiltInfo3"));
             }
             else
             {
                 ViewData["disinfo"] = newpeihuoinfo;
                 return(View("DistrbuiltInfo2"));
             }
         }
     }
     catch (Exception ex)
     {
         ViewData["errorinfo"] = ex.Message.ToString();
         return(View("ComErrorView"));
     }
 }
示例#9
0
        /// <summary>
        /// 正常配货上架,店铺优先,包裹优先全部包含在内
        /// </summary>
        /// <param name="SKUcode"></param>
        /// <returns></returns>
        public RFTDistrView Distrbuilt(string SKUcode, int shopID, string packcode)
        {
            using (var db = SugarDao.GetInstance(conn))
            {
                try
                {
                    var depotID = db.Queryable <base_wh_warehouse>().Where(s => s.wh_name == "金华仓").FirstOrDefault();
                    if (null == depotID)
                    {
                        throw new Exception("金华仓不存在");
                    }
                    var locationID = db.Queryable <base_location>().Where(s => s.wh_id == depotID.wh_id && s.locat_code == "zz-zz-zz").FirstOrDefault();
                    if (null == locationID)
                    {
                        throw new Exception("金华仓库位zz-zz-zz不存在");
                    }
                    long codeid = db.Queryable <base_prod_code>().Where(s => s.sku_code == SKUcode).FirstOrDefault().code_id;//得到skuid
                    var  stock  = db.Queryable <base_wh_stock>().Where(s => s.location_id == locationID.locat_id && s.code_id == codeid).FirstOrDefault();
                    if (stock == null || 0 >= stock.stock_qty)
                    {
                        throw new Exception("金华仓临时库库存为零");
                    }

                    string[] list = null;
                    if (!string.IsNullOrEmpty(packcode))
                    {
                        list = db.SqlQuery <string[]>(@"select top 1 a.order_code,a.latest_date,b.work_id,b.packid,b.shop_id,b.prod_code_id,c.prod_num,c.order_code,a.order_id from busi_custorder a right join 
                                                    busi_workinfo b on a.order_id=b.custorder_id left join busi_sendorder c on c.order_id=b.packid 
                                                    where b.del_flag=1 and b.is_work=0 and b.islock=0 and c.del_flag=1 and b.prod_code_id=@codeid and c.order_code=@packcode order by  
                                                    a.order_date ,c.prod_num,b.create_time", new { codeid = codeid, packcode = packcode }).SingleOrDefault();
                    }
                    else if (0 != shopID)//店铺优先
                    {
                        list = db.SqlQuery <string[]>(@"select top 1 a.order_code,a.latest_date,b.work_id,b.packid,b.shop_id,b.prod_code_id,c.prod_num,c.order_code,a.order_id from busi_custorder a right join 
                                                    busi_workinfo b on a.order_id=b.custorder_id left join busi_sendorder c on c.order_id=b.packid 
                                                    where b.del_flag=1 and b.is_work=0 and b.islock=0 and c.del_flag=1 and b.prod_code_id=@codeid and a.shop_id=@shopID order by  
                                                    a.order_date ,c.prod_num,b.create_time", new { codeid = codeid, shopID = shopID }).SingleOrDefault();
                    }
                    else
                    {
                        list = db.SqlQuery <string[]>(@"select top 1 a.order_code,a.latest_date,b.work_id,b.packid,b.shop_id,b.prod_code_id,c.prod_num,c.order_code,a.order_id from busi_custorder a right join 
                                                    busi_workinfo b on a.order_id=b.custorder_id left join busi_sendorder c on c.order_id=b.packid 
                                                    where b.del_flag=1 and b.is_work=0 and b.islock=0 and c.del_flag=1 and b.prod_code_id=@codeid order by  
                                                    a.order_date ,c.prod_num,b.create_time", new { codeid = codeid }).SingleOrDefault();
                    }
                    if (list == null) //无可配包裹
                    {
                        return(null);
                    }
                    //得到包裹号
                    int packid = list[3].ObjToInt();
                    //得到包裹已配数量
                    int Ispackpacknum = db.SqlQuery <int>(@"select count(*) as num from busi_workinfo where is_work=1 and packid=@packid", new { packid = packid }).SingleOrDefault();
                    //得到订单号
                    string ordercode = list[0].ToString();
                    //得到包裹号
                    string packgecode = list[7].ToString();
                    //得到包裹SKU总数
                    int packnum = list[6].ObjToInt();
                    //得到店铺ID
                    int shopid = list[4].ObjToInt();
                    //得到订单中包裹数目
                    int cusorderid = list[8].ObjToInt();
                    int packges    = db.Queryable <busi_sendorder>().Where(s => s.custorder_id == cusorderid).ToList().Count;

                    string       shopname = db.Queryable <base_shop>().Where(s => s.shop_id == shopid).FirstOrDefault().shop_name;
                    int          workid   = list[2].ObjToInt();
                    RFTDistrView dis      = new RFTDistrView();
                    dis.Ispackpacknum = Ispackpacknum;
                    dis.ordercode     = ordercode;
                    dis.skucode       = SKUcode;
                    dis.packgecode    = packgecode;
                    dis.packnum       = packnum;
                    dis.shopname      = shopname;
                    dis.workid        = workid;
                    dis.packges       = packges;
                    dis.packid        = packid;
                    dis.orderid       = cusorderid;
                    if (packnum > 1)
                    {
                        dis.info = "可拆包";
                    }
                    else
                    {
                        dis.info = "可包装";
                    }
                    db.Update <busi_workinfo>(new { islock = 1 }, s => s.work_id == dis.workid); //锁定这条配货信息
                    return(dis);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }
示例#10
0
        /// <summary>
        /// 拆分包裹确认配货
        /// </summary>
        /// <param name="peihuoinfo"></param>
        /// <param name="Userinfo"></param>
        /// <returns></returns>
        public bool DispartConfirmDistruit(RFTDistrView peihuoinfo, base_users Userinfo)
        {
            using (var db = SugarDao.GetInstance(conn))
            {
                db.CommandTimeOut = 3000;//设置超时时间
                try
                {
                    db.BeginTran();
                    //1.先设置work_info中已配货的状态
                    bool isok = db.Update <busi_workinfo>(new { is_work = 1, work_type = 2, work_time = DateTime.Now, edit_user_id = Userinfo.user_id, islock = 0 }, it => it.work_id == peihuoinfo.workid);
                    if (isok)
                    {
                        if (peihuoinfo.info == "可包装")//单件的,需要打印
                        {
                            //1.先拆分包裹,先得到原先的包裹号
                            busi_sendorder oldpack = db.Queryable <busi_sendorder>().Where(s => s.order_id == peihuoinfo.packid).FirstOrDefault();
                            if (peihuoinfo.packgecode != GetPackCode().ToString())//再次取新的包裹号,如果不相等说明刚才的包裹号被其他地方占用了
                            {
                                throw new Exception("拆分后的包裹号被占用请重新拆分");
                            }
                            long oldpackid = oldpack.order_id;
                            oldpack.prod_num--;                  //减少原先包裹SKU数量
                            db.Update <busi_sendorder>(oldpack); //先更新原先包裹SKU数量信息

                            oldpack.order_code  = peihuoinfo.packgecode;
                            oldpack.order_id    = 0;
                            oldpack.prod_num    = 1;
                            oldpack.order_tatus = 40;                                     //包裹配货完成
                            int npackid = db.Insert <busi_sendorder>(oldpack).ObjToInt(); //插入新包裹

                            //判断这个包裹中是否买了多个相同的SKU
                            long codeid = db.Queryable <base_prod_code>().Where(s => s.sku_code == peihuoinfo.skucode).FirstOrDefault().code_id;//得到skuid
                            busi_sendorder_detail oldsenddetail = db.Queryable <busi_sendorder_detail>().Where(s1 => s1.order_id == peihuoinfo.packid).Where(s1 => s1.code_id == codeid).FirstOrDefault();
                            long senddetailid = 0;
                            if (Convert.ToInt32(oldsenddetail.prod_num) > 1) //原包裹相同SKU购买多件
                            {
                                oldsenddetail.prod_num--;
                                db.Update <busi_sendorder_detail>(new { prod_num = oldsenddetail.prod_num }, it => it.detail_id == oldsenddetail.detail_id);
                                oldsenddetail.detail_id = 0;
                                oldsenddetail.order_id  = npackid;
                                oldsenddetail.prod_num  = 1;
                                senddetailid            = db.Insert <busi_sendorder_detail>(oldsenddetail).ObjToInt();
                            }
                            else if (Convert.ToInt32(oldsenddetail.prod_num) == 1)//只买了一个,直接更新这条数据
                            {
                                senddetailid = oldsenddetail.detail_id;
                                db.Update <busi_sendorder_detail>(new { order_id = npackid }, it => it.detail_id == oldsenddetail.detail_id);
                            }
                            db.Update <busi_workinfo>(new { packid = npackid, sendorder_detail_id = senddetailid, islock = 0 }, it => it.work_id == peihuoinfo.workid);
                            //==================20171023添加,如果上架过,最后一个拆分包裹,检查原包裹的状态并做相应的更新===================
                            //1.判断已上架的数量和包裹SKU数量是否相等
                            int skunum   = db.Queryable <busi_sendorder>().Where(s => s.order_id == oldpackid).FirstOrDefault().prod_num;
                            var worklist = db.Queryable <busi_workinfo>().Where(s => s.packid == oldpackid && s.is_work == true && s.del_flag == true).ToList();
                            if (skunum == worklist.Count)
                            {
                                db.Update <busi_sendorder>(new { order_tatus = 40 }, it => it.order_id == peihuoinfo.packid);//原先包裹更新状态,全部配货
                            }
                            else
                            {
                                db.Update <busi_sendorder>(new { order_tatus = 30 }, it => it.order_id == peihuoinfo.packid);//原先包裹更新状态,部分配货
                            }
                            //================================================================================================
                            //插入打印数据
                            //插入打印数据,只是包裹号
                            busi_printwork insertinfo = new busi_printwork();
                            insertinfo.p_WorkType = 30;
                            insertinfo.data_1     = peihuoinfo.packgecode;
                            insertinfo.data_4     = DateTime.Now.ToString();
                            insertinfo.p_idPoint  = 1; //测试
                            insertinfo.p_Status   = 1;
                            insertinfo.data_2     = peihuoinfo.packgecode.Substring(8, 4);
                            insertinfo.data_3     = peihuoinfo.packnum.ToString();
                            db.Insert <busi_printwork>(insertinfo);

                            //-------------------20170720减库存--------------------------------------
                            var depotID = db.Queryable <base_wh_warehouse>().Where(s => s.wh_name == "金华仓").FirstOrDefault();
                            if (null == depotID)
                            {
                                throw new Exception("金华仓不存在");
                            }
                            var locationID = db.Queryable <base_location>().Where(s => s.wh_id == depotID.wh_id && s.locat_code == "zz-zz-zz").FirstOrDefault();
                            if (null == locationID)
                            {
                                throw new Exception("金华仓库位zz-zz-zz不存在");
                            }
                            var skuid = db.Queryable <base_prod_code>().Where(s => s.sku_code == peihuoinfo.skucode).FirstOrDefault();
                            var stock = db.Queryable <base_wh_stock>().Where(s => s.location_id == locationID.locat_id && s.code_id == skuid.code_id).FirstOrDefault();
                            if (0 >= stock.stock_qty)
                            {
                                throw new Exception("金华仓临时库库存为零");
                            }
                            stock.stock_qty--;
                            db.Update <base_wh_stock>(stock);
                            //---------------------------------------------------------------------------
                            //3.得到这个订单的所有包裹数目
                            int packges = db.Queryable <busi_sendorder>().Where(s => s.custorder_id == peihuoinfo.orderid).Where(s => s.del_flag == true).ToList().Count;
                            //已配货数量
                            int ispackingnum = db.Queryable <busi_sendorder>().Where(s => s.custorder_id == peihuoinfo.orderid).Where(s => s.del_flag == true).Where(s => s.order_tatus >= 40).ToList().Count;
                            if (packges == ispackingnum)
                            {
                                db.Update <busi_custorder>(new { order_status = 40 }, it => it.order_id == peihuoinfo.orderid);
                            }
                        }
                        db.CommitTran();
                        return(true);
                    }
                    else
                    {
                        db.RollbackTran();
                        return(false);
                    }
                }
                catch (Exception ex)
                {
                    db.RollbackTran();
                    throw ex;
                }
            }
        }
示例#11
0
        /// <summary>
        /// 确认配货
        /// </summary>
        /// <param name="peihuoinfo"></param>
        /// <param name="Userinfo"></param>
        /// <returns></returns>
        public bool ConfirmDistruit(RFTDistrView peihuoinfo, base_users Userinfo)
        {
            using (var db = SugarDao.GetInstance(conn))
            {
                try
                {
                    //1.先设置work_info中已配货的状态
                    bool isok = db.Update <busi_workinfo>(new { is_work = 1, work_type = 2, work_time = DateTime.Now, edit_user_id = Userinfo.user_id, islock = 0 }, it => it.work_id == peihuoinfo.workid);
                    if (isok)
                    {
                        if (peihuoinfo.info == "可包装")//单件的,需要打印
                        {
                            db.Update <busi_sendorder>(new { order_tatus = 40 }, it => it.order_id == peihuoinfo.packid);
                            //插入打印数据,只是包裹号
                            busi_printwork insertinfo = new busi_printwork();
                            insertinfo.p_WorkType = 30;
                            insertinfo.data_1     = peihuoinfo.packgecode;
                            insertinfo.data_4     = DateTime.Now.ToString();
                            insertinfo.p_idPoint  = 1; //测试
                            insertinfo.p_Status   = 1;
                            insertinfo.data_2     = peihuoinfo.packgecode.Substring(8, 4);
                            insertinfo.data_3     = peihuoinfo.packnum.ToString();
                            db.Insert <busi_printwork>(insertinfo);

                            //-------------------20170720减库存--------------------------------------
                            var depotID = db.Queryable <base_wh_warehouse>().Where(s => s.wh_name == "金华仓").FirstOrDefault();
                            if (null == depotID)
                            {
                                throw new Exception("金华仓不存在");
                            }
                            var locationID = db.Queryable <base_location>().Where(s => s.wh_id == depotID.wh_id && s.locat_code == "zz-zz-zz").FirstOrDefault();
                            if (null == locationID)
                            {
                                throw new Exception("金华仓库位zz-zz-zz不存在");
                            }
                            var skuid = db.Queryable <base_prod_code>().Where(s => s.sku_code == peihuoinfo.skucode).FirstOrDefault();
                            var stock = db.Queryable <base_wh_stock>().Where(s => s.location_id == locationID.locat_id && s.code_id == skuid.code_id).FirstOrDefault();
                            if (stock == null || 0 >= stock.stock_qty)
                            {
                                throw new Exception("金华仓临时库库存为零");
                            }
                            stock.stock_qty--;
                            db.Update <base_wh_stock>(stock);
                            //---------------------------------------------------------------------
                        }
                        else if (peihuoinfo.info == "可拆包")//多件的在拣选中打印(上架)
                        {
                            //2.再判断此包裹是否已配齐,如果配齐,设置状态,如果不配齐,设置对应状态(如果是单件的,直接打印,多件的不打印)
                            int Ispackpacknum = db.SqlQuery <int>(@"select count(*) as num from busi_workinfo where is_work=1 and packid=@packid", new { packid = peihuoinfo.packid }).SingleOrDefault();
                            if (peihuoinfo.packnum == Ispackpacknum)                                                          //此处判断包裹是否已配齐
                            {
                                db.Update <busi_sendorder>(new { order_tatus = 40 }, it => it.order_id == peihuoinfo.packid); //如果相等,配齐
                            }
                            else
                            {
                                db.Update <busi_sendorder>(new { order_tatus = 30 }, it => it.order_id == peihuoinfo.packid); //如果小于,设置包裹部分配货
                            }
                        }
                        //3.判断订单是否已配齐
                        int packges = db.Queryable <busi_sendorder>().Where(s => s.custorder_id == peihuoinfo.orderid).Where(s => s.del_flag == true).ToList().Count;
                        //已配货数量
                        int ispackingnum = db.Queryable <busi_sendorder>().Where(s => s.custorder_id == peihuoinfo.orderid).Where(s => s.del_flag == true).Where(s => s.order_tatus >= 40).ToList().Count;
                        if (packges == ispackingnum)
                        {
                            db.Update <busi_custorder>(new { order_status = 40 }, it => it.order_id == peihuoinfo.orderid);
                        }
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
        }