package lms.code.action;
import java.util.Collection;
import java.util.LinkedList;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.ParentPackage;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import org.dom4j.Element;
import com.opensymphony.xwork2.ModelDriven;
import dev.frame.util.StringUtil;
import dev.frame.xml.XMLUtility;
import lms.code.action.model.StaffActionModel;
import lms.code.action.returnconst.StaffActionConst;
import lms.code.beans.LMS_Roles;
import lms.code.beans.LMS_Staffs;
import lms.code.service.RoleService;
import lms.code.service.StaffService;
import lms.common.AbstractAction;
import lms.common.AuthorInfo;
import lms.common.BeanUtility;
import lms.common.SessionUser;
import lms.common.SiteConfig;
@ParentPackage("staffPackage")
@Action(value = "staffActions")
@Results({
@Result(name = StaffActionConst.StaffSignIn_Success,location = "/Main.jsp")
,@Result(name = StaffActionConst.StaffSignIn_Fialed, location = "/SignIn.jsp")
,@Result(name = StaffActionConst.StaffSignOut_Success,location = "/SignIn.jsp")
,@Result(name = StaffActionConst.StaffChangePassword_OldPwdError,location = "/manage/StaffManage/ChangePwd.jsp")
,@Result(name = StaffActionConst.StaffChangePassword_Success,location = "/manage/StaffManage/ChangePwd.jsp")
,@Result(name = StaffActionConst.InitialAddStaffInfo_Success,location = "/manage/StaffManage/AddStaff.jsp")
,@Result(name = StaffActionConst.AddStaffInfo_Success,location = "/manage/StaffManage/AddStaff.jsp")
,@Result(name = StaffActionConst.CompleteStaffInfo_Success,location = "/manage/StaffManage/StaffInfo.jsp")
,@Result(name = StaffActionConst.GetStaffInfoDetail_Success,location = "/manage/StaffManage/StaffInfo.jsp")
,@Result(name = StaffActionConst.GetStaffList_Success,location = "/manage/StaffManage/StaffList.jsp")
,@Result(name = StaffActionConst.DeleteOneStaffInfo_Success,location = "/actions/staff/staffActions.action?method=getStaffInfoList" ,type="redirect")
,@Result(name = StaffActionConst.GetStaffByStaffID_Success,location = "/manage/StaffManage/EditStaff.jsp")
,@Result(name = StaffActionConst.EditStaffInfo_Success,location = "/manage/StaffManage/EditStaff.jsp")
,@Result(name = StaffActionConst.EditStaffInfo_NameIsExist,location = "/manage/StaffManage/EditStaff.jsp")
,@Result(name = StaffActionConst.ResetStaffPwd_Success,location = "/actions/staff/staffActions.action?method=getStaffInfoList&resetpwd=1" ,type="redirect")
,@Result(name = StaffActionConst.ResetStaffPwd_Fialed,location = "/actions/staff/staffActions.action?method=getStaffInfoList&resetpwd=0" ,type="redirect")
})
@SuppressWarnings("unchecked")
public class StaffAction extends AbstractAction implements
ModelDriven<StaffActionModel> {
private static final long serialVersionUID = -7604937715777424700L;
private StaffActionModel actionModel = new StaffActionModel();
@Resource
private StaffService staffService;
@Resource
private RoleService roleService;
private Collection<LMS_Roles> addStaffRoles;
private LMS_Staffs staffInfo;
private Collection<LMS_Staffs> staffList;
private Collection<AuthorInfo> staffAuthors;
public String staffSignIn() {
String userName = actionModel.getLoginName();
String passWord = actionModel.getPassWord();
LMS_Staffs loginStaff = staffService.staffLogin(userName, passWord);
if (loginStaff != null) {
staffAuthors = new LinkedList<AuthorInfo>();
String [] authors = loginStaff.getRole().getAuthors().split(";");
//XMLUtility xmlUtility = new XMLUtility(SiteConfig.AppPath+"/WEB-INF/xml/pop.xml");
XMLUtility xmlUtility = new XMLUtility("D:\\xml\\pop.xml");
Collection<Element> authorElements = xmlUtility.getRootElement().elements();
for (String author : authors) {
for (Element element : authorElements) {
String nameValue = element.attribute("name").getValue();
String codeValue = element.attribute("code").getValue();
String urlValue = element.attribute("url").getValue();
String iconValue = element.attribute("icon").getValue();
AuthorInfo authorInfo = new AuthorInfo();
if (codeValue.equals(author)) {
authorInfo.setName(nameValue);
authorInfo.setCode(codeValue);
authorInfo.setUrl(urlValue);
authorInfo.setIcon(iconValue);
staffAuthors.add(authorInfo);
}
}
}
super.setSession(SiteConfig.SessionUserKey, new SessionUser(loginStaff));
logger.info("用户:"+loginStaff.getLoginName()+"已登录!");
return StaffActionConst.StaffSignIn_Success;
}
registerScript("fnPasswordError();",true);
return StaffActionConst.StaffSignIn_Fialed;
}
public String staffSignOut() {
SessionUser sessionUser = getSessionUser();
super.getSession().removeAttribute(SiteConfig.SessionUserKey);
logger.info("用户:"+sessionUser.getLoginName()+"已退出!");
return StaffActionConst.StaffSignOut_Success;
}
public String staffChangePassword(){
SessionUser sessionUser = getSessionUser();
int changeResult = staffService.changePassword(sessionUser.getLoginName(), actionModel.getPassWord(), actionModel.getNewPassWord());
if (changeResult == 0) {
registerScript("fnOldPasswordError();", true);
logger.error("用户:"+sessionUser.getLoginName()+"修改密码,旧密码出错!");
return StaffActionConst.StaffChangePassword_OldPwdError;
}
registerScript("fnChangePasswordSuccess();", true);
logger.info("用户:"+sessionUser.getLoginName()+"已修改新密码!");
return StaffActionConst.StaffChangePassword_Success;
}
public String initialAddStaffInfo(){
this.addStaffRoles = roleService.getAllRoles();
return StaffActionConst.InitialAddStaffInfo_Success;
}
public String addStaffInfo(){
this.addStaffRoles = roleService.getAllRoles();
int excResult = this.staffService.addNewStaffInfo(this.actionModel.getStaffName(), this.actionModel.getStaffRole());
if(excResult == 1){
logger.info("添加新员工:"+this.actionModel.getStaffName()+"成功!");
registerScript("fnAddNewStaffSuccess();", true);
}else{
logger.error("添加新员工失败:"+this.actionModel.getStaffName()+"已存在!");
registerScript("fnStaffNameIsExist();", true);
}
return StaffActionConst.AddStaffInfo_Success;
}
public String editStaffInfo(){
this.addStaffRoles = roleService.getAllRoles();
LMS_Staffs staffInfo = staffService.getStaffByStaffID(actionModel.getStaffID());
staffInfo.setName(actionModel.getStaffName());
LMS_Roles roleInfo = roleService.getOneRole(actionModel.getStaffRole());
staffInfo.setRole(roleInfo);
int updateResult = staffService.updateStaff(staffInfo);
if (updateResult == 0) {
registerScript("fnEditStaffNameIsExist();", true);
return StaffActionConst.EditStaffInfo_NameIsExist;
}
registerScript("fnEditStaffSuccess();", true);
return StaffActionConst.EditStaffInfo_Success;
}
public String getOneStaffInfo(){
this.addStaffRoles = roleService.getAllRoles();
this.staffInfo = staffService.getStaffByStaffID(actionModel.getStaffID());
return StaffActionConst.GetStaffByStaffID_Success;
}
public String completeStaffInfo(){
SessionUser sessionUser = getSessionUser();
try {
LMS_Staffs staffInfo = staffService.getStaffByUserName(sessionUser.getLoginName());
BeanUtility.copyProperties(actionModel, staffInfo);
staffService.updateStaffInfo(staffInfo);
registerScript("fnCompleteStaffInfo();", true);
logger.info(sessionUser.getLoginName()+"已完善个人资料!");
} catch (Exception e) {
e.printStackTrace();
logger.error(sessionUser.getLoginName()+"完善资料出错:"+e.getMessage());
}
return
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
毕业设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,已获高分通过项目。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以作为毕设、课程设计使用。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 里面有部署教程,项目都经过严格调试,确保可以运行! 1. 技术组成 后台框架:SpringBoot 前端:Vue 数据库:MySQL Maven 开发环境:JDK、IDEA、Tomcat 2. 部署教程 https://blog.junxu666.top/p/49037.html 如果需要指导,也可以私信联系我
资源推荐
资源详情
资源评论
收起资源包目录
基于 SpringBoot + vue 的员工工作日志管理系统+数据库(毕业设计,包括源码,教程).zip (495个子文件)
StaffAction.class 11KB
WorkReportAction.class 11KB
LogAction.class 11KB
AbstractAction.class 10KB
AbstractDao.class 9KB
TaskAction.class 9KB
SectionAction.class 8KB
Pages.class 7KB
AjaxAction.class 7KB
StaffServiceImpl.class 7KB
WorkReportServiceImpl.class 7KB
ProjectAction.class 6KB
RoleAction.class 6KB
LMS_Tasks.class 5KB
Log4jFormatHTMLLayout.class 5KB
LMS_Sections.class 4KB
LMS_WorkReports.class 4KB
ApplicationInitListener.class 4KB
Log4jRollingFileAppender.class 4KB
LMS_Logs.class 4KB
RoleServiceImpl.class 3KB
LMS_Staffs.class 3KB
AbstractSpringStruts2JUnit4.class 3KB
LogActionModel.class 3KB
ProjectServiceImpl.class 3KB
TaskServiceImpl.class 3KB
WorkReportActionModel.class 3KB
LMS_Projects.class 3KB
TaskActionModel.class 3KB
SectionServiceImpl.class 3KB
SectionActionModel.class 3KB
LMS_LogFreeType.class 3KB
BeanUtility.class 3KB
PageTag.class 3KB
LogServiceImpl.class 3KB
StaffActionModel.class 3KB
ToolUtil.class 2KB
LogActionTest.class 2KB
Page.class 2KB
SpringBeanUtility.class 2KB
StaffActionTest.class 2KB
WorkReportDao.class 2KB
ProjectActionModel.class 2KB
LMS_SectionStatus.class 2KB
LMS_TaskStatus.class 2KB
LMS_TaskLevel.class 2KB
LMS_WorkReportRemindStatus.class 2KB
LMS_Roles.class 2KB
LMS_WorkReportStatus.class 2KB
WorkReportService.class 2KB
LMS_LogType.class 2KB
StaffActionConst.class 2KB
AbstractDao$1.class 1KB
StaffDao.class 1KB
RoleActionModel.class 1KB
SessionUser.class 1KB
StaffService.class 1KB
WorkReportActionConst.class 1KB
AuthorInfo.class 1KB
SectionDao.class 1004B
RoleDao.class 981B
TaskDao.class 979B
SectionActionConst.class 919B
RoleActionConst.class 908B
ProjectDao.class 904B
KeyValue.class 852B
LogActionConst.class 851B
ProjectActionConst.class 831B
TaskActionConst.class 798B
SiteConfig.class 792B
IllegalCharacterFilter.class 782B
LogDao.class 780B
LogService.class 682B
ProjectService.class 631B
SessionListener.class 614B
ServiceImplBase.class 575B
TaskService.class 515B
SectionService.class 509B
AbstractActionConst.class 451B
RoleService.class 435B
.classpath 5KB
org.eclipse.wst.common.component 460B
org.eclipse.wst.jsdt.ui.superType.container 44B
bootstrap.css 117KB
bootstrap-ie6.css 112KB
bootstrap-ie6.min.css 93KB
jquery-ui-1.10.0.custom.css 59KB
jquery-ui-1.9.2.custom.css 58KB
matrix-style.css 32KB
messenger-theme-future.css 16KB
messenger-theme-air.css 13KB
datetimepicker.css 12KB
zTreeStyle.css 6KB
messenger-spinner.css 6KB
qunit.css 4KB
scojs.css 4KB
messenger-theme-ice.css 4KB
jCal.css 4KB
messenger.css 3KB
main.css 3KB
共 495 条
- 1
- 2
- 3
- 4
- 5
资源评论
- AHHHHHHHH!2024-02-24资源内容详细,总结地很全面,与描述的内容一致,对我启发很大,学习了。
gdutxiaoxu
- 粉丝: 1520
- 资源: 2910
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功