package com.empl.mgr.service.impl;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import com.empl.mgr.constant.AddressType;
import com.empl.mgr.constant.EmployeesLogType;
import com.empl.mgr.constant.EmployeesState;
import com.empl.mgr.constant.PageConstant;
import com.empl.mgr.constant.PhoneImageSize;
import com.empl.mgr.constant.TimeFormatConstant;
import com.empl.mgr.constant.TrainLogState;
import com.empl.mgr.constant.TrainingState;
import com.empl.mgr.dao.AddressDao;
import com.empl.mgr.dao.ChooseEducationDao;
import com.empl.mgr.dao.ChooseMarriageDao;
import com.empl.mgr.dao.ChooseNationalDao;
import com.empl.mgr.dao.ChoosePoliticsDao;
import com.empl.mgr.dao.CityDao;
import com.empl.mgr.dao.CountyDao;
import com.empl.mgr.dao.DepartmentDao;
import com.empl.mgr.dao.EmployeesBasicDao;
import com.empl.mgr.dao.EmployeesCompanyDao;
import com.empl.mgr.dao.EmployeesDetailDao;
import com.empl.mgr.dao.EmployeesLogDao;
import com.empl.mgr.dao.EmployeesTrainingLogDao;
import com.empl.mgr.dao.PositionDao;
import com.empl.mgr.dao.ProvinceDao;
import com.empl.mgr.dao.TownshipDao;
import com.empl.mgr.dao.TrainingDao;
import com.empl.mgr.dao.VillageDao;
import com.empl.mgr.dto.EemplByNoneTrainingLogDto;
import com.empl.mgr.dto.EmployeesAddressDto;
import com.empl.mgr.dto.EmployeesBasicInfoDto;
import com.empl.mgr.dto.EmployeesCompnayDto;
import com.empl.mgr.dto.EmployeesInfoDto;
import com.empl.mgr.dto.EmployeesInternshipListDto;
import com.empl.mgr.dto.EmployeesLogDto;
import com.empl.mgr.dto.EmployeesTrainingRecordDto;
import com.empl.mgr.field.TeAddressField;
import com.empl.mgr.field.TeDepartmentField;
import com.empl.mgr.field.TeEmployeesBasicField;
import com.empl.mgr.field.TeEmployeesCompanyField;
import com.empl.mgr.field.TeEmployeesDetailField;
import com.empl.mgr.field.TeEmployeesLogField;
import com.empl.mgr.field.TeEmployeesTrainingLogField;
import com.empl.mgr.field.TePositionField;
import com.empl.mgr.model.TeAddress;
import com.empl.mgr.model.TeDepartment;
import com.empl.mgr.model.TeEmployeesBasic;
import com.empl.mgr.model.TeEmployeesCompany;
import com.empl.mgr.model.TeEmployeesDetail;
import com.empl.mgr.model.TeEmployeesLog;
import com.empl.mgr.model.TeEmployeesTrainingLog;
import com.empl.mgr.model.TePosition;
import com.empl.mgr.model.TeTraining;
import com.empl.mgr.service.EmployeesLogService;
import com.empl.mgr.service.EmployeesService;
import com.empl.mgr.support.JSONReturn;
import com.empl.mgr.utils.CompareUtil;
import com.empl.mgr.utils.DateTimeUtil;
import com.empl.mgr.utils.PageUtils;
@Scope
@Service
@Transactional(readOnly = true)
public class EmployeesServiceImpl implements EmployeesService {
@Autowired
private ChooseEducationDao chooseEducationDao;
@Autowired
private ChooseMarriageDao chooseMarriageDao;
@Autowired
private ChooseNationalDao chooseNationalDao;
@Autowired
private ChoosePoliticsDao choosePoliticsDao;
@Autowired
private PositionDao positionDao;
@Autowired
private DepartmentDao departmentDao;
@Autowired
private EmployeesBasicDao employeesBasicDao;
@Autowired
private EmployeesCompanyDao employeesCompanyDao;
@Autowired
private EmployeesDetailDao employeesDetailDao;
@Autowired
private AddressDao addressDao;
@Autowired
private ProvinceDao provinceDao;
@Autowired
private CityDao cityDao;
@Autowired
private CountyDao countyDao;
@Autowired
private TownshipDao townshipDao;
@Autowired
private VillageDao villageDao;
@Autowired
private EmployeesTrainingLogDao employeesTrainingLogDao;
@Autowired
private TrainingDao trainingDao;
@Autowired
private EmployeesLogService employeesLogService;
@Autowired
private EmployeesLogDao employeesLogDao;
public JSONReturn findChoose() {
// TODO Auto-generated method stub
Map<String, Object> map = new HashMap<String, Object>();
map.put("educationList", chooseEducationDao.findAll());
map.put("marriageList", chooseMarriageDao.findAll());
map.put("nationalList", chooseNationalDao.findAll());
map.put("politicList", choosePoliticsDao.findAll());
return JSONReturn.buildSuccess(map);
}
@Transactional
public JSONReturn saveEmployeesInfo(EmployeesInfoDto dto, String acctName) {
// TODO Auto-generated method stub
if (CompareUtil.isEmpty(dto))
return JSONReturn.buildFailure("员工信息保存失败!");
if (CollectionUtils.isNotEmpty(employeesBasicDao.findByProperty(TeEmployeesBasicField.EM_IDENTITY,
dto.getIdentity())))
return JSONReturn.buildFailure("保存员工信息失败, 身份证重复!");
TeEmployeesBasic basic = conversionEmployeesBasic(null, dto, acctName);
employeesBasicDao.save(basic); // 保存员工基本信息
basic.setEmState(EmployeesState.EMPL_INTERNSHIP); // 默认为实习员工
employeesDetailDao.save(conversionEmployeesDetail(null, dto, basic.getEmId())); // 保存员工详细信息
conversionEmployeesCompany(dto.getCompany(), basic.getEmId()); // 保存员工工作经历信息
basic.setEmCensusRegister(analyzeAddress(dto.getRegister(), basic.getEmId(), AddressType.REGISTER, null, true)); // 解析户籍地址
basic.setEmCurrentAddress(analyzeAddress(dto.getCurrent(), basic.getEmId(), AddressType.CURRENT, null, true)); // 解析现居住地址
employeesLogService.save(basic.getEmId(), acctName, EmployeesLogType.RECORDING_INFORMATION, "");
return JSONReturn.buildSuccess(basic.getEmId());
}
/*
* 解析并转换员工地址信息
* te5l.com [K]
*/
private long analyzeAddress(EmployeesAddressDto dto, long emId, int type, TeAddress ads, boolean isSave) {
// TODO Auto-generated method stub
if (CompareUtil.isEmpty(ads))
ads = new TeAddress();
ads.setAdsType(type);
ads.setAdsProvince(dto.getProvince());
ads.setAdsCity(dto.getCity());
ads.setAdsCounty(dto.getCounty());
ads.setAdsTownship(dto.getTownship());
ads.setAdsVillage(dto.getVillage());
ads.setAdsDetailed(dto.getDetailed());
if (isSave)
addressDao.save(ads);
return ads.getAdsId();
}
/*
* 解析并转换员工工作经历信息
* te5l.com [K]
*/
private boolean conversionEmployeesCompany(EmployeesCompnayDto[] companyArray, long emId) {
// TODO Auto-generated method stub
if (ArrayUtils.isEmpty(companyArray))
return false;
for (EmployeesCompnayDto dto : companyArray) {
TeEmployeesCompany company = new TeEmployeesCompany();
company.setEmplNo(emId);
company.setComName(dto.getName());
company.setComParticipateTime(dto.getState());
company.setComLeaveTime(dto.getEnd());
company.setComPosition(dto.getJobs());
company.setComReason(dto.getReason());
employeesCompanyDao.save(company);
}
return true;
}
/*
* 解析并转换员工详细信息
* te5l.com [K]
*/
private TeEmployeesDetail conversionEmployeesDetail(TeEmployeesDetail detail, EmployeesInfoDto dto, long emId) {
// TODO Auto-generated method stub
if (CompareUtil.isEmpty(detail))
detail = new TeEmployeesDetail();
detail.setEmplNo(emId);
detail.setEmContact(dto.getContact());
detail.setEmEmergencyContact(dto.getEmergencyContact());
detail.setEmEmergencyPhone(dto.getEmergencyPhone());
detail.setEmSchool(dto.getSchool());
detail.setEmProfessional(dto.getProfessional());
detail.setEmGraduationT
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
spring+springmvc+hibernate整合框架Demo,在此基础上开发或学习。其中包含apache的log4j记录日志信息,spring管理组件,springmvc分层,springaop配置数据库事务控制,hibernate二级缓存配置,实现了查询,用户登录注册,请求验证是否登录等基础功能Demo,基于后台测试,使用前台模板修改url路径即可。
资源推荐
资源详情
资源评论
收起资源包目录
vip会员登录系统结合spring + mvc +hibernate (478个子文件)
EmployeesServiceImpl.class 25KB
TrainingServiceImpl.class 12KB
AccountServiceImpl.class 9KB
EmployeesInfoDto.class 8KB
ModuleServiceImpl.class 8KB
TeEmployeesBasic.class 7KB
EmployeesBasicInfoDto.class 7KB
DepartmentServiceImpl.class 7KB
TrainingController.class 6KB
EmployeesBasicDao.class 6KB
SupportController.class 6KB
TeEmployeesDetail.class 5KB
RoleServiceImpl.class 5KB
PositionServiceImpl.class 5KB
TeTraining.class 4KB
AbstractDao.class 4KB
AccountController.class 4KB
EmployeesInternshipController.class 4KB
RandomValidateCode.class 4KB
DepartmentController.class 4KB
RoleController.class 4KB
TeAddress.class 4KB
PositionController.class 4KB
TeAccount.class 4KB
TeEmployeesCompany.class 4KB
TrainingRecordDto.class 3KB
TeModule.class 3KB
TrainingListDto.class 3KB
TeRoleModule.class 3KB
SecureValidInterceptor.class 3KB
TeRole.class 3KB
PositionDao.class 3KB
TeEmployeesTrainingLog.class 3KB
TeDepartment.class 3KB
TeTrainingNote.class 3KB
TePosition.class 3KB
ModuleDto.class 3KB
EmployeesDepartureController.class 3KB
EmployeesInternshipListDto.class 3KB
PositionListDto.class 3KB
EmployeesFormalController.class 3KB
DepartmentListDto.class 3KB
TrainingDao.class 3KB
EmployeesTrainingLogDao.class 3KB
RoleModuleDao.class 3KB
RoleDao.class 3KB
AccountListDto.class 3KB
TeEmployeesLog.class 3KB
EemplByNoneTrainingLogDto.class 3KB
AccountDao.class 3KB
TeAccountRole.class 3KB
AddressServiceImpl.class 3KB
TeProvince.class 2KB
RoleListDto.class 2KB
DepartmentDao.class 2KB
EmployeesTrainingRecordDto.class 2KB
EmployeesAddressDto.class 2KB
TeTownship.class 2KB
TeVillage.class 2KB
TeCounty.class 2KB
TeCity.class 2KB
TeChooseEducation.class 2KB
TeChoosePolitics.class 2KB
TeChooseMarriage.class 2KB
TeChooseNational.class 2KB
AccountRoleDao.class 2KB
SecureValidDto.class 2KB
RoleDto.class 2KB
EmployeesCompnayDto.class 2KB
ModuleDao.class 2KB
EmployeesLogDto.class 2KB
JSONReturn.class 2KB
ModuleController.class 2KB
AddressController.class 2KB
PageDto.class 2KB
MethodType.class 1KB
VerifyUtils.class 1KB
EmployeesLogDao.class 1KB
ExceptionIntercept.class 1KB
TownshipDao.class 1KB
VillageDao.class 1KB
AccountService.class 1KB
CountyDao.class 1KB
CityDao.class 1KB
PositionDto.class 1KB
EmployeesLogServiceImpl.class 1KB
AddressDto.class 1KB
SelectDto.class 1KB
TeEmployeesBasicField.class 1KB
EmployeesService.class 1KB
ProvinceDao.class 1KB
TrainingService.class 1KB
LoginState.class 1KB
DepartmentSelectDto.class 999B
CompareUtil.class 979B
DateTimeUtil.class 926B
EmployeesLogType.class 922B
TeEmployeesDetailField.class 917B
DepartmentService.class 889B
PageUtils.class 792B
共 478 条
- 1
- 2
- 3
- 4
- 5
资源评论
- sdkfx2018-04-26没有数据库啊
小蝇工作室
- 粉丝: 11
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功