예제 #1
0
        private string updatetbDept(HttpContext context)
        {
            try
            {
                using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
                {
                    AMSCM.Models.tbDept tbDept = amscm.tbDept.Find(context.Request.Form["cnvcDeptID"]);
                    tbDept.cnvcDeptName     = context.Request.Form["cnvcDeptName"];
                    tbDept.cnvcDeptID       = context.Request.Form["cnvcDeptID"];
                    tbDept.cnvcDeptType     = context.Request.Form["cnvcDeptType"];
                    tbDept.cnvcParentDeptID = context.Request.Form["cnvcParentDeptID"];
                    tbDept.cnvcComments     = context.Request.Form["cnvcComments"];
                    tbDept.cnnPriority      = Convert.ToInt32(context.Request.Form["cnnPriority"]);

                    amscm.SaveChanges();
                }
            }
            catch (NullReferenceException nex)
            {
                ExceptionPolicy.HandleException(nex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, nex.Message)));
            }
            catch (DbUpdateException dex)
            {
                ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
            }
            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
        }
예제 #2
0
 private string updateProductClass(HttpContext context)
 {
     try
     {
         using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
         {
             AMSCM.Models.tbProductClass productClass = amscm.tbProductClass.Find(context.Request.Form["cnvcProductClassCode"]);
             productClass.cnvcProductType      = context.Request.Form["cnvcProductType"];
             productClass.cnvcProductClassName = context.Request.Form["cnvcProductClassName"];
             productClass.cnnDays      = Convert.ToInt32(context.Request.Form["cnnDays"]);
             productClass.cnvcComments = context.Request.Form["cnvcComments"];
             amscm.SaveChanges();
         }
     }
     catch (NullReferenceException nex)
     {
         ExceptionPolicy.HandleException(nex, ServiceHelper.ExceptionPolicy);
         return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, nex.Message)));
     }
     catch (DbUpdateException dex)
     {
         ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
         return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
     }
     return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
 }
        private string newtbComputationUnit(HttpContext context)
        {
            try
            {
                using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
                {
                    AMSCM.Models.tbComputationUnit tbComputationUnit = new AMSCM.Models.tbComputationUnit();
                    tbComputationUnit.cnvcComunitCode = context.Request.Form["cnvcComunitCode"];
                    tbComputationUnit.cnvcComUnitName = context.Request.Form["cnvcComUnitName"];
                    tbComputationUnit.cnvcGroupCode   = context.Request.Form["cnvcGroupCode"];
                    tbComputationUnit.cnbMainUnit     = context.Request.Form["cnbMainUnit"] == "on"?true:false;
                    if (tbComputationUnit.cnbMainUnit)
                    {
                        int icount = (from d in amscm.tbComputationUnit where d.cnbMainUnit && d.cnvcGroupCode == tbComputationUnit.cnvcGroupCode select d).Count();
                        if (icount > 0)
                        {
                            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, "此计量单位组已有主计量单位,一个计量单位组只能有一个主计量单位!")));
                        }
                    }
                    if (context.Request.Form["cniChangRate"] != "")
                    {
                        tbComputationUnit.cniChangRate = Convert.ToDecimal(context.Request.Form["cniChangRate"]);
                    }

                    amscm.tbComputationUnit.Add(tbComputationUnit);
                    amscm.SaveChanges();
                }
            }
            catch (DbUpdateException dex)
            {
                ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
            }
            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
        }
        private string balance(HttpContext context)
        {
            try
            {
                using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.RequiresNew, new TimeSpan(0, 10, 0)))
                {
                    using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
                    {
                        //amscm.Database.Connection.ConnectionTimeout = 600;

                        //更新月结表
                        int icnnYear  = Convert.ToInt32(context.Request.Form["cnnYear"]);
                        int icnnMonth = Convert.ToInt32(context.Request.Form["cnnMonth"]);
                        int icount    = (from d in amscm.tbMonthlyBalance
                                         where d.cnnYear <= icnnYear && d.cnnMonth < icnnMonth && !d.cnbIsBalance
                                         select d).Count();
                        if (icount > 0)
                        {
                            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, "请先月结以前月份!")));
                        }
                        AMSCM.Models.tbMonthlyBalance tbMonthlyBalance = amscm.tbMonthlyBalance.Find(icnnYear, icnnMonth);
                        if (tbMonthlyBalance.cnbIsBalance)
                        {
                            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, "已月结!")));
                        }

                        tbMonthlyBalance.cnbIsBalance = true;

                        string strOperId           = context.User.Identity.Name;
                        CMSMStruct.LoginStruct ls1 = (CMSMStruct.LoginStruct)context.Session["Login"];
                        string strOperName         = ls1.strOperName;
                        tbMonthlyBalance.cndBalanceDate = DateTime.Now;
                        tbMonthlyBalance.cnvcBalancer   = strOperId;

                        tbMonthlyBalance.cnvcBalancerName = strOperName;


                        AMSCM.Models.tbMonthlyBalanceLog tbMonthlyBalanceLog = new AMSCM.Models.tbMonthlyBalanceLog();
                        ServiceHelper.SetEntity <AMSCM.Models.tbMonthlyBalance, AMSCM.Models.tbMonthlyBalanceLog>(tbMonthlyBalance, tbMonthlyBalanceLog);
                        amscm.tbMonthlyBalanceLog.Add(tbMonthlyBalanceLog);

                        //更新盘点和领料单的成本
                        Compute(amscm, tbMonthlyBalance, strOperId, strOperName);
                        amscm.SaveChanges();
                        transaction.Complete();
                    }
                }
            }
            catch (TimeoutException tex)
            {
                ExceptionPolicy.HandleException(tex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, tex.Message)));
            }
            catch (DbUpdateException dex)
            {
                ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
            }
            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
        }
