Browse Source

车辆信息、会议室管理、会议申请、人员维护

shenji 2 years ago
parent
commit
ecbf3e5a54
24 changed files with 1335 additions and 0 deletions
  1. 171 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/CarController.java
  2. 171 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/MeetingApplyController.java
  3. 161 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/MeetingRoomController.java
  4. 171 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/StaffController.java
  5. 100 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/Car.java
  6. 114 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/MeetingApply.java
  7. 71 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/MeetingRoom.java
  8. 139 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/Staff.java
  9. 17 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/CarMapper.java
  10. 17 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/MeetingApplyMapper.java
  11. 17 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/MeetingRoomMapper.java
  12. 17 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/StaffMapper.java
  13. 5 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/CarMapper.xml
  14. 5 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/MeetingApplyMapper.xml
  15. 5 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/MeetingRoomMapper.xml
  16. 5 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/StaffMapper.xml
  17. 14 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/ICarService.java
  18. 16 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IMeetingApplyService.java
  19. 14 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IMeetingRoomService.java
  20. 14 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IStaffService.java
  21. 19 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/CarServiceImpl.java
  22. 34 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/MeetingApplyServiceImpl.java
  23. 19 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/MeetingRoomServiceImpl.java
  24. 19 0
      jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/StaffServiceImpl.java

+ 171 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/CarController.java

