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.

EmpInfoService.cs 26 KiB

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