Beispiel #1
0
        private void GetPinErpvoucherNo(ref List <T_OutStockInfo> outNewStockList, List <T_OutStockInfo> outStockList)
        {
            int      bSucc = 0;
            T_Box_DB _tdb  = new T_Box_DB();

            List <T_OutStockInfo> outStockListAdd = new List <T_OutStockInfo>();


            List <T_BoxingInfo> lstFserialNo = _tdb.GetFserialNoByErpvoucherNo(outStockList);

            //有父级序列号说明是拼箱,需要再次查找订单
            if (lstFserialNo != null && lstFserialNo.Count > 0)
            {
                List <T_OutStockInfo> lstNewOutStock = _tdb.GetErpvoucherNoByFSerialNo(lstFserialNo);
                foreach (var item in lstNewOutStock)
                {
                    var lst = outStockList.FindAll(t => t.ErpVoucherNo == item.ErpVoucherNo);
                    if (lst == null || lst.Count == 0)
                    {
                        T_OutStockInfo outStock = new T_OutStockInfo();
                        outStock.ErpVoucherNo = item.ErpVoucherNo;
                        outNewStockList.Add(outStock);
                        bSucc += 1;
                    }
                }

                if (bSucc > 0)
                {
                    outStockList.AddRange(outNewStockList);
                    GetPinErpvoucherNo(ref outNewStockList, outStockList);
                }
            }
        }
Beispiel #2
0
        //public JsonResult printBox(String ErpVoucherno)
        //{
        //    T_OutStockDetail_Func func = new T_OutStockDetail_Func();
        //    string strError = "";
        //    List<T_PalletDetailInfo> palletModelList = new List<T_PalletDetailInfo>();
        //    bool isSuccess = func.CreatePalletByTaskTrans(ErpVoucherno, currentUser, ref palletModelList, ref strError);
        //    return Json(new { state = isSuccess, obj = strError }, JsonRequestBehavior.AllowGet);
        //}


        public JsonResult CheckPrint(String ErpVoucherno)
        {
            T_OutStock_Func func      = new T_OutStock_Func();
            T_OutStockInfo  model     = new T_OutStockInfo();
            string          strError  = "";
            bool            isSuccess = func.GetOutStockDetailForPrint(ErpVoucherno, ref model, ref strError);

            if (isSuccess)
            {
                string del    = "";
                var    FYlist = from cust in model.lstDetail
                                where cust.StrongHoldCode == "FY2"
                                select cust;
                var HMlist = from cust in model.lstDetail
                             where cust.StrongHoldCode == "HM1"
                             select cust;
                if (FYlist.Count() == 0)
                {
                    del += "F";
                }
                if (HMlist.Count() == 0)
                {
                    del += "H";
                }
                return(Json(new { state = isSuccess, obj = strError, delobj = del }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new { state = isSuccess, obj = strError }, JsonRequestBehavior.AllowGet));
            }
        }