예제 #5
0
        private string updatetbBillOfMaterials(HttpContext context)
        {
            try
            {
                using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
                {
                    AMSCM.Models.tbBillOfMaterials tbBillOfMaterials = amscm.tbBillOfMaterials.Find(context.Request.Form["cnvcPartInvCode"], context.Request.Form["cnvcComponentInvCode"]);
                    tbBillOfMaterials.cnvcPartInvCode      = context.Request.Form["cnvcPartInvCode"];
                    tbBillOfMaterials.cnvcComponentInvCode = context.Request.Form["cnvcComponentInvCode"];
                    tbBillOfMaterials.cnnBaseQtyN          = Convert.ToDecimal(context.Request.Form["cnnBaseQtyN"]);
                    tbBillOfMaterials.cnnBaseQtyD          = Convert.ToDecimal(context.Request.Form["cnnBaseQtyD"]);

                    amscm.SaveChanges();
                }
            }
            catch (NullReferenceException nex)
            {
                ExceptionPolicy.HandleException(nex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, nex.Message)));
            }
            catch (DbUpdateException dex)
            {
                ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
            }
            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
        }
예제 #6
0
 private string removeInventory(HttpContext context)
 {
     try
     {
         using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
         {
             AMSCM.Models.tbInventory inventory = amscm.tbInventory.Find(context.Request.Form["cnvcInvCode"]);
             amscm.tbInventory.Remove(inventory);
             AMSCM.Models.tbGoods tbGoods = amscm.tbGoods.Find(inventory.cnvcInvCode);
             if (tbGoods != null)
             {
                 amscm.tbGoods.Remove(tbGoods);
             }
             amscm.SaveChanges();
         }
     }
     catch (ArgumentNullException aex)
     {
         ExceptionPolicy.HandleException(aex, ServiceHelper.ExceptionPolicy);
         return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, aex.Message)));
     }
     catch (DbUpdateException dex)
     {
         ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
         return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
     }
     return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
 }
예제 #7
0
        private string newtbStockMain(HttpContext context)
        {
            try
            {
                using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
                {
                    AMSCM.Models.tbStockMain tbStockMain = new AMSCM.Models.tbStockMain();
                    //tbStockMain.cnnId = context.Request.Form["cnnId"];
                    tbStockMain.cnvcSupplierCode = context.Request.Form["cnvcSupplierCode"];
                    tbStockMain.cnvcWhCode       = context.Request.Form["cnvcWhCode"];
                    tbStockMain.cnvcDeptId       = context.Request.Form["cnvcDeptId"];
                    //tbStockMain.cnvcOperType = Convert.ToInt32(context.Request.Form["cnvcOperType"]);
                    tbStockMain.cndCreateDate   = DateTime.Now;//context.Request.Form["cndCreateDate"];
                    tbStockMain.cnvcCreaterId   = context.Request.Form["cnvcCreaterId"];
                    tbStockMain.cnvcCreaterName = context.Request.Form["cnvcCreaterName"];
                    //tbStockMain.cndCheckDate = context.Request.Form["cndCheckDate"];
                    //tbStockMain.cnvcCheckerId = context.Request.Form["cnvcCheckerId"];
                    //tbStockMain.cnvcCheckerName = context.Request.Form["cnvcCheckerName"];
                    tbStockMain.cndBusinessDate = Convert.ToDateTime(context.Request.Form["cndBusinessDate"]);
                    tbStockMain.cnnYear         = Convert.ToInt32(context.Request.Form["cnnYear"]);
                    tbStockMain.cnnMonth        = Convert.ToInt32(context.Request.Form["cnnMonth"]);
                    tbStockMain.cnnStatus       = Convert.ToInt32(context.Request.Form["cnnStatus"]);
                    tbStockMain.cnvcComments    = context.Request.Form["cnvcComments"];

                    amscm.tbStockMain.Add(tbStockMain);
                    amscm.SaveChanges();
                }
            }
            catch (DbUpdateException dex)
            {
                ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
            }
            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
        }
        private string newtbMonthlyBalance(HttpContext context)
        {
            try
            {
                using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
                {
                    AMSCM.Models.tbMonthlyBalance tbMonthlyBalance = new AMSCM.Models.tbMonthlyBalance();
                    tbMonthlyBalance.cnnYear      = Convert.ToInt32(context.Request.Form["cnnYear"]);
                    tbMonthlyBalance.cnnMonth     = Convert.ToInt32(context.Request.Form["cnnMonth"]);
                    tbMonthlyBalance.cnbIsBalance = false;

                    tbMonthlyBalance.cndCreateDate = DateTime.Now;
                    tbMonthlyBalance.cnvcCreater   = context.User.Identity.Name;
                    CMSMStruct.LoginStruct ls1 = (CMSMStruct.LoginStruct)context.Session["Login"];
                    tbMonthlyBalance.cnvcCreaterName = ls1.strOperName;

                    //tbMonthlyBalance.cndModifyDate = tbMonthlyBalance.cndCreateDate;
                    //tbMonthlyBalance.cnvcModifier = tbMonthlyBalance.cnvcCreater;
                    //tbMonthlyBalance.cnvcModifierName = tbMonthlyBalance.cnvcCreaterName;
                    amscm.tbMonthlyBalance.Add(tbMonthlyBalance);

                    AMSCM.Models.tbMonthlyBalanceLog tbMonthlyBalanceLog = new AMSCM.Models.tbMonthlyBalanceLog();
                    ServiceHelper.SetEntity <AMSCM.Models.tbMonthlyBalance, AMSCM.Models.tbMonthlyBalanceLog>(tbMonthlyBalance, tbMonthlyBalanceLog);
                    amscm.tbMonthlyBalanceLog.Add(tbMonthlyBalanceLog);

                    amscm.SaveChanges();
                }
            }
            catch (DbUpdateException dex)
            {
                ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
            }
            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
        }
