Exemplo n.º 1
0
        public ActionResult FAApplyAdd(string list, string record, string pri, T_GM_ApplyFixedAsset am)
        {
            List <string>       a            = cw.JsontoList(list);
            List <string>       b            = cw.JsontoList(pri);
            List <string>       c            = cw.JsontoList(record);
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var cf = DB.V_CH_Checkfuncflow.Where(w => w.ID == am.AuditProcess).ToList().FirstOrDefault();

            if (a.Count > 0 && a[0] != "")
            {
                am.GID          = Guid.NewGuid().ToString();
                am.No_Date      = DateTime.Now;
                am.OperateTime  = DateTime.Now;
                am.Operator     = user.EmployeeId;
                am.AuditProcess = cf.Name;
                DB.T_GM_ApplyFixedAsset.Add(am);

                int     i = 0;
                decimal t, f;

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("FAApplyAudit", "Share", new { gid = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                foreach (var item in a)
                {
                    if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                    {
                        var detail = new T_GM_DM();
                        detail.Remark = am.GID;
                        detail.MFlID  = item;
                        decimal.TryParse(c[i], out t);
                        decimal.TryParse(b[i], out f);
                        detail.Num   = t;
                        detail.Price = f;
                        detail.NO    = am.ApplyNo;
                        detail.Type  = "SQF";
                        i++;
                        DB.T_GM_DM.Add(detail);
                    }
                    else
                    {
                        X.Msg.Alert("警告", "您输入数量或价格为空!!!").Show();
                        return(this.Direct());
                    }
                }
                DB.SaveChanges();
                return(this.Direct());
            }
            else
            {
                X.Msg.Alert("警告", "您尚未添加任何物料!!!").Show();
                return(this.Direct());
            }
        }
Exemplo n.º 2
0
        public ActionResult MApplyAdd(string list, string record, string pri, T_GM_ApplyMaterial am)
        {
            List <string>  a     = cw.JsontoList(list);
            List <string>  b     = cw.JsontoList(pri);
            List <string>  c     = cw.JsontoList(record);
            List <decimal> num   = cw.StrtoDec(c);
            List <decimal> price = cw.StrtoDec(b);

            if (!cw.IsPositiveNumArr(num))
            {
                return(this.Direct(false, "数量不能为负数"));
            }
            if (a.Count > 0 && a[0] != "" && a[0] != "null" && a.Count == num.Count && a.Count == price.Count)
            {
                T_CH_Operation_list auditprocess = new T_CH_Operation_list();
                var cf = DB.V_CH_Checkfuncflow.Where(w => w.ID == am.CheckProcess).ToList().FirstOrDefault();
                am.GID          = Guid.NewGuid().ToString();
                am.CheckProcess = cf.Name;
                am.ApplyMan     = user.EmployeeId;
                //am.ApplyMState = "deploying";
                am.ApplyTime = DateTime.Now;
                DB.T_GM_ApplyMaterial.Add(am);

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("MApplyAudit", "Share", new { gid = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                int i = 0;
                foreach (var item in a)
                {
                    var detail = new T_GM_DM();
                    detail.Remark = am.GID;
                    detail.MFlID  = item;

                    detail.Num   = num[i];
                    detail.Price = price[i];
                    detail.NO    = am.ApplyMaterialNo;
                    detail.Type  = "SQM";
                    i++;
                    DB.T_GM_DM.Add(detail);
                }
            }
            else
            {
                return(this.Direct());
            }
            DB.SaveChanges();
            return(this.Direct());
        }
Exemplo n.º 3
0
        public ActionResult PONoAdd(string prono, T_GM_Project am)
        {
            am.UID         = Guid.NewGuid().ToString();
            am.BudgetGID   = DB.V_GM_DetailBudget.Where(w => w.ProjectNo == prono).Where(w => w.Description == "审核通过").Where(w => w.BudgetStatus == null).ToList().FirstOrDefault().GID;
            am.AgentMan    = user.EmployeeId;
            am.AgentDate   = DateTime.Now;
            am.OfferStatus = string.IsNullOrEmpty(am.CustomerNo) ? "否" : "是";
            var budget = DB.T_GM_Budget.Find(am.BudgetGID);

            budget.BudgetStatus = "未开工";
            DB.T_GM_Budget.Attach(budget);
            DB.Entry(budget).State = EntityState.Modified;
            var    uploadfile  = this.GetCmp <FileUploadField>("AttachmentPath");
            int    filesize    = uploadfile.PostedFile.ContentLength;
            string fileoldname = uploadfile.FileName;

            if (filesize > 20 * 1024 * 1024)
            {
                X.Msg.Alert("提示", "上传文件过大,大小必须低于20M").Show();
                return(this.Direct());
            }
            if (uploadfile.HasFile)
            {
                string filenewname = Guid.NewGuid().ToString() + Path.GetExtension(fileoldname);
                string logicpath   = "~/AttachFile/ProjectPONo/" + filenewname;
                string filepath    = Server.MapPath(logicpath);
                am.AttachmentPath = logicpath;
                uploadfile.PostedFile.SaveAs(filepath);
            }

            DB.T_GM_Project.Add(am);

            var material_list = DB.T_GM_DM.Where(w => w.Remark == am.BudgetGID).ToList();

            foreach (var item in material_list)
            {
                var detail = new T_GM_DM();
                detail.Remark = am.UID;
                detail.MFlID  = item.MFlID;
                detail.NO     = item.NO;
                detail.Num    = item.Num;
                detail.Price  = item.Price;
                detail.Type   = "FPM";
                DB.T_GM_DM.Add(detail);
            }
            DB.SaveChanges();
            DirectResult result = new DirectResult();

            result.IsUpload = true;
            return(result);
        }
        public ActionResult MEXWarehouseSave(string list, string record, string pri, string check, T_GM_EXWarehouse am)
        {
            DecResualt dr = new DecResualt();

            dr = cw.Judge(list, pri, record);
            switch (dr.JresualtName)
            {
            case JudgeResualt.IsNumNegative:
                return(this.Direct(false, "数量不能为负数"));

            case JudgeResualt.IsPriceNegative:
                return(this.Direct(false, "价格不能为负数"));

            case JudgeResualt.IsIllegal:
                return(this.Direct());

            case JudgeResualt.IsLegal:
                break;

            default:
                return(this.Direct(false, "非法操作"));
            }
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            //var cf = DB.V_CH_Checkfuncflow.Where(w => w.ID == check).ToList().FirstOrDefault();
            var de    = DB.T_GM_ApplyMaterial.Find(am.RefrenceNo);
            var te    = DB.T_GM_TempDetailMaterial.Where(m => m.Remark == am.RefrenceNo);
            var stock = DB.T_GM_MaterialStock.Where(m => m.WarehouseID == am.EXWarehouse);

            am.IMWarehouse     = DB.V_GM_DetailProject.First(l => l.ProjectNo == de.ProjectNo).WarehouseID;
            am.OperationListID = Guid.NewGuid().ToString();
            am.Operator        = user.EmployeeId;
            am.OperationTime   = DateTime.Now;
            //am.EXTypeID=2;
            DB.T_GM_EXWarehouse.Add(am);

            auditprocess.ID           = am.OperationListID;
            auditprocess.Check_funcID = "-1";            //cf.CheckfuncID;
            auditprocess.Check_flowID = "-1";            //cf.ID;
            auditprocess.CreateTime   = DateTime.Now;
            auditprocess.State        = (int)CheckState.Approved;
            auditprocess.Url          = Url.Action("MEXWarehouseAudit", "Share", new { gid = am.OperationListID });
            auditprocess.Creator      = user.EmployeeId;
            DB.T_CH_Operation_list.Add(auditprocess);

            int i = 0;

            foreach (var item in dr.Material)
            {
                var detail = new T_GM_DM();
                detail.Remark = am.OperationListID;
                detail.MFlID  = item;

                var test = te.Where(m => m.MFlID == item).ToList().First();
                test.Num -= dr.Num[i];
                if (test.Num < 0)
                {
                    return(this.Direct(false, "调库的数量超过申请单里剩余物料的数量!!!"));
                }
                DB.T_GM_TempDetailMaterial.Attach(test);
                DB.Entry(test).State = EntityState.Modified;

                var stocknum = stock.FirstOrDefault(m => m.MaterialID == item);
                if (stocknum == null)
                {
                    return(this.Direct(false, "物料" + item + "的数量超过仓库里剩余物料的数量!!!"));
                }
                stocknum.PurchaseAmount -= dr.Num[i];
                if (stocknum.PurchaseAmount < 0)
                {
                    return(this.Direct(false, "物料" + item + "的数量超过仓库里剩余物料的数量!!!"));
                }

                DB.T_GM_MaterialStock.Attach(stocknum);
                DB.Entry(stocknum).State = EntityState.Modified;

                detail.Type  = "CGM";
                detail.Num   = dr.Num[i];
                detail.Price = dr.Price[i];
                detail.NO    = am.EXID;
                DB.T_GM_DM.Add(detail);
                i++;
            }
            DB.SaveChanges();
            if (cw.check(am.RefrenceNo))
            {
                de.ApplyMState = "deploying";
                DB.T_GM_ApplyMaterial.Attach(de);
                DB.Entry(de).State = EntityState.Modified;
                DB.SaveChanges();
                X.Msg.Alert("提示", "订单已配置完成,请等待审核", "parent.App.win.close();").Show();
                return(this.Direct());
            }
            else
            {
                X.Msg.Alert("提示", "调拨单已配置成功!", "parent.App.win.close();").Show();
            }
            return(this.Direct());
        }
        //don't worry about modify the Apply_No,though modify opreation would use the trigger and modify the num,
        //they can't use modify without audit,audit Apply_No isn't pass,they can't use Purchase_No
        //只有通过审核的申请单才可以进行配置,尽管申请单号有多个,但通过审核的申请单号只有一个
        public ActionResult MPurchaseSave(string list, string record, string pri, T_GM_PurchaseMaterial am)
        {
            DecResualt dr = new DecResualt();

            dr = cw.Judge(list, pri, record);
            switch (dr.JresualtName)
            {
            case JudgeResualt.IsNumNegative:
                return(this.Direct(false, "数量不能为负数"));

            case JudgeResualt.IsPriceNegative:
                return(this.Direct(false, "价格不能为负数"));

            case JudgeResualt.IsIllegal:
                return(this.Direct());

            case JudgeResualt.IsLegal:
                break;

            default:
                return(this.Direct(false, "非法操作"));
            }

            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var cf = DB.V_CH_Checkfuncflow.Where(w => w.ID == am.CheckProcess).ToList().FirstOrDefault();
            var de = DB.T_GM_ApplyMaterial.Find(am.AMGID);
            var te = DB.T_GM_TempDetailMaterial.Where(m => m.Remark == am.AMGID);

            am.GID          = Guid.NewGuid().ToString();
            am.Operator     = user.EmployeeId;
            am.OperateTime  = DateTime.Now;
            am.CheckProcess = cf.Name;
            DB.T_GM_PurchaseMaterial.Add(am);

            auditprocess.ID           = am.GID;
            auditprocess.Check_funcID = cf.CheckfuncID;
            auditprocess.Check_flowID = cf.ID;
            auditprocess.CreateTime   = DateTime.Now;
            auditprocess.State        = 1;
            auditprocess.Url          = Url.Action("MPurchaseAudit", "Share", new { gid = am.GID });
            auditprocess.Creator      = user.EmployeeId;
            DB.T_CH_Operation_list.Add(auditprocess);

            int i = 0;

            foreach (var item in dr.Material)
            {
                var detail = new T_GM_DM();
                detail.Remark = am.GID;
                detail.MFlID  = item;
                var test = te.Where(m => m.MFlID == item).ToList().First();
                test.Num -= dr.Num[i];
                if (test.Num < 0)
                {
                    //X.Msg.Alert("警告", "采购的数量超过申请单里剩余物料的数量!!!").Show();
                    return(this.Direct(false, "采购的数量超过申请单里剩余物料的数量!!!"));
                }
                DB.T_GM_TempDetailMaterial.Attach(test);
                DB.Entry(test).State = EntityState.Modified;
                detail.Type          = "CGM";
                detail.Num           = dr.Num[i];
                detail.Price         = dr.Price[i];
                detail.NO            = am.PurchaseMNo;
                DB.T_GM_DM.Add(detail);
                i++;
            }
            DB.SaveChanges();

            if (cw.check(am.AMGID))
            {
                de.ApplyMState = "deploying";
                DB.T_GM_ApplyMaterial.Attach(de);
                DB.Entry(de).State = EntityState.Modified;
                DB.SaveChanges();
                X.Msg.Alert("提示", "订单已配置完成,请等待审核", "parent.App.win.close();").Show();
                return(this.Direct());
            }
            return(this.Direct());
        }
        public ActionResult ModifySubmit(string list, string record, string price, string gid)
        {
            List <string>       a            = cw.JsontoList(list);
            List <string>       b            = cw.JsontoList(price);
            List <string>       c            = cw.JsontoList(record);
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var am_old = DB.T_GM_PurchaseMaterial.Find(gid);
            var de     = DB.T_GM_ApplyMaterial.Find(am_old.AMGID);
            var te     = DB.T_GM_TempDetailMaterial.Where(m => m.Remark == am_old.AMGID);
            var am     = new T_GM_PurchaseMaterial();
            var cf     = DB.V_CH_Checkfuncflow.Where(w => w.Name == am_old.CheckProcess).ToList().FirstOrDefault();

            if (a.Count > 0 && a[0] != "")
            {
                am_old.OrderStatu = "modified once";
                DB.T_GM_PurchaseMaterial.Attach(am_old);
                DB.Entry(am_old).State = EntityState.Modified;

                am.GID           = Guid.NewGuid().ToString();
                am.PurchaseMNo   = am_old.PurchaseMNo;
                am.SupplierID    = am_old.SupplierID;
                am.OrderType     = am_old.OrderType;
                am.OperateTime   = DateTime.Now;
                am.Operator      = am_old.Operator;
                am.AMGID         = am_old.AMGID;
                am.ProjectNo     = am_old.ProjectNo;
                am.CheckProcess  = am_old.CheckProcess;
                am.Remark        = am_old.Remark;
                am.ReceiptMethod = am_old.ReceiptMethod;
                DB.T_GM_PurchaseMaterial.Add(am);
                int     i = 0;
                decimal t, f;

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("MPurchaseAudit", "Share", new { gid = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                foreach (var item in a)
                {
                    if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                    {
                        var detail = new T_GM_DM();
                        detail.Remark = am.GID;
                        detail.MFlID  = item;
                        decimal.TryParse(c[i], out t);
                        decimal.TryParse(b[i], out f);
                        var test = te.Where(m => m.MFlID == item).ToList().First();
                        test.Num -= t;
                        if (test.Num < 0)
                        {
                            //X.Msg.Alert("警告", "采购的数量超过申请单里剩余物料的数量!!!").Show();
                            return(this.Direct(false, "采购的数量超过申请单里剩余物料的数量!!!"));
                        }
                        DB.T_GM_TempDetailMaterial.Attach(test);
                        DB.Entry(test).State = EntityState.Modified;

                        detail.Num   = t;
                        detail.Price = f;
                        detail.NO    = am.PurchaseMNo;
                        detail.Type  = "CGM";
                        i++;
                        DB.T_GM_DM.Add(detail);
                    }
                    else
                    {
                        X.Msg.Alert("警告", "您输入数量或价格为空!!!").Show();
                        return(this.Direct());
                    }
                }
                DB.SaveChanges();
                if (cw.check(am.AMGID))
                {
                    de.ApplyMState = "deploying";
                    DB.T_GM_ApplyMaterial.Attach(de);
                    DB.Entry(de).State = EntityState.Modified;
                    DB.SaveChanges();
                    X.Msg.Alert("提示", "订单已配置完成,请等待审核", "parent.App.window3.close();").Show();
                    return(this.Direct());
                }
                return(this.Direct());
            }
            else
            {
                X.Msg.Alert("警告", "您尚未添加任何物料!!!").Show();
                return(this.Direct());
            }
        }
        public ActionResult BudgetEdit(T_GM_Budget am, string list, string record, string pri)
        {
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var cf = DB.V_CH_Checkfuncflow.Where(w => w.Name == am.AuditProgress).ToList().FirstOrDefault();

            auditprocess.ID           = Guid.NewGuid().ToString();
            auditprocess.Check_funcID = cf.CheckfuncID;
            auditprocess.Check_flowID = cf.ID;
            auditprocess.CreateTime   = DateTime.Now;
            auditprocess.State        = 1;
            auditprocess.Url          = Url.Action("ProjectBudgetAudit", "Share", new { gid = auditprocess.ID });
            auditprocess.Creator      = user.EmployeeId;
            DB.T_CH_Operation_list.Add(auditprocess);

            var am_new = new T_GM_Budget();

            am_new.GID           = auditprocess.ID;
            am_new.AgentDate     = DateTime.Now;
            am_new.AgentMan      = user.EmployeeId;
            am_new.AuditProgress = cf.Name;
            am_new.ClientName    = am.ClientName;
            am_new.CostMoney     = am.CostMoney;
            am_new.Extra         = am.Extra;
            am_new.LaborCost     = am.LaborCost;
            am_new.LaborOffer    = am.LaborOffer;
            am_new.MaterialCost  = am.MaterialCost;
            am_new.MaterialOffer = am.MaterialOffer;
            am_new.OfferDate     = am.OfferDate;
            am_new.OfferMoney    = am.OfferMoney;
            am_new.OtherFeeCost  = am.OtherFeeCost;
            am_new.OtherFeeOffer = am.OtherFeeOffer;
            am_new.ProjectName   = am.ProjectName;
            am_new.ProjectNo     = am.ProjectNo;
            am_new.QuotationNo   = am.QuotationNo;
            am_new.TaxRate       = am.TaxRate;
            am_new.Version       = am.Version + 1;

            am_new.RateMargin = am.RateMargin;
            am_new.NetMargin  = am.NetMargin;

            var    uploadfile  = this.GetCmp <FileUploadField>("ModifyAttachmentPath");
            int    filesize    = uploadfile.PostedFile.ContentLength;
            string fileoldname = uploadfile.FileName;

            if (filesize > 20 * 1024 * 1024)
            {
                X.Msg.Alert("提示", "上传文件过大,大小必须低于20M").Show();
                return(this.Direct());
            }
            if (uploadfile.HasFile)
            {
                string filenewname = Guid.NewGuid().ToString() + Path.GetExtension(fileoldname);
                string logicpath   = "~/AttachFile/ProjectBudget/" + filenewname;
                string filepath    = Server.MapPath(logicpath);
                am_new.AttachmentPath = logicpath;
                uploadfile.PostedFile.SaveAs(filepath);
            }

            DB.T_GM_Budget.Add(am_new);

            #region 添加物料
            List <string>  a     = cw.JsontoList(list);
            List <string>  b     = cw.JsontoList(pri);
            List <string>  c     = cw.JsontoList(record);
            List <decimal> num   = cw.StrtoDec(c);
            List <decimal> price = cw.StrtoDec(b);
            if (!cw.IsPositiveNumArr(num))
            {
                return(this.Direct(false, "数量不能为负数"));
            }
            if (a.Count > 0 && a[0] != "" && a[0] != "null" && a.Count == num.Count && a.Count == price.Count)
            {
                int i = 0;
                foreach (var item in a)
                {
                    var detail = new T_GM_DM();
                    detail.Remark = am_new.GID;
                    detail.MFlID  = item;
                    detail.Num    = num[i];
                    detail.Price  = price[i];
                    detail.NO     = am.ProjectNo;
                    detail.Type   = "BJD";
                    i++;
                    DB.T_GM_DM.Add(detail);
                }
            }
            else
            {
                return(this.Direct());
            }
            #endregion

            am = DB.T_GM_Budget.Find(am.GID);
            am.BudgetStatus = "modified once";
            DB.T_GM_Budget.Attach(am);
            DB.Entry(am).State = EntityState.Modified;
            DB.SaveChanges();

            DirectResult re = new DirectResult();
            re.IsUpload = true;
            return(re);
        }
Exemplo n.º 8
0
        public ActionResult OrdinaryMApplyAdd(string list, string record, string pri, T_GM_ApplyMaterial am)
        {
            var re = DB.V_GM_DetailProject.Where(w => w.ProjectNo == am.ProjectNo).ToList().FirstOrDefault();

            am.FPMGID = re.UID;
            string wareid = re.WarehouseID;

            #region 添加物料
            List <string>  a     = cw.JsontoList(list);   //编号
            List <string>  b     = cw.JsontoList(pri);    //价格
            List <string>  c     = cw.JsontoList(record); //数量
            List <decimal> num   = cw.StrtoDec(c);
            List <decimal> price = cw.StrtoDec(b);
            var            te    = DB.T_GM_TempDetailMaterial.Where(m => m.Remark == am.FPMGID);
            if (!cw.IsPositiveNumArr(num))
            {
                return(this.Direct(false, "数量不能为负数"));
            }
            if (a.Count > 0 && a[0] != "" && a[0] != "null" && a.Count == num.Count && a.Count == price.Count)
            {
                T_CH_Operation_list auditprocess = new T_CH_Operation_list();
                var cf = DB.V_CH_Checkfuncflow.Where(w => w.ID == am.CheckProcess).ToList().FirstOrDefault();
                am.GID          = Guid.NewGuid().ToString();
                am.CheckProcess = cf.Name;
                am.ApplyMan     = user.EmployeeId;
                //am.ApplyMState = "deploying";
                am.ApplyTime = DateTime.Now;
                DB.T_GM_ApplyMaterial.Add(am);

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("MApplyAudit", "Share", new { gid = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                int i = 0;
                foreach (var item in a)
                {
                    var detail = new T_GM_DM();
                    detail.Remark = am.GID;
                    detail.MFlID  = item;
                    var test = te.Where(m => m.MFlID == item).ToList().First();
                    test.Num -= num[i];
                    //var storage = DB.T_GM_MaterialStock.Where(m => m.MaterialID == item).Where(m => m.WarehouseID == wareid).ToList().FirstOrDefault();
                    decimal flag = 1; //--修改 物料申请不需要考虑库存
                                      //if (storage!=null)
                                      //{
                                      //	flag = (test.Num ?? 0) - storage.CurAmount;
                                      //}
                                      //else
                                      //{
                    flag = test.Num ?? 0;
                    //}
                    if (flag < 0)
                    {
                        return(this.Direct(false, "申请的数量超过项目所需物资数量!!!"));
                    }
                    DB.T_GM_TempDetailMaterial.Attach(test);
                    DB.Entry(test).State = EntityState.Modified;
                    detail.Num           = num[i];
                    detail.Price         = price[i];
                    detail.NO            = am.ApplyMaterialNo;
                    detail.Type          = "SQM";
                    i++;
                    DB.T_GM_DM.Add(detail);
                }
            }
            else
            {
                return(this.Direct());
            }
            #endregion
            DB.SaveChanges();
            return(this.Direct());
        }
Exemplo n.º 9
0
        public ActionResult ModifySubmit(string list, string record, string price, string gid)
        {
            List <string>       a            = cw.JsontoList(list);
            List <string>       b            = cw.JsontoList(price);
            List <string>       c            = cw.JsontoList(record);
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var am_old = DB.T_GM_ApplyMaterial.Find(gid);
            var am     = new T_GM_ApplyMaterial();
            var cf     = DB.V_CH_Checkfuncflow.Where(w => w.Name == am_old.CheckProcess).ToList().FirstOrDefault();

            if (a.Count > 0 && a[0] != "")
            {
                am_old.ApplyMState = "modified once";
                DB.T_GM_ApplyMaterial.Attach(am_old);
                DB.Entry(am_old).State = EntityState.Modified;

                am.GID        = Guid.NewGuid().ToString();
                am.PrepaidDay = am_old.PrepaidDay;
                am.Tel        = am_old.Tel;

                am.ApplyTime       = DateTime.Now;
                am.ApplyMan        = am_old.ApplyMan;
                am.FPMGID          = am_old.FPMGID;
                am.ApplyMaterialNo = am_old.ApplyMaterialNo;
                am.CheckProcess    = am_old.CheckProcess;
                am.ProjectNo       = am_old.ProjectNo;
                am.Remark          = am_old.Remark;
                DB.T_GM_ApplyMaterial.Add(am);
                int     i = 0;
                decimal t, f;

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("MApplyAudit", "Share", new { gid = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                foreach (var item in a)
                {
                    if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                    {
                        var detail = new T_GM_DM();
                        detail.Remark = am.GID;
                        detail.MFlID  = item;
                        decimal.TryParse(c[i], out t);
                        decimal.TryParse(b[i], out f);
                        detail.Num   = t;
                        detail.Price = f;
                        detail.NO    = am.ApplyMaterialNo;
                        detail.Type  = "SQM";
                        i++;
                        DB.T_GM_DM.Add(detail);
                    }
                    else
                    {
                        X.Msg.Alert("警告", "您输入数量或价格为空!!!").Show();
                        return(this.Direct());
                    }
                }
                DB.SaveChanges();
                //X.MessageBox.Alert("消息", "操作成功!", "history.go(-1);parent.location.reload();").Show();
                return(this.Direct());
            }
            else
            {
                X.Msg.Alert("警告", "您尚未添加任何物料!!!").Show();
                return(this.Direct());
            }
        }
Exemplo n.º 10
0
        public ActionResult ModifySubmit(string list, string record, string price, string gid)
        {
            //X.GetCmp<ComboBox>("");
            List <string>       a            = cw.JsontoList(list);
            List <string>       b            = cw.JsontoList(price);
            List <string>       c            = cw.JsontoList(record);
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var am_old = DB.T_GM_ResidualM.Find(gid);
            var am     = new T_GM_ResidualM();
            var cf     = DB.V_CH_Checkfuncflow.Where(w => w.Name == am_old.AuditProcess).ToList().FirstOrDefault();

            if (a.Count > 0 && a[0] != "")
            {
                am_old.Remark = "modified once";
                DB.T_GM_ResidualM.Attach(am_old);
                DB.Entry(am_old).State = EntityState.Modified;

                am.GID          = Guid.NewGuid().ToString();
                am.SupplierID   = am_old.SupplierID;
                am.ResidualType = am_old.ResidualType;
                am.ResidualNo   = am_old.ResidualNo;
                am.OperateTime  = DateTime.Now;
                am.Operator     = am_old.Operator;
                am.BackDate     = DateTime.Now;
                am.ProjectNo    = am_old.ProjectNo;
                am.AuditProcess = am_old.AuditProcess;
                DB.T_GM_ResidualM.Add(am);
                int     i = 0;
                decimal t, f;

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("MResidualAudit", "Share", new { id = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                foreach (var item in a)
                {
                    if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                    {
                        var detail = new T_GM_DM();
                        detail.Remark = am.GID;
                        detail.MFlID  = item;
                        decimal.TryParse(c[i], out t);
                        decimal.TryParse(b[i], out f);
                        detail.Num   = t;
                        detail.Price = f;
                        detail.NO    = am.ResidualNo;
                        detail.Type  = "THM";
                        i++;
                        DB.T_GM_DM.Add(detail);
                    }
                    else
                    {
                        X.Msg.Alert("警告", "您输入数量或价格为空!!!").Show();
                        return(this.Direct());
                    }
                }
                DB.SaveChanges();
            }
            else
            {
                X.Msg.Alert("提示", "您尚未添加任何物料!!!").Show();
            }
            return(this.Direct());
        }
Exemplo n.º 11
0
        //[VisitAuthorize(Read = false, Delete = false, Create = true, Update = true)]
        public ActionResult MResidualSubmit(string list, string record, string pri, T_GM_ResidualM rm)
        {
            try
            {
                List <string>       a            = cw.JsontoList(list);
                List <string>       c            = cw.JsontoList(record);
                List <string>       b            = cw.JsontoList(pri);
                T_CH_Operation_list auditprocess = new T_CH_Operation_list();
                var     cf = DB.V_CH_Checkfuncflow.Where(w => w.CheckfuncName == checkname).Where(w => w.ID == rm.AuditProcess).ToList().FirstOrDefault();
                int     i = 0;
                decimal t, f;
                if (a.Count > 0 && a[0] != "" && cf != null)
                {
                    rm.GID          = Guid.NewGuid().ToString();
                    rm.AuditProcess = cf.Name;
                    rm.Operator     = user.EmployeeId;
                    rm.OperateTime  = DateTime.Now;
                    rm.BackDate     = DateTime.Now;
                    DB.T_GM_ResidualM.Add(rm);

                    auditprocess.ID           = rm.GID;
                    auditprocess.Check_funcID = cf.CheckfuncID;
                    auditprocess.Check_flowID = cf.ID;
                    auditprocess.CreateTime   = DateTime.Now;
                    auditprocess.State        = 1;
                    auditprocess.Url          = Url.Action("MResidualAudit", "Share", new { id = rm.GID });
                    auditprocess.Creator      = user.EmployeeId;
                    DB.T_CH_Operation_list.Add(auditprocess);

                    foreach (var item in a)
                    {
                        if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                        {
                            T_GM_DM dm = new T_GM_DM();
                            decimal.TryParse(c[i], out t);
                            decimal.TryParse(b[i], out f);
                            dm.NO     = rm.ResidualNo;
                            dm.Type   = "THM";
                            dm.Num    = t;
                            dm.Price  = f;
                            dm.MFlID  = a[i];
                            dm.Remark = rm.GID;
                            i++;
                            DB.T_GM_DM.Add(dm);
                        }
                        else
                        {
                            X.Msg.Alert("警告", "数量或价格不能为空").Show();
                            return(this.Direct());
                        }
                    }
                    DB.SaveChanges();
                    return(this.Direct());
                }
                else
                {
                    X.Msg.Alert("提示", "你尚未选择任何材料").Show();
                    return(this.Direct());
                }
            }
            catch (Exception e)
            {
                return(this.Direct(false, e.Message));
            }
        }
Exemplo n.º 12
0
        //[VisitAuthorize(Read = false, Delete = false, Create = true, Update = true)]
        public ActionResult FAStorageSubmit(string list, string record, string pri, string wid, T_GM_StorageFixedAsset rm)
        {
            List <string> a  = cw.JsontoList(list);
            List <string> c  = cw.JsontoList(record);
            List <string> b  = cw.JsontoList(pri);
            var           te = DB.T_GM_TempDetailMaterial.Where(w => w.Remark == rm.PFAGID);
            var           de = DB.T_GM_PurchaseFixedAsset.Find(rm.PFAGID);

            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var cf = DB.V_CH_Checkfuncflow.Where(w => w.CheckfuncName == checkname).Where(w => w.ID == rm.AuditProcess).ToList().FirstOrDefault();

            int     i = 0;
            decimal t, f;

            if (a.Count > 0 && a[0] != "")
            {
                rm.GID          = Guid.NewGuid().ToString();
                rm.AuditProcess = cf.Name;
                rm.WarehouseID  = wid;
                rm.Operator     = user.EmployeeId;
                rm.OperateTime  = DateTime.Now;
                rm.No_Date      = DateTime.Now;
                DB.T_GM_StorageFixedAsset.Add(rm);

                auditprocess.ID           = rm.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("Variable", "Share", new { id = rm.GID });//"/gyproject/Share/Variable?id=" + rm.StorageNo + "&title=固定资产入库审核";
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);

                foreach (var item in a)
                {
                    if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                    {
                        T_GM_DM dm = new T_GM_DM();
                        decimal.TryParse(c[i], out t);
                        decimal.TryParse(b[i], out f);

                        var test = te.Where(m => m.MFlID == item).ToList().First();
                        test.Num -= t;
                        if (test.Num < 0)
                        {
                            //X.Msg.Alert("警告", "收货实际数量超过采购数量!!!").Show();
                            return(this.Direct(false, "收货实际数量超过采购数量!!!"));
                        }
                        DB.T_GM_TempDetailMaterial.Attach(test);
                        DB.Entry(test).State = EntityState.Modified;

                        dm.NO     = rm.StorageNo;
                        dm.Type   = "SHF";
                        dm.Num    = t;
                        dm.Price  = f;
                        dm.MFlID  = a[i];
                        dm.Remark = rm.GID;
                        i++;
                        DB.T_GM_DM.Add(dm);
                    }
                    else
                    {
                        X.Msg.Alert("警告", "物料数量不能为空").Show();
                        return(this.Direct());
                    }
                }
                DB.SaveChanges();

                bool fl = true;
                foreach (var item in DB.T_GM_TempDetailMaterial.Where(m => m.Remark == rm.PFAGID).ToList())
                {
                    if (item.Num != 0)
                    {
                        fl = false;
                        break;
                    }
                }
                if (fl)
                {
                    de.Status = "delivering";
                    DB.T_GM_PurchaseFixedAsset.Attach(de);
                    DB.Entry(de).State = EntityState.Modified;
                    DB.SaveChanges();
                    X.Msg.Alert("提示", "此采购单货物已完全送达,等待审核中", "parent.App.window2.close();").Show();
                    return(this.Direct());
                }
            }
            else
            {
                X.Msg.Alert("警告", "物料数量不能为空").Show();
            }
            return(this.Direct());
        }
Exemplo n.º 13
0
        //[VisitAuthorize(Read=false,Delete=false,Create=true,Update=true)]
        /// <summary>
        /// 注意看注释
        /// </summary>
        /// <param name="list"></param>
        /// <param name="record"></param>
        /// <param name="pri"></param>
        /// <param name="wid"></param>
        /// <param name="rm"></param>
        /// <returns></returns>
        public ActionResult MReceiptSubmit(string list, string record, string pri, T_GM_ReceiptMaterial rm, string AuditProcess)
        {
            List <string> a = cw.JsontoList(list);
            List <string> c = cw.JsontoList(record);
            List <string> b = cw.JsontoList(pri);
            //这里是多张收货单确定一张采购单,与1张申请单配置多张采购单相反,
            //所以数据库中收货表要取采购单的GID才能找到对应记录,而不是订单号
            var     te = DB.T_GM_TempDetailMaterial.Where(w => w.Remark == rm.PMNo);
            var     de = DB.T_GM_PurchaseMaterial.Find(rm.PMNo);
            string  IMNo = "IMW" + DateTime.Now.ToString("yyyyMMdd") + SerialNum.NewSerialNum();
            string  IMOpId = Guid.NewGuid().ToString();
            int     i = 0;
            decimal t, f, totalprice = 0;

            if (a.Count > 0 && a[0] != "")
            {
                //rm.ReceiptPlace = wid;
                rm.ConfirmMan     = user.EmployeeId;
                rm.ConfirmTime    = DateTime.Now;
                rm.OperationLstId = IMOpId;

                foreach (var item in a)
                {
                    if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                    {
                        T_GM_DM dm     = new T_GM_DM();
                        T_GM_DM IMWMat = new T_GM_DM();
                        decimal.TryParse(c[i], out t);
                        decimal.TryParse(b[i], out f);

                        var test = te.FirstOrDefault(m => m.MFlID == item);
                        if (test != null)
                        {
                            test.Num -= t;
                            if (test.Num < 0)
                            {
                                //X.Msg.Alert("警告","" ).Show();
                                return(this.Direct(false, "收货实际数量超过采购数量!!!"));
                            }
                            DB.T_GM_TempDetailMaterial.Attach(test);
                            DB.Entry(test).State = EntityState.Modified;

                            //入库物料
                            IMWMat.NO     = IMNo;
                            IMWMat.Type   = "PURIM";
                            IMWMat.Price  = f;
                            IMWMat.MFlID  = a[i];
                            IMWMat.Num    = t;
                            IMWMat.Remark = IMOpId;
                            DB.T_GM_DM.Add(IMWMat);
                        }
                        //收货的物料
                        dm.NO     = rm.ReceivePMNo;
                        dm.Type   = "SHM";
                        dm.Num    = t;
                        dm.Price  = f;
                        dm.MFlID  = a[i];
                        dm.Remark = rm.ReceivePMNo;
                        DB.T_GM_DM.Add(dm);

                        i++;
                        totalprice += t * f;
                    }
                    else
                    {
                        X.Msg.Alert("警告", "您输入数量或价格为空!!!").Show();
                        return(this.Direct());
                    }
                }
                rm.RMTotalPrice = totalprice;
                DB.T_GM_ReceiptMaterial.Add(rm);

                var project = DB.V_GM_DetailProject.FirstOrDefault(l => l.ProjectNo == rm.ProjectNo);
                if (project == null)
                {
                    return(this.Direct());
                }
                T_GM_IMWarehouse imw = new T_GM_IMWarehouse();
                imw.IMDate          = DateTime.Now;
                imw.IMTypeID        = 3;
                imw.IMID            = IMNo;
                imw.IMWarehouseID   = project.WarehouseID;
                imw.ProjectID       = rm.ProjectNo;
                imw.RefrenceNo      = rm.ReceivePMNo;
                imw.Operator        = user.EmployeeId;
                imw.OperationTime   = DateTime.Now;
                imw.OperationListID = IMOpId;
                DB.T_GM_IMWarehouse.Add(imw);

                T_CH_Operation_list auditprocess = new T_CH_Operation_list();
                var cf = DB.V_CH_Checkfuncflow.Where(w => w.CheckfuncName == checkname).Where(w => w.ID == AuditProcess).ToList().FirstOrDefault();
                auditprocess.ID           = imw.OperationListID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("CheckIMAction", "IMWarehouse", new { id = IMNo });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);


                DB.SaveChanges();

                if (cw.check(rm.PMNo))
                {
                    de.OrderStatu = "delivered";
                    DB.T_GM_PurchaseMaterial.Attach(de);
                    DB.Entry(de).State = EntityState.Modified;
                    DB.SaveChanges();
                    X.Msg.Alert("提示", "此采购单货物已完全送达", "parent.App.win.close();").Show();
                    return(this.Direct());
                }
            }
            else
            {
                X.Msg.Alert("警告", "物料数量不能为空").Show();
            }
            X.Msg.AddScript("parent.App.win.close();");
            return(this.Direct());
        }
Exemplo n.º 14
0
        public ActionResult FAPurchaseSave(string list, string record, string price, string spid, T_GM_PurchaseFixedAsset am)
        {
            List <string>       a            = cw.JsontoList(list);
            List <string>       c            = cw.JsontoList(record);
            List <string>       b            = cw.JsontoList(price);
            T_CH_Operation_list auditprocess = new T_CH_Operation_list();
            var cf = DB.V_CH_Checkfuncflow.Where(w => w.ID == am.AuditProcess).ToList().FirstOrDefault();
            var de = DB.T_GM_ApplyFixedAsset.Find(am.ApplyNo);
            var te = DB.T_GM_TempDetailMaterial.Where(m => m.Remark == am.ApplyNo);

            if (a.Count > 0 && cf != null)
            {
                am.GID          = Guid.NewGuid().ToString();
                am.AuditProcess = cf.Name;
                am.Operator     = user.EmployeeId;
                am.OperateTime  = DateTime.Now;
                am.SupplierID   = spid;
                DB.T_GM_PurchaseFixedAsset.Add(am);

                auditprocess.ID           = am.GID;
                auditprocess.Check_funcID = cf.CheckfuncID;
                auditprocess.Check_flowID = cf.ID;
                auditprocess.CreateTime   = DateTime.Now;
                auditprocess.State        = 1;
                auditprocess.Url          = Url.Action("FAPurchaseAudit", "Share", new { gid = am.GID });
                auditprocess.Creator      = user.EmployeeId;
                DB.T_CH_Operation_list.Add(auditprocess);
            }
            else
            {
                X.Msg.Alert("警告", "您尚未添加任何物料").Show();
                return(this.Direct());
            }

            int     i = 0;
            decimal t, f;

            foreach (var item in a)
            {
                if (c[i] != "" && b[i] != "" && c[i] != "null" && b[i] != "null")
                {
                    var detail = new T_GM_DM();
                    detail.Remark = am.GID;
                    detail.MFlID  = item;
                    decimal.TryParse(c[i], out t);
                    decimal.TryParse(b[i], out f);
                    var test = te.Where(m => m.MFlID == item).ToList().First();
                    test.Num -= t;
                    if (test.Num < 0)
                    {
                        //X.Msg.Alert("警告", "采购的数量超过申请单里剩余物料的数量!!!").Show();
                        return(this.Direct(false, "采购的数量超过申请单里剩余物料的数量!!!"));
                    }
                    DB.T_GM_TempDetailMaterial.Attach(test);
                    DB.Entry(test).State = EntityState.Modified;
                    detail.Type          = "CGF";
                    detail.Num           = t;
                    detail.Price         = f;
                    detail.NO            = am.PurchaseFNo;
                    DB.T_GM_DM.Add(detail);
                    i++;
                }
                else
                {
                    X.Msg.Alert("警告", "物料数量不能为空").Show();
                    return(this.Direct());
                }
            }
            DB.SaveChanges();

            if (cw.check(am.ApplyNo))
            {
                de.Status = "deploying";
                DB.T_GM_ApplyFixedAsset.Attach(de);
                DB.Entry(de).State = EntityState.Modified;
                DB.SaveChanges();
                X.Msg.Alert("提示", "订单已配置完成,请耐心等待审核", "parent.App.window3.close();").Show();
                return(this.Direct());
            }
            return(this.Direct());
        }