From fcedfb634d80f8d3a718649036156ae3b536ae7d Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期一, 24 二月 2025 10:37:44 +0800 Subject: [PATCH] 人员任职授权, 培训记录移植 --- cnas-personnel/src/main/resources/mapper/PersonRewardPunishmentRecordMapper.xml | 47 ++ cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonRewardPunishmentRecord.java | 61 ++ cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrainingRecordController.java | 59 ++ cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonJobResponsibilitiesServiceImpl.java | 113 ++++ cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonJobResponsibilitiesService.java | 27 + cnas-personnel/src/main/resources/static/training-record.docx | 0 cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonPostAuthorizationRecord.java | 74 +++ cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonJobResponsibilitiesDto.java | 16 cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonRewardPunishmentRecordDto.java | 14 cnas-personnel/src/main/resources/static/person-training.docx | 0 cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonRewardPunishmentRecordServiceImpl.java | 36 + cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonJobResponsibilities.java | 78 +++ cnas-personnel/src/main/resources/static/supervision-record.docx | 0 cnas-personnel/src/main/java/com/ruoyi/personnel/excel/PersonRewardPunishmentRecordExcel.java | 34 + cnas-personnel/src/main/resources/static/supervision-processing-sheet.docx | 0 cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonPersonnelCapacityService.java | 34 + cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonRewardPunishmentRecordMapper.java | 26 + cnas-personnel/src/main/resources/static/communication-deal.docx | 0 cnas-personnel/src/main/resources/static/super-vise-plan.docx | 0 cnas-personnel/src/main/resources/static/credentials-deal.docx | 0 cnas-personnel/src/main/resources/static/person-basic-info.docx | 0 cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonPersonnelCapacity.java | 114 ++++ cnas-personnel/src/main/resources/static/person-training-record.docx | 0 cnas-personnel/src/main/resources/mapper/PersonJobResponsibilitiesMapper.xml | 24 + cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonRewardPunishmentRecordService.java | 31 + cnas-personnel/src/main/resources/static/supervision-control-sheet.docx | 0 cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java | 94 ++++ cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonJobResponsibilitiesController.java | 60 ++ cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonPostAuthorizationRecordMapper.java | 20 cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPostAuthorizationRecordController.java | 66 ++ cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonPostAuthorizationRecordDto.java | 14 cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonPostAuthorizationRecordServiceImpl.java | 132 +++++ cnas-personnel/src/main/resources/mapper/PersonPostAuthorizationRecordMapper.xml | 23 + cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonPostAuthorizationRecordService.java | 27 + cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonJobResponsibilitiesMapper.java | 20 cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonRewardPunishmentRecordController.java | 100 ++++ cnas-personnel/src/main/resources/static/explain-deal.docx | 0 cnas-personnel/src/main/resources/static/personnel-capacity.docx | 0 38 files changed, 1,344 insertions(+), 0 deletions(-) diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonJobResponsibilitiesController.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonJobResponsibilitiesController.java new file mode 100644 index 0000000..615af7b --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonJobResponsibilitiesController.java @@ -0,0 +1,60 @@ +package com.ruoyi.personnel.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.personnel.dto.PersonJobResponsibilitiesDto; +import com.ruoyi.personnel.pojo.PersonJobResponsibilities; +import com.ruoyi.personnel.service.PersonJobResponsibilitiesService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 宀椾綅鑱岃矗 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-09 02:07:49 + */ +@Api(tags = "浜哄憳 - 宀椾綅鑱岃矗") +@RestController +@RequestMapping("/personJobResponsibilities") +public class PersonJobResponsibilitiesController { + @Autowired + private PersonJobResponsibilitiesService personJobResponsibilitiesService; + + @ApiOperation(value = "鏂板/鏇存柊 宀椾綅鑱岃矗") + @PostMapping("/personJobResponsibilitiesSave") + public Result<?> personJobResponsibilitiesSave(@RequestBody PersonJobResponsibilities personJobResponsibilities) { + personJobResponsibilitiesService.saveOrUpdate(personJobResponsibilities); + return Result.success(); + } + + + @ApiOperation(value = "鍒犻櫎 宀椾綅鑱岃矗") + @DeleteMapping("/personJobResponsibilitiesDelete") + public Result<?> personJobResponsibilitiesDelete(@RequestParam("id") Integer id) { + personJobResponsibilitiesService.removeById(id); + return Result.success(); + } + + + @ApiOperation(value = "鏌ヨ 宀椾綅鑱岃矗") + @GetMapping("/personJobResponsibilitiesSelect") + public Result<IPage<PersonJobResponsibilitiesDto>> personJobResponsibilitiesSelect(Page page, String userId, String departmentId, String userName) { + IPage<PersonJobResponsibilitiesDto> iPage = personJobResponsibilitiesService.personJobResponsibilitiesSelect(page, userId, departmentId, userName); + return Result.success(iPage); + } + + + @ApiOperation(value = "瀵煎嚭浠昏亴宀椾綅璇存槑璇�") + @PostMapping("/exportPersonJobResponsibilities") + public void exportPersonJobResponsibilities(Integer id, HttpServletResponse response){ + personJobResponsibilitiesService.exportPersonJobResponsibilities(id,response); + } +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java new file mode 100644 index 0000000..b98f1de --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPersonnelCapacityController.java @@ -0,0 +1,94 @@ +//package com.ruoyi.personnel.controller; +// +//import com.baomidou.mybatisplus.core.metadata.IPage; +//import com.baomidou.mybatisplus.core.toolkit.Wrappers; +//import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +//import com.yuanchu.mom.annotation.ValueAuth; +//import com.yuanchu.mom.common.GetLook; +//import com.yuanchu.mom.dto.PersonPersonnelCapacityDto; +//import com.yuanchu.mom.pojo.PersonPersonnelCapacity; +//import com.yuanchu.mom.service.PersonPersonnelCapacityService; +//import com.yuanchu.mom.vo.Result; +//import io.swagger.annotations.Api; +//import io.swagger.annotations.ApiOperation; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.web.bind.annotation.*; +// +//import javax.servlet.http.HttpServletResponse; +//import java.time.LocalDateTime; +// +///** +// * <p> +// * 浜哄憳鑳藉姏 鍓嶇鎺у埗鍣� +// * </p> +// * +// * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 +// * @since 2024-10-10 11:26:18 +// */ +//@Api(tags = "浜哄憳 - 浜哄憳鑳藉姏") +//@RestController +//@RequestMapping("/personPersonnelCapacity") +//public class PersonPersonnelCapacityController { +// +// @Autowired +// private PersonPersonnelCapacityService personPersonnelCapacityService; +// +// +// @ApiOperation(value = "鏂板/鏇存柊 浜哄憳鑳藉姏") +// @PostMapping("addOrUpdatePersonPersonnelCapacity") +// public Result<?> addOrUpdatePersonPersonnelCapacity(@RequestBody PersonPersonnelCapacity personPersonnelCapacity) { +// personPersonnelCapacityService.saveOrUpdate(personPersonnelCapacity); +// return Result.success(); +// } +// +// @ApiOperation(value = "鍒犻櫎 浜哄憳鑳藉姏") +// @DeleteMapping("deletePersonPersonnelCapacity") +// public Result<?> deletePersonPersonnelCapacity(@RequestParam("id") Integer id) { +// // 鍒犻櫎鏁版嵁 +// personPersonnelCapacityService.removeById(id); +// return Result.success(); +// } +// +// @ApiOperation(value = "鏌ヨ 浜哄憳鑳藉姏") +// @GetMapping("personPersonnelCapacityPage") +// public Result<IPage<PersonPersonnelCapacityDto>> personPersonnelCapacityPage(Page page, +// Integer departmentId, +// Integer userId, +// String userName) { +// return Result.success(personPersonnelCapacityService.personPersonnelCapacityPage(page, departmentId, userId, userName)); +// } +// +// @ApiOperation(value = "纭 浜哄憳鑳藉姏") +// @GetMapping("confirmPersonnelCapability") +// public Result<?> confirmPersonnelCapability(@RequestParam("id") Integer id) { +// Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId"); +// personPersonnelCapacityService.update(Wrappers.<PersonPersonnelCapacity>lambdaUpdate() +// .eq(PersonPersonnelCapacity::getId, id) +// .set(PersonPersonnelCapacity::getConfirmOperatingPersonnelId, userId) +// .set(PersonPersonnelCapacity::getConfirmDate, LocalDateTime.now())); +// return Result.success(); +// } +// +// /** +// * 瀵煎嚭浜哄憳鑳藉姏 +// * @return +// */ +// @ValueAuth +// @ApiOperation(value = "瀵煎嚭浜哄憳鑳藉姏") +// @GetMapping("/exportPersonnelCapacity") +// public void exportPersonnelCapacity(Integer id, HttpServletResponse response){ +// personPersonnelCapacityService.exportPersonnelCapacity(id, response); +// } +// +// /** +// * 鎻愪氦纭浜哄憳鑳藉姏 +// * @param personPersonnelCapacity +// * @return +// */ +// @ApiOperation(value = "鎻愪氦") +// @PostMapping("submitConfirmPersonnelCapability") +// public Result<?> submitConfirmPersonnelCapability(@RequestBody PersonPersonnelCapacity personPersonnelCapacity) { +// personPersonnelCapacityService.submitConfirmPersonnelCapability(personPersonnelCapacity); +// return Result.success(); +// } +//} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPostAuthorizationRecordController.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPostAuthorizationRecordController.java new file mode 100644 index 0000000..c65f312 --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonPostAuthorizationRecordController.java @@ -0,0 +1,66 @@ +package com.ruoyi.personnel.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.common.utils.FileSaveUtil; +import com.ruoyi.personnel.dto.PersonPostAuthorizationRecordDto; +import com.ruoyi.personnel.pojo.PersonPostAuthorizationRecord; +import com.ruoyi.personnel.service.PersonPostAuthorizationRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 浠昏亴鎺堟潈璁板綍 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-09 10:48:17 + */ +@Api(tags = "浜哄憳 - 浠昏亴鎺堟潈璁板綍") +@RestController +@RequestMapping("/personPostAuthorizationRecord") +public class PersonPostAuthorizationRecordController { + + @Autowired + private PersonPostAuthorizationRecordService personPostAuthorizationRecordService; + + @ApiOperation(value = "鏂板/鏇存柊 浠昏亴鎺堟潈璁板綍") + @PostMapping("/addOrUpdatePersonPostAuthorizationRecord") + public Result<?> addOrUpdatePersonPostAuthorizationRecord(@RequestBody PersonPostAuthorizationRecord personRewardPunishmentRecord) { + personPostAuthorizationRecordService.saveOrUpdate(personRewardPunishmentRecord); + return Result.success(); + } + + @ApiOperation(value = "鍒犻櫎 浠昏亴鎺堟潈璁板綍") + @DeleteMapping("/deletePersonPostAuthorizationRecord") + public Result<?> deletePersonPostAuthorizationRecord(@RequestParam("id") Integer id) { + // 鍒犻櫎鏂囦欢 + PersonPostAuthorizationRecord postAuthorizationRecord = personPostAuthorizationRecordService.getById(id); + FileSaveUtil.DeleteFile(postAuthorizationRecord.getSystemFileName()); + // 鍒犻櫎鏁版嵁 + personPostAuthorizationRecordService.removeById(id); + return Result.success(); + } + + + @ApiOperation(value = "鏌ヨ 浠昏亴鎺堟潈璁板綍") + @GetMapping("/PersonPostAuthorizationRecordPage") + public Result<IPage<PersonPostAuthorizationRecordDto>> PersonPostAuthorizationRecordPage(Page page, + Integer departLimsId, + Integer userId, + String userName) { + return Result.success(personPostAuthorizationRecordService.personPostAuthorizationRecordPage(page, departLimsId, userId, userName)); + } + + @ApiOperation(value = "瀵煎嚭宀椾綅鑱屼笟璧勬牸璇佷功") + @PostMapping("/exportPersonPostAuthorizationRecord") + public void exportPersonPostAuthorizationRecord(Integer id, HttpServletResponse response){ + personPostAuthorizationRecordService.exportPersonPostAuthorizationRecord(id,response); + } +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonRewardPunishmentRecordController.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonRewardPunishmentRecordController.java new file mode 100644 index 0000000..72f4e43 --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonRewardPunishmentRecordController.java @@ -0,0 +1,100 @@ +package com.ruoyi.personnel.controller; + +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.personnel.dto.PersonRewardPunishmentRecordDto; +import com.ruoyi.personnel.excel.PersonRewardPunishmentRecordExcel; +import com.ruoyi.personnel.pojo.PersonRewardPunishmentRecord; +import com.ruoyi.personnel.service.PersonRewardPunishmentRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.SneakyThrows; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * <p> + * 濂栨儵璁板綍 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-08 11:25:02 + */ +@Api(tags = "浜哄憳 - 濂栨儵璁板綍") +@RestController +@RequestMapping("/personRewardPunishmentRecord") +public class PersonRewardPunishmentRecordController { + + @Autowired + private PersonRewardPunishmentRecordService personRewardPunishmentRecordService; + + @ApiOperation(value = "鏂板/鏇存柊 濂栨儵璁板綍") + @PostMapping("/addOrUpdateRewardPunishment") + public Result<?> PersonTrainingSave(@RequestBody PersonRewardPunishmentRecord personRewardPunishmentRecord) { + personRewardPunishmentRecordService.saveOrUpdate(personRewardPunishmentRecord); + return Result.success(); + } + + @ApiOperation(value = "鍒犻櫎濂栨儵璁板綍") + @DeleteMapping("/deleteRewardPunishment") + public Result<?> deleteRewardPunishment(@RequestParam("id") Integer id) { + personRewardPunishmentRecordService.removeById(id); + return Result.success(); + } + + @ApiOperation(value = "鏌ヨ 濂栨儵璁板綍") + @GetMapping("/rewardPunishmentPage") + @SneakyThrows + public Result<IPage<PersonRewardPunishmentRecordDto>> rewardPunishmentPage(Page page, + Integer userId, + Integer departmentId, + String userName, + @RequestParam(value = "startTime",required = false) String startTimeStr, + @RequestParam(value = "endTime",required = false) String endTimeStr) { + Date startTime = null; + Date endTime = null; + if (StringUtils.isNotEmpty(startTimeStr) || StringUtils.isNotEmpty(endTimeStr)) { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + startTime = formatter.parse(startTimeStr); + endTime = formatter.parse(endTimeStr); + } + return Result.success(personRewardPunishmentRecordService.rewardPunishmentPage(page, userId, userName, startTime, endTime, departmentId)); + } + + @ApiOperation(value = "濂栨儵璁板綍瀵煎嚭") + @GetMapping("/rewardPunishmentExport") + public void rewardPunishmentExport(Integer userId, + Integer departmentId, + String userName, + @RequestParam(value = "startTime",required = false) String startTimeStr, + @RequestParam(value = "endTime",required = false) String endTimeStr, + HttpServletResponse response) throws Exception { + Date startTime = null; + Date endTime = null; + if (StringUtils.isNotEmpty(startTimeStr) || StringUtils.isNotEmpty(endTimeStr)) { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + startTime = formatter.parse(startTimeStr); + endTime = formatter.parse(endTimeStr); + } + List<PersonRewardPunishmentRecordExcel> data = personRewardPunishmentRecordService.rewardPunishmentExport(userId, departmentId, userName, startTime, endTime); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setHeader("requestType", "excel"); + response.setHeader("Access-Control-Expose-Headers", "requestType"); + // 璁剧疆鍗曞厓鏍兼牱寮� + // 淇濆瓨鍒扮涓�涓猻heet涓� + EasyExcel.write(response.getOutputStream()) + .head(PersonRewardPunishmentRecordExcel.class) + .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀 + .sheet() + .doWrite(data); + } +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrainingRecordController.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrainingRecordController.java new file mode 100644 index 0000000..5385869 --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/controller/PersonTrainingRecordController.java @@ -0,0 +1,59 @@ +package com.ruoyi.personnel.controller; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.Result; +import com.ruoyi.personnel.dto.PersonTrainingRecordListDto; +import com.ruoyi.personnel.dto.TrainingRecordPersonDetailedDto; +import com.ruoyi.personnel.service.PersonTrainingRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 鍩硅璁″垝 鍓嶇鎺у埗鍣� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-11 01:11:49 + */ +@Api(tags = "浜哄憳 - 鍩硅璁板綍") +@RestController +@RequestMapping("/personTrainingRecord") +public class PersonTrainingRecordController { + + @Autowired + private PersonTrainingRecordService personTrainingRecordService; + + @ApiOperation(value = "鏌ヨ浜哄憳 鍩硅璁板綍") + @GetMapping("trainingSelectTrainingRecord") + public Result<IPage<PersonTrainingRecordListDto>> trainingSelectTrainingRecord(Page page, String userName, Integer userId, Integer departmentId) { + IPage<PersonTrainingRecordListDto> iPage = personTrainingRecordService.personnelTrainingPersonnel(page, userName, userId, departmentId); + return Result.success(iPage); + } + + + @ApiOperation(value = "鏌ヨ浜哄憳鏄庣粏 鍩硅璁板綍") + @GetMapping("queryPersonnelDetails") + public Result<IPage<TrainingRecordPersonDetailedDto>> queryPersonnelDetails(Page page, Integer userId, Integer trainingDate) { + IPage<TrainingRecordPersonDetailedDto> iPage = personTrainingRecordService.queryPersonnelDetailsOfUserIdAndYear(page, userId, trainingDate); // 鏂板鏍规嵁骞翠唤鏌ヨ + return Result.success(iPage); + } + + /** + * 瀵煎嚭浜哄憳鍩硅璁板綍 + * @return + */ + @ApiOperation(value = "瀵煎嚭浜哄憳鍩硅璁板綍") + @GetMapping("/exportTrainingRecord") + public void exportTrainingRecord(Integer userId, Integer trainingDate, HttpServletResponse response){ + personTrainingRecordService.exportTrainingRecordAddTrainingDate(userId, trainingDate, response);// 鏂板鏍规嵁骞翠唤鏌ヨ + + } +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonJobResponsibilitiesDto.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonJobResponsibilitiesDto.java new file mode 100644 index 0000000..096f8d3 --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonJobResponsibilitiesDto.java @@ -0,0 +1,16 @@ +package com.ruoyi.personnel.dto; + +import com.ruoyi.personnel.pojo.PersonJobResponsibilities; +import lombok.Data; + +@Data +public class PersonJobResponsibilitiesDto extends PersonJobResponsibilities { + + private String incumbentName; + + private String supervisorName; + + private String departLimsName; + + private String account; +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonPostAuthorizationRecordDto.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonPostAuthorizationRecordDto.java new file mode 100644 index 0000000..33dd76c --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonPostAuthorizationRecordDto.java @@ -0,0 +1,14 @@ +package com.ruoyi.personnel.dto; + +import com.ruoyi.personnel.pojo.PersonPostAuthorizationRecord; +import lombok.Data; + +@Data +public class PersonPostAuthorizationRecordDto extends PersonPostAuthorizationRecord { + + private String userName; + + private String account; + + private String createUserName; +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonRewardPunishmentRecordDto.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonRewardPunishmentRecordDto.java new file mode 100644 index 0000000..5be270b --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/dto/PersonRewardPunishmentRecordDto.java @@ -0,0 +1,14 @@ +package com.ruoyi.personnel.dto; + +import com.ruoyi.personnel.pojo.PersonRewardPunishmentRecord; +import lombok.Data; + +@Data +public class PersonRewardPunishmentRecordDto extends PersonRewardPunishmentRecord { + + private String userName; + + private String account; + + private String createUserName; +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/excel/PersonRewardPunishmentRecordExcel.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/excel/PersonRewardPunishmentRecordExcel.java new file mode 100644 index 0000000..84456f3 --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/excel/PersonRewardPunishmentRecordExcel.java @@ -0,0 +1,34 @@ +package com.ruoyi.personnel.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import lombok.Data; + +@Data +public class PersonRewardPunishmentRecordExcel { + @ExcelProperty("鍛樺伐缂栧彿") + private String account; + + @ExcelProperty("濮撳悕") + private String userName; + + @ExcelProperty("濂栨儵绾у埆") + private String rewardPunishLevel; + + @ExcelProperty("濂栨儵鍚嶇О") + private String rewardPunishName; + + @ExcelProperty("濂栨儵鏃堕棿") + private String rewardPunishTime; + + @ExcelProperty("濂栨儵鍗曚綅") + private String rewardPunishWorkUnit; + + @ExcelProperty("濂栨儵鍐呭") + private String rewardPunishContent; + + @ExcelProperty("鍒涘缓鏃堕棿") + private String createTime; + + @ExcelProperty("鍒涘缓浜�") + private String createUserName; +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonJobResponsibilitiesMapper.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonJobResponsibilitiesMapper.java new file mode 100644 index 0000000..a46e3bf --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonJobResponsibilitiesMapper.java @@ -0,0 +1,20 @@ +package com.ruoyi.personnel.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.personnel.dto.PersonJobResponsibilitiesDto; +import com.ruoyi.personnel.pojo.PersonJobResponsibilities; + +/** + * <p> + * 宀椾綅鑱岃矗 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-09 02:07:49 + */ +public interface PersonJobResponsibilitiesMapper extends BaseMapper<PersonJobResponsibilities> { + + IPage<PersonJobResponsibilitiesDto> personJobResponsibilitiesSelect(Page page, String userId, String departmentId, String userName); +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonPostAuthorizationRecordMapper.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonPostAuthorizationRecordMapper.java new file mode 100644 index 0000000..1121811 --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonPostAuthorizationRecordMapper.java @@ -0,0 +1,20 @@ +package com.ruoyi.personnel.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.personnel.dto.PersonPostAuthorizationRecordDto; +import com.ruoyi.personnel.pojo.PersonPostAuthorizationRecord; + +/** + * <p> + * 浠昏亴鎺堟潈璁板綍 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-09 10:48:17 + */ +public interface PersonPostAuthorizationRecordMapper extends BaseMapper<PersonPostAuthorizationRecord> { + + IPage<PersonPostAuthorizationRecordDto> personPostAuthorizationRecordPage(Page page, Integer departLimsId, Integer userId, String userName); +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonRewardPunishmentRecordMapper.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonRewardPunishmentRecordMapper.java new file mode 100644 index 0000000..a77cb79 --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/mapper/PersonRewardPunishmentRecordMapper.java @@ -0,0 +1,26 @@ +package com.ruoyi.personnel.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.personnel.dto.PersonRewardPunishmentRecordDto; +import com.ruoyi.personnel.excel.PersonRewardPunishmentRecordExcel; +import com.ruoyi.personnel.pojo.PersonRewardPunishmentRecord; + +import java.util.Date; +import java.util.List; + +/** + * <p> + * 濂栨儵璁板綍 Mapper 鎺ュ彛 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-08 11:25:02 + */ +public interface PersonRewardPunishmentRecordMapper extends BaseMapper<PersonRewardPunishmentRecord> { + + IPage<PersonRewardPunishmentRecordDto> rewardPunishmentPage(Page page, Integer userId, String userName, Date startTime, Date endTime, Integer departmentId); + + List<PersonRewardPunishmentRecordExcel> rewardPunishmentExport(Integer userId, Integer departmentId, String userName, Date startTime, Date endTime); +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonJobResponsibilities.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonJobResponsibilities.java new file mode 100644 index 0000000..55536fb --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonJobResponsibilities.java @@ -0,0 +1,78 @@ +package com.ruoyi.personnel.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 宀椾綅鑱岃矗 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-09 02:07:49 + */ +@Getter +@Setter +@TableName("cnas_person_job_responsibilities") +@ApiModel(value = "PersonJobResponsibilities瀵硅薄", description = "宀椾綅鑱岃矗") +public class PersonJobResponsibilities implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("涓婚敭id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("1宀椾綅鍚嶇О") + private String postName; + + @ApiModelProperty("1宸ヤ綔鐩爣") + private String jobObjective; + + @ApiModelProperty("1宀椾綅鑱岃矗") + private String jobResponsibilities; + + @ApiModelProperty("1浠昏亴浜篿d") + private String incumbentId; + + @ApiModelProperty("1 鎻愪氦鎿嶄綔浜�") + private String submittingOperator; + + @ApiModelProperty("1鎻愪氦鏃ユ湡") + private LocalDateTime submittingDate; + + @ApiModelProperty("2 浠昏亴浜� 涓荤id") + private Integer supervisorId; + + @ApiModelProperty("2 浠昏亴浜� 鎿嶄綔浜�") + private String incumbentOperator; + + @ApiModelProperty("2 浠昏亴浜� 鏃ユ湡") + private LocalDateTime incumbentDate; + + @ApiModelProperty("3 涓荤 鎿嶄綔浜�") + private String supervisorOperator; + + @ApiModelProperty("3 涓荤 鏃ユ湡") + private LocalDateTime supervisorDate; + + @ApiModelProperty(value = "鍒涘缓浜篿d", hidden = true) + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("褰撳墠鐘舵��") + private String currentState; + + @ApiModelProperty(value = "鍒涘缓鏃ユ湡 / 鎻愪氦鏃ユ湡", hidden = true) + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty("褰撳墠璐熻矗浜�") + private String currentResponsible; +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonPersonnelCapacity.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonPersonnelCapacity.java new file mode 100644 index 0000000..b7103f0 --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonPersonnelCapacity.java @@ -0,0 +1,114 @@ +package com.ruoyi.personnel.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 浜哄憳鑳藉姏 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-10 11:26:18 + */ +@Getter +@Setter +@TableName("cnas_person_personnel_capacity") +@ApiModel(value = "PersonPersonnelCapacity瀵硅薄", description = "浜哄憳鑳藉姏") +public class PersonPersonnelCapacity implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("涓婚敭id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("瀛﹀巻") + private String academicDegree; + + @ApiModelProperty("瀛﹀巻 绗﹀悎涓庡惁(1锛氱鍚堬紱2锛氫笉绗﹀悎锛�3锛氫笉閫傜敤)") + private Integer academicConformNot; + + @ApiModelProperty("瀛﹀巻 澶囨敞") + private String academicRemarks; + + @ApiModelProperty("鐩稿叧骞撮檺") + private String relatedYears; + + @ApiModelProperty("鐩稿叧骞撮檺 绗﹀悎涓庡惁(1锛氱鍚堬紱2锛氫笉绗﹀悎锛�3锛氫笉閫傜敤)") + private Integer relatedYearsConformNot; + + @ApiModelProperty("鐩稿叧骞撮檺 澶囨敞") + private String relatedYearsRemarks; + + @ApiModelProperty("鐩稿叧鍩硅") + private String relatedTraining; + + @ApiModelProperty("鐩稿叧鍩硅 绗﹀悎涓庡惁(1锛氱鍚堬紱2锛氫笉绗﹀悎锛�3锛氫笉閫傜敤)") + private Integer relatedTrainingConformNot; + + @ApiModelProperty("鐩稿叧鍩硅 澶囨敞") + private String relatedTrainingRemarks; + + @ApiModelProperty("鐩稿叧缁忛獙") + private String relevantExperience; + + @ApiModelProperty("鐩稿叧缁忛獙 绗﹀悎涓庡惁(1锛氱鍚堬紱2锛氫笉绗﹀悎锛�3锛氫笉閫傜敤)") + private Integer relevantExperienceConformNot; + + @ApiModelProperty("鐩稿叧缁忛獙 澶囨敞") + private String relevantExperienceRemarks; + + @ApiModelProperty("涓婂矖璇�") + private String workLicense; + + @ApiModelProperty("涓婂矖璇� 绗﹀悎涓庡惁(1锛氱鍚堬紱2锛氫笉绗﹀悎锛�3锛氫笉閫傜敤)") + private Integer workLicenseConformNot; + + @ApiModelProperty("涓婂矖璇� 澶囨敞") + private String workLicenseRemarks; + + @ApiModelProperty("宀椾綅鑱岃矗") + private String jobResponsibilities; + + @ApiModelProperty("宀椾綅鑱岃矗 绗﹀悎涓庡惁(1锛氱鍚堬紱2锛氫笉绗﹀悎锛�3锛氫笉閫傜敤)") + private Integer jobResponsibilitiesConformNot; + + @ApiModelProperty("宀椾綅鑱岃矗 澶囨敞") + private String jobResponsibilitiesRemarks; + + @ApiModelProperty("缁煎悎璇勪环") + private String comprehensiveAssessment; + + @ApiModelProperty("2 纭浜� userId涓婚敭") + private Integer confirmOperatingPersonnelId; + + @ApiModelProperty("2 纭浜� 鏃ユ湡") + private LocalDateTime confirmDate; + + @ApiModelProperty(value = "鍒涘缓鏃ユ湡", hidden = true) + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty(value = "鏇存柊鏃ユ湡", hidden = true) + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty(value = "鍒涘缓浜�", hidden = true) + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty(value = "鏇存柊浜�", hidden = true) + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "浜哄憳濮撳悕 id") + private Integer userId; + +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonPostAuthorizationRecord.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonPostAuthorizationRecord.java new file mode 100644 index 0000000..f341b83 --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonPostAuthorizationRecord.java @@ -0,0 +1,74 @@ +package com.ruoyi.personnel.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 浠昏亴鎺堟潈璁板綍 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-09 10:48:17 + */ +@Getter +@Setter +@TableName("cnas_person_post_authorization_record") +@ApiModel(value = "PersonPostAuthorizationRecord瀵硅薄", description = "浠昏亴鎺堟潈璁板綍") +public class PersonPostAuthorizationRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("涓婚敭id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("璇佷功缂栧彿") + private String certificateNumber; + + @ApiModelProperty("琚换鑱屼汉鍛榠d") + private String userId; + + @ApiModelProperty("浠昏亴宀椾綅") + private String post; + + @ApiModelProperty("鎿嶄綔绫诲瀷") + private String operationType; + + @ApiModelProperty("鍘熸枃浠跺悕绉�") + private String fileName; + + @ApiModelProperty("绯荤粺鐢熸垚鏂囦欢鍚嶇О") + private String systemFileName; + + @ApiModelProperty("澶囨敞") + private String remarks; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿", hidden = true) + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty(value = "鏇存柊鏃堕棿", hidden = true) + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty(value = "鏇存柊浜篿d",hidden = true) + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + + @ApiModelProperty(value = "鍒涘缓浜篿d", hidden = true) + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鐞嗚鐭ヨ瘑鑰冭瘯鎴愮哗") + private String num1; + + @ApiModelProperty("鎿嶄綔鎶�鑳借�冭瘯鎴愮哗") + private String num2; +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonRewardPunishmentRecord.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonRewardPunishmentRecord.java new file mode 100644 index 0000000..ab8bea1 --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/pojo/PersonRewardPunishmentRecord.java @@ -0,0 +1,61 @@ +package com.ruoyi.personnel.pojo; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * 濂栨儵璁板綍 + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-08 11:25:02 + */ +@Getter +@Setter +@TableName("cnas_person_reward_punishment_record") +@ApiModel(value = "PersonRewardPunishmentRecord瀵硅薄", description = "濂栨儵璁板綍") +public class PersonRewardPunishmentRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("涓婚敭id") + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + @ApiModelProperty("濂栨儵绾у埆") + private String rewardPunishLevel; + + @ApiModelProperty("濂栨儵鍚嶇О") + private String rewardPunishName; + + @ApiModelProperty("濂栨儵鏃堕棿") + private LocalDateTime rewardPunishTime; + + @ApiModelProperty("濂栨儵鍗曚綅") + private String rewardPunishWorkUnit; + + @ApiModelProperty("濂栨儵鍐呭") + private String rewardPunishContent; + + @ApiModelProperty("鐢ㄦ埛id") + private Integer userId; + + @ApiModelProperty(value = "鍒涘缓鏃堕棿", hidden = true) + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createTime; + + @ApiModelProperty(value = "鏇存柊鏃堕棿", hidden = true) + @TableField(fill = FieldFill.INSERT) + private LocalDateTime updateTime; + + @ApiModelProperty(value = "鍒涘缓浜�", hidden = true) + @TableField(fill = FieldFill.INSERT) + private Integer createUser; +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonJobResponsibilitiesService.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonJobResponsibilitiesService.java new file mode 100644 index 0000000..2afa074 --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonJobResponsibilitiesService.java @@ -0,0 +1,27 @@ +package com.ruoyi.personnel.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.personnel.dto.PersonJobResponsibilitiesDto; +import com.ruoyi.personnel.pojo.PersonJobResponsibilities; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 宀椾綅鑱岃矗 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-09 02:07:49 + */ +public interface PersonJobResponsibilitiesService extends IService<PersonJobResponsibilities> { + + IPage<PersonJobResponsibilitiesDto> personJobResponsibilitiesSelect(Page page, + String userId, + String departmentId, + String userName); + + void exportPersonJobResponsibilities(Integer id, HttpServletResponse response); +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonPersonnelCapacityService.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonPersonnelCapacityService.java new file mode 100644 index 0000000..44820ed --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonPersonnelCapacityService.java @@ -0,0 +1,34 @@ +//package com.ruoyi.personnel.service; +// +//import com.baomidou.mybatisplus.core.metadata.IPage; +//import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +//import com.baomidou.mybatisplus.extension.service.IService; +//import com.ruoyi.personnel.pojo.PersonPersonnelCapacity; +// +//import javax.servlet.http.HttpServletResponse; +// +///** +// * <p> +// * 浜哄憳鑳藉姏 鏈嶅姟绫� +// * </p> +// * +// * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 +// * @since 2024-10-10 11:26:18 +// */ +//public interface PersonPersonnelCapacityService extends IService<PersonPersonnelCapacity> { +// +// IPage<PersonPersonnelCapacityDto> personPersonnelCapacityPage(Page page, Integer departLimsId, Integer userId, String userName); +// +// /** +// * 瀵煎嚭浜哄憳鑳藉姏 +// * @param id +// * @param response +// */ +// void exportPersonnelCapacity(Integer id, HttpServletResponse response); +// +// /** +// * submitConfirmPersonnelCapability +// * @param personPersonnelCapacity +// */ +// void submitConfirmPersonnelCapability(PersonPersonnelCapacity personPersonnelCapacity); +//} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonPostAuthorizationRecordService.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonPostAuthorizationRecordService.java new file mode 100644 index 0000000..3c23bfe --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonPostAuthorizationRecordService.java @@ -0,0 +1,27 @@ +package com.ruoyi.personnel.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.personnel.dto.PersonPostAuthorizationRecordDto; +import com.ruoyi.personnel.pojo.PersonPostAuthorizationRecord; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * 浠昏亴鎺堟潈璁板綍 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-09 10:48:17 + */ +public interface PersonPostAuthorizationRecordService extends IService<PersonPostAuthorizationRecord> { + + IPage<PersonPostAuthorizationRecordDto> personPostAuthorizationRecordPage(Page page, + Integer departLimsId, + Integer userId, + String userName); + + void exportPersonPostAuthorizationRecord(Integer id, HttpServletResponse response); +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonRewardPunishmentRecordService.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonRewardPunishmentRecordService.java new file mode 100644 index 0000000..0f2dfdc --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/PersonRewardPunishmentRecordService.java @@ -0,0 +1,31 @@ +package com.ruoyi.personnel.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.personnel.dto.PersonRewardPunishmentRecordDto; +import com.ruoyi.personnel.excel.PersonRewardPunishmentRecordExcel; +import com.ruoyi.personnel.pojo.PersonRewardPunishmentRecord; + +import java.util.Date; +import java.util.List; + +/** + * <p> + * 濂栨儵璁板綍 鏈嶅姟绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-08 11:25:02 + */ +public interface PersonRewardPunishmentRecordService extends IService<PersonRewardPunishmentRecord> { + + IPage<PersonRewardPunishmentRecordDto> rewardPunishmentPage(Page page, + Integer userId, + String userName, + Date startTime, + Date endTime, + Integer departmentId); + + List<PersonRewardPunishmentRecordExcel> rewardPunishmentExport(Integer userId, Integer departmentId, String userName, Date startTime, Date endTime); +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonJobResponsibilitiesServiceImpl.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonJobResponsibilitiesServiceImpl.java new file mode 100644 index 0000000..d55a3f0 --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonJobResponsibilitiesServiceImpl.java @@ -0,0 +1,113 @@ +package com.ruoyi.personnel.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.personnel.dto.PersonJobResponsibilitiesDto; +import com.ruoyi.personnel.mapper.PersonJobResponsibilitiesMapper; +import com.ruoyi.personnel.pojo.PersonJobResponsibilities; +import com.ruoyi.personnel.service.PersonJobResponsibilitiesService; +import com.ruoyi.system.mapper.UserMapper; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.format.DateTimeFormatter; +import java.util.HashMap; + +/** + * <p> + * 宀椾綅鑱岃矗 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-09 02:07:49 + */ +@Service +@AllArgsConstructor +public class PersonJobResponsibilitiesServiceImpl extends ServiceImpl<PersonJobResponsibilitiesMapper, PersonJobResponsibilities> implements PersonJobResponsibilitiesService { + + @Resource + private UserMapper userMapper; + + + @Override + public IPage<PersonJobResponsibilitiesDto> personJobResponsibilitiesSelect(Page page, String userId, String departmentId, String userName) { + return baseMapper.personJobResponsibilitiesSelect(page, userId, departmentId, userName); + } + + @Override + public void exportPersonJobResponsibilities(Integer id, HttpServletResponse response) { + PersonJobResponsibilities personJobResponsibilities = baseMapper.selectById(id); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy骞碝M鏈坉d鏃�"); + //宀椾綅鍚嶇О + String name = personJobResponsibilities.getPostName(); + //鎵�灞為儴闂� + String departLims = userMapper.selectUserDepartmentLimsName(Integer.parseInt(personJobResponsibilities.getIncumbentId())); + //宸ヤ綔鐩爣 + String objective = personJobResponsibilities.getJobObjective(); + //宀椾綅鑱岃矗 + String responsibilities = personJobResponsibilities.getJobResponsibilities(); + //浠昏亴浜� + User user = userMapper.selectById(Integer.parseInt(personJobResponsibilities.getIncumbentId())); + String incumbent = user.getName(); + //浠昏亴鏃堕棿 + String incumbentDate = ""; + if (ObjectUtils.isNotEmpty(personJobResponsibilities.getIncumbentDate())) { + incumbentDate = personJobResponsibilities.getIncumbentDate().format(formatter); + } + //涓荤 + String supervisor = ""; + if (ObjectUtils.isNotEmpty(personJobResponsibilities.getSupervisorId())) { + supervisor = userMapper.selectById(personJobResponsibilities.getSupervisorId()).getName(); + } + //涓荤鏃堕棿 + String supervisorDate = ""; + if (ObjectUtils.isNotEmpty(personJobResponsibilities.getSupervisorDate())) { + supervisorDate = personJobResponsibilities.getSupervisorDate().format(formatter); + } + + InputStream inputStream = this.getClass().getResourceAsStream("/static/explain-deal.docx"); + ConfigureBuilder builder = Configure.builder(); + builder.useSpringEL(true); + String finalIncumbentDate = incumbentDate; + String finalSupervisor = supervisor; + String finalSupervisorDate = supervisorDate; + XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( + new HashMap<String, Object>() {{ + put("name", name); + put("account", user.getAccount()); + put("departLims", departLims); + put("objective", objective); + put("responsibilities", responsibilities); + put("incumbent", incumbent); + put("incumbentDate", finalIncumbentDate); + put("supervisor", finalSupervisor); + put("supervisorDate", finalSupervisorDate); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + name + "鐨勪换鑱屽矖浣嶈鏄庝功", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + } +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonPostAuthorizationRecordServiceImpl.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonPostAuthorizationRecordServiceImpl.java new file mode 100644 index 0000000..68f2961 --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonPostAuthorizationRecordServiceImpl.java @@ -0,0 +1,132 @@ +package com.ruoyi.personnel.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.deepoove.poi.XWPFTemplate; +import com.deepoove.poi.config.Configure; +import com.deepoove.poi.config.ConfigureBuilder; +import com.deepoove.poi.data.FilePictureRenderData; +import com.ruoyi.common.core.domain.entity.User; +import com.ruoyi.framework.exception.ErrorException; +import com.ruoyi.personnel.dto.PersonPostAuthorizationRecordDto; +import com.ruoyi.personnel.mapper.PersonPostAuthorizationRecordMapper; +import com.ruoyi.personnel.pojo.PersonPostAuthorizationRecord; +import com.ruoyi.personnel.service.PersonPostAuthorizationRecordService; +import com.ruoyi.system.mapper.UserMapper; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.time.LocalDateTime; +import java.util.HashMap; + +/** + * <p> + * 浠昏亴鎺堟潈璁板綍 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-09 10:48:17 + */ +@Service +public class PersonPostAuthorizationRecordServiceImpl extends ServiceImpl<PersonPostAuthorizationRecordMapper, PersonPostAuthorizationRecord> implements PersonPostAuthorizationRecordService { + + @Resource + private UserMapper userMapper; + + @Value("${file.path}") + private String imgUrl; + + @Override + public IPage<PersonPostAuthorizationRecordDto> personPostAuthorizationRecordPage(Page page, Integer departLimsId, Integer userId, String userName) { + return baseMapper.personPostAuthorizationRecordPage(page, departLimsId, userId, userName); + } + + @Override + public void exportPersonPostAuthorizationRecord(Integer id, HttpServletResponse response) { + PersonPostAuthorizationRecord personPostAuthorizationRecord = baseMapper.selectById(id); + //濮撳悕 + User user = userMapper.selectById(personPostAuthorizationRecord.getUserId()); + String name = user.getName(); + //todo: 浜哄憳浠昏亴鎺堟潈璁板綍濮撳悕鑻辨枃 +// HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); +// format.setCaseType(HanyuPinyinCaseType.LOWERCASE); +// format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); +// StringBuilder pinyinBuilder = new StringBuilder(); +// for (int i = 0; i < name.length(); i++) { +// char c = name.charAt(i); +// // 鍒ゆ柇鏄惁鏄眽瀛� +// if (Character.toString(c).matches("[\\u4E00-\\u9FFF]")) { +// // 鑾峰彇姹夊瓧鐨勬嫾闊虫暟缁� +// String[] pinyinArray = new String[0]; +// try { +// pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c, format); +// } catch (BadHanyuPinyinOutputFormatCombination badHanyuPinyinOutputFormatCombination) { +// +// } +// if (pinyinArray!= null && pinyinArray.length > 0) { +// pinyinBuilder.append(pinyinArray[0]); +// } +// } else { +// pinyinBuilder.append(c); +// } +// } +// String nameEn = pinyinBuilder.toString(); + String nameEn = user.getNameEn(); + //鐞嗚鐭ヨ瘑鑰冭瘯鎴愮哗 + String num1=personPostAuthorizationRecord.getNum1(); + //鎿嶄綔鎶�鑳借�冭瘯鎴愮哗 + String num2=personPostAuthorizationRecord.getNum2(); + //璇佷功缂栧彿 + String code = personPostAuthorizationRecord.getCertificateNumber(); + //鍙戣瘉鏃堕棿 + LocalDateTime createTime = personPostAuthorizationRecord.getCreateTime(); + String year = createTime.getYear() + ""; + String mon = createTime.getMonth().getValue() + ""; + String day = createTime.getDayOfMonth() + ""; + //涓汉鐓х墖 + if (ObjectUtils.isEmpty(user.getPictureUrl())) { + throw new ErrorException(name+"鐨勪釜浜虹収鐗囨病鏈変笂浼�"); + } + String pictureUrl = user.getPictureUrl(); + + + InputStream inputStream = this.getClass().getResourceAsStream("/static/credentials-deal.docx"); + ConfigureBuilder builder = Configure.builder(); + builder.useSpringEL(true); + XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( + new HashMap<String, Object>() {{ + put("name", name); + put("nameEn", nameEn); + put("num1", num1); + put("num2", num2); + put("code", code); + put("year", year); + put("mon", mon); + put("day", day); + put("writeUrl", new FilePictureRenderData(100,50,imgUrl + "/" + pictureUrl)); + }}); + + try { + response.setContentType("application/msword"); + String fileName = URLEncoder.encode( + name+"鐨勫矖浣嶈亴涓氳祫鏍兼寮�", "UTF-8"); + response.setHeader("Content-disposition", + "attachment;filename=" + fileName + ".docx"); + OutputStream os = response.getOutputStream(); + template.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + throw new RuntimeException("瀵煎嚭澶辫触"); + } + + } +} diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonRewardPunishmentRecordServiceImpl.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonRewardPunishmentRecordServiceImpl.java new file mode 100644 index 0000000..9393bbd --- /dev/null +++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonRewardPunishmentRecordServiceImpl.java @@ -0,0 +1,36 @@ +package com.ruoyi.personnel.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.personnel.dto.PersonRewardPunishmentRecordDto; +import com.ruoyi.personnel.excel.PersonRewardPunishmentRecordExcel; +import com.ruoyi.personnel.mapper.PersonRewardPunishmentRecordMapper; +import com.ruoyi.personnel.pojo.PersonRewardPunishmentRecord; +import com.ruoyi.personnel.service.PersonRewardPunishmentRecordService; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * <p> + * 濂栨儵璁板綍 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃 + * @since 2024-10-08 11:25:02 + */ +@Service +public class PersonRewardPunishmentRecordServiceImpl extends ServiceImpl<PersonRewardPunishmentRecordMapper, PersonRewardPunishmentRecord> implements PersonRewardPunishmentRecordService { + + @Override + public IPage<PersonRewardPunishmentRecordDto> rewardPunishmentPage(Page page, Integer userId, String userName, Date startTime, Date endTime, Integer departmentId) { + return baseMapper.rewardPunishmentPage(page, userId, userName, startTime, endTime, departmentId); + } + + @Override + public List<PersonRewardPunishmentRecordExcel> rewardPunishmentExport(Integer userId, Integer departmentId, String userName, Date startTime, Date endTime) { + return baseMapper.rewardPunishmentExport(userId, departmentId, userName, startTime, endTime); + } +} diff --git a/cnas-personnel/src/main/resources/mapper/PersonJobResponsibilitiesMapper.xml b/cnas-personnel/src/main/resources/mapper/PersonJobResponsibilitiesMapper.xml new file mode 100644 index 0000000..ace613b --- /dev/null +++ b/cnas-personnel/src/main/resources/mapper/PersonJobResponsibilitiesMapper.xml @@ -0,0 +1,24 @@ +<?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="com.ruoyi.personnel.mapper.PersonJobResponsibilitiesMapper"> + + + <select id="personJobResponsibilitiesSelect" resultType="com.ruoyi.personnel.dto.PersonJobResponsibilitiesDto"> + select cpt.*, u.name incumbent_name, su.name supervisor_name, dl.name depart_lims_name, u.account + from cnas_person_job_responsibilities cpt + left join user u on cpt.incumbent_id = u.id + left join user su on cpt.supervisor_id = su.id + left join department_lims dl on dl.id = SUBSTRING_INDEX(SUBSTRING_INDEX(u.depart_lims_id, ',', -2), ',', 1) + <where> + <if test="userId != null and userId != ''"> + and cpt.incumbent_id = #{userId} + </if> + <if test="departmentId != null and departmentId != ''"> + and FIND_IN_SET(#{departmentId}, u.depart_lims_id) + </if> + <if test="userName != null and userName != ''"> + and u.name like concat('%', #{userName}, '%') + </if> + </where> + </select> +</mapper> diff --git a/cnas-personnel/src/main/resources/mapper/PersonPostAuthorizationRecordMapper.xml b/cnas-personnel/src/main/resources/mapper/PersonPostAuthorizationRecordMapper.xml new file mode 100644 index 0000000..bb3ef16 --- /dev/null +++ b/cnas-personnel/src/main/resources/mapper/PersonPostAuthorizationRecordMapper.xml @@ -0,0 +1,23 @@ +<?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="com.ruoyi.personnel.mapper.PersonPostAuthorizationRecordMapper"> + + + <select id="personPostAuthorizationRecordPage" resultType="com.ruoyi.personnel.dto.PersonPostAuthorizationRecordDto"> + select cppar.*, us.name create_user_name, u.account account, u.name user_name + from cnas_person_post_authorization_record cppar + left join user u on cppar.user_id = u.id + left join user us on cppar.create_user = us.id + <where> + <if test="userId != null and userId != ''"> + and cppar.user_id = #{userId} + </if> + <if test="departLimsId != null and departLimsId != ''"> + and FIND_IN_SET(#{departLimsId},u.depart_lims_id) + </if> + <if test="userName != null and userName != ''"> + and u.name like concat('%', #{userName}, '%') + </if> + </where> + </select> +</mapper> diff --git a/cnas-personnel/src/main/resources/mapper/PersonRewardPunishmentRecordMapper.xml b/cnas-personnel/src/main/resources/mapper/PersonRewardPunishmentRecordMapper.xml new file mode 100644 index 0000000..d92a163 --- /dev/null +++ b/cnas-personnel/src/main/resources/mapper/PersonRewardPunishmentRecordMapper.xml @@ -0,0 +1,47 @@ +<?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="com.ruoyi.personnel.mapper.PersonRewardPunishmentRecordMapper"> + + + <select id="rewardPunishmentPage" resultType="com.ruoyi.personnel.dto.PersonRewardPunishmentRecordDto"> + select cprpr.*, us.name create_user_name, u.account account, u.name user_name + from cnas_person_reward_punishment_record cprpr + left join user u on cprpr.user_id = u.id + left join user us on cprpr.create_user = us.id + <where> + <if test="userId != null and userId != ''"> + and cprpr.user_id = #{userId} + </if> + <if test="userName != null and userName != ''"> + and u.name like concat('%', #{userName}, '%') + </if> + <if test="startTime != null and endTime != null"> + AND DATE(cprpr.reward_punish_time) BETWEEN #{startTime} AND #{endTime} + </if> + <if test="departmentId != null and departmentId != ''"> + and FIND_IN_SET(#{departmentId}, u.depart_lims_id) + </if> + </where> + </select> + + <select id="rewardPunishmentExport" resultType="com.ruoyi.personnel.excel.PersonRewardPunishmentRecordExcel"> + select cprpr.*, us.name create_user_name, u.account account, u.name user_name + from cnas_person_reward_punishment_record cprpr + left join user u on cprpr.user_id = u.id + left join user us on cprpr.create_user = us.id + <where> + <if test="userId != null and userId != ''"> + and cprpr.user_id = #{userId} + </if> + <if test="departmentId != null and departmentId != ''"> + and FIND_IN_SET(#{departmentId},u.depart_lims_id) + </if> + <if test="userName != null and userName != ''"> + and u.name like concat('%', #{userName}, '%') + </if> + <if test="startTime != null and endTime != null"> + AND DATE(cprpr.reward_punish_time) BETWEEN #{startTime} AND #{endTime} + </if> + </where> + </select> +</mapper> diff --git a/cnas-personnel/src/main/resources/static/communication-deal.docx b/cnas-personnel/src/main/resources/static/communication-deal.docx new file mode 100644 index 0000000..9045072 --- /dev/null +++ b/cnas-personnel/src/main/resources/static/communication-deal.docx Binary files differ diff --git a/cnas-personnel/src/main/resources/static/credentials-deal.docx b/cnas-personnel/src/main/resources/static/credentials-deal.docx new file mode 100644 index 0000000..2fda5fd --- /dev/null +++ b/cnas-personnel/src/main/resources/static/credentials-deal.docx Binary files differ diff --git a/cnas-personnel/src/main/resources/static/explain-deal.docx b/cnas-personnel/src/main/resources/static/explain-deal.docx new file mode 100644 index 0000000..7333bec --- /dev/null +++ b/cnas-personnel/src/main/resources/static/explain-deal.docx Binary files differ diff --git a/cnas-personnel/src/main/resources/static/person-basic-info.docx b/cnas-personnel/src/main/resources/static/person-basic-info.docx new file mode 100644 index 0000000..6d1739a --- /dev/null +++ b/cnas-personnel/src/main/resources/static/person-basic-info.docx Binary files differ diff --git a/cnas-personnel/src/main/resources/static/person-training-record.docx b/cnas-personnel/src/main/resources/static/person-training-record.docx new file mode 100644 index 0000000..3bbf0bc --- /dev/null +++ b/cnas-personnel/src/main/resources/static/person-training-record.docx Binary files differ diff --git a/cnas-personnel/src/main/resources/static/person-training.docx b/cnas-personnel/src/main/resources/static/person-training.docx new file mode 100644 index 0000000..0a6bf24 --- /dev/null +++ b/cnas-personnel/src/main/resources/static/person-training.docx Binary files differ diff --git a/cnas-personnel/src/main/resources/static/personnel-capacity.docx b/cnas-personnel/src/main/resources/static/personnel-capacity.docx new file mode 100644 index 0000000..e7ad3b9 --- /dev/null +++ b/cnas-personnel/src/main/resources/static/personnel-capacity.docx Binary files differ diff --git a/cnas-personnel/src/main/resources/static/super-vise-plan.docx b/cnas-personnel/src/main/resources/static/super-vise-plan.docx new file mode 100644 index 0000000..8e5a56f --- /dev/null +++ b/cnas-personnel/src/main/resources/static/super-vise-plan.docx Binary files differ diff --git a/cnas-personnel/src/main/resources/static/supervision-control-sheet.docx b/cnas-personnel/src/main/resources/static/supervision-control-sheet.docx new file mode 100644 index 0000000..dc398e3 --- /dev/null +++ b/cnas-personnel/src/main/resources/static/supervision-control-sheet.docx Binary files differ diff --git a/cnas-personnel/src/main/resources/static/supervision-processing-sheet.docx b/cnas-personnel/src/main/resources/static/supervision-processing-sheet.docx new file mode 100644 index 0000000..16775b0 --- /dev/null +++ b/cnas-personnel/src/main/resources/static/supervision-processing-sheet.docx Binary files differ diff --git a/cnas-personnel/src/main/resources/static/supervision-record.docx b/cnas-personnel/src/main/resources/static/supervision-record.docx new file mode 100644 index 0000000..ede4555 --- /dev/null +++ b/cnas-personnel/src/main/resources/static/supervision-record.docx Binary files differ diff --git a/cnas-personnel/src/main/resources/static/training-record.docx b/cnas-personnel/src/main/resources/static/training-record.docx new file mode 100644 index 0000000..1e6955d --- /dev/null +++ b/cnas-personnel/src/main/resources/static/training-record.docx Binary files differ -- Gitblit v1.9.3