Beispiel #3
0
        public List <T_OutStockInfo> GetErpvoucherNoByFSerialNo(List <T_BoxingInfo> modelListFserialNo)
        {
            try
            {
                List <T_OutStockInfo> modelList = new List <T_OutStockInfo>();
                string strFserialno             = string.Empty;

                foreach (var item in modelListFserialNo)
                {
                    strFserialno += "\'" + item.FserialNo + "\'" + ",";
                }

                strFserialno = strFserialno.TrimEnd(',');

                string strsql = "SELECT ISNULL(erpvoucherno,'') erpvoucherno from t_Boxing  where fserialno IN(" + strFserialno + ") GROUP BY erpvoucherno";
                using (IDataReader dr = dbFactory.ExecuteReader(System.Data.CommandType.Text, strsql))
                {
                    while (dr.Read())
                    {
                        T_OutStockInfo boxmodel = new T_OutStockInfo();
                        boxmodel.ErpVoucherNo = dbFactory.ToModelValue(dr, "erpvoucherno").ToDBString();
                        modelList.Add(boxmodel);
                    }
                }

                return(modelList);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Beispiel #4
0
        // GET: Review
        public ActionResult Review(string strCarNo)
        {
            T_OutStockInfo  t_OutStockInfo = new T_OutStockInfo();
            T_OutStock_Func func           = new T_OutStock_Func();
            string          strError       = "";

            func.GetModelListByCar(strCarNo, ref t_OutStockInfo, ref strError);
            ViewData["t_OutStockInfo"] = t_OutStockInfo;
            ViewData["strError"]       = strError;
            return(View());
        }
Beispiel #5
0
        public bool CloseQualityDetailVoucherNo(int ID, UserModel user, ref string strError)
        {
            try
            {
                bool bSucc = false;
                if (ID == 0)
                {
                    strError = "客户端传入关闭ID为0!";
                    return(false);
                }
                T_QualityDetailInfo model = new T_QualityDetailInfo();
                model.ID = ID;
                bSucc    = base.GetModelByID(ref model, ref strError);
                if (bSucc == false)
                {
                    return(false);
                }

                List <T_OutStockInfo> modelpost     = new List <T_OutStockInfo>();
                T_OutStockInfo        TOutStockInfo = new T_OutStockInfo();
                TOutStockInfo.VoucherType    = 50;
                TOutStockInfo.ErpVoucherNo   = model.ErpVoucherNo;
                TOutStockInfo.CompanyCode    = model.StrongHoldCode;
                TOutStockInfo.StrongHoldCode = model.StrongHoldCode;
                TOutStockInfo.ERPVoucherType = model.ErpVoucherNo.Substring(4, 2);
                modelpost.Add(TOutStockInfo);
                bSucc = PostCloseOutStockVoucherNo(modelpost, ref strError);
                if (bSucc == false)
                {
                    return(false);
                }

                string strError1 = string.Empty;
                //关闭WMS单据状态
                bSucc = base.DeleteModelByModelSql(user, model, ref strError1);
                //bSucc = base.DeleteModelByID(user, model.ID, ref strError1);

                if (bSucc == false)
                {
                    strError = strError + "\r\n" + strError1;
                }
                else
                {
                    strError = strError + "\r\n" + "WMS单据删除成功!";
                }

                return(bSucc);
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                return(false);
            }
        }
Beispiel #6
0
        private List <T_OutStockInfo> CreateNewOutStock(List <T_OutStockInfo> modelList)
        {
            List <T_OutStockInfo> lstModel = new List <T_OutStockInfo>();

            foreach (var item in modelList)
            {
                T_OutStockInfo model = new T_OutStockInfo();
                model.ErpVoucherNo = item.ErpVoucherNo;
                lstModel.Add(model);
            }
            return(lstModel);
        }
Beispiel #7
0
        private void button12_Click(object sender, EventArgs e)
        {
            UserModel user = new UserModel();

            user.UserNo   = "admin";
            user.UserName = "******";
            string strError             = string.Empty;
            T_OutStockDetail_Func tfunc = new T_OutStockDetail_Func();
            T_OutStockInfo        model = new T_OutStockInfo();

            tfunc.CreateOutStockByEmsLabel("7f21b00f-f24f-4d95-bed4-eca1bc45d2ff", "FY2-HH2-1908260002", 1, 1.444M, user, ref model, ref strError);
        }
Beispiel #8
0
        public bool CloseInStockVoucherNo(int ID, UserModel user, ref string strError)
        {
            try
            {
                bool bSucc = false;
                if (ID == 0)
                {
                    strError = "客户端传入关闭ID为0!";
                    return(false);
                }
                T_InStockInfo model = new T_InStockInfo();
                model.ID = ID;
                bSucc    = base.GetModelByID(ref model, ref strError);
                if (bSucc == false)
                {
                    return(false);
                }

                if (model.Status != 1)
                {
                    strError = "单据已经开始操作不能关闭!";
                    return(false);
                }


                List <T_OutStockInfo> modelpost     = new List <T_OutStockInfo>();
                T_OutStockInfo        TOutStockInfo = new T_OutStockInfo();
                TOutStockInfo.VoucherType    = 50;
                TOutStockInfo.ErpVoucherNo   = model.ErpVoucherNo;
                TOutStockInfo.CompanyCode    = model.StrongHoldCode;
                TOutStockInfo.StrongHoldCode = model.StrongHoldCode;
                TOutStockInfo.ERPVoucherType = model.ERPVoucherType;
                modelpost.Add(TOutStockInfo);
                bSucc = PostCloseOutStockVoucherNo(modelpost, ref strError);
                if (bSucc == false)
                {
                    return(false);
                }

                string strError1 = string.Empty;
                model.Status = 5;//5是关闭状态
                //关闭WMS单据状态
                bSucc = base.UpadteModelByModelSql(user, model, ref strError1);

                if (bSucc == false)
                {
                    strError = strError + "\r\n" + strError1;
                }
                else
                {
                    strError = strError + "\r\n" + "WMS单据关闭成功!";
                }

                return(bSucc);
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                return(false);
            }
        }
Beispiel #9
0
        public bool UpdateT_OutStockStatus(UserInfo user, ref T_OutStockInfo t_outstock, ref string strError)
        {
            T_OutStock_Func tfunc = new T_OutStock_Func();

            return(tfunc.UpadteModelByModelSql(user, t_outstock, ref strError));
        }
Beispiel #10
0
        public bool GetT_OutStockListByPage(ref List <T_OutStockInfo> modelList, UserInfo user, T_OutStockInfo t_outstock, ref DividPage page, ref string strError)
        {
            T_OutStock_Func tfunc = new T_OutStock_Func();

            return(tfunc.GetModelListByPage(ref modelList, user, t_outstock, ref page, ref strError));
        }
Beispiel #11
0
        public bool GetT_OutStockByID(ref T_OutStockInfo model, ref string strError)
        {
            T_OutStock_Func tfunc = new T_OutStock_Func();

            return(tfunc.GetModelByID(ref model, ref strError));
        }
Beispiel #12
0
        public bool DeleteT_OutStockByModel(UserInfo user, T_OutStockInfo model, ref string strError)
        {
            T_OutStock_Func tfunc = new T_OutStock_Func();

            return(tfunc.DeleteModelByModel(user, model, ref strError));
        }
Beispiel #13
0
        public bool SaveT_OutStock(UserInfo user, ref T_OutStockInfo t_outstock, ref string strError)
        {
            T_OutStock_Func tfunc = new T_OutStock_Func();

            return(tfunc.SaveModelBySqlToDB(user, ref t_outstock, ref strError));
        }
Beispiel #14
0
        /// <summary>
        /// 生成物流箱码
        /// </summary>
        /// <param name="user"></param>
        /// <param name="lstErpVoucherNo"></param>
        /// <param name="HeadName"></param>
        /// <param name="strError"></param>
        /// <returns></returns>
        public bool CreatePrintBoxInfo(UserModel user, List <string> lstID, string HeadName, ref string strError)
        {
            try
            {
                List <T_BoxInfo> lstBox             = new List <T_BoxInfo>();//存放需要提交的数据
                List <T_BoxInfo> CreateLstBox       = new List <T_BoxInfo>();
                T_Box_DB         _tdb               = new T_Box_DB();
                string           strErpNote         = string.Empty;
                string           strCustomerName    = string.Empty;
                string           strErpNoteCat      = string.Empty;
                string           strErpVoucherNoCat = string.Empty;
                int  iDelNo = 0;
                bool bSucc  = true;
                List <T_OutStockInfo> outNewStockList = new List <T_OutStockInfo>();

                if (lstID == null || lstID.Count == 0)
                {
                    strError = "提交的生成箱子数据为空!";
                    return(false);
                }

                string strFilter = string.Empty;//"erpvoucherno = '" + ErpVoucherNo + "'";

                T_OutStock_Func       tfunc        = new T_OutStock_Func();
                List <T_OutStockInfo> outStockList = new List <T_OutStockInfo>();
                foreach (var item in lstID)
                {
                    T_OutStockInfo model = new T_OutStockInfo();
                    strFilter = "id = '" + item + "'";
                    tfunc.GetModelByFilter(ref model, strFilter, ref strError);
                    outStockList.Add(model);
                }

                if (outStockList == null || outStockList.Count == 0)
                {
                    strError = "未能获取订单数据";
                    return(false);
                }



                GetPinErpvoucherNo(ref outNewStockList, CreateNewOutStock(outStockList));

                if (outNewStockList != null && outNewStockList.Count > 0)
                {
                    foreach (var item in outNewStockList)
                    {
                        T_OutStockInfo model1 = new T_OutStockInfo();
                        strFilter = "erpvoucherno = '" + item.ErpVoucherNo + "'";
                        tfunc.GetModelByFilter(ref model1, strFilter, ref strError);
                        outStockList.Add(model1);
                    }
                }


                if (CheckVoucherTypeIsSame(outStockList, ref strError) == false)
                {
                    return(false);
                }

                foreach (var item in outStockList)
                {
                    if (item.Status == 1)
                    {
                        strError += "订单号:" + item.ErpVoucherNo + "处于新建状态,不能生成物流标签!" + "\r\n";
                        bSucc     = false;
                    }
                }

                if (bSucc == false)
                {
                    return(false);
                }

                T_OutTaskDetails_DB tdb = new T_OutTaskDetails_DB();
                List <T_OutStockTaskDetailsInfo> modelListTaskDetail = new List <T_OutStockTaskDetailsInfo>();

                foreach (var item in outStockList)
                {
                    if (tdb.GetOutTaskDetailByErpVoucherNo(item.ErpVoucherNo, ref modelListTaskDetail, ref strError) == false)
                    {
                        return(false);
                    }

                    if (modelListTaskDetail.Where(t => t.UnReviewQty > 0).Count() > 0)
                    {
                        strError = "订单:" + item.ErpVoucherNo + "没有全部复核完成,不能生成物流标签!";
                        bSucc    = false;
                        break;
                    }
                }

                if (bSucc == false)
                {
                    return(false);
                }

                T_Box_DB boxdb = new T_Box_DB();
                foreach (var item in outStockList)
                {
                    if (boxdb.GetErpVoucherNoIsPrint(item.ErpVoucherNo, ref strError) == false)
                    {
                        bSucc = false;
                        break;
                    }
                }

                if (bSucc == false)
                {
                    return(false);
                }


                //其他出库单,需要判断客户是否相同
                if (outStockList[0].VoucherType == 24)
                {
                    if (CheckCustomerIsSame(outStockList, ref strError) == false)
                    {
                        return(false);
                    }
                    strCustomerName = outStockList[0].CustomerName;
                }
                else ///调拨出库单,验证调入仓库是否相同
                {
                    T_OutStockDetail_Func       tfuncd               = new T_OutStockDetail_Func();
                    List <T_OutStockDetailInfo> lstOutStockDetail    = new List <T_OutStockDetailInfo>();
                    List <T_OutStockDetailInfo> lstOutStockDetailSum = new List <T_OutStockDetailInfo>();
                    foreach (var item in lstID)
                    {
                        strFilter = "headerid = '" + item + "'";
                        tfuncd.GetModelListByFilter(ref lstOutStockDetail, ref strError, "", strFilter, "*");
                        lstOutStockDetailSum.AddRange(lstOutStockDetail);
                    }

                    if (CheckWarehouseIsSame(lstOutStockDetailSum, ref strError) == false)
                    {
                        return(false);
                    }
                    strCustomerName = lstOutStockDetailSum[0].ToErpWarehouseName;
                }

                foreach (var item in outStockList)
                {
                    CreateLstBox.AddRange(GetNeBox(_tdb.GetPrintBoxInfo(item.ErpVoucherNo), item.ErpVoucherNo, strCustomerName, item.ERPNote, HeadName));
                }

                if (CreateLstBox == null || CreateLstBox.Count == 0)
                {
                    strError = "可以生成箱子的数据为空!";
                    return(false);
                }

                List <T_BoxInfo> lstNewCreateBox = ModelListGroupBy(CreateLstBox);
                List <T_BoxInfo> lstFserialNo    = new List <T_BoxInfo>();
                string           strFserialNoCat = string.Empty;

                foreach (var item in lstNewCreateBox)
                {
                    lstFserialNo = _tdb.GetSerialNoByFserialNo(item.SerialNo);
                    if (lstFserialNo != null && lstFserialNo.Count > 0)
                    {
                        foreach (var item1 in lstFserialNo)
                        {
                            strFserialNoCat += item1.SerialNo + ",";
                        }
                        item.SerialNo = strFserialNoCat.TrimEnd(',');
                    }
                }

                foreach (var item in lstNewCreateBox)
                {
                    iDelNo    += 1;
                    item.DelNo = iDelNo.ToString().PadLeft(4, '0');
                    //item.Remark = strErpNoteCat;
                    //item.ErpVoucherNo = strErpVoucherNoCat;
                }

                //lstNewCreateBox.OrderBy(t => t.IsAmount);

                return(_tdb.SaveBoxByModelList(user, lstNewCreateBox.OrderBy(t => t.IsAmount).ToList(), ref strError));
            }
            catch (Exception ex)
            {
                strError = ex.Message;
                return(false);
            }
        }