예제 #9
0
        private string newtbSupplier(HttpContext context)
        {
            try
            {
                using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
                {
                    AMSCM.Models.tbSupplier tbSupplier = new AMSCM.Models.tbSupplier();
                    tbSupplier.cnvcCode     = context.Request.Form["cnvcCode"];
                    tbSupplier.cnvcName     = context.Request.Form["cnvcName"];
                    tbSupplier.cnvcAddress  = context.Request.Form["cnvcAddress"];
                    tbSupplier.cnvcPostCode = context.Request.Form["cnvcPostCode"];
                    tbSupplier.cnvcPhone    = context.Request.Form["cnvcPhone"];
                    tbSupplier.cnvcFax      = context.Request.Form["cnvcFax"];
                    tbSupplier.cnvcEmail    = context.Request.Form["cnvcEmail"];
                    tbSupplier.cnvcLinkName = context.Request.Form["cnvcLinkName"];
                    //tbSupplier.cnvcCreateOper = context.Request.Form["cnvcCreateOper"];
                    CMSMStruct.LoginStruct ls1 = (CMSMStruct.LoginStruct)context.Session["Login"];
                    tbSupplier.cnvcCreateOper = ls1.strOperName;
                    tbSupplier.cndCreateDate  = DateTime.Now;//context.Request.Form["cndCreateDate"];
                    tbSupplier.cnbInvalid     = context.Request.Form["cnbInvalid"] == "on"?true:false;

                    amscm.tbSupplier.Add(tbSupplier);
                    amscm.SaveChanges();
                }
            }
            catch (DbUpdateException dex)
            {
                ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
            }
            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
        }
예제 #10
0
        private AMSCM.Models.tbStockMain AddStockMain(AMSCM.Models.AMSCM amscm, string cnvcWhCode, string cnvcDeptId, string strOperId, string strOperName,
                                                      int cnnOperType, DateTime cndBusinessDate)
        {
            AMSCM.Models.tbStockMain tbStockMain = new AMSCM.Models.tbStockMain();

            tbStockMain.cnvcWhCode  = cnvcWhCode;
            tbStockMain.cnvcDeptId  = cnvcDeptId;
            tbStockMain.cnnOperType = cnnOperType;
            tbStockMain.cnnSource   = 1;

            tbStockMain.cndCreateDate   = DateTime.Now;
            tbStockMain.cnvcCreaterId   = strOperId;
            tbStockMain.cnvcCreaterName = strOperName;

            tbStockMain.cndCheckDate    = tbStockMain.cndCreateDate;
            tbStockMain.cnvcCheckerId   = tbStockMain.cnvcCreaterId;
            tbStockMain.cnvcCheckerName = tbStockMain.cnvcCreaterName;

            tbStockMain.cndBusinessDate = cndBusinessDate;
            tbStockMain.cnnYear         = cndBusinessDate.Year;
            tbStockMain.cnnMonth        = cndBusinessDate.Month;
            tbStockMain.cnnStatus       = (int)StockStatus.Check;
            tbStockMain.cnvcComments    = "月结自动生成下月期初库存";

            amscm.tbStockMain.Add(tbStockMain);

            amscm.SaveChanges();

            AMSCM.Models.tbStockMainLog tbStockMainLog = new AMSCM.Models.tbStockMainLog();
            ServiceHelper.SetEntity <AMSCM.Models.tbStockMain, AMSCM.Models.tbStockMainLog>(tbStockMain, tbStockMainLog);
            amscm.tbStockMainLog.Add(tbStockMainLog);
            return(tbStockMain);
        }
