public RequestResult RtnStockCount(int pageindex, int pagesize, string startdate = "", string enddate = "", string keyword = "")
        {
            RequestResult result = new RequestResult();

            try
            {
                int StartTimestamp = startdate != "" ? CommonFunc.GetTimestamp(Convert.ToDateTime(startdate + " 00:00:00")) : 0;
                int EndTimestamp   = enddate != "" ? CommonFunc.GetTimestamp(Convert.ToDateTime(enddate + " 23:59:59")) : 0;

                int totalCount = 0;
                List <RtnStockRecord> CountList = ScaleRtnStoke.GetRtnStockCount(MobileUser.UserName, pagesize, pageindex, StartTimestamp, EndTimestamp, keyword, out totalCount);
                for (int i = 0; i < CountList.Count; i++)
                {
                    CountList[i].ProductImg = WeConfig.b_domain + CountList[i].ProductImg;
                }
                result.data    = CountList;
                result.pages   = pageindex;
                result.total   = totalCount;
                result.message = "成功";
                result.success = true;
            }
            catch (Exception ex)
            {
                result.message = "失败,error:" + ex.Message;
                result.success = false;
            }

            return(result);
        }
        public RequestResult BigCode(string code, string orderno = "")
        {
            RequestResult result = new RequestResult();

            try
            {
                List <Scale> scale = Scale.GetScaleForBig(code);

                if (scale.Count > 0)
                {
                    Scale scaleDeal = scale.Where(sca => (sca.IsOut == true || sca.StateID == 9) && sca.OutWay == 3).FirstOrDefault();

                    if (scaleDeal != null)
                    {
                        if (scaleDeal.IsOut)      // 是否已经出货
                        {
                            ScaleRtnStoke scaleRtn = new ScaleRtnStoke();
                            scaleRtn.BigCode    = scaleDeal.BigCode;
                            scaleRtn.OrderNo    = orderno;
                            scaleRtn.OperaUser  = PdaUser.PUserName;
                            scaleRtn.IsPDAOpera = true;
                            scaleRtn.RtnWay     = 3;
                            scaleDeal.BigReturnStock(scaleRtn);

                            result.message = "成功";
                            result.success = true;
                        }
                        else
                        {
                            result.message = "重复退货";
                            result.success = false;
                        }
                    }
                    else
                    {
                        result.message = "条码未出货";
                        result.success = false;
                    }
                }
                else
                {
                    result.code    = 304;
                    result.message = "条码不存在";
                    result.success = false;
                }

                PDALog.Write("大标退货", "大标", code, PdaUser.PUserName + "-" + PdaUser.PRealName, string.Format("code:{0},orderno:{1}", code, orderno), result.message);
            }
            catch (Exception ex)
            {
                result.code    = 500;
                result.message = "服务出错";
                result.success = false;
                DAL.Log.Instance.Write("大标退货出错:" + ex.Message, "PDA上传出错");
            }

            return(result);
        }
        public RequestResult SmallCode(string code, string orderno = "")
        {
            RequestResult result = new RequestResult();

            try
            {
                Scale scale = Scale.GetScaleForSmall(code);

                if (scale != null)
                {
                    if (scale.IsOut)      // 是否已经关联
                    {
                        scale.IsOut   = false;
                        scale.StateID = 9;
                        scale.UpdateByID();

                        ScaleRtnStoke scaleRtn = new ScaleRtnStoke();
                        scaleRtn.SmallCode  = scale.SmallCode;
                        scaleRtn.OrderNo    = orderno;
                        scaleRtn.OperaUser  = PdaUser.PUserName;
                        scaleRtn.IsPDAOpera = true;
                        scaleRtn.RtnWay     = 1;
                        scale.SmallReturnStock(scaleRtn);

                        result.message = "成功";
                        result.success = true;
                    }
                    else if (scale.StateID == 9)
                    {
                        result.message = "重复退货";
                        result.success = false;
                    }
                    else
                    {
                        result.message = "条码未出货";
                        result.success = false;
                    }
                }
                else
                {
                    result.code    = 304;
                    result.message = "条码不存在";
                    result.success = false;
                }

                PDALog.Write("小标退货", "小标", code, PdaUser.PUserName + "-" + PdaUser.PRealName, string.Format("code:{0},orderno:{1}", code, orderno), result.message);
            }
            catch (Exception ex)
            {
                result.code    = 500;
                result.message = "服务出错";
                result.success = false;
                DAL.Log.Instance.Write("小标退货出错:" + ex.Message, "PDA上传出错");
            }

            return(result);
        }
        public RequestResult RtnStockDetail(int pageindex, int pagesize, string orderno, string productno, int timestamp, string consignee, string keyword = "")
        {
            RequestResult result = new RequestResult();

            try
            {
                int totalCount = 0;
                List <ScaleCode_Simple> DetailList = ScaleRtnStoke.GetRtnStockDetail(MobileUser.UserName, orderno, productno, pagesize, pageindex, timestamp, consignee, keyword, out totalCount);
                result.data    = DetailList;
                result.pages   = pageindex;
                result.total   = totalCount;
                result.message = "成功";
                result.success = true;
            }
            catch (Exception ex)
            {
                result.message = "失败,error:" + ex.Message;
                result.success = false;
            }

            return(result);
        }
        public RequestResult OrderNo(string orderno)
        {
            RequestResult result = new RequestResult();

            try
            {
                bool IsOK = Scale.CheckOutOrderNo(orderno);
                if (IsOK)
                {
                    Scale scaleDeal = new Scale();

                    ScaleRtnStoke scaleRtn = new ScaleRtnStoke();
                    scaleRtn.OrderNo    = orderno;
                    scaleRtn.OperaUser  = PdaUser.PUserName;
                    scaleRtn.IsPDAOpera = true;
                    scaleDeal.OrderNoReturnStock(scaleRtn);

                    result.message = "成功";
                    result.success = true;
                }
                else
                {
                    result.message = "未检测到出货订单!";
                    result.success = false;
                }
            }
            catch (Exception ex)
            {
                result.code    = 500;
                result.message = "服务出错";
                result.success = false;
                DAL.Log.Instance.Write("查询出货订单出错:" + ex.Message, "PDA上传出错");
            }

            return(result);
        }
