d1a4d6dae0162e52429af225cd07ac60c927523d.svn-base 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package com.kingdee.eas.hr.affair.app;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.bos.Context;
  4. import com.kingdee.bos.dao.IObjectCollection;
  5. import com.kingdee.bos.dao.IObjectPK;
  6. import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
  7. import com.kingdee.bos.service.job.JobServiceFactory;
  8. import com.kingdee.bos.util.BOSUuid;
  9. import com.kingdee.eas.basedata.person.PersonCollection;
  10. import com.kingdee.eas.basedata.person.PersonFactory;
  11. import com.kingdee.eas.basedata.person.PersonInfo;
  12. import com.kingdee.eas.common.EASBizException;
  13. import com.kingdee.eas.custom.facade.leave.LeaveAllowanceFacade;
  14. import com.kingdee.eas.custom.facade.leave.LeaveAllowanceFacadeFactory;
  15. import com.kingdee.eas.framework.CoreBaseCollection;
  16. import com.kingdee.eas.framework.CoreBaseInfo;
  17. import com.kingdee.eas.hr.affair.HRAffairBizBillEntryInfo;
  18. import com.kingdee.eas.hr.ats.syn.BackTransactionJobUtils;
  19. import com.kingdee.eas.hr.base.HRBillBaseEntryInfo;
  20. import com.kingdee.eas.util.app.DbUtil;
  21. import com.kingdee.util.DateTimeUtils;
  22. import java.sql.Timestamp;
  23. import java.util.*;
  24. import java.util.concurrent.ScheduledExecutorService;
  25. import java.util.concurrent.ScheduledThreadPoolExecutor;
  26. import java.util.concurrent.ThreadPoolExecutor;
  27. import java.util.concurrent.TimeUnit;
  28. import org.apache.log4j.Logger;
  29. /**
  30. * @ClassName EmpEnrollBizBillControllerBeanEx
  31. * @Description 入职单ControllerBean扩展
  32. * @Author VenkoXie
  33. * @Date 2024/2/22 10:59
  34. * @Version 1.0
  35. **/
  36. public class EmpEnrollBizBillControllerBeanEx extends EmpEnrollBizBillControllerBean{
  37. private static Logger logger =
  38. Logger.getLogger("com.kingdee.eas.hr.affair.app.EmpEnrollBizBillControllerBeanEx");
  39. @Override
  40. protected void _entryEffectOthers(Context ctx, HRBillBaseEntryInfo entry) throws BOSException, EASBizException {
  41. super._entryEffectOthers(ctx,entry);
  42. HRAffairBizBillEntryInfo affairEntry = (HRAffairBizBillEntryInfo)entry;
  43. String empNumber = affairEntry.getString("empNumber");
  44. PersonCollection personCollection = PersonFactory.getLocalInstance(ctx).getPersonCollection("where number = '" + empNumber + "'");
  45. int year = DateTimeUtils.getYear(new Date());
  46. if (personCollection != null && personCollection.size() > 0) {
  47. PersonInfo pInfo = PersonFactory.getLocalInstance(ctx).getPersonInfo(new ObjectUuidPK(personCollection.get(0).getId()));
  48. ScheduledThreadPoolExecutor scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(1);
  49. scheduledThreadPoolExecutor.schedule(()->{
  50. try {
  51. LeaveAllowanceFacadeFactory.getLocalInstance(ctx).createAnnualLeave(year, pInfo.getNumber());
  52. } catch (BOSException e) {
  53. e.printStackTrace();
  54. }
  55. }, 5, TimeUnit.MINUTES);
  56. }
  57. }
  58. @Override
  59. protected void _auditEntryEffect(Context ctx, BOSUuid billID) throws BOSException, EASBizException {
  60. super._auditEntryEffect(ctx, billID);
  61. String emailSql = "/*dialect*/ UPDATE T_HR_PersonContactMethod AS a SET CFPrivateemail = b.CFPEMAIL "
  62. + "FROM T_HR_EmpEnrollBizBillEntry AS b "
  63. + "JOIN t_bd_person AS c ON c.fnumber = b.FEMPNUMBER "
  64. + "WHERE a.FPERSONID = c.fid AND b.FBILLID = '"+billID+"'";
  65. logger.error("更新员工联系方式私人邮箱SQL:"+emailSql);
  66. DbUtil.execute(ctx, emailSql);
  67. }
  68. }