예제 #11
0
        private string updatetbStockDetail(HttpContext context)
        {
            try
            {
                using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
                {
                    AMSCM.Models.tbStockDetail tbStockDetail = amscm.tbStockDetail.Find(context.Request.Form["cnnId"]);
                    //tbStockDetail.cnnId = context.Request.Form["cnnId"];
                    //tbStockDetail.cnnMainId = context.Request.Form["cnnMainId"];
                    tbStockDetail.cnvcInvCode         = context.Request.Form["cnvcInvCode"];
                    tbStockDetail.cnvcComUnitCode     = context.Request.Form["cnvcComUnitCode"];
                    tbStockDetail.cnnQuantity         = Convert.ToDecimal(context.Request.Form["cnnQuantity"]);
                    tbStockDetail.cnvcMainComUnitCode = context.Request.Form["cnvcMainComUnitCode"];
                    tbStockDetail.cnnMainQuantity     = Convert.ToDecimal(context.Request.Form["cnnMainQuantity"]);
                    tbStockDetail.cnnPrice            = Convert.ToDecimal(context.Request.Form["cnnPrice"]);
                    tbStockDetail.cnnAmount           = Convert.ToDecimal(context.Request.Form["cnnAmount"]);

                    amscm.SaveChanges();
                }
            }
            catch (NullReferenceException nex)
            {
                ExceptionPolicy.HandleException(nex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, nex.Message)));
            }
            catch (DbUpdateException dex)
            {
                ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
            }
            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
        }
예제 #12
0
        private string updatetbWarehouse(HttpContext context)
        {
            try
            {
                using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
                {
                    AMSCM.Models.tbWarehouse tbWarehouse = amscm.tbWarehouse.Find(context.Request.Form["cnvcWhCode"]);
                    tbWarehouse.cnvcWhCode     = context.Request.Form["cnvcWhCode"];
                    tbWarehouse.cnvcWhName     = context.Request.Form["cnvcWhName"];
                    tbWarehouse.cnvcDepID      = context.Request.Form["cnvcDepID"];
                    tbWarehouse.cnvcWhAddress  = context.Request.Form["cnvcWhAddress"];
                    tbWarehouse.cnvcWhPhone    = context.Request.Form["cnvcWhPhone"];
                    tbWarehouse.cnvcWhPerson   = context.Request.Form["cnvcWhPerson"];
                    tbWarehouse.cnvcWhComments = context.Request.Form["cnvcWhComments"];
                    tbWarehouse.cnbInvalid     = context.Request.Form["cnbInvalid"] == "on" ? true : false;

                    amscm.SaveChanges();
                }
            }
            catch (NullReferenceException nex)
            {
                ExceptionPolicy.HandleException(nex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, nex.Message)));
            }
            catch (DbUpdateException dex)
            {
                ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
            }
            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
        }
 private string newComputationGroup(HttpContext context)
 {
     try
     {
         using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
         {
             AMSCM.Models.tbComputationGroup computationGroup = new AMSCM.Models.tbComputationGroup();
             computationGroup.cnvcGroupCode = context.Request.Form["cnvcGroupCode"];
             computationGroup.cnvcGroupName = context.Request.Form["cnvcGroupName"];
             amscm.tbComputationGroup.Add(computationGroup);
             amscm.SaveChanges();
         }
     }
     catch (DbUpdateException dex)
     {
         ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
         return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
     }
     return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
 }
예제 #14
0
        public static void AddStockDetal(AMSCM.Models.AMSCM amscm, AMSCM.Models.tbStockMain tbStockMain, string cnvcInvCode
                                         , string cnvcComUnitCode, decimal cnnQuantity, string cnvcMainComUnitCode, decimal cnnMainQuantity, decimal cnnPrice, decimal cnnAmount)
        {
            AMSCM.Models.tbStockDetail tbStockDetail = new AMSCM.Models.tbStockDetail();
            tbStockDetail.cnnMainId           = tbStockMain.cnnMainId;
            tbStockDetail.cnvcInvCode         = cnvcInvCode;
            tbStockDetail.cnvcComUnitCode     = cnvcComUnitCode;
            tbStockDetail.cnnQuantity         = cnnQuantity;
            tbStockDetail.cnvcMainComUnitCode = cnvcMainComUnitCode;
            tbStockDetail.cnnMainQuantity     = cnnMainQuantity;
            tbStockDetail.cnnPrice            = cnnPrice;
            tbStockDetail.cnnAmount           = cnnAmount;
            tbStockDetail.cndOperDate         = tbStockMain.cndCreateDate;
            tbStockDetail.cnvcOper            = tbStockMain.cnvcCreaterId;
            tbStockDetail.cnvcOperName        = tbStockMain.cnvcCreaterName;

            amscm.tbStockDetail.Add(tbStockDetail);
            amscm.SaveChanges();

            AMSCM.Models.tbStockDetailLog tbStockDetailLog = new AMSCM.Models.tbStockDetailLog();
            ServiceHelper.SetEntity <AMSCM.Models.tbStockDetail, AMSCM.Models.tbStockDetailLog>(tbStockDetail, tbStockDetailLog);
            amscm.tbStockDetailLog.Add(tbStockDetailLog);
        }
