java springbootOA办公自动化系统:
主要功能模块:系统、用户、角色、考勤、流程、公告、邮件、任务、日程、计划、文件、笔记、通讯录、讨论区等多个模块管理
使用Maven进行项目管理,基于springboot框架开发的项目,mysql底层数据库,前端采用freemarker模板引擎,Bootstrap作为前端UI框架,集成了jpa、mybatis等框架。
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
List<Dept> depts = (List<Dept>) deptdao.findAll();
List<Position> positions = pdao.findByDeptidAndNameNotLike(1L, "%经理");
System.out.println(deptmanage);
List<User> formaluser = new ArrayList<>();
List<User> deptusers = udao.findByDept(dept);
for (User deptuser : deptusers) {
Position position = deptuser.getPosition();
System.out.println(deptuser.getRealName()+":"+position.getName());
if(!position.getName().endsWith("经理")){
formaluser.add(deptuser);
}
}
System.out.println(deptusers);
* 第一次进入部门管理页面
* @return
*/
@RequestMapping("deptmanage")
public String deptmanage(Model model) {
List<Dept> depts = (List<Dept>) deptdao.findAll();
System.out.println(depts);
model.addAttribute("depts",depts);
return "user/deptmanage";
}
@RequestMapping(value = "deptedit" ,method = RequestMethod.POST)
public String adddept(@Valid Dept dept,@RequestParam("xg") String xg,BindingResult br,Model model){
System.out.println(br.hasErrors());
System.out.println(br.getFieldError());
if(!br.hasErrors()){
System.out.println("没有错误");
Dept adddept = deptdao.save(dept);
if("add".equals(xg)){
System.out.println("新增拉");
Position jinli = new Position();
jinli.setDeptid(adddept.getDeptId());
jinli.setName("经理");
Position wenyuan = new Position();
Position manage = pdao.findByDeptidAndNameLike(deptid, "%经理").get(0);
newmanage.setPosition(manage);
deptnow.setDeptmanager(newmanageid);
deptdao.save(deptnow);
udao.save(newmanage);
}
model.addAttribute("deptid",deptid);
return "/readdept";
}
}
状态表格业务控制器:
@Controller
@RequestMapping("/")
public class StatusSysController {
Logger log=LoggerFactory.getLogger(getClass());
@Autowired
private StatusDao statusDao;
@Autowired
private StatusService statusService;
public String readdept(@RequestParam(value = "deptid") Long deptId,Model model){
Dept dept = deptdao.findOne(deptId);
User deptmanage = null;
if(dept.getDeptmanager()!=null){
deptmanage = udao.findOne(dept.getDeptmanager());
model.addAttribute("deptmanage",deptmanage);
}
List<Dept> depts = (List<Dept>) deptdao.findAll();
List<Position> positions = pdao.findByDeptidAndNameNotLike(1L, "%经理");
System.out.println(deptmanage);
List<User> formaluser = new ArrayList<>();
List<User> deptusers = udao.findByDept(dept);
for (User deptuser : deptusers) {
Position position = deptuser.getPosition();
System.out.println(deptuser.getRealName()+":"+position.getName());
req.setAttribute("menuObj", menu);
System.out.println(menu);
// 这里返回ResultVO对象,如果校验通过,ResultEnum.SUCCESS.getCode()返回的值为200;否则就是没有通过;
ResultVO res = BindingResultVOUtil.hasErrors(br);
// 校验失败
if (!ResultEnum.SUCCESS.getCode().equals(res.getCode())) {
List<Object> list = new MapToList<>().mapToList(res.getData());
req.setAttribute("errormess", list.get(0).toString());
// 代码调试阶段,下面是错误的相关信息;
System.out.println("list错误的实体类信息:" + menu);
System.out.println("list错误详情:" + list);
System.out.println("list错误第一条:" + list.get(0));
System.out.println("啊啊啊错误的信息——:" + list.get(0).toString());
// 下面的info信息是打印出详细的信息
log.info("getData:{}", res.getData());
log.info("getCode:{}", res.getCode());
log.info("getMsg:{}", res.getMsg());
}
// 校验通过,下面写自己的逻辑业务
else {
HttpSession session = req.getSession();
// 判断是否从编辑界面进来的,前面有"session.setAttribute("getId",getId);",在这里获取,并remove掉;
if (!StringUtils.isEmpty(session.getAttribute("statusid"))) {
Long menuId = (Long) session.getAttribute("statusid"); // 获取进入编辑界面的menuID值
menu.setStatusId(menuId);
@RequestMapping("deptandpositionchange")
public String deptandpositionchange(@RequestParam("positionid") Long positionid,
@RequestParam("changedeptid") Long changedeptid,
@RequestParam("userid") Long userid,
@RequestParam("deptid") Long deptid,
Model model){
User user = udao.findOne(userid);
Dept changedept = deptdao.findOne(changedeptid);
Position position = pdao.findOne(positionid);
user.setDept(changedept);
user.setPosition(position);
udao.save(user);
if(!StringUtils.isEmpty(req.getParameter("name"))){
String name="%"+req.getParameter("name")+"%";
req.setAttribute("statusList",statusDao.findByStatusNameLikeOrStatusModelLike(name, name));
}
else{
Iterable<SystemStatusList> statusList=statusDao.findAll();
req.setAttribute("statusList", statusList);
}
return "systemcontrol/statustable";
}
/**
* 状态编辑界面
* @param req
* @return
public String positioneditget(@RequestParam(value = "positionid",required=false) Long positionid,Model model){
if(positionid!=null){
Position position = pdao.findOne(positionid);
System.out.println(position);
Dept dept = ddao.findOne(position.getDeptid());
model.addAttribute("positiondept",dept);
model.addAttribute("position",position);
}
List<Dept> depts = (List<Dept>) ddao.findAll();
model.addAttribute("depts", depts);
return "user/positionedit";
}
@RequestMapping(value = "positionedit" ,method = RequestMethod.POST)
public String positioneditpost(Position position,Model model){
System.out.println(position);
Position psition2 = pdao.save(position);
if(psition2!=null){
model.addAttribute("success",1);
return "/positionmanage";
}
model.addAttribute("errormess","数据插入失败");
public String removeposition(@RequestParam("positionid") Long positionid,Model model){
pdao.delete(positionid);
model.addAttribute("success",1);
return "/positionmanage";
}
}
部门管理控制器:
@Controller
@RequestMapping("/")
public class DeptController {
@Autowired
DeptDao deptdao;
@Autowired
UserDao udao;
return "/deptmanage";
}
@RequestMapping("deptmanagerchange")
public String deptmanagerchange(@RequestParam(value="positionid",required=false) Long positionid,
@RequestParam(value="changedeptid",required=false) Long changedeptid,
@RequestParam(value="oldmanageid",required=false) Long oldmanageid,
@RequestParam(value="newmanageid",required=false) Long newmanageid,
@RequestParam("deptid") Long deptid,
Model model){
System.out.println("oldmanageid:"+oldmanageid);
System.out.println("newmanageid:"+newmanageid);
Dept deptnow = deptdao.findOne(deptid);
if(oldmanageid!=null){
User oldmanage = udao.findOne(oldmanageid);
Position namage = oldmanage.getPosition();
Dept changedept = deptdao.findOne(changedeptid);
Position changeposition = pdao.findOne(positionid);
*/
@RequestMapping("statustable")
public String statusTable(HttpServletRequest req){
if(!StringUtils.isEmpty(req.getParameter("name"))){
String name="%"+req.getParameter("name")+"%";
req.setAttribute("statusList",statusDao.findByStatusNameLikeOrStatusModelLike(name, name));
}
else{
Iterable<SystemStatusList> statusList=statusDao.findAll();
req.setAttribute("statusList", statusList);
}
return "systemcontrol/statustable";
}
/**