12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package com.kingdee.eas.hr.affair.app;
- import com.kingdee.bos.BOSException;
- import com.kingdee.bos.Context;
- import com.kingdee.bos.dao.IObjectCollection;
- import com.kingdee.bos.dao.IObjectPK;
- import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
- import com.kingdee.bos.service.job.JobServiceFactory;
- import com.kingdee.bos.util.BOSUuid;
- import com.kingdee.eas.basedata.person.PersonCollection;
- import com.kingdee.eas.basedata.person.PersonFactory;
- import com.kingdee.eas.basedata.person.PersonInfo;
- import com.kingdee.eas.common.EASBizException;
- import com.kingdee.eas.custom.facade.leave.LeaveAllowanceFacade;
- import com.kingdee.eas.custom.facade.leave.LeaveAllowanceFacadeFactory;
- import com.kingdee.eas.framework.CoreBaseCollection;
- import com.kingdee.eas.framework.CoreBaseInfo;
- import com.kingdee.eas.hr.affair.HRAffairBizBillEntryInfo;
- import com.kingdee.eas.hr.ats.syn.BackTransactionJobUtils;
- import com.kingdee.eas.hr.base.HRBillBaseEntryInfo;
- import com.kingdee.eas.util.app.DbUtil;
- import com.kingdee.util.DateTimeUtils;
- import java.sql.Timestamp;
- import java.util.*;
- import java.util.concurrent.ScheduledExecutorService;
- import java.util.concurrent.ScheduledThreadPoolExecutor;
- import java.util.concurrent.ThreadPoolExecutor;
- import java.util.concurrent.TimeUnit;
- import org.apache.log4j.Logger;
- /**
- * @ClassName EmpEnrollBizBillControllerBeanEx
- * @Description 入职单ControllerBean扩展
- * @Author VenkoXie
- * @Date 2024/2/22 10:59
- * @Version 1.0
- **/
- public class EmpEnrollBizBillControllerBeanEx extends EmpEnrollBizBillControllerBean{
-
- private static Logger logger =
- Logger.getLogger("com.kingdee.eas.hr.affair.app.EmpEnrollBizBillControllerBeanEx");
- @Override
- protected void _entryEffectOthers(Context ctx, HRBillBaseEntryInfo entry) throws BOSException, EASBizException {
- super._entryEffectOthers(ctx,entry);
- HRAffairBizBillEntryInfo affairEntry = (HRAffairBizBillEntryInfo)entry;
- String empNumber = affairEntry.getString("empNumber");
- PersonCollection personCollection = PersonFactory.getLocalInstance(ctx).getPersonCollection("where number = '" + empNumber + "'");
- int year = DateTimeUtils.getYear(new Date());
- if (personCollection != null && personCollection.size() > 0) {
- PersonInfo pInfo = PersonFactory.getLocalInstance(ctx).getPersonInfo(new ObjectUuidPK(personCollection.get(0).getId()));
- ScheduledThreadPoolExecutor scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(1);
- scheduledThreadPoolExecutor.schedule(()->{
- try {
- LeaveAllowanceFacadeFactory.getLocalInstance(ctx).createAnnualLeave(year, pInfo.getNumber());
- } catch (BOSException e) {
- e.printStackTrace();
- }
- }, 5, TimeUnit.MINUTES);
- }
- }
-
- @Override
- protected void _auditEntryEffect(Context ctx, BOSUuid billID) throws BOSException, EASBizException {
- super._auditEntryEffect(ctx, billID);
- String emailSql = "/*dialect*/ UPDATE T_HR_PersonContactMethod AS a SET CFPrivateemail = b.CFPEMAIL "
- + "FROM T_HR_EmpEnrollBizBillEntry AS b "
- + "JOIN t_bd_person AS c ON c.fnumber = b.FEMPNUMBER "
- + "WHERE a.FPERSONID = c.fid AND b.FBILLID = '"+billID+"'";
- logger.error("更新员工联系方式私人邮箱SQL:"+emailSql);
- DbUtil.execute(ctx, emailSql);
- }
-
- }
|