public static void ModularRejectCount(string PendingAuditName, string ModularName, int Qty = 0) { try { EBMSEntities db = new EBMSEntities(); T_ModularNotaudited model = db.T_ModularNotaudited.FirstOrDefault(a => a.ModularName == ModularName && a.PendingAuditName == PendingAuditName); model.ToupdateDate = DateTime.Now; model.RejectNumber = model.RejectNumber + Qty; db.Entry <T_ModularNotaudited>(model).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } catch (Exception e) { } }
public void ModularByZP() { List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "招聘").ToList(); if (ModularNotaudited.Count > 0) { foreach (var item in ModularNotaudited) { db.T_ModularNotaudited.Remove(item); } db.SaveChanges(); } string RetreatAppRoveSql = "select Interviewer as PendingAuditName,COUNT(*) as NotauditedNumber from T_PersonnelInterviewRecord where PID in (select ID from T_PersonnelFile where Isdelete='0' and (InterviewState = -1 or InterviewState = 0) ) and State=0 and Date is null GROUP BY Interviewer"; List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList(); // string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value); for (int e = 0; e < RetreatAppRoveQuery.Count; e++) { string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "招聘" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.Entity.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "招聘"; ModularNotauditedModel.RejectNumber = 0; ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = "admin"; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } //招聘部分没有 }
public void ModularByZP() { List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "发票").ToList(); if (ModularNotaudited.Count > 0) { foreach (var item in ModularNotaudited) { db.T_ModularNotaudited.Remove(item); } db.SaveChanges(); } string RetreatAppRoveSql = "select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_InvoiceApplyAppRove where Oid in (select ID from T_InvoiceApply where Isdelete='0' and (Status = -1 or Status = 0 ) ) and Status=-1 and ApproveTime is null GROUP BY ApproveName"; List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList(); string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value); for (int e = 0; e < RetreatAppRoveQuery.Count; e++) { string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "发票" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.Entity.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "发票"; ModularNotauditedModel.RejectNumber = 0; ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } }
public JsonResult Check(string CurUser, int approveId, int status, string memo, decimal usedMoney = 0) { var Approve = db.T_FreezeApprove.Find(approveId); var model = db.T_Freeze.FirstOrDefault(s => s.ID == Approve.freezeID); int step = model.Step; var configNextModel = db.T_FreezeConfig.FirstOrDefault(s => s.Step > step); Approve.ApproveTime = DateTime.Now; Approve.Memo = memo; try { //同意 if (status == 3) { Approve.ApproveStatus = 3; //是否存在下一级 if (configNextModel != null) { model.Step = configNextModel.Step; model.state = 1; var approveModel = new T_FreezeApprove(); approveModel.ApproveName = configNextModel.ApproveUser; approveModel.ApproveStatus = -1; approveModel.freezeID = model.ID; db.T_FreezeApprove.Add(approveModel); } else { if (usedMoney > model.freezeMoney) { return(Json(new { State = "Faile", Message = "使用金额不能大于冻结金额" }, JsonRequestBehavior.AllowGet)); } model.state = 2; model.usedMoney = usedMoney; model.surplusMoney = model.freezeMoney - model.usedMoney; } } //不同意 else { Approve.ApproveStatus = 4; model.state = 4; model.Step = db.T_FreezeConfig.OrderBy(s => s.Step).First().Step; } var i = db.SaveChanges(); if (i > 0) { string RetreatAppRoveSql = " select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_FreezeApprove where freezeID in ( select ID from T_Freeze where isDelete=0 ) and ApproveStatus=-1 and ApproveTime is null GROUP BY ApproveName "; List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList(); string Nickname = CurUser; for (int e = 0; e < RetreatAppRoveQuery.Count; e++) { string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "资金冻结未审核" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "资金冻结未审核"; ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { State = "Faile", Message = "操作失败" }, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public JsonResult Check(int id, int status, string memo, string checkMan, string CurUser) { using (TransactionScope sc = new TransactionScope()) { T_LossReportApprove modelApprove = db.T_LossReportApprove.FirstOrDefault(a => a.Oid == id && a.ApproveTime == null); T_User MOD_User = db.T_User.FirstOrDefault(a => a.Nickname == CurUser); //真名 string curName = MOD_User.Name; T_LossReportApproveConfig financeMod = db.T_LossReportApproveConfig.SingleOrDefault(a => a.Type == "财务主管");//审核财务主管一步 string financeAdmin = financeMod.Name; string result = ""; if (modelApprove == null) { return(Json("数据可能被删除", JsonRequestBehavior.AllowGet)); } modelApprove.Memo = memo; modelApprove.ApproveTime = DateTime.Now; modelApprove.Status = status; db.Entry <T_LossReportApprove>(modelApprove).State = System.Data.EntityState.Modified; int i = db.SaveChanges(); if (i > 0) { T_LossReport model = db.T_LossReport.Find(id); T_LossReportApprove newApprove = new T_LossReportApprove(); if (model == null) { return(Json("数据可能被删除", JsonRequestBehavior.AllowGet)); } if (status == 1) { //同意 int step = int.Parse(model.Step.ToString()); step++; IQueryable <T_LossReportApproveConfig> config = db.T_LossReportApproveConfig.AsQueryable(); int stepLength = config.Count();//总共步骤 if (step < stepLength) { //不是最后一步,主表状态为0 =>审核中 model.Status = 0; T_LossReportApproveConfig stepMod = db.T_LossReportApproveConfig.SingleOrDefault(a => a.Step == step); string nextName = stepMod.Name; //下一步审核人不是null 审核记录插入一条新纪录 newApprove.Memo = ""; newApprove.Oid = id; newApprove.Status = -1; if (nextName != null) { newApprove.ApproveName = nextName; } if (curName == financeAdmin && model.Step > 0) //如果是以财务主管来审核 { newApprove.ApproveName = checkMan; } db.T_LossReportApprove.Add(newApprove); db.SaveChanges(); } else { //最后一步,主表状态改为 1 => 同意 model.Status = status; } model.Step = step; db.Entry <T_LossReport>(model).State = System.Data.EntityState.Modified; int j = db.SaveChanges(); if (j > 0) { result = "保存成功"; } else { result = "保存失败"; } } else { //不同意 model.Step = 0; model.Status = 2; db.Entry <T_LossReport>(model).State = System.Data.EntityState.Modified; db.SaveChanges(); //审核流程结束 申请人编辑后插入下一条记录 result = "保存成功"; } } else { result = "保存失败"; } string RetreatAppRoveSql = " select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_LossReportApprove where Oid in ( select ID from T_LossReport where Status!=3 and IsDelete=0 ) and Status=-1 and ApproveTime is null GROUP BY ApproveName "; List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList(); string Nickname = CurUser; for (int e = 0; e < RetreatAppRoveQuery.Count; e++) { string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "报损" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "报损"; ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } sc.Complete(); return(Json(result, JsonRequestBehavior.AllowGet)); } }
public JsonResult Check(int id, int approveId, int status, string memo, string companyOut, string paymentBank, string paymentNumber, string CurUser) { T_User MOD_User = db.T_User.FirstOrDefault(a => a.Nickname == CurUser); //真名 string name = MOD_User.Name; var Approve = db.T_FundApprove.Find(approveId); var fund = db.T_FundAllot.FirstOrDefault(s => s.ID == Approve.ItemId); int step = fund.Step; var configNextModel = db.T_FundConfig.FirstOrDefault(s => s.Step > step); Approve.ApproveTime = DateTime.Now; Approve.Memo = memo; try { //同意 if (status == 1) { Approve.Status = 1; //是否存在下一级 if (configNextModel != null) { fund.Step = configNextModel.Step; fund.Status = 0; var approveModel = new T_FundApprove(); approveModel.ApproveName = configNextModel.ApproveUser; approveModel.Status = -1; approveModel.ItemId = fund.ID; db.T_FundApprove.Add(approveModel); } else { fund.Status = 1; fund.CompanyOut = companyOut; fund.ThePaymentBank = paymentBank; fund.PaymentNumber = paymentNumber; var time = DateTime.Now; //调入记录 T_FundRecord modelIn = new T_FundRecord { Type = "资金调入", Number = fund.FundAllotCode, ShopName = fund.CompanyIn, Account = fund.AccountNumber, Cost = Convert.ToDecimal(fund.theMoney), Time = time }; db.T_FundRecord.Add(modelIn); //调出记录 T_FundRecord modelOut = new T_FundRecord { Type = "资金调出", Number = fund.FundAllotCode, ShopName = fund.CompanyOut, Account = fund.PaymentNumber, Cost = Convert.ToDecimal("-" + fund.theMoney), Time = time }; db.T_FundRecord.Add(modelOut); } } //不同意 else { Approve.Status = 2; fund.Status = 2; fund.Step = db.T_FundConfig.OrderBy(s => s.Step).First().Step; } var i = db.SaveChanges(); string RetreatAppRoveSql = " select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_FundApprove where ItemId in ( select id from T_FundAllot where IsDelete=0) and Status=-1 and ApproveTime is null GROUP BY ApproveName "; List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList(); string Nickname = CurUser; for (int e = 0; e < RetreatAppRoveQuery.Count; e++) { string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "资金调拨未审核" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "资金调拨未审核"; ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } if (i > 0) { return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { State = "Faile", Message = "操作失败" }, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public JsonResult Check(string UserName, int approveID, int status, string memo) { using (TransactionScope sc = new TransactionScope()) { try { int TotalStep = db.T_ReissueConfig.ToList().Count; T_ReissueApprove approve = db.T_ReissueApprove.Find(approveID); string name = approve.ApproveName; T_Reissue model = db.T_Reissue.Find(approve.Pid); approve.ApproveName = UserName; approve.ApproveStatus = status; approve.ApproveTime = DateTime.Now; approve.Memo = memo; model.Status = status; db.SaveChanges(); if (status == 2)//不同意 { model.Step = model.Step + 1; db.SaveChanges(); } else//同意 { int type = db.T_ReissueReson.SingleOrDefault(s => s.Reson.Equals(model.ReissueReson)).Type; int LastStep = db.T_ReissueConfig.OrderByDescending(s => s.Step).FirstOrDefault(s => s.Reson == type).Step; if (LastStep > model.Step)//判断是否存在下一级 { //获得下一级审核部门 string nextapproveType = db.T_ReissueConfig.OrderBy(s => s.Step).FirstOrDefault(s => s.Reson == type && s.Step > model.Step).ApproveType; T_ReissueApprove newApprove = new T_ReissueApprove(); newApprove.ApproveStatus = -1; newApprove.ApproveName = nextapproveType; newApprove.ApproveTime = null; newApprove.Pid = approve.Pid; db.T_ReissueApprove.Add(newApprove); db.SaveChanges(); model.Status = 0; model.Step = model.Step + 1; db.SaveChanges(); } if (name.Equals("售后主管") || name.Equals("呼吸机主管"))//售后主管审核后直接加入补发货 { //T_OrderList order = db.T_OrderList.Find(model.OrderId); //List<T_Reissue> reissue = db.T_Reissue.Where(s => s.OrderCode.Equals(model.OrderCode) && s.IsDelete == 0).ToList(); ////判断是否为第一次补发 //if (reissue.Count() == 1) //{ // order.ReissueStatus = 2; //} //List<T_ReissueDetail> reiDetails = db.T_ReissueDetail.Where(s => s.ReissueId == model.ID).ToList(); //foreach (var item in reiDetails) //{ // T_OrderDetail Orderdetail = db.T_OrderDetail.FirstOrDefault(s => s.oid.Equals(order.code) && s.item_code.Equals(item.ProductCode)); // if (Orderdetail != null) // { // Orderdetail.ReissueStatus = 1; // Orderdetail.ReissueQty += item.Num; // } //} db.SaveChanges(); #region 加入快递赔付 if (model.ReissueReson.Equals("快递破损")) { GY gy = new GY(); string cmd = ""; cmd = "{" + "\"appkey\":\"171736\"," + "\"method\":\"gy.erp.trade.get\"," + "\"page_no\":1," + "\"page_size\":10," + "\"platform_code\":\"" + model.OrderCode + "\"," + "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"" + "}"; string sign = gy.Sign(cmd); cmd = cmd.Replace("}", ",\"sign\":\"" + sign + "\"}"); string ret = gy.DoPost("http://api.guanyierp.com/rest/erp_open", cmd); JsonData jsonData = null; jsonData = JsonMapper.ToObject(ret); if (jsonData.Count == 6 || jsonData["orders"].Count == 0) { cmd = "{" + "\"appkey\":\"171736\"," + "\"method\":\"gy.erp.trade.history.get\"," + "\"page_no\":1," + "\"page_size\":10," + "\"platform_code\":\"" + model.OrderCode + "\"," + "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"" + "}"; sign = gy.Sign(cmd); cmd = cmd.Replace("}", ",\"sign\":\"" + sign + "\"}"); ret = gy.DoPost("http://api.guanyierp.com/rest/erp_open", cmd); jsonData = null; jsonData = JsonMapper.ToObject(ret); if (jsonData.Count == 6 || jsonData["orders"].Count == 0) { return(Json(new { State = "Faile", Message = "订单号不存在" })); } } JsonData jsonOrders = jsonData["orders"][0]; var deliver = jsonOrders["deliverys"][0]; //快递单号 string mail_no = isNULL(deliver["mail_no"]).ToString(); //订单金额 string amount = isNULL(jsonOrders["amount"]).ToString(); //快递名称 string express_name = isNULL(jsonOrders["express_name"]).ToString(); T_ExpressIndemnity Inde = new T_ExpressIndemnity { PostUserName = model.PostUser, Date = DateTime.Now, OrderNum = model.OrderCode, wangwang = model.VipCode, ShopName = model.StoreName, RetreatExpressNum = mail_no, State = "0", OrderMoney = Convert.ToDouble(amount), Type = "破损", Second = "0", CurrentApproveName = "快递组", IsDelete = 0, ExpressName = express_name, IndemnityMoney = 0 }; db.T_ExpressIndemnity.Add(Inde); db.SaveChanges(); List <T_ReissuePic> picList = db.T_ReissuePic.Where(s => s.ReissueId == model.ID).ToList(); foreach (var item in picList) { T_ExpressIndemnityPic expressPic = new T_ExpressIndemnityPic { EID = Inde.ID, PicURL = item.Url }; db.T_ExpressIndemnityPic.Add(expressPic); } db.SaveChanges(); } else if (model.ReissueReson.Equals("丢件")) { GY gy = new GY(); string cmd = ""; cmd = "{" + "\"appkey\":\"171736\"," + "\"method\":\"gy.erp.trade.get\"," + "\"page_no\":1," + "\"page_size\":10," + "\"platform_code\":\"" + model.OrderCode + "\"," + "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"" + "}"; string sign = gy.Sign(cmd); cmd = cmd.Replace("}", ",\"sign\":\"" + sign + "\"}"); string ret = gy.DoPost("http://api.guanyierp.com/rest/erp_open", cmd); JsonData jsonData = null; jsonData = JsonMapper.ToObject(ret); if (jsonData.Count == 6 || jsonData["orders"].Count == 0) { cmd = "{" + "\"appkey\":\"171736\"," + "\"method\":\"gy.erp.trade.history.get\"," + "\"page_no\":1," + "\"page_size\":10," + "\"platform_code\":\"" + model.OrderCode + "\"," + "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"" + "}"; sign = gy.Sign(cmd); cmd = cmd.Replace("}", ",\"sign\":\"" + sign + "\"}"); ret = gy.DoPost("http://api.guanyierp.com/rest/erp_open", cmd); jsonData = null; jsonData = JsonMapper.ToObject(ret); if (jsonData.Count == 6 || jsonData["orders"].Count == 0) { return(Json(new { State = "Faile", Message = "订单号不存在" })); } } JsonData jsonOrders = jsonData["orders"][0]; var deliver = jsonOrders["deliverys"][0]; //快递单号 string mail_no = isNULL(deliver["mail_no"]).ToString(); //订单金额 string amount = isNULL(jsonOrders["amount"]).ToString(); //快递名称 string express_name = isNULL(jsonOrders["express_name"]).ToString(); T_ExpressIndemnity Inde = new T_ExpressIndemnity { PostUserName = model.PostUser, Date = DateTime.Now, OrderNum = model.OrderCode, wangwang = model.VipCode, ShopName = model.StoreName, RetreatExpressNum = mail_no, State = "0", OrderMoney = Convert.ToDouble(amount), Type = "丢件", Second = "0", CurrentApproveName = "快递组", IsDelete = 0, ExpressName = express_name, IndemnityMoney = 0 }; db.T_ExpressIndemnity.Add(Inde); db.SaveChanges(); } #endregion if (PostGy(model) != "True") { return(Json(new { State = "Faile", Message = "上传管易错误,请联系管理员" }, JsonRequestBehavior.AllowGet)); } } } db.SaveChanges(); List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "补发货未审核").ToList(); if (ModularNotaudited.Count > 0) { foreach (var item in ModularNotaudited) { db.T_ModularNotaudited.Remove(item); } db.SaveChanges(); } string RetreatAppRoveSql = "select isnull(ApproveUser,ApproveName) as PendingAuditName,COUNT(*) as NotauditedNumber from T_ReissueApprove where Pid in ( select ID from T_Reissue where IsDelete=0 ) and ApproveStatus=-1 and ApproveTime is null GROUP BY ApproveName,ApproveUser "; List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList(); string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value); for (int e = 0; e < RetreatAppRoveQuery.Count; e++) { string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "补发货未审核" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "补发货未审核"; ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } sc.Complete(); return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet)); } } }
//审核 public JsonResult Check(int id, int status, string memo, string method, int cashier, string backfrom, string CurUser) { using (TransactionScope sc = new TransactionScope()) { //当前用户 string curUser = CurUser; //审核主记录 T_CashBack MOD_Cash = db.T_CashBack.Find(id); if (MOD_Cash == null) { return(Json("找不到该记录", JsonRequestBehavior.AllowGet)); } int _Method = int.Parse(MOD_Cash.Method.ToString()); //当前审核方法 int _Step = int.Parse(MOD_Cash.Step.ToString()); //当前审核步骤 T_CashBackApprove cur_Approve = db.T_CashBackApprove.FirstOrDefault(a => a.Oid == id && a.ApproveTime == null); if (cur_Approve == null) { return(Json("该记录已审核", JsonRequestBehavior.AllowGet)); } if (cur_Approve.ApproveName != curUser) { return(Json("当前不是你审核,或者你的帐号在别处登录了", JsonRequestBehavior.AllowGet)); } List <T_CashbackMethod> MOD_Method = db.T_CashbackMethod.Where(a => a.Method == _Method).ToList(); int methodLength = MOD_Method.Count(); //该方法总步骤数 //修改审核记录 T_CashBackApprove MOD_Approve = db.T_CashBackApprove.FirstOrDefault(a => a.Oid == id && a.ApproveTime == null); MOD_Approve.Status = status; MOD_Approve.Note = memo; MOD_Approve.ApproveTime = DateTime.Now; db.Entry <T_CashBackApprove>(MOD_Approve).State = System.Data.EntityState.Modified; db.SaveChanges(); //同意 if (status == 1) { //不是最后一步 if (_Step < methodLength - 1) { _Step++; //步骤加1 T_CashbackMethod MOD_Nextapprove = db.T_CashbackMethod.FirstOrDefault(a => a.Method == _Method && a.Step == _Step); //当前流程的步骤 //审核同意而且,插入新的审核记录 T_CashBackApprove CashApprove = new T_CashBackApprove(); CashApprove.Oid = id; CashApprove.Note = ""; CashApprove.Status = -1; CashApprove.ApproveName = MOD_Nextapprove.Name; db.T_CashBackApprove.Add(CashApprove); db.SaveChanges(); //主表状态为0 =>审核中 MOD_Cash.Status = 0; } else { //最后一步 修改主表的状态 MOD_Cash.Status = status; } //判断是否是出纳,出纳返现资金 if (cashier == 1) { //主表支出帐号 MOD_Cash.BackFrom = backfrom; //修改订单 //查询是否还有该订单返现数据 //修改订单字段 //T_OrderList MOD_Order = db.T_OrderList.Find(MOD_Cash.OrderId); //if (MOD_Order.Status_CashBack != 2) //{ // MOD_Order.Status_CashBack = 2; // db.Entry<T_OrderList>(MOD_Order).State = System.Data.EntityState.Modified; // int o = db.SaveChanges(); // if (o == 0) // { // return Json("审核失败", JsonRequestBehavior.AllowGet); // } //} } } if (status == 2) { //不同意 MOD_Cash.Status = status; _Step = 0; //审核流程结束 申请人编辑后插入下一条记录 //驳回 发短信 T_User user = db.T_User.FirstOrDefault(a => a.Nickname == MOD_Cash.PostUser); if (user != null) { if (!string.IsNullOrEmpty(user.Tel)) { string[] msg = new string[] { "返现", "不同意" }; string res = Lib.SendSMS.Send(msg, user.Tel); } } } MOD_Cash.Step = _Step; db.Entry <T_CashBack>(MOD_Cash).State = System.Data.EntityState.Modified; //修改主表 int i = db.SaveChanges(); string result = "审核失败"; if (i > 0) { result = "审核成功"; } List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "返现").ToList(); if (ModularNotaudited.Count > 0) { foreach (var item in ModularNotaudited) { db.T_ModularNotaudited.Remove(item); } db.SaveChanges(); } string RetreatAppRoveSql = " select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_CashBackApprove where Oid in ( select ID from T_CashBack where For_Delete=0 and Status!=3 ) and Status=-1 and ApproveTime is null GROUP BY ApproveName "; List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList(); string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value); for (int e = 0; e < RetreatAppRoveQuery.Count; e++) { string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "返现" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "返现"; ModularNotauditedModel.RejectNumber = 0; ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } //增加驳回数据 string RejectNumberSql = "select PostUser as PendingAuditName,COUNT(*) as NotauditedNumber from T_CashBack where Status='2' GROUP BY PostUser"; List <Modular> RejectNumberQuery = db.Database.SqlQuery <Modular>(RejectNumberSql).ToList(); for (int e = 0; e < RejectNumberQuery.Count; e++) { // string Name = RejectNumberQuery[e].PendingAuditName; string PendingAuditName = RejectNumberQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "返现" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.RejectNumber = RejectNumberQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "返现"; ModularNotauditedModel.NotauditedNumber = 0; ModularNotauditedModel.RejectNumber = RejectNumberQuery[e].NotauditedNumber; // string Name = RejectNumberQuery[e].PendingAuditName; ModularNotauditedModel.PendingAuditName = PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } sc.Complete(); return(Json(result, JsonRequestBehavior.AllowGet)); } }
public JsonResult Check(T_AssetsApprove model, string CurUser)//资产审核保存 { T_AssetsApprove editApprove = db.T_AssetsApprove.Find(model.ID); T_AssetsTransferApply editApply = db.T_AssetsTransferApply.Find(model.ApplyID); T_Assets editAssets = db.T_Assets.Find(editApply.Code); int i = 0; if (editApprove != null)//修改审核记录 { editApprove.State = model.State; editApprove.Memo = model.Memo; editApprove.ApproveDate = DateTime.Now; db.Entry <T_AssetsApprove>(editApprove).State = System.Data.EntityState.Modified; } if (editApply != null) { if (model.State == 1)//同意 { #region 转移流程 #region 第一步和第二步审核 if (editApply.TransferType == "转移") //转移 { if (editApply.Step == 1) //第一步,当前责任人同意转出后 { string approvename = db.T_AssetsConfig.FirstOrDefault(a => a.Step == 2).Name; //添加第二步审核人(资产管理员) editApply.Step = 2; editApply.State = 0; //审核中 editApply.CurrentApproveName = approvename; db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified; T_AssetsApprove newApprove = new T_AssetsApprove(); newApprove.ApplyID = editApprove.ApplyID; newApprove.ApproveName = approvename; newApprove.Code = editApprove.Code; newApprove.State = 0; newApprove.Step = "2"; db.T_AssetsApprove.Add(newApprove); } else if (editApply.Step == 2) //第二步,资产管理员同意转移发生 { string approvename = editApply.LastApproveName; //添加第三步审核人(转移后责任人) editApply.Step = 3; editApply.State = 0; //审核中 editApply.CurrentApproveName = approvename; db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified; if (editApply.LastApproveName.Contains(",")) { string[] approveArr = approvename.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries); foreach (var approve in approveArr) { T_AssetsApprove newApprove = new T_AssetsApprove(); newApprove.ApplyID = editApprove.ApplyID; newApprove.ApproveName = approve; newApprove.Code = editApprove.Code; newApprove.State = 0; newApprove.Step = "3"; db.T_AssetsApprove.Add(newApprove); } } else { T_AssetsApprove newApprove = new T_AssetsApprove(); newApprove.ApplyID = editApprove.ApplyID; newApprove.ApproveName = approvename; newApprove.Code = editApprove.Code; newApprove.State = 0; newApprove.Step = "3"; db.T_AssetsApprove.Add(newApprove); } } #endregion #region 第三步审核 else if (editApply.Step == 3) //第三步,接收责任人同意即确认接收到该资产,流程结束, { List <T_AssetsApprove> ReceivedList = db.T_AssetsApprove.Where(a => a.ApplyID == model.ApplyID && a.Step == "3" && a.State == 1).ToList(); //接收过的数据 List <T_AssetsApprove> ApproveList = db.T_AssetsApprove.Where(a => a.ApplyID == model.ApplyID && a.Step == "3" && a.State == 0).ToList(); //待接收的数据 List <T_AssetsApprove> ApproveALl = db.T_AssetsApprove.Where(a => a.ApplyID == model.ApplyID && a.Step == "3").ToList(); if (ApproveALl.Count > 1) //这条数据的接收人有多个 { if (ApproveList.Count > 1) //还有多个人要审核 { editApply.CurrentApproveName = editApply.CurrentApproveName.Replace(editApprove.ApproveName, ""); if (ReceivedList.Count == 0)//没有人接收过 { //修改资产的使用人等信息 editAssets.Department = editApply.TransferDepartment; editAssets.Owner = editAssets.Owner.Replace(editApply.PostUserName, editApprove.ApproveName); editAssets.Place = editApply.TransferPlace; editAssets.Responsible = editAssets.Responsible.Replace(editApply.PostUserName, editApprove.ApproveName); db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified; T_AssetsTransferRecord TransferRecord = new T_AssetsTransferRecord();//添加一条资产变更记录 TransferRecord.Code = editApply.Code; TransferRecord.Department = editApply.Department; TransferRecord.Memo = editApply.Memo; TransferRecord.Name = editApply.Name; TransferRecord.Owner = editApply.Owner; TransferRecord.Place = editApply.Place; TransferRecord.Responsible = editApply.Responsible; TransferRecord.TransferDate = DateTime.Now; TransferRecord.TransferDepartment = editApply.TransferDepartment; TransferRecord.TransferOwner = editApply.Owner.Replace(editApply.PostUserName, editApprove.ApproveName); TransferRecord.TransferPlace = editApply.TransferPlace; TransferRecord.TransferResponsible = editApply.Responsible.Replace(editApply.PostUserName, editApprove.ApproveName); TransferRecord.PostUserName = editApply.PostUserName; TransferRecord.Receiver = editApprove.ApproveName;//第一个人接收时 则接收人是这个人 TransferRecord.ApplyID = editApply.ID; TransferRecord.TransferType = editApply.TransferType; db.T_AssetsTransferRecord.Add(TransferRecord); } else { //修改资产的使用人等信息 editAssets.Department = editApply.TransferDepartment; editAssets.Owner = editAssets.Owner + "," + editApprove.ApproveName; editAssets.Place = editApply.TransferPlace; editAssets.Responsible = editAssets.Responsible + "," + editApprove.ApproveName; db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified; T_AssetsTransferRecord EditRecord = db.T_AssetsTransferRecord.FirstOrDefault(a => a.ApplyID == editApply.ID); EditRecord.Receiver = EditRecord.Receiver + "," + editApprove.ApproveName;//第二个开始来接收的人开始则加上这个人的名字 EditRecord.TransferOwner = EditRecord.TransferOwner + "," + editApprove.ApproveName; EditRecord.TransferResponsible = EditRecord.TransferResponsible + "," + editApprove.ApproveName; db.Entry <T_AssetsTransferRecord>(EditRecord).State = System.Data.EntityState.Modified; } } else//最后一个接收人审核 { editApply.Step = 9; editApply.State = 1;//已同意 editApply.CurrentApproveName = "流程结束"; db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified; //修改资产的使用人等信息 editAssets.Department = editApply.TransferDepartment; editAssets.Owner = editAssets.Owner + "," + editApprove.ApproveName; editAssets.Place = editApply.TransferPlace; editAssets.Responsible = editAssets.Responsible + "," + editApprove.ApproveName; db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified; T_AssetsTransferRecord EditRecord = db.T_AssetsTransferRecord.FirstOrDefault(a => a.ApplyID == editApply.ID); EditRecord.Receiver = EditRecord.Receiver + "," + editApprove.ApproveName;//最后来接收的人则加上这个人的名字 EditRecord.TransferOwner = EditRecord.TransferOwner + "," + editApprove.ApproveName; EditRecord.TransferResponsible = EditRecord.TransferResponsible + "," + editApprove.ApproveName; db.Entry <T_AssetsTransferRecord>(EditRecord).State = System.Data.EntityState.Modified; } } else//这条数据只有一个人接收 { editApply.Step = 9; editApply.State = 1;//已同意 editApply.CurrentApproveName = "流程结束"; db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified; //修改资产的使用人等信息 editAssets.Department = editApply.TransferDepartment; editAssets.Owner = editAssets.Owner.Replace(editApply.PostUserName, editApply.LastApproveName); editAssets.Place = editApply.TransferPlace; editAssets.Responsible = editApply.TransferResponsible; db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified; T_AssetsTransferRecord TransferRecord = new T_AssetsTransferRecord();//添加一条资产变更记录 TransferRecord.Code = editApply.Code; TransferRecord.Department = editApply.Department; TransferRecord.Memo = editApply.Memo; TransferRecord.Name = editApply.Name; TransferRecord.Owner = editApply.Owner; TransferRecord.Place = editApply.Place; TransferRecord.Responsible = editApply.Responsible; TransferRecord.TransferDate = DateTime.Now; TransferRecord.TransferDepartment = editApply.TransferDepartment; TransferRecord.TransferOwner = editApply.TransferOwner; TransferRecord.TransferPlace = editApply.TransferPlace; TransferRecord.TransferResponsible = editApply.TransferResponsible; TransferRecord.PostUserName = editApply.PostUserName; TransferRecord.Receiver = editApply.LastApproveName; TransferRecord.ApplyID = editApply.ID; TransferRecord.TransferType = editApply.TransferType; db.T_AssetsTransferRecord.Add(TransferRecord); } IQueryable <T_AssetsTransferApply> TransferApplyList = db.T_AssetsTransferApply.Where(a => (a.State == -1 || a.State == 0) && a.Code == editApply.Code && a.ID != editApply.ID); if (TransferApplyList.Count() > 0) { foreach (T_AssetsTransferApply item in TransferApplyList)//一个资产同时发生多条变更记录的时候,同意了其中一个的转移,就将其他未审核完成的记录的接收人和接收责任人等修改 { item.TransferOwner = item.TransferOwner.Replace(editApply.PostUserName, editApply.LastApproveName); item.TransferResponsible = item.TransferResponsible.Replace(editApply.PostUserName, editApply.LastApproveName); item.Owner = item.Owner.Replace(editApply.PostUserName, editApply.LastApproveName); item.Responsible = item.Responsible.Replace(editApply.PostUserName, editApply.LastApproveName); } } } #endregion } #endregion #region 交 else if (editApply.TransferType == "上交") { if (editApply.Step == 1)//第一步,资产管理员确认资产已上交,流程结束,添加一条资产变更记录 { editApply.Step = 9; editApply.State = 1;//已同意 editApply.CurrentApproveName = "流程结束"; db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified; //修改资产的使用人等信息 editAssets.Department = editApply.TransferDepartment;; editAssets.Owner = editApply.TransferOwner; editAssets.Place = editApply.TransferPlace; editAssets.Responsible = editApply.TransferResponsible;//资产管理员负责待分配的资产 db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified; T_AssetsTransferRecord TransferRecord = new T_AssetsTransferRecord();//添加一条资产变更记录 TransferRecord.Code = editApply.Code; TransferRecord.Department = editApply.Department; TransferRecord.Memo = editApply.Memo; TransferRecord.Name = editApply.Name; TransferRecord.Owner = editApply.Owner; TransferRecord.Place = editApply.Place; TransferRecord.Responsible = editApply.Responsible; TransferRecord.TransferDate = DateTime.Now; TransferRecord.TransferDepartment = editApply.TransferDepartment; TransferRecord.TransferOwner = editApply.TransferOwner; TransferRecord.TransferPlace = editApply.TransferPlace; TransferRecord.TransferResponsible = editApply.TransferResponsible; TransferRecord.PostUserName = editApply.PostUserName; TransferRecord.Receiver = ""; TransferRecord.ApplyID = editApply.ID; TransferRecord.TransferType = editApply.TransferType; db.T_AssetsTransferRecord.Add(TransferRecord); IQueryable <T_AssetsTransferApply> TransferApplyList = db.T_AssetsTransferApply.Where(a => (a.State == -1 || a.State == 0) && a.Code == editApply.Code); if (TransferApplyList.Count() > 0) { foreach (T_AssetsTransferApply item in TransferApplyList) { int Oindex = item.TransferOwner.IndexOf(editApply.PostUserName); if (Oindex == 0)//如果名字在第一个,则删去名字及名字后面的逗号,否则删去名字及名字前面的一个逗号 { item.TransferOwner = item.TransferOwner.Replace(editApply.PostUserName + ",", ""); } else { item.TransferOwner = item.TransferOwner.Replace("," + editApply.PostUserName, ""); } int Rindex = item.TransferResponsible.IndexOf(editApply.PostUserName); if (Rindex == 0) { item.TransferResponsible = item.TransferResponsible.Replace(editApply.PostUserName + ",", ""); } else { item.TransferResponsible = item.TransferResponsible.Replace("," + editApply.PostUserName, ""); } } } } } #endregion #region 领用 else if (editApply.TransferType == "领用") { if (editApply.Step == 1)//第一步,资产管理员确认资产已上交,流程结束,添加一条资产变更记录 { editApply.Step = 9; editApply.State = 1;//已同意 editApply.CurrentApproveName = "流程结束"; db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified; editAssets.Department = editApply.TransferDepartment;; editAssets.Owner = editApply.TransferOwner; editAssets.Place = editApply.TransferPlace; editAssets.Responsible = editApply.TransferResponsible;//资产管理员负责待分配的资产 db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified; T_AssetsTransferRecord TransferRecord = new T_AssetsTransferRecord();//添加一条资产变更记录 TransferRecord.Code = editApply.Code; TransferRecord.Department = editApply.Department; TransferRecord.Memo = editApply.Memo; TransferRecord.Name = editApply.Name; TransferRecord.Owner = editApply.Owner; TransferRecord.Place = editApply.Place; TransferRecord.Responsible = editApply.Responsible; TransferRecord.TransferDate = DateTime.Now; TransferRecord.TransferDepartment = editApply.TransferDepartment; TransferRecord.TransferOwner = editApply.TransferOwner; TransferRecord.TransferPlace = editApply.TransferPlace; TransferRecord.TransferResponsible = editApply.TransferResponsible; TransferRecord.PostUserName = editApply.PostUserName; TransferRecord.Receiver = TransferRecord.TransferOwner; TransferRecord.ApplyID = editApply.ID; TransferRecord.TransferType = editApply.TransferType; db.T_AssetsTransferRecord.Add(TransferRecord); } } #endregion #region 报废 else if (editApply.TransferType == "报废") { if (editApply.Step == 1)//第一步,资产管理员确认资产报废,流程结束,添加一条资产变更记录 { editApply.Step = 9; editApply.State = 1;//已同意 editApply.CurrentApproveName = "流程结束"; db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified; editAssets.Department = "无"; editAssets.Owner = "报废"; editAssets.Place = "无"; editAssets.Responsible = "无"; editAssets.isScrap = "1"; db.Entry <T_Assets>(editAssets).State = System.Data.EntityState.Modified; T_AssetsTransferRecord TransferRecord = new T_AssetsTransferRecord();//添加一条资产变更记录 TransferRecord.Code = editApply.Code; TransferRecord.Department = editApply.Department; TransferRecord.Memo = editApply.Memo; TransferRecord.Name = editApply.Name; TransferRecord.Owner = editApply.Owner; TransferRecord.Place = editApply.Place; TransferRecord.Responsible = editApply.Responsible; TransferRecord.TransferDate = DateTime.Now; TransferRecord.TransferDepartment = editApply.TransferDepartment; TransferRecord.TransferOwner = editApply.TransferOwner; TransferRecord.TransferPlace = editApply.TransferPlace; TransferRecord.TransferResponsible = editApply.TransferResponsible; TransferRecord.PostUserName = editApply.PostUserName; TransferRecord.Receiver = ""; TransferRecord.ApplyID = editApply.ID; TransferRecord.TransferType = editApply.TransferType; db.T_AssetsTransferRecord.Add(TransferRecord); } } #endregion } else//不同意 { #region 转移 if (editApply.TransferType == "转移" && editApply.Step == 3) //转移的第三步有可能有多个人接收就会有多个人审核 { List <T_AssetsApprove> ReceivedList = db.T_AssetsApprove.Where(a => a.ApplyID == model.ApplyID && a.Step == "3" && a.State == 1).ToList(); //接收过的数据 List <T_AssetsApprove> ApproveList = db.T_AssetsApprove.Where(a => a.ApplyID == model.ApplyID && a.Step == "3" && a.State == 0).ToList(); //待接收的数据 List <T_AssetsApprove> ApproveALl = db.T_AssetsApprove.Where(a => a.ApplyID == model.ApplyID && a.Step == "3").ToList(); if (ApproveALl.Count > 1) //这条数据的接收人有多个 { if (ApproveList.Count > 1) //还有多个人要审核 { editApply.CurrentApproveName = editApply.CurrentApproveName.Replace(editApprove.ApproveName, ""); db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified; } else//最后一个接收人审核 { editApply.Step = 9; if (ReceivedList.Count > 0) { editApply.State = 1;//有人接收表示已同意 } else { editApply.State = 2;//没有任何一个人接收则为不同意 } editApply.CurrentApproveName = "流程结束"; db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified; } } else//一人接收 { editApply.Step = 9; editApply.State = 2;//不同意 editApply.CurrentApproveName = "流程结束"; db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified; } } #endregion #region 其他 else { editApply.Step = 9; editApply.State = 2;//不同意 editApply.CurrentApproveName = "流程结束"; db.Entry <T_AssetsTransferApply>(editApply).State = System.Data.EntityState.Modified; } #endregion } } i = db.SaveChanges(); try { List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "资产变更").ToList(); if (ModularNotaudited.Count > 0) { foreach (var item in ModularNotaudited) { db.T_ModularNotaudited.Remove(item); } db.SaveChanges(); } string RetreatAppRoveSql = " select ApproveName as PendingAuditName,COUNT(*) as NotauditedNumber from T_AssetsApprove where ApplyID in ( select ID from T_AssetsTransferApply where isDelete=0 ) and State=0 and ApproveDate is null GROUP BY ApproveName "; List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList(); string Nickname = CurUser; for (int e = 0; e < RetreatAppRoveQuery.Count; e++) { string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "资产变更" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "资产变更"; ModularNotauditedModel.RejectNumber = 0; ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } //增加驳回数据 string RejectNumberSql = " select PostUserName as PendingAuditName,COUNT(*) as NotauditedNumber from T_AssetsTransferApply where State='2' GROUP BY PostUserName "; List <Modular> RejectNumberQuery = db.Database.SqlQuery <Modular>(RejectNumberSql).ToList(); for (int e = 0; e < RejectNumberQuery.Count; e++) { string PendingAuditName = RejectNumberQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "资产变更" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.RejectNumber = RejectNumberQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "资产变更"; ModularNotauditedModel.NotauditedNumber = 0; ModularNotauditedModel.RejectNumber = RejectNumberQuery[e].NotauditedNumber; ModularNotauditedModel.PendingAuditName = RejectNumberQuery[e].PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } } catch (DbUpdateException e) { } return(Json(i)); }
public JsonResult Check(string UserName, int approveID, int status, string memo) { using (TransactionScope sc = new TransactionScope()) { try { int TotalStep = db.T_ExchangeCenterConfig.ToList().Count; T_ExchangeCenterApprove approve = db.T_ExchangeCenterApprove.Find(approveID); string name = approve.ApproveName; T_ExchangeCenter model = db.T_ExchangeCenter.Find(approve.Pid); approve.ApproveName = UserName; approve.ApproveStatus = status; approve.ApproveTime = DateTime.Now; approve.Memo = memo; db.SaveChanges(); if (status == 2)//不同意 { model.Status = status; model.Step = model.Step + 1; db.SaveChanges(); } else//同意 { int type = db.T_ExchangeReson.SingleOrDefault(s => s.Reson.Equals(model.ExchangeReson)).Type; int LastStep = db.T_ExchangeCenterConfig.OrderByDescending(s => s.Step).FirstOrDefault(s => s.Reson == type).Step; if (LastStep > model.Step)//判断是否存在下一级 { //获得下一级审核部门 string nextapproveType = db.T_ExchangeCenterConfig.OrderBy(s => s.Step).FirstOrDefault(s => s.Reson == type && s.Step > model.Step).ApproveType; T_ExchangeCenterApprove newApprove = new T_ExchangeCenterApprove(); newApprove.ApproveStatus = -1; newApprove.ApproveName = nextapproveType; newApprove.ApproveTime = null; newApprove.Pid = approve.Pid; db.T_ExchangeCenterApprove.Add(newApprove); db.SaveChanges(); model.Status = 0; model.Step = model.Step + 1; db.SaveChanges(); } if (name.Equals("售后主管") || name.Equals("呼吸机主管"))//售后主管审核后直接加入补发货 { //T_OrderList order = db.T_OrderList.Find(model.OrderId); List <T_ExchangeDetail> exchangedetail = db.T_ExchangeDetail.Where(s => s.ExchangeCenterId == model.ID).ToList(); #region 加入快递赔付 if (model.ExchangeReson.Equals("快递破损")) { GY gy = new GY(); string cmd = ""; cmd = "{" + "\"appkey\":\"171736\"," + "\"method\":\"gy.erp.trade.get\"," + "\"page_no\":1," + "\"page_size\":10," + "\"platform_code\":\"" + model.OrderCode + "\"," + "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"" + "}"; string sign = gy.Sign(cmd); cmd = cmd.Replace("}", ",\"sign\":\"" + sign + "\"}"); string ret = gy.DoPost("http://api.guanyierp.com/rest/erp_open", cmd); JsonData jsonData = null; jsonData = JsonMapper.ToObject(ret); if (jsonData.Count == 6 || jsonData["orders"].Count == 0) { cmd = "{" + "\"appkey\":\"171736\"," + "\"method\":\"gy.erp.trade.history.get\"," + "\"page_no\":1," + "\"page_size\":10," + "\"platform_code\":\"" + model.OrderCode + "\"," + "\"sessionkey\":\"f5885504d9c84d1d8146200a4841f4b7\"" + "}"; sign = gy.Sign(cmd); cmd = cmd.Replace("}", ",\"sign\":\"" + sign + "\"}"); ret = gy.DoPost("http://api.guanyierp.com/rest/erp_open", cmd); jsonData = null; jsonData = JsonMapper.ToObject(ret); if (jsonData.Count == 6 || jsonData["orders"].Count == 0) { return(Json(new { State = "Faile", Message = "订单号不存在" })); } } JsonData jsonOrders = jsonData["orders"][0]; var deliver = jsonOrders["deliverys"][0]; //快递单号 string mail_no = isNULL(deliver["mail_no"]).ToString(); //订单金额 string amount = isNULL(jsonOrders["amount"]).ToString(); //快递名称 string express_name = isNULL(jsonOrders["express_name"]).ToString(); T_ExpressIndemnity Inde = new T_ExpressIndemnity { PostUserName = model.PostUser, Date = DateTime.Now, OrderNum = model.OrderCode, wangwang = model.VipCode, ShopName = model.StoreName, RetreatExpressNum = mail_no, State = "0", OrderMoney = Convert.ToDouble(amount), Type = "破损", Second = "0", CurrentApproveName = "快递组", IsDelete = 0, ExpressName = express_name, IndemnityMoney = 0 }; db.T_ExpressIndemnity.Add(Inde); db.SaveChanges(); List <T_ExchangePic> picList = db.T_ExchangePic.Where(s => s.ExchangeId == model.ID).ToList(); foreach (var item in picList) { T_ExpressIndemnityPic expressPic = new T_ExpressIndemnityPic { EID = Inde.ID, PicURL = item.Url }; db.T_ExpressIndemnityPic.Add(expressPic); } db.SaveChanges(); } #endregion //#region 新增订单数据 //string newOrderCode = ""; //string newCode = ""; //string usedOrderCode = model.OrderCode; //string userCode = order.code; //List<T_OrderList> HEmodel = db.T_OrderList.Where(a => a.platform_code.Contains(usedOrderCode)).ToList(); //List<T_OrderList> orderList = db.T_OrderList.Where(a => a.code.Contains(userCode)).ToList(); //if (HEmodel.Count > 1) //{ // string HEmodelCount = HEmodel.Count.ToString(); // newOrderCode = usedOrderCode + HEmodelCount; //} //else // newOrderCode = usedOrderCode + "1"; //if (orderList.Count > 1) //{ // string listCount = orderList.Count.ToString(); // newCode = userCode + listCount; //} //else // newCode = userCode + "1"; //model.NewOrderCode = newOrderCode; //db.SaveChanges(); //T_OrderList newOrder = new T_OrderList //{ // code = newCode, // order_type_name = "换货订单", // platform_code = newOrderCode, // createtime = DateTime.Now, // dealtime = model.SingleTime.ToString(), // cod = order.cod, // approve = order.approve, // delivery_state = order.delivery_state, // warehouse_code = model.ReturnWarhouse, // warehouse_name = db.T_Warehouses.SingleOrDefault(s => s.code.Equals(model.ReturnWarhouse)).name, // shop_code = model.StoreCode, // shop_name = model.StoreName, // express_code = model.ReturnExpressName, // express_name = db.T_Express.SingleOrDefault(s => s.Code.Equals(model.ReturnExpressName)).Name, // buyer_memo = model.BuyRemark, // seller_memo = model.SalesRemark, // vip_code = model.VipCode, // vip_name = model.VipName, // receiver_name = model.ReceivingName, // receiver_mobile = model.ReceivingTelPhone, // receiver_phone = model.ReceivingPhone, // receiver_zip = model.NeedPostalCode, // receiver_area = model.AddressMessage, // receiver_address = model.ReceivingAddress, // payCode = order.payCode, // vipIdCard = order.vipIdCard, // vipRealName = order.vipRealName, // vipEmail = order.vipEmail, // amount = 0, // payment_amount = 0, // post_fee = 0, // discount_fee = 0, // payment = 0, // qty = "1", // weight_origin = "0", // post_cost = 0, // mail_no = model.ReturnExpressCode, // platform_flag = "0", // IsGeneralize = 0, // Status_CashBack = 0, // Status_Retreat = 0, // Status_ExpressIndemnity = 0, // ExchangeStatus = 0, // ReissueStatus = 0 //}; //db.T_OrderList.Add(newOrder); //db.SaveChanges(); //foreach (var item in exchangedetail) //{ // T_OrderDetail Orderdetail = db.T_OrderDetail.FirstOrDefault(s => s.oid.Equals(order.code) && s.item_code.Equals(item.SendProductCode)); // if (Orderdetail != null)//修改原订单详情换货状态与换货数量 // { // Orderdetail.ExchangeStatus = 1; // Orderdetail.ExchangeQty += item.SendProductNum; // db.SaveChanges(); // } // T_OrderDetail t = new T_OrderDetail // { // oid = newCode, // refund = 0, // item_code = item.NeedProductCode, // item_name = item.NeedProductName, // item_simple_name = "", // sku_code = "", // sku_name = "", // qty = 0, // price = 0, // amount = 0, // discount_fee = 0, // amount_after = 0, // post_fee = 0, // platform_item_name = "", // platform_sku_name = "", // note = "", // ExchangeStatus = 0, // ExchangeQty = 0, // ReissueStatus = 0, // ReissueQty = 0, // RetreatQty = 0, // RetreatStatus = 0 // }; // db.T_OrderDetail.Add(t); // db.SaveChanges(); //} //#endregion #region 加入补发货 string remark = ""; T_Reissue re = db.T_Reissue.FirstOrDefault(s => s.OrderCode.Equals(model.OrderCode) && s.IsDelete == 0); if (re != null) { var date = Convert.ToDateTime(DateTime.Now).ToString("yyyyMMdd"); var modeldate = Convert.ToDateTime(re.CreatDate).ToString("yyyyMMdd"); if (re != null && int.Parse(date) - int.Parse(modeldate) <= 3) { remark = model.SystemRemark + "3天内补发货重复"; } } //更改订单主表补发货状态 //else //{ // order.ReissueStatus = 1; // db.SaveChanges(); //} T_Reissue reissue = new T_Reissue { OrderCode = model.OrderCode, NewOrderCode = "8" + DateTime.Now.ToString("yyyyMMddHHmmss"), VipName = model.VipName, StoreName = model.StoreName, WarhouseName = model.NeedWarhouse, ExpressName = model.NeedExpress, OrderType = "Return", SingleTime = model.SingleTime, ReceivingName = model.ReceivingName, PostalCode = model.NeedPostalCode, Phone = model.ReceivingPhone, TelPhone = model.ReceivingTelPhone, VipCode = model.VipCode, Address = model.ReceivingAddress, AddressMessage = model.AddressMessage, SalesRemark = model.SalesRemark, BuyRemark = model.BuyRemark, StoreCode = model.StoreCode, Step = 0, Status = -2, BusinessName = Com.GetReissueName(model.StoreCode, model.ExchangeReson), PostUser = model.PostUser, DraftName = Com.GetReissueName(model.StoreCode, model.ExchangeReson), CreatDate = DateTime.Now, IsDelete = 0, ReissueReson = model.ExchangeReson, SystemRemark = remark }; db.T_Reissue.Add(reissue); db.SaveChanges(); IQueryable <T_ExchangeDetail> detail = db.T_ExchangeDetail.Where(s => s.ExchangeCenterId == model.ID); foreach (var item in detail) { T_ReissueDetail items = new T_ReissueDetail { ProductCode = item.NeedProductCode, ProductName = item.NeedProductName, Num = item.NeedProductNum, ReissueId = reissue.ID }; db.T_ReissueDetail.Add(items); } db.SaveChanges(); #endregion #region 判断仓库是否收货 T_ReturnToStorage storge = db.T_ReturnToStorage.SingleOrDefault(s => s.Retreat_expressNumber.Equals(model.ReturnExpressCode)); if (storge != null) { //List<T_ExchangeCenter> exchange = db.T_ExchangeCenter.Where(s => s.OrderCode.Equals(model.OrderCode) && s.IsDelete == 0).ToList(); model.WarhouseStatus = 1; model.Status = 1; T_ExchangeCenterApprove approve1 = db.T_ExchangeCenterApprove.SingleOrDefault(s => s.ApproveName.Equals("仓库") && !s.ApproveTime.HasValue && s.Pid == model.ID); approve1.ApproveName = "仓库"; approve1.ApproveStatus = 1; approve1.ApproveTime = DateTime.Now; //判断是否第一次换货,如果是则修改订单状态为已收货 //if (exchange.Count() == 1) //{ // order.ExchangeStatus = 2; //} } #endregion } } List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "换货未审核").ToList(); if (ModularNotaudited.Count > 0) { foreach (var item in ModularNotaudited) { db.T_ModularNotaudited.Remove(item); } db.SaveChanges(); } string RetreatAppRoveSql = " select isnull(ApproveUser,ApproveName) as PendingAuditName,COUNT(*) as NotauditedNumber from T_ExchangeCenterApprove where Pid in ( select ID from T_ExchangeCenter where IsDelete=0 ) and ApproveStatus=-1 and ApproveTime is null GROUP BY ApproveName,ApproveUser"; List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList(); string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value); for (int e = 0; e < RetreatAppRoveQuery.Count; e++) { string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "换货未审核" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "换货未审核"; ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } sc.Complete(); return(Json(new { State = "Success" }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { State = "Faile", Message = ex.Message }, JsonRequestBehavior.AllowGet)); } } }
public void ModularByZP() { List <T_ModularNotaudited> ModularNotaudited = db.T_ModularNotaudited.Where(a => a.ModularName == "请假调休").ToList(); if (ModularNotaudited.Count > 0) { foreach (var item in ModularNotaudited) { db.T_ModularNotaudited.Remove(item); } db.SaveChanges(); } string RetreatAppRoveSql = "select CurrentApprove as PendingAuditName,COUNT(*) as NotauditedNumber from T_CheckAttendace where (Status = -1 or Status = 0 ) and IsDelete='0' GROUP BY CurrentApprove "; List <Modular> RetreatAppRoveQuery = db.Database.SqlQuery <Modular>(RetreatAppRoveSql).ToList(); string Nickname = Server.UrlDecode(Request.Cookies["Nickname"].Value); for (int e = 0; e < RetreatAppRoveQuery.Count; e++) { string PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "请假调休" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.Entity.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "请假调休"; ModularNotauditedModel.RejectNumber = 0; ModularNotauditedModel.NotauditedNumber = RetreatAppRoveQuery[e].NotauditedNumber; ModularNotauditedModel.PendingAuditName = RetreatAppRoveQuery[e].PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } //增加驳回数据 string RejectNumberSql = "select PostName as PendingAuditName,COUNT(*) as NotauditedNumber from T_CheckAttendace where Status='2' and IsDelete=0 GROUP BY PostName "; List <Modular> RejectNumberQuery = db.Database.SqlQuery <Modular>(RejectNumberSql).ToList(); for (int e = 0; e < RejectNumberQuery.Count; e++) { string PendingAuditName = RejectNumberQuery[e].PendingAuditName; T_ModularNotaudited NotauditedModel = db.T_ModularNotaudited.SingleOrDefault(a => a.ModularName == "请假调休" && a.PendingAuditName == PendingAuditName); if (NotauditedModel != null) { NotauditedModel.RejectNumber = RejectNumberQuery[e].NotauditedNumber; db.Entry <T_ModularNotaudited>(NotauditedModel).State = System.Data.Entity.EntityState.Modified; } else { T_ModularNotaudited ModularNotauditedModel = new T_ModularNotaudited(); ModularNotauditedModel.ModularName = "请假调休"; ModularNotauditedModel.NotauditedNumber = 0; ModularNotauditedModel.RejectNumber = RejectNumberQuery[e].NotauditedNumber; ModularNotauditedModel.PendingAuditName = RejectNumberQuery[e].PendingAuditName; ModularNotauditedModel.ToupdateDate = DateTime.Now; ModularNotauditedModel.ToupdateName = Nickname; db.T_ModularNotaudited.Add(ModularNotauditedModel); } db.SaveChanges(); } }