Пример #1
0
        public void Verify(int MainID, bool IsVerify)
        {
            Hownet.BLL.Pack2DepotMain          bllPDM = new Pack2DepotMain();
            Hownet.Model.Pack2DepotMain        modPDM = bllPDM.GetModel(MainID);
            List <Hownet.Model.Pack2DepotInfo> li     = DataTableToList(GetList("(MainID=" + MainID + ")").Tables[0]);

            Hownet.BLL.Repertory       bllRep = new Repertory();
            Hownet.BLL.PackAmount      bllPA  = new PackAmount();
            Hownet.BLL.RepertoryList   bllRL  = new RepertoryList();
            Hownet.BLL.MaterielList    bllML  = new MaterielList();
            Hownet.Model.MaterielList  modML  = new Model.MaterielList();
            Hownet.Model.RepertoryList modRL  = new Model.RepertoryList();
            DataTable dtRL = new DataTable();

            Hownet.Model.PackAmount modPA  = new Hownet.Model.PackAmount();
            Hownet.Model.Repertory  modRep = new Hownet.Model.Repertory();
            modRep.BrandName = modRep.ColorName = modRep.ColorOneName = modRep.ColorTwoName = modRep.CompanyName = modRep.DeparmentName = modRep.DepotInfoName = modRep.MaterielName = modRep.MeasureName = modRep.Remark = modRep.SizeName = modRep.SpecName = modRep.SupplierName = modRep.SupplierSN = string.Empty;

            Hownet.BLL.OtherType bllOT = new Hownet.BLL.OtherType();
            DataTable            dtOT  = bllOT.GetTypeList("成品单位").Tables[0];
            decimal one = 1;
            decimal two = 1;
            int     dM  = 0;

            if (dtOT.Rows.Count > 0)
            {
                one = Convert.ToDecimal(dtOT.Select("(Name='车间换算')")[0]["Value"]);
                two = Convert.ToDecimal(dtOT.Select("(Name='仓储换算')")[0]["Value"]);
                dM  = Convert.ToInt32(dtOT.Select("(Name='仓储单位')")[0]["Value"]);
            }
            try
            {
                for (int i = 0; i < li.Count; i++)
                {
                    modPA = bllPA.GetModel(li[i].PackAmountID);
                    if (IsVerify)
                    {
                        if (one > 1 || two > 1)
                        {
                            if (one > 0)
                            {
                                modPA.Amount -= ((int)(li[i].NowAmount * two / one));
                            }
                        }
                        else
                        {
                            modPA.Amount -= li[i].NowAmount;
                        }
                        if (modPA.Amount < 0)
                        {
                            modPA.Amount = 0;
                        }
                    }
                    else
                    {
                        if (one > 1 || two > 1)
                        {
                            if (one > 0)
                            {
                                modPA.Amount += ((int)(li[i].NowAmount * two / one));
                            }
                        }
                        else
                        {
                            modPA.Amount += li[i].NowAmount;
                        }
                    }
                    bllPA.Update(modPA);

                    modRep           = new Hownet.Model.Repertory();
                    modRep.BrandName = modRep.ColorName = modRep.ColorOneName = modRep.ColorTwoName = modRep.CompanyName = modRep.DeparmentName = modRep.DepotInfoName = modRep.MaterielName = modRep.MeasureName = modRep.Remark = modRep.SizeName = modRep.SpecName = modRep.SupplierName = modRep.SupplierSN = string.Empty;

                    modRep.DepartmentID = modPDM.DepotID;
                    modRep.BrandID      = modML.BrandID = li[i].BrandID;
                    modRep.ColorID      = modML.ColorID = li[i].ColorID;
                    modRep.ColorOneID   = modML.ColorOneID = li[i].ColorOneID;
                    modRep.ColorTwoID   = modML.ColorTwoID = li[i].ColorTwoID;
                    modRep.SizeID       = modML.SizeID = li[i].SizeID;
                    modRep.MaterielID   = modML.MaterielID = li[i].MaterielID;
                    if (dM > 0)
                    {
                        modRep.MeasureID = dM;
                    }
                    else
                    {
                        modRep.MeasureID = li[i].MeasureID;
                    }
                    modML.MeasureID = modRep.MeasureID;
                    modRep.Amount   = li[i].NowAmount;
                    modRep.MListID  = li[i].MListID;
                    if (li[i].DepotBrandID > 0)
                    {
                        modRep.BrandID = modML.BrandID = li[i].DepotBrandID;
                        modRep.MListID = bllML.GetID(modML);
                    }
                    modRep.ID = bllRep.InOrOut(modRep, IsVerify);
                    if (li[i].DepotInfoID > 0)
                    {
                        dtRL = bllRL.GetList("(BatchNumber=" + li[i].MListID + ") And (DepotInfoID=" + li[i].DepotInfoID + ")").Tables[0];

                        if (dtRL.Rows.Count == 0)
                        {
                            if (IsVerify)
                            {
                                modRL               = new Model.RepertoryList();
                                modRL.A             = 1;
                                modRL.NotAmount     = modRL.Amount = li[i].NowAmount;
                                modRL.BatchNumber   = li[i].MListID;
                                modRL.DateTime      = DateTime.Now;
                                modRL.DepotInfoID   = li[i].DepotInfoID;
                                modRL.DepotInfoName = string.Empty;
                                modRL.ID            = 0;
                                modRL.IsEnd         = false;
                                modRL.MainID        = modRep.ID;
                                modRL.PlanID        = 0;
                                modRL.QRID          = li[i].MListID.ToString();
                                modRL.Remark        = string.Empty;
                                modRL.SpecID        = 0;
                                modRL.SpecName      = string.Empty;
                                modRL.StockListID   = 0;
                                bllRL.Add(modRL);
                            }
                        }
                        else if (dtRL.Rows.Count == 1)
                        {
                            modRL = bllRL.GetModel(Convert.ToInt32(dtRL.Rows[0]["ID"]));
                            if (IsVerify)
                            {
                                modRL.Amount += li[i].NowAmount;
                            }
                            else
                            {
                                modRL.Amount -= li[i].NowAmount;
                            }
                            bllRL.Update(modRL);
                        }
                        else if (dtRL.Rows.Count > 1)
                        {
                            List <Hownet.Model.RepertoryList> liRL = bllRL.DataTableToList(dtRL);
                            for (int j = 1; j < liRL.Count; j++)
                            {
                                liRL[0].Amount += liRL[j].Amount;
                                bllRL.Delete(liRL[j].ID);
                            }
                            if (IsVerify)
                            {
                                liRL[0].Amount += li[i].NowAmount;
                            }
                            else
                            {
                                liRL[0].Amount -= li[i].NowAmount;
                            }
                            bllRL.Update(liRL[0]);
                        }
                    }
                }
                if (!IsVerify)
                {
                    modPDM.IsVerify   = 1;
                    modPDM.VerifyDate = Convert.ToDateTime("1900-1-1");
                    modPDM.VerifyMan  = 0;
                    bllPDM.Update(modPDM);
                }
            }
            catch (Exception ex)
            {
            }
        }