예제 #15
0
 private string removetbSupplier(HttpContext context)
 {
     try
     {
         using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
         {
             AMSCM.Models.tbSupplier tbSupplier = amscm.tbSupplier.Find(context.Request.Form["cnvcCode"]);
             amscm.tbSupplier.Remove(tbSupplier);
             amscm.SaveChanges();
         }
     }
     catch (ArgumentNullException aex)
     {
         ExceptionPolicy.HandleException(aex, ServiceHelper.ExceptionPolicy);
         return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, aex.Message)));
     }
     catch (DbUpdateException dex)
     {
         ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
         return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
     }
     return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
 }
예제 #16
0
        private string cancelBalance(HttpContext context)
        {
            try
            {
                //using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.RequiresNew, new TimeSpan(0, 20, 0)))
                //{
                using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
                {
                    int icnnYear  = Convert.ToInt32(context.Request.Form["cnnYear"]);
                    int icnnMonth = Convert.ToInt32(context.Request.Form["cnnMonth"]);
                    int icount    = (from d in amscm.tbMonthlyBalance
                                     where d.cnnYear >= icnnYear && d.cnnMonth > icnnMonth && d.cnbIsBalance
                                     select d).Count();
                    if (icount > 0)
                    {
                        return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, "请先取消以前月份月结!")));
                    }
                    AMSCM.Models.tbMonthlyBalance tbMonthlyBalance = amscm.tbMonthlyBalance.Find(icnnYear, icnnMonth);
                    if (!tbMonthlyBalance.cnbIsBalance)
                    {
                        return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, "未月结!")));
                    }

                    tbMonthlyBalance.cnbIsBalance = false;

                    tbMonthlyBalance.cndModifyDate = DateTime.Now;
                    tbMonthlyBalance.cnvcModifier  = context.User.Identity.Name;
                    CMSMStruct.LoginStruct ls1 = (CMSMStruct.LoginStruct)context.Session["Login"];
                    tbMonthlyBalance.cnvcModifierName = ls1.strOperName;

                    tbMonthlyBalance.cndBalanceDate   = null;
                    tbMonthlyBalance.cnvcBalancer     = string.Empty;
                    tbMonthlyBalance.cnvcBalancerName = string.Empty;

                    //amscm.SaveChanges();
                    AMSCM.Models.tbMonthlyBalanceLog tbMonthlyBalanceLog = new AMSCM.Models.tbMonthlyBalanceLog();
                    ServiceHelper.SetEntity <AMSCM.Models.tbMonthlyBalance, AMSCM.Models.tbMonthlyBalanceLog>(tbMonthlyBalance, tbMonthlyBalanceLog);
                    amscm.tbMonthlyBalanceLog.Add(tbMonthlyBalanceLog);

                    int         icnnCheckStatus = (int)StockStatus.Check;
                    List <long> lcnnDetailId    = (from main in amscm.tbStockMain
                                                   join d in amscm.tbStockDetail on main.cnnMainId equals d.cnnMainId into md
                                                   from detail in md.DefaultIfEmpty()
                                                   where main.cnnYear == tbMonthlyBalance.cnnYear && main.cnnMonth == tbMonthlyBalance.cnnMonth &&
                                                   main.cnnStatus == icnnCheckStatus && main.cnnOperType != 0 && main.cnnOperType != 1
                                                   orderby main.cnnMainId
                                                   select detail == null?0:detail.cnnDetailId).Distinct().ToList();
                    foreach (long cnnDetailId in lcnnDetailId)
                    {
                        if (cnnDetailId == 0)
                        {
                            continue;
                        }
                        AMSCM.Models.tbStockDetail tbStockDetail = amscm.tbStockDetail.Find(cnnDetailId);
                        tbStockDetail.cnnPrice  = 0;
                        tbStockDetail.cnnAmount = 0;

                        AMSCM.Models.tbStockDetailLog tbStockDetailLog = new AMSCM.Models.tbStockDetailLog();
                        ServiceHelper.SetEntity <AMSCM.Models.tbStockDetail, AMSCM.Models.tbStockDetailLog>(tbStockDetail, tbStockDetailLog);
                        amscm.tbStockDetailLog.Add(tbStockDetailLog);
                        //amscm.SaveChanges();
                    }
                    int inextcnnYear  = icnnYear;
                    int inextcnnMonth = icnnMonth + 1;
                    if (icnnMonth == 12)
                    {
                        inextcnnYear += 1;
                        inextcnnMonth = 1;
                    }
                    var q = (from main in amscm.tbStockMain
                             join d in amscm.tbStockDetail on main.cnnMainId equals d.cnnMainId into md
                             from detail in md.DefaultIfEmpty()
                             where main.cnnYear == inextcnnYear && main.cnnMonth == inextcnnMonth &&
                             main.cnnStatus == icnnCheckStatus && main.cnnSource == 1
                             orderby main.cnnMainId
                             select new { detail.cnnMainId, detail.cnnDetailId }).Distinct().ToList();
                    var q1 = (from d in q select d.cnnMainId).Distinct().ToList();
                    var q2 = (from d in q select d.cnnDetailId).Distinct().ToList();
                    if (q1.Count > 0)
                    {
                        foreach (long cnnMainId in q1)
                        {
                            AMSCM.Models.tbStockMain tbStockMain = amscm.tbStockMain.Find(cnnMainId);
                            tbStockMain.cnnStatus = (int)StockStatus.Delete;
                            amscm.tbStockMain.Remove(tbStockMain);

                            AMSCM.Models.tbStockMainLog tbStockMainLog = new AMSCM.Models.tbStockMainLog();
                            ServiceHelper.SetEntity <AMSCM.Models.tbStockMain, AMSCM.Models.tbStockMainLog>(tbStockMain, tbStockMainLog);
                            amscm.tbStockMainLog.Add(tbStockMainLog);
                            //amscm.SaveChanges();
                        }
                    }
                    if (q2.Count > 0)
                    {
                        foreach (long cnnDetailId in q2)
                        {
                            AMSCM.Models.tbStockDetail tbStockDetail = amscm.tbStockDetail.Find(cnnDetailId);
                            amscm.tbStockDetail.Remove(tbStockDetail);

                            AMSCM.Models.tbStockDetailLog tbStockDetailLog = new AMSCM.Models.tbStockDetailLog();
                            ServiceHelper.SetEntity <AMSCM.Models.tbStockDetail, AMSCM.Models.tbStockDetailLog>(tbStockDetail, tbStockDetailLog);
                            amscm.tbStockDetailLog.Add(tbStockDetailLog);
                            //amscm.SaveChanges();
                        }
                    }
                    amscm.SaveChanges();
                    //transaction.Complete();
                }
                //}
            }
            catch (TimeoutException tex)
            {
                ExceptionPolicy.HandleException(tex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, tex.Message)));
            }
            catch (DbUpdateException dex)
            {
                ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
            }
            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
        }
