예제 #1
0
        /// <summary>
        /// 不入库出货
        /// </summary>
        /// <param name="ScaleOutStoke"></param>
        /// <returns></returns>
        public ActionResult NoOutStockInsert(ScaleOutStoke ScaleOutStoke)
        {
            List <Scale> BigScale   = Scale.GetBigScaleList(ScaleOutStoke.Code);
            List <Scale> SmallScale = Scale.GetSmallScaleList(ScaleOutStoke.Code);
            List <Scale> CodeScale  = new List <Scale>();
            string       msg        = string.Empty;

            if (BigScale.Count > 0)
            {
                CodeScale = BigScale;
            }
            else if (SmallScale.Count > 0)
            {
                CodeScale = SmallScale;
            }
            else
            {
                return(Content("没有此条码!!"));
            }
            foreach (Scale item in CodeScale)
            {
                if (Scale.GetBoolInCode(item.SmallCode))
                {
                    msg += item.SmallCode + "条码已出库<br/>";
                }
                else if (!ScaleOutStoke.GetInScale(item.SmallCode))
                {
                    ScaleOutStoke.BigCode   = item.BigCode;
                    ScaleOutStoke.SmallCode = item.SmallCode;
                    ScaleOutStoke.AntiCode  = item.AntiCode;
                    ScaleOutStoke.Code      = item.SmallCode;
                    ScaleOutStoke.Shipper   = "总部";
                    ScaleOutStoke.State     = "启用";
                    ScaleOutStoke.InsertAndReturnIdentity();
                    Scale.GetUpdateScaleOutState(item.SmallCode);
                    msg += item.SmallCode + "条码出货成功!<br/>";
                }
                else
                {
                    msg += item.SmallCode + "条码已出货!<br/>";
                }
            }
            if (string.IsNullOrWhiteSpace(msg))
            {
                msg = "条码已出货";
            }
            return(Content(msg));
        }
예제 #2
0
        public RequestResult SmallCode(string code, string username, string orderno = "", string pno = "")
        {
            RequestResult result = new RequestResult();

            try
            {
                if (PDAUserMsg.Param.IsOut && PDAUserMsg.Param.SmallOut)
                {
                    if (string.IsNullOrWhiteSpace(pno) && PDAUserMsg.Param.IsOutProduct)
                    {
                        result.message = "请选择产品";
                        result.success = false;
                    }
                    else if (C_User.IsSysUser(username))
                    {
                        Scale scale = Scale.GetScaleForSmall(code);

                        if (scale != null)
                        {
                            if (scale.IsOut)
                            {
                                result.message = "重复出货";
                                result.success = false;
                            }
                            else if (!scale.IsInto && PDAUserMsg.Param.IsInto && (PDAUserMsg.Param.ScanProcess == 1 || PDAUserMsg.Param.ScanProcess == 2 || PDAUserMsg.Param.ScanProcess == 3 || PDAUserMsg.Param.ScanProcess == 4))
                            {
                                result.message = "未入库";
                                result.success = false;
                            }
                            else if (!string.IsNullOrWhiteSpace(scale.ProductNo) && !string.IsNullOrWhiteSpace(pno) && pno != scale.ProductNo)
                            {
                                result.message = "出货产品错误";
                                result.success = false;
                            }
                            else
                            {
                                scale.IsOut      = true;
                                scale.OutPDAUser = PdaUser.PUserName;
                                scale.UserName   = username;
                                scale.OutOrderNo = orderno;
                                if (!string.IsNullOrWhiteSpace(pno))
                                {
                                    scale.ProductNo = pno;
                                }
                                scale.OutTime = CommonFunc.GetNowTimestamp();
                                scale.OutWay  = 1;
                                scale.StateID = 7;
                                scale.UpdateByID();

                                ScaleOutStoke scaleOut = new ScaleOutStoke();
                                scaleOut.BigCode    = scale.BigCode;
                                scaleOut.SmallCode  = scale.SmallCode;
                                scaleOut.MiddleCode = scale.MiddleCode;
                                scaleOut.AntiCode   = scale.AntiCode;
                                scaleOut.Shipper    = "总部";
                                scaleOut.ProductNo  = scale.ProductNo;
                                scaleOut.Consignee  = scale.UserName;
                                scaleOut.State      = "启用";
                                scaleOut.CreateTime = CommonFunc.GetNowTimestamp();
                                scaleOut.OutOrderNo = orderno;
                                scaleOut.OutWay     = 1;
                                scaleOut.InsertAndReturnIdentity();

                                result.message = "成功";
                                result.success = true;
                            }
                        }
                        else
                        {
                            result.code    = 304;
                            result.message = "条码不存在";
                            result.success = false;
                        }
                    }
                    else
                    {
                        result.code    = 504;
                        result.message = "客户错误";
                        result.success = false;
                    }
                }
                else
                {
                    result.code    = 704;
                    result.message = "此出货功能已被禁用,请在管理后台开启。";
                    result.success = false;
                }

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

            return(result);
        }