Пример #2
0
        /// <summary>
        /// 审核/弃审入库单
        /// </summary>
        /// <param name="ID">入库单ID</param>
        /// <param name="t">真为审核入库,假为弃审出库</param>
        public void Verify(int ID, bool t, int VerifyMan, int DepotID, int TypeID)
        {
            if (TypeID == (int)Enums.TableType.P2D)
            {
                try
                {
                    Hownet.BLL.Product2DepotInfo bllP2DI = new Product2DepotInfo();
                    Hownet.BLL.AmountInfo        bllAI   = new AmountInfo();
                    Hownet.BLL.Repertory         bllRep  = new Repertory();
                    Hownet.BLL.MaterielList      bllML   = new MaterielList();
                    Hownet.BLL.Materiel          bllMat  = new Materiel();
                    Hownet.Model.AmountInfo      modAI   = new Hownet.Model.AmountInfo();
                    Hownet.Model.Repertory       modRep  = new Model.Repertory();
                    Hownet.Model.MaterielList    modML   = new Hownet.Model.MaterielList();
                    Hownet.BLL.RepertoryList     bllRL   = new RepertoryList();
                    Hownet.Model.RepertoryList   modRL   = new Model.RepertoryList();
                    DataTable dtRL = new DataTable();
                    Hownet.Model.Product2Depot modP2D = GetModel(ID);
                    DataTable dtP2DI = bllP2DI.GetList("(MainID=" + ID + ")").Tables[0];
                    List <Hownet.Model.Product2DepotInfo> li = bllP2DI.DataTableToList(bllP2DI.GetList("(MainID=" + ID + ")").Tables[0]);
                    modAI.TableTypeID = 1;
                    Hownet.BLL.OtherType bllOT = new Hownet.BLL.OtherType();
                    DataTable            dtOT  = bllOT.GetTypeList("成品单位").Tables[0];
                    decimal one = 1;
                    decimal two = 1;
                    int     dM  = 0;

                    if (dtOT.Rows.Count > 0)
                    {
                        one = Convert.ToDecimal(dtOT.Select("(Name='车间换算')")[0]["Value"]);
                        two = Convert.ToDecimal(dtOT.Select("(Name='仓储换算')")[0]["Value"]);
                        dM  = Convert.ToInt32(dtOT.Select("(Name='仓储单位')")[0]["Value"]);
                    }


                    for (int i = 0; i < li.Count; i++)
                    {
                        modRep = new Model.Repertory();
                        modRep.DepartmentID = DepotID;
                        modRep.BrandName    = modRep.ColorName = modRep.ColorOneName = modRep.ColorTwoName = modRep.CompanyName = modRep.DeparmentName = modRep.DepotInfoName = modRep.MaterielName = modRep.MeasureName = modRep.Remark = modRep.SizeName = modRep.SpecName = modRep.SupplierName = modRep.SupplierSN = string.Empty;

                        modRep.BrandID    = modML.BrandID = li[i].BrandID;
                        modRep.ColorID    = modML.ColorID = li[i].ColorID;
                        modRep.ColorOneID = modML.ColorOneID = li[i].ColorOneID;
                        modRep.ColorTwoID = modML.ColorTwoID = li[i].ColorTwoID;
                        modRep.SizeID     = modML.SizeID = li[i].SizeID;
                        modRep.MaterielID = modML.MaterielID = li[i].MaterielID;
                        modRep.MeasureID  = modML.MeasureID = bllMat.GetModel(li[i].MaterielID).MeasureID;
                        modAI.MainID      = li[i].TaskID;
                        modRep.Amount     = modAI.NotAmount = li[i].Amount;
                        modRep.MListID    = modAI.MListID = li[i].MListID;
                        if (li[i].MListID == 0)
                        {
                            modAI.MListID = li[i].MListID = bllML.GetID(modML);
                            bllP2DI.Update(li[i]);
                            if (dM > 0)
                            {
                                modML.MeasureID = dM;
                            }
                            modRep.MListID = bllML.GetID(modML);
                        }
                        else
                        {
                            if (dM > 0)
                            {
                                modML.MeasureID = dM;
                            }
                            modRep.MListID = bllML.GetID(modML);
                        }
                        if (li[i].TaskID > 0)
                        {
                            if (t)
                            {
                                if (one > 1 || two > 1)
                                {
                                    modAI.Amount -= ((int)(li[i].Amount * two / one));
                                }
                                else
                                {
                                    modAI.Amount -= li[i].Amount;
                                }
                                if (modAI.Amount < 0)
                                {
                                    modAI.Amount = 0;
                                }
                            }
                            else
                            {
                                if (one > 1 || two > 1)
                                {
                                    modAI.Amount += ((int)(li[i].Amount * two / one));
                                }
                                else
                                {
                                    modAI.Amount += li[i].Amount;
                                }
                            }


                            bllAI.UpNotAmount(modAI, t);
                        }
                        if (dM > 0)
                        {
                            modRep.MeasureID = dM;
                        }
                        else
                        {
                            modRep.MeasureID = modML.MeasureID;
                        }
                        modRep.ID = bllRep.InOrOut(modRep, t);
                        if (li[i].DepotInfoID > 0)
                        {
                            dtRL = bllRL.GetList("(BatchNumber=" + li[i].MListID + ") And (DepotInfoID=" + li[i].DepotInfoID + ")").Tables[0];

                            if (dtRL.Rows.Count == 0)
                            {
                                if (t)
                                {
                                    modRL               = new Model.RepertoryList();
                                    modRL.A             = 1;
                                    modRL.NotAmount     = modRL.Amount = li[i].Amount;
                                    modRL.BatchNumber   = li[i].MListID;
                                    modRL.DateTime      = DateTime.Now;
                                    modRL.DepotInfoID   = li[i].DepotInfoID;
                                    modRL.DepotInfoName = string.Empty;
                                    modRL.ID            = 0;
                                    modRL.IsEnd         = false;
                                    modRL.MainID        = modRep.ID;
                                    modRL.PlanID        = 0;
                                    modRL.QRID          = li[i].MListID.ToString();
                                    modRL.Remark        = string.Empty;
                                    modRL.SpecID        = 0;
                                    modRL.SpecName      = string.Empty;
                                    modRL.StockListID   = 0;
                                    bllRL.Add(modRL);
                                }
                            }
                            else if (dtRL.Rows.Count == 1)
                            {
                                modRL = bllRL.GetModel(Convert.ToInt32(dtRL.Rows[0]["ID"]));
                                if (t)
                                {
                                    modRL.Amount += li[i].Amount;
                                }
                                else
                                {
                                    modRL.Amount -= li[i].Amount;
                                }
                                bllRL.Update(modRL);
                            }
                            else if (dtRL.Rows.Count > 1)
                            {
                                List <Hownet.Model.RepertoryList> liRL = bllRL.DataTableToList(dtRL);
                                for (int j = 1; j < liRL.Count; j++)
                                {
                                    liRL[0].Amount += liRL[j].Amount;
                                    bllRL.Delete(liRL[j].ID);
                                }
                                if (t)
                                {
                                    liRL[0].Amount += li[i].Amount;
                                }
                                else
                                {
                                    liRL[0].Amount -= li[i].Amount;
                                }
                                bllRL.Update(liRL[0]);
                            }
                        }
                    }
                    if (t)
                    {
                        modP2D.IsVerify   = 3;
                        modP2D.VerifyDate = DateTime.Today;
                        modP2D.VerifyMan  = VerifyMan;
                    }
                    else
                    {
                        modP2D.IsVerify   = 1;
                        modP2D.VerifyDate = DateTime.Parse("1900-1-1");
                        modP2D.VerifyMan  = 0;
                    }
                    Update(modP2D);
                }
                catch (Exception ex)
                {
                }
            }
            else if (TypeID == (int)Enums.TableType.P2Pack)
            {
                try
                {
                    Hownet.BLL.Product2DepotInfo bllP2DI = new Product2DepotInfo();
                    Hownet.BLL.AmountInfo        bllAI   = new AmountInfo();
                    Hownet.BLL.PackAmount        bllPA   = new PackAmount();
                    Hownet.BLL.MaterielList      bllML   = new MaterielList();
                    Hownet.BLL.Materiel          bllMat  = new Materiel();
                    Hownet.Model.AmountInfo      modAI   = new Hownet.Model.AmountInfo();
                    Hownet.Model.PackAmount      modPA   = new Hownet.Model.PackAmount();
                    Hownet.Model.MaterielList    modML   = new Hownet.Model.MaterielList();
                    Hownet.Model.Product2Depot   modP2D  = GetModel(ID);
                    Hownet.BLL.OtherType         bllOT   = new OtherType();
                    DataTable dtOT          = bllOT.GetTypeList("成品单位").Tables[0];
                    int       TaskMeasureID = 0;
                    DataRow[] drs           = dtOT.Select("(Name='车间单位')");
                    if (drs.Length == 1)
                    {
                        TaskMeasureID = Convert.ToInt32(drs[0]["Value"]);
                    }
                    List <Hownet.Model.Product2DepotInfo> li = bllP2DI.DataTableToList(bllP2DI.GetList("(MainID=" + ID + ")").Tables[0]);
                    modAI.TableTypeID  = 1;
                    modPA.DepartmentID = DepotID;
                    for (int i = 0; i < li.Count; i++)
                    {
                        if (li[i].MaterielID > 0)
                        {
                            modPA.BrandID    = modML.BrandID = li[i].BrandID;
                            modPA.ColorID    = modML.ColorID = li[i].ColorID;
                            modPA.ColorOneID = modML.ColorOneID = li[i].ColorOneID;
                            modPA.ColorTwoID = modML.ColorTwoID = li[i].ColorTwoID;
                            modPA.SizeID     = modML.SizeID = li[i].SizeID;
                            modPA.MaterielID = modML.MaterielID = li[i].MaterielID;
                            modML.MeasureID  = bllMat.GetModel(li[i].MaterielID).MeasureID;
                            if (TaskMeasureID > 0)
                            {
                                modPA.MeasureID = TaskMeasureID;
                            }
                            else
                            {
                                modPA.MeasureID = modML.MeasureID;
                            }
                            modAI.MainID = li[i].TaskID;
                            modPA.PlanID = li[i].TaskID;
                            modPA.Remark = string.Empty;
                            modPA.Amount = modAI.NotAmount = li[i].Amount;

                            if (li[i].ColorID > 0 && li[i].SizeID > 0)
                            {
                                if (li[i].MListID == 0)
                                {
                                    modAI.MListID = modPA.MListID = li[i].MListID = bllML.GetID(modML);
                                    bllP2DI.Update(li[i]);
                                }
                                else
                                {
                                    modAI.MListID = modPA.MListID = li[i].MListID;
                                }
                                bllAI.UpNotAmount(modAI, t);
                                bllPA.InOrOut(modPA, t);
                            }
                        }
                        else
                        {
                            bllP2DI.Delete(li[i].ID);
                        }
                    }
                    if (t)
                    {
                        modP2D.IsVerify   = 3;
                        modP2D.VerifyDate = DateTime.Today;
                        modP2D.VerifyMan  = VerifyMan;
                    }
                    else
                    {
                        modP2D.IsVerify   = 1;
                        modP2D.VerifyDate = DateTime.Parse("1900-1-1");
                        modP2D.VerifyMan  = 0;
                    }
                    Update(modP2D);
                }
                catch (Exception ex)
                {
                }
            }
        }
