package cn.com.lzt.personnelbasearchivesmanage.service.impl; import cn.com.lzt.accessory.entity.AccessoryEntity; import cn.com.lzt.certificatesubsidy.entity.CertificateSubsidyEntity; import cn.com.lzt.common.push.JPushProcessor; import cn.com.lzt.common.util.DataUtil; import cn.com.lzt.personnelbasearchivesmanage.dao.PersonnelBaseArchivesManageDao; import cn.com.lzt.personnelbasearchivesmanage.dto.*; import cn.com.lzt.personnelbasearchivesmanage.entity.PersonnelBaseArchivesManageEntity; import cn.com.lzt.personnelbasearchivesmanage.service.PersonnelBaseArchivesManageServiceI; import cn.com.lzt.socialsecuritystrategy.entity.SocialSecurityStrategyEntity; import cn.com.lzt.sysmsg.entity.SysMsgEntity; import cn.com.lzt.sysmsgdetail.entity.SysMsgDetailEntity; import cn.com.lzt.usercertificate.entity.UserCertificateEntity; import cn.com.lzt.userchangeslog.entity.UserChangesLogEntity; import cn.com.lzt.userwagestrategy.entity.UserWagestrategyEntity; import org.apache.commons.lang3.StringUtils; import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.jeecgframework.core.constant.Globals; import org.jeecgframework.core.util.ApplicationContextUtil; import org.jeecgframework.core.util.MyClassLoader; import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.minidao.pojo.MiniDaoPage; import org.jeecgframework.web.cgform.enhance.CgformEnhanceJavaInter; import org.jeecgframework.web.system.pojo.base.DictEntity; import org.jeecgframework.web.system.pojo.base.TSBaseUser; import org.jeecgframework.web.system.pojo.base.TSUserOrg; import org.jeecgframework.web.system.service.SystemService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.Serializable; import java.text.SimpleDateFormat; import java.util.*; @Service("personnelBaseArchivesManageService") @Transactional(propagation = Propagation.REQUIRES_NEW) public class PersonnelBaseArchivesManageServiceImpl extends CommonServiceImpl implements PersonnelBaseArchivesManageServiceI { @Resource PersonnelBaseArchivesManageDao personnelBaseArchivesManageDao; @Autowired private SystemService systemService; @Autowired private JPushProcessor pushProcessor; /** * 员工基本档案数据检索 * * @param inDto * @param page * @param rows * @param authSql * @param sortorder * @return 员工基本档案列表页数据 */ @Override public MiniDaoPage getPersonnelBaseArchivesManageList( PersonnelBaseArchivesManageInDto inDto, int page, int rows, String authSql, String sortorder) { MiniDaoPage datagridList = personnelBaseArchivesManageDao .dataGrid(inDto, page, rows, authSql, sortorder); return datagridList; } public MiniDaoPage getPersonnelBaseArchivesManageListLeave( PersonnelBaseArchivesManageInDto inDto, int page, int rows, String authSql, String sortorder) { MiniDaoPage datagridList = personnelBaseArchivesManageDao .dataGridLeave(inDto, page, rows, authSql, sortorder); return datagridList; } /** * 新员工导出 * * @param inDto * @param page * @param rows * @param authSql * @param sortorder * @return 员工基本档案列表页数据 */ @Override public MiniDaoPage getNewmanTaxExport( PersonnelBaseArchivesManageInDto inDto, int page, int rows, String authSql, String sortorder) { MiniDaoPage datagridList = personnelBaseArchivesManageDao .getNewmanTaxExport(inDto, page, rows, authSql, sortorder); return datagridList; } /** * 离职员工导出 * * @param inDto * @param page * @param rows * @param authSql * @param sortorder * @return 员工基本档案列表页数据 */ @Override public MiniDaoPage getLeavemanTaxExport( PersonnelBaseArchivesManageInDto inDto, int page, int rows, String authSql, String sortorder) { MiniDaoPage datagridList = personnelBaseArchivesManageDao .getLeavemanTaxExport(inDto, page, rows, authSql, sortorder); return datagridList; } /** * 部门下的所有部门ID * * @param pId * @return 部门下的所有部门ID */ @Override public List getAllChildrenList(String pId, List entryList, List childList) { if (childList == null) { childList = new ArrayList(); } entryList = personnelBaseArchivesManageDao.getAllChildDepart(pId); for (DepartDto entry : entryList) { // 遍历出父id等于参数的id,add进子节点集合 if (entry.getParentdepartid().equals(pId)) { // 递归遍历下一级 getAllChildrenList(entry.getId(), entryList, childList); childList.add(entry); } } return childList; } public void delete(PersonnelBaseArchivesManageEntity entity) throws Exception { super.delete(entity); // 执行删除操作增强业务 this.doDelBus(entity); } public Serializable save(PersonnelBaseArchivesManageEntity entity) throws Exception { Serializable t = super.save(entity); // 执行新增操作增强业务 this.doAddBus(entity); return t; } public void saveOrUpdate(PersonnelBaseArchivesManageEntity entity) throws Exception { super.saveOrUpdate(entity); // 执行更新操作增强业务 this.doUpdateBus(entity); } /** * 新增操作增强业务 * * @param t * @return */ private void doAddBus(PersonnelBaseArchivesManageEntity t) throws Exception { // -----------------sql增强 start---------------------------- // -----------------sql增强 end------------------------------ // -----------------java增强 start--------------------------- // -----------------java增强 end----------------------------- } /** * 更新操作增强业务 * * @param t * @return */ private void doUpdateBus(PersonnelBaseArchivesManageEntity t) throws Exception { // -----------------sql增强 start---------------------------- // -----------------sql增强 end------------------------------ // -----------------java增强 start--------------------------- // -----------------java增强 end----------------------------- } /** * 删除操作增强业务 * * @param id * @return */ private void doDelBus(PersonnelBaseArchivesManageEntity t) throws Exception { // -----------------sql增强 start---------------------------- // -----------------sql增强 end------------------------------ // -----------------java增强 start--------------------------- // -----------------java增强 end----------------------------- } private Map populationMap( PersonnelBaseArchivesManageEntity t) { Map map = new HashMap(); map.put("id", t.getId()); map.put("create_name", t.getCreateName()); map.put("create_by", t.getCreateBy()); map.put("create_date", t.getCreateDate()); map.put("update_name", t.getUpdateName()); map.put("update_by", t.getUpdateBy()); map.put("update_date", t.getUpdateDate()); map.put("sys_org_code", t.getSysOrgCode()); map.put("sys_company_code", t.getSysCompanyCode()); map.put("userid", t.getUserid()); map.put("belong_dutiesid", t.getBelongDutiesid()); map.put("contract_stime", t.getContractStime()); map.put("contract_etime", t.getContractEtime()); map.put("ifremind", t.getIfremind()); map.put("ifrenewed", t.getIfrenewed()); map.put("position_status", t.getPositionStatus()); map.put("user_type", t.getUserType()); map.put("auto_correction", t.getAutoCorrection()); map.put("trial_period", t.getTrialPeriod()); map.put("ifpayment", t.getIfpayment()); map.put("in_postid", t.getInPostid()); map.put("manager_type", t.getManagerType()); return map; } /** * 替换sql中的变量 * * @param sql * @param t * @return */ public String replaceVal(String sql, PersonnelBaseArchivesManageEntity t) { sql = sql.replace("#{id}", String.valueOf(t.getId())); sql = sql.replace("#{create_name}", String.valueOf(t.getCreateName())); sql = sql.replace("#{create_by}", String.valueOf(t.getCreateBy())); sql = sql.replace("#{create_date}", String.valueOf(t.getCreateDate())); sql = sql.replace("#{update_name}", String.valueOf(t.getUpdateName())); sql = sql.replace("#{update_by}", String.valueOf(t.getUpdateBy())); sql = sql.replace("#{update_date}", String.valueOf(t.getUpdateDate())); sql = sql.replace("#{sys_org_code}", String.valueOf(t.getSysOrgCode())); sql = sql.replace("#{sys_company_code}", String.valueOf(t.getSysCompanyCode())); sql = sql.replace("#{userid}", String.valueOf(t.getUserid())); sql = sql.replace("#{belong_dutiesid}", String.valueOf(t.getBelongDutiesid())); sql = sql.replace("#{contract_stime}", String.valueOf(t.getContractStime())); sql = sql.replace("#{contract_etime}", String.valueOf(t.getContractEtime())); sql = sql.replace("#{ifremind}", String.valueOf(t.getIfremind())); sql = sql.replace("#{ifrenewed}", String.valueOf(t.getIfrenewed())); sql = sql.replace("#{position_status}", String.valueOf(t.getPositionStatus())); sql = sql.replace("#{user_type}", String.valueOf(t.getUserType())); sql = sql.replace("#{auto_correction}", String.valueOf(t.getAutoCorrection())); sql = sql .replace("#{trial_period}", String.valueOf(t.getTrialPeriod())); sql = sql.replace("#{ifpayment}", String.valueOf(t.getIfpayment())); sql = sql.replace("#{in_postid}", String.valueOf(t.getInPostid())); sql = sql .replace("#{manager_type}", String.valueOf(t.getManagerType())); sql = sql.replace("#{UUID}", UUID.randomUUID().toString()); return sql; } /** * 执行JAVA增强 */ private void executeJavaExtend(String cgJavaType, String cgJavaValue, Map data) throws Exception { if (StringUtil.isNotEmpty(cgJavaValue)) { Object obj = null; try { if ("class".equals(cgJavaType)) { // 因新增时已经校验了实例化是否可以成功,所以这块就不需要再做一次判断 obj = MyClassLoader.getClassByScn(cgJavaValue) .newInstance(); } else if ("spring".equals(cgJavaType)) { obj = ApplicationContextUtil.getContext().getBean( cgJavaValue); } if (obj instanceof CgformEnhanceJavaInter) { CgformEnhanceJavaInter javaInter = (CgformEnhanceJavaInter) obj; javaInter.execute("t_bus_user_personnel", data); } } catch (Exception e) { e.printStackTrace(); throw new Exception("执行JAVA增强出现异常!"); } } } @Override public void getAllautoCorrection() throws Exception { List manList = personnelBaseArchivesManageDao.getAllautoCorrection(); if(!manList.isEmpty()){ //trial_period 适用期限 //contract_stime 入职日期( 合同有效期开始时间) SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (PersonnelBaseArchivesManageEntity per : manList) { if(per.getTrialPeriod() != null && per.getContractStime() != null){ Calendar ca = Calendar.getInstance();// 得到一个Calendar的实例 ca.setTime(sdf.parse(sdf.format(per.getContractStime()))); // 设置时间为当前时间 ca.add(Calendar.MONTH, per.getTrialPeriod().intValue()); Calendar ca1 = Calendar.getInstance(); ca1.setTime(sdf.parse(sdf.format(new Date()))); if(ca.compareTo(ca1) == 0){ per.setCorrectionDate(sdf.parse(sdf.format(new Date()))); per.setPositionStatus("2"); saveOrUpdate(per); changUserChangesLogEntity(per); } } } } } /** * 自动转正插入人事变动 * @param t */ private void changUserChangesLogEntity(PersonnelBaseArchivesManageEntity t){ UserChangesLogEntity ucle = new UserChangesLogEntity(); ucle.setChangeTime(new Date()); StringBuffer hql = new StringBuffer(" from TSUserOrg where tsUser.id=? and ifpluralism = 0 and status = 0"); List TSUserOrg = findHql(hql.toString(),t.getUserid()); if(!TSUserOrg.isEmpty()){ TSUserOrg uo = TSUserOrg.get(0); if(uo != null){ ucle.setBelongUnitid(uo.getTsDepart().getId()); } } /*TSDepart ts = systemService.get(TSDepart.class, t.getBelongUnitid()); if(ts != null){ ucle.setBelongUnitid(ts.getId()); }*/ TSBaseUser tsBaseUser = systemService.get(TSBaseUser.class,t.getUserid()); if(tsBaseUser != null){ ucle.setUserCode(tsBaseUser.getUserName()); ucle.setUserName(tsBaseUser.getRealName()); } /*TSUser tSUser=ResourceUtil.getSessionUser(); if(tSUser != null){ ucle.setApplicant(tSUser.getRealName()); }*/ ucle.setChangeType(Globals.CHANGE_TYPE_ZHUANZHENG); UserWagestrategyEntity ussfEntity = this.findUniqueByProperty(UserWagestrategyEntity.class, "userid", t.getUserid()); if(ussfEntity != null && StringUtils.isNotEmpty(ussfEntity.getSocialSecurityStrategyid())){ SocialSecurityStrategyEntity soc = get(SocialSecurityStrategyEntity.class,ussfEntity.getSocialSecurityStrategyid()); if(soc != null){ ucle.setPayUnit(soc.getSocialSecurityUnit()); } } /*SocialSecurityStrategyEntity soc = get(SocialSecurityStrategyEntity.class,t.getSocialSecurityStrategyid()); if(soc != null){ ucle.setPayUnit(soc.getSocialSecurityUnit()); ucle.setPayRemindStatus(Globals.PAY_REMIND_STATUS_0); }*/ //String message = "员工【"+tsBaseUser.getRealName()+"】的自动转正发生了改变!"; this.save(ucle); //systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); } @Override public void dealMessageExpirationAlert() throws Exception { //查询合同到期的数据 StringBuffer hql = new StringBuffer(" from PersonnelBaseArchivesManageEntity t where t.ifremind=? "); List personnelBaseArchivesManageEntityList = findHql(hql.toString(),Globals.SHIFOU_01_1); //查询证书到期的数据 hql = new StringBuffer(" from UserCertificateEntity t where t.ifremind=? and t.deleteFlag=? "); List userCertificateEntityList = findHql(hql.toString(),Globals.SHIFOU_01_1,Globals.Delete_Normal.toString()); //查询证书补贴表的数据 hql = new StringBuffer(" from CertificateSubsidyEntity "); List certificateSubsidyEntityList = findHql(hql.toString()); Map certificateSubsidyEntityListMap=new HashMap(); for (int i = 0; i < certificateSubsidyEntityList.size(); i++) { certificateSubsidyEntityListMap.put(certificateSubsidyEntityList.get(i).getId(), certificateSubsidyEntityList.get(i)); } //获取所有用户名称 hql = new StringBuffer("from TSBaseUser where deleteFlag='0'"); List baseUserList = findHql(hql.toString()); Map baseUserMap=new HashMap(); for (int i = 0; i < baseUserList.size(); i++) { baseUserMap.put(baseUserList.get(i).getId(), baseUserList.get(i)); } List params = new ArrayList(); params.add("A_HRJL"); params.add("A_HRFJL"); params.add("A_HRZL"); //数据业务人事的所有人员 List userIdDepartDtoList = personnelBaseArchivesManageDao.getUserIdByRole(params); ArrayList userIdList=new ArrayList(); for(DepartDto dto : userIdDepartDtoList){ userIdList.add(dto.getId()); } if(userIdList.size()!=0){ List smList = new ArrayList(); List smdList = new ArrayList(); //整理合同到期的信息============================ for (int i = 0; i < personnelBaseArchivesManageEntityList.size(); i++) { if(DataUtil.get7DateResult(personnelBaseArchivesManageEntityList.get(i).getContractEtime())){ TSBaseUser tsbUser = baseUserMap.get(personnelBaseArchivesManageEntityList.get(i).getUserid()); SysMsgEntity sm = new SysMsgEntity(); sm.setMsgContent(DataUtil.getCurDateString(personnelBaseArchivesManageEntityList.get(i).getContractEtime())+"-"+tsbUser.getUserName() + "-" + tsbUser.getRealName()+ "的合同到期。"); sm.setMsgTitle("合同到期提醒"); sm.setMsgType(Globals.msg_type_1); sm.setSendStatus(Globals.send_status_1); sm.setSendTime(new Date()); sm.setCreateDate(new Date()); sm.setIsPushapp(Globals.is_pushapp_0); smList.add(sm); } } batchSave(smList); if(smList.size()!=0){ for(SysMsgEntity sm : smList){ for(DepartDto dto : userIdDepartDtoList){ SysMsgDetailEntity smd = new SysMsgDetailEntity(); smd.setMsgId(sm.getId()); smd.setReadStatus(Globals.read_status_0); smd.setReceivedId(dto.getId()); smd.setCreateDate(new Date()); smdList.add(smd); } } batchSave(smdList); pushProcessor.pushCommon(userIdList, Globals.msg_type_1); } //整理合同到期的信息============================ smList = new ArrayList(); smdList = new ArrayList(); //整理证书到期的信息============================ for (int i = 0; i < userCertificateEntityList.size(); i++) { if(DataUtil.get7DateResult(userCertificateEntityList.get(i).getEffectEdate())){ TSBaseUser tsbUser = baseUserMap.get(userCertificateEntityList.get(i).getUserid()); SysMsgEntity sm = new SysMsgEntity(); sm.setMsgContent(DataUtil.getCurDateString(userCertificateEntityList.get(i).getEffectEdate())+"-"+tsbUser.getUserName() + "-" + tsbUser.getRealName()+ "的"+certificateSubsidyEntityListMap.get(userCertificateEntityList.get(i).getCertificateid()).getCertificateName()+"证书到期。"); sm.setMsgTitle("证书到期提醒"); sm.setMsgType(Globals.msg_type_2); sm.setSendStatus(Globals.send_status_1); sm.setSendTime(new Date()); sm.setCreateDate(new Date()); sm.setIsPushapp(Globals.is_pushapp_0); smList.add(sm); } } batchSave(smList); if(smList.size()!=0){ for(SysMsgEntity sm : smList){ for(DepartDto dto : userIdDepartDtoList){ SysMsgDetailEntity smd = new SysMsgDetailEntity(); smd.setMsgId(sm.getId()); smd.setReadStatus(Globals.read_status_0); smd.setReceivedId(dto.getId()); smd.setCreateDate(new Date()); smdList.add(smd); } } batchSave(smdList); pushProcessor.pushCommon(userIdList, Globals.msg_type_2); } //整理证书到期的信息============================ } } /*@Override public void dealMessageExpirationAlert() throws Exception { //查询合同到期的数据 StringBuffer hql = new StringBuffer(" from PersonnelBaseArchivesManageEntity t where t.ifremind= ? "); List personnelBaseArchivesManageEntityList = findHql(hql.toString(),Globals.SHIFOU_01_1); //查询证书到期的数据 hql = new StringBuffer(" from UserCertificateEntity t where t.ifremind= ? and t.deleteFlag= ? "); List userCertificateEntityList = findHql(hql.toString(),Globals.SHIFOU_01_1,Globals.Delete_Normal.toString()); List smList = new ArrayList(); //获取所有用户名称 hql = new StringBuffer("from TSBaseUser where deleteFlag='0'"); List baseUserList = findHql(hql.toString()); Map baseUserMap=new HashMap(); for (int i = 0; i < baseUserList.size(); i++) { baseUserMap.put(baseUserList.get(i).getId(), baseUserList.get(i)); } //整理合同到期的信息 for (int i = 0; i < personnelBaseArchivesManageEntityList.size(); i++) { if(DataUtil.get7DateResult(personnelBaseArchivesManageEntityList.get(i).getContractEtime())){ TSBaseUser tsbUser = baseUserMap.get(personnelBaseArchivesManageEntityList.get(i).getUserid()); SysMsgEntity sm = new SysMsgEntity(); sm.setMsgContent(DataUtil.getCurDateString(personnelBaseArchivesManageEntityList.get(i).getContractEtime())+"-"+tsbUser.getUserName() + "-" + tsbUser.getRealName()+ "的合同到期。"); sm.setMsgTitle("合同到期提醒"); sm.setMsgType(Globals.msg_type_1); sm.setSendStatus(Globals.send_status_1); sm.setSendTime(new Date()); sm.setCreateDate(new Date()); sm.setIsPushapp(Globals.is_pushapp_0); smList.add(sm); } } //整理证书到期的信息 for (int i = 0; i < userCertificateEntityList.size(); i++) { if(DataUtil.get7DateResult(userCertificateEntityList.get(i).getEffectEdate())){ TSBaseUser tsbUser = baseUserMap.get(userCertificateEntityList.get(i).getUserid()); SysMsgEntity sm = new SysMsgEntity(); sm.setMsgContent(DataUtil.getCurDateString(userCertificateEntityList.get(i).getEffectEdate())+"-"+tsbUser.getUserName() + "-" + tsbUser.getRealName()+ "的证件到期。"); sm.setMsgTitle("证件到期提醒"); sm.setMsgType(Globals.msg_type_2); sm.setSendStatus(Globals.send_status_1); sm.setSendTime(new Date()); sm.setCreateDate(new Date()); sm.setIsPushapp(Globals.is_pushapp_0); smList.add(sm); } } hql = new StringBuffer("from SysMsgEntity WHERE create_date LIKE '%"+DataUtil.getCurDateString(new Date())+"%' and (msg_type = "+Globals.msg_type_1+" or msg_type = "+Globals.msg_type_2+")"); List oldsmList = findHql(hql.toString()); deleteAllEntitie(oldsmList); batchSave(smList); List params = new ArrayList(); params.add("A_HRJL"); params.add("A_HRFJL"); params.add("A_HRZL"); //数据业务人事的所有人员 List userIdList = personnelBaseArchivesManageDao.getUserIdByRole(params); List smdList = new ArrayList(); //查询刚保存的消息 hql = new StringBuffer("from SysMsgEntity WHERE create_date LIKE '%"+DataUtil.getCurDateString(new Date())+"%' and (msg_type = "+Globals.msg_type_1+" or msg_type = "+Globals.msg_type_2+")"); List smLists = findHql(hql.toString()); //整理需要发送的消息 for(DepartDto dto : userIdList){ for(SysMsgEntity sm : smLists){ SysMsgDetailEntity smd = new SysMsgDetailEntity(); smd.setMsgId(sm.getId()); smd.setReadStatus(Globals.read_status_0); smd.setReceivedId(dto.getId()); smd.setCreateDate(new Date()); smdList.add(smd); } } hql = new StringBuffer("from SysMsgDetailEntity WHERE create_date LIKE '%"+DataUtil.getCurDateString(new Date())+"%' "); List oldsmdList = findHql(hql.toString()); deleteAllEntitie(oldsmdList); batchSave(smdList); }*/ @Override public List dealAccessoryIsFixedDefault(String userId) throws Exception { // String message = ""; // AjaxJson j = new AjaxJson(); List accessoryIsFixedList=systemService.queryDict(null, "isfixed_accessory_name", null); List accessoryEntityIsFixedList=new ArrayList(); StringBuffer hql = new StringBuffer(" from AccessoryEntity where userid=? "); accessoryEntityIsFixedList = this.findHql(hql.toString(),userId); List accessoryNameList=new ArrayList(); for (int i = 0; i < accessoryEntityIsFixedList.size(); i++) { accessoryNameList.add(accessoryEntityIsFixedList.get(i).getAccessoryName()); } List accessoryEntityIsFixedSaveList=new ArrayList(); for (int i = 0; i < accessoryIsFixedList.size(); i++) { AccessoryEntity accessory=new AccessoryEntity(); String gatetTypeUuid = UUID.randomUUID().toString(); //获取UUID并转化为String对象 gatetTypeUuid = gatetTypeUuid.replace("-", ""); accessory.setGatetType("A" + gatetTypeUuid); accessory.setIsfixed(Globals.isfixed_accessory_1); accessory.setDeleteFlag(Globals.Delete_Normal.toString()); accessory.setUserid(userId); accessory.setAccessoryName(accessoryIsFixedList.get(i).getTypename()); accessory.setGatetType(accessoryIsFixedList.get(i).getTypecode()); if(!accessoryNameList.contains(accessoryIsFixedList.get(i).getTypename())){ accessoryEntityIsFixedSaveList.add(accessory); } } if(accessoryEntityIsFixedSaveList.size()!=0){ this.batchSave(accessoryEntityIsFixedSaveList); } /*if(accessoryEntityIsFixedList.size()==0){ for (int i = 0; i < accessoryIsFixedList.size(); i++) { AccessoryEntity accessory=new AccessoryEntity(); String gatetTypeUuid = UUID.randomUUID().toString(); //获取UUID并转化为String对象 gatetTypeUuid = gatetTypeUuid.replace("-", ""); accessory.setGatetType("A" + gatetTypeUuid); accessory.setIsfixed(Globals.isfixed_accessory_1); accessory.setDeleteFlag(Globals.Delete_Normal.toString()); accessory.setUserid(userId); accessory.setAccessoryName(accessoryIsFixedList.get(i).getTypename()); accessory.setGatetType(accessoryIsFixedList.get(i).getTypecode()); accessoryEntityIsFixedList.add(accessory); } if(accessoryEntityIsFixedList.size()!=0){ this.batchSave(accessoryEntityIsFixedList); } }*/ return accessoryEntityIsFixedSaveList; } @Override public void dealCertificateMessageExpirationAlert() throws Exception { //查询证书补贴表的数据 StringBuffer hql = new StringBuffer(" from CertificateSubsidyEntity "); List certificateSubsidyEntityList = findHql(hql.toString()); Map certificateSubsidyEntityListMap=new HashMap(); for (int i = 0; i < certificateSubsidyEntityList.size(); i++) { certificateSubsidyEntityListMap.put(certificateSubsidyEntityList.get(i).getId(), certificateSubsidyEntityList.get(i)); } //查询证书到期的数据 hql = new StringBuffer(" from UserCertificateEntity t where t.ifremind=? and t.deleteFlag=? "); List userCertificateEntityList = findHql(hql.toString(),Globals.SHIFOU_01_1,Globals.Delete_Normal.toString()); //获取所有用户名称 hql = new StringBuffer("from TSBaseUser where deleteFlag='0'"); List baseUserList = findHql(hql.toString()); Map baseUserMap=new HashMap(); for (int i = 0; i < baseUserList.size(); i++) { baseUserMap.put(baseUserList.get(i).getId(), baseUserList.get(i)); } List params = new ArrayList(); params.add("A_HRJL"); params.add("A_HRFJL"); params.add("A_HRZL"); //数据业务人事的所有人员 List userIdDepartDtoList = personnelBaseArchivesManageDao.getUserIdByRole(params); ArrayList userIdList=new ArrayList(); for(DepartDto dto : userIdDepartDtoList){ userIdList.add(dto.getId()); } if(userIdList.size()!=0){ List smList = new ArrayList(); List smdList = new ArrayList(); //整理证书到期的信息============================ for (int i = 0; i < userCertificateEntityList.size(); i++) { if(DataUtil.get7DateResult(userCertificateEntityList.get(i).getEffectEdate())){ TSBaseUser tsbUser = baseUserMap.get(userCertificateEntityList.get(i).getUserid()); SysMsgEntity sm = new SysMsgEntity(); String certificateName=certificateSubsidyEntityListMap.get(userCertificateEntityList.get(i).getCertificateid()).getCertificateName(); certificateName=certificateName.indexOf("证书")!=-1?certificateName.substring(0, certificateName.indexOf("证书")):certificateName; sm.setMsgContent(DataUtil.getCurDateString(userCertificateEntityList.get(i).getEffectEdate())+"-"+tsbUser.getUserName() + "-" + tsbUser.getRealName()+ "的"+certificateName +"证书到期。"); sm.setMsgTitle("证书到期提醒"); sm.setMsgType(Globals.msg_type_2); sm.setSendStatus(Globals.send_status_1); sm.setSendTime(new Date()); sm.setCreateDate(new Date()); sm.setIsPushapp(Globals.is_pushapp_0); smList.add(sm); } } batchSave(smList); if(smList.size()!=0){ for(SysMsgEntity sm : smList){ for(DepartDto dto : userIdDepartDtoList){ SysMsgDetailEntity smd = new SysMsgDetailEntity(); smd.setMsgId(sm.getId()); smd.setReadStatus(Globals.read_status_0); smd.setReceivedId(dto.getId()); smd.setCreateDate(new Date()); smdList.add(smd); } } batchSave(smdList); pushProcessor.pushCommon(userIdList, Globals.msg_type_2); } //整理证书到期的信息============================ } } @Override public void dealContractMessageExpirationAlert() throws Exception { //查询合同到期的数据 StringBuffer hql = new StringBuffer(" from PersonnelBaseArchivesManageEntity t where t.ifremind=? "); List personnelBaseArchivesManageEntityList = findHql(hql.toString(),Globals.SHIFOU_01_1); //获取所有用户名称 hql = new StringBuffer("from TSBaseUser where deleteFlag='0'"); List baseUserList = findHql(hql.toString()); Map baseUserMap=new HashMap(); for (int i = 0; i < baseUserList.size(); i++) { baseUserMap.put(baseUserList.get(i).getId(), baseUserList.get(i)); } List params = new ArrayList(); params.add("A_HRJL"); params.add("A_HRFJL"); params.add("A_HRZL"); //数据业务人事的所有人员 List userIdDepartDtoList = personnelBaseArchivesManageDao.getUserIdByRole(params); ArrayList userIdList=new ArrayList(); for(DepartDto dto : userIdDepartDtoList){ userIdList.add(dto.getId()); } if(userIdList.size()!=0){ List smList = new ArrayList(); List smdList = new ArrayList(); //整理合同到期的信息============================ for (int i = 0; i < personnelBaseArchivesManageEntityList.size(); i++) { if(DataUtil.get7DateResult(personnelBaseArchivesManageEntityList.get(i).getContractEtime())){ TSBaseUser tsbUser = baseUserMap.get(personnelBaseArchivesManageEntityList.get(i).getUserid()); SysMsgEntity sm = new SysMsgEntity(); sm.setMsgContent(DataUtil.getCurDateString(personnelBaseArchivesManageEntityList.get(i).getContractEtime())+"-"+tsbUser.getUserName() + "-" + tsbUser.getRealName()+ "的合同到期。"); sm.setMsgTitle("合同到期提醒"); sm.setMsgType(Globals.msg_type_1); sm.setSendStatus(Globals.send_status_1); sm.setSendTime(new Date()); sm.setCreateDate(new Date()); sm.setIsPushapp(Globals.is_pushapp_0); smList.add(sm); } } batchSave(smList); if(smList.size()!=0){ for(SysMsgEntity sm : smList){ for(DepartDto dto : userIdDepartDtoList){ SysMsgDetailEntity smd = new SysMsgDetailEntity(); smd.setMsgId(sm.getId()); smd.setReadStatus(Globals.read_status_0); smd.setReceivedId(dto.getId()); smd.setCreateDate(new Date()); smdList.add(smd); } } batchSave(smdList); pushProcessor.pushCommon(userIdList, Globals.msg_type_1); } //整理合同到期的信息============================ } } }