Пример #1
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_StorageFixedAsset.Find(gid);
            var de     = DB.T_GM_PurchaseFixedAsset.Find(am_old.PFAGID);
            var te     = DB.T_GM_TempDetailMaterial.Where(m => m.Remark == am_old.PFAGID);
            var am     = new T_GM_StorageFixedAsset();
            var cf     = DB.V_CH_Checkfuncflow.Where(w => w.Name == am_old.AuditProcess).ToList().FirstOrDefault();

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

                am.GID          = Guid.NewGuid().ToString();
                am.StorageNo    = am_old.StorageNo;
                am.WarehouseID  = am_old.WarehouseID;
                am.StorageType  = am_old.StorageType;
                am.No_Date      = am_old.No_Date;
                am.OperateTime  = DateTime.Now;
                am.Operator     = am_old.Operator;
                am.PFAGID       = am_old.PFAGID;
                am.AuditProcess = am_old.AuditProcess;
                am.Remark       = am_old.Remark;
                DB.T_GM_StorageFixedAsset.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("Variable", "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);
                        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.StorageNo;
                        detail.Type  = "SHF";
                        i++;
                        DB.T_GM_DM.Add(detail);
                    }
                    else
                    {
                        X.Msg.Alert("警告", "您输入数量或价格为空!!!").Show();
                        return(this.Direct());
                    }
                }
                DB.SaveChanges();
                if (cw.check(am.PFAGID))
                {
                    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());
                }
                return(this.Direct());
            }
            else
            {
                X.Msg.Alert("警告", "您尚未添加任何物料!!!").Show();
                return(this.Direct());
            }
        }
Пример #2
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());
        }