@@ -0,0 +1,171 @@
+package org.jeecg.modules.oa.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.oa.entity.Car;
+import org.jeecg.modules.oa.service.ICarService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+ /**
+ * @Description: 车辆信息
+ * @Author: jeecg-boot
+ * @Date:   2022-09-25
+ * @Version: V1.0
+ */
+@Api(tags="车辆信息")
+@RestController
+@RequestMapping("/oa/car")
+@Slf4j
+public class CarController extends JeecgController<Car, ICarService> {
+	@Autowired
+	private ICarService carService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param car
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "车辆信息-分页列表查询")
+	@ApiOperation(value="车辆信息-分页列表查询", notes="车辆信息-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(Car car,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<Car> queryWrapper = QueryGenerator.initQueryWrapper(car, req.getParameterMap());
+		Page<Car> page = new Page<Car>(pageNo, pageSize);
+		IPage<Car> pageList = carService.page(page, queryWrapper);
+		return Result.ok(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param car
+	 * @return
+	 */
+	@AutoLog(value = "车辆信息-添加")
+	@ApiOperation(value="车辆信息-添加", notes="车辆信息-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody Car car) {
+		carService.save(car);
+		return Result.ok("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param car
+	 * @return
+	 */
+	@AutoLog(value = "车辆信息-编辑")
+	@ApiOperation(value="车辆信息-编辑", notes="车辆信息-编辑")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody Car car) {
+		carService.updateById(car);
+		return Result.ok("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "车辆信息-通过id删除")
+	@ApiOperation(value="车辆信息-通过id删除", notes="车辆信息-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		carService.removeById(id);
+		return Result.ok("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "车辆信息-批量删除")
+	@ApiOperation(value="车辆信息-批量删除", notes="车辆信息-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.carService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.ok("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "车辆信息-通过id查询")
+	@ApiOperation(value="车辆信息-通过id查询", notes="车辆信息-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		Car car = carService.getById(id);
+		if(car==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.ok(car);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param car
+    */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, Car car) {
+        return super.exportXls(request, car, Car.class, "车辆信息");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, Car.class);
+    }
+
+}

+ 171 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/MeetingApplyController.java

@@ -0,0 +1,171 @@
+package org.jeecg.modules.oa.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.oa.entity.MeetingApply;
+import org.jeecg.modules.oa.entity.MeetingRoom;
+import org.jeecg.modules.oa.service.IMeetingApplyService;
+import org.jeecg.modules.oa.service.IMeetingRoomService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+
+ /**
+ * @Description: 会议室申请
+ * @Author: jeecg-boot
+ * @Date:   2022-09-02
+ * @Version: V1.0
+ */
+@Api(tags="会议室申请")
+@RestController
+@RequestMapping("/oa/meetingApply")
+@Slf4j
+public class MeetingApplyController extends JeecgController<MeetingApply, IMeetingApplyService> {
+	@Autowired
+	private IMeetingApplyService meetingApplyService;
+	 @Autowired
+	 private IMeetingRoomService meetingRoomService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param meetingApply
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "会议室申请-分页列表查询")
+	@ApiOperation(value="会议室申请-分页列表查询", notes="会议室申请-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(MeetingApply meetingApply,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<MeetingApply> queryWrapper = QueryGenerator.initQueryWrapper(meetingApply, req.getParameterMap());
+		Page<MeetingApply> page = new Page<MeetingApply>(pageNo, pageSize);
+		IPage<MeetingApply> pageList = meetingApplyService.page(page, queryWrapper);
+		return Result.ok(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param meetingApply
+	 * @return
+	 */
+	@AutoLog(value = "会议室申请-添加")
+	@ApiOperation(value="会议室申请-添加", notes="会议室申请-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody MeetingApply meetingApply) {
+		MeetingApply apply = meetingApplyService.checkApply(meetingApply.getRoomId(), meetingApply.getStartTime(), meetingApply.getEndTime() , null);
+		if (apply != null) {
+			return Result.error("该时间段,会议室正在使用中,请重新选择");
+		}
+		MeetingRoom room = meetingRoomService.getById(meetingApply.getRoomId());
+		meetingApply.setPlace(room.getName());
+		meetingApplyService.save(meetingApply);
+		return Result.ok("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param meetingApply
+	 * @return
+	 */
+	@AutoLog(value = "会议室申请-编辑")
+	@ApiOperation(value="会议室申请-编辑", notes="会议室申请-编辑")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody MeetingApply meetingApply) {
+		MeetingApply apply = meetingApplyService.checkApply(meetingApply.getRoomId(), meetingApply.getStartTime(), meetingApply.getEndTime(), meetingApply.getId());
+		if (apply != null) {
+			return Result.error("该时间段,会议室正在使用中,请重新选择");
+		}
+		MeetingRoom room = meetingRoomService.getById(meetingApply.getRoomId());
+		meetingApply.setPlace(room.getName());
+		meetingApplyService.updateById(meetingApply);
+		return Result.ok("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "会议室申请-通过id删除")
+	@ApiOperation(value="会议室申请-通过id删除", notes="会议室申请-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		meetingApplyService.removeById(id);
+		return Result.ok("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "会议室申请-批量删除")
+	@ApiOperation(value="会议室申请-批量删除", notes="会议室申请-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.meetingApplyService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.ok("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "会议室申请-通过id查询")
+	@ApiOperation(value="会议室申请-通过id查询", notes="会议室申请-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		MeetingApply meetingApply = meetingApplyService.getById(id);
+		if(meetingApply==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.ok(meetingApply);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param meetingApply
+    */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, MeetingApply meetingApply) {
+        return super.exportXls(request, meetingApply, MeetingApply.class, "会议室申请");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, MeetingApply.class);
+    }
+
+}

+ 161 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/MeetingRoomController.java

@@ -0,0 +1,161 @@
+package org.jeecg.modules.oa.controller;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.modules.oa.entity.MeetingRoom;
+import org.jeecg.modules.oa.service.IMeetingRoomService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @Description: 会议室管理
+ * @Author: jeecg-boot
+ * @Date:   2022-09-02
+ * @Version: V1.0
+ */
+@Api(tags="会议室管理")
+@RestController
+@RequestMapping("/oa/meetingRoom")
+@Slf4j
+public class MeetingRoomController extends JeecgController<MeetingRoom, IMeetingRoomService> {
+	@Autowired
+	private IMeetingRoomService meetingRoomService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param meetingRoom
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "会议室管理-分页列表查询")
+	@ApiOperation(value="会议室管理-分页列表查询", notes="会议室管理-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(MeetingRoom meetingRoom,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<MeetingRoom> queryWrapper = QueryGenerator.initQueryWrapper(meetingRoom, req.getParameterMap());
+		Page<MeetingRoom> page = new Page<MeetingRoom>(pageNo, pageSize);
+		IPage<MeetingRoom> pageList = meetingRoomService.page(page, queryWrapper);
+		return Result.ok(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param meetingRoom
+	 * @return
+	 */
+	@AutoLog(value = "会议室管理-添加")
+	@ApiOperation(value="会议室管理-添加", notes="会议室管理-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody MeetingRoom meetingRoom) {
+		meetingRoomService.save(meetingRoom);
+		return Result.ok("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param meetingRoom
+	 * @return
+	 */
+	@AutoLog(value = "会议室管理-编辑")
+	@ApiOperation(value="会议室管理-编辑", notes="会议室管理-编辑")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody MeetingRoom meetingRoom) {
+		meetingRoomService.updateById(meetingRoom);
+		return Result.ok("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "会议室管理-通过id删除")
+	@ApiOperation(value="会议室管理-通过id删除", notes="会议室管理-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		meetingRoomService.removeById(id);
+		return Result.ok("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "会议室管理-批量删除")
+	@ApiOperation(value="会议室管理-批量删除", notes="会议室管理-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.meetingRoomService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.ok("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "会议室管理-通过id查询")
+	@ApiOperation(value="会议室管理-通过id查询", notes="会议室管理-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		MeetingRoom meetingRoom = meetingRoomService.getById(id);
+		if(meetingRoom==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.ok(meetingRoom);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param meetingRoom
+    */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, MeetingRoom meetingRoom) {
+        return super.exportXls(request, meetingRoom, MeetingRoom.class, "会议室管理");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, MeetingRoom.class);
+    }
+
+	 @GetMapping(value = "/all")
+	 public Result<?> queryAll() {
+		 List<MeetingRoom> rooms = meetingRoomService.list();
+		 return Result.ok(rooms);
+	 }
+}

+ 171 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/controller/StaffController.java

@@ -0,0 +1,171 @@
+package org.jeecg.modules.oa.controller;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.modules.oa.entity.Staff;
+import org.jeecg.modules.oa.service.IStaffService;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.jeecg.common.system.base.controller.JeecgController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+import com.alibaba.fastjson.JSON;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.jeecg.common.aspect.annotation.AutoLog;
+
+ /**
+ * @Description: 人员维护
+ * @Author: jeecg-boot
+ * @Date:   2022-09-25
+ * @Version: V1.0
+ */
+@Api(tags="人员维护")
+@RestController
+@RequestMapping("/oa/staff")
+@Slf4j
+public class StaffController extends JeecgController<Staff, IStaffService> {
+	@Autowired
+	private IStaffService staffService;
+	
+	/**
+	 * 分页列表查询
+	 *
+	 * @param staff
+	 * @param pageNo
+	 * @param pageSize
+	 * @param req
+	 * @return
+	 */
+	@AutoLog(value = "人员维护-分页列表查询")
+	@ApiOperation(value="人员维护-分页列表查询", notes="人员维护-分页列表查询")
+	@GetMapping(value = "/list")
+	public Result<?> queryPageList(Staff staff,
+								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+								   HttpServletRequest req) {
+		QueryWrapper<Staff> queryWrapper = QueryGenerator.initQueryWrapper(staff, req.getParameterMap());
+		Page<Staff> page = new Page<Staff>(pageNo, pageSize);
+		IPage<Staff> pageList = staffService.page(page, queryWrapper);
+		return Result.ok(pageList);
+	}
+	
+	/**
+	 *   添加
+	 *
+	 * @param staff
+	 * @return
+	 */
+	@AutoLog(value = "人员维护-添加")
+	@ApiOperation(value="人员维护-添加", notes="人员维护-添加")
+	@PostMapping(value = "/add")
+	public Result<?> add(@RequestBody Staff staff) {
+		staffService.save(staff);
+		return Result.ok("添加成功!");
+	}
+	
+	/**
+	 *  编辑
+	 *
+	 * @param staff
+	 * @return
+	 */
+	@AutoLog(value = "人员维护-编辑")
+	@ApiOperation(value="人员维护-编辑", notes="人员维护-编辑")
+	@PutMapping(value = "/edit")
+	public Result<?> edit(@RequestBody Staff staff) {
+		staffService.updateById(staff);
+		return Result.ok("编辑成功!");
+	}
+	
+	/**
+	 *   通过id删除
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "人员维护-通过id删除")
+	@ApiOperation(value="人员维护-通过id删除", notes="人员维护-通过id删除")
+	@DeleteMapping(value = "/delete")
+	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
+		staffService.removeById(id);
+		return Result.ok("删除成功!");
+	}
+	
+	/**
+	 *  批量删除
+	 *
+	 * @param ids
+	 * @return
+	 */
+	@AutoLog(value = "人员维护-批量删除")
+	@ApiOperation(value="人员维护-批量删除", notes="人员维护-批量删除")
+	@DeleteMapping(value = "/deleteBatch")
+	public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
+		this.staffService.removeByIds(Arrays.asList(ids.split(",")));
+		return Result.ok("批量删除成功!");
+	}
+	
+	/**
+	 * 通过id查询
+	 *
+	 * @param id
+	 * @return
+	 */
+	@AutoLog(value = "人员维护-通过id查询")
+	@ApiOperation(value="人员维护-通过id查询", notes="人员维护-通过id查询")
+	@GetMapping(value = "/queryById")
+	public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
+		Staff staff = staffService.getById(id);
+		if(staff==null) {
+			return Result.error("未找到对应数据");
+		}
+		return Result.ok(staff);
+	}
+
+    /**
+    * 导出excel
+    *
+    * @param request
+    * @param staff
+    */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, Staff staff) {
+        return super.exportXls(request, staff, Staff.class, "人员维护");
+    }
+
+    /**
+      * 通过excel导入数据
+    *
+    * @param request
+    * @param response
+    * @return
+    */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        return super.importExcel(request, response, Staff.class);
+    }
+
+}

+ 100 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/Car.java

@@ -0,0 +1,100 @@
+package org.jeecg.modules.oa.entity;
+
+import java.io.Serializable;
+import java.io.UnsupportedEncodingException;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.jeecg.common.aspect.annotation.Dict;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * @Description: 车辆信息
+ * @Author: jeecg-boot
+ * @Date:   2022-09-25
+ * @Version: V1.0
+ */
+@Data
+@TableName("car")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="car对象", description="车辆信息")
+public class Car implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ID_WORKER_STR)
+    @ApiModelProperty(value = "主键")
+    private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+    private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private java.util.Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+    @ApiModelProperty(value = "更新人")
+    private java.lang.String updateBy;
+	/**更新日期*/
+	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private java.util.Date updateTime;
+	/**所属部门*/
+	@Excel(name = "所属部门", width = 15)
+    @ApiModelProperty(value = "所属部门")
+    private java.lang.String sysOrgCode;
+	/**车牌号*/
+	@Excel(name = "车牌号", width = 15)
+    @ApiModelProperty(value = "车牌号")
+    private java.lang.String number;
+	/**车辆类型*/
+	@Excel(name = "车辆类型", width = 15)
+    @ApiModelProperty(value = "车辆类型")
+    private java.lang.String carType;
+	/**能源类型*/
+	@Excel(name = "能源类型", width = 15)
+    @ApiModelProperty(value = "能源类型")
+    private java.lang.String energyType;
+	/**座位数量*/
+	@Excel(name = "座位数量", width = 15)
+    @ApiModelProperty(value = "座位数量")
+    private java.lang.String seat;
+	/**购买价格*/
+	@Excel(name = "购买价格", width = 15)
+    @ApiModelProperty(value = "购买价格")
+    private java.lang.Double price;
+	/**购置日期*/
+	@Excel(name = "购置日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "购置日期")
+    private java.util.Date purchaseDate;
+	/**发动机号码*/
+	@Excel(name = "发动机号码", width = 15)
+    @ApiModelProperty(value = "发动机号码")
+    private java.lang.String engineNum;
+	/**车架号*/
+	@Excel(name = "车架号", width = 15)
+    @ApiModelProperty(value = "车架号")
+    private java.lang.String vin;
+	/**附件*/
+	@Excel(name = "附件", width = 15)
+    @ApiModelProperty(value = "附件")
+    private java.lang.String accesory;
+}

+ 114 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/MeetingApply.java

@@ -0,0 +1,114 @@
+package org.jeecg.modules.oa.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 会议室申请
+ * @Author: jeecg-boot
+ * @Date:   2022-09-02
+ * @Version: V1.0
+ */
+@Data
+@TableName("cd_meeting_apply")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="cd_meeting_apply对象", description="会议室申请")
+public class MeetingApply implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ID_WORKER_STR)
+    @ApiModelProperty(value = "主键")
+    private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+    private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private java.util.Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+    @ApiModelProperty(value = "更新人")
+    private java.lang.String updateBy;
+	/**更新日期*/
+	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private java.util.Date updateTime;
+	/**所属部门*/
+	@Excel(name = "所属部门", width = 15)
+    @ApiModelProperty(value = "所属部门")
+    private java.lang.String sysOrgCode;
+	/**会议名称*/
+	@Excel(name = "会议名称", width = 15)
+    @ApiModelProperty(value = "会议名称")
+    private java.lang.String name;
+	/**开始日期*/
+	@Excel(name = "开始日期", width = 15, format = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @ApiModelProperty(value = "开始日期")
+    private java.util.Date startTime;
+	/**结束日期*/
+	@Excel(name = "结束日期", width = 15, format = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @ApiModelProperty(value = "结束日期")
+    private java.util.Date endTime;
+	/**会议地点*/
+	@Excel(name = "会议地点", width = 15)
+    @ApiModelProperty(value = "会议地点")
+    private java.lang.String place;
+	/**主持人*/
+	@Excel(name = "主持人", width = 15)
+    @ApiModelProperty(value = "主持人")
+    private java.lang.String host;
+	/**记录人*/
+	@Excel(name = "记录人", width = 15)
+    @ApiModelProperty(value = "记录人")
+    private java.lang.String recorder;
+	/**博馆参会人*/
+	@Excel(name = "博馆参会人", width = 15)
+    @ApiModelProperty(value = "博馆参会人")
+    private java.lang.String participant;
+	/**其他参会人*/
+	@Excel(name = "其他参会人", width = 15)
+    @ApiModelProperty(value = "其他参会人")
+    private java.lang.String others;
+	/**会议议程*/
+	@Excel(name = "会议议程", width = 15)
+    @ApiModelProperty(value = "会议议程")
+    private java.lang.String schedule;
+	/**附件*/
+    @ApiModelProperty(value = "附件")
+    private java.lang.String accessory;
+	/**会议室id*/
+    @ApiModelProperty(value = "会议室id")
+    private java.lang.String roomId;
+	/**主持人id*/
+    @ApiModelProperty(value = "主持人id")
+    private java.lang.String hostId;
+	/**记录人id*/
+    @ApiModelProperty(value = "记录人id")
+    private java.lang.String recorderId;
+	/**博馆参会人id*/
+    @ApiModelProperty(value = "博馆参会人id")
+    private java.lang.String participantIds;
+}

+ 71 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/MeetingRoom.java

@@ -0,0 +1,71 @@
+package org.jeecg.modules.oa.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 会议室管理
+ * @Author: jeecg-boot
+ * @Date:   2022-09-02
+ * @Version: V1.0
+ */
+@Data
+@TableName("cd_meeting_room")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="cd_meeting_room对象", description="会议室管理")
+public class MeetingRoom implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ID_WORKER_STR)
+    @ApiModelProperty(value = "主键")
+    private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+    private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private java.util.Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+    @ApiModelProperty(value = "更新人")
+    private java.lang.String updateBy;
+	/**更新日期*/
+	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private java.util.Date updateTime;
+	/**所属部门*/
+	@Excel(name = "所属部门", width = 15)
+    @ApiModelProperty(value = "所属部门")
+    private java.lang.String sysOrgCode;
+	/**会议室名称*/
+	@Excel(name = "会议室名称", width = 15)
+    @ApiModelProperty(value = "会议室名称")
+    private java.lang.String name;
+	/**容纳人数*/
+	@Excel(name = "容纳人数", width = 15)
+    @ApiModelProperty(value = "容纳人数")
+    private java.lang.Integer capacity;
+	/**设备*/
+	@Excel(name = "设备", width = 15)
+    @ApiModelProperty(value = "设备")
+    private java.lang.String equipment;
+}

+ 139 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/entity/Staff.java

@@ -0,0 +1,139 @@
+package org.jeecg.modules.oa.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 人员维护
+ * @Author: jeecg-boot
+ * @Date:   2022-09-25
+ * @Version: V1.0
+ */
+@Data
+@TableName("cd_staff")
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@ApiModel(value="cd_staff对象", description="人员维护")
+public class Staff implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+	/**主键*/
+	@TableId(type = IdType.ID_WORKER_STR)
+    @ApiModelProperty(value = "主键")
+    private java.lang.String id;
+	/**创建人*/
+	@Excel(name = "创建人", width = 15)
+    @ApiModelProperty(value = "创建人")
+    private java.lang.String createBy;
+	/**创建日期*/
+	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "创建日期")
+    private java.util.Date createTime;
+	/**更新人*/
+	@Excel(name = "更新人", width = 15)
+    @ApiModelProperty(value = "更新人")
+    private java.lang.String updateBy;
+	/**更新日期*/
+	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "更新日期")
+    private java.util.Date updateTime;
+	/**所属部门*/
+	@Excel(name = "所属部门", width = 15)
+    @ApiModelProperty(value = "所属部门")
+    private java.lang.String sysOrgCode;
+	/**姓名*/
+	@Excel(name = "姓名", width = 15)
+    @ApiModelProperty(value = "姓名")
+    private java.lang.String name;
+	/**性别*/
+	@Excel(name = "性别", width = 15)
+    @ApiModelProperty(value = "性别")
+    private java.lang.String gender;
+	/**证件类型*/
+	@Excel(name = "证件类型", width = 15)
+    @ApiModelProperty(value = "证件类型")
+    private java.lang.String idType;
+	/**证件号码*/
+	@Excel(name = "证件号码", width = 15)
+    @ApiModelProperty(value = "证件号码")
+    private java.lang.String idNo;
+	/**入职日期*/
+	@Excel(name = "入职日期", width = 15, format = "yyyy-MM-dd")
+	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @ApiModelProperty(value = "入职日期")
+    private java.util.Date inDate;
+	/**部门*/
+	@Excel(name = "部门", width = 15)
+    @ApiModelProperty(value = "部门")
+    private java.lang.String dept;
+	/**岗位*/
+	@Excel(name = "岗位", width = 15)
+    @ApiModelProperty(value = "岗位")
+    private java.lang.String post;
+	/**员工类型*/
+	@Excel(name = "员工类型", width = 15)
+    @ApiModelProperty(value = "员工类型")
+    private java.lang.String type;
+	/**办公电话*/
+	@Excel(name = "办公电话", width = 15)
+    @ApiModelProperty(value = "办公电话")
+    private java.lang.String tel;
+	/**移动电话*/
+	@Excel(name = "移动电话", width = 15)
+    @ApiModelProperty(value = "移动电话")
+    private java.lang.String mobile;
+	/**邮件*/
+	@Excel(name = "邮件", width = 15)
+    @ApiModelProperty(value = "邮件")
+    private java.lang.String email;
+	/**岗位职能要求*/
+	@Excel(name = "岗位职能要求", width = 15)
+    @ApiModelProperty(value = "岗位职能要求")
+    private java.lang.String requirement;
+	/**个人简历*/
+    @ApiModelProperty(value = "个人简历")
+    private java.lang.String accesory;
+	/**工资开户行*/
+	@Excel(name = "工资开户行", width = 15)
+    @ApiModelProperty(value = "工资开户行")
+    private java.lang.String bank;
+	/**工资账号*/
+	@Excel(name = "工资账号", width = 15)
+    @ApiModelProperty(value = "工资账号")
+    private java.lang.String bankAccount;
+	/**公积金号*/
+	@Excel(name = "公积金号", width = 15)
+    @ApiModelProperty(value = "公积金号")
+    private java.lang.String cpf;
+	/**社保缴纳地*/
+	@Excel(name = "社保缴纳地", width = 15)
+    @ApiModelProperty(value = "社保缴纳地")
+    private java.lang.String ssPlace;
+	/**社保号*/
+	@Excel(name = "社保号", width = 15)
+    @ApiModelProperty(value = "社保号")
+    private java.lang.String ssAccount;
+	/**员工状态*/
+	@Excel(name = "员工状态", width = 15)
+    @ApiModelProperty(value = "员工状态")
+    private java.lang.String status;
+    /**部门*/
+    @ApiModelProperty(value = "部门Id")
+    private java.lang.String deptId;
+}

+ 17 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/CarMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.oa.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.oa.entity.Car;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 车辆信息
+ * @Author: jeecg-boot
+ * @Date:   2022-09-25
+ * @Version: V1.0
+ */
+public interface CarMapper extends BaseMapper<Car> {
+
+}

+ 17 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/MeetingApplyMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.oa.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.oa.entity.MeetingApply;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 会议室申请
+ * @Author: jeecg-boot
+ * @Date:   2022-09-02
+ * @Version: V1.0
+ */
+public interface MeetingApplyMapper extends BaseMapper<MeetingApply> {
+
+}

+ 17 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/MeetingRoomMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.oa.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.oa.entity.MeetingRoom;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 会议室管理
+ * @Author: jeecg-boot
+ * @Date:   2022-09-02
+ * @Version: V1.0
+ */
+public interface MeetingRoomMapper extends BaseMapper<MeetingRoom> {
+
+}

+ 17 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/StaffMapper.java

@@ -0,0 +1,17 @@
+package org.jeecg.modules.oa.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import org.jeecg.modules.oa.entity.Staff;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * @Description: 人员维护
+ * @Author: jeecg-boot
+ * @Date:   2022-09-25
+ * @Version: V1.0
+ */
+public interface StaffMapper extends BaseMapper<Staff> {
+
+}

+ 5 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/CarMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.oa.mapper.CarMapper">
+
+</mapper>

+ 5 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/MeetingApplyMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.oa.mapper.MeetingApplyMapper">
+
+</mapper>

+ 5 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/MeetingRoomMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.oa.mapper.MeetingRoomMapper">
+
+</mapper>

+ 5 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/mapper/xml/StaffMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.jeecg.modules.oa.mapper.StaffMapper">
+
+</mapper>

+ 14 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/ICarService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.oa.service;
+
+import org.jeecg.modules.oa.entity.Car;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 车辆信息
+ * @Author: jeecg-boot
+ * @Date:   2022-09-25
+ * @Version: V1.0
+ */
+public interface ICarService extends IService<Car> {
+
+}

+ 16 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IMeetingApplyService.java

@@ -0,0 +1,16 @@
+package org.jeecg.modules.oa.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.oa.entity.MeetingApply;
+
+import java.util.Date;
+
+/**
+ * @Description: 会议室申请
+ * @Author: jeecg-boot
+ * @Date:   2022-09-02
+ * @Version: V1.0
+ */
+public interface IMeetingApplyService extends IService<MeetingApply> {
+    MeetingApply checkApply(String roomId, Date startTime, Date endTime, String applyId);
+}

+ 14 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IMeetingRoomService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.oa.service;
+
+import org.jeecg.modules.oa.entity.MeetingRoom;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 会议室管理
+ * @Author: jeecg-boot
+ * @Date:   2022-09-02
+ * @Version: V1.0
+ */
+public interface IMeetingRoomService extends IService<MeetingRoom> {
+
+}

+ 14 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/IStaffService.java

@@ -0,0 +1,14 @@
+package org.jeecg.modules.oa.service;
+
+import org.jeecg.modules.oa.entity.Staff;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 人员维护
+ * @Author: jeecg-boot
+ * @Date:   2022-09-25
+ * @Version: V1.0
+ */
+public interface IStaffService extends IService<Staff> {
+
+}

+ 19 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/CarServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.oa.service.impl;
+
+import org.jeecg.modules.oa.entity.Car;
+import org.jeecg.modules.oa.mapper.CarMapper;
+import org.jeecg.modules.oa.service.ICarService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 车辆信息
+ * @Author: jeecg-boot
+ * @Date:   2022-09-25
+ * @Version: V1.0
+ */
+@Service
+public class CarServiceImpl extends ServiceImpl<CarMapper, Car> implements ICarService {
+
+}

+ 34 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/MeetingApplyServiceImpl.java

@@ -0,0 +1,34 @@
+package org.jeecg.modules.oa.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang.StringUtils;
+import org.jeecg.modules.oa.entity.MeetingApply;
+import org.jeecg.modules.oa.mapper.MeetingApplyMapper;
+import org.jeecg.modules.oa.service.IMeetingApplyService;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+/**
+ * @Description: 会议室申请
+ * @Author: jeecg-boot
+ * @Date:   2022-09-02
+ * @Version: V1.0
+ */
+@Service
+public class MeetingApplyServiceImpl extends ServiceImpl<MeetingApplyMapper, MeetingApply> implements IMeetingApplyService {
+
+    @Override
+    public MeetingApply checkApply(String roomId, Date startTime, Date endTime, String applyId) {
+        LambdaQueryWrapper<MeetingApply> wrapper = new LambdaQueryWrapper<>();
+        wrapper.le(MeetingApply::getStartTime,endTime);
+        wrapper.ge(MeetingApply::getEndTime,startTime);
+        wrapper.eq(MeetingApply::getRoomId, roomId);
+        if (StringUtils.isNotBlank(applyId)) {
+            wrapper.ne(MeetingApply::getId, applyId);
+        }
+
+        return this.getOne(wrapper);
+    }
+}

+ 19 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/MeetingRoomServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.oa.service.impl;
+
+import org.jeecg.modules.oa.entity.MeetingRoom;
+import org.jeecg.modules.oa.mapper.MeetingRoomMapper;
+import org.jeecg.modules.oa.service.IMeetingRoomService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 会议室管理
+ * @Author: jeecg-boot
+ * @Date:   2022-09-02
+ * @Version: V1.0
+ */
+@Service
+public class MeetingRoomServiceImpl extends ServiceImpl<MeetingRoomMapper, MeetingRoom> implements IMeetingRoomService {
+
+}

+ 19 - 0
jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/modules/oa/service/impl/StaffServiceImpl.java

@@ -0,0 +1,19 @@
+package org.jeecg.modules.oa.service.impl;
+
+import org.jeecg.modules.oa.entity.Staff;
+import org.jeecg.modules.oa.mapper.StaffMapper;
+import org.jeecg.modules.oa.service.IStaffService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * @Description: 人员维护
+ * @Author: jeecg-boot
+ * @Date:   2022-09-25
+ * @Version: V1.0
+ */
+@Service
+public class StaffServiceImpl extends ServiceImpl<StaffMapper, Staff> implements IStaffService {
+
+}