You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

779 lines
28 KiB

  1. using Dapper;
  2. using Learun.DataBase.Repository;
  3. using Learun.Util;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Configuration;
  7. using System.Data;
  8. using System.Linq;
  9. using System.Text;
  10. using Learun.Application.Base.AuthorizeModule;
  11. using Learun.Application.Base.SystemModule;
  12. using Learun.Application.Organization;
  13. namespace Learun.Application.TwoDevelopment.EducationalAdministration
  14. {
  15. /// <summary>
  16. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  17. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  18. /// 创 建:超级管理员
  19. /// 日 期:2019-01-29 17:31
  20. /// 描 述:教师信息管理
  21. /// </summary>
  22. public class EmpInfoService : RepositoryFactory
  23. {
  24. private object Select;
  25. #region 获取数据
  26. /// <summary>
  27. /// 获取页面显示列表数据
  28. /// <summary>
  29. /// <param name="queryJson">查询参数</param>
  30. /// <returns></returns>
  31. public IEnumerable<EmpInfoEntity> GetPageList(Pagination pagination, string queryJson)
  32. {
  33. try
  34. {
  35. var strSql = new StringBuilder();
  36. strSql.Append("SELECT t.* ");
  37. strSql.Append(" FROM EmpInfo t ");
  38. strSql.Append(" WHERE 1=1 ");
  39. var queryParam = queryJson.ToJObject();
  40. // 虚拟参数
  41. var dp = new DynamicParameters(new { });
  42. if (!queryParam["EmpNo"].IsEmpty())
  43. {
  44. dp.Add("EmpNo", queryParam["EmpNo"].ToString(), DbType.String);
  45. strSql.Append(" AND t.EmpNo = @EmpNo ");
  46. }
  47. if (!queryParam["EmpName"].IsEmpty())
  48. {
  49. dp.Add("EmpName", "%" + queryParam["EmpName"].ToString() + "%", DbType.String);
  50. strSql.Append(" AND t.EmpName Like @EmpName ");
  51. }
  52. if (!queryParam["mobile"].IsEmpty())
  53. {
  54. dp.Add("mobile", "%" + queryParam["mobile"].ToString() + "%", DbType.String);
  55. strSql.Append(" AND t.mobile Like @mobile ");
  56. }
  57. if (!queryParam["DeptNo"].IsEmpty())
  58. {
  59. dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String);
  60. strSql.Append(" AND t.DeptNo = @DeptNo ");
  61. }
  62. if (!queryParam["ProvinceNo"].IsEmpty())
  63. {
  64. dp.Add("ProvinceNo", queryParam["ProvinceNo"].ToString(), DbType.String);
  65. strSql.Append(" AND t.ProvinceNo = @ProvinceNo ");
  66. }
  67. if (!queryParam["RegionNo"].IsEmpty())
  68. {
  69. dp.Add("RegionNo", queryParam["RegionNo"].ToString(), DbType.String);
  70. strSql.Append(" AND t.RegionNo = @RegionNo ");
  71. }
  72. if (!queryParam["F_CompanyId"].IsEmpty())
  73. {
  74. dp.Add("F_CompanyId", queryParam["F_CompanyId"].ToString(), DbType.String);
  75. strSql.Append(" AND t.F_CompanyId = @F_CompanyId ");
  76. }
  77. if (!queryParam["F_DepartmentId"].IsEmpty())
  78. {
  79. dp.Add("F_DepartmentId", queryParam["F_DepartmentId"].ToString(), DbType.String);
  80. strSql.Append(" AND t.F_DepartmentId = @F_DepartmentId ");
  81. }
  82. if (!queryParam["BCdCultureDegree"].IsEmpty())
  83. {
  84. dp.Add("BCdCultureDegree", queryParam["BCdCultureDegree"].ToString(), DbType.String);
  85. strSql.Append(" AND t.BCdCultureDegree = @BCdCultureDegree ");
  86. }
  87. if (!queryParam["BCdPartyFace"].IsEmpty())
  88. {
  89. dp.Add("BCdPartyFace", queryParam["BCdPartyFace"].ToString(), DbType.String);
  90. strSql.Append(" AND t.BCdPartyFace = @BCdPartyFace ");
  91. }
  92. if (!queryParam["NationalityNo"].IsEmpty())//民族
  93. {
  94. dp.Add("NationalityNo", queryParam["NationalityNo"].ToString(), DbType.String);
  95. strSql.Append(" AND t.NationalityNo = @NationalityNo ");
  96. }
  97. if (!queryParam["GenderNo"].IsEmpty())//性别
  98. {
  99. dp.Add("GenderNo", queryParam["GenderNo"].ToString(), DbType.String);
  100. strSql.Append(" AND t.GenderNo = @GenderNo ");
  101. }
  102. if (!queryParam["DegreeNo"].IsEmpty())//学位
  103. {
  104. dp.Add("DegreeNo", queryParam["DegreeNo"].ToString(), DbType.String);
  105. strSql.Append(" AND t.DegreeNo = @DegreeNo ");
  106. }
  107. if (!queryParam["ProfessionalTitle"].IsEmpty())//职称
  108. {
  109. dp.Add("ProfessionalTitle", queryParam["ProfessionalTitle"].ToString(), DbType.String);
  110. strSql.Append(" AND t.ProfessionalTitle = @ProfessionalTitle ");
  111. }
  112. return this.BaseRepository("CollegeMIS").FindList<EmpInfoEntity>(strSql.ToString(), dp, pagination);
  113. }
  114. catch (Exception ex)
  115. {
  116. if (ex is ExceptionEx)
  117. {
  118. throw;
  119. }
  120. else
  121. {
  122. throw ExceptionEx.ThrowServiceException(ex);
  123. }
  124. }
  125. }
  126. internal bool GetAny()
  127. {
  128. try
  129. {
  130. return this.BaseRepository("CollegeMIS").FindList<EmpInfoEntity>().ToList().Count() > 0 ? true : false; ;
  131. }
  132. catch (Exception ex)
  133. {
  134. if (ex is ExceptionEx)
  135. {
  136. throw;
  137. }
  138. else
  139. {
  140. throw ExceptionEx.ThrowServiceException(ex);
  141. }
  142. }
  143. }
  144. public IEnumerable<EmpInfoEntity> GetAllList()
  145. {
  146. try
  147. {
  148. return this.BaseRepository("CollegeMIS").FindList<EmpInfoEntity>();
  149. }
  150. catch (Exception ex)
  151. {
  152. if (ex is ExceptionEx)
  153. {
  154. throw;
  155. }
  156. else
  157. {
  158. throw ExceptionEx.ThrowServiceException(ex);
  159. }
  160. }
  161. }
  162. /// <summary>
  163. /// 获取页面显示列表数据
  164. /// <summary>
  165. /// <param name="queryJson">查询参数</param>
  166. /// <returns></returns>
  167. public IEnumerable<EmpInfoEntity> GetList(string queryJson)
  168. {
  169. try
  170. {
  171. var strSql = new StringBuilder();
  172. strSql.Append("SELECT ");
  173. strSql.Append(@"
  174. t.EmpId,
  175. t.EmpNo,
  176. t.EmpName,
  177. t.F_CompanyId,
  178. t.F_DepartmentId,
  179. t.DeptNo,
  180. t.GenderNo,
  181. t.Photo,
  182. t.Birthday,
  183. t.NationalityNo,
  184. t.PartyFaceNo,
  185. t.IdentityCardNo,
  186. t.CultureDegreeNo,
  187. t.DegreeNo,
  188. t.mobile,
  189. t.EMail
  190. ");
  191. strSql.Append(" FROM EmpInfo t ");
  192. strSql.Append(" WHERE 1=1 ");
  193. var queryParam = queryJson.ToJObject();
  194. // 虚拟参数
  195. var dp = new DynamicParameters(new { });
  196. return this.BaseRepository("CollegeMIS").FindList<EmpInfoEntity>(strSql.ToString(), dp);
  197. }
  198. catch (Exception ex)
  199. {
  200. if (ex is ExceptionEx)
  201. {
  202. throw;
  203. }
  204. else
  205. {
  206. throw ExceptionEx.ThrowServiceException(ex);
  207. }
  208. }
  209. }
  210. /// <summary>
  211. /// 获取EmpInfo表实体数据
  212. /// <param name="keyValue">主键</param>
  213. /// <summary>
  214. /// <returns></returns>
  215. public EmpInfoEntity GetEmpInfoEntity(string keyValue)
  216. {
  217. try
  218. {
  219. return this.BaseRepository("CollegeMIS").FindEntity<EmpInfoEntity>(keyValue);
  220. }
  221. catch (Exception ex)
  222. {
  223. if (ex is ExceptionEx)
  224. {
  225. throw;
  226. }
  227. else
  228. {
  229. throw ExceptionEx.ThrowServiceException(ex);
  230. }
  231. }
  232. }
  233. public EmpInfoEntity GetEmpInfoEntityByNo(string keyValue)
  234. {
  235. try
  236. {
  237. return this.BaseRepository("CollegeMIS").FindEntity<EmpInfoEntity>(m => m.EmpNo == keyValue);
  238. }
  239. catch (Exception ex)
  240. {
  241. if (ex is ExceptionEx)
  242. {
  243. throw;
  244. }
  245. else
  246. {
  247. throw ExceptionEx.ThrowServiceException(ex);
  248. }
  249. }
  250. }
  251. public List<EmpInfoEntity> GetEmpInfoEntityByDepartment(string keyValue)
  252. {
  253. try
  254. {
  255. return this.BaseRepository("CollegeMIS").FindList<EmpInfoEntity>(m => m.F_DepartmentId == keyValue).ToList();
  256. }
  257. catch (Exception ex)
  258. {
  259. if (ex is ExceptionEx)
  260. {
  261. throw;
  262. }
  263. else
  264. {
  265. throw ExceptionEx.ThrowServiceException(ex);
  266. }
  267. }
  268. }
  269. public EmpInfoEntity GetEmpInfoEntityById(string keyValue)
  270. {
  271. try
  272. {
  273. return this.BaseRepository("CollegeMIS").FindEntity<EmpInfoEntity>(m => m.EmpId == keyValue);
  274. }
  275. catch (Exception ex)
  276. {
  277. if (ex is ExceptionEx)
  278. {
  279. throw;
  280. }
  281. else
  282. {
  283. throw ExceptionEx.ThrowServiceException(ex);
  284. }
  285. }
  286. }
  287. public IEnumerable<EmpInfoEntity> GetEmpInfoEntitiesByName(string name)
  288. {
  289. try
  290. {
  291. return this.BaseRepository("CollegeMIS").FindList<EmpInfoEntity>(x => x.EmpName == name);
  292. }
  293. catch (Exception ex)
  294. {
  295. if (ex is ExceptionEx)
  296. {
  297. throw;
  298. }
  299. else
  300. {
  301. throw ExceptionEx.ThrowServiceException(ex);
  302. }
  303. }
  304. }
  305. #endregion
  306. #region 提交数据
  307. /// <summary>
  308. /// 生成教师帐号
  309. /// </summary>
  310. public void GenerateAccout(string empId = null)
  311. {
  312. try
  313. {
  314. var teacherList = new List<EmpInfoEntity>();
  315. if (empId != null)
  316. {
  317. var listIds = empId.Split(',');
  318. teacherList = this.BaseRepository("CollegeMIS")
  319. .FindList<EmpInfoEntity>(a => listIds.Contains(a.EmpId) && a.CheckMark == true).ToList();
  320. }
  321. else
  322. {
  323. teacherList = this.BaseRepository("CollegeMIS").FindList<EmpInfoEntity>(a => a.CheckMark == true).ToList();
  324. }
  325. UserRelationIBLL userRelationIBLL = new UserRelationBLL();
  326. UserIBLL userIBLL = new UserBLL();
  327. var alluserlist = userIBLL.GetAllList().Where(m => m.F_Description == "教师");
  328. var roleId = Config.GetValue("GenerateTeachersRoleId");
  329. var studentList = new List<UserEntity>();
  330. foreach (var tEntity in teacherList)
  331. {
  332. if (alluserlist.Count(m => m.F_Account == tEntity.EmpNo) > 0)
  333. {
  334. continue;
  335. }
  336. var annexesFileEntity = this.BaseRepository().FindEntity<AnnexesFileEntity>(a => a.F_FolderId == tEntity.Photo);
  337. var url = "";
  338. if (annexesFileEntity != null)
  339. {
  340. url = annexesFileEntity.F_FilePath;
  341. url = "/Resource/" + url.Substring(url.IndexOf(annexesFileEntity.F_CreateUserId), url.Length - url.IndexOf(annexesFileEntity.F_CreateUserId));
  342. }
  343. UserEntity userbase = new UserEntity();
  344. userbase.F_Account = tEntity.EmpNo;
  345. userbase.F_RealName = tEntity.EmpName;
  346. userbase.F_EnCode = tEntity.EmpNo;
  347. userbase.F_Password = Md5Helper.Encrypt(Config.GetValue("defaultpwd"), 32).ToLower();
  348. userbase.F_HeadIcon = string.IsNullOrEmpty(url) ? Config.GetValue("defaultheadimg") : url;
  349. userbase.F_Gender = tEntity.GenderNo.HasValue ? Convert.ToInt32(tEntity.GenderNo.Value) : 1;
  350. userbase.F_DeleteMark = 0;
  351. userbase.F_EnabledMark = 1;
  352. userbase.F_Mobile = tEntity.mobile;
  353. userbase.F_Description = "教师";
  354. userbase.F_CompanyId = tEntity.F_CompanyId;
  355. userbase.F_DepartmentId = tEntity.F_DepartmentId;
  356. userbase.F_IdentityCardNo = tEntity.IdentityCardNo;
  357. userIBLL.SaveEntity(null, userbase);
  358. studentList.Add(userbase);
  359. }
  360. if (studentList.Any())
  361. {
  362. string s = studentList.Select(m => m.F_UserId).Aggregate((current, userEntity) => current + "," + userEntity);
  363. userRelationIBLL.SaveEntityList2(roleId, 1, s);
  364. }
  365. }
  366. catch (Exception ex)
  367. {
  368. if (ex is ExceptionEx)
  369. {
  370. throw;
  371. }
  372. else
  373. {
  374. throw ExceptionEx.ThrowServiceException(ex);
  375. }
  376. }
  377. }
  378. public void UpdateAccount(string empId = null)
  379. {
  380. try
  381. {
  382. UserIBLL userIBLL = new UserBLL();
  383. var teacherList = new List<EmpInfoEntity>();
  384. if (empId != null)
  385. {
  386. var listIds = empId.Split(',');
  387. teacherList = this.BaseRepository("CollegeMIS")
  388. .FindList<EmpInfoEntity>(a => listIds.Contains(a.EmpId)).ToList();
  389. }
  390. else
  391. {
  392. teacherList = this.BaseRepository("CollegeMIS").FindList<EmpInfoEntity>().ToList();
  393. }
  394. var baseTeacherList = userIBLL.GetAllList().Where(m => m.F_Description == "教师");
  395. foreach (var baseTeacher in baseTeacherList)
  396. {
  397. var num = 0;
  398. var teacher = teacherList.FirstOrDefault(a => a.EmpNo == baseTeacher.F_Account);
  399. if (teacher != null)
  400. {
  401. if (baseTeacher.F_Gender != Convert.ToInt32(teacher.GenderNo))
  402. {
  403. baseTeacher.F_Gender = Convert.ToInt32(teacher.GenderNo);
  404. num++;
  405. }
  406. if (baseTeacher.F_Mobile != teacher.mobile)
  407. {
  408. baseTeacher.F_Mobile = teacher.mobile;
  409. num++;
  410. }
  411. if (baseTeacher.F_CompanyId != teacher.F_CompanyId)
  412. {
  413. baseTeacher.F_CompanyId = teacher.F_CompanyId;
  414. num++;
  415. }
  416. if (baseTeacher.F_DepartmentId != teacher.F_DepartmentId)
  417. {
  418. baseTeacher.F_DepartmentId = teacher.F_DepartmentId;
  419. num++;
  420. }
  421. if (baseTeacher.F_RealName != teacher.EmpName)
  422. {
  423. baseTeacher.F_RealName = teacher.EmpName;
  424. num++;
  425. }
  426. if (baseTeacher.F_IdentityCardNo != teacher.IdentityCardNo)
  427. {
  428. baseTeacher.F_IdentityCardNo = teacher.IdentityCardNo;
  429. num++;
  430. }
  431. if (num > 0)
  432. {
  433. userIBLL.UpdateEntity(baseTeacher);
  434. }
  435. }
  436. }
  437. }
  438. catch (Exception ex)
  439. {
  440. if (ex is ExceptionEx)
  441. {
  442. throw;
  443. }
  444. else
  445. {
  446. throw ExceptionEx.ThrowServiceException(ex);
  447. }
  448. }
  449. }
  450. public void Lock(string keyValue)
  451. {
  452. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  453. try
  454. {
  455. //单个启用
  456. //this.BaseRepository("CollegeMIS").ExecuteBySql("update EmpInfo set CheckMark=1 where EmpId='" + keyValue + "'");
  457. //多个启用
  458. var keyValueArr = keyValue.Split(',');
  459. foreach (var item in keyValueArr)
  460. {
  461. db.ExecuteBySql("update EmpInfo set CheckMark=1 where EmpId='" + item + "'");
  462. }
  463. db.Commit();
  464. }
  465. catch (Exception ex)
  466. {
  467. db.Rollback();
  468. if (ex is ExceptionEx)
  469. {
  470. throw;
  471. }
  472. else
  473. {
  474. throw ExceptionEx.ThrowServiceException(ex);
  475. }
  476. }
  477. }
  478. public void UnLock(string keyValue)
  479. {
  480. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  481. try
  482. {
  483. //单个停用
  484. //this.BaseRepository("CollegeMIS").ExecuteBySql("update EmpInfo set CheckMark=0 where EmpId='" + keyValue + "'");
  485. //多个停用
  486. var keyValueArr = keyValue.Split(',');
  487. foreach (var item in keyValueArr)
  488. {
  489. db.ExecuteBySql("update EmpInfo set CheckMark=0 where EmpId='" + item + "'");
  490. }
  491. db.Commit();
  492. }
  493. catch (Exception ex)
  494. {
  495. db.Rollback();
  496. if (ex is ExceptionEx)
  497. {
  498. throw;
  499. }
  500. else
  501. {
  502. throw ExceptionEx.ThrowServiceException(ex);
  503. }
  504. }
  505. }
  506. /// <summary>
  507. /// 审核全部
  508. /// </summary>
  509. public void CheckAll()
  510. {
  511. try
  512. {
  513. this.BaseRepository("CollegeMIS").ExecuteBySql("update EmpInfo set CheckMark=1 ");
  514. }
  515. catch (Exception ex)
  516. {
  517. if (ex is ExceptionEx)
  518. {
  519. throw;
  520. }
  521. else
  522. {
  523. throw ExceptionEx.ThrowServiceException(ex);
  524. }
  525. }
  526. }
  527. /// <summary>
  528. /// 删除实体数据
  529. /// <param name="keyValue">主键</param>
  530. /// <summary>
  531. /// <returns></returns>
  532. public void DeleteEntity(string keyValue)
  533. {
  534. try
  535. {
  536. //单个删除
  537. //this.BaseRepository("CollegeMIS").Delete<EmpInfoEntity>(t => t.EmpId == keyValue);
  538. //多个删除
  539. var keyValueArr = keyValue.Split(',');
  540. foreach (var item in keyValueArr)
  541. {
  542. var empinfo = this.BaseRepository("CollegeMIS").FindEntity<EmpInfoEntity>(t => t.EmpId == item);
  543. var userinfo = BaseRepository().FindEntity<UserEntity>(m => m.F_Account == empinfo.EmpNo);
  544. if (userinfo != null)
  545. {
  546. BaseRepository().Delete<UserRelationEntity>(m => m.F_UserId == userinfo.F_UserId);
  547. BaseRepository().Delete<UserEntity>(userinfo);
  548. }
  549. this.BaseRepository("CollegeMIS").Delete<EmpInfoEntity>(empinfo);
  550. }
  551. }
  552. catch (Exception ex)
  553. {
  554. if (ex is ExceptionEx)
  555. {
  556. throw;
  557. }
  558. else
  559. {
  560. throw ExceptionEx.ThrowServiceException(ex);
  561. }
  562. }
  563. }
  564. /// <summary>
  565. /// 保存实体数据(新增、修改)
  566. /// <param name="keyValue">主键</param>
  567. /// <summary>
  568. /// <returns></returns>
  569. public void SaveEntity(string keyValue, EmpInfoEntity entity)
  570. {
  571. try
  572. {
  573. UserIBLL userIBLL = new UserBLL();
  574. if (!string.IsNullOrEmpty(keyValue))
  575. {
  576. entity.Modify(keyValue);
  577. this.BaseRepository("CollegeMIS").Update(entity);
  578. var annexesFileEntity = this.BaseRepository().FindEntity<AnnexesFileEntity>(a => a.F_FolderId == entity.Photo);
  579. var url = "";
  580. if (annexesFileEntity != null)
  581. {
  582. url = annexesFileEntity.F_FilePath;
  583. url = "/" + url.Substring(url.IndexOf("Resource"));
  584. }
  585. var baseUser = userIBLL.GetEntityByAccount(entity.EmpNo);
  586. if (baseUser != null)
  587. {
  588. baseUser.F_HeadIcon = url;
  589. baseUser.F_RealName = entity.EmpName;
  590. baseUser.F_IdentityCardNo = entity.IdentityCardNo;
  591. baseUser.F_Mobile = entity.mobile;
  592. userIBLL.SaveEntity(baseUser.F_UserId, baseUser);
  593. }
  594. }
  595. else
  596. {
  597. if (string.IsNullOrEmpty(entity.EmpId))
  598. {
  599. //生成编号
  600. var ruleName = ConfigurationManager.AppSettings["EmpNoRule"];//
  601. if (ruleName == "jy")
  602. {
  603. var strHead = DateTime.Now.ToString("yyyyMM");
  604. var SerialNum = 1;
  605. var empInfoEntities = this.BaseRepository("CollegeMIS").FindList<EmpInfoEntity>(a => a.EmpNo.Contains(strHead));
  606. if (empInfoEntities.Count() > 0)
  607. {
  608. var aa = empInfoEntities.Where(a => a.EmpNo.Length >= 8);
  609. var bb = aa.Select(a => a.EmpNo.Substring(a.EmpNo.Length - 2, 2));
  610. var cc = bb.Select(a => int.Parse(a));
  611. SerialNum = cc.Max() + 1;
  612. }
  613. entity.EmpNo = strHead + SerialNum.ToString().PadLeft(2, '0');
  614. }
  615. entity.Create();
  616. }
  617. this.BaseRepository("CollegeMIS").Insert(entity);
  618. }
  619. }
  620. catch (Exception ex)
  621. {
  622. if (ex is ExceptionEx)
  623. {
  624. throw;
  625. }
  626. else
  627. {
  628. throw ExceptionEx.ThrowServiceException(ex);
  629. }
  630. }
  631. }
  632. public void UpdatePhoto(string id, string photo)
  633. {
  634. BaseRepository("CollegeMIS").ExecuteBySql("update EmpInfo set Photo='" + photo + "' where EmpId='" + id + "'");
  635. }
  636. /// <summary>
  637. /// 保存实体数据(新增、修改)
  638. /// <param name="keyValue">主键</param>
  639. /// <summary>
  640. /// <returns></returns>
  641. public void SaveEntity(UserInfo userInfo, string keyValue, EmpInfoEntity entity)
  642. {
  643. try
  644. {
  645. if (!string.IsNullOrEmpty(keyValue))
  646. {
  647. entity.Modify(keyValue, userInfo);
  648. this.BaseRepository("CollegeMIS").Update(entity);
  649. }
  650. else
  651. {
  652. entity.Create(userInfo);
  653. this.BaseRepository("CollegeMIS").Insert(entity);
  654. }
  655. }
  656. catch (Exception ex)
  657. {
  658. if (ex is ExceptionEx)
  659. {
  660. throw;
  661. }
  662. else
  663. {
  664. throw ExceptionEx.ThrowServiceException(ex);
  665. }
  666. }
  667. }
  668. /// <summary>
  669. /// 保存部门、系部
  670. /// <param name="keyValue">主键</param>
  671. /// <summary>
  672. /// <returns></returns>
  673. public void SaveEditEntity(string keyValue, EmpInfoEntity entity)
  674. {
  675. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  676. try
  677. {
  678. if (!string.IsNullOrEmpty(keyValue))
  679. {
  680. if (keyValue.IndexOf(',') == -1)
  681. {
  682. var model = db.FindEntity<EmpInfoEntity>(keyValue);
  683. if (model != null)
  684. {
  685. if (!string.IsNullOrEmpty(entity.F_CompanyId))
  686. {
  687. model.F_CompanyId = entity.F_CompanyId;
  688. }
  689. if (!string.IsNullOrEmpty(entity.F_DepartmentId))
  690. {
  691. model.F_DepartmentId = entity.F_DepartmentId;
  692. }
  693. if (!string.IsNullOrEmpty(entity.DeptNo))
  694. {
  695. model.DeptNo = entity.DeptNo;
  696. }
  697. db.Update(model);
  698. }
  699. }
  700. else
  701. {
  702. foreach (var item in keyValue.Split(','))
  703. {
  704. var model = db.FindEntity<EmpInfoEntity>(item);
  705. if (model != null)
  706. {
  707. if (!string.IsNullOrEmpty(entity.F_CompanyId))
  708. {
  709. model.F_CompanyId = entity.F_CompanyId;
  710. }
  711. if (!string.IsNullOrEmpty(entity.F_DepartmentId))
  712. {
  713. model.F_DepartmentId = entity.F_DepartmentId;
  714. }
  715. if (!string.IsNullOrEmpty(entity.DeptNo))
  716. {
  717. model.DeptNo = entity.DeptNo;
  718. }
  719. db.Update(model);
  720. }
  721. }
  722. }
  723. }
  724. db.Commit();
  725. }
  726. catch (Exception ex)
  727. {
  728. db.Rollback();
  729. if (ex is ExceptionEx)
  730. {
  731. throw;
  732. }
  733. else
  734. {
  735. throw ExceptionEx.ThrowServiceException(ex);
  736. }
  737. }
  738. }
  739. #endregion
  740. }
  741. }