예제 #17
0
        private void Compute(AMSCM.Models.AMSCM amscm, AMSCM.Models.tbMonthlyBalance tbMonthlyBalance, string strOperId, string strOperName)
        {
            int icnnCheckStatus = (int)StockStatus.Check;
            List <tbStockMainAndDetail> ltbStockMainAndDetail = (from main in amscm.tbStockMain
                                                                 join d in amscm.tbStockDetail on main.cnnMainId equals d.cnnMainId into md
                                                                 from detail in md.DefaultIfEmpty()
                                                                 where main.cnnYear == tbMonthlyBalance.cnnYear && main.cnnMonth == tbMonthlyBalance.cnnMonth &&
                                                                 main.cnnStatus == icnnCheckStatus
                                                                 orderby main.cnnMainId
                                                                 select new tbStockMainAndDetail
            {
                cnnMainId = main.cnnMainId,
                //cnvcSupplierCode = main.cnvcSupplierCode,
                cnvcWhCode = main.cnvcWhCode,
                cnvcDeptId = main.cnvcDeptId,
                cnnOperType = main.cnnOperType,
                //cndCreateDate = main.cndCreateDate,
                //cnvcCreaterId = main.cnvcCreaterId,
                //cnvcCreaterName = main.cnvcCreaterName,
                //cndCheckDate = main.cndCheckDate,
                //cnvcCheckerId = main.cnvcCheckerId,
                //cnvcCheckerName = main.cnvcCheckerName,
                //cndBusinessDate = main.cndBusinessDate,
                cnnYear = main.cnnYear,
                cnnMonth = main.cnnMonth,
                //cnnStatus = main.cnnStatus,
                //cnvcComments = main.cnvcComments,
                cnnDetailId = detail.cnnDetailId,
                cnvcInvCode = detail.cnvcInvCode,
                cnvcComUnitCode = detail.cnvcComUnitCode,
                cnnQuantity = detail.cnnQuantity,
                cnvcMainComUnitCode = detail.cnvcMainComUnitCode,
                cnnMainQuantity = detail.cnnMainQuantity,
                cnnPrice = detail.cnnPrice,
                cnnAmount = detail.cnnAmount,
                isHave = false
                         //cnnMainPrice = detail.cnnPrice==0?0:detail.cnnAmount / detail.cnnPrice
            }).ToList();
            var ltbInventory = (from d in amscm.tbInventory
                                join d1 in amscm.tbComputationUnit on d.cnvcSTComUnitCode equals d1.cnvcComunitCode into dd1
                                from dd1s in dd1.DefaultIfEmpty()

                                join d2 in amscm.tbProductClass on d.cnvcInvCCode equals d2.cnvcProductClassCode into dd2
                                from dd2s in dd2.DefaultIfEmpty()

                                join d3 in amscm.tbComputationUnit on d.cnvcProduceUnitCode equals d3.cnvcComunitCode into dd3
                                from dd3s in dd3.DefaultIfEmpty()

                                select new
            {
                d.cnvcInvCode,
                dd2s.cnvcProductType,
                d.cnvcProduceUnitCode,
                d.cnvcSTComUnitCode,
                cniChangRate = dd1s == null ? 0 : dd1s.cniChangRate,
                cniChangeRate2 = dd3s == null ? 0 : dd3s.cniChangRate
            }).ToList();
            //foreach (tbStockMainAndDetail tbStockMainAndDetail in ltbStockMainAndDetail)
            //{
            //    tbStockMainAndDetail.cnnMainPrice = tbStockMainAndDetail.cnnAmount / tbStockMainAndDetail.cnnMainQuantity;
            //}
            //利用期初、采购的数据计算成本
            var g1 = (from d in ltbStockMainAndDetail
                      where d.cnnOperType == 0 || d.cnnOperType == 1
                      group d by new { d.cnvcInvCode, d.cnvcWhCode, d.cnvcDeptId } into g
                      select new
            {
                cnvcInvCode = g.Key.cnvcInvCode,
                cnvcWhCode = g.Key.cnvcWhCode,
                cnvcDeptId = g.Key.cnvcDeptId,
                //cnnAvgPrice = g.Sum(s => s.cnnAmount) / g.Sum(s => s.cnnMainQuantity)
                cnnAvgPrice = g.Sum(s => s.cnnMainQuantity) == 0?g.Sum(s => s.cnnAmount):
                              g.Sum(s => s.cnnAmount) / g.Sum(s => s.cnnMainQuantity)
            }).ToList();

            //var q1 = (from d in ltbStockMainAndDetail where d.cnnOperType==4 || d.cnnOperType==6 select d).ToList();
            //1、已有的取出成本
            foreach (var g2 in g1)
            {
                ltbStockMainAndDetail.ForEach(delegate(tbStockMainAndDetail md)
                {
                    if (md.cnvcInvCode == g2.cnvcInvCode && md.cnvcWhCode == g2.cnvcWhCode &&
                        md.cnvcDeptId == g2.cnvcDeptId &&
                        md.cnnOperType != 0 && md.cnnOperType != 1
                        )
                    {
                        md.cnnMainPrice = g2.cnnAvgPrice;
                        md.cnnPrice     = md.cnnMainPrice * (md.cnnQuantity == 0?1:md.cnnMainQuantity / md.cnnQuantity);
                        md.cnnAmount    = md.cnnMainPrice * md.cnnMainQuantity;
                        md.isHave       = true;
                    }
                });
            }
            //2、根据配方算出用量
            var lInv = (from d in ltbStockMainAndDetail where d.cnnOperType != 0 && d.cnnOperType != 1 && !d.isHave select d.cnvcInvCode).Distinct().ToList();
            List <AMSCM.Models.tbBillOfMaterials> lbom = ServiceHelper.getBOM(amscm);

            List <tbStockMainAndDetail> lm = new List <tbStockMainAndDetail>();

            foreach (string strInvCode in lInv)
            {
                if (!string.IsNullOrEmpty(strInvCode))
                {
                    //获取所有子件
                    List <AMSCM.Models.tbBillOfMaterials> lComponentInv = ServiceHelper.ProcBOM(lbom, strInvCode);

                    //获取子件生产单位数量
                    var lcis = from d in lComponentInv
                               group d by d.cnvcComponentInvCode into g
                               select new { cnvcInvCode = g.Key, cnnQuantity = g.Sum(s => s.cnnBaseQtyN) };
                    //获取主计量单位成本
                    decimal dPrice = (from d in lcis
                                      join d1 in ltbInventory on d.cnvcInvCode equals d1.cnvcInvCode into dd1
                                      from dd1s in dd1.DefaultIfEmpty()

                                      join d2 in g1 on d.cnvcInvCode equals d2.cnvcInvCode into dd2
                                      from dd2s in dd2.DefaultIfEmpty()
                                      select d.cnnQuantity *(dd1s == null ? 0 : dd1s.cniChangeRate2) * (dd2s == null || !dd2s.cnnAvgPrice.HasValue ? 0 : dd2s.cnnAvgPrice.Value)).Sum();
                    lm.Add(new tbStockMainAndDetail()
                    {
                        cnvcInvCode = strInvCode, cnnMainPrice = dPrice
                    });
                }
            }
            ;
            ltbStockMainAndDetail.ForEach(delegate(tbStockMainAndDetail md)
            {
                if (md.cnnOperType != 0 && md.cnnOperType != 1 && !md.isHave)
                {
                    decimal?dcnnMainPrice = (from d in lm where d.cnvcInvCode == md.cnvcInvCode select d.cnnMainPrice).FirstOrDefault();
                    md.cnnMainPrice       = dcnnMainPrice;
                    md.cnnAmount          = dcnnMainPrice * md.cnnMainQuantity;
                    md.cnnPrice           = md.cnnQuantity == 0?md.cnnAmount:md.cnnAmount / md.cnnQuantity;
                }
            });
            //3、更新成本
            ltbStockMainAndDetail.ForEach(delegate(tbStockMainAndDetail md)
            {
                if (md.cnnOperType != 0 && md.cnnOperType != 1 && md.cnnDetailId.HasValue)
                {
                    AMSCM.Models.tbStockDetail tbStockDetail = amscm.tbStockDetail.Find(md.cnnDetailId);
                    tbStockDetail.cnnPrice  = md.cnnPrice.Value;
                    tbStockDetail.cnnAmount = md.cnnAmount.Value;
                }
            });
            amscm.SaveChanges();
        }