Пример #3
0
        /// <param name="t">真为审核入库,假为弃审出库</param>
        public bool VerifyStock(int MainID, int PackID, bool t, int VerifyMan)
        {
            try
            {
                Hownet.BLL.StockBack     bllSB  = new StockBack();
                Hownet.BLL.StockBackInfo bllSBI = new StockBackInfo();
                Hownet.BLL.Repertory     bllRep = new Repertory();
                Hownet.BLL.Deparment     bllDep = new Deparment();

                Hownet.BLL.PackAmount   bllPA  = new PackAmount();
                Hownet.BLL.MaterielList bllML  = new MaterielList();
                Hownet.BLL.Materiel     bllMat = new Materiel();

                Hownet.Model.PackAmount    modPA  = new Hownet.Model.PackAmount();
                Hownet.Model.MaterielList  modML  = new Hownet.Model.MaterielList();
                Hownet.Model.StockBack     modSB  = bllSB.GetModel(MainID);
                Hownet.Model.StockBackInfo modSBI = new Hownet.Model.StockBackInfo();
                Hownet.Model.Repertory     modRep = new Hownet.Model.Repertory();
                Hownet.Model.Deparment     modDep = bllDep.GetModel(PackID);


                List <Hownet.Model.StockBackInfo> li = bllSBI.DataTableToList(bllSBI.GetList("(MainID=" + MainID + ")").Tables[0]);

                modPA.DepartmentID = PackID;
                for (int i = 0; i < li.Count; i++)
                {
                    modRep.BrandID      = modPA.BrandID = modML.BrandID = li[i].BrandID;
                    modRep.ColorID      = modPA.ColorID = modML.ColorID = li[i].ColorID;
                    modRep.ColorOneID   = modPA.ColorOneID = modML.ColorOneID = li[i].ColorOneID;
                    modRep.ColorTwoID   = modPA.ColorTwoID = modML.ColorTwoID = li[i].ColorTwoID;
                    modRep.SizeID       = modPA.SizeID = modML.SizeID = li[i].SizeID;
                    modRep.MaterielID   = modPA.MaterielID = modML.MaterielID = li[i].MaterielID;
                    modRep.MeasureID    = modPA.MeasureID = modML.MeasureID = bllMat.GetModel(li[i].MaterielID).MeasureID;
                    modRep.PlanID       = modPA.PlanID = 0;
                    modRep.Remark       = modPA.Remark = string.Empty;
                    modRep.DepartmentID = modPA.DepartmentID = modSB.DepotID;
                    modRep.Amount       = modPA.Amount = li[i].Amount;
                    modSBI = bllSBI.GetModel(li[i].StockInfoID);
                    if (modSBI != null)
                    {
                        if (t)
                        {
                            modSBI.NotAmount -= li[i].Amount;
                        }
                        else
                        {
                            modSBI.NotAmount += li[i].Amount;
                        }
                        bllSBI.Update(modSBI);
                    }
                    if (li[i].MListID == 0)
                    {
                        modRep.MListID = modPA.MListID = li[i].MListID = bllML.GetID(modML);
                        bllSBI.Update(li[i]);
                    }
                    else
                    {
                        modRep.MListID = modPA.MListID = li[i].MListID;
                    }
                    if (modDep.TypeID == 39)
                    {
                        bllPA.InOrOut(modPA, t);
                    }
                    else if (modDep.TypeID == 42)
                    {
                        bllRep.InOrOut(modRep, t);
                    }
                }
                if (t)
                {
                    modSB.IsVerify   = 3;
                    modSB.VerifyDate = DateTime.Today;
                    modSB.VerifyMan  = VerifyMan;
                }
                else
                {
                    modSB.IsVerify   = 1;
                    modSB.VerifyDate = DateTime.Parse("1900-1-1");
                    modSB.VerifyMan  = 0;
                }
                bllSB.Update(modSB);
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }