コード例 #1
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());
        }
コード例 #2
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());
        }
コード例 #3
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());
            }
        }