예제 #18
0
        private string updateInventory(HttpContext context)
        {
            try
            {
                using (AMSCM.Models.AMSCM amscm = new AMSCM.Models.AMSCM())
                {
                    AMSCM.Models.tbInventory inventory = amscm.tbInventory.Find(context.Request.Form["cnvcInvCode"]);
                    inventory.cnbProductBill = context.Request.Form["cnbProductBill"] == "on" ? true : false;// Convert.ToBoolean(context.Request.Form["cnbProductBill"]);
                    //inventory.cnvcInvCode = context.Request.Form["cnvcInvCode"];
                    inventory.cnvcInvName = context.Request.Form["cnvcInvName"];
                    inventory.cnvcInvStd  = context.Request.Form["cnvcInvStd"];
                    //inventory.cnvcInvCCode = context.Request.Form["cnvcInvCCode"];
                    inventory.cnbSale     = context.Request.Form["cnbSale"] == "on"?true:false;        //Convert.ToBoolean(context.Request.Form["cnbSale"]);
                    inventory.cnbPurchase = context.Request.Form["cnbPurchase"] == "on"?true:false;    //Convert.ToBoolean(context.Request.Form["cnbPurchase"]);
                    inventory.cnbSelf     = context.Request.Form["cnbSelf"] == "on"?true:false;        //Convert.ToBoolean(context.Request.Form["cnbSelf"]);
                    inventory.cnbComsume  = context.Request.Form["cnbComsume"] == "on" ? true : false; // Convert.ToBoolean(context.Request.Form["cnbComsume"]);
                    if (context.Request.Form["cniInvCCost"] != "")
                    {
                        inventory.cniInvCCost = Convert.ToDecimal(context.Request.Form["cniInvCCost"]);
                    }
                    if (context.Request.Form["cniInvNCost"] != "")
                    {
                        inventory.cniInvNCost = Convert.ToDecimal(context.Request.Form["cniInvNCost"]);
                    }
                    if (context.Request.Form["cniSafeNum"] != "")
                    {
                        inventory.cniSafeNum = Convert.ToDecimal(context.Request.Form["cniSafeNum"]);
                    }
                    if (context.Request.Form["cniLowSum"] != "")
                    {
                        inventory.cniLowSum = Convert.ToDecimal(context.Request.Form["cniLowSum"]);
                    }
                    if (context.Request.Form["cndSDate"] != "")
                    {
                        inventory.cndSDate = Convert.ToDateTime(context.Request.Form["cndSDate"]);
                    }
                    if (context.Request.Form["cndEDate"] != "")
                    {
                        inventory.cndEDate = Convert.ToDateTime(context.Request.Form["cndEDate"]);
                    }
                    inventory.cnvcCreatePerson = context.Request.Form["cnvcCreatePerson"];
                    inventory.cnvcModifyPerson = context.Request.Form["cnvcModifyPerson"];
                    //if (context.Request.Form["cndModifyDate"] != "")
                    inventory.cndModifyDate     = DateTime.Now;//Convert.ToDateTime(context.Request.Form["cndModifyDate"]);
                    inventory.cnvcValueType     = context.Request.Form["cnvcValueType"];
                    inventory.cnvcGroupCode     = context.Request.Form["cnvcGroupCode"];
                    inventory.cnvcComUnitCode   = context.Request.Form["cnvcComUnitCode"];
                    inventory.cnvcSAComUnitCode = context.Request.Form["cnvcSAComUnitCode"];
                    inventory.cnvcPUComUnitCode = context.Request.Form["cnvcPUComUnitCode"];
                    inventory.cnvcSTComUnitCode = context.Request.Form["cnvcSTComUnitCode"];
                    //inventory.cnvcProduceUnitCode = context.Request.Form["cnvcProduceUnitCode"];
                    if (context.Request.Form["cnfRetailPrice"] != "")
                    {
                        inventory.cnfRetailPrice = Convert.ToDecimal(context.Request.Form["cnfRetailPrice"]);
                    }
                    inventory.cnvcShopUnitCode = context.Request.Form["cnvcShopUnitCode"];
                    inventory.cnvcFeel         = context.Request.Form["cnvcFeel"];
                    inventory.cnvcOrganise     = context.Request.Form["cnvcOrganise"];
                    inventory.cnvcColor        = context.Request.Form["cnvcColor"];
                    inventory.cnvcTaste        = context.Request.Form["cnvcTaste"];
                    if (context.Request.Form["cnnExpire"] != "")
                    {
                        inventory.cnnExpire = Convert.ToInt32(context.Request.Form["cnnExpire"]);
                    }
                    if (context.Request.Form["cnnDue"] != "")
                    {
                        inventory.cnnDue = Convert.ToInt32(context.Request.Form["cnnDue"]);
                    }

                    ServiceHelper.SyncGoods(inventory, amscm);
                    amscm.SaveChanges();
                }
            }
            catch (NullReferenceException nex)
            {
                ExceptionPolicy.HandleException(nex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, nex.Message)));
            }
            catch (DbUpdateException dex)
            {
                ExceptionPolicy.HandleException(dex, ServiceHelper.ExceptionPolicy);
                return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(false, dex.Message)));
            }
            return(ServiceHelper.JsonSerializer <JEasyUIResult>(new JEasyUIResult(true, "")));
        }