/// <summary> /// 流程信息新增 /// </summary> /// <param name="fiDto"></param> public void FlowInfoInsert(TMB_FLOWINFODTO fiDto) { try { TMB_FLOWINFO fiEf = AutoMapper.Mapper.Map <TMB_FLOWINFO>(fiDto); fiEf.C_ID = Guid.NewGuid().ToString(); fiEf.N_STATUS = 1; _FlowInfo.Add(fiEf); List <TMB_STEPINFODTO> siDto = fiDto.StepInfos.Where(x => x.IsCheck == true).ToList(); foreach (var item in siDto) { TMB_FLOWSTEP fsEf = new TMB_FLOWSTEP() { C_FLOW_ID = fiEf.C_ID, C_STEP_ID = item.C_ID, //N_TYPE = short.Parse(item.N_Type.ToString()), N_STATUS = short.Parse(item.N_STATUS.ToString()), N_SORT = short.Parse(item.N_SORT.ToString()), C_EMP_ID = fiEf.C_EMP_ID, C_EMP_NAME = fiEf.C_EMP_NAME, D_MOD_DT = fiEf.D_MOD_DT, C_APPROVE_ID = item.C_NAME }; _FlowStep.Add(fsEf); } this.Commit(); } catch (Exception e) { throw e; } }
/// <summary> /// 获取流程信息 /// </summary> /// <param name="id"></param> /// <returns></returns> public TMB_FLOWINFODTO GetFlowInfo(string id) { TMB_FLOWINFO fiEf = _FlowInfo.Find(id); TMB_FLOWINFODTO fiDto = AutoMapper.Mapper.Map <TMB_FLOWINFODTO>(fiEf); fiDto.StepInfos = GetStepInfos(); var news = from flowStep in _FlowStep where flowStep.C_FLOW_ID.Equals(id) select new TMB_STEPINFODTO { C_ID = flowStep.C_STEP_ID, C_APPROVE_ID = flowStep.C_APPROVE_ID, N_SORT = flowStep.N_SORT, IsCheck = true, }; if (news.Count() > 0) { for (int i = 0; i < fiDto.StepInfos.Count; i++) { var sis = news.ToList().FirstOrDefault(x => x.C_ID.Equals(fiDto.StepInfos[i].C_ID)); if (sis != null) { fiDto.StepInfos[i].IsCheck = true; fiDto.StepInfos[i].N_SORT = sis.N_SORT; } } } return(fiDto); }
/// <summary> /// 验证流程信息是否重复 /// </summary> /// <param name="fiDto"></param> /// <param name="type">操作方式1修改 0新增</param> /// <returns></returns> public bool ValidateIsRepeat(TMB_FLOWINFODTO fiDto, int type) { TMB_FLOWINFO ef = null; try { Expression <Func <TMB_FLOWINFO, bool> > where = null; where = where.And(x => x.N_STATUS == 1); where = where.And(x => x.C_NAME.Equals(fiDto.C_NAME)); if (type == 1) { where = where.And(x => x.C_ID != fiDto.C_ID); } ef = _FlowInfo.FirstOrDefault(where); } catch (Exception e) { throw e; } bool result = false; if (ef == null) { result = true; } return(result); }
public ActionResult FlowInfo(TMB_FLOWINFODTO fiDto) { //获取列表 PageResult <TMB_FLOWINFO> ef = service.FlowInfos(fiDto); //获取分页数据 BASEPAGE page = AUTOMAPING.Mapping <BASEPAGE>(ef); this.HttpContext.Session["Page"] = page; //EF实体转换DTO fiDto.FlowInfos = MAPPING.ConvertEntityToDtoList <TMB_FLOWINFO, TMB_FLOWINFODTO>(ef.DataList); return(View(fiDto)); }
/// <summary> /// 流程配置修改 /// </summary> /// <returns></returns> public ActionResult FlowInfoUpdate(string id) { TMB_FLOWINFODTO fiDto = new TMB_FLOWINFODTO(); fiDto = service.GetFlowInfo(id); fiDto.Title = "流程配置修改"; //生成下拉列表 //List<SelectListItem> items = new List<SelectListItem>(); //items.Add(new SelectListItem() { Text = "顺序处理", Value = "0" }); //items.Add(new SelectListItem() { Text = "并行处理", Value = "1" }); //fiDto.items = items; return(View("FlowInfoInsert", fiDto)); }
/// <summary> /// 流程信息列表(分页) /// </summary> /// <param name="fiDto"></param> /// <returns></returns> public PageResult <TMB_FLOWINFO> FlowInfos(TMB_FLOWINFODTO fiDto) { Expression <Func <TMB_FLOWINFO, bool> > where = null; where = where.And <TMB_FLOWINFO>(x => x.N_STATUS == 1); if (fiDto.N_TYPE != null) { where = where.And <TMB_FLOWINFO>(x => x.N_TYPE == fiDto.N_TYPE); } Expression <Func <TMB_FLOWINFO, int> > order = null; order = t => t.N_SORT ?? 1; return(QueryPage <TMB_FLOWINFO, int>(where, fiDto.BasePage.PageSize, fiDto.BasePage.PageIndex, order)); }
/// <summary> /// 验证流程信息是否重复 /// </summary> /// <param name="fiDto"></param> /// <returns></returns> public bool ValidateIsRepeat(TMB_FLOWINFODTO fiDto) { Expression <Func <TMB_FLOWINFO, bool> > where = null; where = where.And(x => x.N_STATUS == 1); where = where.And(x => x.C_NAME.Equals(fiDto.C_NAME)); TMB_FLOWINFO ef = _FlowInfo.FirstOrDefault( x => x.C_NAME.Equals(fiDto.C_NAME) && x.N_STATUS == 1); bool result = false; if (ef.Equals(null)) { result = true; } return(result); }
public ActionResult FlowInfoInsert(TMB_FLOWINFODTO fiDto) { fiDto.Title = "流程配置新增"; //生成下拉列表 List <SelectListItem> items = new List <SelectListItem>(); items.Add(new SelectListItem() { Text = "顺序处理", Value = "0" }); items.Add(new SelectListItem() { Text = "并行处理", Value = "1" }); fiDto.items = items; //验证模型字段 if (!ModelState.IsValid) { return(View(fiDto)); } //审批步骤必须选择 else if (!fiDto.StepInfos.Select(x => x.IsCheck == true).Contains(true)) { ModelState.AddModelError("error", "审批步骤不能为空"); return(View(fiDto)); } //验证是否重复 else if (!service.ValidateIsRepeat(fiDto, 0)) { ModelState.AddModelError("error", "流程名称重复!"); return(View(fiDto)); } //新增 else { fiDto.C_EMP_ID = BaseUser.Id; fiDto.C_EMP_NAME = BaseUser.Name; fiDto.D_MOD_DT = DateTime.Now; service.FlowInfoInsert(fiDto); fiDto.ResultType = 1; return(View(fiDto)); } }
/// <summary> /// 流程配置新增 /// </summary> /// <returns></returns> public ActionResult FlowInfoInsert() { TMB_FLOWINFODTO fiDto = new TMB_FLOWINFODTO(); fiDto.Title = "流程配置新增"; //生成下拉列表 List <SelectListItem> items = new List <SelectListItem>(); items.Add(new SelectListItem() { Text = "顺序处理", Value = "0" }); items.Add(new SelectListItem() { Text = "并行处理", Value = "1" }); fiDto.items = items; //获取角色生成流程 fiDto.StepInfos = service.GetStepInfos(); return(View(fiDto)); }