Beispiel #6
0
        public ActionResult TrackDetail(string SmallCode)
        {
            List <TrackCode> ListTrack = new List <TrackCode>();

            Scale smallTrack = Scale.GetScaleSmallCode(SmallCode);
            List <ScaleOutStoke> smallOutTrackList = ScaleOutStoke.GetSmallCodeList(SmallCode);
            List <ScaleRtnStoke> smallRtnTrackList = ScaleRtnStoke.GetSmallCodeList(SmallCode);

            string ProductNo   = "";
            string ProductName = "";

            if (!string.IsNullOrWhiteSpace(smallTrack.ProductNo))
            {
                Product product = Product.GetProductNo(smallTrack.ProductNo);
                ProductNo   = product.ProductNumber;
                ProductName = product.ProductName;
            }

            string PDAUserSet = "";
            string AgentUser  = "";
            string BoxType    = "中箱";

            if (!PDAUserMsg.Param.MiddlePacking)
            {
                BoxType = "大箱";
            }

            if (!string.IsNullOrWhiteSpace(smallTrack.IntoPDAUser))
            {
                PDAUserSet += "'" + smallTrack.IntoPDAUser + "',";
            }
            if (!string.IsNullOrWhiteSpace(smallTrack.LinkBigPDAUser))
            {
                PDAUserSet += "'" + smallTrack.LinkBigPDAUser + "',";
            }
            if (!string.IsNullOrWhiteSpace(smallTrack.LinkMidPDAUser))
            {
                PDAUserSet += "'" + smallTrack.LinkMidPDAUser + "',";
            }
            if (!string.IsNullOrWhiteSpace(smallTrack.OutPDAUser))
            {
                PDAUserSet += "'" + smallTrack.OutPDAUser + "',";
            }

            if (PDAUserSet != "")
            {
                PDAUserSet = PDAUserSet.Substring(0, PDAUserSet.Length - 1);
            }

            List <PDAUser> pdauser = new List <PDAUser>();

            if (PDAUserSet != "")
            {
                pdauser = PDAUser.GetUserNameSet(PDAUserSet);
            }

            foreach (ScaleOutStoke outUser in smallOutTrackList)
            {
                AgentUser += "'" + (outUser.Shipper != "总部" ? outUser.Shipper : "") + "',";
                AgentUser += "'" + outUser.Consignee + "',";
            }

            foreach (ScaleRtnStoke rtnUser in smallRtnTrackList)
            {
                if (!string.IsNullOrWhiteSpace(rtnUser.Shipper) && rtnUser.Shipper != "总部")
                {
                    AgentUser += "'" + rtnUser.Shipper + "',";
                }
                if (!string.IsNullOrWhiteSpace(rtnUser.Consignee))
                {
                    AgentUser += "'" + rtnUser.Consignee + "',";
                }
            }

            if (AgentUser != "")
            {
                AgentUser = AgentUser.Substring(0, AgentUser.Length - 1);
            }

            List <C_User> UserList = new List <C_User>();

            if (AgentUser != "")
            {
                UserList = C_User.GetUserSet(AgentUser);
            }

            #region 关联记录

            if (smallTrack.IsLinkMid)
            {
                TrackCode track = new TrackCode();
                track.ITime  = smallTrack.LinkMidTime;
                track.STitle = "小标装箱";

                PDAUser PMUser = pdauser.Where(u => u.PUserName == smallTrack.LinkMidPDAUser).FirstOrDefault();

                track.SContent = "操作员:" + smallTrack.LinkMidPDAUser + (PMUser != null ? "-" + PMUser.PRealName : "") + ",将产品码(" + smallTrack.SmallCode + ")装入" + BoxType + "(" + smallTrack.MiddleCode + ")";
                if (PDAUserMsg.Param.IsLinkProduct)
                {
                    track.SContent += ",关联产品为:" + ProductNo + "-" + ProductName;
                }
                ListTrack.Add(track);
            }

            if (smallTrack.IsLinkBig)
            {
                TrackCode track = new TrackCode();
                track.ITime  = smallTrack.LinkBigTime;
                track.STitle = "中标装箱";
                PDAUser PBUser = pdauser.Where(u => u.PUserName == smallTrack.LinkBigPDAUser).FirstOrDefault();
                track.SContent = "操作员:" + smallTrack.LinkBigPDAUser + (PBUser != null ? "-" + PBUser.PRealName : "") + ",将中箱码(" + smallTrack.MiddleCode + ")装入大箱(" + smallTrack.BigCode + ")";
                if (PDAUserMsg.Param.IsLinkProduct)
                {
                    track.SContent += ",关联产品为:" + ProductNo + "-" + ProductName;
                }

                ListTrack.Add(track);
            }

            #endregion

            #region 入库记录
            if (smallTrack.IsInto)
            {
                TrackCode track = new TrackCode();
                track.ITime  = smallTrack.IntoTime;
                track.STitle = "产品入库";
                PDAUser PIUser   = pdauser.Where(u => u.PUserName == smallTrack.IntoPDAUser).FirstOrDefault();
                string  BarCode  = smallTrack.IsLinkBig ? smallTrack.BigCode : smallTrack.IsLinkMid ? smallTrack.MiddleCode : smallTrack.SmallCode;
                string  CodeType = "箱码";
                if (BarCode == smallTrack.SmallCode)
                {
                    CodeType = "产品码";
                }
                track.SContent = "操作员:" + smallTrack.IntoPDAUser + (PIUser != null ? "-" + PIUser.PRealName : "") + ",将" + CodeType + "(" + BarCode + ")入库";

                if (PDAUserMsg.Param.IsIntoProduct)
                {
                    track.SContent += ",入库产品为:" + ProductNo + "-" + ProductName;
                }

                ListTrack.Add(track);
            }
            #endregion

            #region 所有出货记录(包含经销商)
            foreach (ScaleOutStoke outcode in smallOutTrackList)
            {
                TrackCode track = new TrackCode();
                track.ITime  = outcode.CreateTime;
                track.STitle = (outcode.Shipper == "总部" ? outcode.Shipper : "经销商") + "产品出货";

                C_User OUser        = UserList.Where(u => u.UserName == outcode.Consignee).FirstOrDefault();
                C_User OUserShipper = UserList.Where(u => u.UserName == outcode.Shipper).FirstOrDefault();

                track.SContent = outcode.Shipper + (OUserShipper != null ? "-" + OUserShipper.Name : "") + ">出货>" + outcode.Consignee + (OUser != null ? "-" + OUser.Name : "") + "<br>";

                track.SContent += "出货单号:" + outcode.OutOrderNo;
                PDAUser POUser = pdauser.Where(u => u.PUserName == smallTrack.OutPDAUser).FirstOrDefault();
                if (outcode.Shipper == "总部")
                {
                    track.SContent += ",操作员:" + smallTrack.OutPDAUser + "-" + (POUser != null ? "-" + POUser.PRealName : "");
                }

                if (PDAUserMsg.Param.IsOutProduct)
                {
                    track.SContent += ",出货产品为:" + ProductNo + "-" + ProductName;
                }
                ListTrack.Add(track);
            }

            #endregion

            #region 退货记录
            foreach (ScaleRtnStoke rtncode in smallRtnTrackList)
            {
                TrackCode track1 = new TrackCode();
                track1.ITime  = rtncode.OutTime;
                track1.STitle = (rtncode.Shipper == "总部" ? rtncode.Shipper : "经销商") + "产品出货";
                C_User RUserShipper   = UserList.Where(u => u.UserName == rtncode.Shipper).FirstOrDefault();
                C_User RUserConsignee = UserList.Where(u => u.UserName == rtncode.Consignee).FirstOrDefault();

                track1.SContent = rtncode.Shipper + (RUserShipper != null ? "-" + RUserShipper.Name : "") + ">出货>" + rtncode.Consignee + (RUserConsignee != null ? "-" + RUserConsignee.Name : "") + "<br>";

                track1.SContent += "出货单号:" + rtncode.OutOrderNo;
                if (rtncode.Shipper == "总部")
                {
                    track1.SContent += ",操作员:" + smallTrack.OutPDAUser + "-" + pdauser.Where(u => u.PUserName == smallTrack.OutPDAUser).FirstOrDefault().PRealName;
                }
                ListTrack.Add(track1);

                TrackCode track2 = new TrackCode();
                track2.ITime     = rtncode.ReturnTime;
                track2.STitle    = "产品退货" + (rtncode.Shipper == "总部" ? rtncode.Shipper : "经销商");
                track2.SContent  = rtncode.Consignee + (RUserConsignee != null ? "-" + RUserConsignee.Name : "") + ">退货>" + rtncode.Shipper + (RUserShipper != null ? "-" + RUserShipper.Name : "") + "<br>";
                track2.SContent += "退货单号 " + rtncode.OrderNo;
                ListTrack.Add(track2);
            }
            #endregion

            ViewData["BigCode"]     = smallTrack.BigCode;
            ViewData["MiddleCode"]  = smallTrack.MiddleCode;
            ViewData["SmallCode"]   = smallTrack.SmallCode;
            ViewData["CodeTrack"]   = ListTrack.OrderBy(m => m.ITime).ToList();
            ViewData["ProductNo"]   = ProductNo;
            ViewData["ProductName"] = ProductName;

            return(View());
        }