using Dapper; using Learun.DataBase.Repository; using Learun.Util; using System; using System.Collections.Generic; using System.Data; using System.Text; namespace Learun.Application.TwoDevelopment.EducationalAdministration { /// /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架 /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司 /// 创 建:超级管理员 /// 日 期:2021-06-01 11:49 /// 描 述:收文报告 /// public class DispatchService : RepositoryFactory { #region 获取数据 /// /// 获取页面显示列表数据 /// /// 分页参数 /// 查询参数 /// public IEnumerable GetPageList(Pagination pagination, string queryJson) { try { var strSql = new StringBuilder(); strSql.Append("SELECT "); strSql.Append(@" * "); strSql.Append(" FROM Dispatch t "); strSql.Append(" WHERE 1=1 "); var queryParam = queryJson.ToJObject(); // 虚拟参数 var dp = new DynamicParameters(new { }); if (!queryParam["keyword"].IsEmpty()) { dp.Add("keyword", "%" + queryParam["keyword"].ToString() + "%", DbType.String); strSql.Append(" AND t.DisFrom like @keyword "); } string beginDate = queryParam["StartTime"].ToString(); string endDate = queryParam["EndTime"].ToString(); if (!string.IsNullOrEmpty(beginDate) && !string.IsNullOrEmpty(endDate)) { #region 获取日期(年 月 日) string bYaer = beginDate.Substring(0, 4); string bMonth = beginDate.Substring(5, 2); string bdate = beginDate.Substring(8, 2); string eYaer = endDate.Substring(0, 4); string eMonth = endDate.Substring(5, 2); #endregion string edate = endDate.Substring(8, 2); strSql.Append(@" and (t.DisYear BETWEEN '" + bYaer + "' and '" + eYaer + "') " + "and (t.DisMonth BETWEEN '" + bMonth + "' and '" + eMonth + "') " + " and (t.DisDay BETWEEN '" + bdate + "' and '" + edate + "') "); } if (!queryParam["userId"].IsEmpty()) { strSql.Append(" AND t.Id Not in(select DisId from DispatchAudit where AuditUser ='" + queryParam["userId"].ToString() + "') "); } return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp, pagination); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 获取Dispatch表实体数据 /// /// 主键 /// public DispatchEntity GetDispatchEntity(string keyValue) { try { return this.BaseRepository("CollegeMIS").FindEntity(keyValue); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 获取主表实体数据 /// /// 流程实例ID /// public DispatchEntity GetEntityByProcessId(string processId) { try { return this.BaseRepository("CollegeMIS").FindEntity(t => t.processId == processId); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } #endregion #region 提交数据 /// /// 删除实体数据 /// /// 主键 public void DeleteEntity(string keyValue) { try { this.BaseRepository("CollegeMIS").Delete(t => t.Id == keyValue); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 保存实体数据(新增、修改) /// /// 主键 /// 实体 /// public void SaveEntity(string keyValue, DispatchEntity entity) { try { if (!string.IsNullOrEmpty(keyValue)) { entity.Modify(keyValue); this.BaseRepository("CollegeMIS").Update(entity); } else { entity.Create(); this.BaseRepository("CollegeMIS").Insert(entity); } } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } #endregion #region 扩展数据 public void ModifyStatus(string keyValue, int pastatus, string processId) { try { var entity = this.BaseRepository("CollegeMIS").FindEntity(a => a.Id == keyValue); //entity.CreateUser = RealName; //entity.CreateTime = DateTime.Now; entity.processId = processId; entity.FlowNo = pastatus.ToString(); this.BaseRepository("CollegeMIS").Update(entity); } catch (Exception e) { if (e is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(e); } } } public void ModifTimeByProcessId(string processId) { try { var entity = this.BaseRepository("CollegeMIS").FindEntity(a => a.processId == processId); entity.FlowNo = "2"; this.BaseRepository("CollegeMIS").Update(entity); } catch (Exception e) { if (e is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(e); } } } public void ModifyStatusByProcessId(int pastatus, string processId) { try { var entity = this.BaseRepository("CollegeMIS").FindEntity(a => a.processId == processId); entity.FlowNo = pastatus.ToString(); this.BaseRepository("CollegeMIS").Update(entity); } catch (Exception e) { if (e is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(e); } } } #endregion } }