public JsonResult GetCeoBatchAuditBills() { AuditSearchParamModel pm = new AuditSearchParamModel(); pm.auditResult = 0; pm.finalResult = 0; return(Json(new ApplySv().GetAuditList(currentUser.userId, pm))); }
/// <summary> /// 审核人导出Excel /// </summary> /// <param name="pm">查询参数模型</param> /// <param name="userId">用户ID</param> public override void ExportAuditorExcle(AuditSearchParamModel pm, int userId) { //首先从K3同步一下订单号 //db.updateAllK3OrderNo(); DateTime fDate, tDate; if (!DateTime.TryParse(pm.fromDate, out fDate)) { fDate = DateTime.Parse("2010-6-1"); } if (!DateTime.TryParse(pm.toDate, out tDate)) { tDate = DateTime.Parse("2049-9-9"); } tDate = tDate.AddDays(1); pm.saler = pm.saler ?? ""; pm.proModel = pm.proModel ?? ""; pm.sysNo = pm.sysNo ?? ""; var result = (from a in db.Apply from ad in a.ApplyDetails join o in db.Order on a.sys_no equals o.sys_no from d in o.OrderDetail where ad.user_id == userId && a.order_type == BILL_TYPE && a.sys_no.Contains(pm.sysNo) && a.user_name.Contains(pm.saler) && a.p_model.Contains(pm.proModel) && a.start_date >= fDate && a.start_date <= tDate && (pm.finalResult == 10 || (pm.finalResult == 1 && a.success == true) || (pm.finalResult == 0 && a.success == null) || (pm.finalResult == -1 && a.success == false)) && (pm.auditResult == 10 || (pm.auditResult == 1 && ad.pass == true) || (pm.auditResult == 0 && ad.pass == null && ((ad.countersign == true && a.ApplyDetails.Where(ads => ads.step == ad.step && ads.pass == false).Count() == 0) || ((ad.countersign == false || ad.countersign == null) && a.ApplyDetails.Where(ads => ads.step == ad.step && ads.pass == true).Count() == 0) ) ) || (pm.auditResult == -1 && ad.pass == false) ) && (ad.step == 1 || a.ApplyDetails.Where(ads => ads.step == ad.step - 1 && ads.pass == true).Count() > 0) orderby a.start_date descending select new ExcelData() { h = o, e = d, auditStatus = a.success == true ? "PASS" : a.success == false ? "NG" : "----" }).Take(200).ToList(); ExportExcel(result); }
public void ExportAuditorExcel(string billType, FormCollection fc) { AuditSearchParamModel pm = new AuditSearchParamModel(); SomeUtils.SetFieldValueToModel(fc, pm); BillSv bill = (BillSv) new BillUtils().GetBillSvInstance(billType); Wlog("审核人导出Excel:" + JsonConvert.SerializeObject(pm), billType); bill.ExportAuditorExcle(pm, currentUser.userId); }
public JsonResult GetDefaultAuditList() { AuditSearchParamModel pm; var queryData = Request.Cookies["ele_au_qd"]; if (queryData != null) { pm = JsonConvert.DeserializeObject <AuditSearchParamModel>(SomeUtils.DecodeToUTF8(queryData.Value)); } else { pm = new AuditSearchParamModel(); pm.auditResult = 0; pm.finalResult = 0; } Wlog("自动获取默认数据:" + JsonConvert.SerializeObject(pm)); return(Json(new ApplySv().GetAuditList(currentUser.userId, pm))); }
public JsonResult SearchAuditList(FormCollection fc) { AuditSearchParamModel pm = new AuditSearchParamModel(); SomeUtils.SetFieldValueToModel(fc, pm); var queryData = Request.Cookies["ele_au_qd"]; if (queryData == null) { queryData = new HttpCookie("ele_au_qd"); } queryData.Expires = DateTime.Now.AddDays(20); queryData.Value = SomeUtils.EncodeToUTF8(JsonConvert.SerializeObject(pm)); Response.AppendCookie(queryData); Wlog("审核列表查询:" + JsonConvert.SerializeObject(pm)); return(Json(new ApplySv().GetAuditList(currentUser.userId, pm), "text/html")); }
public ActionResult CheckAuditList() { Wlog("打开审核列表视图"); AuditSearchParamModel pm; var queryData = Request.Cookies["ele_au_qd"]; if (queryData != null) { pm = JsonConvert.DeserializeObject <AuditSearchParamModel>(SomeUtils.DecodeToUTF8(queryData.Value)); } else { pm = new AuditSearchParamModel(); pm.auditResult = 0; pm.finalResult = 0; } ViewData["queryParams"] = pm; return(View()); }
public override void ExportAuditorExcle(AuditSearchParamModel pm, int userId) { DateTime fDate, tDate; if (!DateTime.TryParse(pm.fromDate, out fDate)) { fDate = DateTime.Parse("2010-6-1"); } if (!DateTime.TryParse(pm.toDate, out tDate)) { tDate = DateTime.Parse("2049-9-9"); } tDate = tDate.AddDays(1); pm.saler = pm.saler ?? ""; pm.proModel = pm.proModel ?? ""; pm.sysNo = pm.sysNo ?? ""; var result = from a in db.Apply from ad in a.ApplyDetails join e in db.Sale_BL on a.sys_no equals e.sys_no where ad.user_id == userId && a.order_type == BillType && a.sys_no.Contains(pm.sysNo) && a.user_name.Contains(pm.saler) && a.p_model.Contains(pm.proModel) && a.start_date >= fDate && a.start_date <= tDate && (pm.finalResult == 10 || (pm.finalResult == 1 && a.success == true) || (pm.finalResult == 0 && a.success == null) || (pm.finalResult == -1 && a.success == false)) && (pm.auditResult == 10 || (pm.auditResult == 1 && ad.pass == true) || (pm.auditResult == 0 && ad.pass == null && ((ad.countersign == true && a.ApplyDetails.Where(ads => ads.step == ad.step && ads.pass == false).Count() == 0) || ((ad.countersign == false || ad.countersign == null) && a.ApplyDetails.Where(ads => ads.step == ad.step && ads.pass == true).Count() == 0) ) ) || (pm.auditResult == -1 && ad.pass == false) ) && (ad.step == 1 || a.ApplyDetails.Where(ads => ads.step == ad.step - 1 && ads.pass == true).Count() > 0) orderby a.start_date descending select new ExcelData() { h = e, auditStatus = a.success == true ? "PASS" : a.success == false ? "NG" : "----" }; if (!string.IsNullOrWhiteSpace(pm.saler)) { result = result.Where(r => r.h.applier_name.Contains(pm.saler)); } if (!string.IsNullOrWhiteSpace(pm.sysNo)) { result = result.Where(r => r.h.sys_no.Contains(pm.sysNo)); } if (!string.IsNullOrWhiteSpace(pm.proModel)) { result = result.Where(r => r.h.product_model.Contains(pm.proModel)); } ExportExcel(result.OrderByDescending(r => r.h.id).Take(200).ToList()); }
/// <summary> /// 审核人导出Excel /// </summary> /// <param name="pm">搜索参数模型</param> public abstract void ExportAuditorExcle(AuditSearchParamModel pm, int userId);
/// <summary> /// (无餐构造) 取得审核列表 /// </summary> /// <param name="userId">审核人ID</param> /// <param name="sysNo">流水号</param> /// <param name="salerName">申请人姓名</param> /// <param name="proModel">规格型号</param> /// <param name="fromDate">起始日期</param> /// <param name="toDate">结束日期</param> /// <param name="auditResult">审核结果</param> /// <param name="finalResult">最终审核结果</param> /// <returns></returns> public List <AuditListModel> GetAuditList(int userId, AuditSearchParamModel pm) { DateTime fDate, tDate; if (!DateTime.TryParse(pm.fromDate, out fDate)) { fDate = DateTime.Parse("2010-6-1"); } if (!DateTime.TryParse(pm.toDate, out tDate)) { tDate = DateTime.Parse("2049-9-9"); } tDate = tDate.AddDays(1); pm.saler = pm.saler ?? ""; pm.proModel = pm.proModel ?? ""; pm.sysNo = pm.sysNo ?? ""; var result = (from a in db.Apply from ad in a.ApplyDetails where ad.user_id == userId && a.sys_no.Contains(pm.sysNo) && a.user_name.Contains(pm.saler) && a.p_model.Contains(pm.proModel) && a.start_date >= fDate && a.start_date <= tDate && (pm.finalResult == 10 || (pm.finalResult == 1 && a.success == true) || (pm.finalResult == 0 && a.success == null) || (pm.finalResult == -1 && a.success == false)) && (pm.auditResult == 10 || (pm.auditResult == 1 && ad.pass == true) || (pm.auditResult == 0 && ad.pass == null && ((ad.countersign == true && a.ApplyDetails.Where(ads => ads.step == ad.step && ads.pass == false).Count() == 0) || ((ad.countersign == false || ad.countersign == null) && a.ApplyDetails.Where(ads => ads.step == ad.step && ads.pass == true).Count() == 0) ) ) || (pm.auditResult == -1 && ad.pass == false) ) && (ad.step == 1 || a.ApplyDetails.Where(ads => ads.step == ad.step - 1 && ads.pass == true).Count() > 0) orderby a.start_date descending select new AuditListModel() { applyId = a.id, applyDetailId = ad.id, applyTime = DateTime.Parse(a.start_date.ToString()).ToString("yyyy-MM-dd HH:mm"), salerName = a.user_name, customer = a.p_customer, model = a.p_model, depName = new UA((int)a.user_id).GetUserDepartmentName(), sysNo = a.sys_no, step = (int)ad.step, stepName = ad.step_name, finalStatus = a.success == true ? "PASS" : a.success == false ? "NG" : "----", status = ad.pass == true ? "已通过" : ad.pass == false ? "已NG" : "待确认" }).Take(200).ToList(); //单据详细类型和状态的逻辑比较复杂,不能在上面的sql语句中处理。 result.ForEach(r => { r.orderType = ((BillSv) new BillUtils().GetBillSvInstanceBySysNo(r.sysNo)).GetSpecificBillTypeName(); if (r.status.Equals("待确认")) { if (IsCurrentStepAuditing(db.ApplyDetails.Single(a => a.id == r.applyDetailId))) { if (db.BlockOrder.Where(b => b.sys_no == r.sysNo && b.step == r.step && b.@operator == userId).Count() > 0) { r.status = "挂起中"; } else { r.status = "待审核"; } } else { r.status = "已结束"; } } }); return(result); }