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.PersonnelManagement { /// /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 /// Copyright (c) 2013-2018 北京泉江科技有限公司 /// 创 建:超级管理员 /// 日 期:2020-04-30 10:32 /// 描 述:合同管理 /// public class ContractManagementService : RepositoryFactory { #region 获取数据 /// /// 获取页面显示列表数据 /// /// 查询参数 /// public IEnumerable GetPageList(Pagination pagination, string queryJson) { try { var strSql = new StringBuilder(); strSql.Append("SELECT t.*,e.IsInActiveStatus as SelfIsInActiveStatus,e.F_DepartmentId as SelfF_DepartmentId "); strSql.Append(" FROM ContractManagement t "); strSql.Append(" left join EmpInfo e on t.EmpId=e.EmpId "); strSql.Append(" WHERE 1=1 "); var queryParam = queryJson.ToJObject(); // 虚拟参数 var dp = new DynamicParameters(new { }); if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty()) { dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime); dp.Add("endTime", queryParam["EndTime"].ToDate(), DbType.DateTime); strSql.Append(" AND ( t.SignDate >= @startTime AND t.SignDate <= @endTime ) "); } if (!queryParam["ContractCategoryId"].IsEmpty()) { dp.Add("ContractCategoryId", queryParam["ContractCategoryId"].ToString(), DbType.String); strSql.Append(" AND t.ContractCategoryId = @ContractCategoryId "); } if (!queryParam["EmpId"].IsEmpty()) { dp.Add("EmpId", queryParam["EmpId"].ToString(), DbType.String); strSql.Append(" AND t.EmpId = @EmpId "); } if (!queryParam["F_CompanyId"].IsEmpty()) { dp.Add("F_CompanyId", queryParam["F_CompanyId"].ToString(), DbType.String); strSql.Append(" AND t.F_CompanyId = @F_CompanyId "); } if (!queryParam["F_DepartmentId"].IsEmpty()) { dp.Add("F_DepartmentId", queryParam["F_DepartmentId"].ToString(), DbType.String); strSql.Append(" AND t.F_DepartmentId = @F_DepartmentId "); } if (!queryParam["TitleOfTechPostNo"].IsEmpty()) { dp.Add("TitleOfTechPostNo", "%" + queryParam["TitleOfTechPostNo"].ToString() + "%", DbType.String); strSql.Append(" AND t.TitleOfTechPostNo Like @TitleOfTechPostNo "); } if (!queryParam["ContractDeadline"].IsEmpty()) { dp.Add("ContractDeadline", queryParam["ContractDeadline"].ToString(), DbType.String); strSql.Append(" AND t.ContractDeadline = @ContractDeadline "); } if (!queryParam["ContractStartDate"].IsEmpty()) { dp.Add("ContractStartDate", queryParam["ContractStartDate"].ToString(), DbType.String); strSql.Append(" AND t.ContractStartDate = @ContractStartDate "); } return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp, pagination); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 获取ContractManagement表实体数据 /// 主键 /// /// public ContractManagementEntity GetContractManagementEntity(string keyValue) { try { return this.BaseRepository("CollegeMIS").FindEntity(keyValue); } 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, ContractManagementEntity 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); } } } /// /// 续签保存实体数据(新增、修改) /// 主键 /// /// public void SaveRenew(string keyValue, ContractManagementEntity entity) { var db = this.BaseRepository("CollegeMIS"); db.BeginTrans(); try { //修改当前合同 var oldEntity = db.FindEntity(keyValue); if (oldEntity != null) { oldEntity.ContractStatus = "3"; db.Update(oldEntity); } //保存续签合同 entity.Create(); db.Insert(entity); db.Commit(); } catch (Exception ex) { db.Rollback(); if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 终止保存实体数据(新增、修改) /// 主键 /// /// public void SaveTerminate(string keyValue, ContractManagementEntity entity) { try { if (!string.IsNullOrEmpty(keyValue)) { var model = this.BaseRepository("CollegeMIS").FindEntity(keyValue); model.ContractStatus = "5"; model.TerminateDate = entity.TerminateDate; model.TerminateReason = entity.TerminateReason; model.TerminateRemark = entity.TerminateRemark; model.TerminateOperateUserId = entity.TerminateOperateUserId; this.BaseRepository("CollegeMIS").Update(model); } } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 解除保存实体数据(新增、修改) /// 主键 /// /// public void SaveRemove(string keyValue, ContractManagementEntity entity) { try { if (!string.IsNullOrEmpty(keyValue)) { var model = this.BaseRepository("CollegeMIS").FindEntity(keyValue); model.ContractStatus = "4"; model.RemoveDate = entity.RemoveDate; model.RemoveReason = entity.RemoveReason; model.RemoveRemark = entity.RemoveRemark; model.RemoveOperateUserId = entity.RemoveOperateUserId; this.BaseRepository("CollegeMIS").Update(model); } } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } #endregion } }