/// <summary> /// 读取指定审批流程步骤数据 /// </summary> /// <param name="nId">步骤编码</param> /// <param name="nOpStaffId">操作员工编码</param> /// <param name="strOpStaffName">操作员工姓名</param> /// <param name="strErrText">出错信息</param> /// <returns></returns> public ApproveFlowStep LoadApproveFlowStep(long nId, long nOpStaffId, string strOpStaffName, out string strErrText) { ApproveFlowStep data; try { using (TransactionScope transScope = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(2, 0, 0))) { using (FlowDAO dao = new FlowDAO()) { data = dao.LoadApproveFlowStep(nId, nOpStaffId, strOpStaffName, out strErrText); if (data == null) { return(null); } } transScope.Complete(); } return(data); } catch (Exception e) { strErrText = e.Message; return(null); } }
/// <summary> /// 删除指定流程步骤数据 /// </summary> /// <param name="nId">步骤编码</param> /// <param name="nOpStaffId">操作员工编码</param> /// <param name="strOpStaffName">操作员工姓名</param> /// <param name="strErrText">出错信息</param> /// <returns></returns> public bool DeleteApproveFlowStep(long nId, long nOpStaffId, string strOpStaffName, out string strErrText) { try { using (TransactionScope transScope = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(2, 0, 0))) { using (FlowDAO dao = new FlowDAO()) { //删除步骤数据 if (!dao.DeleteApproveFlowStep(nId, nOpStaffId, strOpStaffName, out strErrText)) { return(false); } //删除原条件数据 if (!dao.DeleteApproveFlowStepConditions(nId, nOpStaffId, strOpStaffName, out strErrText)) { return(false); } } transScope.Complete(); } return(true); } catch (Exception e) { strErrText = e.Message; return(false); } }
private void DataBindList() { Task model = db.Task.FirstOrDefault(t => t.ID == TaskID); //Flow flow = db.Flow.FirstOrDefault(t => t.ID == db.TaskFlow.FirstOrDefault(m => m.ID == TaskFlowID).FlowID);//获取当前流程信息 //List<Flow> flowlist = db.Flow.Where(t => t.TableTypeID == model.TableTypeID && t.ParentID <= flow.ParentID).OrderBy(t => t.ParentID).ToList(); List <Flow> FlowList = db.Flow.Where(t => t.TableTypeID == model.TableTypeID).ToList(); FlowList = new FlowDAO().GetFlowLevel(FlowList); Flow flow = FlowList.FirstOrDefault(t => t.ID == db.TaskFlow.FirstOrDefault(m => m.ID == TaskFlowID).FlowID); FlowList = FlowList.Where(t => t.Level <= flow.Level).ToList(); if (FlowList.Count > 0) { this.tr_null.Visible = false; } else { this.tr_null.Visible = true; } this.rp_List.DataSource = FlowList; this.rp_List.DataBind(); int clatype = Convert.ToInt32(model.ClassType);//班次类型 List <BaseClass> classlist = db.BaseClass.Where(t => t.ClassType == (ClassTypeEnums)clatype && t.IsDel != true).ToList(); if (classlist.Count > 0) { cbl_Select.DataTextField = "Name"; cbl_Select.DataValueField = "ID"; cbl_Select.DataSource = classlist; cbl_Select.DataBind(); } var testlist = db.TaskFlow.Where(t => t.BaseClassID != null && t.TaskID == TaskID).Select(t => t.BaseClassID).Distinct().ToList(); if (testlist.Count > 0) { for (int i = 0; i < testlist.Count; i++) { for (int j = 0; j < cbl_Select.Items.Count; j++) { if (cbl_Select.Items[j].Value == testlist[i].Value.ToString()) { cbl_Select.Items[j].Selected = true; } } } } }
/// <summary> /// 下移指定流程步骤数据 /// </summary> /// <param name="nId">步骤编码</param> /// <param name="nOpStaffId">操作员工编码</param> /// <param name="strOpStaffName">操作员工姓名</param> /// <param name="strErrText">出错信息</param> /// <returns></returns> public bool MoveDownApproveStep(long nId, long nOpStaffId, string strOpStaffName, out string strErrText) { try { using (TransactionScope transScope = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(2, 0, 0))) { using (FlowDAO dao = new FlowDAO()) { //读取步骤数据 ApproveFlowStep data = dao.LoadApproveFlowStep(nId, nOpStaffId, strOpStaffName, out strErrText); if (data == null) { return(false); } //读取当前流程的所有步骤数据 List <ApproveFlowStep> listStep = dao.LoadApproveFlowStepsByFlowType(data.FlowType, nOpStaffId, strOpStaffName, out strErrText); if (listStep.Count == 0) { return(false); } //调整当前步骤序号 int nStepNum = data.StepNum; if (nStepNum < listStep.Count) { nStepNum++; } data.StepNum = nStepNum; //修改步骤数据 if (!dao.UpdateApproveFlowStep(data, nOpStaffId, strOpStaffName, out strErrText)) { return(false); } } transScope.Complete(); } return(true); } catch (Exception e) { strErrText = e.Message; return(false); } }
/// <summary> /// 修改审批流程步骤数据 /// </summary> /// <param name="data">流程步骤数据集</param> /// <param name="listConditions">步骤执行条件数据集</param> /// <param name="nOpStaffId">操作员工编码</param> /// <param name="strOpStaffName">操作员工姓名</param> /// <param name="strErrText">出错信息</param> /// <returns></returns> public bool UpdateApproveFlowStep(ApproveFlowStep data, List <ApproveFlowStepCondition> listConditions, long nOpStaffId, string strOpStaffName, out string strErrText) { try { using (TransactionScope transScope = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(2, 0, 0))) { using (FlowDAO dao = new FlowDAO()) { //修改步骤数据 if (!dao.UpdateApproveFlowStep(data, nOpStaffId, strOpStaffName, out strErrText)) { return(false); } //删除原条件数据 if (!dao.DeleteApproveFlowStepConditions(data.Id, nOpStaffId, strOpStaffName, out strErrText)) { return(false); } //保存新条件数据 foreach (ApproveFlowStepCondition condition in listConditions) { if (!dao.InsertApproveFlowStepCondition(condition, nOpStaffId, strOpStaffName, out strErrText)) { return(false); } } } transScope.Complete(); } return(true); } catch (Exception e) { strErrText = e.Message; return(false); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (ID != -1) { using (IFMPDBContext db = new IFMPDBContext()) { List <Flow> FlowList = db.Flow.Where(t => t.TableTypeID == TableTypeID).ToList(); FlowList = new FlowDAO().GetFlowLevel(FlowList); this.ddl_ParentFlow.DataSource = FlowList; this.ddl_ParentFlow.DataValueField = "ID"; this.ddl_ParentFlow.DataTextField = "Name"; this.ddl_ParentFlow.DataBind(); this.ddl_ParentFlow.Items.Insert(0, new ListItem("<b>无父级流程</b>", "0")); } InfoBind(); } } }
/// <summary> /// 新增审批流程步骤数据 /// </summary> /// <param name="data">流程步骤数据集</param> /// <param name="listConditions">步骤执行条件数据集</param> /// <param name="nOpStaffId">操作员工编码</param> /// <param name="strOpStaffName">操作员工姓名</param> /// <param name="strErrText">出错信息</param> /// <returns></returns> public long InsertApproveFlowStep(ApproveFlowStep data, List <ApproveFlowStepCondition> listConditions, long nOpStaffId, string strOpStaffName, out string strErrText) { long nId = 0; try { using (TransactionScope transScope = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(2, 0, 0))) { using (FlowDAO dao = new FlowDAO()) { //保存步骤数据 nId = dao.InsertApproveFlowStep(data, nOpStaffId, strOpStaffName, out strErrText); if (nId <= 0) { return(0); } //保存条件数据 foreach (ApproveFlowStepCondition condition in listConditions) { condition.StepId = nId; if (!dao.InsertApproveFlowStepCondition(condition, nOpStaffId, strOpStaffName, out strErrText)) { return(0); } } } transScope.Complete(); } return(nId); } catch (Exception e) { strErrText = e.Message; return(-1); } }
public void GetFlowByTableType(HttpContext context) { JObject returnobj = new JObject(); JArray jarray = new JArray(); int TableTypeID = Convert.ToInt32(context.Request["tabletype"]); try { using (IFMPDBContext db = new IFMPDBContext()) { List <Flow> FlowList = db.Flow.Where(t => t.TableTypeID == TableTypeID).ToList(); FlowList = new FlowDAO().GetFlowLevel(FlowList); foreach (Flow Flow in FlowList) { JObject jobject = new JObject(); jobject.Add("Name", Flow.Name); jobject.Add("ID", Flow.ID); jobject.Add("ParentID", Flow.ParentID); jobject.Add("Level", Flow.Level); jobject.Add("IsAudit", Flow.IsAudit); jarray.Add(jobject); } returnobj.Add("result", "success"); returnobj.Add("List", jarray); returnobj.Add("MaxLevel", FlowList.OrderByDescending(t => t.Level).FirstOrDefault().Level); returnobj.Add("TableType", db.TableType.FirstOrDefault(t => t.ID == TableTypeID).Name); } } catch { returnobj.Add("result", "failed"); } context.Response.Clear(); context.Response.Write(returnobj); HttpContext.Current.ApplicationInstance.CompleteRequest(); }
public ZoneServiceImp(ZoneDAO zoneDAO, FlowDAO flowDAO, VehicleDAO vehicleDAO) { this.zoneDAO = zoneDAO; this.flowDAO = flowDAO; this.vehicleDAO = vehicleDAO; }
/// <summary> /// 根据流程类别读取指定审批流程的步骤数据 /// </summary> /// <param name="strFlowType">流程类别</param> /// <param name="nOpStaffId">操作员工编码</param> /// <param name="strOpStaffName">操作员工姓名</param> /// <param name="strErrText">出错信息</param> /// <returns></returns> public List <ApproveFlowStep> LoadApproveFlowStepsByFlowType(string strFlowType, long nOpStaffId, string strOpStaffName, out string strErrText) { List <ApproveFlowStep> listStep; try { using (TransactionScope transScope = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(2, 0, 0))) { using (FlowDAO dao = new FlowDAO()) { //读取流程步骤数据 listStep = dao.LoadApproveFlowStepsByFlowType(strFlowType, nOpStaffId, strOpStaffName, out strErrText); if (listStep == null) { return(null); } //读取流程所有步骤的条件数据 List <ApproveFlowStepCondition> listCondition = dao.LoadApproveFlowStepConditionsByFlowType(strFlowType, nOpStaffId, strOpStaffName, out strErrText); if (listCondition == null) { return(null); } //将条件存入流程步骤数据集中 foreach (ApproveFlowStep step in listStep) { long nStepId = step.Id; string strConditionExpression = step.ConditionExpression; //读取当前步骤条件数据 List <ApproveFlowStepCondition> list = listCondition.FindAll(delegate(ApproveFlowStepCondition c) { return(c.StepId == nStepId); }); if (list.Count > 1) { string[] strConditions = new string[list.Count + 1];//为什么加1?因为条件序号是从1开始的 for (int i = 0; i < list.Count; i++) { string strFieldName = list[i].FieldName; string strCompareOperator = list[i].CompareOperator; string strFieldValue = list[i].FieldValue; strConditions[i + 1] = strFieldName + strCompareOperator + strFieldValue; } step.Conditions = string.Format(strConditionExpression, strConditions); } else if (list.Count == 1) { string strFieldName = list[0].FieldName; string strCompareOperator = list[0].CompareOperator; string strFieldValue = list[0].FieldValue; step.Conditions = strFieldName + strCompareOperator + strFieldValue; } } } transScope.Complete(); } return(listStep); } catch (Exception e) { strErrText = e.Message; return(null); } }
public FlowServiceImp(FlowDAO flowDAO) { this.flowDAO = flowDAO; }
public ApiResult Add(TaskAdd TaskAdd) { ApiResult result = new ApiResult(); string message = string.Empty; Action action = () => { using (FLDbContext db = new FLDbContext()) { foreach (FLTask Task in TaskAdd.TaskList) { if (string.IsNullOrEmpty(Task.TaskName)) { message = "请填写任务名称"; goto Response; } Task.CreateDate = DateTime.Now; Task.IsDel = false; db.FLTask.Add(Task); db.SaveChanges(); if (Task.IsBaseClass == true) { //使用默认的班次 List <TaskFlow> tfList = new List <TaskFlow>(); List <Flow> FlowList = new FlowDAO().GetFlow(Task.TableType); foreach (BaseClass bs in TaskAdd.BaseClassList) { foreach (Flow Flow in FlowList) { List <BaseClassUser> bculist = db.BaseClassUser.Where(t => t.BaseClassID == bs.ID && t.FlowID == Flow.ID).ToList(); foreach (BaseClassUser bcu in bculist) { foreach (TaskFlow tf in Task.TaskFlowList) { //这里可以缓存一个bdf来提升效率 if (tf.IsBase) { BaseDateFlow bdf = db.BaseDateFlow.FirstOrDefault(t => t.FlowID == tf.FlowID); tf.BeginDate = bdf.BeginDate; tf.EndDate = bdf.EndDate; tf.RemindDate = bdf.RemindDate; } //tf.FlowID = bcu.FlowID; tf.MaintainUserID = bcu.UserID; tf.IsReminded = false; tf.MaintainUserID = bcu.UserID; tf.TaskID = Task.ID; tfList.Add(tf); } } } } db.TaskFlow.AddRange(tfList); } else { //先验证是否完整 List <Flow> flowList = new FlowDAO().GetFlow(Task.TableType); foreach (Flow flow in flowList) { if (Task.TaskFlowList.FirstOrDefault(t => t.FlowID == flow.ID) == null) { message = "请填写完整的流程"; goto Response; } } foreach (TaskFlow tf in Task.TaskFlowList) { if (tf.IsBase) { BaseDateFlow bdf = db.BaseDateFlow.FirstOrDefault(t => t.FlowID == tf.FlowID); tf.BeginDate = bdf.BeginDate; tf.EndDate = bdf.EndDate; tf.RemindDate = bdf.RemindDate; } tf.IsReminded = false; tf.TaskID = Task.ID; } db.TaskFlow.AddRange(Task.TaskFlowList); } } } new SysLogDAO().AddLog(LogType.Success, message: "成功添加任务"); result = ApiResult.NewSuccessJson("成功添加任务"); Response: if (!string.IsNullOrEmpty(message)) { //回滚 foreach (FLTask Task in TaskAdd.TaskList) { if (Task.ID != 0) { new FLDbContext().FLTask.Remove(new FLDbContext().FLTask.FirstOrDefault(t => t.ID == Task.ID)); } else { break; } } result = ApiResult.NewErrorJson(message); } }; TransactioExtension.Excute(action); return(result); }
/// <summary> /// 提交打印送货单 /// </summary> /// <param name="nId"></param> /// <param name="nOpStaffId"></param> /// <param name="strOpStaffName"></param> /// <param name="strErrText"></param> /// <returns></returns> public bool SubmitPrintDeliverBill(long nId, long nOpStaffId, string strOpStaffName, out string strErrText) { try { using (TransactionScope transScope = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(2, 0, 0))) { #region 提交送货单 long nContractId = 0; using (DeliverDAO dao = new DeliverDAO()) { if (!dao.SubmitPrintDeliverBill(nId, out nContractId, nOpStaffId, strOpStaffName, out strErrText)) { return(false); } } #endregion #region 提交打印特殊合同 if (nContractId > 0) { #region 修改合同打印状态 using (ContractDAO dao = new ContractDAO()) { if (!dao.SubmitPrintContract(nContractId, nOpStaffId, strOpStaffName, out strErrText)) { return(false); } } #endregion #region 读取合同价格最大超出比例和超出金额 decimal decOverPercentage = 0; decimal decOverAmount = 0; using (ContractDAO dao = new ContractDAO()) { //读取合同价格超出比例 decOverPercentage = dao.LoadContractPriceOverPercentage(nContractId, nOpStaffId, strOpStaffName, out strErrText); //读取合同价格超出金额 decOverAmount = dao.LoadContractPriceOverAmount(nContractId, nOpStaffId, strOpStaffName, out strErrText); } #endregion #region 处理合同价格审批流程 int nApproveFlowStepNum = 0; string strApproveFlowStepName = string.Empty; long nApproverId = 0; string strApproverName = string.Empty; using (FlowDAO dao = new FlowDAO()) { List <ApproveFlowStep> listStep = dao.LoadApproveFlowStepsByFlowType(InnoSoft.LS.Resources.Options.PriceApproveFlow, nOpStaffId, strOpStaffName, out strErrText); if (listStep == null) { return(false); } if (listStep.Count > 0) { int nStepIndex = 0; for (nStepIndex = 0; nStepIndex < listStep.Count; nStepIndex++) { //获取审批步骤数据 long nStepId = listStep[nStepIndex].Id; string strStepName = listStep[nStepIndex].StepName; int nStepNum = listStep[nStepIndex].StepNum; long nDisposerId = listStep[nStepIndex].DisposerId; string strDisposerName = listStep[nStepIndex].DisposerName; string strConditionExpression = listStep[nStepIndex].ConditionExpression; //读取审批步骤条件数据 List <ApproveFlowStepCondition> listCondition = dao.LoadApproveFlowStepConditionsByStepId(nStepId, nOpStaffId, strOpStaffName, out strErrText); if (listCondition == null) { return(false); } //创建条件运算结果中间变量 string[] arrayIntermediateResults = new string[listCondition.Count + 1];//为什么加1?因为条件序号是从1开始的 //对每个条件进行运算,运算结果存入中间变量中 int nConditionIndex = 0; for (nConditionIndex = 0; nConditionIndex < listCondition.Count; nConditionIndex++) { //获取条件数据 string strFieldName = listCondition[nConditionIndex].FieldName; string strCompareOperator = listCondition[nConditionIndex].CompareOperator; string strFieldValue = listCondition[nConditionIndex].FieldValue; if (strFieldName == InnoSoft.LS.Resources.Options.OverPercentage) { decimal decFieldValue = decimal.Parse(strFieldValue); if (strCompareOperator == InnoSoft.LS.Resources.Options.Equal) { arrayIntermediateResults[nConditionIndex + 1] = ((bool)(decOverPercentage == decFieldValue)).ToString(); } else if (strCompareOperator == InnoSoft.LS.Resources.Options.GreaterThanOrEqual) { arrayIntermediateResults[nConditionIndex + 1] = ((bool)(decOverPercentage >= decFieldValue)).ToString(); } else if (strCompareOperator == InnoSoft.LS.Resources.Options.LessThanOrEqual) { arrayIntermediateResults[nConditionIndex + 1] = ((bool)(decOverPercentage <= decFieldValue)).ToString(); } else if (strCompareOperator == InnoSoft.LS.Resources.Options.GreaterThan) { arrayIntermediateResults[nConditionIndex + 1] = ((bool)(decOverPercentage > decFieldValue)).ToString(); } else if (strCompareOperator == InnoSoft.LS.Resources.Options.LessThan) { arrayIntermediateResults[nConditionIndex + 1] = ((bool)(decOverPercentage < decFieldValue)).ToString(); } else if (strCompareOperator == InnoSoft.LS.Resources.Options.NotEqual) { arrayIntermediateResults[nConditionIndex + 1] = ((bool)(decOverPercentage != decFieldValue)).ToString(); } else { strErrText = string.Format(InnoSoft.LS.Resources.Strings.OverPercentageConditionNotSupportOperator, strCompareOperator); return(false); } } else if (strFieldName == InnoSoft.LS.Resources.Options.OverAmount) { decimal decFieldValue = decimal.Parse(strFieldValue); if (strCompareOperator == InnoSoft.LS.Resources.Options.Equal) { arrayIntermediateResults[nConditionIndex + 1] = ((bool)(decOverAmount == decFieldValue)).ToString(); } else if (strCompareOperator == InnoSoft.LS.Resources.Options.GreaterThanOrEqual) { arrayIntermediateResults[nConditionIndex + 1] = ((bool)(decOverAmount >= decFieldValue)).ToString(); } else if (strCompareOperator == InnoSoft.LS.Resources.Options.LessThanOrEqual) { arrayIntermediateResults[nConditionIndex + 1] = ((bool)(decOverAmount <= decFieldValue)).ToString(); } else if (strCompareOperator == InnoSoft.LS.Resources.Options.GreaterThan) { arrayIntermediateResults[nConditionIndex + 1] = ((bool)(decOverAmount > decFieldValue)).ToString(); } else if (strCompareOperator == InnoSoft.LS.Resources.Options.LessThan) { arrayIntermediateResults[nConditionIndex + 1] = ((bool)(decOverAmount < decFieldValue)).ToString(); } else if (strCompareOperator == InnoSoft.LS.Resources.Options.NotEqual) { arrayIntermediateResults[nConditionIndex + 1] = ((bool)(decOverAmount != decFieldValue)).ToString(); } else { strErrText = string.Format(InnoSoft.LS.Resources.Strings.OverAmountConditionNotSupportOperator, strCompareOperator); return(false); } } else { strErrText = string.Format(InnoSoft.LS.Resources.Strings.NotSupportApproveCondition, strFieldName); return(false); } } //对所有条件运算的结果进行综合判断 bool bFinalResult; if (listCondition.Count == 0) { bFinalResult = true; } else if (listCondition.Count == 1) { bFinalResult = bool.Parse(arrayIntermediateResults[1]); } else { //根据条件组合表达式计算最终结果 string strFinalConditionExpression = string.Format(strConditionExpression, arrayIntermediateResults); bFinalResult = Utils.CalculateApproveFlowStepConditionExpression(strFinalConditionExpression); } //根据最终结果决定下一个步骤 if (!bFinalResult) { //如果不执行当前步骤,则继续匹配下一步骤 continue; } else { //设置当前审批人 nApproveFlowStepNum = nStepNum; strApproveFlowStepName = strStepName; nApproverId = nDisposerId; strApproverName = strDisposerName; break; } } } } //修改合同审批人和审批状态 using (ContractDAO dao = new ContractDAO()) { if (!dao.UpdateContractApprover(nContractId, nApproveFlowStepNum, strApproveFlowStepName, nApproverId, strApproverName, nOpStaffId, strOpStaffName, out strErrText)) { return(false); } //修改合同状态为“已审批” if (nApproverId == 0) { if (!dao.UpdateContractApproveState(nContractId, nOpStaffId, strOpStaffName, out strErrText)) { return(false); } } } if (nApproverId > 0) { strErrText = string.Format(InnoSoft.LS.Resources.Strings.ContractNeedApprove, strApproverName); } #endregion } #endregion transScope.Complete(); } return(true); } catch (Exception e) { strErrText = e.Message; return(false); } }
private void DataBindList() { Task model = db.Task.FirstOrDefault(t => t.ID == TaskID); int tabtype = Convert.ToInt32(model.TableTypeID); Flow flow = db.Flow.FirstOrDefault(t => t.ID == FlowID); List <Flow> flowlist = db.Flow.Where(t => t.TableTypeID == tabtype).OrderBy(t => t.ParentID).ToList(); flowlist = new FlowDAO().GetFlowLevel(flowlist); flowlist = flowlist.Where(t => t.Level <= flow.Level).ToList(); if (flowlist.Count > 0) { this.tr_null.Visible = false; } else { this.tr_null.Visible = true; } this.rp_List.DataSource = flowlist; this.rp_List.DataBind(); //int clatype = Convert.ToInt32(model.ClassType);//班次类型 //List<BaseClass> classlist = db.BaseClass.Where(t => t.ClassType == (ClassTypeEnums)clatype && t.IsDel != true).ToList(); //if (classlist.Count > 0) //{ // cbl_Select.DataTextField = "Name"; // cbl_Select.DataValueField = "ID"; // cbl_Select.DataSource = classlist; // cbl_Select.DataBind(); //} //var testlist = db.TaskFlow.Where(t => t.BaseClassID != null && t.TaskID == TaskID).Select(t => t.BaseClassID).Distinct().ToList(); //if (testlist.Count > 0) //{ // for (int i = 0; i < testlist.Count; i++) // { // for (int j = 0; j < cbl_Select.Items.Count; j++) // { // if (cbl_Select.Items[j].Value == testlist[i].Value.ToString()) // { // cbl_Select.Items[j].Selected = true; // } // } // } //} //List<User> UserList = db.User.Where(t => t.IsDel != true && db.TaskFlow.Where(l => l.TaskID == TaskID && l.FlowID == FlowID && l.ApplyDate == null).Select(l => l.UserID).Contains(t.ID) && db.BaseClassUser.Where(m => m.FlowID == flow.ID && m.BaseClassID == BaseClassID).Select(m => m.UserID).Contains(t.ID) && t.UserState != UserState.离职).ToList(); //ddl_User.DataSource = UserList; //ddl_User.DataValueField = "ID"; //ddl_User.DataTextField = "RealName"; //ddl_User.DataBind(); List <User> UserList = db.User.Where(t => t.IsDel != true && (db.TaskFlow.Where(l => l.TaskID == TaskID && l.FlowID == FlowID && (db.TableType.FirstOrDefault(m => m.ID == model.TableTypeID).IsMulti || l.ApplyDate == null)).Select(l => l.UserID).Contains(t.ID)) //&& db.BaseClassUser.Where(m => m.FlowID == FlowID && m.BaseClassID == BaseClassID).Select(m => m.UserID).Contains(t.ID) && t.UserState != UserState.离职).ToList(); ddl_User.DataSource = UserList; ddl_User.DataValueField = "ID"; ddl_User.DataTextField = "RealName"; ddl_User.DataBind(); if (!string.IsNullOrEmpty(GetCookie <string>("TableUserID"))) { this.ddl_User.SelectedValue = GetCookie <string>("TableUserID"); } }
public VehicleServiceImpl(VehicleDAO vehicleDAO, FlowDAO flowDAO, ZoneDAO zoneDAO) { this.vehicleDAO = vehicleDAO; this.flowDAO = flowDAO; this.zoneDAO = zoneDAO; }