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()); } }
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()); }
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); }
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()); }
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()); } }
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()); }
//[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)); } }
//[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()); }
//[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()); }
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()); }