Merge branch 'dev' into dev_ly
# Conflicts:
# ruoyi-admin/pom.xml
| | |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>inspect-server</artifactId> |
| | | </dependency> |
| | | |
| | | <!--mqtt jarå
--> |
| | | <!-- https://mvnrepository.com/artifact/org.springframework.integration/spring-integration-mqtt --> |
| | | <dependency> |
| | | <groupId>org.springframework.integration</groupId> |
| | | <artifactId>spring-integration-mqtt</artifactId> |
| | | </dependency> |
| | | <!--mqttéè¦çjarå
--> |
| | | <dependency> |
| | | <groupId>org.springframework.boot</groupId> |
| | | <artifactId>spring-boot-starter-integration</artifactId> |
| | | </dependency> |
| | | <!--mqttéè¦çjarå
--> |
| | | <dependency> |
| | | <groupId>org.springframework.integration</groupId> |
| | | <artifactId>spring-integration-stream</artifactId> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | <properties> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.device.pojo.DeviceAcceptance; |
| | | import com.ruoyi.device.pojo.DeviceAcceptanceFile; |
| | | import com.ruoyi.device.service.DeviceAcceptanceFileService; |
| | | import com.ruoyi.device.service.DeviceAcceptanceService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤éªæ¶(è£
å¤) å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-20 01:45:14 |
| | | */ |
| | | @Api(tags = "设å¤éªæ¶(è£
å¤)") |
| | | @AllArgsConstructor |
| | | @RestController |
| | | @RequestMapping("/deviceAcceptance") |
| | | public class DeviceAcceptanceController { |
| | | |
| | | private DeviceAcceptanceService deviceAcceptanceService; |
| | | private DeviceAcceptanceFileService deviceAcceptanceFileService; |
| | | |
| | | /** |
| | | * 设å¤éªæ¶å表 |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "设å¤éªæ¶å表") |
| | | @GetMapping("/pageDeviceAcceptance") |
| | | public Result<IPage<DeviceAcceptance>> pageDeviceAcceptance(Page page, DeviceAcceptance deviceAcceptance) { |
| | | return Result.success(deviceAcceptanceService.pageDeviceAcceptance(page, deviceAcceptance)); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢è®¾å¤éªæ¶ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "æ¥è¯¢è®¾å¤éªæ¶") |
| | | @GetMapping("/getDeviceAcceptance") |
| | | public Result getDeviceAcceptance(Integer acceptanceId){ |
| | | return Result.success(deviceAcceptanceService.getById(acceptanceId)); |
| | | } |
| | | |
| | | /** |
| | | * å é¤è®¾å¤éªæ¶ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "å é¤è®¾å¤éªæ¶") |
| | | @DeleteMapping("/delDeviceAcceptance") |
| | | public Result delDeviceAcceptance(Integer acceptanceId){ |
| | | return Result.success(deviceAcceptanceService.removeById(acceptanceId)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤éªæ¶ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "æ°å¢è®¾å¤éªæ¶") |
| | | @PostMapping("/addDeviceAcceptance") |
| | | public Result addDeviceAcceptance(@RequestBody DeviceAcceptance deviceAcceptance){ |
| | | return Result.success(deviceAcceptanceService.save(deviceAcceptance)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤éªæ¶ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "ç¼è¾è®¾å¤éªæ¶") |
| | | @PostMapping("/updateDeviceAcceptance") |
| | | public Result updateDeviceAcceptance(@RequestBody DeviceAcceptance deviceAcceptance){ |
| | | return Result.success(deviceAcceptanceService.updateById(deviceAcceptance)); |
| | | } |
| | | |
| | | /** |
| | | * 设å¤éªæ¶å¯¼åº |
| | | * @param acceptanceId 设å¤éªæ¶id |
| | | * @param response ååºä½ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "设å¤éªæ¶å¯¼åº") |
| | | @GetMapping("/exportDeviceAcceptance") |
| | | public void exportDeviceAcceptance(Integer acceptanceId, HttpServletResponse response){ |
| | | deviceAcceptanceService.exportDeviceAcceptance(acceptanceId, response); |
| | | } |
| | | |
| | | /** |
| | | * 设å¤éªæ¶éä»¶æ°å¢ |
| | | * @param acceptanceId |
| | | * @param file |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "设å¤éªæ¶éä»¶æ°å¢") |
| | | @PostMapping("/uploadDeviceAcceptanceFile") |
| | | public Result<?> uploadDeviceAcceptanceFile(Integer acceptanceId, MultipartFile file) { |
| | | return Result.success(deviceAcceptanceService.uploadDeviceAcceptanceFile(acceptanceId, file)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 设å¤éªæ¶éä»¶å表 |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "设å¤éªæ¶éä»¶å表") |
| | | @GetMapping("/getDeviceAcceptanceFileList") |
| | | public Result<List<DeviceAcceptanceFile>> getVerifyMethodFileList(Integer acceptanceId){ |
| | | return Result.success(deviceAcceptanceFileService.list(Wrappers.<DeviceAcceptanceFile>lambdaQuery() |
| | | .eq(DeviceAcceptanceFile::getAcceptanceId, acceptanceId))); |
| | | } |
| | | |
| | | /** |
| | | * 设å¤éªæ¶éä»¶å é¤ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "设å¤éªæ¶éä»¶å é¤") |
| | | @GetMapping("/delDeviceAcceptanceFileList") |
| | | public Result delDeviceAcceptanceFileList(Integer acceptanceFileId){ |
| | | return Result.success(deviceAcceptanceFileService.removeById(acceptanceFileId)); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.device.pojo.DeviceAccidentReport; |
| | | import com.ruoyi.device.service.DeviceAccidentReportService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤äºæ
æ¥åå å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 06:31:12 |
| | | */ |
| | | @Api(tags = "设å¤äºæ
æ¥åå") |
| | | @AllArgsConstructor |
| | | @RestController |
| | | @RequestMapping("/deviceAccidentReport") |
| | | public class DeviceAccidentReportController { |
| | | |
| | | private DeviceAccidentReportService deviceAccidentReportService; |
| | | |
| | | |
| | | /** |
| | | * 设å¤äºæ
æ¥åå表 |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "设å¤äºæ
æ¥åå表") |
| | | @GetMapping("/pageDeviceAccidentReport") |
| | | public Result<IPage<DeviceAccidentReport>> pageDeviceAccidentReport(Page page, DeviceAccidentReport deviceAccidentReport){ |
| | | return Result.success(deviceAccidentReportService.pageDeviceAccidentReport(page, deviceAccidentReport)); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢è®¾å¤äºæ
æ¥å |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "æ¥è¯¢è®¾å¤äºæ
æ¥å") |
| | | @GetMapping("/getDeviceAccidentReport") |
| | | public Result getDeviceAccidentReport(Integer accidentReportId){ |
| | | return Result.success(deviceAccidentReportService.getById(accidentReportId)); |
| | | } |
| | | |
| | | /** |
| | | * å é¤è®¾å¤äºæ
æ¥å |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "å é¤è®¾å¤äºæ
æ¥å") |
| | | @DeleteMapping("/delDeviceAccidentReport") |
| | | public Result delDeviceAccidentReport(Integer accidentReportId){ |
| | | return Result.success(deviceAccidentReportService.removeById(accidentReportId)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤äºæ
æ¥å |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "æ°å¢è®¾å¤äºæ
æ¥å") |
| | | @PostMapping("/addDeviceAccidentReport") |
| | | public Result addDeviceAccidentReport(@RequestBody DeviceAccidentReport deviceAccidentReport){ |
| | | return Result.success(deviceAccidentReportService.addDeviceAccidentReport(deviceAccidentReport)); |
| | | } |
| | | |
| | | /** |
| | | * 导åºè®¾å¤äºæ
æ¥å |
| | | * @param accidentReportId 设å¤äºæ
æ¥åid |
| | | * @param response ååº |
| | | */ |
| | | @ApiOperation(value = "导åºè®¾å¤äºæ
æ¥å") |
| | | @GetMapping("/exportDeviceAccidentReport") |
| | | public Result exportDeviceAccidentReport(Integer accidentReportId, HttpServletResponse response) { |
| | | deviceAccidentReportService.exportDeviceAccidentReport(accidentReportId, response); |
| | | return Result.success(); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.controller; |
| | | |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.device.pojo.DeviceBorrow; |
| | | import com.ruoyi.device.service.DeviceBorrowService; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-09-21 10:53:51 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/deviceBorrow") |
| | | public class DeviceBorrowController { |
| | | |
| | | @Resource |
| | | private DeviceBorrowService deviceBorrowService; |
| | | |
| | | |
| | | //å页 |
| | | @GetMapping("/deviceBorrowPage") |
| | | public Result deviceBorrowPage(Page page, DeviceBorrow deviceBorrow) throws Exception { |
| | | return Result.success(deviceBorrowService.deviceBorrowPage(page, deviceBorrow)); |
| | | } |
| | | |
| | | //æ¥è¯¢ |
| | | @GetMapping("/getDeviceBorrow") |
| | | public Result getDeviceBorrow(Integer id) { |
| | | return Result.success(deviceBorrowService.getDeviceBorrow(id)); |
| | | } |
| | | |
| | | //æ°å¢ |
| | | @PostMapping("/saveDeviceBorrow") |
| | | public Result saveDeviceBorrow(@RequestBody DeviceBorrow deviceBorrow) { |
| | | return Result.success(deviceBorrowService.saveDeviceBorrow(deviceBorrow)); |
| | | } |
| | | |
| | | //å é¤ |
| | | @DeleteMapping("/deleteDeviceBorrow") |
| | | public Result deleteDeviceBorrow(Integer id) { |
| | | return Result.success(deviceBorrowService.removeById(id)); |
| | | } |
| | | |
| | | //å¯¼åº |
| | | @GetMapping("/deviceBorrowExport") |
| | | public Result deviceBorrowExport(@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws Exception { |
| | | List<DeviceBorrow> deviceBorrows = deviceBorrowService.getDeviceBorrowBydeviceId(deviceId); |
| | | response.setHeader("requestType", "excel"); |
| | | response.setHeader("Access-Control-Expose-Headers", "requestType"); |
| | | // 设置åå
æ ¼æ ·å¼ |
| | | // ä¿åå°ç¬¬ä¸ä¸ªsheetä¸ |
| | | EasyExcel.write(response.getOutputStream()) |
| | | .head(DeviceBorrow.class) |
| | | .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // èªéåºå宽 |
| | | .sheet() |
| | | .doWrite(deviceBorrows); |
| | | return Result.success(); |
| | | } |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.device.dto.DeviceBreakdownMaintenance; |
| | | import com.ruoyi.device.service.DeviceBreakdownMaintenanceService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ
é维修表 å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 04:50:57 |
| | | */ |
| | | @Api(tags = "è®¾å¤æ
é维修表") |
| | | @AllArgsConstructor |
| | | @RestController |
| | | @RequestMapping("/deviceBreakdownMaintenance") |
| | | public class DeviceBreakdownMaintenanceController { |
| | | |
| | | private DeviceBreakdownMaintenanceService deviceBreakdownMaintenanceService; |
| | | |
| | | |
| | | /** |
| | | * è®¾å¤æ
éç»´ä¿®å表 |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "è®¾å¤æ
éç»´ä¿®å表") |
| | | @GetMapping("/pageDeviceBreakdownMaintenance") |
| | | public Result<IPage<DeviceBreakdownMaintenance>> pageDeviceBreakdownMaintenance(Page page, DeviceBreakdownMaintenance deviceBreakdownMaintenance) { |
| | | return Result.success(deviceBreakdownMaintenanceService.pageDeviceBreakdownMaintenance(page, deviceBreakdownMaintenance)); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢è®¾å¤æ
éç»´ä¿® |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "æ¥è¯¢è®¾å¤æ
éç»´ä¿®") |
| | | @GetMapping("/getDeviceBreakdownMaintenance") |
| | | public Result getDeviceBreakdownMaintenance(Integer maintenanceId){ |
| | | return Result.success(deviceBreakdownMaintenanceService.getById(maintenanceId)); |
| | | } |
| | | |
| | | /** |
| | | * å é¤è®¾å¤æ
éç»´ä¿® |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "å é¤è®¾å¤æ
éç»´ä¿®") |
| | | @DeleteMapping("/delDeviceBreakdownMaintenance") |
| | | public Result delDeviceBreakdownMaintenance(Integer maintenanceId){ |
| | | return Result.success(deviceBreakdownMaintenanceService.removeById(maintenanceId)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤æ
éç»´ä¿® |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "æ°å¢è®¾å¤æ
éç»´ä¿®") |
| | | @PostMapping("/addDeviceBreakdownMaintenance") |
| | | public Result addDeviceBreakdownMaintenance(@RequestBody DeviceBreakdownMaintenance deviceBreakdownMaintenance){ |
| | | return Result.success(deviceBreakdownMaintenanceService.addDeviceBreakdownMaintenance(deviceBreakdownMaintenance)); |
| | | } |
| | | |
| | | /** |
| | | * 导åºè®¾å¤æ
éç»´ä¿® |
| | | * @param maintenanceId è®¾å¤æ
éç»´ä¿®id |
| | | * @param response ååº |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "导åºè®¾å¤æ
éç»´ä¿®") |
| | | @GetMapping("/exportDeviceBreakdownMaintenance") |
| | | public Result exportDeviceBreakdownMaintenance(Integer maintenanceId, HttpServletResponse response){ |
| | | deviceBreakdownMaintenanceService.exportDeviceBreakdownMaintenance(maintenanceId, response); |
| | | return Result.success(); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.device.dto.DeviceInspectionRecordDto; |
| | | import com.ruoyi.device.pojo.DeviceInspectionRecord; |
| | | import com.ruoyi.device.service.DeviceInspectionRecordService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.SneakyThrows; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤ç¹æ£è®°å½è¡¨ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-16 04:25:14 |
| | | */ |
| | | @Api(tags = "设å¤ç¹æ£è®°å½") |
| | | @RestController |
| | | @RequestMapping("/deviceInspectionRecord") |
| | | public class DeviceInspectionRecordController { |
| | | @Resource |
| | | private DeviceInspectionRecordService deviceInspectionRecordService; |
| | | |
| | | /** |
| | | * å页æ¥è¯¢è®¾å¤ç¹æ£è®°å½ |
| | | */ |
| | | @ApiOperation("å页æ¥è¯¢è®¾å¤ç¹æ£è®°å½") |
| | | @GetMapping("/getDeviceInspectionRecordByPage") |
| | | public Result<IPage<DeviceInspectionRecord>> getDeviceInspectionRecordByPage(IPage page, DeviceInspectionRecordDto itemParameter) { |
| | | return deviceInspectionRecordService.getDeviceInspectionRecordByPage(page, itemParameter); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢ç¹æ£è¯¦æ
|
| | | */ |
| | | @ApiOperation("æ¥è¯¢ç¹æ£è¯¦æ
") |
| | | @GetMapping("/getDeviceInspectionRecord") |
| | | public Result getDeviceInspectionRecord(Integer inspectionRecordId) { |
| | | return deviceInspectionRecordService.getDeviceInspectionRecord(inspectionRecordId); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤ç¹æ£è®°å½ |
| | | * @param deviceInspectionRecord 设å¤ç¹æ£è®°å½ |
| | | */ |
| | | @ApiOperation("æ°å¢è®¾å¤ç¹æ£è®°å½") |
| | | @PostMapping("/addDeviceInspectionRecord") |
| | | public Result addDeviceInspectionRecord(@RequestBody DeviceInspectionRecordDto deviceInspectionRecord) { |
| | | return deviceInspectionRecordService.addDeviceInspectionRecord(deviceInspectionRecord); |
| | | } |
| | | |
| | | /** |
| | | * ä¿®æ¹è®¾å¤ç¹æ£è®°å½ |
| | | */ |
| | | @ApiOperation("ä¿®æ¹è®¾å¤ç¹æ£è®°å½") |
| | | @PostMapping("/updateDeviceInspectionRecord") |
| | | public Result updateDeviceInspectionRecord(@RequestBody DeviceInspectionRecordDto deviceInspectionRecord) { |
| | | return deviceInspectionRecordService.updateInspectionRecordAndDetails(deviceInspectionRecord); |
| | | } |
| | | |
| | | /** |
| | | * å é¤è®¾å¤ç¹æ£è®°å½ |
| | | */ |
| | | @ApiOperation("å é¤è®¾å¤ç¹æ£è®°å½") |
| | | @DeleteMapping("/deleteDeviceInspectionRecord") |
| | | public Result deleteDeviceInspectionRecord(DeviceInspectionRecordDto deviceInspectionRecord) { |
| | | return deviceInspectionRecordService.deleteDeviceInspectionRecordOrDetails(deviceInspectionRecord); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 夿 ¸ç¹æ£è®°å½ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "夿 ¸æ ¸æ¥è®°å½") |
| | | @PostMapping("/reviewDeviceInspectionRecord") |
| | | public Result reviewDeviceInspectionRecord(@RequestBody DeviceInspectionRecordDto deviceExamineRecordDto){ |
| | | return deviceInspectionRecordService.reviewDeviceInspectionRecord(deviceExamineRecordDto); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 导åºè®¾å¤ç¹æ£è®°å½ |
| | | */ |
| | | @ApiOperation("导åºè®¾å¤ç¹æ£è®°å½") |
| | | @GetMapping("/exportDeviceInspectionRecord") |
| | | public Result exportDeviceInspectionRecord(@RequestParam("inspectionRecordId") Integer inspectionRecordId, HttpServletResponse response) { |
| | | return deviceInspectionRecordService.exportDeviceInspectionRecord(inspectionRecordId, response); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.device.dto.DeviceInstructionDto; |
| | | import com.ruoyi.device.dto.DeviceOperationInstructionDto; |
| | | import com.ruoyi.device.pojo.DeviceInstruction; |
| | | import com.ruoyi.device.pojo.OperationInstruction; |
| | | import com.ruoyi.device.service.DeviceInstructionService; |
| | | import com.ruoyi.device.service.DeviceOperationInstructionService; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.Arrays; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * ä½ä¸æå¯¼ä¹¦æ·»å åæ§æä»¶è¡¨ å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-12-04 10:29:18 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/deviceInstruction") |
| | | public class DeviceInstructionController { |
| | | |
| | | @Autowired |
| | | private DeviceInstructionService deviceInstructionService; |
| | | |
| | | @Autowired |
| | | private DeviceOperationInstructionService deviceOperationInstructionService; |
| | | |
| | | |
| | | @ApiOperation(value = "ä½ä¸æå¯¼ä¹¦ å页") |
| | | @GetMapping("/pageByPageQueryOfHomeworkInstructions") |
| | | public Result<IPage<DeviceInstruction>> pageByPageQueryOfHomeworkInstructions(Page page, DeviceOperationInstructionDto operationInstructionDto){ |
| | | return Result.success(deviceInstructionService.pageByPageQueryOfHomeworkInstructions(page, operationInstructionDto)); |
| | | } |
| | | |
| | | @ApiOperation(value = "ä½ä¸æå¯¼ä¹¦æ°å¢") |
| | | @PostMapping("/newHomeworkGuidebookAdded") |
| | | public Result newHomeworkGuidebookAdded(@RequestBody DeviceInstructionDto instructionDto){ |
| | | deviceInstructionService.newHomeworkGuidebookAdded(instructionDto); |
| | | return Result.success(); |
| | | } |
| | | |
| | | @ApiOperation(value = "ä½ä¸æå¯¼ä¹¦ç¼è¾") |
| | | @GetMapping("/homeworkGuidebookEditor") |
| | | public Result<Map<String, Object>> homeworkGuidebookEditor(Integer instructionId){ |
| | | DeviceInstruction instruction = deviceInstructionService.getById(instructionId); |
| | | List<DeviceOperationInstructionDto> list = deviceOperationInstructionService.homeworkGuidebookEditor(instructionId); |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("list", list); |
| | | map.put("instruction", instruction); |
| | | return Result.success(map); |
| | | } |
| | | |
| | | @ApiOperation(value = "ä½ä¸æå¯¼ä¹¦åæ§æä»¶å é¤") |
| | | @GetMapping("/deleteHomeworkGuidebook") |
| | | public Result deleteHomeworkGuidebook(String ids){ |
| | | if (ObjectUtils.isNotEmpty(ids)) { |
| | | String[] idArray = ids.split(","); |
| | | deviceOperationInstructionService.removeBatchByIds(Arrays.asList(idArray)); |
| | | } |
| | | return Result.success(); |
| | | } |
| | | |
| | | @ApiOperation(value = "ä½ä¸æå¯¼ä¹¦å é¤") |
| | | @GetMapping("/homeworkGuidebook") |
| | | public Result homeworkGuidebook(String id, String instructionId){ |
| | | // å é¤åè¡¨æ°æ® |
| | | deviceOperationInstructionService.removeById(id); |
| | | // 妿åè¡¨æ°æ®ä¸ºç©º |
| | | long count = deviceOperationInstructionService.count(Wrappers.<OperationInstruction>lambdaQuery() |
| | | .eq(OperationInstruction::getInstructionId, instructionId)); |
| | | // é£ä¹å°±å é¤ç¶è¡¨æ°æ® |
| | | if (count < 1) { |
| | | deviceInstructionService.removeById(id); |
| | | } |
| | | return Result.success(); |
| | | } |
| | | |
| | | @ApiOperation(value = "ä½ä¸æå¯¼ä¹¦å®¡æ¹") |
| | | @GetMapping("/approvalOfHomeworkInstructionManual") |
| | | public Result approvalOfHomeworkInstructionManual(String id, Boolean status){ |
| | | deviceOperationInstructionService.update(Wrappers.<OperationInstruction>lambdaUpdate() |
| | | .eq(OperationInstruction::getId, id) |
| | | .set(OperationInstruction::getStatus, status) |
| | | .set(OperationInstruction::getApproverId, SecurityUtils.getUserId().intValue()) |
| | | .set(OperationInstruction::getEntryIntoForceTime, LocalDateTime.now())); |
| | | return Result.success(); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.controller; |
| | | |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.alibaba.excel.write.metadata.style.WriteCellStyle; |
| | | import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.numgen.NumberGenerator; |
| | | import com.ruoyi.device.excel.DeviceMaintenanceExport; |
| | | import com.ruoyi.device.pojo.DeviceMaintenance; |
| | | import com.ruoyi.device.service.DeviceMaintenanceService; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.poi.ss.usermodel.HorizontalAlignment; |
| | | import org.apache.poi.ss.usermodel.VerticalAlignment; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Locale; |
| | | |
| | | /** |
| | | * todo: åæ²³æ»¨ |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/device-maintain") |
| | | public class DeviceMaintenanceController { |
| | | |
| | | @Autowired |
| | | private DeviceMaintenanceService deviceMaintenanceService; |
| | | |
| | | @Autowired |
| | | private NumberGenerator<DeviceMaintenance> numberGenerator; |
| | | //å¢ |
| | | @PostMapping() |
| | | public Result create(@RequestBody DeviceMaintenance deviceMaintenance){ |
| | | String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); |
| | | String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); |
| | | String processNumber = numberGenerator.generateNumberWithPrefix(3, "DG-TC-23FM " + month + "-" + year + month, DeviceMaintenance::getDeviceNumber); |
| | | deviceMaintenance.setDeviceNumber(processNumber); |
| | | return Result.success(deviceMaintenanceService.save(deviceMaintenance)); |
| | | } |
| | | |
| | | //éè¿deviceIdæ¥è¯¢ç»´æ¤æ°æ® |
| | | @GetMapping("/getDeviceMaintenancePage") |
| | | public Result getDeviceMaintenancePage(@RequestParam("deviceId") Integer deviceId, Page page, String deviceNumber){ |
| | | return Result.success(deviceMaintenanceService.getDeviceMaintenancePage(page, deviceId, deviceNumber)); |
| | | } |
| | | |
| | | //å |
| | | @DeleteMapping("/delete/{id}") |
| | | public void deleteDeviceFault(@PathVariable Integer id) { |
| | | deviceMaintenanceService.removeById(id); |
| | | } |
| | | |
| | | @GetMapping("/deviceMaintenanceExport") |
| | | public Result deviceMaintenanceExport(@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws IOException { |
| | | List<DeviceMaintenanceExport> list = deviceMaintenanceService.deviceMaintenanceExport(deviceId); |
| | | response.setHeader("requestType","excel"); |
| | | response.setHeader("Access-Control-Expose-Headers", "requestType"); |
| | | // 设置åå
æ ¼æ ·å¼ |
| | | // ä¿åå°ç¬¬ä¸ä¸ªsheetä¸ |
| | | EasyExcel.write(response.getOutputStream()) |
| | | .head(DeviceMaintenanceExport.class) |
| | | .registerWriteHandler(getHorizontalCellStyleStrategy((short) 12)) |
| | | .sheet() |
| | | .doWrite(list); |
| | | return Result.success(); |
| | | } |
| | | |
| | | @ApiOperation(value = "设å¤ç»´æ¤è®°å½å¯¼åº") |
| | | @GetMapping("/exportMaintenanceRecord") |
| | | public void exportMaintenanceRecord(@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws Exception { |
| | | deviceMaintenanceService.exportMaintenanceRecord(deviceId, response); |
| | | } |
| | | |
| | | /** |
| | | * åå
æ ¼æ ·å¼çç¥ |
| | | */ |
| | | public static HorizontalCellStyleStrategy getHorizontalCellStyleStrategy(Short fontHeightInPoints) { |
| | | // å
容ççç¥ |
| | | WriteCellStyle contentWriteCellStyle = new WriteCellStyle(); |
| | | |
| | | // ãæ°´å¹³å±
ä¸éè¦ä½¿ç¨ä»¥ä¸ä¸¤è¡ã |
| | | // 设置æåå·¦å³å±
ä¸ |
| | | contentWriteCellStyle.setHorizontalAlignment(HorizontalAlignment.CENTER); |
| | | // 设置æåä¸ä¸å±
ä¸ |
| | | contentWriteCellStyle.setVerticalAlignment(VerticalAlignment.CENTER); |
| | | // 设置 èªå¨æ¢è¡ |
| | | contentWriteCellStyle.setWrapped(true); |
| | | |
| | | // æ ·å¼çç¥ |
| | | return new HorizontalCellStyleStrategy(null, contentWriteCellStyle); |
| | | } |
| | | } |
| | |
| | | * @param deviceMaintenancePlanDto 设å¤ä¿å
»è®¡å |
| | | */ |
| | | @ApiOperation("å é¤è®¾å¤ä¿å
»è®¡å") |
| | | @GetMapping("/deleteMaintenancePlan") |
| | | @DeleteMapping("/deleteMaintenancePlan") |
| | | public Result deleteMaintenancePlan(DeviceMaintenancePlanDto deviceMaintenancePlanDto) { |
| | | return deviceMaintenancePlanService.deleteMaintenancePlan(deviceMaintenancePlanDto); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.numgen.NumberGenerator; |
| | | import com.ruoyi.common.utils.FileSaveUtil; |
| | | import com.ruoyi.device.dto.DeviceMetricRecordDto; |
| | | import com.ruoyi.device.pojo.DeviceMetricRecord; |
| | | import com.ruoyi.device.pojo.DeviceMetricsCopy; |
| | | import com.ruoyi.device.service.DeviceMetricRecordService; |
| | | import com.ruoyi.device.service.DeviceMetricsCopyService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.Locale; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ ¡å - æ ¡åè®°å½ å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-09-27 10:20:01 |
| | | */ |
| | | @Api(tags = "è®¾å¤ - è®¾å¤æ ¡å") |
| | | @RestController |
| | | @RequestMapping("/deviceMetricRecord") |
| | | public class DeviceMetricRecordController { |
| | | |
| | | @Autowired |
| | | private DeviceMetricRecordService deviceMetricRecordService; |
| | | |
| | | @Autowired |
| | | private DeviceMetricsCopyService deviceMetricsCopyService; |
| | | |
| | | @Autowired |
| | | private NumberGenerator<DeviceMetricRecord> numberGenerator; |
| | | |
| | | @ApiOperation("è®¾å¤æ ¡åå页æ¥è¯¢") |
| | | @GetMapping("/deviceMetricRecordPage") |
| | | public Result deviceMetricRecordPage(@RequestParam("deviceId") Integer deviceId, Page page, @RequestParam("type") String type) { |
| | | return Result.success(deviceMetricRecordService.page(page, Wrappers.<DeviceMetricRecord>lambdaQuery() |
| | | .eq(DeviceMetricRecord::getDeviceId, deviceId) |
| | | .eq(DeviceMetricRecord::getType, type))); |
| | | } |
| | | |
| | | @ApiOperation("è®¾å¤æ ¡å æ°å¢ æ´æ°") |
| | | @PostMapping("/addOrUpdateDeviceMetricRecord") |
| | | public Result addOrUpdateDeviceMetricRecord(@RequestBody DeviceMetricRecordDto deviceMetricRecordDto) { |
| | | if (ObjectUtils.isEmpty(deviceMetricRecordDto.getProcessNumber())) { |
| | | String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); |
| | | String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); |
| | | String processNumber = numberGenerator.generateNumberWithPrefix(5, "SBJZ" + year + month, DeviceMetricRecord::getProcessNumber); |
| | | deviceMetricRecordDto.setProcessNumber(processNumber); |
| | | } |
| | | deviceMetricRecordService.saveOrUpdate(deviceMetricRecordDto); |
| | | if (CollectionUtils.isNotEmpty(deviceMetricRecordDto.getDeviceMetricsCopyList())) { |
| | | deviceMetricRecordDto.getDeviceMetricsCopyList().forEach(i -> i.setDeviceMetricsId(deviceMetricRecordDto.getId())); |
| | | deviceMetricsCopyService.saveOrUpdateBatch(deviceMetricRecordDto.getDeviceMetricsCopyList()); |
| | | } |
| | | return Result.success(); |
| | | } |
| | | |
| | | @ApiOperation("è®¾å¤æ ¡å å é¤") |
| | | @DeleteMapping("/deleteDeviceMetricRecord") |
| | | public Result deleteDeviceMetricRecord(@RequestParam("id") Integer id) { |
| | | DeviceMetricRecord deviceMetricRecord = deviceMetricRecordService.getById(id); |
| | | deviceMetricsCopyService.remove(Wrappers.<DeviceMetricsCopy>lambdaQuery() |
| | | .eq(DeviceMetricsCopy::getDeviceMetricsId, id)); |
| | | // å 餿件 |
| | | FileSaveUtil.DeleteFile(deviceMetricRecord.getSystemFileName()); |
| | | return Result.success(deviceMetricRecordService.removeById(id)); |
| | | } |
| | | |
| | | @ApiOperation("è®¾å¤æ ¡å æ ¡åæ¡ç®æ¥è¯¢") |
| | | @GetMapping("/showDeviceMetricsCopy") |
| | | public Result showDeviceMetricsCopy(@RequestParam("id") Integer id, @RequestParam("type") String type) { |
| | | return Result.success(deviceMetricsCopyService.list(Wrappers.<DeviceMetricsCopy>lambdaQuery() |
| | | .eq(DeviceMetricsCopy::getDeviceMetricsId, id) |
| | | .eq(DeviceMetricsCopy::getType, type))); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.device.pojo.DeviceScrapped; |
| | | import com.ruoyi.device.service.DeviceScrappedService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ¥åºç³è¯·è¡¨ å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 01:53:47 |
| | | */ |
| | | @Api(tags = "è®¾å¤æ¥åºç³è¯·è¡¨") |
| | | @AllArgsConstructor |
| | | @RestController |
| | | @RequestMapping("/deviceScrapped") |
| | | public class DeviceScrappedController { |
| | | |
| | | private DeviceScrappedService deviceScrappedService; |
| | | |
| | | |
| | | /** |
| | | * è®¾å¤æ¥åºç³è¯·å表 |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "è®¾å¤æ¥åºç³è¯·å表") |
| | | @GetMapping("/pageDeviceScrapped") |
| | | public Result<IPage<DeviceScrapped>> pageDeviceScrapped(Page page, DeviceScrapped deviceScrapped) { |
| | | return Result.success(deviceScrappedService.pageDeviceScrapped(page, deviceScrapped)); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢è®¾å¤æ¥åºç³è¯· |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "æ¥è¯¢è®¾å¤æ¥åºç³è¯·") |
| | | @GetMapping("/getDeviceScrapped") |
| | | public Result getDeviceScrapped(Integer scrappedId){ |
| | | return Result.success(deviceScrappedService.getById(scrappedId)); |
| | | } |
| | | |
| | | /** |
| | | * å é¤è®¾å¤æ ¸æ¥è®¡å详æ
|
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "å é¤è®¾å¤æ¥åºç³è¯·") |
| | | @DeleteMapping("/delDeviceScrapped") |
| | | public Result delDeviceScrapped(Integer scrappedId){ |
| | | return Result.success(deviceScrappedService.removeById(scrappedId)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤æ¥åºç³è¯· |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "æ°å¢è®¾å¤æ¥åºç³è¯·") |
| | | @PostMapping("/addDeviceScrapped") |
| | | public Result addDeviceScrapped(@RequestBody DeviceScrapped deviceScrapped){ |
| | | return Result.success(deviceScrappedService.addDeviceScrapped(deviceScrapped)); |
| | | } |
| | | |
| | | /** |
| | | * 导åºè®¾å¤æ¥åºç³è¯· |
| | | */ |
| | | @ApiOperation("导åºè®¾å¤æ¥åºç³è¯·") |
| | | @GetMapping("/exportDeviceScrapped") |
| | | public Result exportDeviceScrapped(Integer scrappedId, HttpServletResponse response) { |
| | | return deviceScrappedService.exportDeviceScrapped(scrappedId, response); |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.controller; |
| | | |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.numgen.NumberGenerator; |
| | | import com.ruoyi.device.dto.DeviceStateDto; |
| | | import com.ruoyi.device.excel.DeviceStateExport; |
| | | import com.ruoyi.device.pojo.DeviceState; |
| | | import com.ruoyi.device.service.DeviceStateService; |
| | | 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.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Locale; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤åç¨/å¯ç¨ å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-09-26 09:51:40 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/deviceState") |
| | | public class DeviceStateController { |
| | | |
| | | @Autowired |
| | | private DeviceStateService deviceStateService; |
| | | |
| | | @Autowired |
| | | private NumberGenerator<DeviceState> numberGenerator; |
| | | |
| | | @PostMapping("saveDeviceState") |
| | | public Result saveIncidentReportData(@RequestBody DeviceState deviceState) { |
| | | if (ObjectUtils.isEmpty(deviceState.getProcessNumber())) { |
| | | String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); |
| | | String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); |
| | | String processNumber = numberGenerator.generateNumberWithPrefix(3, "DG-TC-23FM " + month + "-" + year + month, DeviceState::getProcessNumber); |
| | | deviceState.setProcessNumber(processNumber); |
| | | } |
| | | deviceStateService.saveOrUpdate(deviceState); |
| | | return Result.success(); |
| | | } |
| | | |
| | | @GetMapping("/getDeviceStatePage") |
| | | public Result getDeviceStatePage(@RequestParam("deviceId") Integer deviceId, Page page, String processNumber){ |
| | | return Result.success(deviceStateService.getDeviceStatePage(deviceId, page, processNumber)); |
| | | } |
| | | |
| | | @DeleteMapping("/deleteDeviceState") |
| | | public Result deleteDeviceState(@RequestParam("stateId") Integer stateId){ |
| | | return Result.success(deviceStateService.removeById(stateId)); |
| | | } |
| | | |
| | | @PostMapping("/deviceStateExport") |
| | | public Result deviceStateExport(@RequestParam("deviceId") Integer deviceId, String processNumber, HttpServletResponse response) throws Exception { |
| | | IPage<DeviceStateDto> deviceBorrows = deviceStateService.getDeviceStatePage(deviceId, new Page<>(1, -1), processNumber); |
| | | List<DeviceStateExport> studentList = JSONObject.parseArray(JSON.toJSONString(deviceBorrows.getRecords()), DeviceStateExport.class); |
| | | response.setHeader("requestType", "excel"); |
| | | response.setHeader("Access-Control-Expose-Headers", "requestType"); |
| | | // 设置åå
æ ¼æ ·å¼ |
| | | // ä¿åå°ç¬¬ä¸ä¸ªsheetä¸ |
| | | EasyExcel.write(response.getOutputStream()) |
| | | .head(DeviceStateExport.class) |
| | | .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // èªéåºå宽 |
| | | .sheet("sheet") |
| | | .doWrite(studentList); |
| | | return Result.success(); |
| | | } |
| | | |
| | | @ApiOperation(value = "设å¤å¯å¨/忢坼åº") |
| | | @GetMapping("/exportDeviceStatus") |
| | | public void exportDeviceStatus(@RequestParam("processNumber") String processNumber,@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws Exception { |
| | | deviceStateService.exportDeviceStatus(deviceId, processNumber, response); |
| | | } |
| | | } |
| | |
| | | * @param deviceTraceabilityManagementDto é弿º¯æºè®¡å |
| | | */ |
| | | @ApiOperation("å é¤é弿º¯æºè®¡å") |
| | | @GetMapping("/deleteTraceabilityManagement") |
| | | @DeleteMapping("/deleteTraceabilityManagement") |
| | | public Result deleteTraceabilityManagement(DeviceTraceabilityManagementDto deviceTraceabilityManagementDto) { |
| | | return deviceTraceabilityManagementService.deleteTraceabilityManagement(deviceTraceabilityManagementDto); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.dto; |
| | | |
| | | import com.ruoyi.device.pojo.DeviceAccidentReport; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * Author: yuan |
| | | * Date: 2024-12-18 ææä¸ 10:00:48 |
| | | * Description: |
| | | */ |
| | | @Data |
| | | public class DeviceAccidentReportDto extends DeviceAccidentReport { |
| | | @ApiModelProperty("æ¶é´") |
| | | private String accidentDateStr; |
| | | |
| | | @ApiModelProperty("æ¥åäººå¡«åæ¶é´") |
| | | private String reportDateStr; |
| | | |
| | | @ApiModelProperty("è¯ä¼°äººå¡«åæ¶é´") |
| | | private String assessorDateStr; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äººå¡«åæ¶é´") |
| | | private String departmentHeadDateStr; |
| | | |
| | | @ApiModelProperty("ææ¯è´è´£äººå¡«åæ¶é´") |
| | | private String technicalDirectorDateStr; |
| | | |
| | | @ApiModelProperty("䏻任填忶é´") |
| | | private String directorHeadDateStr; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.dto; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ
é维修表 |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 04:50:57 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("device_breakdown_maintenance") |
| | | @ApiModel(value = "DeviceBreakdownMaintenance对象", description = "è®¾å¤æ
é维修表") |
| | | public class DeviceBreakdownMaintenance { |
| | | |
| | | @TableId(value = "maintenance_id", type = IdType.AUTO) |
| | | private Integer maintenanceId; |
| | | |
| | | @ApiModelProperty("设å¤id") |
| | | private Integer deviceId; |
| | | |
| | | @ApiModelProperty("å®è£
å°å") |
| | | private String location; |
| | | |
| | | @ApiModelProperty("æåææ
éæ
åµ") |
| | | private String damageOrMalfunction; |
| | | |
| | | @ApiModelProperty("ç³è¯·äººid") |
| | | private Integer applicantUserId; |
| | | |
| | | @ApiModelProperty("ç³è¯·äºº") |
| | | private String applicantUser; |
| | | |
| | | @ApiModelProperty("è¦æ±ä¿®å¤æ¶é´") |
| | | private LocalDate repairDate; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äººæè§") |
| | | private String departmentHeadOpinion; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äººid") |
| | | private Integer departmentHeadUserId; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äºº") |
| | | private String departmentHeadUser; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äººå¡«åæ¶é´") |
| | | private LocalDate departmentHeadDate; |
| | | |
| | | @ApiModelProperty("维修记äº") |
| | | private String maintenanceRecord; |
| | | |
| | | @ApiModelProperty("维修人") |
| | | private String maintenanceUser; |
| | | |
| | | @ApiModelProperty("ç»´ä¿®æ¶é´") |
| | | private LocalDate maintenanceDate; |
| | | |
| | | @ApiModelProperty("æ¯å¦ç»æ,0 æªç»æ, 1ç»æ") |
| | | private Integer isFinish; |
| | | |
| | | @ApiModelProperty("å建人") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹äºº") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @TableField(exist = false,select = false) |
| | | @ApiModelProperty("æµç¨, 0:ç³è¯·, 1ç³è¯·é¨é¨è´è´£äººæè§, 2:维修记äº") |
| | | private Integer flowType; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.dto; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.ruoyi.device.pojo.DeviceInspectionRecord; |
| | | import com.ruoyi.device.pojo.DeviceInspectionRecordDetails; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * Author: yuan |
| | | * Date: 2024-12-16 ææä¸ 17:23:22 |
| | | * Description: |
| | | */ |
| | | @Data |
| | | public class DeviceInspectionRecordDto extends DeviceInspectionRecord { |
| | | |
| | | @TableField(exist = false) |
| | | @ApiModelProperty("æµè¯è¯¦æ
å
容") |
| | | private List<DeviceInspectionRecordDetails> details; |
| | | |
| | | @ApiModelProperty("æµè¯æ¶é´") |
| | | private String testDateString; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.dto; |
| | | |
| | | import com.ruoyi.device.pojo.DeviceInstruction; |
| | | import com.ruoyi.device.pojo.OperationInstruction; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class DeviceInstructionDto extends DeviceInstruction { |
| | | |
| | | private List<OperationInstruction> feTempHumRecordList; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.dto; |
| | | |
| | | import com.ruoyi.device.pojo.DeviceMetricRecord; |
| | | import com.ruoyi.device.pojo.DeviceMetricsCopy; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class DeviceMetricRecordDto extends DeviceMetricRecord { |
| | | |
| | | private List<DeviceMetricsCopy> deviceMetricsCopyList; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.dto; |
| | | |
| | | import com.ruoyi.device.pojo.OperationInstruction; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class DeviceOperationInstructionDto extends OperationInstruction { |
| | | @ApiModelProperty("ç³è¯·ç¼å·") |
| | | private String applicationNumber; |
| | | |
| | | @ApiModelProperty("ç³è¯·é¨é¨") |
| | | private String applicationDepartment; |
| | | |
| | | @ApiModelProperty("责任人") |
| | | private String personLiable; |
| | | |
| | | @ApiModelProperty("åæ§ç³è¯·è¯´æ") |
| | | private String controlledApplicationDescription; |
| | | |
| | | @ApiModelProperty("管çç¼å·") |
| | | private String deviceNumber; |
| | | |
| | | @ApiModelProperty("åå·") |
| | | private String deviceModel; |
| | | |
| | | @ApiModelProperty("设å¤åç§°") |
| | | private String deviceName; |
| | | |
| | | @ApiModelProperty("ä¸ä¼ 人") |
| | | private String uploaderName; |
| | | |
| | | @ApiModelProperty("审æ¹äºº") |
| | | private String approverName; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.dto; |
| | | |
| | | import com.ruoyi.device.pojo.DeviceScrapped; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * Author: yuan |
| | | * Date: 2024-12-17 ææäº 18:34:17 |
| | | * Description: |
| | | */ |
| | | @Data |
| | | public class DeviceScrappedDto extends DeviceScrapped { |
| | | |
| | | @ApiModelProperty("ç³è¯·æ¶é´") |
| | | private String applicantDateStr; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äººå¡«åæ¶é´") |
| | | private String departmentHeadDateStr; |
| | | |
| | | @ApiModelProperty("计éå®¤äººå¡«åæ¶é´") |
| | | private String meteringRoomDateStr; |
| | | |
| | | @ApiModelProperty("æ¹åäººå¡«åæ¶é´") |
| | | private String approverDateStr; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.dto; |
| | | |
| | | import com.ruoyi.device.pojo.DeviceState; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class DeviceStateDto extends DeviceState { |
| | | @ApiModelProperty(value = "设å¤åç§°") |
| | | private String deviceName; |
| | | |
| | | @ApiModelProperty(value = "è§æ ¼åå·") |
| | | private String specificationModel; |
| | | |
| | | @ApiModelProperty(value = "管çç¼å·") |
| | | private String managementNumber; |
| | | |
| | | @ApiModelProperty(value = "æä½æ¥æ yyyy-MM-dd") |
| | | private String submitDateString; |
| | | |
| | | @ApiModelProperty("è´è´£äººå®¡æ¹æ¥æ yyyy-MM-dd") |
| | | private String departmentDateString; |
| | | |
| | | @ApiModelProperty("计éå®¤å®¡æ¹æ¥æ yyyy-MM-dd") |
| | | private String measuringRoomDateString; |
| | | |
| | | @ApiModelProperty("æ¹åæ¥æ yyyy-MM-dd") |
| | | private String approvalDateString; |
| | | |
| | | @ApiModelProperty(value = "设å¤ç±»å") |
| | | private String largeCategory; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.excel; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | public class DeviceStateExport { |
| | | @ExcelProperty(value = "设å¤åç§°") |
| | | private String deviceName; |
| | | |
| | | @ExcelProperty(value = "è§æ ¼åå·") |
| | | private String specificationModel; |
| | | |
| | | @ExcelProperty(value = "管çç¼å·") |
| | | private String managementNumber; |
| | | |
| | | @ExcelProperty("设å¤ç¶æ") |
| | | private String deviceStatus; |
| | | |
| | | @ExcelProperty("åç¨å¯ç¨çç±") |
| | | private String reason; |
| | | |
| | | @ExcelProperty("æäº¤äºº") |
| | | private String createUser; |
| | | |
| | | @ExcelProperty("æäº¤æ¥æ") |
| | | private LocalDateTime createTime; |
| | | |
| | | @ExcelProperty("å½åç¶æ") |
| | | private String currentState; |
| | | |
| | | @ExcelProperty("å½åè´è´£äºº") |
| | | private String currentResponsible; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.device.pojo.DeviceAcceptanceFile; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤éªæ¶(è£
å¤)é件表 Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-20 01:45:26 |
| | | */ |
| | | public interface DeviceAcceptanceFileMapper extends BaseMapper<DeviceAcceptanceFile> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.device.pojo.DeviceAcceptance; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤éªæ¶(è£
å¤) Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-20 01:45:14 |
| | | */ |
| | | public interface DeviceAcceptanceMapper extends BaseMapper<DeviceAcceptance> { |
| | | |
| | | /** |
| | | * 设å¤éªæ¶å表 |
| | | * @param page |
| | | * @param ew |
| | | * @return |
| | | */ |
| | | IPage<DeviceAcceptance> pageDeviceAcceptance(Page page, @Param("ew") QueryWrapper<DeviceAcceptance> ew); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.device.dto.DeviceAccidentReportDto; |
| | | import com.ruoyi.device.pojo.DeviceAccidentReport; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤äºæ
æ¥åå Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 06:31:12 |
| | | */ |
| | | public interface DeviceAccidentReportMapper extends BaseMapper<DeviceAccidentReport> { |
| | | |
| | | /** |
| | | * 设å¤äºæ
æ¥åå表 |
| | | * @param page |
| | | * @param ew |
| | | * @return |
| | | */ |
| | | IPage<DeviceAccidentReport> pageDeviceAccidentReport(Page page, @Param("ew") QueryWrapper<DeviceAccidentReport> ew); |
| | | |
| | | /** |
| | | * æ¥è¯¢è®¾å¤äºæ
æ¥å详æ
|
| | | * @param accidentReportId 设å¤äºæ
æ¥åid |
| | | * @return |
| | | */ |
| | | DeviceAccidentReportDto selectDeviceAccidentReportById(Integer accidentReportId); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.device.pojo.DeviceBorrow; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-09-21 10:53:51 |
| | | */ |
| | | public interface DeviceBorrowMapper extends BaseMapper<DeviceBorrow> { |
| | | |
| | | IPage<DeviceBorrow> deviceBorrowPage(Page page, @Param("ew")QueryWrapper<DeviceBorrow> ew); |
| | | |
| | | List<DeviceBorrow> getDeviceBorrowBydeviceId(Integer deviceId); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.device.dto.DeviceBreakdownMaintenance; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ
é维修表 Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 04:50:57 |
| | | */ |
| | | public interface DeviceBreakdownMaintenanceMapper extends BaseMapper<DeviceBreakdownMaintenance> { |
| | | |
| | | /** |
| | | * è®¾å¤æ
éç»´ä¿®å表 |
| | | * @param page |
| | | * @param ew |
| | | * @return |
| | | */ |
| | | IPage<DeviceBreakdownMaintenance> pageDeviceBreakdownMaintenance(Page page, @Param("ew") QueryWrapper<DeviceBreakdownMaintenance> ew); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.device.pojo.DeviceInspectionRecordDetails; |
| | | |
| | | /** |
| | | * <p> |
| | | * Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-16 04:27:32 |
| | | */ |
| | | public interface DeviceInspectionRecordDetailsMapper extends BaseMapper<DeviceInspectionRecordDetails> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.ruoyi.device.dto.DeviceInspectionRecordDto; |
| | | import com.ruoyi.device.pojo.DeviceInspectionRecord; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-16 04:25:14 |
| | | */ |
| | | public interface DeviceInspectionRecordMapper extends BaseMapper<DeviceInspectionRecord> { |
| | | |
| | | /** |
| | | * å页æ¥è¯¢è®¾å¤ç¹æ£è®°å½ |
| | | * @param page |
| | | * @param queryWrappers |
| | | * @return |
| | | */ |
| | | IPage<DeviceInspectionRecord> selectDeviceParameterPage(IPage page, @Param("ew") QueryWrapper<DeviceInspectionRecordDto> queryWrappers); |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.device.pojo.DeviceLog; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | @Mapper |
| | | public interface DeviceLogMapper extends BaseMapper<DeviceLog> { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.device.pojo.DeviceMetricsCopy; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ ¡å - æ ¡åè®°å½ - æ ¡åæ¡ç® Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-09-27 10:20:11 |
| | | */ |
| | | public interface DeviceMetricsCopyMapper extends BaseMapper<DeviceMetricsCopy> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.device.dto.DeviceScrappedDto; |
| | | import com.ruoyi.device.pojo.DeviceScrapped; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ¥åºç³è¯·è¡¨ Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 01:53:47 |
| | | */ |
| | | public interface DeviceScrappedMapper extends BaseMapper<DeviceScrapped> { |
| | | |
| | | /** |
| | | * è®¾å¤æ¥åºç³è¯·å表 |
| | | * @param page |
| | | * @param ew |
| | | * @return |
| | | */ |
| | | IPage<DeviceScrapped> pageDeviceScrapped(Page page, @Param("ew") QueryWrapper<DeviceScrapped> ew); |
| | | |
| | | /** |
| | | * æ ¹æ®idæ¥è¯¢è®¾å¤æ¥åºç³è¯· |
| | | * @param scrappedId |
| | | * @return |
| | | */ |
| | | DeviceScrappedDto selectDeviceScrappedById(@Param("scrappedId") Integer scrappedId); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.device.dto.DeviceStateDto; |
| | | import com.ruoyi.device.pojo.DeviceState; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤åç¨/å¯ç¨ Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-09-26 09:51:40 |
| | | */ |
| | | public interface DeviceStateMapper extends BaseMapper<DeviceState> { |
| | | |
| | | IPage<DeviceStateDto> getDeviceStatePage(Integer deviceId, Page page, String processNumber); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | 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.device.dto.DeviceOperationInstructionDto; |
| | | import com.ruoyi.device.pojo.DeviceInstruction; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * ä½ä¸æå¯¼ä¹¦æ·»å åæ§æä»¶è¡¨ Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-12-04 10:29:18 |
| | | */ |
| | | public interface InstructionMapper extends BaseMapper<DeviceInstruction> { |
| | | |
| | | |
| | | IPage<DeviceInstruction> pageByPageQueryOfHomeworkInstructions(Page page, @Param("ew") QueryWrapper<DeviceOperationInstructionDto> ew); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.device.dto.DeviceOperationInstructionDto; |
| | | import com.ruoyi.device.pojo.OperationInstruction; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤ - ä½ä¸æå¯¼ä¹¦ æ·»å åæ§æä»¶ å Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-12-04 10:43:32 |
| | | */ |
| | | public interface OperationInstructionMapper extends BaseMapper<OperationInstruction> { |
| | | |
| | | List<DeviceOperationInstructionDto> homeworkGuidebookEditor(Integer instructionId); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mqtt; |
| | | |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | @Component |
| | | public class MQBean { |
| | | |
| | | @Bean("mqClient") // å¯å¨WEBæå¡å¨çæ¶åè°ç¨æ¤æ¹æ³åå§å |
| | | public MQClient myMQTTClient(){ |
| | | MQClient mqClient = new MQClient(); |
| | | return mqClient; |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mqtt; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.ruoyi.device.service.CollectBridgeService; |
| | | import lombok.SneakyThrows; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken; |
| | | import org.eclipse.paho.client.mqttv3.MqttCallback; |
| | | import org.eclipse.paho.client.mqttv3.MqttMessage; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.PostConstruct; |
| | | import javax.annotation.Resource; |
| | | |
| | | @Component |
| | | @Slf4j |
| | | public class MQCallback<component> implements MqttCallback { |
| | | |
| | | private MQClient mqClient; // MQTTè¿æ¥æ°æ® |
| | | |
| | | private MQConfig mqConfig; // ymlé
ç½®æ°æ® |
| | | |
| | | private static MQCallback mqCallback; |
| | | |
| | | @Resource |
| | | private CollectBridgeService collectBridgeService; |
| | | |
| | | @PostConstruct |
| | | public void init() { |
| | | mqCallback = this; |
| | | // åä½¿åæ¶å°å·²éæåçconfigParamå®ä¾å |
| | | mqCallback.collectBridgeService = this.collectBridgeService; |
| | | } |
| | | |
| | | public MQCallback(MQClient mqClient, MQConfig mqConfig) { |
| | | this.mqClient = mqClient; |
| | | this.mqConfig = mqConfig; |
| | | } |
| | | |
| | | /** è¿æ¥ä¸¢å¤±åï¼ä¸è¬å¨è¿éé¢è¿è¡éè¿ **/ |
| | | @SneakyThrows |
| | | @Override |
| | | public void connectionLost(Throwable cause) { |
| | | /** è¿æ¥ä¸¢å¤±åï¼ä¸è¬å¨è¿éé¢è¿è¡éè¿ **/ |
| | | if (mqClient != null) { |
| | | while (true) { |
| | | try { |
| | | log.info("==============ããã[MQTT] è¿æ¥ä¸¢å¤±ï¼å°è¯éè¿..."); |
| | | MQClient mqttPushClient = new MQClient(); |
| | | mqttPushClient.connect(mqConfig); |
| | | if (mqClient.getClient().isConnected()) { |
| | | log.info("=============>>éè¿æå"); |
| | | } |
| | | break; |
| | | } catch (Exception e) { |
| | | log.error("=============>>>[MQTT] è¿æ¥æå¼ï¼éè¿å¤±è´¥ï¼<<============="); |
| | | continue; |
| | | } |
| | | } |
| | | } |
| | | log.info(cause.getMessage()); |
| | | } |
| | | |
| | | /** |
| | | * MQTTæå¡å¨åWEBæå¡å¨åéçæ°æ®ä¼æ§è¡å°è¿éé¢ï¼å®æ¹è¯ç§°ä¸ºï¼è®¢é
åçæ¶æ¯ |
| | | * @param topic 主é¢ï¼ä¹ç§°ä¸ºåºå±ç½å
³å¯ä¸æ è¯ |
| | | * @param message ä¿¡æ¯ |
| | | * @throws Exception æ¥é |
| | | */ |
| | | @Override |
| | | public void messageArrived(String topic, MqttMessage message) throws Exception { |
| | | try { |
| | | String parse = new String(message.getPayload()); |
| | | JSONObject jsonObject = JSONObject.parseObject(parse); |
| | | // å¡«å
ééæ°æ® |
| | | mqCallback.collectBridgeService.addBridgeValue(jsonObject); |
| | | |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | log.info("============ããæ¥æ¶æ¶æ¯ä¸»é¢å¼å¸¸ : " + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * WEBæå¡å¨åMQTTæå¡å¨åéçæ°æ®ä¼æ§è¡å°è¿éé¢ |
| | | * 宿¹è¯ç§°ä¸ºï¼åå¸å伿§è¡å°è¿é |
| | | * @param token è¿æ¥token |
| | | */ |
| | | @Override |
| | | public void deliveryComplete(IMqttDeliveryToken token) { |
| | | // log.info("==========åå¸ä¿¡æ¯={}==========", token.isComplete()); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mqtt; |
| | | |
| | | import lombok.SneakyThrows; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.eclipse.paho.client.mqttv3.MqttClient; |
| | | import org.eclipse.paho.client.mqttv3.MqttConnectOptions; |
| | | import org.eclipse.paho.client.mqttv3.MqttException; |
| | | import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | @Component |
| | | @Slf4j |
| | | public class MQClient { |
| | | |
| | | private static MqttClient client; |
| | | public static MqttClient getClient() { |
| | | return client; |
| | | } |
| | | public static void setClient(MqttClient client) { |
| | | MQClient.client = client; |
| | | } |
| | | |
| | | /** |
| | | * WEBæå¡å¨è¿æ¥MQTTæå¡å¨çé
ç½® |
| | | * @param userName è´¦å· |
| | | * @param password å¯ç |
| | | * @param outTime è¶
æ¶æ¶é´ |
| | | * @param KeepAlive å¿è·³æ£æµæ¶é´ |
| | | * @return |
| | | */ |
| | | private MqttConnectOptions getOption(String userName, String password, int outTime, int KeepAlive) { |
| | | MqttConnectOptions option = new MqttConnectOptions(); |
| | | // 设置æ¯å¦æ¸
空session,false表示æå¡å¨ä¼ä¿ç客æ·ç«¯çè¿æ¥è®°å½ï¼trueè¡¨ç¤ºæ¯æ¬¡è¿æ¥å°æå¡å¨é½ä»¥æ°çèº«ä»½è¿æ¥ |
| | | option.setCleanSession(true); |
| | | // è®¾ç½®è¿æ¥çç¨æ·å |
| | | option.setUserName(userName); |
| | | // è®¾ç½®è¿æ¥çå¯ç |
| | | option.setPassword(password.toCharArray()); |
| | | // 设置è¶
æ¶æ¶é´ åä½ä¸ºç§ |
| | | option.setConnectionTimeout(outTime); |
| | | // 设置ä¼è¯å¿è·³æ¶é´ åä½ä¸ºç§ æå¡å¨ä¼æ¯é(1.5*keepTime)ç§çæ¶é´å客æ·ç«¯åéä¸ªæ¶æ¯å¤æå®¢æ·ç«¯æ¯å¦å¨çº¿ï¼ä½è¿ä¸ªæ¹æ³å¹¶æ²¡æéè¿çæºå¶ |
| | | option.setKeepAliveInterval(KeepAlive); |
| | | // setWillæ¹æ³ï¼å¦æé¡¹ç®ä¸éè¦ç¥é客æ·ç«¯æ¯å¦æçº¿å¯ä»¥è°ç¨è¯¥æ¹æ³ã设置æç»ç«¯å£çéç¥æ¶æ¯ |
| | | // option.setWill(topic, "close".getBytes(), 2, true); |
| | | //设置æå¤§é度 |
| | | option.setMaxInflight(1000); |
| | | log.info("================>>>MQTTè¿æ¥è®¤è¯æå<<======================"); |
| | | return option; |
| | | } |
| | | |
| | | /** |
| | | * WEBæå¡å¨è¿æ¥MQTTæå¡å¨å½æ° |
| | | * @param mqttConfig ymlä¸MQTTçé
ç½® |
| | | */ |
| | | public void connect(MQConfig mqttConfig) throws MqttException { |
| | | client = new MqttClient(mqttConfig.getUrl(), mqttConfig.getClientId(), new MemoryPersistence()); |
| | | MqttConnectOptions options = getOption(mqttConfig.getUsername(), mqttConfig.getPassword(), |
| | | mqttConfig.getTimeout(), mqttConfig.getKeepAlive()); |
| | | MQClient.setClient(client); |
| | | //è¿æ¥å¤±è´¥è°ç¨åè°å½æ°ï¼éæ°è¿æ¥ |
| | | client.setCallback(new MQCallback<Object>(this, mqttConfig)); |
| | | if (!client.isConnected()) { |
| | | client.connect(options); |
| | | // 订é
ä¸»é¢ |
| | | MQSubscribe.subscribe_0(mqttConfig.getSubscribe()); |
| | | log.info("================>>>MQTTè¿æ¥æå<<======================"); |
| | | } else {// è¿éçé»è¾æ¯å¦æè¿æ¥ä¸æåå°±éæ°è¿æ¥ |
| | | client.disconnect(); |
| | | client.connect(options); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * WEBæå¡å¨ä¸MQTTæå¡å¨çæçº¿éè¿ |
| | | * @throws Exception |
| | | */ |
| | | public Boolean reConnect() throws Exception { |
| | | Boolean isConnected = false; |
| | | if (null != client) { |
| | | client.connect(); |
| | | if (client.isConnected()) { |
| | | isConnected = true; |
| | | } |
| | | } |
| | | return isConnected; |
| | | } |
| | | |
| | | /** |
| | | * å¼å¸¸å
³éæå¡ï¼WEBæå¡å¨ä¸MQTTæå¡å¨çæå¼è¿æ¥å½æ° |
| | | */ |
| | | @SneakyThrows |
| | | public void close(){ |
| | | client.close(); |
| | | client.disconnect(); |
| | | log.info("================>>å¼å¸¸å
³éä¸mqttæå¡å¨çè¿æ¥<<======================"); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mqtt; |
| | | |
| | | import lombok.Data; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | @Component |
| | | @Data |
| | | public class MQConfig { |
| | | |
| | | /** |
| | | * MQTT-æå¡ç«¯-IP |
| | | */ |
| | | @Value("${mqtt.url}") |
| | | private String url; |
| | | |
| | | /** |
| | | * MQTT-æå¡ç«¯-ç¨æ·å |
| | | */ |
| | | @Value("${mqtt.username}") |
| | | private String username; |
| | | |
| | | /** |
| | | * MQTT-æå¡ç«¯-å¯ç |
| | | */ |
| | | @Value("${mqtt.password}") |
| | | private String password; |
| | | |
| | | /** |
| | | * è¶
æ¶æ¶é´ |
| | | */ |
| | | @Value("${mqtt.timeout}") |
| | | private int timeout; |
| | | |
| | | /** |
| | | * å¿è·³æ£æµæ¶é´ |
| | | */ |
| | | @Value("${mqtt.keepalive}") |
| | | private int keepAlive; |
| | | |
| | | /** |
| | | * å¿è·³å
çº§å« |
| | | */ |
| | | @Value("${mqtt.qos}") |
| | | private int qos; |
| | | |
| | | /** |
| | | * æå¡ç«¯è¿æ¥è¶
æ¶æ¶é´ |
| | | */ |
| | | @Value("${mqtt.completion-timeout}") |
| | | private int completionTimeout; |
| | | |
| | | /** |
| | | * clientId |
| | | */ |
| | | @Value("${mqtt.clientId}") |
| | | private String clientId; |
| | | |
| | | /** |
| | | * 订é
ä¸»é¢ |
| | | */ |
| | | @Value("${mqtt.subscribe}") |
| | | private String subscribe; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mqtt; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.eclipse.paho.client.mqttv3.*; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | @Component |
| | | @Slf4j |
| | | public class MQPublic { |
| | | |
| | | /** |
| | | * éä¿¡è´¨éqos为0ï¼è¡¨ç¤ºWEBæå¡å¨åMQTTæå¡å¨åªåé䏿¬¡ï¼ä¸ç®¡MQTTæå¡å¨ææ²¡ææ¶å° |
| | | * WEBæå¡å¨åMQTTæå¡å¨å叿°æ®ï¼æ¤æ¹æ³å°è£
äºpublish彿° |
| | | * @param topic ååºå±ç½å
³åéæ°æ®ï¼å®æ¹è¯ï¼ç§°æ¤ä¸ºä¸»é¢ï¼åé£ä¸ªä¸»é¢åéæ°æ® ç½å
³ï¼å³ä¸»é¢ï¼è®¾å¤å¯ä¸æ è¯ |
| | | * @param pushMessage WEBæå¡å¨åMQTTæå¡å¨åéçæ°æ® |
| | | */ |
| | | public void publish_0(int qos, String topic, byte[] pushMessage) { |
| | | publish(0, false, topic, pushMessage); |
| | | } |
| | | |
| | | /** |
| | | * éä¿¡è´¨éqos为1ï¼è¡¨ç¤ºWEBæå¡å¨åMQTTæå¡å¨åéæ°æ®ï¼MQTTæå¡å¨ä¸å®ä¼æ¶å°ä¸æ¬¡æ°æ®ï¼å¦æMQTTæå¡å¨æ²¡æååºâæ¶å°æ°æ®âï¼é£ä¹WEBæå¡å¨å°±ä¼ä¸ç´åéæ°æ® |
| | | * WEBæå¡å¨åMQTTæå¡å¨å叿°æ®ï¼è°ç¨æ¤å½æ°ï¼æ¤æ¹æ³å°è£
äºpublish彿°ï¼éä¿¡è´¨éqos为1 |
| | | * @param topic ååºå±ç½å
³åéæ°æ®ï¼å®æ¹è¯ï¼ç§°æ¤ä¸ºä¸»é¢ï¼åé£ä¸ªä¸»é¢åéæ°æ® ç½å
³ï¼å³ä¸»é¢ï¼è®¾å¤å¯ä¸æ è¯ |
| | | * @param pushMessage WEBæå¡å¨åMQTTæå¡å¨åéçæ°æ® |
| | | */ |
| | | public void publish_1(String topic, byte[] pushMessage) { |
| | | publish(1, false, topic, pushMessage); |
| | | } |
| | | |
| | | /** |
| | | *éä¿¡è´¨éqos为2ï¼è¡¨ç¤ºWEBæå¡å¨åMQTTæå¡å¨åéæ°æ®ï¼ä¸¤è
ä¼è¿è¡è³å°ä¸¤æ¬¡è¯·æ±/ååºæµç¨ï¼é¿å
æ°æ®å¨ä¼ è¾ä¸ç丢失ï¼ä½æ¯ç¸åºçä¹ä¼æ¶èè®¡ç®æºä¸çèµæº |
| | | * WEBæå¡å¨åMQTTæå¡å¨å叿°æ®ï¼æ¤æ¹æ³å°è£
äºpublish彿°ï¼éä¿¡è´¨éï¼2 |
| | | * @param topic ååºå±ç½å
³åéæ°æ®ï¼å®æ¹è¯ï¼ç§°æ¤ä¸ºä¸»é¢ï¼åé£ä¸ªä¸»é¢åéæ°æ® ç½å
³ï¼å³ä¸»é¢ï¼è®¾å¤å¯ä¸æ è¯ |
| | | * @param pushMessage WEBæå¡å¨åMQTTæå¡å¨åéçæ°æ® |
| | | */ |
| | | public void publish_2(String topic, byte[] pushMessage) { |
| | | publish(2,false, topic, pushMessage); |
| | | } |
| | | |
| | | /** |
| | | * åå¸å½æ°ï¼WEBæå¡å¨åMQTTæå¡å¨åéæ°æ® |
| | | * |
| | | * @param qos éä¿¡è´¨é |
| | | * @param retained é»è®¤ï¼false-éæä¹
åï¼æ¯æä¸æ¡æ¶æ¯æ¶è´¹å®ï¼å°±ä¼è¢«å é¤ï¼æä¹
åï¼æ¶è´¹å®ï¼è¿ä¼ä¿å卿å¡å¨ä¸ï¼å½æ°ç订é
è
åºç°ï¼ç»§ç»ç»æ°è®¢é
è
æ¶è´¹ï¼ |
| | | * @param topic ååºå±ç½å
³åéæ°æ®ï¼å®æ¹è¯ï¼ç§°æ¤ä¸ºä¸»é¢ï¼åé£ä¸ªä¸»é¢åéæ°æ® ç½å
³ï¼å³ä¸»é¢ï¼è®¾å¤å¯ä¸æ è¯ |
| | | * @param pushMessage WEBæå¡å¨åMQTTæå¡å¨åéçæ°æ® |
| | | */ |
| | | public void publish(int qos, boolean retained, String topic, byte[] pushMessage) { |
| | | MqttMessage message = new MqttMessage(); |
| | | message.setQos(qos); |
| | | message.setRetained(retained); |
| | | // å°String[]æ°ç»è½¬æ¢ä¸ºbyteæ°ç»åé |
| | | message.setPayload(pushMessage); |
| | | MqttTopic mTopic = MQClient.getClient().getTopic(topic); |
| | | if (null == mTopic) { |
| | | log.error("===============>>>MQTT {} ä¸åå¨<<=======================",topic); |
| | | } |
| | | MqttDeliveryToken token; |
| | | try { |
| | | token = mTopic.publish(message); |
| | | token.waitForCompletion(); |
| | | } catch (MqttPersistenceException e) { |
| | | e.printStackTrace(); |
| | | } catch (MqttException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.mqtt; |
| | | |
| | | import org.eclipse.paho.client.mqttv3.MqttException; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | @Component |
| | | public class MQSubscribe { |
| | | |
| | | /** |
| | | * 订é
æä¸ªä¸»é¢ï¼MQTTæå¡å¨åWEBæå¡å¨åéæ°æ® |
| | | *主é¢ï¼ä¹ç§°ä¸ºåºå±ç½å
³å¯ä¸æ è¯ |
| | | * @param topic 设å¤ç¼å·ï¼ä¸åºå±äº¤äºçå¯ä¸æ è¯ |
| | | * @param qos MQTTæå¡å¨åWEBæå¡å¨åéæ°æ® |
| | | * qos为0ï¼åªåWEBæå¡å¨åé䏿¬¡ï¼ |
| | | * qos为1ï¼è³å°åWEBæå¡å¨åé䏿¬¡ï¼æ¥æ¶æ¹ä¼ååºä¸ä¸ªæ¥æï¼ |
| | | * qos为2ï¼ä¸¤è
ä¼è¿è¡è³å°ä¸¤æ¬¡è¯·æ±/ååºæµç¨ï¼é¿å
æ°æ®å¨ä¼ è¾ä¸ç丢失 |
| | | */ |
| | | private static void subscribe(String topic, int qos) { |
| | | try { |
| | | MQClient.getClient().subscribe(topic,qos); |
| | | } catch (MqttException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 订é
æä¸ªä¸»é¢ï¼éä¿¡è´¨éï¼qosé»è®¤ä¸º0 |
| | | * 主é¢ï¼ä¹ç§°ä¸ºåºå±ç½å
³å¯ä¸æ è¯ |
| | | * @param topic 设å¤ç¼å·ï¼ä¸åºå±äº¤äºçå¯ä¸æ è¯ |
| | | */ |
| | | public static void subscribe_0(String topic) { |
| | | subscribe(topic, 0); |
| | | } |
| | | |
| | | /** |
| | | * 订é
æä¸ªä¸»é¢ï¼éä¿¡è´¨éï¼qosé»è®¤ä¸º1 |
| | | * 主é¢ï¼ä¹ç§°ä¸ºåºå±ç½å
³å¯ä¸æ è¯ |
| | | * @param topic 设å¤ç¼å·ï¼ä¸åºå±äº¤äºçå¯ä¸æ è¯ |
| | | */ |
| | | public void subscribe_1(String topic) { |
| | | subscribe(topic, 1); |
| | | } |
| | | |
| | | /** |
| | | * 订é
æä¸ªä¸»é¢ï¼éä¿¡è´¨éï¼qosé»è®¤ä¸º2 |
| | | * 主é¢ï¼ä¹ç§°ä¸ºåºå±ç½å
³å¯ä¸æ è¯ |
| | | * @param topic 设å¤ç¼å·ï¼ä¸åºå±äº¤äºçå¯ä¸æ è¯ |
| | | */ |
| | | public void subscribe_2(String topic) { |
| | | subscribe(topic, 2); |
| | | } |
| | | |
| | | public void OffSubscribe(String topic) { |
| | | try { |
| | | MQClient.getClient().unsubscribe(topic); |
| | | } catch (MqttException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤éªæ¶(è£
å¤) |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-20 01:45:14 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("device_acceptance") |
| | | @ApiModel(value = "DeviceAcceptance对象", description = "设å¤éªæ¶(è£
å¤)") |
| | | public class DeviceAcceptance { |
| | | |
| | | @TableId(value = "acceptance_id", type = IdType.AUTO) |
| | | private Integer acceptanceId; |
| | | |
| | | @ApiModelProperty("设å¤id") |
| | | private Integer deviceId; |
| | | |
| | | @ApiModelProperty("å°è´§æ¥æ") |
| | | private LocalDate arrivalDate; |
| | | |
| | | @ApiModelProperty("éé¢") |
| | | private String goldAmount; |
| | | |
| | | @ApiModelProperty("ç»´ä¿®åä½") |
| | | private String maintenanceunit; |
| | | |
| | | @ApiModelProperty("æ¶è®¾å¤ä¸»æºåå¤ä»½æ
åµ") |
| | | private String spareParts; |
| | | |
| | | @ApiModelProperty("å®è£
åè°è¯æ
åµ") |
| | | private String installationDebugging; |
| | | |
| | | @ApiModelProperty("éªæ¶æ
åµ") |
| | | private String checkSituation; |
| | | |
| | | @ApiModelProperty("æ¥æ¶ç¾å") |
| | | private String receivingSignature; |
| | | |
| | | @ApiModelProperty("å家代表") |
| | | private String producer; |
| | | |
| | | @ApiModelProperty("æ¥æ¶äºº") |
| | | private String recipient; |
| | | |
| | | @ApiModelProperty("æ¥æ¶æ¶é´") |
| | | private String recipientDate; |
| | | |
| | | @ApiModelProperty("å建人") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹äºº") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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-12-20 01:45:26 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("device_acceptance_file") |
| | | @ApiModel(value = "DeviceAcceptanceFile对象", description = "设å¤éªæ¶(è£
å¤)é件表") |
| | | public class DeviceAcceptanceFile implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "acceptance_file_id", type = IdType.AUTO) |
| | | private Integer acceptanceFileId; |
| | | |
| | | @ApiModelProperty("设å¤éªæ¶id") |
| | | private Integer acceptanceId; |
| | | |
| | | @ApiModelProperty("ç±»å:1å¾ç/2æä»¶") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty("éä»¶è·¯å¾") |
| | | private String fileUrl; |
| | | |
| | | @ApiModelProperty("éä»¶åç§°") |
| | | private String fileName; |
| | | |
| | | @ApiModelProperty("å建人") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹äºº") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤äºæ
æ¥åå |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 06:31:12 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("device_accident_report") |
| | | @ApiModel(value = "DeviceAccidentReport对象", description = "设å¤äºæ
æ¥åå") |
| | | public class DeviceAccidentReport { |
| | | |
| | | @TableId(value = "accident_report_id", type = IdType.AUTO) |
| | | private Integer accidentReportId; |
| | | |
| | | @ApiModelProperty("设å¤id") |
| | | private Integer deviceId; |
| | | |
| | | @ApiModelProperty("å°å") |
| | | private String address; |
| | | |
| | | @ApiModelProperty("æ¶é´") |
| | | private LocalDateTime accidentDate; |
| | | |
| | | @ApiModelProperty("äºæ
æ
åµæè¿°") |
| | | private String descriptionOfAccident; |
| | | |
| | | @ApiModelProperty("æ¥å人id") |
| | | private Integer reportUserId; |
| | | |
| | | @ApiModelProperty("æ¥å人") |
| | | private String reportUser; |
| | | |
| | | @ApiModelProperty("æ¥åäººå¡«åæ¶é´") |
| | | private LocalDate reportDate; |
| | | |
| | | @ApiModelProperty("è¯ä¼°äººæè§") |
| | | private String assessorOpinion; |
| | | |
| | | @ApiModelProperty("è¯ä¼°äººid") |
| | | private Integer assessorUserId; |
| | | |
| | | @ApiModelProperty("è¯ä¼°äºº") |
| | | private String assessorUser; |
| | | |
| | | @ApiModelProperty("è¯ä¼°äººå¡«åæ¶é´") |
| | | private LocalDate assessorDate; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äººæè§") |
| | | private String departmentHeadOpinion; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äººid") |
| | | private Integer departmentHeadUserId; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äºº") |
| | | private String departmentHeadUser; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äººå¡«åæ¶é´") |
| | | private LocalDate departmentHeadDate; |
| | | |
| | | @ApiModelProperty("ææ¯è´è´£äººæè§") |
| | | private String technicalDirectorOpinion; |
| | | |
| | | @ApiModelProperty("ææ¯è´è´£äººid") |
| | | private Integer technicalDirectorUserId; |
| | | |
| | | @ApiModelProperty("ææ¯è´è´£äºº") |
| | | private String technicalDirectorUser; |
| | | |
| | | @ApiModelProperty("ææ¯è´è´£äººå¡«åæ¶é´") |
| | | private LocalDate technicalDirectorDate; |
| | | |
| | | @ApiModelProperty("主任æè§") |
| | | private String directorHeadOpinion; |
| | | |
| | | @ApiModelProperty("主任id") |
| | | private Integer directorHeadUserId; |
| | | |
| | | @ApiModelProperty("主任") |
| | | private String directorHeadUser; |
| | | |
| | | @ApiModelProperty("䏻任填忶é´") |
| | | private LocalDate directorHeadDate; |
| | | |
| | | @ApiModelProperty("æ¯å¦ç»æ,0 æªç»æ, 1ç»æ") |
| | | private Integer isFinish; |
| | | |
| | | @ApiModelProperty("å建人") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹äºº") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @TableField(exist = false,select = false) |
| | | @ApiModelProperty("æµç¨, 0:æ¥å, 1è¯ä¼°, 2:é¨é¨è´è´£äººæè§, 3:ææ¯è´è´£äººæè§, 4:主任æè§") |
| | | private Integer flowType; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.pojo; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelIgnore; |
| | | import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-09-21 10:53:51 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("device_borrow") |
| | | @ApiModel(value = "DeviceBorrow对象", description = "设å¤åç¨") |
| | | @ExcelIgnoreUnannotated |
| | | public class DeviceBorrow implements Serializable { |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("æµç¨ç¼å·") |
| | | @ExcelProperty(value = "æµç¨ç¼å·") |
| | | private String processNumber; |
| | | |
| | | @ApiModelProperty("设å¤id") |
| | | private Integer deviceId; |
| | | |
| | | @ApiModelProperty("管çç¼å·") |
| | | @ExcelProperty(value = "管çç¼å·") |
| | | private String unifyNumber; |
| | | |
| | | @ApiModelProperty("åç¨äºº") |
| | | @ExcelProperty(value = "åç¨äºº") |
| | | private String recipientUser; |
| | | |
| | | @ExcelProperty(value = "åç¨äººèç³»æ¹å¼") |
| | | @ApiModelProperty("åç¨äººèç³»æ¹å¼") |
| | | private String borrowerContactInformation; |
| | | |
| | | @ApiModelProperty("åç¨æ¶ç¶æ") |
| | | @ExcelProperty(value = "åç¨æ¶ç¶æ") |
| | | //0åæ ¼;1ç»´ä¿®;2åç¨;3æ¥åº |
| | | private Integer recipientState; |
| | | |
| | | @ApiModelProperty("åç¨æ¥æ") |
| | | @ExcelProperty(value = "æäº¤æ¥æ") |
| | | private Date recipientTime; |
| | | |
| | | @ApiModelProperty("ååºäºº") |
| | | @ExcelProperty(value = "ååºäºº") |
| | | private String submitUser; |
| | | |
| | | @ApiModelProperty("ååºæ¥æ") |
| | | @ExcelProperty(value = "ååºæ¥æ") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("å½åç¶æ") |
| | | @ExcelProperty(value = "å½åç¶æ") |
| | | private String nowState; |
| | | |
| | | @ApiModelProperty("å½å责任人") |
| | | @ExcelProperty(value = "å½å责任人") |
| | | private String nowUser; |
| | | |
| | | @ApiModelProperty("éä»¶") |
| | | //è·¯å¾ |
| | | private String url; |
| | | |
| | | @ApiModelProperty("éä»¶") |
| | | @ExcelProperty(value = "éä»¶") |
| | | //æä»¶å |
| | | private String fileName; |
| | | |
| | | @ApiModelProperty("ä¸ç¯è责任人") |
| | | private String nextUser; |
| | | |
| | | @ApiModelProperty("æäº¤æä½äºº") |
| | | private String submitOperationUser; |
| | | |
| | | @ApiModelProperty("æäº¤æä½æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime submitOperationTime; |
| | | |
| | | @ApiModelProperty("å½è¿äºº") |
| | | private String rebackUser; |
| | | |
| | | @ApiModelProperty("å½è¿æ¥æ") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime rebackTime; |
| | | |
| | | @ApiModelProperty("æ¥åç¶æ0åæ ¼;1ç»´ä¿®;2åç¨;3æ¥åº") |
| | | private Integer receiveState; |
| | | |
| | | @ApiModelProperty("设å¤è´£ä»»äºº") |
| | | private String deviceUser; |
| | | |
| | | @ApiModelProperty("夿³¨") |
| | | private String note; |
| | | |
| | | @ApiModelProperty("æ¥æ¶æä½äºº") |
| | | private String receiveOperationUser; |
| | | |
| | | @ApiModelProperty("æ¥æ¶æä½æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime receiveOperationTime; |
| | | |
| | | @ApiModelProperty("设å¤åç§°") |
| | | @TableField(select = false, exist = false) |
| | | @ExcelProperty(value = "设å¤åç§°") |
| | | private String deviceName; |
| | | |
| | | |
| | | @ApiModelProperty("æµç¨è·è¸ª") |
| | | @TableField(select = false, exist = false) |
| | | private List<DeviceLog> deviceLogs; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | 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-12-16 04:25:14 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("device_inspection_record") |
| | | @ApiModel(value = "DeviceInspectionRecord对象", description = "") |
| | | public class DeviceInspectionRecord implements Serializable { |
| | | |
| | | @ApiModelProperty("设å¤ç¹æ£è®°å½id") |
| | | @TableId(value = "inspection_record_id", type = IdType.AUTO) |
| | | private Integer inspectionRecordId; |
| | | |
| | | @ApiModelProperty("设å¤id") |
| | | private Integer deviceId; |
| | | |
| | | @ApiModelProperty("æµéèå´") |
| | | private String measurementScope; |
| | | |
| | | @ApiModelProperty("ç¹æ£ä½¿ç¨ç©è´¨åç§°") |
| | | private String materialName; |
| | | |
| | | @ApiModelProperty("ç¹æ£ä½¿ç¨ç©è´¨è§æ ¼åå·") |
| | | private String materialModel; |
| | | |
| | | @ApiModelProperty("ç¹æ£ä½¿ç¨ç©è´¨ç®¡çç¼å·") |
| | | private String materialManagementNumber; |
| | | |
| | | @ApiModelProperty("ç¹æ£ä½¿ç¨ç©è´¨ç²¾åº¦ç级") |
| | | private String materialAccuracyGrade; |
| | | |
| | | @ApiModelProperty("温度") |
| | | private String temperature; |
| | | |
| | | @ApiModelProperty("湿度") |
| | | private String humidity; |
| | | |
| | | @ApiModelProperty("æµè¯ç»è®º") |
| | | private String testConclusion; |
| | | |
| | | @ApiModelProperty("夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty("ç¶æï¼æ¯å¦å¤æ ¸ï¼0æªå¤æ ¸ï¼1夿 ¸") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty("æµè¯äºº") |
| | | private String recorder; |
| | | |
| | | @ApiModelProperty("æµè¯äººid") |
| | | private Integer recorderId; |
| | | |
| | | @ApiModelProperty("夿 ¸äºº") |
| | | private String reviewer; |
| | | |
| | | @ApiModelProperty("夿 ¸äººid") |
| | | private Integer reviewerId; |
| | | |
| | | @ApiModelProperty("夿 ¸ä¿¡æ¯") |
| | | private String reviewerRemark; |
| | | |
| | | @ApiModelProperty("æµè¯æ¥æ") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDateTime testDate; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹äººid") |
| | | private Integer updateUserId; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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-12-16 04:27:32 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("device_inspection_record_details") |
| | | @ApiModel(value = "DeviceInspectionRecordDetails对象", description = "") |
| | | public class DeviceInspectionRecordDetails implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty("ç¹æ£è¯¦æ
id") |
| | | @TableId(value = "inspection_record_detail_id", type = IdType.AUTO) |
| | | private Integer inspectionRecordDetailId; |
| | | |
| | | @ApiModelProperty("ç¹æ£id") |
| | | private Integer inspectionRecordId; |
| | | |
| | | @ApiModelProperty("æµè¯é¡¹ç®") |
| | | private String testItems; |
| | | |
| | | @ApiModelProperty("æ åå¼") |
| | | private String standardValue; |
| | | |
| | | @ApiModelProperty("宿µå¼") |
| | | private String measuredValue; |
| | | |
| | | @ApiModelProperty("示å¼è¯¯å·®") |
| | | private String indicationError; |
| | | |
| | | @ApiModelProperty("å
许误差") |
| | | private String allowableError; |
| | | |
| | | @ApiModelProperty("å项ç»è®º") |
| | | private String singleItemConclusion; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹äººid") |
| | | private Integer updateUserId; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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-12-04 10:29:18 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("device_instruction") |
| | | @ApiModel(value = "Instruction对象", description = "ä½ä¸æå¯¼ä¹¦æ·»å åæ§æä»¶è¡¨") |
| | | public class DeviceInstruction implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("ç³è¯·ç¼å·") |
| | | private String applicationNumber; |
| | | |
| | | @ApiModelProperty("ç³è¯·é¨é¨") |
| | | private String applicationDepartment; |
| | | |
| | | @ApiModelProperty("责任人") |
| | | private String personLiable; |
| | | |
| | | @ApiModelProperty("åæ§ç³è¯·è¯´æ") |
| | | private String controlledApplicationDescription; |
| | | |
| | | @ApiModelProperty("ç³»ç»çæåç§°") |
| | | private String fileName; |
| | | |
| | | @ApiModelProperty("ç³»ç»çæåç§°") |
| | | private String fileSystemName; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("æ´æ°æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty("å建人") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty("æ´æ°äºº") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | @TableName("device_log") // è®°å½ |
| | | public class DeviceLog implements Serializable { |
| | | |
| | | @TableId(type= IdType.AUTO) |
| | | private Integer id; |
| | | private String operator; |
| | | // @JsonFormat() |
| | | private LocalDateTime operationTime; |
| | | private String operationType; |
| | | private String operationContent; |
| | | private Integer deviceId; |
| | | |
| | | //å
³èç表å |
| | | private String relevanceForm; |
| | | |
| | | //å
³èçid |
| | | private Integer relevanceId; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | 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-09-27 10:20:11 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("device_metrics_copy") |
| | | @ApiModel(value = "DeviceMetricsCopy对象", description = "è®¾å¤æ ¡å - æ ¡åè®°å½ - æ ¡åæ¡ç®") |
| | | public class DeviceMetricsCopy implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty("id") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("è®¾å¤æ ¡å - æ ¡åè®°å½id") |
| | | private Integer deviceMetricsId; |
| | | |
| | | @ApiModelProperty("计éåæ°") |
| | | private String measurementParameter; |
| | | |
| | | @ApiModelProperty("éç¨èå´") |
| | | private String rangeOfMeasurement; |
| | | |
| | | @ApiModelProperty("æå¤§å
许误差") |
| | | private String maxPermissibleError; |
| | | |
| | | @ApiModelProperty("å¤å®æ å") |
| | | private String judgmentCriteria; |
| | | |
| | | @ApiModelProperty("å建人") |
| | | private String createdBy; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | private LocalDateTime creationTime; |
| | | |
| | | @ApiModelProperty("æ¯å¦æ ¡å") |
| | | private String isCalibration; |
| | | |
| | | @ApiModelProperty("å¤å®ç»æ") |
| | | private String result; |
| | | |
| | | @ApiModelProperty("åé¡¹ç»æè¯´æ") |
| | | private String singleResultStatement; |
| | | |
| | | @ApiModelProperty("calibrateï¼æ ¡åï¼examineï¼æ ¸æ¥") |
| | | private String type; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ¥åºç³è¯·è¡¨ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 01:53:47 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("device_scrapped") |
| | | @ApiModel(value = "DeviceScrapped对象", description = "è®¾å¤æ¥åºç³è¯·è¡¨") |
| | | public class DeviceScrapped { |
| | | |
| | | @TableId(value = "scrapped_id", type = IdType.AUTO) |
| | | private Integer scrappedId; |
| | | |
| | | @ApiModelProperty("设å¤id") |
| | | private Integer deviceId; |
| | | |
| | | @ApiModelProperty("é
ä»¶") |
| | | private String parts; |
| | | |
| | | @ApiModelProperty("æ¥åºçç±") |
| | | private String reasonsForScrap; |
| | | |
| | | @ApiModelProperty("ç³è¯·äººid") |
| | | private Integer applicantUserId; |
| | | |
| | | @ApiModelProperty("ç³è¯·äºº") |
| | | private String applicantUser; |
| | | |
| | | @ApiModelProperty("ç³è¯·æ¶é´") |
| | | private LocalDate applicantDate; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äººæè§") |
| | | private String departmentHeadOpinion; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äººid") |
| | | private Integer departmentHeadUserId; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äºº") |
| | | private String departmentHeadUser; |
| | | |
| | | @ApiModelProperty("é¨é¨è´è´£äººå¡«åæ¶é´") |
| | | private LocalDate departmentHeadDate; |
| | | |
| | | @ApiModelProperty("计é室æè§") |
| | | private String meteringRoomOpinion; |
| | | |
| | | @ApiModelProperty("计é室人id") |
| | | private Integer meteringRoomUserId; |
| | | |
| | | @ApiModelProperty("计é室人") |
| | | private String meteringRoomUser; |
| | | |
| | | @ApiModelProperty("计éå®¤äººå¡«åæ¶é´") |
| | | private LocalDate meteringRoomDate; |
| | | |
| | | @ApiModelProperty("æ¹å人æè§") |
| | | private String approverOpinion; |
| | | |
| | | @ApiModelProperty("æ¹å人id") |
| | | private Integer approverUserId; |
| | | |
| | | @ApiModelProperty("æ¹å人") |
| | | private String approverUser; |
| | | |
| | | @ApiModelProperty("æ¹åäººå¡«åæ¶é´") |
| | | private LocalDate approverDate; |
| | | |
| | | @ApiModelProperty("æ¯å¦ç»æ,0: æªç»æ, 1:ç»æ") |
| | | private Integer isFinish; |
| | | |
| | | @ApiModelProperty("å建人") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹äºº") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @TableField(exist = false,select = false) |
| | | @ApiModelProperty("æµç¨, 0:æ¥åºç³è¯·, 1ç³è¯·é¨é¨è´è´£äººæè§, 2:计é室æè§, 3:æ¹å人") |
| | | private Integer flowType; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.pojo; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | 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-09-26 09:51:40 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("device_state") |
| | | @ApiModel(value = "DeviceState对象", description = "设å¤åç¨/å¯ç¨") |
| | | public class DeviceState implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty("设å¤åç¨å¯ç¨id") |
| | | @TableId(value = "state_id", type = IdType.AUTO) |
| | | private Integer stateId; |
| | | |
| | | @ApiModelProperty("æµç¨ç¼å·") |
| | | private String processNumber; |
| | | |
| | | @ApiModelProperty("0é
ä»¶") |
| | | private String accessoryPart; |
| | | |
| | | @ApiModelProperty("0设å¤ç¶æ") |
| | | private String deviceStatus; |
| | | |
| | | @ApiModelProperty("0åç¨å¯ç¨çç±") |
| | | private String reason; |
| | | |
| | | @ApiModelProperty("0ä¸ç¯è责任人") |
| | | private String submitNextPesponsible; |
| | | |
| | | @ApiModelProperty("0æä½äºº") |
| | | private String submitOperatingPersonnel; |
| | | |
| | | @ApiModelProperty("0æ¥æ") |
| | | private LocalDateTime submitDate; |
| | | |
| | | @ApiModelProperty("1é¨é¨è´è´£äººæè§") |
| | | private String departmentReviewOpinion; |
| | | |
| | | @ApiModelProperty("1ä¸ç¯è责任人") |
| | | private String departmentNextPesponsible; |
| | | |
| | | @ApiModelProperty("1æä½äºº") |
| | | private String departmentOperatingPersonnel; |
| | | |
| | | @ApiModelProperty("1æ¥æ") |
| | | private LocalDateTime departmentDate; |
| | | |
| | | @ApiModelProperty("2计é室æè§") |
| | | private String measuringRoomReviewOpinion; |
| | | |
| | | @ApiModelProperty("2ä¸ç¯è责任人") |
| | | private String measuringRoomNextPesponsible; |
| | | |
| | | @ApiModelProperty("2æä½äºº") |
| | | private String measuringRoomOperatingPersonnel; |
| | | |
| | | @ApiModelProperty("2æ¥æ") |
| | | private LocalDateTime measuringRoomDate; |
| | | |
| | | @ApiModelProperty("3æ¹åæè§") |
| | | private String approvalOpinion; |
| | | |
| | | @ApiModelProperty("3ä¸ç¯è责任人") |
| | | private String approvalNextPesponsible; |
| | | |
| | | @ApiModelProperty("3æä½äºº") |
| | | private String approvalOperatingPersonnel; |
| | | |
| | | @ApiModelProperty("3æ¥æ") |
| | | private LocalDateTime approvalDate; |
| | | |
| | | @ApiModelProperty("å½åç¶æ") |
| | | private String currentState; |
| | | |
| | | @ApiModelProperty("设å¤Id") |
| | | private Integer deviceId; |
| | | |
| | | @ApiModelProperty("å½åç¯èè´è´£äºº") |
| | | private String currentResponsible; |
| | | |
| | | @ApiModelProperty("æäº¤äºº") |
| | | @ExcelProperty(value = "æäº¤äºº") |
| | | private String createUser; |
| | | |
| | | @ApiModelProperty("æäº¤æ¥æ") |
| | | @ExcelProperty(value = "æäº¤æ¥æ") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤ - ä½ä¸æå¯¼ä¹¦ æ·»å åæ§æä»¶ å |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-12-04 10:43:32 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("device_operation_instruction") |
| | | public class OperationInstruction { |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("设å¤ä¸»é®id") |
| | | private String deviceId; |
| | | |
| | | @ApiModelProperty("æä»¶ç±»å") |
| | | private String documentType; |
| | | |
| | | @ApiModelProperty("ææ¡£ç¼å·") |
| | | private String documentNumber; |
| | | |
| | | @ApiModelProperty("æä»¶çæ¬") |
| | | private String documentVersion; |
| | | |
| | | @ApiModelProperty("ä½è
") |
| | | private String author; |
| | | |
| | | @ApiModelProperty("æäº¤æ¥æ") |
| | | private LocalDate submitDate; |
| | | |
| | | @ApiModelProperty("ææ¡£è¯´æ") |
| | | private String documentNote; |
| | | |
| | | @ApiModelProperty("ç³»ç»çæåç§°") |
| | | private String fileName; |
| | | |
| | | @ApiModelProperty("ç³»ç»çæåç§°") |
| | | private String fileSystemName; |
| | | |
| | | @ApiModelProperty("ä½ä¸æå¯¼ä¹¦id") |
| | | private Integer instructionId; |
| | | |
| | | @ApiModelProperty("ä¸ä¼ 人id") |
| | | private Integer uploader; |
| | | |
| | | @ApiModelProperty("审æ¹äººid") |
| | | private Integer approverId; |
| | | |
| | | @ApiModelProperty("审æ¹ç¶æ") |
| | | private Boolean status; |
| | | |
| | | @ApiModelProperty("çææ¶é´") |
| | | private LocalDateTime entryIntoForceTime; |
| | | |
| | | @ApiModelProperty("ä¸ä¼ æ¶é´") |
| | | private LocalDateTime uploadTime; |
| | | |
| | | @ApiModelProperty("æ´æ°æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("æ´æ°äººid") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty("å建人id") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.device.pojo.CollectBridge; |
| | | |
| | | /** |
| | | * æ°åçµæ¡¥éé |
| | | * |
| | | * @author zhuo |
| | | * @since 2025-02-19 |
| | | */ |
| | | public interface CollectBridgeService extends IService<CollectBridge> { |
| | | |
| | | /** |
| | | * å¡«å
ééæ°æ® |
| | | * @param jsonObject |
| | | */ |
| | | void addBridgeValue(JSONObject jsonObject); |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.device.pojo.DeviceAcceptanceFile; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤éªæ¶(è£
å¤)é件表 æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-20 01:45:26 |
| | | */ |
| | | public interface DeviceAcceptanceFileService extends IService<DeviceAcceptanceFile> { |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.device.pojo.DeviceAcceptance; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤éªæ¶(è£
å¤) æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-20 01:45:14 |
| | | */ |
| | | public interface DeviceAcceptanceService extends IService<DeviceAcceptance> { |
| | | |
| | | /** |
| | | * 设å¤éªæ¶å表 |
| | | * @param page |
| | | * @param deviceAcceptance |
| | | * @return |
| | | */ |
| | | IPage<DeviceAcceptance> pageDeviceAcceptance(Page page, DeviceAcceptance deviceAcceptance); |
| | | |
| | | |
| | | boolean uploadDeviceAcceptanceFile(Integer acceptanceId, MultipartFile file); |
| | | |
| | | /** |
| | | * 设å¤éªæ¶å¯¼åº |
| | | * @param acceptanceId 设å¤éªæ¶id |
| | | * @param response ååºä½ |
| | | * @return |
| | | */ |
| | | void exportDeviceAcceptance(Integer acceptanceId, HttpServletResponse response); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.device.pojo.DeviceAccidentReport; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤äºæ
æ¥åå æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 06:31:12 |
| | | */ |
| | | public interface DeviceAccidentReportService extends IService<DeviceAccidentReport> { |
| | | |
| | | /** |
| | | * 设å¤äºæ
æ¥åå表 |
| | | * @param page |
| | | * @param deviceAccidentReport |
| | | * @return |
| | | */ |
| | | IPage<DeviceAccidentReport> pageDeviceAccidentReport(Page page, DeviceAccidentReport deviceAccidentReport); |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤äºæ
æ¥å |
| | | * @param deviceAccidentReport |
| | | * @return |
| | | */ |
| | | boolean addDeviceAccidentReport(DeviceAccidentReport deviceAccidentReport); |
| | | |
| | | /** |
| | | * 导åºè®¾å¤äºæ
æ¥å |
| | | * @param accidentReportId 设å¤äºæ
æ¥åid |
| | | * @param response ååº |
| | | */ |
| | | void exportDeviceAccidentReport(Integer accidentReportId, HttpServletResponse response); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.device.pojo.DeviceBorrow; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-09-21 10:53:51 |
| | | */ |
| | | public interface DeviceBorrowService extends IService<DeviceBorrow> { |
| | | |
| | | IPage<DeviceBorrow> deviceBorrowPage(Page page, DeviceBorrow deviceBorrow); |
| | | |
| | | int saveDeviceBorrow(DeviceBorrow deviceBorrow); |
| | | |
| | | DeviceBorrow getDeviceBorrow(Integer id); |
| | | |
| | | List<DeviceBorrow> getDeviceBorrowBydeviceId(Integer deviceId); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.device.dto.DeviceBreakdownMaintenance; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ
é维修表 æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 04:50:57 |
| | | */ |
| | | public interface DeviceBreakdownMaintenanceService extends IService<DeviceBreakdownMaintenance> { |
| | | |
| | | /** |
| | | * è®¾å¤æ
éç»´ä¿®å表 |
| | | * @param page |
| | | * @param deviceBreakdownMaintenance |
| | | * @return |
| | | */ |
| | | IPage<DeviceBreakdownMaintenance> pageDeviceBreakdownMaintenance(Page page, DeviceBreakdownMaintenance deviceBreakdownMaintenance); |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤æ
éç»´ä¿® |
| | | * @param deviceBreakdownMaintenance |
| | | * @return |
| | | */ |
| | | boolean addDeviceBreakdownMaintenance(DeviceBreakdownMaintenance deviceBreakdownMaintenance); |
| | | |
| | | /** |
| | | * 导åºè®¾å¤æ
éç»´ä¿® |
| | | * @param maintenanceId è®¾å¤æ
éç»´ä¿®id |
| | | * @param response ååº |
| | | */ |
| | | void exportDeviceBreakdownMaintenance(Integer maintenanceId, HttpServletResponse response); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.device.pojo.DeviceInspectionRecordDetails; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-16 04:27:32 |
| | | */ |
| | | public interface DeviceInspectionRecordDetailsService extends IService<DeviceInspectionRecordDetails> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.device.dto.DeviceInspectionRecordDto; |
| | | import com.ruoyi.device.pojo.DeviceInspectionRecord; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤ç¹æ£è®°å½è¡¨ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-16 04:25:14 |
| | | */ |
| | | public interface DeviceInspectionRecordService extends IService<DeviceInspectionRecord> { |
| | | |
| | | /** |
| | | * å页æ¥è¯¢è®¾å¤ç¹æ£è®°å½ |
| | | * @param page |
| | | */ |
| | | Result<IPage<DeviceInspectionRecord>> getDeviceInspectionRecordByPage(IPage page, DeviceInspectionRecordDto deviceInspectionRecord); |
| | | |
| | | |
| | | /** |
| | | * æ¥è¯¢ç¹æ£è¯¦æ
|
| | | * @param inspectionRecordId |
| | | * @return |
| | | */ |
| | | Result getDeviceInspectionRecord(Integer inspectionRecordId); |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤ç¹æ£è®°å½ |
| | | * |
| | | * @param deviceInspectionRecord 设å¤ç¹æ£è®°å½ |
| | | */ |
| | | Result addDeviceInspectionRecord(DeviceInspectionRecordDto deviceInspectionRecord); |
| | | |
| | | /** |
| | | * ä¿®æ¹è®¾å¤ç¹æ£è®°å½ |
| | | * @param deviceInspectionRecord 设å¤ç¹æ£è®°å½ |
| | | */ |
| | | Result updateInspectionRecordAndDetails(DeviceInspectionRecordDto deviceInspectionRecord); |
| | | |
| | | /** |
| | | * å é¤è®¾å¤ç¹æ£è®°å½ |
| | | * @param deviceInspectionRecord 设å¤ç¹æ£è®°å½ |
| | | */ |
| | | Result deleteDeviceInspectionRecordOrDetails(DeviceInspectionRecordDto deviceInspectionRecord); |
| | | |
| | | /** |
| | | * 夿 ¸ç¹æ£è®°å½ |
| | | * @param deviceExamineRecordDto |
| | | * @return |
| | | */ |
| | | Result reviewDeviceInspectionRecord(DeviceInspectionRecordDto deviceExamineRecordDto); |
| | | |
| | | /** |
| | | * 导åºè®¾å¤ç¹æ£è®°å½ |
| | | * |
| | | * @param deviceInspectionRecordId 设å¤ç¹æ£è®°å½id |
| | | * @param response |
| | | */ |
| | | Result exportDeviceInspectionRecord(Integer deviceInspectionRecordId, HttpServletResponse response); |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.device.dto.DeviceInstructionDto; |
| | | import com.ruoyi.device.dto.DeviceOperationInstructionDto; |
| | | import com.ruoyi.device.pojo.DeviceInstruction; |
| | | |
| | | /** |
| | | * <p> |
| | | * ä½ä¸æå¯¼ä¹¦æ·»å åæ§æä»¶è¡¨ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-12-04 10:29:18 |
| | | */ |
| | | public interface DeviceInstructionService extends IService<DeviceInstruction> { |
| | | |
| | | IPage<DeviceInstruction> pageByPageQueryOfHomeworkInstructions(Page page, DeviceOperationInstructionDto operationInstructionDto); |
| | | |
| | | void newHomeworkGuidebookAdded(DeviceInstructionDto instructionDto); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.device.excel.DeviceMaintenanceExport; |
| | | import com.ruoyi.device.pojo.DeviceMaintenance; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | |
| | | public interface DeviceMaintenanceService extends IService<DeviceMaintenance> { |
| | | IPage<DeviceMaintenance> getDeviceMaintenancePage(Page page, Integer deviceId, String deviceNumber); |
| | | |
| | | List<DeviceMaintenanceExport> deviceMaintenanceExport(Integer deviceId); |
| | | |
| | | /** |
| | | * 导åºWord设å¤ç»´æ¤è®°å½ |
| | | * |
| | | * @param deviceId |
| | | * @param response |
| | | */ |
| | | void exportMaintenanceRecord(Integer deviceId, HttpServletResponse response); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.device.pojo.DeviceMetricRecord; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ ¡å - æ ¡åè®°å½ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-09-27 10:20:01 |
| | | */ |
| | | public interface DeviceMetricRecordService extends IService<DeviceMetricRecord> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.device.pojo.DeviceMetricsCopy; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ ¡å - æ ¡åè®°å½ - æ ¡åæ¡ç® æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-09-27 10:20:11 |
| | | */ |
| | | public interface DeviceMetricsCopyService extends IService<DeviceMetricsCopy> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.device.dto.DeviceOperationInstructionDto; |
| | | import com.ruoyi.device.pojo.OperationInstruction; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤ - ä½ä¸æå¯¼ä¹¦ æ·»å åæ§æä»¶ å æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-12-04 10:43:32 |
| | | */ |
| | | public interface DeviceOperationInstructionService extends IService<OperationInstruction> { |
| | | |
| | | List<DeviceOperationInstructionDto> homeworkGuidebookEditor(Integer instructionId); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.common.core.domain.Result; |
| | | import com.ruoyi.device.pojo.DeviceScrapped; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ¥åºç³è¯·è¡¨ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 01:53:47 |
| | | */ |
| | | public interface DeviceScrappedService extends IService<DeviceScrapped> { |
| | | |
| | | /** |
| | | * è®¾å¤æ¥åºç³è¯·å表 |
| | | * @param page |
| | | * @param deviceScrapped |
| | | * @return |
| | | */ |
| | | IPage<DeviceScrapped> pageDeviceScrapped(Page page, DeviceScrapped deviceScrapped); |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤æ¥åºç³è¯· |
| | | * @param deviceScrapped |
| | | * @return |
| | | */ |
| | | boolean addDeviceScrapped(DeviceScrapped deviceScrapped); |
| | | |
| | | /** |
| | | * ä¿®æ¹è®¾å¤æ¥åºç³è¯· |
| | | * @param scrappedId è®¾å¤æ¥åºç³è¯·id |
| | | * @return |
| | | */ |
| | | Result exportDeviceScrapped(Integer scrappedId, HttpServletResponse response); |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.device.dto.DeviceStateDto; |
| | | import com.ruoyi.device.pojo.DeviceState; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤åç¨/å¯ç¨ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-09-26 09:51:40 |
| | | */ |
| | | public interface DeviceStateService extends IService<DeviceState> { |
| | | |
| | | IPage<DeviceStateDto> getDeviceStatePage(Integer deviceId, Page page, String processNumber); |
| | | |
| | | /** |
| | | * 导åºè®¾å¤ç¶æ |
| | | * |
| | | * @param deviceId |
| | | * @param processNumber |
| | | * @param response |
| | | */ |
| | | void exportDeviceStatus(Integer deviceId, String processNumber, HttpServletResponse response); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service.impl; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.device.mapper.CollectBridgeMapper; |
| | | import com.ruoyi.device.pojo.CollectBridge; |
| | | import com.ruoyi.device.service.CollectBridgeService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.time.Duration; |
| | | import java.time.Instant; |
| | | import java.time.LocalDateTime; |
| | | import java.time.ZoneId; |
| | | |
| | | /** |
| | | * æ°åçµæ¡¥éé |
| | | * |
| | | * @author zhuo |
| | | * @since 2025-02-19 |
| | | */ |
| | | @Service |
| | | @Slf4j |
| | | public class CollectBridgeServiceImpl extends ServiceImpl<CollectBridgeMapper, CollectBridge> implements CollectBridgeService { |
| | | |
| | | /** |
| | | * å¡«å
ééæ°æ® |
| | | * @param jsonObject |
| | | */ |
| | | @Override |
| | | public void addBridgeValue(JSONObject jsonObject) { |
| | | JSONArray dataArray = jsonObject.getJSONArray("data"); |
| | | for (int i = 0; i < dataArray.size(); i++) { |
| | | JSONObject listInfo = dataArray.getJSONObject(i); |
| | | // å卿°æ® |
| | | String dataStream = listInfo.getString("dataStream"); |
| | | if (dataStream.equals("DQCS.DQCS.SN")) { |
| | | JSONArray dataPoints = listInfo.getJSONArray("dataPoints"); |
| | | JSONObject pointsJSONObject = dataPoints.getJSONObject(0); |
| | | String entrustCode = pointsJSONObject.getString("value"); |
| | | // è§£ææ¶é´æ³ |
| | | Instant instant = Instant.ofEpochMilli(pointsJSONObject.getLong("time")); |
| | | LocalDateTime collectDate = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); |
| | | |
| | | // å
åå¨ç¼å·, åç»åå¨å¼ |
| | | CollectBridge collectBridge = new CollectBridge(); |
| | | collectBridge.setEntrustCode(entrustCode); |
| | | collectBridge.setCollectDate(collectDate); |
| | | baseMapper.insert(collectBridge); |
| | | |
| | | } |
| | | // å¯åå¨å°åçäº64è·åç»æå¼ |
| | | if (dataStream.equals("DQCS.DQCS.64")) { |
| | | JSONArray dataPoints = listInfo.getJSONArray("dataPoints"); |
| | | JSONObject pointsJSONObject = dataPoints.getJSONObject(0); |
| | | String value = pointsJSONObject.getString("value"); |
| | | |
| | | if (value.equals("64")) { |
| | | for (int j = 0; j < dataArray.size(); j++) { |
| | | JSONObject listInfo2 = dataArray.getJSONObject(j); |
| | | String dataStream2 = listInfo2.getString("dataStream"); |
| | | // å¯åå¨å°åçäº64è·åç»æå¼ |
| | | if (dataStream2.equals("DQCS.DQCS.DZZ")) { |
| | | JSONArray dataPoints2 = listInfo2.getJSONArray("dataPoints"); |
| | | JSONObject pointsJSONObject2 = dataPoints2.getJSONObject(0); |
| | | String collectValue = pointsJSONObject2.getString("value"); |
| | | |
| | | // è§£ææ¶é´æ³ |
| | | Instant instant = Instant.ofEpochMilli(pointsJSONObject2.getLong("time")); |
| | | LocalDateTime collectDate = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()); |
| | | |
| | | // æ¥è¯¢ææ°ä¸æ¡æ°æ® |
| | | CollectBridge collectBridge = baseMapper.selectOne(Wrappers.<CollectBridge>lambdaQuery() |
| | | .orderByDesc(CollectBridge::getCollectDate) |
| | | .last("limit 1")); |
| | | |
| | | // å¤æä¸¤æ¡æ°æ®æ¯å¦ç¸å·®å¨10åéä¹å
åææ²¡æç¼å· |
| | | if (isWithinTenMinutes(collectDate, collectBridge.getCollectDate()) && |
| | | StringUtils.isNotBlank(collectBridge.getEntrustCode())) { |
| | | // ä¿®æ¹æ£éªå¼ |
| | | collectBridge.setCollectValue(collectValue); |
| | | baseMapper.updateById(collectBridge); |
| | | } else { |
| | | // åªåå¨å¼ |
| | | CollectBridge bridge = new CollectBridge(); |
| | | bridge.setCollectValue(collectValue); |
| | | bridge.setCollectDate(collectDate); |
| | | baseMapper.insert(bridge); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | public static boolean isWithinTenMinutes(LocalDateTime dateTime1, LocalDateTime dateTime2) { |
| | | Duration duration = Duration.between(dateTime1, dateTime2); |
| | | long minutesDifference = Math.abs(duration.toMinutes()); |
| | | return minutesDifference <= 10; |
| | | } |
| | | |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.device.mapper.DeviceAcceptanceFileMapper; |
| | | import com.ruoyi.device.pojo.DeviceAcceptanceFile; |
| | | import com.ruoyi.device.service.DeviceAcceptanceFileService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤éªæ¶(è£
å¤)é件表 æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-20 01:45:26 |
| | | */ |
| | | @Service |
| | | public class DeviceAcceptanceFileServiceImpl extends ServiceImpl<DeviceAcceptanceFileMapper, DeviceAcceptanceFile> implements DeviceAcceptanceFileService { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.deepoove.poi.XWPFTemplate; |
| | | import com.deepoove.poi.config.Configure; |
| | | import com.ruoyi.common.utils.QueryWrappers; |
| | | import com.ruoyi.device.mapper.DeviceAcceptanceFileMapper; |
| | | import com.ruoyi.device.mapper.DeviceAcceptanceMapper; |
| | | import com.ruoyi.device.mapper.DeviceMapper; |
| | | import com.ruoyi.device.pojo.Device; |
| | | import com.ruoyi.device.pojo.DeviceAcceptance; |
| | | import com.ruoyi.device.pojo.DeviceAcceptanceFile; |
| | | import com.ruoyi.device.service.DeviceAcceptanceService; |
| | | import com.ruoyi.framework.exception.ErrorException; |
| | | import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.File; |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | | import java.net.URLEncoder; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.HashMap; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤éªæ¶(è£
å¤) æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-20 01:45:14 |
| | | */ |
| | | @Service |
| | | public class DeviceAcceptanceServiceImpl extends ServiceImpl<DeviceAcceptanceMapper, DeviceAcceptance> implements DeviceAcceptanceService { |
| | | |
| | | @Resource |
| | | private DeviceAcceptanceFileMapper deviceAcceptanceFileMapper; |
| | | |
| | | @Resource |
| | | private DeviceMapper deviceMapper; |
| | | |
| | | @Value("${file.path}") |
| | | private String imgUrl; |
| | | |
| | | @Value("${wordUrl}") |
| | | private String wordUrl; |
| | | |
| | | /** |
| | | * 设å¤éªæ¶å表 |
| | | * @param page |
| | | * @param deviceAcceptance |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<DeviceAcceptance> pageDeviceAcceptance(Page page, DeviceAcceptance deviceAcceptance) { |
| | | return baseMapper.pageDeviceAcceptance(page, QueryWrappers.queryWrappers(deviceAcceptance)); |
| | | } |
| | | |
| | | /** |
| | | * 设å¤éªæ¶éä»¶ |
| | | * @param acceptanceId |
| | | * @param file |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean uploadDeviceAcceptanceFile(Integer acceptanceId, MultipartFile file) { |
| | | if (acceptanceId == null) { |
| | | throw new ErrorException("缺å°éªæ¶id"); |
| | | } |
| | | |
| | | String urlString; |
| | | String pathName; |
| | | String path; |
| | | String filename = file.getOriginalFilename(); |
| | | String contentType = file.getContentType(); |
| | | DeviceAcceptanceFile acceptanceFile = new DeviceAcceptanceFile(); |
| | | acceptanceFile.setAcceptanceId(acceptanceId); |
| | | acceptanceFile.setFileName(filename); |
| | | if (contentType != null && contentType.startsWith("image/")) { |
| | | // æ¯å¾ç |
| | | path = imgUrl; |
| | | acceptanceFile.setType(1); |
| | | } else { |
| | | // æ¯æä»¶ |
| | | path = wordUrl; |
| | | acceptanceFile.setType(2); |
| | | } |
| | | try { |
| | | File realpath = new File(path); |
| | | if (!realpath.exists()) { |
| | | realpath.mkdirs(); |
| | | } |
| | | pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "_" + file.getOriginalFilename(); |
| | | urlString = realpath + "/" + pathName; |
| | | file.transferTo(new File(urlString)); |
| | | acceptanceFile.setFileUrl(pathName); |
| | | deviceAcceptanceFileMapper.insert(acceptanceFile); |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | System.err.println("éä»¶ä¸ä¼ é误"); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 设å¤éªæ¶å¯¼åº |
| | | * @param acceptanceId 设å¤éªæ¶id |
| | | * @param response ååºä½ |
| | | * @return |
| | | */ |
| | | @Override |
| | | public void exportDeviceAcceptance(Integer acceptanceId, HttpServletResponse response) { |
| | | DeviceAcceptance deviceAcceptance = baseMapper.selectById(acceptanceId); |
| | | if (deviceAcceptance == null) { |
| | | throw new ErrorException("设å¤éªæ¶ä¸åå¨"); |
| | | } |
| | | Device device = null; |
| | | if (deviceAcceptance.getDeviceId() != null) { |
| | | device = deviceMapper.selectById(deviceAcceptance.getDeviceId()); |
| | | } |
| | | |
| | | |
| | | // è·åè·¯å¾ |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/word/acceptance-certificate.docx"); |
| | | Configure configure = Configure.builder() |
| | | .bind("deviceInspectionRecordDetailsList", new HackLoopTableRenderPolicy()) |
| | | .build(); |
| | | Device finalDevice = device; |
| | | String deviceName = device.getDeviceName() == null ? "" : device.getDeviceName(); |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("deviceAcceptance", deviceAcceptance); |
| | | put("device", finalDevice); |
| | | }}); |
| | | |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String fileName = URLEncoder.encode( |
| | | deviceName+ "éªæ¶å", "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("导åºå¤±è´¥"); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.deepoove.poi.XWPFTemplate; |
| | | import com.deepoove.poi.config.Configure; |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | | import com.ruoyi.common.utils.QueryWrappers; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.device.dto.DeviceAccidentReportDto; |
| | | import com.ruoyi.device.mapper.DeviceAccidentReportMapper; |
| | | import com.ruoyi.device.mapper.DeviceMapper; |
| | | import com.ruoyi.device.pojo.Device; |
| | | import com.ruoyi.device.pojo.DeviceAccidentReport; |
| | | import com.ruoyi.device.service.DeviceAccidentReportService; |
| | | import com.ruoyi.inspect.util.UserUtils; |
| | | import com.ruoyi.system.mapper.UserMapper; |
| | | import org.springframework.beans.BeanUtils; |
| | | 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.LocalDate; |
| | | import java.util.HashMap; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤äºæ
æ¥åå æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 06:31:12 |
| | | */ |
| | | @Service |
| | | public class DeviceAccidentReportServiceImpl extends ServiceImpl<DeviceAccidentReportMapper, DeviceAccidentReport> implements DeviceAccidentReportService { |
| | | |
| | | @Resource |
| | | private UserMapper userMapper; |
| | | |
| | | |
| | | @Resource |
| | | private DeviceMapper deivceMapper; |
| | | |
| | | /** |
| | | * 设å¤äºæ
æ¥åå表 |
| | | * @param page |
| | | * @param deviceAccidentReport |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<DeviceAccidentReport> pageDeviceAccidentReport(Page page, DeviceAccidentReport deviceAccidentReport) { |
| | | return baseMapper.pageDeviceAccidentReport(page, QueryWrappers.queryWrappers(deviceAccidentReport)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤äºæ
æ¥å |
| | | * @param deviceAccidentReport |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean addDeviceAccidentReport(DeviceAccidentReport deviceAccidentReport) { |
| | | DeviceAccidentReport accidentReport = new DeviceAccidentReport(); |
| | | User user = userMapper.selectById(SecurityUtils.getUserId().intValue()); |
| | | switch (deviceAccidentReport.getFlowType()) { |
| | | case 0: |
| | | // æ¥å |
| | | BeanUtils.copyProperties(deviceAccidentReport, accidentReport); |
| | | accidentReport.setDescriptionOfAccident(deviceAccidentReport.getDescriptionOfAccident()); |
| | | accidentReport.setReportUserId(user.getId()); |
| | | accidentReport.setReportUser(user.getName()); |
| | | accidentReport.setReportDate(LocalDate.now()); |
| | | |
| | | // è¯ä¼°äººä¿¡æ¯ |
| | | User assessorUser = userMapper.selectById(deviceAccidentReport.getAssessorUserId()); |
| | | accidentReport.setAssessorUserId(assessorUser.getId()); |
| | | accidentReport.setAssessorUser(assessorUser.getName()); |
| | | |
| | | baseMapper.insert(accidentReport); |
| | | break; |
| | | case 1: |
| | | accidentReport.setAccidentReportId(deviceAccidentReport.getAccidentReportId()); |
| | | // è¯ä¼° |
| | | accidentReport.setAssessorOpinion(deviceAccidentReport.getAssessorOpinion()); |
| | | accidentReport.setAssessorDate(LocalDate.now()); |
| | | |
| | | // é¨é¨è´è´£äºº |
| | | User departmentHeadUser = userMapper.selectById(deviceAccidentReport.getDepartmentHeadUserId()); |
| | | accidentReport.setDepartmentHeadUserId(departmentHeadUser.getId()); |
| | | accidentReport.setDepartmentHeadUser(departmentHeadUser.getName()); |
| | | |
| | | baseMapper.updateById(accidentReport); |
| | | |
| | | break; |
| | | case 2: |
| | | accidentReport.setAccidentReportId(deviceAccidentReport.getAccidentReportId()); |
| | | // é¨é¨è´è´£äººæè§ |
| | | accidentReport.setDepartmentHeadOpinion(deviceAccidentReport.getDepartmentHeadOpinion()); |
| | | accidentReport.setDepartmentHeadDate(LocalDate.now()); |
| | | |
| | | // ææ¯è´è´£äººä¿¡æ¯ |
| | | User technicalDirectorUser = userMapper.selectById(deviceAccidentReport.getTechnicalDirectorUserId()); |
| | | accidentReport.setTechnicalDirectorUserId(technicalDirectorUser.getId()); |
| | | accidentReport.setTechnicalDirectorUser(technicalDirectorUser.getName()); |
| | | |
| | | baseMapper.updateById(accidentReport); |
| | | |
| | | break; |
| | | case 3: |
| | | accidentReport.setAccidentReportId(deviceAccidentReport.getAccidentReportId()); |
| | | // ææ¯è´è´£äººæè§ |
| | | accidentReport.setTechnicalDirectorOpinion(deviceAccidentReport.getTechnicalDirectorOpinion()); |
| | | accidentReport.setTechnicalDirectorDate(LocalDate.now()); |
| | | |
| | | // ä¸»ä»»ä¿¡æ¯ |
| | | User directorHeadUser = userMapper.selectById(deviceAccidentReport.getDirectorHeadUserId()); |
| | | accidentReport.setDirectorHeadUserId(directorHeadUser.getId()); |
| | | accidentReport.setDirectorHeadUser(directorHeadUser.getName()); |
| | | |
| | | baseMapper.updateById(accidentReport); |
| | | |
| | | break; |
| | | case 4: |
| | | accidentReport.setAccidentReportId(deviceAccidentReport.getAccidentReportId()); |
| | | // 主任æè§ |
| | | accidentReport.setDirectorHeadOpinion(deviceAccidentReport.getDirectorHeadOpinion()); |
| | | accidentReport.setDirectorHeadDate(LocalDate.now()); |
| | | |
| | | accidentReport.setIsFinish(1); |
| | | baseMapper.updateById(accidentReport); |
| | | break; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * 导åºè®¾å¤äºæ
æ¥å |
| | | * @param accidentReportId 设å¤äºæ
æ¥åid |
| | | * @param response ååº |
| | | */ |
| | | @Override |
| | | public void exportDeviceAccidentReport(Integer accidentReportId, HttpServletResponse response) { |
| | | // æ¥è¯¢äºæ
æ¥å |
| | | DeviceAccidentReportDto deviceAccidentReport = baseMapper.selectDeviceAccidentReportById(accidentReportId); |
| | | |
| | | Device device = deivceMapper.selectById(deviceAccidentReport.getDeviceId()); |
| | | device = device == null ? new Device() : device; |
| | | |
| | | // è·åè·¯å¾ |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-accident-report.docx"); |
| | | Configure configure = Configure.builder() |
| | | .build(); |
| | | Device finalDevice = device; |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("deviceAccidentReport", deviceAccidentReport); |
| | | put("device", finalDevice); |
| | | // æ¥å人ç¾å |
| | | put("reportUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getReportUserId())); |
| | | // è¯ä¼°äººç¾å |
| | | put("assessorUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getAssessorUserId())); |
| | | // é¨é¨è´è´£äººç¾å |
| | | put("departmentHeadUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getDepartmentHeadUserId())); |
| | | // ææ¯è´è´£äººç¾å |
| | | put("technicalDirectorUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getTechnicalDirectorUserId())); |
| | | // 主任ç¾å |
| | | put("directorHeadUserUrl", UserUtils.getFinalUserSignatureUrl(deviceAccidentReport.getDepartmentHeadUserId())); |
| | | }}); |
| | | |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String deviceName = device.getDeviceName() == null ? "" : device.getDeviceName(); |
| | | String fileName = URLEncoder.encode( |
| | | deviceName + "设å¤äºæ
æ¥åå", "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("导åºå¤±è´¥"); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | | import com.ruoyi.common.numgen.NumberGenerator; |
| | | import com.ruoyi.common.utils.QueryWrappers; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.device.mapper.DeviceBorrowMapper; |
| | | import com.ruoyi.device.mapper.DeviceLogMapper; |
| | | import com.ruoyi.device.pojo.DeviceBorrow; |
| | | import com.ruoyi.device.pojo.DeviceLog; |
| | | import com.ruoyi.device.service.DeviceBorrowService; |
| | | import com.ruoyi.system.mapper.UserMapper; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-09-21 10:53:51 |
| | | */ |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class DeviceBorrowServiceImpl extends ServiceImpl<DeviceBorrowMapper, DeviceBorrow> implements DeviceBorrowService { |
| | | |
| | | @Resource |
| | | private DeviceBorrowMapper deviceBorrowMapper; |
| | | |
| | | @Resource |
| | | private DeviceLogMapper deviceLogMapper; |
| | | |
| | | @Resource |
| | | private UserMapper userMapper; |
| | | |
| | | @Autowired |
| | | private NumberGenerator<DeviceBorrow> numberGenerator; |
| | | |
| | | @Override |
| | | public IPage<DeviceBorrow> deviceBorrowPage(Page page, DeviceBorrow deviceBorrow) { |
| | | return deviceBorrowMapper.deviceBorrowPage(page, QueryWrappers.queryWrappers(deviceBorrow)); |
| | | } |
| | | |
| | | @Override |
| | | public int saveDeviceBorrow(DeviceBorrow deviceBorrow) { |
| | | Integer userId = SecurityUtils.getUserId().intValue(); |
| | | User user = userMapper.selectById(userId); |
| | | //æ°å¢çæ¶åæ·»å æ°å»ºæµç¨ |
| | | if (ObjectUtils.isEmpty(deviceBorrow.getId())) { |
| | | deviceBorrow.setSubmitUser(user.getName()); |
| | | String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); |
| | | String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); |
| | | String processNumber = numberGenerator.generateNumberWithPrefix(3, "DG-TC-23FM " + month + "-" + year + month, DeviceBorrow::getProcessNumber); |
| | | deviceBorrow.setProcessNumber(processNumber); |
| | | deviceBorrowMapper.insert(deviceBorrow); |
| | | DeviceLog deviceLog = new DeviceLog(); |
| | | deviceLog.setOperator(user.getName()); |
| | | deviceLog.setOperationTime(LocalDateTime.now()); |
| | | deviceLog.setOperationType("æ°å»º"); |
| | | deviceLog.setOperationContent("æ°å»ºæµç¨"); |
| | | deviceLog.setRelevanceForm("device_borrow"); |
| | | deviceLog.setRelevanceId(deviceBorrow.getId()); |
| | | deviceLogMapper.insert(deviceLog); |
| | | } else { |
| | | DeviceBorrow borrow = deviceBorrowMapper.selectById(deviceBorrow.getId()); |
| | | deviceBorrowMapper.updateById(deviceBorrow); |
| | | //éè¿æè
驳åå¢å æµç¨è·è¸ª |
| | | if (deviceBorrow.getNowState().equals("å
³é")) { |
| | | DeviceLog deviceLog = new DeviceLog(); |
| | | deviceLog.setOperator(user.getName()); |
| | | deviceLog.setOperationTime(LocalDateTime.now()); |
| | | deviceLog.setOperationType("æ¥æ¶éè¿"); |
| | | deviceLog.setRelevanceForm("device_borrow"); |
| | | deviceLog.setRelevanceId(deviceBorrow.getId()); |
| | | deviceLogMapper.insert(deviceLog); |
| | | } |
| | | else if (deviceBorrow.getNowState().equals("æäº¤") && borrow.getNowState().equals("æ¥æ¶")) { |
| | | DeviceLog deviceLog = new DeviceLog(); |
| | | deviceLog.setOperator(user.getName()); |
| | | deviceLog.setOperationTime(LocalDateTime.now()); |
| | | deviceLog.setOperationType("æ¥æ¶é©³å"); |
| | | deviceLog.setRelevanceForm("device_borrow"); |
| | | deviceLog.setRelevanceId(deviceBorrow.getId()); |
| | | deviceLogMapper.insert(deviceLog); |
| | | } |
| | | } |
| | | return 0; |
| | | } |
| | | |
| | | @Override |
| | | public DeviceBorrow getDeviceBorrow(Integer id) { |
| | | List<DeviceLog> deviceLogs = deviceLogMapper.selectList(Wrappers.<DeviceLog>lambdaQuery() |
| | | .eq(DeviceLog::getRelevanceForm, "device_borrow") |
| | | .eq(DeviceLog::getRelevanceId, id)); |
| | | DeviceBorrow deviceBorrow = deviceBorrowMapper.selectById(id); |
| | | deviceBorrow.setDeviceLogs(deviceLogs); |
| | | return deviceBorrow; |
| | | } |
| | | |
| | | @Override |
| | | public List<DeviceBorrow> getDeviceBorrowBydeviceId(Integer deviceId) { |
| | | return deviceBorrowMapper.getDeviceBorrowBydeviceId(deviceId); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.deepoove.poi.XWPFTemplate; |
| | | import com.deepoove.poi.config.Configure; |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | | import com.ruoyi.common.utils.QueryWrappers; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.device.dto.DeviceBreakdownMaintenance; |
| | | import com.ruoyi.device.mapper.DeviceBreakdownMaintenanceMapper; |
| | | import com.ruoyi.device.mapper.DeviceMapper; |
| | | import com.ruoyi.device.pojo.Device; |
| | | import com.ruoyi.device.service.DeviceBreakdownMaintenanceService; |
| | | import com.ruoyi.inspect.util.UserUtils; |
| | | import com.ruoyi.system.mapper.UserMapper; |
| | | import org.springframework.beans.BeanUtils; |
| | | 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.LocalDate; |
| | | import java.util.HashMap; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ
é维修表 æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 04:50:57 |
| | | */ |
| | | @Service |
| | | public class DeviceBreakdownMaintenanceServiceImpl extends ServiceImpl<DeviceBreakdownMaintenanceMapper, DeviceBreakdownMaintenance> implements DeviceBreakdownMaintenanceService { |
| | | |
| | | @Resource |
| | | private UserMapper userMapper; |
| | | @Resource |
| | | private DeviceMapper deivceMapper; |
| | | |
| | | /** |
| | | * è®¾å¤æ
éç»´ä¿®å表 |
| | | * @param page |
| | | * @param deviceBreakdownMaintenance |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<DeviceBreakdownMaintenance> pageDeviceBreakdownMaintenance(Page page, DeviceBreakdownMaintenance deviceBreakdownMaintenance) { |
| | | return baseMapper.pageDeviceBreakdownMaintenance(page, QueryWrappers.queryWrappers(deviceBreakdownMaintenance)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤æ
éç»´ä¿® |
| | | * @param deviceBreakdownMaintenance |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean addDeviceBreakdownMaintenance(DeviceBreakdownMaintenance deviceBreakdownMaintenance) { |
| | | DeviceBreakdownMaintenance breakdownMaintenance = new DeviceBreakdownMaintenance(); |
| | | //å½åç»å½ç¨æ· |
| | | User user = userMapper.selectById(SecurityUtils.getUserId().intValue()); |
| | | |
| | | switch (deviceBreakdownMaintenance.getFlowType()) { |
| | | case 0: |
| | | BeanUtils.copyProperties(deviceBreakdownMaintenance, breakdownMaintenance); |
| | | // ç³è¯· |
| | | breakdownMaintenance.setDamageOrMalfunction(deviceBreakdownMaintenance.getDamageOrMalfunction()); |
| | | breakdownMaintenance.setApplicantUserId(user.getId()); |
| | | breakdownMaintenance.setApplicantUser(user.getName()); |
| | | breakdownMaintenance.setRepairDate(deviceBreakdownMaintenance.getRepairDate()); |
| | | |
| | | // å¤çäººä¿¡æ¯ |
| | | User departmentHeadUser = userMapper.selectById(deviceBreakdownMaintenance.getDepartmentHeadUserId()); |
| | | breakdownMaintenance.setApplicantUserId(departmentHeadUser.getId()); |
| | | breakdownMaintenance.setApplicantUser(departmentHeadUser.getName()); |
| | | |
| | | baseMapper.insert(breakdownMaintenance); |
| | | break; |
| | | case 1: |
| | | breakdownMaintenance.setMaintenanceId(deviceBreakdownMaintenance.getMaintenanceId()); |
| | | // ç³è¯·é¨é¨è´è´£äººæè§ |
| | | breakdownMaintenance.setDepartmentHeadOpinion(deviceBreakdownMaintenance.getDepartmentHeadOpinion()); |
| | | breakdownMaintenance.setDepartmentHeadDate(LocalDate.now()); |
| | | |
| | | baseMapper.updateById(breakdownMaintenance); |
| | | break; |
| | | case 2: |
| | | breakdownMaintenance.setMaintenanceId(deviceBreakdownMaintenance.getMaintenanceId()); |
| | | // 计é室æè§ |
| | | breakdownMaintenance.setMaintenanceRecord(deviceBreakdownMaintenance.getMaintenanceRecord()); |
| | | breakdownMaintenance.setMaintenanceUser(deviceBreakdownMaintenance.getMaintenanceUser()); |
| | | breakdownMaintenance.setMaintenanceDate(deviceBreakdownMaintenance.getMaintenanceDate()); |
| | | |
| | | breakdownMaintenance.setIsFinish(1); |
| | | |
| | | baseMapper.updateById(breakdownMaintenance); |
| | | break; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * 导åºè®¾å¤æ
éç»´ä¿® |
| | | * @param maintenanceId è®¾å¤æ
éç»´ä¿®id |
| | | * @param response ååº |
| | | */ |
| | | @Override |
| | | public void exportDeviceBreakdownMaintenance(Integer maintenanceId, HttpServletResponse response) { |
| | | // æ¥è¯¢å¤é¨è®¾å¤ç³è¯· |
| | | DeviceBreakdownMaintenance deviceBreakdownMaintenance = baseMapper.selectById(maintenanceId); |
| | | |
| | | Device device = null; |
| | | if (deviceBreakdownMaintenance.getDeviceId() != null) { |
| | | device = deivceMapper.selectById(deviceBreakdownMaintenance.getDeviceId()); |
| | | device = device == null ? new Device() : device; |
| | | } |
| | | // è·åè·¯å¾ |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-breakdown-maintenance.docx"); |
| | | Configure configure = Configure.builder() |
| | | .build(); |
| | | Device finalDevice = device; |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("deviceBreakdownMaintenance", deviceBreakdownMaintenance); |
| | | put("device", finalDevice); |
| | | // ç³è¯·äººç¾å |
| | | put("applicantUrl", UserUtils.getFinalUserSignatureUrl(deviceBreakdownMaintenance.getApplicantUserId())); |
| | | // é¨é¨è´è´£äººç¾å |
| | | put("headUrl", UserUtils.getFinalUserSignatureUrl(deviceBreakdownMaintenance.getDepartmentHeadUserId())); |
| | | }}); |
| | | |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String deviceName = device.getDeviceName() == null ? "" : device.getDeviceName(); |
| | | String fileName = URLEncoder.encode( |
| | | deviceName + "è®¾å¤æ
éç»´ä¿®ç³è¯·è¡¨", "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("导åºå¤±è´¥"); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.device.mapper.DeviceInspectionRecordDetailsMapper; |
| | | import com.ruoyi.device.pojo.DeviceInspectionRecordDetails; |
| | | import com.ruoyi.device.service.DeviceInspectionRecordDetailsService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-16 04:27:32 |
| | | */ |
| | | @Service |
| | | public class DeviceInspectionRecordDetailsServiceImpl extends ServiceImpl<DeviceInspectionRecordDetailsMapper, DeviceInspectionRecordDetails> implements DeviceInspectionRecordDetailsService { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.deepoove.poi.XWPFTemplate; |
| | | import com.deepoove.poi.config.Configure; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | | import com.ruoyi.common.utils.QueryWrappers; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.device.dto.DeviceInspectionRecordDto; |
| | | import com.ruoyi.device.mapper.DeviceInspectionRecordMapper; |
| | | import com.ruoyi.device.mapper.DeviceMapper; |
| | | import com.ruoyi.device.pojo.Device; |
| | | import com.ruoyi.device.pojo.DeviceInspectionRecord; |
| | | import com.ruoyi.device.pojo.DeviceInspectionRecordDetails; |
| | | import com.ruoyi.device.service.DeviceInspectionRecordDetailsService; |
| | | import com.ruoyi.device.service.DeviceInspectionRecordService; |
| | | import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; |
| | | import com.ruoyi.inspect.util.UserUtils; |
| | | import com.ruoyi.system.mapper.UserMapper; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | 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; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤ç¹æ£è®°å½è¡¨ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-16 04:25:14 |
| | | */ |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class DeviceInspectionRecordServiceImpl extends ServiceImpl<DeviceInspectionRecordMapper, DeviceInspectionRecord> implements DeviceInspectionRecordService { |
| | | @Resource |
| | | private UserMapper userMapper; |
| | | @Resource |
| | | private DeviceMapper deviceMapper; |
| | | @Resource |
| | | private DeviceInspectionRecordDetailsService deviceInspectionRecordDetailsService; |
| | | |
| | | /** |
| | | * å页æ¥è¯¢è®¾å¤ç¹æ£è®°å½ |
| | | * |
| | | * @param page å½å页ç |
| | | */ |
| | | @Override |
| | | public Result<IPage<DeviceInspectionRecord>> getDeviceInspectionRecordByPage(IPage page, DeviceInspectionRecordDto deviceInspectionRecordDto) { |
| | | IPage<DeviceInspectionRecord> iPage = baseMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(deviceInspectionRecordDto)); |
| | | return Result.success(iPage); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ¥è¯¢ç¹æ£è¯¦æ
|
| | | * @param inspectionRecordId |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Result getDeviceInspectionRecord(Integer inspectionRecordId) { |
| | | DeviceInspectionRecord deviceInspectionRecord = baseMapper.selectById(inspectionRecordId); |
| | | DeviceInspectionRecordDto dto = new DeviceInspectionRecordDto(); |
| | | BeanUtils.copyProperties(deviceInspectionRecord, dto); |
| | | List<DeviceInspectionRecordDetails> list = deviceInspectionRecordDetailsService.list(Wrappers.<DeviceInspectionRecordDetails>lambdaQuery().eq(DeviceInspectionRecordDetails::getInspectionRecordId, inspectionRecordId)); |
| | | dto.setDetails(list); |
| | | return Result.success(dto); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤ç¹æ£è®°å½ |
| | | * |
| | | * @param deviceInspectionRecord 设å¤ç¹æ£è®°å½ |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Result addDeviceInspectionRecord(DeviceInspectionRecordDto deviceInspectionRecord) { |
| | | |
| | | Integer userId = SecurityUtils.getUserId().intValue(); |
| | | User user = userMapper.selectById(userId); |
| | | deviceInspectionRecord.setRecorderId(userId); |
| | | deviceInspectionRecord.setRecorder(user.getName()); |
| | | |
| | | // æ¥è¯¢å¤æ ¸äººid |
| | | if (deviceInspectionRecord.getReviewerId() != null) { |
| | | User reviewUser = userMapper.selectById(deviceInspectionRecord.getReviewerId()); |
| | | deviceInspectionRecord.setReviewer(reviewUser.getName()); |
| | | } |
| | | this.saveOrUpdate(deviceInspectionRecord); |
| | | if (CollectionUtils.isNotEmpty(deviceInspectionRecord.getDetails())) { |
| | | for (DeviceInspectionRecordDetails detail : deviceInspectionRecord.getDetails()) { |
| | | detail.setInspectionRecordId(deviceInspectionRecord.getInspectionRecordId()); |
| | | } |
| | | deviceInspectionRecordDetailsService.saveBatch( deviceInspectionRecord.getDetails()); |
| | | } |
| | | |
| | | return Result.success(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * ä¿®æ¹è®¾å¤ç¹æ£è®°å½ |
| | | * |
| | | * @param deviceInspectionRecord 设å¤ç¹æ£è®°å½ |
| | | */ |
| | | @Override |
| | | public Result updateInspectionRecordAndDetails(DeviceInspectionRecordDto deviceInspectionRecord) { |
| | | // æ¥è¯¢å¤æ ¸äººid |
| | | if (deviceInspectionRecord.getReviewerId() != null) { |
| | | User reviewUser = userMapper.selectById(deviceInspectionRecord.getReviewerId()); |
| | | deviceInspectionRecord.setReviewer(reviewUser.getName()); |
| | | } |
| | | this.saveOrUpdate(deviceInspectionRecord); |
| | | deviceInspectionRecordDetailsService.remove(Wrappers.<DeviceInspectionRecordDetails>lambdaQuery().eq(DeviceInspectionRecordDetails::getInspectionRecordId, deviceInspectionRecord.getInspectionRecordId())); |
| | | if (CollectionUtils.isNotEmpty(deviceInspectionRecord.getDetails())) { |
| | | for (DeviceInspectionRecordDetails detail : deviceInspectionRecord.getDetails()) { |
| | | detail.setInspectionRecordId(deviceInspectionRecord.getInspectionRecordId()); |
| | | } |
| | | deviceInspectionRecordDetailsService.saveBatch( deviceInspectionRecord.getDetails()); |
| | | } |
| | | return Result.success(); |
| | | } |
| | | |
| | | /** |
| | | * å é¤è®¾å¤ç¹æ£è®°å½ |
| | | * |
| | | * @param deviceInspectionRecord 设å¤ç¹æ£è®°å½ |
| | | */ |
| | | @Override |
| | | public Result deleteDeviceInspectionRecordOrDetails(DeviceInspectionRecordDto deviceInspectionRecord) { |
| | | this.removeById(deviceInspectionRecord); |
| | | deviceInspectionRecordDetailsService.remove(Wrappers.<DeviceInspectionRecordDetails>lambdaQuery().eq(DeviceInspectionRecordDetails::getInspectionRecordId, deviceInspectionRecord.getInspectionRecordId())); |
| | | return Result.success(); |
| | | } |
| | | |
| | | /** |
| | | * 夿 ¸ç¹æ£è®°å½ |
| | | * @param dto |
| | | * @return |
| | | */ |
| | | @Override |
| | | public Result reviewDeviceInspectionRecord(DeviceInspectionRecordDto dto) { |
| | | LambdaUpdateWrapper<DeviceInspectionRecord> wrapper = Wrappers.<DeviceInspectionRecord>lambdaUpdate() |
| | | .eq(DeviceInspectionRecord::getInspectionRecordId, dto.getInspectionRecordId()) |
| | | .set(DeviceInspectionRecord::getStatus, dto.getStatus()) |
| | | .set(DeviceInspectionRecord::getReviewerRemark, dto.getReviewerRemark()); |
| | | |
| | | // 为0æ¸
é¤å®¡æ ¸äºº |
| | | if (dto.getStatus().equals(0)) { |
| | | wrapper.set(DeviceInspectionRecord::getReviewerId, null) |
| | | .set(DeviceInspectionRecord::getReviewer, null); |
| | | } |
| | | this.update(wrapper); |
| | | |
| | | return Result.success(); |
| | | } |
| | | |
| | | /** |
| | | * 导åºè®¾å¤ç¹æ£è®°å½ |
| | | * |
| | | * @param deviceInspectionRecordId 设å¤ç¹æ£è®°å½id |
| | | * @param response ååº |
| | | */ |
| | | @Override |
| | | public Result exportDeviceInspectionRecord(Integer deviceInspectionRecordId, HttpServletResponse response) { |
| | | DeviceInspectionRecord deviceInspectionRecord = baseMapper.selectById(deviceInspectionRecordId); |
| | | DeviceInspectionRecordDto deviceInspectionRecordDto = new DeviceInspectionRecordDto(); |
| | | BeanUtils.copyProperties(deviceInspectionRecord, deviceInspectionRecordDto); |
| | | DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | | deviceInspectionRecordDto.setTestDateString(deviceInspectionRecord.getTestDate() == null ? null : deviceInspectionRecord.getTestDate().format(dateFormatter)); |
| | | |
| | | List<DeviceInspectionRecordDetails> deviceInspectionRecordDetailsList = deviceInspectionRecordDetailsService.list(Wrappers.<DeviceInspectionRecordDetails>lambdaQuery().eq(DeviceInspectionRecordDetails::getInspectionRecordId, deviceInspectionRecordId)); |
| | | |
| | | Integer deviceId = deviceInspectionRecord.getDeviceId(); |
| | | |
| | | Device device = deviceMapper.selectById(deviceId); |
| | | |
| | | // è·åè·¯å¾ |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-inspection-record.docx"); |
| | | Configure configure = Configure.builder() |
| | | .bind("deviceInspectionRecordDetailsList", new HackLoopTableRenderPolicy()) |
| | | .build(); |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("deviceInspectionRecord", deviceInspectionRecordDto); |
| | | put("deviceInspectionRecordDetailsList", deviceInspectionRecordDetailsList); |
| | | put("device", device); |
| | | put("recorderUrl", UserUtils.getFinalUserSignatureUrl(deviceInspectionRecordDto.getRecorderId())); |
| | | put("reviewerUrl", UserUtils.getFinalUserSignatureUrl(deviceInspectionRecordDto.getReviewerId())); |
| | | }}); |
| | | |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String fileName = URLEncoder.encode( |
| | | device.getDeviceName() + "ç¹æ£è®°å½", "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("导åºå¤±è´¥"); |
| | | } |
| | | return Result.success(); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.ruoyi.common.numgen.NumberGenerator; |
| | | import com.ruoyi.common.utils.QueryWrappers; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.device.dto.DeviceInstructionDto; |
| | | import com.ruoyi.device.dto.DeviceOperationInstructionDto; |
| | | import com.ruoyi.device.mapper.InstructionMapper; |
| | | import com.ruoyi.device.pojo.DeviceInstruction; |
| | | import com.ruoyi.device.service.DeviceInstructionService; |
| | | import com.ruoyi.device.service.DeviceOperationInstructionService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDateTime; |
| | | import java.util.Date; |
| | | import java.util.Locale; |
| | | |
| | | /** |
| | | * <p> |
| | | * ä½ä¸æå¯¼ä¹¦æ·»å åæ§æä»¶è¡¨ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-12-04 10:29:18 |
| | | */ |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class DeviceInstructionServiceImpl extends ServiceImpl<InstructionMapper, DeviceInstruction> implements DeviceInstructionService { |
| | | |
| | | @Autowired |
| | | private DeviceOperationInstructionService operationInstructionService; |
| | | |
| | | @Autowired |
| | | private NumberGenerator<DeviceInstruction> numberGenerator; |
| | | |
| | | @Override |
| | | public IPage<DeviceInstruction> pageByPageQueryOfHomeworkInstructions(Page page, DeviceOperationInstructionDto operationInstructionDto) { |
| | | return baseMapper.pageByPageQueryOfHomeworkInstructions(page, QueryWrappers.queryWrappers(operationInstructionDto)); |
| | | } |
| | | |
| | | @Override |
| | | public void newHomeworkGuidebookAdded(DeviceInstructionDto instructionDto) { |
| | | if (ObjectUtils.isEmpty(instructionDto.getApplicationNumber())) { |
| | | String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date()); |
| | | String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date()); |
| | | String day = new SimpleDateFormat("dd", Locale.CHINESE).format(new Date()); |
| | | String processNumber = numberGenerator.generateNumberWithPrefix(3, "WJSK" + year + month + day, DeviceInstruction::getApplicationNumber); |
| | | instructionDto.setApplicationNumber(processNumber); |
| | | } |
| | | saveOrUpdate(instructionDto); |
| | | if (ObjectUtils.isNotEmpty(instructionDto.getFeTempHumRecordList())) { |
| | | instructionDto.getFeTempHumRecordList().forEach(i -> { |
| | | i.setInstructionId(instructionDto.getId()); |
| | | i.setUploader(SecurityUtils.getUserId().intValue()); |
| | | i.setUpdateTime(LocalDateTime.now()); |
| | | }); |
| | | operationInstructionService.saveOrUpdateBatch(instructionDto.getFeTempHumRecordList()); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | 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.ruoyi.device.excel.DeviceMaintenanceExport; |
| | | import com.ruoyi.device.mapper.DeviceMaintenanceMapper; |
| | | import com.ruoyi.device.mapper.DeviceMapper; |
| | | import com.ruoyi.device.pojo.DeviceMaintenance; |
| | | import com.ruoyi.device.service.DeviceMaintenanceService; |
| | | import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; |
| | | 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.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | public class DeviceMaintenanceImpl extends ServiceImpl<DeviceMaintenanceMapper, DeviceMaintenance> implements DeviceMaintenanceService { |
| | | |
| | | @Override |
| | | public IPage<DeviceMaintenance> getDeviceMaintenancePage(Page page, Integer deviceId, String deviceNumber) { |
| | | return baseMapper.selectPage(page, Wrappers.<DeviceMaintenance>lambdaQuery() |
| | | .eq(DeviceMaintenance::getDeviceId, deviceId) |
| | | .like(DeviceMaintenance::getDeviceNumber, deviceNumber)); |
| | | } |
| | | |
| | | @Override |
| | | public List<DeviceMaintenanceExport> deviceMaintenanceExport(Integer deviceId) { |
| | | return baseMapper.deviceMaintenanceExport(deviceId); |
| | | } |
| | | |
| | | @Override |
| | | public void exportMaintenanceRecord(Integer deviceId, HttpServletResponse response) { |
| | | // æ¥è¯¢cnas设å¤ç»´ä¿®è®°å½ |
| | | List<DeviceMaintenance> deviceMaintenanceList = baseMapper.selectList(Wrappers.<DeviceMaintenance>lambdaQuery() |
| | | .eq(DeviceMaintenance::getDeviceId, deviceId) |
| | | .select(DeviceMaintenance::getDate, |
| | | DeviceMaintenance::getDeviceNumber, |
| | | DeviceMaintenance::getDeviceName, |
| | | DeviceMaintenance::getManagementNumber, |
| | | DeviceMaintenance::getContent, |
| | | DeviceMaintenance::getName, |
| | | DeviceMaintenance::getComments)); |
| | | |
| | | |
| | | // è·åè·¯å¾ |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/word/maintenance-records.docx"); |
| | | Configure configure = Configure.builder() |
| | | .bind("deviceMaintenanceList", new HackLoopTableRenderPolicy()) |
| | | .build(); |
| | | // è·åè®¾å¤ åç§° å ç¼å· |
| | | DeviceMaintenance deviceMaintenance = deviceMaintenanceList.get(0); |
| | | String deviceName = deviceMaintenance.getDeviceName(); |
| | | String managementNumber = deviceMaintenance.getManagementNumber(); |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("deviceMaintenanceList", deviceMaintenanceList); |
| | | put("deviceName", deviceName); |
| | | put("managementNumber", managementNumber); |
| | | }}); |
| | | |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String fileName = URLEncoder.encode( |
| | | "设å¤ç»´æ¤ä¿å
»è®°å½", "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("导åºå¤±è´¥"); |
| | | } |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.device.mapper.DeviceMetricRecordMapper; |
| | | import com.ruoyi.device.pojo.DeviceMetricRecord; |
| | | import com.ruoyi.device.service.DeviceMetricRecordService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ ¡å - æ ¡åè®°å½ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-09-27 10:20:01 |
| | | */ |
| | | @Service |
| | | public class DeviceMetricRecordServiceImpl extends ServiceImpl<DeviceMetricRecordMapper, DeviceMetricRecord> implements DeviceMetricRecordService { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.device.mapper.DeviceMetricsCopyMapper; |
| | | import com.ruoyi.device.pojo.DeviceMetricsCopy; |
| | | import com.ruoyi.device.service.DeviceMetricsCopyService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ ¡å - æ ¡åè®°å½ - æ ¡åæ¡ç® æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-09-27 10:20:11 |
| | | */ |
| | | @Service |
| | | public class DeviceMetricsCopyServiceImpl extends ServiceImpl<DeviceMetricsCopyMapper, DeviceMetricsCopy> implements DeviceMetricsCopyService { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.device.dto.DeviceOperationInstructionDto; |
| | | import com.ruoyi.device.mapper.OperationInstructionMapper; |
| | | import com.ruoyi.device.pojo.OperationInstruction; |
| | | import com.ruoyi.device.service.DeviceOperationInstructionService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤ - ä½ä¸æå¯¼ä¹¦ æ·»å åæ§æä»¶ å æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-12-04 10:43:32 |
| | | */ |
| | | @Service |
| | | public class DeviceOperationInstructionServiceImpl extends ServiceImpl<OperationInstructionMapper, OperationInstruction> implements DeviceOperationInstructionService { |
| | | |
| | | @Override |
| | | public List<DeviceOperationInstructionDto> homeworkGuidebookEditor(Integer instructionId) { |
| | | return baseMapper.homeworkGuidebookEditor(instructionId); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.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.deepoove.poi.XWPFTemplate; |
| | | import com.deepoove.poi.config.Configure; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | | import com.ruoyi.common.utils.QueryWrappers; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.device.dto.DeviceScrappedDto; |
| | | import com.ruoyi.device.mapper.DeviceMapper; |
| | | import com.ruoyi.device.mapper.DeviceScrappedMapper; |
| | | import com.ruoyi.device.pojo.Device; |
| | | import com.ruoyi.device.pojo.DeviceScrapped; |
| | | import com.ruoyi.device.service.DeviceScrappedService; |
| | | import com.ruoyi.inspect.util.UserUtils; |
| | | import com.ruoyi.system.mapper.UserMapper; |
| | | import org.springframework.beans.BeanUtils; |
| | | 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.LocalDate; |
| | | import java.util.HashMap; |
| | | |
| | | /** |
| | | * <p> |
| | | * è®¾å¤æ¥åºç³è¯·è¡¨ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-12-17 01:53:47 |
| | | */ |
| | | @Service |
| | | public class DeviceScrappedServiceImpl extends ServiceImpl<DeviceScrappedMapper, DeviceScrapped> implements DeviceScrappedService { |
| | | |
| | | @Resource |
| | | private DeviceMapper deivceMapper; |
| | | @Resource |
| | | private UserMapper userMapper; |
| | | |
| | | |
| | | /** |
| | | * è®¾å¤æ¥åºç³è¯·å表 |
| | | * |
| | | * @param deviceScrapped |
| | | * @return |
| | | */ |
| | | @Override |
| | | public IPage<DeviceScrapped> pageDeviceScrapped(Page page, DeviceScrapped deviceScrapped) { |
| | | return baseMapper.pageDeviceScrapped(page, QueryWrappers.queryWrappers(deviceScrapped)); |
| | | } |
| | | |
| | | /** |
| | | * æ°å¢è®¾å¤æ¥åºç³è¯· |
| | | * |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean addDeviceScrapped(DeviceScrapped deviceScrapped) { |
| | | DeviceScrapped scrapped = new DeviceScrapped(); |
| | | // å½åç»å½ç¨æ·ä¿¡æ¯åé¨é¨ |
| | | User user = userMapper.selectById(SecurityUtils.getUserId().intValue()); |
| | | switch (deviceScrapped.getFlowType()) { |
| | | case 0: |
| | | BeanUtils.copyProperties(deviceScrapped, scrapped); |
| | | // ç³è¯· |
| | | scrapped.setReasonsForScrap(deviceScrapped.getReasonsForScrap()); |
| | | scrapped.setApplicantUserId(user.getId()); |
| | | scrapped.setApplicantUser(user.getName()); |
| | | scrapped.setApplicantDate(LocalDate.now()); |
| | | |
| | | // å¤çäººä¿¡æ¯ |
| | | User departmentHeadUser = userMapper.selectById(deviceScrapped.getDepartmentHeadUserId()); |
| | | scrapped.setApplicantUserId(departmentHeadUser.getId()); |
| | | scrapped.setApplicantUser(departmentHeadUser.getName()); |
| | | |
| | | baseMapper.insert(scrapped); |
| | | break; |
| | | case 1: |
| | | scrapped.setScrappedId(deviceScrapped.getScrappedId()); |
| | | // ç³è¯·é¨é¨è´è´£äººæè§ |
| | | scrapped.setDepartmentHeadOpinion(deviceScrapped.getDepartmentHeadOpinion()); |
| | | scrapped.setDepartmentHeadDate(LocalDate.now()); |
| | | |
| | | // 计éå®¤ä¿¡æ¯ |
| | | User meteringRoomUser = userMapper.selectById(deviceScrapped.getMeteringRoomUserId()); |
| | | scrapped.setMeteringRoomUserId(meteringRoomUser.getId()); |
| | | scrapped.setMeteringRoomUser(meteringRoomUser.getName()); |
| | | |
| | | baseMapper.updateById(scrapped); |
| | | break; |
| | | case 2: |
| | | scrapped.setScrappedId(deviceScrapped.getScrappedId()); |
| | | // 计é室æè§ |
| | | scrapped.setMeteringRoomOpinion(deviceScrapped.getMeteringRoomOpinion()); |
| | | scrapped.setMeteringRoomDate(LocalDate.now()); |
| | | |
| | | // æ¹åäººä¿¡æ¯ |
| | | User approverUser = userMapper.selectById(deviceScrapped.getApproverUserId()); |
| | | scrapped.setApproverUserId(approverUser.getId()); |
| | | scrapped.setApproverUser(approverUser.getName()); |
| | | |
| | | baseMapper.updateById(scrapped); |
| | | break; |
| | | case 3: |
| | | scrapped.setScrappedId(deviceScrapped.getScrappedId()); |
| | | //æ¹å人 |
| | | scrapped.setApproverOpinion(deviceScrapped.getApproverOpinion()); |
| | | scrapped.setApproverDate(LocalDate.now()); |
| | | scrapped.setIsFinish(1); |
| | | baseMapper.updateById(scrapped); |
| | | break; |
| | | } |
| | | |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * 导åºè®¾å¤æ¥åºç³è¯· |
| | | * |
| | | * @param scrappedId è®¾å¤æ¥åºç³è¯·id |
| | | * @param response ååº |
| | | * @return ç»æ |
| | | */ |
| | | @Override |
| | | public Result<?> exportDeviceScrapped(Integer scrappedId, HttpServletResponse response) { |
| | | // æ¥è¯¢æ¥åºæ°æ® |
| | | DeviceScrappedDto deviceScrapped = baseMapper.selectDeviceScrappedById(scrappedId); |
| | | if (deviceScrapped == null) { |
| | | return Result.fail("è®¾å¤æ¥åºç³è¯·ä¸åå¨"); |
| | | } |
| | | Device device = null; |
| | | if (deviceScrapped.getDeviceId() != null) { |
| | | device = deivceMapper.selectById(deviceScrapped.getDeviceId()); |
| | | device = device == null ? new Device() : device; |
| | | } |
| | | // è·åè·¯å¾ |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-scrapped.docx"); |
| | | Configure configure = Configure.builder() |
| | | .build(); |
| | | Device finalDevice = device; |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("deviceScrapped", deviceScrapped); |
| | | put("device", finalDevice); |
| | | // ç³è¯·äººç¾å |
| | | put("applicantUrl", UserUtils.getFinalUserSignatureUrl(deviceScrapped.getApplicantUserId())); |
| | | // é¨é¨è´è´£äººç¾å |
| | | put("headUrl", UserUtils.getFinalUserSignatureUrl(deviceScrapped.getDepartmentHeadUserId())); |
| | | // 计é室ç¾å |
| | | put("metrologyRoomUrl", UserUtils.getFinalUserSignatureUrl(deviceScrapped.getMeteringRoomUserId())); |
| | | // æ¹å人ç¾å |
| | | put("approverUrl", UserUtils.getFinalUserSignatureUrl(deviceScrapped.getApproverUserId())); |
| | | }}); |
| | | |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String deviceName = device.getDeviceName() == null ? "" : device.getDeviceName(); |
| | | String fileName = URLEncoder.encode( |
| | | deviceName + "è®¾å¤æ¥åºç³è¯·", "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("导åºå¤±è´¥"); |
| | | } |
| | | return Result.success(); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | 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.data.Pictures; |
| | | import com.ruoyi.basic.mapper.LaboratoryMapper; |
| | | import com.ruoyi.basic.pojo.Laboratory; |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | | import com.ruoyi.device.dto.DeviceStateDto; |
| | | import com.ruoyi.device.mapper.DeviceStateMapper; |
| | | import com.ruoyi.device.pojo.DeviceState; |
| | | import com.ruoyi.device.service.DeviceStateService; |
| | | import com.ruoyi.framework.exception.ErrorException; |
| | | 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.format.DateTimeFormatter; |
| | | import java.util.HashMap; |
| | | |
| | | /** |
| | | * <p> |
| | | * 设å¤åç¨/å¯ç¨ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-09-26 09:51:40 |
| | | */ |
| | | @Service |
| | | public class DeviceStateServiceImpl extends ServiceImpl<DeviceStateMapper, DeviceState> implements DeviceStateService { |
| | | |
| | | @Resource |
| | | private LaboratoryMapper laboratoryMapper; |
| | | |
| | | @Resource |
| | | private UserMapper userMapper; |
| | | |
| | | @Value("${file.path}") |
| | | private String imgUrl; |
| | | |
| | | @Override |
| | | public IPage<DeviceStateDto> getDeviceStatePage(Integer deviceId, Page page, String processNumber) { |
| | | return baseMapper.getDeviceStatePage(deviceId, page, processNumber); |
| | | } |
| | | |
| | | @Override |
| | | public void exportDeviceStatus(Integer deviceId, String processNumber, HttpServletResponse response) { |
| | | // æ ¹æ®æµç¨ç¼å· æ¥è¯¢cnas设å¤ç¶æ |
| | | DeviceStateDto deviceStateDto = baseMapper.getDeviceStatePage(deviceId,new Page<DeviceStateDto>(1,1), processNumber).getRecords().get(0); |
| | | |
| | | // 对æ¶é´è¿è¡ä¿®æ¹ |
| | | DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyyå¹´MMæddæ¥"); |
| | | deviceStateDto.setSubmitDateString(deviceStateDto.getSubmitDate() != null ? deviceStateDto.getSubmitDate().format(format) : " å¹´ æ æ¥"); |
| | | deviceStateDto.setDepartmentDateString(deviceStateDto.getDepartmentDate() != null? deviceStateDto.getDepartmentDate().format(format) : " å¹´ æ æ¥"); |
| | | deviceStateDto.setMeasuringRoomDateString(deviceStateDto.getMeasuringRoomDate() != null? deviceStateDto.getMeasuringRoomDate().format(format) : " å¹´ æ æ¥"); |
| | | deviceStateDto.setApprovalDateString(deviceStateDto.getApprovalDate() != null? deviceStateDto.getApprovalDate().format(format) : " å¹´ æ æ¥"); |
| | | |
| | | // æ¥è¯¢è®¾å¤å±äºåªä¸ªå®éªå®¤ |
| | | String laboratoryName; |
| | | String largeCategory = deviceStateDto.getLargeCategory(); |
| | | if (StringUtils.isNotBlank(largeCategory)) { |
| | | largeCategory = largeCategory.substring(0, 1); |
| | | Laboratory laboratory = laboratoryMapper.selectOne(Wrappers.<Laboratory>lambdaQuery() |
| | | .eq(Laboratory::getLaboratoryNumber, largeCategory) |
| | | .select(Laboratory::getLaboratoryName)); |
| | | laboratoryName = laboratory.getLaboratoryName(); |
| | | } else { |
| | | laboratoryName = ""; |
| | | } |
| | | |
| | | //todo: 设å¤ç¶ææ¥è¯¢ç¾åå°å ææ¶äººåæ¥è¯¢ |
| | | //è·åç³è¯·äººçç¾åå°å |
| | | String applicantUrl = null; |
| | | if (deviceStateDto.getSubmitOperatingPersonnel() != null) { |
| | | applicantUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() |
| | | .eq(User::getName, deviceStateDto.getSubmitOperatingPersonnel())) |
| | | .getSignatureUrl(); |
| | | if (StringUtils.isBlank(applicantUrl)) { |
| | | throw new ErrorException("æ¾ä¸å°ç³è¯·äººçç¾å"); |
| | | } |
| | | } |
| | | |
| | | //è·åé¨é¨è´è´£äººçç¾åå°å |
| | | String headOfDepartmentUrl = null; |
| | | if (deviceStateDto.getDepartmentNextPesponsible() != null) { |
| | | headOfDepartmentUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() |
| | | .eq(User::getName, deviceStateDto.getDepartmentNextPesponsible())) |
| | | .getSignatureUrl(); |
| | | if (StringUtils.isBlank(headOfDepartmentUrl)) { |
| | | throw new ErrorException("æ¾ä¸å°é¨é¨è´è´£äººçç¾å"); |
| | | } |
| | | } |
| | | |
| | | //è·å计é室夿µäººçç¾åå°å |
| | | String measurementRoomUrl = null; |
| | | if (deviceStateDto.getMeasuringRoomNextPesponsible() != null) { |
| | | measurementRoomUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() |
| | | .eq(User::getName, deviceStateDto.getMeasuringRoomNextPesponsible())) |
| | | .getSignatureUrl(); |
| | | if (StringUtils.isBlank(measurementRoomUrl)) { |
| | | throw new ErrorException("æ¾ä¸å°è®¡é室夿µäººçç¾å"); |
| | | } |
| | | } |
| | | |
| | | //è·åæ¹å人çç¾åå°å |
| | | String approvedUrl = null; |
| | | if (deviceStateDto.getApprovalNextPesponsible() != null) { |
| | | approvedUrl = userMapper.selectOne(Wrappers.<User>lambdaQuery() |
| | | .eq(User::getName, deviceStateDto.getApprovalNextPesponsible())) |
| | | .getSignatureUrl(); |
| | | if (StringUtils.isBlank(approvedUrl)) { |
| | | throw new ErrorException("æ¾ä¸å°æ¹å人çç¾å"); |
| | | } |
| | | } |
| | | |
| | | // è·åè·¯å¾ |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-status.docx"); |
| | | Configure configure = Configure.builder() |
| | | .build(); |
| | | String finalApplicantUrl = applicantUrl; // ç³è¯·äººçç¾åå°å |
| | | String finalHeadOfDepartmentUrl = headOfDepartmentUrl; // é¨é¨è´è´£äººçç¾åå°å |
| | | String finalMeasurementRoomUrl = measurementRoomUrl; // 计é室夿µäººçç¾åå°å |
| | | String finalApprovedUrl = approvedUrl; // æ¹å人çç¾åå°å |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("deviceStateDto", deviceStateDto); |
| | | put("submitOperatingPersonnelUrl", StringUtils.isNotBlank(finalApplicantUrl) ? Pictures.ofLocal(imgUrl + "/" + finalApplicantUrl).create() : null); |
| | | put("departmentNextPesponsibleUrl", StringUtils.isNotBlank(finalHeadOfDepartmentUrl) ? Pictures.ofLocal(imgUrl + "/" + finalHeadOfDepartmentUrl).create() : null); |
| | | put("measuringRoomNextPesponsibleUrl", StringUtils.isNotBlank(finalMeasurementRoomUrl) ? Pictures.ofLocal(imgUrl + "/" + finalMeasurementRoomUrl).create() : null); |
| | | put("approvalNextPesponsibleUrl", StringUtils.isNotBlank(finalApprovedUrl) ? Pictures.ofLocal(imgUrl + "/" + finalApprovedUrl).create() : null); |
| | | put("laboratory", laboratoryName); |
| | | }}); |
| | | |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String fileName = URLEncoder.encode( |
| | | "设å¤ç»´æ¤ä¿å
»è®°å½", "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("导åºå¤±è´¥"); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.device.task; |
| | | |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | | import com.ruoyi.common.utils.WxCpUtils; |
| | | import com.ruoyi.device.dto.DeviceRecordDto; |
| | | import com.ruoyi.device.mapper.DeviceRecordMapper; |
| | | import com.ruoyi.device.pojo.DeviceRecord; |
| | | import com.ruoyi.system.mapper.UserMapper; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 设å¤ä½¿ç¨è®°å½æé |
| | | */ |
| | | @Component |
| | | public class DeviceRecordSchedule { |
| | | @Resource |
| | | private DeviceRecordMapper deviceRecordMapper; |
| | | @Resource |
| | | private UserMapper userMapper; |
| | | @Resource |
| | | private ThreadPoolTaskExecutor threadPoolTaskExecutor; |
| | | |
| | | /** |
| | | * æéå¡«å设å¤ä½¿ç¨è®°å½ |
| | | */ |
| | | // @Scheduled(cron = "0/5 * * * * *") |
| | | @Scheduled(cron = "0 0 9 * * 6") // æ¯å¨å
æ§è¡ä¸æ¬¡ |
| | | public void task1() { |
| | | // æ¥è¯¢æªå¡«åç设å¤ä½¿ç¨è®°å½ |
| | | List<DeviceRecordDto> deviceRecords = deviceRecordMapper.selectNotFilled(); |
| | | Map<Integer, List<DeviceRecordDto>> userPersonIdMap = deviceRecords.stream().collect(Collectors.groupingBy(DeviceRecord::getUsePersonId)); |
| | | userPersonIdMap.forEach((userId, recordList) -> { |
| | | threadPoolTaskExecutor.execute(() -> { |
| | | // ä¼ä¸å¾®ä¿¡éç¥å¡«å设å¤ä½¿ç¨è®°å½ |
| | | User user = userMapper.selectById(userId); |
| | | String message = ""; |
| | | message += "设å¤ä½¿ç¨è®°å½æªå¡«åæééç¥"; |
| | | for (DeviceRecordDto deviceRecord : recordList) { |
| | | message += "\n设å¤åç§°ç¼å·: " + deviceRecord.getDeviceName() + "-" + deviceRecord.getManagementNumber(); |
| | | message += "\nå§æç¼å·: " + deviceRecord.getSampleCode(); |
| | | message += "\n"; |
| | | } |
| | | message += "\n请å»å¡«å设å¤ä½¿ç¨è®°å½"; |
| | | |
| | | //åéä¼ä¸å¾®ä¿¡æ¶æ¯éç¥ |
| | | try { |
| | | WxCpUtils.inform(user.getAccount(), message, null); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | |
| | | }); |
| | | }); |
| | | |
| | | |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.device.mapper.DeviceAcceptanceMapper"> |
| | | |
| | | <!-- 设å¤éªæ¶å表 --> |
| | | <select id="pageDeviceAcceptance" resultType="com.ruoyi.device.pojo.DeviceAcceptance"> |
| | | select * from ( |
| | | select * |
| | | from device_acceptance |
| | | order by create_time desc |
| | | ) a |
| | | <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> |
| | | ${ew.customSqlSegment} |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.device.mapper.DeviceAccidentReportMapper"> |
| | | |
| | | <!-- 设å¤äºæ
æ¥åå表 --> |
| | | <select id="pageDeviceAccidentReport" resultType="com.ruoyi.device.pojo.DeviceAccidentReport"> |
| | | select * from ( |
| | | select * |
| | | from device_accident_report |
| | | order by create_time desc |
| | | ) a |
| | | <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> |
| | | ${ew.customSqlSegment} |
| | | </if> |
| | | </select> |
| | | <select id="selectDeviceAccidentReportById" resultType="com.ruoyi.device.dto.DeviceAccidentReportDto"> |
| | | select |
| | | d.*, |
| | | date_format(d.accident_date,'%Y-%m-%d') accidentDateStr, -- æ¶é´ |
| | | date_format(d.report_date,'%Y-%m-%d') reportDateStr, -- æ¥åäººå¡«åæ¶é´ |
| | | date_format(d.assessor_date,'%Y-%m-%d') assessorDateStr, -- è¯ä¼°äººå¡«åæ¶é´ |
| | | date_format(d.department_head_date,'%Y-%m-%d') departmentHeadDateStr, -- é¨é¨è´è´£äººå¡«åæ¶é´ |
| | | date_format(d.technical_director_date,'%Y-%m-%d') technicalDirectorDateStr, -- ææ¯è´è´£äººå¡«åæ¶é´ |
| | | date_format(d.director_head_date,'%Y-%m-%d') directorHeadDateStr -- ä¸»ä»»å¡«åæ¶é´ |
| | | from device_accident_report d |
| | | where d.accident_report_id = #{accidentReportId} |
| | | </select> |
| | | |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.device.mapper.DeviceBorrowMapper"> |
| | | |
| | | <select id="deviceBorrowPage" resultType="com.ruoyi.device.pojo.DeviceBorrow"> |
| | | select * from ( |
| | | select db.*,device_name |
| | | from device_borrow db |
| | | left join `center-lims`.device on db.device_id=device.id |
| | | )a |
| | | <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> |
| | | ${ew.customSqlSegment} |
| | | </if> |
| | | </select> |
| | | <select id="getDeviceBorrowBydeviceId" resultType="com.ruoyi.device.pojo.DeviceBorrow"> |
| | | select db.*,device_name |
| | | from device_borrow db |
| | | left join `center-lims`.device on db.device_id=device.id |
| | | where device_id=#{deviceId} |
| | | </select> |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.device.mapper.DeviceBreakdownMaintenanceMapper"> |
| | | |
| | | <!--è®¾å¤æ
éç»´ä¿®å表--> |
| | | <select id="pageDeviceBreakdownMaintenance" resultType="com.ruoyi.device.dto.DeviceBreakdownMaintenance"> |
| | | select * from ( |
| | | select * |
| | | from device_breakdown_maintenance |
| | | order by create_time desc |
| | | ) a |
| | | <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> |
| | | ${ew.customSqlSegment} |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.device.mapper.DeviceInspectionRecordMapper"> |
| | | |
| | | |
| | | <select id="selectDeviceParameterPage" resultType="com.ruoyi.device.pojo.DeviceInspectionRecord"> |
| | | SELECT |
| | | * |
| | | from device_inspection_record |
| | | <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> |
| | | ${ew.customSqlSegment} |
| | | </if> |
| | | </select> |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.device.mapper.DeviceScrappedMapper"> |
| | | |
| | | <!-- è®¾å¤æ¥åºç³è¯·å表 --> |
| | | <select id="pageDeviceScrapped" resultType="com.ruoyi.device.pojo.DeviceScrapped"> |
| | | select * from ( |
| | | select * |
| | | from device_scrapped |
| | | order by create_time desc |
| | | ) a |
| | | <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> |
| | | ${ew.customSqlSegment} |
| | | </if> |
| | | </select> |
| | | <select id="selectDeviceScrappedById" resultType="com.ruoyi.device.dto.DeviceScrappedDto"> |
| | | select |
| | | *, |
| | | date_format(applicant_date,'%Yå¹´%mæ%dæ¥') as applicantDateStr, |
| | | date_format(department_head_date,'%Yå¹´%mæ%dæ¥') as departmentHeadDateStr, |
| | | date_format(metering_room_date,'%Yå¹´%mæ%dæ¥') as meteringRoomDateStr, |
| | | date_format(approver_date,'%Yå¹´%mæ%dæ¥') as approverDateStr |
| | | from device_scrapped |
| | | where scrapped_id = #{scrappedId} |
| | | </select> |
| | | |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.device.mapper.DeviceStateMapper"> |
| | | |
| | | |
| | | <select id="getDeviceStatePage" resultType="com.ruoyi.device.dto.DeviceStateDto"> |
| | | select ds.*, |
| | | d.device_name, |
| | | d.management_number, |
| | | d.specification_model, |
| | | d.large_category |
| | | from device_state ds |
| | | left join device d on d.id = ds.device_id |
| | | where ds.device_id = #{deviceId} |
| | | <if test="processNumber != '' and processNumber != null"> |
| | | and ds.process_number like concat('%', #{processNumber}, '%') |
| | | </if> |
| | | </select> |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.device.mapper.InstructionMapper"> |
| | | |
| | | |
| | | <select id="pageByPageQueryOfHomeworkInstructions" resultType="com.ruoyi.device.pojo.DeviceInstruction"> |
| | | SELECT |
| | | doi.*,di.*,d.device_name, d.management_number device_number, d.specification_model device_model, u.name uploader_name, u1.name approver_name |
| | | FROM |
| | | device_operation_instruction doi |
| | | LEFT JOIN device_instruction di ON di.id = doi.instruction_id |
| | | left join device d on d.id = doi.device_id |
| | | left join user u on u.id = doi.uploader |
| | | left join user u1 on u1.id = doi.approver_id |
| | | <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> |
| | | ${ew.customSqlSegment} |
| | | </if> |
| | | </select> |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.device.mapper.OperationInstructionMapper"> |
| | | |
| | | <select id="homeworkGuidebookEditor" resultType="com.ruoyi.device.dto.DeviceOperationInstructionDto"> |
| | | SELECT |
| | | doi.*,d.device_name, d.management_number device_number, d.specification_model device_model |
| | | FROM |
| | | device_operation_instruction doi |
| | | left join device d on d.id = doi.device_id |
| | | where doi.instruction_id = #{instructionId} |
| | | </select> |
| | | </mapper> |
| | |
| | | */ |
| | | |
| | | @ApiOperation(value = "å®¢æ·æ»¡æåº¦è°æ¥æ°å¢") |
| | | @GetMapping("/delClientSatisfaction") |
| | | @DeleteMapping("/delClientSatisfaction") |
| | | public Result updateClientSatisfaction(Integer clientSatisfactionId){ |
| | | return Result.success(clientSatisfactionService.removeById(clientSatisfactionId)); |
| | | } |
| | |
| | | */ |
| | | |
| | | @ApiOperation(value = "å 餿·åæéä»¶") |
| | | @GetMapping("/delAnalyseFile") |
| | | @DeleteMapping("/delAnalyseFile") |
| | | public Result delAnalyseFile(Integer analyseFileId){ |
| | | return Result.success(clientSatisfactionAnalyseFileMapper.deleteById(analyseFileId)); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project xmlns="http://maven.apache.org/POM/4.0.0" |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| | | <modelVersion>4.0.0</modelVersion> |
| | | <parent> |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>ruoyi</artifactId> |
| | | <version>3.8.9</version> |
| | | </parent> |
| | | |
| | | <artifactId>cnas-personnel</artifactId> |
| | | |
| | | <dependencies> |
| | | <!-- éç¨å·¥å
·--> |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>ruoyi-common</artifactId> |
| | | </dependency> |
| | | |
| | | <!-- æ ¸å¿æ¨¡å--> |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>ruoyi-framework</artifactId> |
| | | </dependency> |
| | | |
| | | <!-- ç³»ç»æ¨¡å--> |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>ruoyi-system</artifactId> |
| | | </dependency> |
| | | |
| | | <!-- ç³»ç»æ¨¡å--> |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>inspect-server</artifactId> |
| | | </dependency> |
| | | </dependencies> |
| | | |
| | | <properties> |
| | | <maven.compiler.source>8</maven.compiler.source> |
| | | <maven.compiler.target>8</maven.compiler.target> |
| | | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| | | </properties> |
| | | |
| | | </project> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.core.domain.entity.DepartmentDto; |
| | | import com.ruoyi.common.utils.FileSaveUtil; |
| | | import com.ruoyi.framework.exception.ErrorException; |
| | | import com.ruoyi.personnel.dto.PersonBasicInfoDetailsDto; |
| | | import com.ruoyi.personnel.dto.PersonBasicInfoDto; |
| | | import com.ruoyi.personnel.dto.UserPageDto; |
| | | import com.ruoyi.personnel.pojo.Annex; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfoFile; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfoWork; |
| | | import com.ruoyi.personnel.service.AnnexService; |
| | | import com.ruoyi.personnel.service.PersonBasicInfoFileService; |
| | | import com.ruoyi.personnel.service.PersonBasicInfoService; |
| | | import com.ruoyi.personnel.service.PersonBasicInfoWorkService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-08-30 09:19:57 |
| | | */ |
| | | @Api(tags = "人å-人ååºæ¬ä¿¡æ¯") |
| | | @RestController |
| | | @RequestMapping("/personBasicInfo") |
| | | public class PersonBasicInfoController { |
| | | |
| | | @Resource |
| | | private PersonBasicInfoService personBasicInfoService; |
| | | |
| | | @Resource |
| | | private PersonBasicInfoFileService personBasicInfoFileService; |
| | | @Resource |
| | | private PersonBasicInfoWorkService personBasicInfoWorkService; |
| | | |
| | | @Resource |
| | | private AnnexService annexService; |
| | | |
| | | |
| | | @ApiOperation(value = "æ¥è¯¢CNAS人åä¾§è¾¹æ ") |
| | | @GetMapping("/selectCNSAPersonTree") |
| | | public Result<List<DepartmentDto>> selectCNSAPersonTree() { |
| | | return Result.success(personBasicInfoService.selectCNSAPersonTree()); |
| | | } |
| | | |
| | | @ApiOperation(value = "è·åCNAS人ååºæ¬ä¿¡æ¯") |
| | | @GetMapping("/getCNASPersonnelInfo") |
| | | public Result getCNASPersonnelInfo(Integer userId) { |
| | | return Result.success(personBasicInfoService.getCNASPersonnelInfo(userId)); |
| | | } |
| | | |
| | | @ApiOperation(value = "ä¿åCNAS人ååºæ¬ä¿¡æ¯") |
| | | @PostMapping("/saveCNASPersonnelInfo") |
| | | public Result saveCNASPersonnelInfo(@RequestBody PersonBasicInfoDto personBasicInfoDto) { |
| | | personBasicInfoService.saveCNASPersonnelInfo(personBasicInfoDto); |
| | | return Result.success(); |
| | | } |
| | | |
| | | @ApiOperation(value = "人åæç»å页æ¥è¯¢") |
| | | @GetMapping("basicInformationOfPersonnelSelectPage") |
| | | public Result<IPage<Map<String, Object>>> basicInformationOfPersonnelSelectPage(Page<List<PersonBasicInfoDetailsDto>> page, String name, Integer departmentId) { |
| | | return Result.success(personBasicInfoService.basicInformationOfPersonnelSelectPage(page, name, departmentId)); |
| | | } |
| | | |
| | | // ä¸ä¼ æä»¶æ¥å£ |
| | | @ApiOperation(value = "ä¸ä¼ æä»¶æ¥å£") |
| | | @PostMapping("/saveCNASFile") |
| | | public Result saveFile(@RequestPart("file") MultipartFile file) { |
| | | String s = FileSaveUtil.uploadWordFile(file); |
| | | return Result.success("ä¸ä¼ æå", s); |
| | | } |
| | | |
| | | @GetMapping("/getAnnexByUserId") |
| | | public Result<List<Annex>> getAnnexByUserId(Integer userId) { |
| | | List<Annex> list = annexService.list(new LambdaQueryWrapper<Annex>().eq(Annex::getUserId, userId)); |
| | | return Result.success(list); |
| | | } |
| | | |
| | | // å 餿件 |
| | | @DeleteMapping("/deleteCNASFile") |
| | | public Result saveFile(String fileName) { |
| | | String[] split = fileName.split(","); |
| | | for (String s : split) { |
| | | FileSaveUtil.DeleteFile(s); |
| | | } |
| | | return Result.success(); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 人ååºæ¬ä¿¡æ¯éä»¶æ°å¢ |
| | | */ |
| | | @PostMapping("/addAnnex") |
| | | public Result addAnnex(@RequestBody Annex annex) { |
| | | annexService.save(annex); |
| | | return Result.success(); |
| | | } |
| | | |
| | | @GetMapping("/getAnnex") |
| | | public Result<Annex> getAnnex(Integer id) { |
| | | return Result.success(annexService.getById(id)); |
| | | } |
| | | /** |
| | | * 人ååºæ¬ä¿¡æ¯éä»¶å é¤ |
| | | */ |
| | | @DeleteMapping("/deleteAnnex") |
| | | public Result deleteAnnex(Integer id) { |
| | | annexService.removeById(id); |
| | | return Result.success(); |
| | | } |
| | | |
| | | /** |
| | | * 人ååºæ¬ä¿¡æ¯éä»¶ä¿®æ¹ |
| | | * |
| | | */ |
| | | @PostMapping("/updateAnnex") |
| | | public Result updateAnnex(@RequestBody Annex annex) { |
| | | annexService.updateById(annex); |
| | | return Result.success(); |
| | | } |
| | | |
| | | @ApiOperation(value = "导åºäººååºæ¬ä¿¡æ¯") |
| | | @GetMapping("/exportPersonBasicInfo") |
| | | public void exportPersonBasicInfo(UserPageDto userPageDto, HttpServletResponse response) throws Exception { |
| | | personBasicInfoService.exportPersonBasicInfo(userPageDto,response); |
| | | } |
| | | |
| | | @ApiOperation(value = "ä¸è½½äººåæ¡£æ¡å¡") |
| | | @GetMapping("/exportPersonBasicInfoById") |
| | | public Result exportPersonBasicInfoById(Integer id, HttpServletResponse response) { |
| | | return Result.success(personBasicInfoService.exportPersonBasicInfoById(id,response)); |
| | | } |
| | | |
| | | /** |
| | | * 人åå¹è®åºæ¬ä¿¡æ¯éä»¶æ°å¢ |
| | | * @param userId |
| | | * @param file |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "人åå¹è®åºæ¬ä¿¡æ¯éä»¶æ°å¢") |
| | | @PostMapping("/uploadBasicInfoFile") |
| | | public Result<?> uploadBasicInfoFile(Integer userId, MultipartFile file) { |
| | | return Result.success(personBasicInfoService.uploadBasicInfoFile(userId, file)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 人åå¹è®åºæ¬ä¿¡æ¯éä»¶å表 |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "人åå¹è®åºæ¬ä¿¡æ¯éä»¶å表") |
| | | @GetMapping("/getBasicInfoFileList") |
| | | public Result<List<PersonBasicInfoFile>> getBasicInfoFileList(Integer userId){ |
| | | return Result.success(personBasicInfoFileService.list(Wrappers.<PersonBasicInfoFile>lambdaQuery() |
| | | .eq(PersonBasicInfoFile::getUserId, userId))); |
| | | } |
| | | |
| | | /** |
| | | * 人åå¹è®åºæ¬ä¿¡æ¯éä»¶å é¤ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "人åå¹è®åºæ¬ä¿¡æ¯éä»¶å é¤") |
| | | @GetMapping("/delBasicInfoFileList") |
| | | public Result delBasicInfoFileList(Integer basicInfoFileId){ |
| | | return Result.success(personBasicInfoFileService.removeById(basicInfoFileId)); |
| | | } |
| | | |
| | | /** |
| | | * 人åå¹è®åºæ¬ä¿¡æ¯å·¥ä½ç»åæ°å¢ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "人åå¹è®åºæ¬ä¿¡æ¯å·¥ä½ç»åæ°å¢") |
| | | @PostMapping("/addBasicInfoWork") |
| | | public Result<?> addBasicInfoWork(@RequestBody PersonBasicInfoWork basicInfoWork) { |
| | | if (basicInfoWork.getUserId() == null) { |
| | | throw new ErrorException("缺å°äººåid"); |
| | | } |
| | | basicInfoWork.setUserId(basicInfoWork.getUserId()); |
| | | return Result.success(personBasicInfoWorkService.save(basicInfoWork)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 人åå·¥ä½ç»åå表 |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "人åå·¥ä½ç»åå表") |
| | | @GetMapping("/getBasicInfoWorkList") |
| | | public Result<List<PersonBasicInfoWork>> getBasicInfoWorkList(Integer userId){ |
| | | return Result.success(personBasicInfoWorkService.list(Wrappers.<PersonBasicInfoWork>lambdaQuery() |
| | | .eq(PersonBasicInfoWork::getUserId, userId))); |
| | | } |
| | | |
| | | /** |
| | | * 人åå·¥ä½ç»åå é¤ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "人åå·¥ä½ç»åå é¤") |
| | | @GetMapping("/delBasicInfoWorkList") |
| | | public Result delBasicInfoWorkList(Integer basicInfoWorkId){ |
| | | return Result.success(personBasicInfoWorkService.removeById(basicInfoWorkId)); |
| | | } |
| | | |
| | | /** |
| | | * 人ååºæ¬ä¿¡æ¯éä»¶å é¤ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "人åå·¥ä½ç»åä¿®æ¹") |
| | | @PostMapping("/updateBasicInfoWorkList") |
| | | public Result updateBasicInfoWorkList(@RequestBody PersonBasicInfoWork basicInfoWork){ |
| | | return Result.success(personBasicInfoWorkService.updateById(basicInfoWork)); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.PersonCommunicationAbilityDto; |
| | | import com.ruoyi.personnel.pojo.PersonCommunicationAbility; |
| | | import com.ruoyi.personnel.service.PersonCommunicationAbilityService; |
| | | 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 12:00:57 |
| | | */ |
| | | @Api(tags = "人å - æ²éè®°å½") |
| | | @RestController |
| | | @RequestMapping("/personCommunicationAbility") |
| | | public class PersonCommunicationAbilityController { |
| | | |
| | | @Autowired |
| | | private PersonCommunicationAbilityService personCommunicationAbilityService; |
| | | |
| | | @ApiOperation(value = "æ°å¢/æ´æ° æ²éè®°å½") |
| | | @PostMapping("addOrUpdatePersonCommunicationAbility") |
| | | public Result<?> addOrUpdatePersonCommunicationAbility(@RequestBody PersonCommunicationAbility personCommunicationAbility) { |
| | | personCommunicationAbilityService.saveOrUpdate(personCommunicationAbility); |
| | | return Result.success(); |
| | | } |
| | | |
| | | @ApiOperation(value = "å é¤ æ²éè®°å½") |
| | | @DeleteMapping("deletePersonCommunicationAbility") |
| | | public Result<?> deletePersonCommunicationAbility(@RequestParam("id") Integer id) { |
| | | personCommunicationAbilityService.removeById(id); |
| | | return Result.success(); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "æ¥è¯¢ æ²éè®°å½") |
| | | @GetMapping("personPersonCommunicationAbilityPage") |
| | | public Result<IPage<PersonCommunicationAbilityDto>> personPersonCommunicationAbilityPage(Page page, |
| | | Integer departLimsId, |
| | | Integer userId, |
| | | String userName) { |
| | | return Result.success(personCommunicationAbilityService.personPersonCommunicationAbilityPage(page, departLimsId, userId, userName)); |
| | | } |
| | | |
| | | @ApiOperation(value = "å¯¼åºæ²éè®°å½") |
| | | @PostMapping("exportPersonCommunicationAbility") |
| | | public void exportPersonCommunicationAbility(Integer id, HttpServletResponse response) throws Exception{ |
| | | personCommunicationAbilityService.exportPersonCommunicationAbility(id,response); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.personnel.dto.PersonPersonnelCapacityDto; |
| | | import com.ruoyi.personnel.pojo.PersonPersonnelCapacity; |
| | | import com.ruoyi.personnel.service.PersonPersonnelCapacityService; |
| | | 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 = SecurityUtils.getUserId().intValue(); |
| | | personPersonnelCapacityService.update(Wrappers.<PersonPersonnelCapacity>lambdaUpdate() |
| | | .eq(PersonPersonnelCapacity::getId, id) |
| | | .set(PersonPersonnelCapacity::getConfirmOperatingPersonnelId, userId) |
| | | .set(PersonPersonnelCapacity::getConfirmDate, LocalDateTime.now())); |
| | | return Result.success(); |
| | | } |
| | | |
| | | /** |
| | | * 导åºäººåè½å |
| | | * @return |
| | | */ |
| | | @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(); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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"); |
| | | // 设置åå
æ ¼æ ·å¼ |
| | | // ä¿åå°ç¬¬ä¸ä¸ªsheetä¸ |
| | | EasyExcel.write(response.getOutputStream()) |
| | | .head(PersonRewardPunishmentRecordExcel.class) |
| | | .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // èªéåºå宽 |
| | | .sheet() |
| | | .doWrite(data); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.Result; |
| | | import com.ruoyi.common.numgen.NumberGenerator; |
| | | import com.ruoyi.personnel.dto.PersonTrainingDetailedDto; |
| | | import com.ruoyi.personnel.dto.PersonTrainingDto; |
| | | import com.ruoyi.personnel.dto.PersonTrainingRecordDto; |
| | | import com.ruoyi.personnel.dto.PersonTrainingRecordSubmitDto; |
| | | import com.ruoyi.personnel.mapper.PersonTrainingDetailedFileMapper; |
| | | import com.ruoyi.personnel.pojo.PersonTraining; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingDetailed; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingDetailedFile; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingRecord; |
| | | import com.ruoyi.personnel.service.PersonTrainingDetailedService; |
| | | import com.ruoyi.personnel.service.PersonTrainingRecordService; |
| | | import com.ruoyi.personnel.service.PersonTrainingService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å¹è®è®¡å å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-11 01:11:49 |
| | | */ |
| | | @Api(tags = "人å - å¹è®è®¡å") |
| | | @RestController |
| | | @RequestMapping("/personTraining") |
| | | public class PersonTrainingController { |
| | | |
| | | @Autowired |
| | | private PersonTrainingService personTrainingService; |
| | | |
| | | @Autowired |
| | | private PersonTrainingDetailedService personTrainingDetailedService; |
| | | |
| | | @Autowired |
| | | private PersonTrainingRecordService personTrainingRecordService; |
| | | |
| | | @Autowired |
| | | private PersonTrainingDetailedFileMapper personTrainingDetailedFileMapper; |
| | | |
| | | @Autowired |
| | | private NumberGenerator<PersonTrainingDetailed> numberGenerator; |
| | | |
| | | @ApiOperation(value = "å¹è®è®¡å 导å
¥") |
| | | @PostMapping("personTrainingImport") |
| | | public Result<?> personTrainingImport(@RequestPart("file") MultipartFile file, PersonTraining training) { |
| | | personTrainingService.personTrainingImport(file, training); |
| | | return Result.success(); |
| | | } |
| | | |
| | | @ApiOperation(value = "å¹è®è®¡å å é¤") |
| | | @DeleteMapping("personTrainingDelete") |
| | | public Result<?> personTrainingDelete(@RequestParam("id") Integer id) { |
| | | personTrainingService.personTrainingDelete(id); |
| | | return Result.success(); |
| | | } |
| | | |
| | | @ApiOperation(value = "å¹è®è®¡å æ¥è¯¢") |
| | | @GetMapping("personTrainingSelect") |
| | | public Result<IPage<PersonTrainingDto>> personTrainingSelect(Page page, String compilerName, String departmentId) { |
| | | IPage<PersonTrainingDto> iPage = personTrainingService.personTrainingSelect(page, compilerName, departmentId); |
| | | return Result.success(iPage); |
| | | } |
| | | |
| | | @ApiOperation(value = "年度å¹è®è®¡å å®¡æ ¸") |
| | | @PostMapping("reviewAnnualPersonnelTraining") |
| | | public Result<?> reviewAnnualPersonnelTraining(@RequestBody PersonTraining training) { |
| | | personTrainingService.reviewAnnualPersonnelTraining(training); |
| | | return Result.success(); |
| | | } |
| | | |
| | | @ApiOperation(value = "å¹è®è®¡å æ¹å") |
| | | @PostMapping("approveAnnualPersonnelTraining") |
| | | public Result<?> approveAnnualPersonnelTraining(@RequestBody PersonTraining training) { |
| | | personTrainingService.approveAnnualPersonnelTraining(training); |
| | | return Result.success(); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "年度计åæç»è¡¨ æ°å¢/ç¼è¾") |
| | | @PostMapping("addOrUpdatePersonTrainingDetailed") |
| | | public Result<?> addOrUpdatePersonTrainingDetailed(@RequestBody PersonTrainingDetailed personTrainingDetailed) { |
| | | if (ObjectUtils.isEmpty(personTrainingDetailed.getId())) { |
| | | personTrainingDetailed.setState(3); |
| | | } |
| | | personTrainingDetailedService.saveOrUpdate(personTrainingDetailed); |
| | | return Result.success(); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "年度计åæç»è¡¨ æ¹éå é¤") |
| | | @DeleteMapping("deleteAnnualPlanDetailTable") |
| | | public Result<?> deleteAnnualPlanDetailTable(String ids) { |
| | | personTrainingDetailedService.deleteAnnualPlanDetailTable(ids); |
| | | return Result.success(); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "年度计åæç»è¡¨ æ¥è¯¢") |
| | | @GetMapping("queryTheAnnualPlanDetailsTable") |
| | | public Result<IPage<PersonTrainingDetailedDto>> queryTheAnnualPlanDetailsTable(Page page, |
| | | String trainingLecturerName, String courseCode, |
| | | String trainingDate, Integer id, Integer userId) { |
| | | IPage<PersonTrainingDetailedDto> iPage = personTrainingDetailedService.queryTheAnnualPlanDetailsTable(page, |
| | | trainingLecturerName, courseCode, trainingDate, id, userId); |
| | | return Result.success(iPage); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "å¹è®ä¸èæ ¸è®°å½ æ¥è¯¢") |
| | | @GetMapping("trainingAndAssessmentRecordsPage") |
| | | public Result<List<PersonTrainingRecordDto>> trainingAndAssessmentRecordsPage(Integer trainingDetailedId, |
| | | String userName) { |
| | | List<PersonTrainingRecordDto> list = personTrainingRecordService.trainingAndAssessmentRecordsPage(trainingDetailedId, userName); |
| | | return Result.success(list); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "å¹è®ä¸èæ ¸è®°å½ æ°å¢äººå") |
| | | @PostMapping("newPersonnelAddedToTrainingRecords") |
| | | public Result<?> newPersonnelAddedToTrainingRecords(@RequestBody List<PersonTrainingRecord> personTrainingRecord) { |
| | | personTrainingRecordService.saveBatch(personTrainingRecord); |
| | | return Result.success(); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "å¹è®ä¸èæ ¸è®°å½ è®¤é¢") |
| | | @PostMapping("claimOfTrainingAndAssessmentRecords") |
| | | public Result<?> claimOfTrainingAndAssessmentRecords(@RequestParam("claimAndClaim") Boolean claimAndClaim, |
| | | @RequestParam("courseId") Integer courseId) { |
| | | personTrainingRecordService.claimOfTrainingAndAssessmentRecords(claimAndClaim, courseId); |
| | | return Result.success(); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "å¹è®ä¸èæ ¸è®°å½ æäº¤/æ¤é") |
| | | @PostMapping("trainingAndAssessmentRecordsAdded") |
| | | public Result<?> trainingAndAssessmentRecordsAdded(@RequestBody PersonTrainingRecordSubmitDto personTrainingRecordSubmitDto) { |
| | | personTrainingRecordService.trainingAndAssessmentRecordsAdded(personTrainingRecordSubmitDto); |
| | | return Result.success(); |
| | | } |
| | | |
| | | @ApiOperation(value = "å¹è®ä¸èæ ¸è®°å½ è¯ä»·") |
| | | @PostMapping("trainingAndAssessmentRecordsEvaluate") |
| | | public Result<?> trainingAndAssessmentRecordsEvaluate(@RequestBody PersonTrainingRecordSubmitDto personTrainingRecordSubmitDto) { |
| | | personTrainingDetailedService.update(Wrappers.<PersonTrainingDetailed>lambdaUpdate() |
| | | .eq(PersonTrainingDetailed::getId, personTrainingRecordSubmitDto.getTrainingDetailedId()) |
| | | .set(PersonTrainingDetailed::getComprehensiveAssessment, personTrainingRecordSubmitDto.getComprehensiveAssessment()) |
| | | .set(PersonTrainingDetailed::getAssessmentDate, personTrainingRecordSubmitDto.getAssessmentDate()) |
| | | .set(PersonTrainingDetailed::getState, personTrainingRecordSubmitDto.getState())); |
| | | return Result.success(); |
| | | } |
| | | |
| | | |
| | | @ApiOperation(value = "å¹è®ä¸èæ ¸è®°å½ å é¤") |
| | | @DeleteMapping("deleteTrainingAndAssessmentRecords") |
| | | public Result<?> deleteTrainingAndAssessmentRecords(String ids) { |
| | | personTrainingRecordService.deleteTrainingAndAssessmentRecords(ids); |
| | | return Result.success(); |
| | | } |
| | | |
| | | @PostMapping("outOfFocusPreservation") |
| | | public Result<?> outOfFocusPreservation(@RequestBody PersonTrainingRecord personTrainingRecord) { |
| | | personTrainingRecordService.updateById(personTrainingRecord); |
| | | return Result.success(); |
| | | } |
| | | |
| | | /** |
| | | * 导åºäººåå¹è®è®¡å |
| | | * @return |
| | | */ |
| | | |
| | | @ApiOperation(value = "导åºäººåå¹è®è®¡å") |
| | | @GetMapping("/exportPersonTraining") |
| | | public void exportPersonTraining(Integer id, HttpServletResponse response){ |
| | | personTrainingService.exportPersonTraining(id, response); |
| | | } |
| | | |
| | | /** |
| | | * 导åºäººåå¹è®ä¸èæ ¸è®°å½ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "导åºäººåå¹è®ä¸èæ ¸è®°å½") |
| | | @GetMapping("/exportPersonTrainingRecord") |
| | | public void exportPersonTrainingRecord(Integer id, HttpServletResponse response){ |
| | | personTrainingService.exportPersonTrainingRecord(id, response); |
| | | } |
| | | |
| | | /** |
| | | * 人åå¹è®è¯¦æ
éä»¶æ°å¢ |
| | | * @param trainingDetailedId |
| | | * @param file |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "人åå¹è®è¯¦æ
éä»¶æ°å¢") |
| | | @PostMapping("/uploadTrainingDetailedFile") |
| | | public Result<?> uploadTrainingDetailedFile(Integer trainingDetailedId, MultipartFile file) { |
| | | return Result.success(personTrainingService.uploadTrainingDetailedFile(trainingDetailedId, file)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 人åå¹è®è¯¦æ
éä»¶å表 |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "人åå¹è®è¯¦æ
éä»¶å表") |
| | | @GetMapping("/getTrainingDetailedFileList") |
| | | public Result<List<PersonTrainingDetailedFile>> getTrainingDetailedFileList(Integer trainingDetailedId){ |
| | | return Result.success(personTrainingDetailedFileMapper.selectList(Wrappers.<PersonTrainingDetailedFile>lambdaQuery() |
| | | .eq(PersonTrainingDetailedFile::getTrainingDetailedId, trainingDetailedId))); |
| | | } |
| | | |
| | | /** |
| | | * 人åå¹è®è¯¦æ
éä»¶å é¤ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "人åå¹è®è¯¦æ
éä»¶å é¤") |
| | | @DeleteMapping("/delTrainingDetailedFileList") |
| | | public Result delTrainingDetailedFileList(Integer detailedFileId){ |
| | | return Result.success(personTrainingDetailedFileMapper.deleteById(detailedFileId)); |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢ä»å¹´äººåå¹è®ä¿¡æ¯ |
| | | * @return |
| | | */ |
| | | @ApiOperation(value = "æ¥è¯¢ä»å¹´äººåå¹è®ä¿¡æ¯") |
| | | @GetMapping("/getThisYearTrainingDetailed") |
| | | public Result<List<PersonTrainingDetailed>> getThisYearTrainingDetailed(){ |
| | | return Result.success(personTrainingService.getThisYearTrainingDetailed()); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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);// æ°å¢æ ¹æ®å¹´ä»½æ¥è¯¢ |
| | | |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.time.LocalDateTime; |
| | | |
| | | /** |
| | | * Author: yuan |
| | | * Date: 2024-12-13 ææäº 13:52:52 |
| | | * Description: |
| | | */ |
| | | @Data |
| | | public class PersonBasicInfoDetailsDto { |
| | | |
| | | @ApiModelProperty("ç¨æ·id") |
| | | private Integer userId; |
| | | |
| | | @ApiModelProperty("ç¨æ·å§å") |
| | | private String name; |
| | | |
| | | @ApiModelProperty("å
¥èæ¶é´") |
| | | private String entryTimeStr; |
| | | |
| | | @ApiModelProperty("å®é
å®ä¹ ç»æ") |
| | | private String endPracticalPracticeStr; |
| | | |
| | | @ApiModelProperty("ç±è´¯") |
| | | private String nativePlace; |
| | | |
| | | @ApiModelProperty("身份è¯å·") |
| | | private String identityCard; |
| | | |
| | | @ApiModelProperty("身份è¯å°å") |
| | | private String idAddress; |
| | | |
| | | @ApiModelProperty("ç¨æ·ææºå·") |
| | | private String phone; |
| | | |
| | | @ApiModelProperty("æ¯ä¸é¢æ ¡") |
| | | private String graduatedInstitutions1; |
| | | |
| | | @ApiModelProperty("ä¸ä¸") |
| | | private String major1; |
| | | |
| | | @ApiModelProperty("æ¯ä¸æ¶é´1") |
| | | private LocalDateTime graduationTime1; |
| | | |
| | | @ApiModelProperty("æé«å¦å") |
| | | private String officialAcademicRedentials; |
| | | |
| | | @ApiModelProperty("æé«å¦ä½") |
| | | private String highestDegree; |
| | | |
| | | @ApiModelProperty("èç§°") |
| | | private String professionalTitle; |
| | | |
| | | // èä¸è½å |
| | | |
| | | @ApiModelProperty("ç´§æ¥è系人") |
| | | private String emergencyContact; |
| | | |
| | | @ApiModelProperty("ç´§æ¥è系人çµè¯") |
| | | private String emergencyContactPhone; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.fasterxml.jackson.annotation.JsonIgnoreProperties; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfo; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | @JsonIgnoreProperties(ignoreUnknown = true) |
| | | @ExcelIgnoreUnannotated |
| | | public class PersonBasicInfoDto extends PersonBasicInfo { |
| | | @ApiModelProperty(value = "è´¦å·") |
| | | @ExcelProperty("åå·¥ç¼å·") |
| | | private String account; |
| | | |
| | | @ApiModelProperty(value = "å§å") |
| | | @ExcelProperty("å§å") |
| | | private String name; |
| | | |
| | | @ApiModelProperty(value = "å§å(è±æ)") |
| | | private String nameEn; |
| | | |
| | | @ApiModelProperty(value = "å¹´é¾") |
| | | private Integer age; |
| | | |
| | | @ApiModelProperty(value = "çµè¯å·ç ") |
| | | @ExcelProperty("ææºå·") |
| | | private String phone; |
| | | |
| | | @ApiModelProperty(value = "é®ç®±") |
| | | private String email; |
| | | |
| | | @ApiModelProperty(value = "é¨é¨") |
| | | private String department; |
| | | |
| | | @ApiModelProperty(value = "limsç»ç»æ¶æ") |
| | | private String departLimsId; |
| | | |
| | | @ApiModelProperty(value = "ç¾åç
§çå°å") |
| | | private String signatureUrl; |
| | | |
| | | @ApiModelProperty(value = "èªèº«ç
§çå°å") |
| | | private String pictureUrl; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfoWork; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @Author zhuo |
| | | * @Date 2025/1/14 |
| | | */ |
| | | @Data |
| | | public class PersonBasicInfoWorkDto extends PersonBasicInfoWork { |
| | | |
| | | @ApiModelProperty("å¡«å
使ç¨") |
| | | private String fill; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import com.ruoyi.personnel.pojo.PersonCommunicationAbility; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class PersonCommunicationAbilityDto extends PersonCommunicationAbility { |
| | | |
| | | private String userName; |
| | | |
| | | private String account; |
| | | |
| | | private String createUserName; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import com.ruoyi.personnel.pojo.PersonPersonnelCapacity; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class PersonPersonnelCapacityDto extends PersonPersonnelCapacity { |
| | | |
| | | @ApiModelProperty("æä½äººå§å") |
| | | private String confirmOperatingPersonnelName; |
| | | |
| | | @ApiModelProperty("人åå§å") |
| | | private String userName; |
| | | |
| | | @ApiModelProperty("å²ä½åç§°") |
| | | private String postName; |
| | | |
| | | @ApiModelProperty("å²ä½èè´£") |
| | | private String responsibilities; |
| | | |
| | | @ApiModelProperty("å·¥ä½ç»å") |
| | | private String placeWork; |
| | | |
| | | @ApiModelProperty("ä¸ä¸") |
| | | private String major; |
| | | |
| | | @ApiModelProperty(value = "èç§°") |
| | | private String professionalTitle; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import com.ruoyi.personnel.pojo.PersonPersonnelCapacity; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @Author zhuo |
| | | * @Date 2024/11/28 |
| | | */ |
| | | @Data |
| | | public class PersonPersonnelCapacityExportDto extends PersonPersonnelCapacity { |
| | | |
| | | @ApiModelProperty("å²ä½åç§°") |
| | | private String postName; |
| | | |
| | | @ApiModelProperty("人åå§å") |
| | | private String userName; |
| | | |
| | | @ApiModelProperty("å¦å") |
| | | private String officialAcademicRedentials; |
| | | |
| | | @ApiModelProperty("ä¸ä¸") |
| | | private String major; |
| | | |
| | | @ApiModelProperty("èç§°") |
| | | private String professionalTitle; |
| | | |
| | | @ApiModelProperty("å·¥ä½ç»å") |
| | | private String placeWork; |
| | | |
| | | @ApiModelProperty("å¦å 符åä¸å¦(1ï¼ç¬¦å)") |
| | | private String academicConformNot1 = "â¡"; |
| | | @ApiModelProperty("å¦å 符åä¸å¦(2ï¼ä¸ç¬¦å)") |
| | | private String academicConformNot2 = "â¡"; |
| | | @ApiModelProperty("å¦å 符åä¸å¦(3ï¼ä¸éç¨)") |
| | | private String academicConformNot3 = "â¡"; |
| | | |
| | | @ApiModelProperty("ç¸å
³å¹´é 符åä¸å¦(1ï¼ç¬¦å)") |
| | | private String relatedYearsConformNot1 = "â¡"; |
| | | @ApiModelProperty("ç¸å
³å¹´é 符åä¸å¦(2ï¼ä¸ç¬¦å)") |
| | | private String relatedYearsConformNot2 = "â¡"; |
| | | @ApiModelProperty("ç¸å
³å¹´é 符åä¸å¦(3ï¼ä¸éç¨)") |
| | | private String relatedYearsConformNot3 = "â¡"; |
| | | |
| | | @ApiModelProperty("ç¸å
³å¹è® 符åä¸å¦(1ï¼ç¬¦å)") |
| | | private String relatedTrainingConformNot1 = "â¡"; |
| | | @ApiModelProperty("ç¸å
³å¹è® 符åä¸å¦(2ï¼ä¸ç¬¦å)") |
| | | private String relatedTrainingConformNot2 = "â¡"; |
| | | @ApiModelProperty("ç¸å
³å¹è® 符åä¸å¦(3ï¼ä¸éç¨)") |
| | | private String relatedTrainingConformNot3 = "â¡"; |
| | | |
| | | @ApiModelProperty("ç¸å
³ç»éª 符åä¸å¦(1ï¼ç¬¦å)") |
| | | private String relevantExperienceConformNot1 = "â¡"; |
| | | @ApiModelProperty("ç¸å
³ç»éª 符åä¸å¦(2ï¼ä¸ç¬¦å)") |
| | | private String relevantExperienceConformNot2 = "â¡"; |
| | | @ApiModelProperty("ç¸å
³ç»éª 符åä¸å¦(3ï¼ä¸éç¨)") |
| | | private String relevantExperienceConformNot3 = "â¡"; |
| | | |
| | | @ApiModelProperty("ä¸å²è¯ 符åä¸å¦(1ï¼ç¬¦å)") |
| | | private String workLicenseConformNot1 = "â¡"; |
| | | @ApiModelProperty("ä¸å²è¯ 符åä¸å¦(2ï¼ä¸ç¬¦å)") |
| | | private String workLicenseConformNot2 = "â¡"; |
| | | @ApiModelProperty("ä¸å²è¯ 符åä¸å¦(3ï¼ä¸éç¨)") |
| | | private String workLicenseConformNot3 = "â¡"; |
| | | |
| | | @ApiModelProperty("å²ä½èè´£1(çææ¬å²ä½çäº§åæ£æµæ ·åå¶å¤åç¸å
³äº§ååºç¡ç¥è¯)") |
| | | private String jobResponsibilities1 = "â¡"; |
| | | @ApiModelProperty("å²ä½èè´£2(çææ¬å²ä½æ ·åæ£æµæµç¨)") |
| | | private String jobResponsibilities2 = "â¡"; |
| | | @ApiModelProperty("å²ä½èè´£3(æ£ç¡®çç»æä½æ¬å²ä½ä»ªè¡¨è®¾å¤)") |
| | | private String jobResponsibilities3 = "â¡"; |
| | | @ApiModelProperty("å²ä½èè´£4(çææ¬å²ä½ç¸å
³æ£æµæ å)") |
| | | private String jobResponsibilities4 = "â¡"; |
| | | @ApiModelProperty("å²ä½èè´£5(çææ¬å²ä½äº§åæ§è½åç»æå¤æãåæ)") |
| | | private String jobResponsibilities5 = "â¡"; |
| | | @ApiModelProperty("å²ä½èè´£6(宿ç¸åºçåéªã认è¯)") |
| | | private String jobResponsibilities6 = "â¡"; |
| | | @ApiModelProperty("å²ä½èè´£7(ç¼åç¸å
³æ£æµæé¡º)") |
| | | private String jobResponsibilities7 = "â¡"; |
| | | @ApiModelProperty("å²ä½èè´£8(äºè§£ä»ªå¨è®¾å¤åºæ¬ç»æä¸ç®åç»´æ¤ä¿å
»)") |
| | | private String jobResponsibilities8 = "â¡"; |
| | | @ApiModelProperty("å²ä½èè´£9(å
·å¤æè½å¹è®çè½å)") |
| | | private String jobResponsibilities9 = "â¡"; |
| | | @ApiModelProperty("å²ä½èè´£10(å
·å¤æ£æµä»ªå¨æ¹é è½å)") |
| | | private String jobResponsibilities10 = "â¡"; |
| | | |
| | | @ApiModelProperty("å²ä½èè´£ 符åä¸å¦(1ï¼ç¬¦å)") |
| | | private String jobResponsibilitiesConformNot1 = "â¡"; |
| | | @ApiModelProperty("å²ä½èè´£ 符åä¸å¦(2ï¼ä¸ç¬¦å)") |
| | | private String jobResponsibilitiesConformNot2 = "â¡"; |
| | | @ApiModelProperty("å²ä½èè´£ 符åä¸å¦(3ï¼ä¸éç¨)") |
| | | private String jobResponsibilitiesConformNot3 = "â¡"; |
| | | |
| | | @ApiModelProperty("综åè¯ä»·1(å¯è任该å²ä½)") |
| | | private String comprehensiveAssessment1 = "â¡"; |
| | | @ApiModelProperty("综åè¯ä»·2(å¯è¾¹å¹è®è¾¹ä¸å²)") |
| | | private String comprehensiveAssessment2 = "â¡"; |
| | | @ApiModelProperty("综åè¯ä»·3(ä¸è任该å²ä½)") |
| | | private String comprehensiveAssessment3 = "â¡"; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingDetailed; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class PersonTrainingDetailedDto extends PersonTrainingDetailed { |
| | | |
| | | @ApiModelProperty("举åé¨é¨åç§°") |
| | | private String holdingDepartmentName; |
| | | |
| | | @ApiModelProperty("å¹è®è®²å¸åç§°") |
| | | private String trainingLecturerName; |
| | | |
| | | @ApiModelProperty("å½åç»å½äººæ¯å¦è®¤é¢") |
| | | private Boolean whetherClaim; |
| | | |
| | | |
| | | @ApiModelProperty("å¹è®æ¥æ") |
| | | private String trainingDateString; |
| | | |
| | | // 导åºä½¿ç¨ |
| | | @TableField(select = false, exist = false) |
| | | @ApiModelProperty("åºå·(导åºä½¿ç¨)") |
| | | private Integer index; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import com.ruoyi.personnel.pojo.PersonTraining; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | @ApiModel(value = "PersonTrainingDto对象", description = "å¹è®è®¡å") |
| | | public class PersonTrainingDto extends PersonTraining { |
| | | |
| | | @ApiModelProperty("ç¼å¶äººå§å") |
| | | private String compilerName; |
| | | |
| | | @ApiModelProperty("å®¡æ ¸äººå§å") |
| | | private String reviewerName; |
| | | |
| | | @ApiModelProperty("æ¹å人å§å") |
| | | private String approverName; |
| | | |
| | | @ApiModelProperty("å建人å§å") |
| | | private String createUserName; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import com.ruoyi.personnel.pojo.PersonTrainingRecord; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class PersonTrainingRecordDto extends PersonTrainingRecord { |
| | | @ApiModelProperty(value = "å§å") |
| | | private String userName; |
| | | |
| | | @ApiModelProperty(value = "å·¥å·") |
| | | private String account; |
| | | |
| | | @ApiModelProperty(value = "è§è²") |
| | | private String roleName; |
| | | |
| | | @ApiModelProperty(value = "çµè¯å·ç ") |
| | | private String phone; |
| | | |
| | | @ApiModelProperty(value = "é¨é¨") |
| | | private String department; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | public class PersonTrainingRecordListDto { |
| | | |
| | | @ApiModelProperty(value = "ç¨æ·id") |
| | | private Integer userId; |
| | | |
| | | @ApiModelProperty("åå·¥ç¼å·") |
| | | private String account; |
| | | |
| | | @ApiModelProperty("ç¨æ·å§å") |
| | | private String name; |
| | | |
| | | @ApiModelProperty("æå¨é¨é¨") |
| | | private String departLimsName; |
| | | |
| | | @ApiModelProperty("èç§°") |
| | | private String professionalTitle; |
| | | |
| | | @ApiModelProperty("æé«å¦å") |
| | | private String officialAcademicRedentials; |
| | | |
| | | @ApiModelProperty("å
¥å使¶é´") |
| | | private LocalDateTime unitTime; |
| | | |
| | | @ApiModelProperty("å
¥å使¶é´") |
| | | private String unitTimeSting; |
| | | |
| | | @ApiModelProperty("ä¸ä¸") |
| | | private String major1; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.time.LocalDate; |
| | | |
| | | @Data |
| | | public class PersonTrainingRecordSubmitDto { |
| | | |
| | | @ApiModelProperty("年度计åæç»ID") |
| | | private Integer trainingDetailedId; |
| | | |
| | | @ApiModelProperty("å¹è®å°ç¹") |
| | | private String placeTraining; |
| | | |
| | | @ApiModelProperty("å¹è®å®ææ¶é´") |
| | | private LocalDate openingTime; |
| | | |
| | | @ApiModelProperty("èæ ¸æ¹å¼") |
| | | private String assessmentMethod; |
| | | |
| | | @ApiModelProperty("æ¬æ¬¡å¹è®ç»¼åè¯ä»·") |
| | | private String comprehensiveAssessment; |
| | | |
| | | @ApiModelProperty("è¯ä»·äºº") |
| | | private Integer assessmentUserId; |
| | | |
| | | @ApiModelProperty("è¯ä»·æ¶é´") |
| | | private LocalDate assessmentDate; |
| | | |
| | | private Integer state; |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @Author zhuo |
| | | * @Date 2024/11/25 |
| | | */ |
| | | @Data |
| | | public class TrainingRecordExportDto { |
| | | |
| | | @ApiModelProperty("ç¨æ·åç§°1") |
| | | private String userName1; |
| | | |
| | | @ApiModelProperty("é¨é¨1") |
| | | private String department1; |
| | | |
| | | @ApiModelProperty("èæ ¸ç»æ1") |
| | | private String examinationResults1; |
| | | |
| | | @ApiModelProperty("ç¨æ·åç§°2") |
| | | private String userName2; |
| | | |
| | | @ApiModelProperty("é¨é¨1") |
| | | private String department2; |
| | | |
| | | @ApiModelProperty("èæ ¸ç»æ1") |
| | | private String examinationResults2; |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class TrainingRecordPersonDetailedDto { |
| | | |
| | | @ApiModelProperty("å¹è®æ¥æ") |
| | | private String trainingDateString; |
| | | |
| | | @ApiModelProperty("å¹è®æ¥æ") |
| | | private String trainingDate; |
| | | |
| | | @ApiModelProperty("å¹è®å
容") |
| | | private String trainingContent; |
| | | |
| | | @ApiModelProperty("课æ¶") |
| | | private Integer classHour; |
| | | |
| | | @ApiModelProperty("èæ ¸ç»æ") |
| | | private String examinationResults; |
| | | |
| | | @ApiModelProperty("夿³¨") |
| | | private String remarks; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.dto; |
| | | |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Data; |
| | | import lombok.NoArgsConstructor; |
| | | |
| | | @Data |
| | | @AllArgsConstructor |
| | | @NoArgsConstructor |
| | | public class UserPageDto extends User { |
| | | |
| | | @ApiModelProperty(value = "åå»ºç¨æ·") |
| | | private String createUserName; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°ç¨æ·") |
| | | private String updateUserName; |
| | | |
| | | @ApiModelProperty(value = "è§è²") |
| | | private String roleName; |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.excel; |
| | | |
| | | import com.alibaba.excel.context.AnalysisContext; |
| | | import com.alibaba.excel.event.AnalysisEventListener; |
| | | import com.ruoyi.personnel.service.PersonTrainingDetailedService; |
| | | import lombok.Data; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class PersonTrainingDetailedListener extends AnalysisEventListener<PersonTrainingDetailedUpload> { |
| | | |
| | | private Integer planId; |
| | | |
| | | private static final int BATCH_COUNT = 1000; |
| | | List<PersonTrainingDetailedUpload> list = new ArrayList<>(); |
| | | |
| | | private PersonTrainingDetailedService personTrainingDetailedService; |
| | | |
| | | public PersonTrainingDetailedListener(PersonTrainingDetailedService personTrainingDetailedService) { |
| | | this.personTrainingDetailedService = personTrainingDetailedService; |
| | | } |
| | | |
| | | @Override |
| | | public void invoke(PersonTrainingDetailedUpload data, AnalysisContext context) { |
| | | list.add(data); |
| | | if (list.size() >= BATCH_COUNT) { |
| | | save(); |
| | | list.clear(); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void doAfterAllAnalysed(AnalysisContext analysisContext) { |
| | | save(); |
| | | } |
| | | |
| | | private void save() { |
| | | personTrainingDetailedService.importExcel(list, this.planId); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.excel; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | public class PersonTrainingDetailedUpload { |
| | | |
| | | @ExcelProperty("å¹è®ç®æ ") |
| | | private String trainingObjectives; |
| | | |
| | | @ExcelProperty("å¹è®å
容") |
| | | private String trainingContent; |
| | | |
| | | @ExcelProperty("å¹è®æ¹å¼") |
| | | private String trainingMode; |
| | | |
| | | @ExcelProperty("åå 对象") |
| | | private String participants; |
| | | |
| | | @ExcelProperty("举åé¨é¨") |
| | | private String holdingDepartment; |
| | | |
| | | @ExcelProperty("å¹è®è®²å¸") |
| | | private String trainingLecturerName; |
| | | |
| | | @ExcelProperty("å¹è®æ¶é´") |
| | | private String trainingDate; |
| | | |
| | | @ExcelProperty("课æ¶") |
| | | private Integer classHour; |
| | | |
| | | @ExcelProperty("夿³¨") |
| | | private String remarks; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.personnel.pojo.Annex; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | @Mapper |
| | | public interface AnnexMapper extends BaseMapper<Annex> { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfoFile; |
| | | |
| | | /** |
| | | * <p> |
| | | * 人ååºæ¬ä¿¡æ¯éä»¶ Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2025-01-09 05:28:55 |
| | | */ |
| | | public interface PersonBasicInfoFileMapper extends BaseMapper<PersonBasicInfoFile> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.common.core.domain.entity.DepartmentDto; |
| | | import com.ruoyi.personnel.dto.PersonBasicInfoDto; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfo; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-08-30 09:19:57 |
| | | */ |
| | | public interface PersonBasicInfoMapper extends BaseMapper<PersonBasicInfo> { |
| | | |
| | | List<DepartmentDto> selectLimsUser(); |
| | | |
| | | PersonBasicInfoDto getCNASPersonnelInfo(Integer userId); |
| | | |
| | | /** |
| | | * 人ååºæ¬ä¿¡æ¯å页æ¥è¯¢ |
| | | * @param page |
| | | * @param name |
| | | * @param departmentId |
| | | * @return |
| | | */ |
| | | IPage<Map<String, Object>> selectPersonBasecInfoAndUser(Page page, String name, Integer departmentId); |
| | | |
| | | /** |
| | | * å¯¼åºæ¥è¯¢äººåä¿¡æ¯ |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | Map<String, Object> selectexportPersonBasic(Integer userId); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfoWork; |
| | | |
| | | /** |
| | | * <p> |
| | | * 人ååºæ¬ä¿¡æ¯ Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2025-01-09 05:45:04 |
| | | */ |
| | | public interface PersonBasicInfoWorkMapper extends BaseMapper<PersonBasicInfoWork> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.PersonCommunicationAbilityDto; |
| | | import com.ruoyi.personnel.pojo.PersonCommunicationAbility; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * æ²éè½å Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-09 12:00:57 |
| | | */ |
| | | public interface PersonCommunicationAbilityMapper extends BaseMapper<PersonCommunicationAbility> { |
| | | |
| | | IPage<PersonCommunicationAbilityDto> personPersonCommunicationAbilityPage(Page page, @Param("departLimsId") Integer departLimsId, @Param("userId") Integer userId, @Param("userName") String userName); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.PersonPersonnelCapacityDto; |
| | | import com.ruoyi.personnel.dto.PersonPersonnelCapacityExportDto; |
| | | import com.ruoyi.personnel.pojo.PersonPersonnelCapacity; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * 人åè½å Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-10 11:26:18 |
| | | */ |
| | | public interface PersonPersonnelCapacityMapper extends BaseMapper<PersonPersonnelCapacity> { |
| | | |
| | | IPage<PersonPersonnelCapacityDto> personPersonnelCapacityPage(Page page, Integer departLimsId, Integer userId, String userName); |
| | | |
| | | /** |
| | | * æ¥è¯¢äººåè½åæ¥å£ |
| | | * @param id |
| | | * @return |
| | | */ |
| | | PersonPersonnelCapacityExportDto selectExportPersonnelCapacity(@Param("id") Integer id); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingDetailedFile; |
| | | |
| | | /** |
| | | * 人åå¹è®è®¡å详æ
é件表(CnasPersonTrainingDetailedFile)$desc |
| | | * |
| | | * @author makejava |
| | | * @since 2024-12-25 14:18:22 |
| | | */ |
| | | public interface PersonTrainingDetailedFileMapper extends BaseMapper<PersonTrainingDetailedFile> { |
| | | |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.framework.mybatis_config.MyBaseMapper; |
| | | import com.ruoyi.personnel.dto.PersonTrainingDetailedDto; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingDetailed; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å¹è®è®¡å详æ
Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-11 01:46:27 |
| | | */ |
| | | public interface PersonTrainingDetailedMapper extends MyBaseMapper<PersonTrainingDetailed> { |
| | | |
| | | IPage<PersonTrainingDetailedDto> queryTheAnnualPlanDetailsTable(Page page, |
| | | String trainingLecturerName, |
| | | String courseCode, String trainingDate, |
| | | Integer id, |
| | | Integer userId, |
| | | Integer loginUserId); |
| | | |
| | | /** |
| | | * æ ¹æ®ä¸»è¡¨idæ¥è¯¢è¯¦æ
|
| | | * @param trainingId |
| | | * @return |
| | | */ |
| | | List<PersonTrainingDetailedDto> selectTrainingList(@Param("trainingId") Integer trainingId); |
| | | |
| | | /** |
| | | * æ¥è¯¢è¯¦ç» |
| | | * @param id |
| | | * @return |
| | | */ |
| | | PersonTrainingDetailedDto selectTrainingDetail(@Param("id") Integer id); |
| | | |
| | | /** |
| | | * æ¥è¯¢ä»å¹´äººåå¹è®ä¿¡æ¯ |
| | | * @return |
| | | */ |
| | | List<PersonTrainingDetailed> getThisYearTrainingDetailed(); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.PersonTrainingDto; |
| | | import com.ruoyi.personnel.pojo.PersonTraining; |
| | | |
| | | /** |
| | | * <p> |
| | | * å¹è®è®¡å Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-11 01:11:49 |
| | | */ |
| | | public interface PersonTrainingMapper extends BaseMapper<PersonTraining> { |
| | | |
| | | IPage<PersonTrainingDto> personTrainingSelect(Page page, String compilerName, String departLimsId); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.PersonTrainingRecordDto; |
| | | import com.ruoyi.personnel.dto.PersonTrainingRecordListDto; |
| | | import com.ruoyi.personnel.dto.TrainingRecordPersonDetailedDto; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingRecord; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å¹è®è®°å½ Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-12 04:50:48 |
| | | */ |
| | | public interface PersonTrainingRecordMapper extends BaseMapper<PersonTrainingRecord> { |
| | | |
| | | List<PersonTrainingRecordDto> trainingAndAssessmentRecordsPage(Integer trainingDetailedId, String userName); |
| | | |
| | | IPage<PersonTrainingRecordListDto> personnelTrainingPersonnel(Page page, String userName, Integer userId, Integer departLimsId); |
| | | |
| | | IPage<TrainingRecordPersonDetailedDto> queryPersonnelDetails(Page page, Integer userId); |
| | | |
| | | /** |
| | | * æ ¹æ®è¯¦æ
idæ¥è¯¢å¹è®äººå |
| | | * @param trainingDetailedId |
| | | * @return |
| | | */ |
| | | List<PersonTrainingRecordDto> selectListByTrainingDetailedId(@Param("trainingDetailedId") Integer trainingDetailedId); |
| | | |
| | | /** |
| | | * æ¥è¯¢äººåä¿¡æ¯ |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | PersonTrainingRecordListDto selectUserTraining(@Param("userId") Integer userId); |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·idæ¥è¯¢å¹è®è®°å½ |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | List<TrainingRecordPersonDetailedDto> selectPersonDetailedDtos(Integer userId); |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·idå年份æ¥è¯¢äººåæç» å¹è®è®°å½ |
| | | * @param page |
| | | * @param userId |
| | | * @param year |
| | | * @return |
| | | */ |
| | | IPage<TrainingRecordPersonDetailedDto> queryPersonnelDetailsOfUserIdAndYear(Page page, Integer userId, Integer year); |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·idå年份æ¥è¯¢äººåæç» å¹è®è®°å½å¯¼åº |
| | | * @param userId |
| | | * @param trainingDate |
| | | * @return |
| | | */ |
| | | List<TrainingRecordPersonDetailedDto> selectPersonDetailedDtosByTrainingDate(Integer userId, Integer year); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | @TableName("cnas_annex") |
| | | @ApiModel("人ååºæ¬ä¿¡æ¯é件表") |
| | | public class Annex implements Serializable { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty(value = "user表id") |
| | | private Integer userId; |
| | | |
| | | @ApiModelProperty(value = "è¯ä»¶å·") |
| | | private String idNumber; |
| | | |
| | | @ApiModelProperty(value = "åè¯åä½") |
| | | private String issueUnit; |
| | | |
| | | @ApiModelProperty(value = "æä»¶åç§°") |
| | | private String fileName; |
| | | |
| | | @ApiModelProperty(value = "级å«") |
| | | private String level; |
| | | |
| | | @ApiModelProperty(value = "æææ") |
| | | private String periodValidity; |
| | | |
| | | @ApiModelProperty(value = "æ·»å æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "å¤å°ä»¶") |
| | | private String copy; |
| | | |
| | | @ApiModelProperty(value = "åä»¶") |
| | | private String original; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.pojo; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | 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-08-30 09:19:57 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("cnas_person_basic_info") |
| | | @ApiModel(value = "PersonBasicInfo对象", description = "") |
| | | public class PersonBasicInfo implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty("主é®id") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("å½åç¶æ") |
| | | private String currentState; |
| | | |
| | | @ApiModelProperty("èç§°") |
| | | @ExcelProperty("èç§°") |
| | | private String professionalTitle; |
| | | |
| | | @ApiModelProperty("æ§å«") |
| | | private String sex; |
| | | |
| | | @ApiModelProperty("人ååç±»") |
| | | private String personnelClassification; |
| | | |
| | | @ApiModelProperty("åºçæ¥æ") |
| | | @TableField(updateStrategy = FieldStrategy.IGNORED) // 为空å¯ä»¥æ´æ° |
| | | private LocalDateTime dateBirth; |
| | | |
| | | @ApiModelProperty("身份è¯å·") |
| | | @ExcelProperty("è¯ä»¶å·ç ") |
| | | private String identityCard; |
| | | |
| | | @ApiModelProperty("æ°æ") |
| | | private String nation; |
| | | |
| | | @ApiModelProperty("æ¿æ²»é¢è²") |
| | | private String politicalStatus; |
| | | |
| | | @ApiModelProperty("æé«å¦å") |
| | | @ExcelProperty("æé«å¦å") |
| | | private String officialAcademicRedentials; |
| | | |
| | | @ApiModelProperty("æ¯ä¸æ¶é´1") |
| | | @ExcelProperty("æ¯ä¸æ¶é´") |
| | | private LocalDateTime graduationTime1; |
| | | |
| | | @ApiModelProperty("æ¯ä¸é¢æ ¡1") |
| | | @ExcelProperty("æ¯ä¸é¢æ ¡") |
| | | private String graduatedInstitutions1; |
| | | |
| | | @ApiModelProperty("ä¸ä¸1") |
| | | @ExcelProperty("æå¦ä¸ä¸") |
| | | private String major1; |
| | | |
| | | @ApiModelProperty("æ¯ä¸æ¶é´2") |
| | | @TableField(updateStrategy = FieldStrategy.IGNORED) // 为空å¯ä»¥æ´æ° |
| | | private LocalDateTime graduationTime2; |
| | | |
| | | @ApiModelProperty("æ¯ä¸é¢æ ¡2") |
| | | private String graduatedInstitutions2; |
| | | |
| | | @ApiModelProperty("ä¸ä¸2") |
| | | private String major2; |
| | | |
| | | @ApiModelProperty("ææºå·") |
| | | private String telephone; |
| | | |
| | | @ApiModelProperty("夿³¨") |
| | | private String remarks; |
| | | |
| | | @ApiModelProperty("ç¨æ·è¡¨ï¼userï¼id") |
| | | private Integer userId; |
| | | |
| | | @ApiModelProperty("å
¬å¸åç§°") |
| | | private String corporateName; |
| | | |
| | | @ApiModelProperty("å²ä½åç§°") |
| | | private String postName; |
| | | |
| | | @ApiModelProperty("å
¥é墿¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | @TableField(updateStrategy = FieldStrategy.IGNORED) // 为空å¯ä»¥æ´æ° |
| | | @ExcelProperty("å
¥é墿¶é´") |
| | | private LocalDateTime groupTime; |
| | | |
| | | @ApiModelProperty("å³å¨å
³ç³»") |
| | | private Integer laborRelations; |
| | | |
| | | @ApiModelProperty("工使¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | @TableField(updateStrategy = FieldStrategy.IGNORED) // 为空å¯ä»¥æ´æ° |
| | | private LocalDateTime workingTime; |
| | | |
| | | @ApiModelProperty("ååæææ") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | @TableField(updateStrategy = FieldStrategy.IGNORED) // 为空å¯ä»¥æ´æ° |
| | | private LocalDateTime contractLifeTime; |
| | | |
| | | @ApiModelProperty("ç±è´¯") |
| | | @ExcelProperty("ç±è´¯") |
| | | private String nativePlace; |
| | | |
| | | @ApiModelProperty("è¯ä»¶æææ") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | @TableField(updateStrategy = FieldStrategy.IGNORED) // 为空å¯ä»¥æ´æ° |
| | | private LocalDateTime validityPeriod; |
| | | |
| | | @ApiModelProperty("å©å§»ç¶åµ") |
| | | private Integer maritalStatus; |
| | | |
| | | @ApiModelProperty("è¯ä»¶å°å") |
| | | @ExcelProperty("è¯ä»¶å°å") |
| | | private String idAddress; |
| | | |
| | | @ApiModelProperty("è¯ä»¶è¯¦ç»å°å") |
| | | private String idDetailAddress; |
| | | |
| | | @ApiModelProperty("å
¥å
/墿¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | @TableField(updateStrategy = FieldStrategy.IGNORED) // 为空å¯ä»¥æ´æ° |
| | | private LocalDateTime dumplingTime; |
| | | |
| | | @ApiModelProperty("æé«å¦ä½") |
| | | @ExcelProperty("æé«å¦ä½") |
| | | private String highestDegree; |
| | | |
| | | @ApiModelProperty("æåæ´æ°æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime lastUpdateTime; |
| | | |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 2025-01-09 05:28:55 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("cnas_person_basic_info_file") |
| | | @ApiModel(value = "PersonBasicInfoFile对象", description = "人ååºæ¬ä¿¡æ¯éä»¶") |
| | | public class PersonBasicInfoFile implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "basic_info_file_id", type = IdType.AUTO) |
| | | private Integer basicInfoFileId; |
| | | |
| | | @ApiModelProperty("人ååºæ¬ä¿¡æ¯id") |
| | | private Integer userId; |
| | | |
| | | @ApiModelProperty("ç±»å:1å¾ç/2æä»¶") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty("éä»¶è·¯å¾") |
| | | private String fileUrl; |
| | | |
| | | @ApiModelProperty("éä»¶åç§°") |
| | | private String fileName; |
| | | |
| | | @ApiModelProperty("å建人") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹äºº") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 2025-01-09 05:45:04 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("cnas_person_basic_info_work") |
| | | @ApiModel(value = "PersonBasicInfoWork对象", description = "人ååºæ¬ä¿¡æ¯") |
| | | public class PersonBasicInfoWork implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "basic_info_work_id", type = IdType.AUTO) |
| | | private Integer basicInfoWorkId; |
| | | |
| | | @ApiModelProperty("人åid") |
| | | private Integer userId; |
| | | |
| | | @ApiModelProperty("å·¥ä½ç»å") |
| | | private String workExperience; |
| | | |
| | | @ApiModelProperty("å建人") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹äºº") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | 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 12:00:57 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("cnas_person_communication_ability") |
| | | @ApiModel(value = "PersonCommunicationAbility对象", description = "æ²éè®°å½") |
| | | public class PersonCommunicationAbility implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty("主é®id") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("æ²é人id") |
| | | private String userId; |
| | | |
| | | @ApiModelProperty("æ²éæ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime communicationTime; |
| | | |
| | | @ApiModelProperty("æ²éå°ç¹") |
| | | private String communicationPlace; |
| | | |
| | | @ApiModelProperty("æ²éå
容") |
| | | private String communicationContent; |
| | | |
| | | @ApiModelProperty("å建人id") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººid", hidden = true) |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´", hidden = true) |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´", hidden = true) |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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ä»»è人id") |
| | | 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 = "å建人id", 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; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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("被任è人åid") |
| | | 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 = "æ´æ°äººid",hidden = true) |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty(value = "å建人id", hidden = true) |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty("ç论ç¥è¯èè¯æç»©") |
| | | private String num1; |
| | | |
| | | @ApiModelProperty("æä½æè½èè¯æç»©") |
| | | private String num2; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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-11 01:11:49 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("cnas_person_training") |
| | | @ApiModel(value = "PersonTraining对象", description = "å¹è®è®¡å") |
| | | public class PersonTraining implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty("主é®id") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("æä»¶åç§°") |
| | | private String fileName; |
| | | |
| | | @ApiModelProperty("计å年份") |
| | | private String planYear; |
| | | |
| | | @ApiModelProperty("ç¼å¶äººid") |
| | | private Integer compilerId; |
| | | |
| | | @ApiModelProperty("ç¼å¶æ¥æ") |
| | | private LocalDateTime compilationDate; |
| | | |
| | | @ApiModelProperty("å®¡æ ¸äººid") |
| | | private Integer reviewerId; |
| | | |
| | | @ApiModelProperty("å®¡æ ¸æ¥æ") |
| | | private LocalDateTime auditDate; |
| | | |
| | | @ApiModelProperty("å®¡æ ¸ç¶æ") |
| | | private Integer reviewerStatus; |
| | | |
| | | @ApiModelProperty("å®¡æ ¸å¤æ³¨") |
| | | private String auditRemarks; |
| | | |
| | | @ApiModelProperty("æ¹å人id") |
| | | private Integer approverId; |
| | | |
| | | @ApiModelProperty("æ¹å夿³¨") |
| | | private String approvalRemarks; |
| | | |
| | | @ApiModelProperty("æ¹åç¶æ(1ï¼æ¹åï¼2ï¼ä¸æ¹å)") |
| | | private Integer approvalStatus; |
| | | |
| | | @ApiModelProperty("æ¹åæ¥æ") |
| | | private LocalDateTime approvalDate; |
| | | |
| | | @ApiModelProperty("åå»ºæ¥æ") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("å建人id") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty("æ´æ°æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty("æ´æ°äººid") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | /** |
| | | * <p> |
| | | * å¹è®è®¡å详æ
|
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-11 01:46:27 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("cnas_person_training_detailed") |
| | | @ApiModel(value = "PersonTrainingDetailed对象", description = "å¹è®è®¡å详æ
") |
| | | public class PersonTrainingDetailed implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty("å¹è®è®¡å") |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("å¹è®ç®æ ") |
| | | private String trainingObjectives; |
| | | |
| | | @ApiModelProperty("å¹è®å
容") |
| | | private String trainingContent; |
| | | |
| | | @ApiModelProperty("å¹è®æ¹å¼") |
| | | private String trainingMode; |
| | | |
| | | @ApiModelProperty("ç¶æ(1ï¼å·²å®æï¼2ï¼å¾
è¯ä»·ï¼3: æªå¼å§)") |
| | | private Integer state; |
| | | |
| | | @ApiModelProperty("åå 对象") |
| | | private String participants; |
| | | |
| | | @ApiModelProperty("举åé¨é¨") |
| | | private String holdingDepartment; |
| | | |
| | | @ApiModelProperty("å¹è®å°ç¹") |
| | | private String placeTraining; |
| | | |
| | | @ApiModelProperty("å¹è®è®²å¸_id") |
| | | private Integer trainingLecturerId; |
| | | |
| | | @ApiModelProperty("计åå¹è®æ¥æ") |
| | | private String trainingDate; |
| | | |
| | | @ApiModelProperty("å¹è®å®ææ¶é´") |
| | | private LocalDate openingTime; |
| | | |
| | | @ApiModelProperty("课æ¶") |
| | | private Integer classHour; |
| | | |
| | | @ApiModelProperty("夿³¨") |
| | | private String remarks; |
| | | |
| | | @ApiModelProperty("å¹è®è®¡åid") |
| | | private Integer planId; |
| | | |
| | | @ApiModelProperty(value = "å建æ¶é´", hidden = true) |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "å建人id", hidden = true) |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°äººid", hidden = true) |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty(value = "æ´æ°æ¶é´", hidden = true) |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty("èæ ¸æ¹å¼") |
| | | private String assessmentMethod; |
| | | |
| | | @ApiModelProperty("æ¬æ¬¡å¹è®ç»¼åè¯ä»·") |
| | | private String comprehensiveAssessment; |
| | | |
| | | @ApiModelProperty("è¯ä»·äºº") |
| | | private Integer assessmentUserId; |
| | | |
| | | @ApiModelProperty("è¯ä»·æ¶é´") |
| | | private LocalDate assessmentDate; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 人åå¹è®è®¡å详æ
é件表(CnasPersonTrainingDetailedFile)$desc |
| | | * |
| | | * @author makejava |
| | | * @since 2024-12-25 14:18:22 |
| | | */ |
| | | @Data |
| | | @TableName("cnas_person_training_detailed_file") |
| | | public class PersonTrainingDetailedFile { |
| | | |
| | | @TableId(type = IdType.AUTO) |
| | | private Integer detailedFileId; |
| | | |
| | | @ApiModelProperty("人åä½ å¹è®è®¡å详æ
id") |
| | | private Integer trainingDetailedId; |
| | | |
| | | @ApiModelProperty("ç±»å:1å¾ç/2æä»¶") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty("éä»¶è·¯å¾") |
| | | private String fileUrl; |
| | | |
| | | @ApiModelProperty("éä»¶åç§°") |
| | | private String fileName; |
| | | |
| | | @ApiModelProperty("å建人") |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty("å建æ¶é´") |
| | | private Date createTime; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹äºº") |
| | | private Integer updateUser; |
| | | |
| | | @ApiModelProperty("ä¿®æ¹æ¶é´") |
| | | private Date updateTime; |
| | | |
| | | } |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * å¹è®è®°å½ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-12 04:50:48 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("cnas_person_training_record") |
| | | @ApiModel(value = "PersonTrainingRecord对象", description = "å¹è®è®°å½") |
| | | public class PersonTrainingRecord implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty("主é®id") |
| | | @TableId(value = "training_record_id", type = IdType.AUTO) |
| | | private Integer trainingRecordId; |
| | | |
| | | @ApiModelProperty("ç¨æ·è¡¨æ ¼ï¼userï¼ä¸»é®") |
| | | private Integer userId; |
| | | |
| | | @ApiModelProperty("å¹è®è®¡å详æ
- å id") |
| | | private Integer courseId; |
| | | |
| | | @ApiModelProperty("èæ ¸ç»æ") |
| | | private String examinationResults; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.personnel.pojo.Annex; |
| | | |
| | | public interface AnnexService extends IService<Annex> { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfoFile; |
| | | |
| | | /** |
| | | * <p> |
| | | * 人ååºæ¬ä¿¡æ¯éä»¶ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2025-01-09 05:28:55 |
| | | */ |
| | | public interface PersonBasicInfoFileService extends IService<PersonBasicInfoFile> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.common.core.domain.entity.DepartmentDto; |
| | | import com.ruoyi.personnel.dto.PersonBasicInfoDto; |
| | | import com.ruoyi.personnel.dto.UserPageDto; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfo; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-08-30 09:19:57 |
| | | */ |
| | | public interface PersonBasicInfoService extends IService<PersonBasicInfo> { |
| | | |
| | | List<DepartmentDto> selectCNSAPersonTree(); |
| | | |
| | | Map<String,Object> getCNASPersonnelInfo(Integer userId); |
| | | |
| | | void saveCNASPersonnelInfo(PersonBasicInfoDto personBasicInfoDto); |
| | | |
| | | IPage<Map<String, Object>> basicInformationOfPersonnelSelectPage(Page page, String name, Integer departmentId); |
| | | |
| | | void exportPersonBasicInfo(UserPageDto userPageDto, HttpServletResponse response) throws Exception; |
| | | |
| | | String exportPersonBasicInfoById(Integer id, HttpServletResponse response); |
| | | |
| | | /** |
| | | * 人åå¹è®åºæ¬ä¿¡æ¯éä»¶æ°å¢ |
| | | * @param basicInfoId |
| | | * @param file |
| | | * @return |
| | | */ |
| | | boolean uploadBasicInfoFile(Integer basicInfoId, MultipartFile file); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfoWork; |
| | | |
| | | /** |
| | | * <p> |
| | | * 人ååºæ¬ä¿¡æ¯ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2025-01-09 05:45:04 |
| | | */ |
| | | public interface PersonBasicInfoWorkService extends IService<PersonBasicInfoWork> { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.PersonCommunicationAbilityDto; |
| | | import com.ruoyi.personnel.pojo.PersonCommunicationAbility; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | | /** |
| | | * <p> |
| | | * æ²éè½å æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-09 12:00:57 |
| | | */ |
| | | public interface PersonCommunicationAbilityService extends IService<PersonCommunicationAbility> { |
| | | |
| | | IPage<PersonCommunicationAbilityDto> personPersonCommunicationAbilityPage(Page page, |
| | | Integer departLimsId, Integer userId, String userName); |
| | | |
| | | void exportPersonCommunicationAbility(Integer id, HttpServletResponse response)throws Exception; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.PersonPersonnelCapacityDto; |
| | | 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); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.PersonTrainingDetailedDto; |
| | | import com.ruoyi.personnel.excel.PersonTrainingDetailedUpload; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingDetailed; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å¹è®è®¡å详æ
æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-11 01:46:27 |
| | | */ |
| | | public interface PersonTrainingDetailedService extends IService<PersonTrainingDetailed> { |
| | | |
| | | void importExcel(List<PersonTrainingDetailedUpload> list, Integer planId); |
| | | |
| | | void deleteAnnualPlanDetailTable(String ids); |
| | | |
| | | IPage<PersonTrainingDetailedDto> queryTheAnnualPlanDetailsTable(Page page, |
| | | String trainingLecturerName, |
| | | String courseCode, String trainingDate, Integer id, Integer userId); |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.PersonTrainingRecordDto; |
| | | import com.ruoyi.personnel.dto.PersonTrainingRecordListDto; |
| | | import com.ruoyi.personnel.dto.PersonTrainingRecordSubmitDto; |
| | | import com.ruoyi.personnel.dto.TrainingRecordPersonDetailedDto; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingRecord; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å¹è®è®°å½ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-12 04:50:48 |
| | | */ |
| | | public interface PersonTrainingRecordService extends IService<PersonTrainingRecord> { |
| | | |
| | | List<PersonTrainingRecordDto> trainingAndAssessmentRecordsPage(Integer trainingDetailedId, String userName); |
| | | |
| | | void deleteTrainingAndAssessmentRecords(String ids); |
| | | |
| | | IPage<PersonTrainingRecordListDto> personnelTrainingPersonnel(Page page, |
| | | String userName, Integer userId, Integer departLimsId); |
| | | |
| | | |
| | | void claimOfTrainingAndAssessmentRecords(Boolean claimAndClaim, Integer courseId); |
| | | |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·idå年份æ¥è¯¢äººåæç» å¹è®è®°å½ |
| | | * @param page |
| | | * @param userId |
| | | * @param year |
| | | * @return |
| | | */ |
| | | IPage<TrainingRecordPersonDetailedDto> queryPersonnelDetailsOfUserIdAndYear(Page page, Integer userId, Integer year); |
| | | |
| | | /** |
| | | * 导åºäººåå¹è®è®°å½ |
| | | * @param userId |
| | | * @param trainingDate |
| | | * @param response |
| | | */ |
| | | void exportTrainingRecordAddTrainingDate(Integer userId, Integer trainingDate, HttpServletResponse response); |
| | | |
| | | /** |
| | | * å¹è®æäº¤ |
| | | * @param personTrainingRecordSubmitDto |
| | | */ |
| | | void trainingAndAssessmentRecordsAdded(PersonTrainingRecordSubmitDto personTrainingRecordSubmitDto); |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.PersonTrainingDto; |
| | | import com.ruoyi.personnel.pojo.PersonTraining; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingDetailed; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å¹è®è®¡å æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-11 01:11:49 |
| | | */ |
| | | public interface PersonTrainingService extends IService<PersonTraining> { |
| | | |
| | | IPage<PersonTrainingDto> personTrainingSelect(Page page, |
| | | String compilerName, String departmentId); |
| | | |
| | | void personTrainingImport(MultipartFile file, PersonTraining training); |
| | | |
| | | void personTrainingDelete(Integer id); |
| | | |
| | | void reviewAnnualPersonnelTraining(PersonTraining training); |
| | | |
| | | void approveAnnualPersonnelTraining(PersonTraining training); |
| | | |
| | | /** |
| | | * 导åºäººåå¹è®è®¡å |
| | | * @param id |
| | | * @param response |
| | | */ |
| | | void exportPersonTraining(Integer id, HttpServletResponse response); |
| | | |
| | | /** |
| | | * 导åºäººåå¹è®ä¸èæ ¸è®°å½ |
| | | * @param id |
| | | * @param response |
| | | */ |
| | | void exportPersonTrainingRecord(Integer id, HttpServletResponse response); |
| | | |
| | | /** |
| | | * 人åå¹è®è¯¦æ
éä»¶æ°å¢ |
| | | * @param trainingDetailedId |
| | | * @param file |
| | | * @return |
| | | */ |
| | | boolean uploadTrainingDetailedFile(Integer trainingDetailedId, MultipartFile file); |
| | | |
| | | /** |
| | | * æ¥è¯¢ä»å¹´äººåå¹è®ä¿¡æ¯ |
| | | * @return |
| | | */ |
| | | List<PersonTrainingDetailed> getThisYearTrainingDetailed(); |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.personnel.mapper.AnnexMapper; |
| | | import com.ruoyi.personnel.pojo.Annex; |
| | | import com.ruoyi.personnel.service.AnnexService; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | @Service |
| | | @AllArgsConstructor |
| | | public class AnnexServiceImpl extends ServiceImpl<AnnexMapper, Annex> implements AnnexService { |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.personnel.mapper.PersonBasicInfoFileMapper; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfoFile; |
| | | import com.ruoyi.personnel.service.PersonBasicInfoFileService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 人ååºæ¬ä¿¡æ¯éä»¶ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2025-01-09 05:28:55 |
| | | */ |
| | | @Service |
| | | public class PersonBasicInfoFileServiceImpl extends ServiceImpl<PersonBasicInfoFileMapper, PersonBasicInfoFile> implements PersonBasicInfoFileService { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.service.impl; |
| | | |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.alibaba.excel.ExcelWriter; |
| | | import com.alibaba.excel.write.metadata.WriteSheet; |
| | | import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy; |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | 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.ruoyi.common.core.domain.entity.DepartmentDto; |
| | | import com.ruoyi.common.core.domain.entity.DepartmentLims; |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | | import com.ruoyi.common.utils.QueryWrappers; |
| | | import com.ruoyi.framework.exception.ErrorException; |
| | | import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; |
| | | import com.ruoyi.personnel.dto.PersonBasicInfoDto; |
| | | import com.ruoyi.personnel.dto.PersonBasicInfoWorkDto; |
| | | import com.ruoyi.personnel.dto.UserPageDto; |
| | | import com.ruoyi.personnel.mapper.AnnexMapper; |
| | | import com.ruoyi.personnel.mapper.PersonBasicInfoFileMapper; |
| | | import com.ruoyi.personnel.mapper.PersonBasicInfoMapper; |
| | | import com.ruoyi.personnel.mapper.PersonBasicInfoWorkMapper; |
| | | import com.ruoyi.personnel.pojo.Annex; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfo; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfoFile; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfoWork; |
| | | import com.ruoyi.personnel.service.PersonBasicInfoService; |
| | | import com.ruoyi.system.mapper.DepartmentLimsMapper; |
| | | import com.ruoyi.system.mapper.UserMapper; |
| | | import org.apache.poi.xwpf.usermodel.XWPFTable; |
| | | import org.openxmlformats.schemas.wordprocessingml.x2006.main.STMerge; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | | import java.net.URLEncoder; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | | * æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2024-08-30 09:19:57 |
| | | */ |
| | | |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class PersonBasicInfoServiceImpl extends ServiceImpl<PersonBasicInfoMapper, PersonBasicInfo> implements PersonBasicInfoService { |
| | | |
| | | @Autowired |
| | | private DepartmentLimsMapper departmentMapper; |
| | | @Value("${file.path}") |
| | | private String imgUrl; |
| | | @Value("${wordUrl}") |
| | | private String wordUrl; |
| | | @Resource |
| | | private UserMapper userMapper; |
| | | @Resource |
| | | private AnnexMapper annexMapper; |
| | | @Resource |
| | | private PersonBasicInfoFileMapper personBasicInfoFileMapper; |
| | | @Resource |
| | | private PersonBasicInfoWorkMapper personBasicInfoWorkMapper; |
| | | |
| | | @Override |
| | | public List<DepartmentDto> selectCNSAPersonTree() { |
| | | List<DepartmentDto> departments = departmentMapper.selectDepartment(); |
| | | List<DepartmentDto> limsUser = baseMapper.selectLimsUser(); |
| | | departments.addAll(limsUser); |
| | | //è·åç¶èç¹ |
| | | return departments.stream().filter(m -> m.getFatherId() == null).peek( |
| | | (m) -> m.setChildren(getChildren(m, departments)) |
| | | ).collect(Collectors.toList()); |
| | | } |
| | | |
| | | @Override |
| | | public Map<String,Object> getCNASPersonnelInfo(Integer userId) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | Map<Integer,List<DepartmentLims>> childrenMap = new HashMap<>(); |
| | | List<DepartmentLims> deptS = departmentMapper.selectList(null); |
| | | for (DepartmentLims dept : deptS) { |
| | | if(!Objects.isNull(dept.getFatherId())) { |
| | | if(!childrenMap.containsKey(dept.getFatherId())) { |
| | | childrenMap.put(dept.getFatherId(),new ArrayList<>()); |
| | | } |
| | | childrenMap.get(dept.getFatherId()).add(dept); |
| | | } |
| | | } |
| | | // ç¶èç¹ |
| | | List<DepartmentLims> deptF = new ArrayList<>(); |
| | | for (DepartmentLims dept : deptS) { |
| | | if(Objects.isNull(dept.getFatherId())) { |
| | | deptF.add(buildTree(dept,childrenMap)); |
| | | } |
| | | } |
| | | map.put("department",deptF); |
| | | map.put("PersonBasicInfoDto",baseMapper.getCNASPersonnelInfo(userId)); |
| | | map.put("annexList",annexMapper.selectList(new LambdaQueryWrapper<Annex>().eq(Annex::getUserId,userId))); |
| | | return map; |
| | | } |
| | | |
| | | private DepartmentLims buildTree(DepartmentLims departmentLims, Map<Integer,List<DepartmentLims>> childrenMap) { |
| | | if(childrenMap.containsKey(departmentLims.getId())) { |
| | | departmentLims.setChildren(childrenMap.get(departmentLims.getId())); |
| | | for (DepartmentLims departmentLims1 : departmentLims.getChildren()) { |
| | | buildTree(departmentLims1,childrenMap); |
| | | } |
| | | } |
| | | return departmentLims; |
| | | } |
| | | |
| | | @Override |
| | | public void saveCNASPersonnelInfo(PersonBasicInfoDto personBasicInfoDto) { |
| | | User user = new User(); |
| | | user.setId(personBasicInfoDto.getUserId()); |
| | | user.setAccount(personBasicInfoDto.getAccount()); |
| | | user.setName(personBasicInfoDto.getName()); |
| | | user.setNameEn(personBasicInfoDto.getNameEn()); |
| | | user.setAge(personBasicInfoDto.getAge()); |
| | | user.setPhone(personBasicInfoDto.getPhone()); |
| | | user.setEmail(personBasicInfoDto.getEmail()); |
| | | user.setSignatureUrl(personBasicInfoDto.getSignatureUrl()); |
| | | user.setPictureUrl(personBasicInfoDto.getPictureUrl()); |
| | | user.setDepartLimsId(personBasicInfoDto.getDepartLimsId()); |
| | | userMapper.updateById(user); |
| | | PersonBasicInfo personBasicInfo = JSONObject.parseObject(JSON.toJSONString(personBasicInfoDto), PersonBasicInfo.class); |
| | | PersonBasicInfo one = baseMapper.selectOne(new LambdaQueryWrapper<PersonBasicInfo>() |
| | | .eq(PersonBasicInfo::getUserId, personBasicInfoDto.getUserId())); |
| | | if(Objects.isNull(one)) { |
| | | baseMapper.insert(personBasicInfo); |
| | | }else { |
| | | baseMapper.updateById(personBasicInfo); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public IPage<Map<String, Object>> basicInformationOfPersonnelSelectPage(Page page, String name, Integer departmentId) { |
| | | return baseMapper.selectPersonBasecInfoAndUser(page, name, departmentId); |
| | | } |
| | | |
| | | @Override |
| | | public void exportPersonBasicInfo(UserPageDto userPageDto, HttpServletResponse response) throws Exception { |
| | | ArrayList<PersonBasicInfoDto> data = new ArrayList<>(); |
| | | List<User> list = userMapper.selectList(null); |
| | | for (User user : list) { |
| | | PersonBasicInfoDto personBasicInfoDto = new PersonBasicInfoDto(); |
| | | PersonBasicInfo personBasicInfo = baseMapper.selectOne(Wrappers.<PersonBasicInfo>lambdaQuery().eq(PersonBasicInfo::getUserId, user.getId())); |
| | | if (ObjectUtils.isNotEmpty(personBasicInfo)) { |
| | | BeanUtils.copyProperties(personBasicInfo, personBasicInfoDto); |
| | | } |
| | | personBasicInfoDto.setName(user.getName()); |
| | | personBasicInfoDto.setAccount(user.getAccount()); |
| | | personBasicInfoDto.setPhone(ObjectUtils.isNotEmpty(user.getPhone()) ? user.getPhone() : " "); |
| | | data.add(personBasicInfoDto); |
| | | } |
| | | response.setContentType("application/vnd.ms-excel"); |
| | | response.setCharacterEncoding("UTF-8"); |
| | | String fileName = URLEncoder.encode("人ååºæ¬ä¿¡æ¯å表导åº", "UTF-8"); |
| | | response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); |
| | | try { |
| | | // æ°å»ºExcelWriter |
| | | ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream()).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build(); |
| | | WriteSheet mainSheet = EasyExcel.writerSheet(0, "人ååºæ¬ä¿¡æ¯å¯¼åº").head(PersonBasicInfoDto.class).build(); |
| | | excelWriter.write(data, mainSheet); |
| | | // å
³éæµ |
| | | excelWriter.finish(); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException("导åºå¤±è´¥"); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public String exportPersonBasicInfoById(Integer id, HttpServletResponse response) { |
| | | Map<String, Object> userMap = baseMapper.selectexportPersonBasic(id); |
| | | User user = userMapper.selectById(id); |
| | | PersonBasicInfo personBasicInfo = baseMapper.selectOne(Wrappers.<PersonBasicInfo>lambdaQuery().eq(PersonBasicInfo::getUserId, user.getId())); |
| | | if (ObjectUtils.isEmpty(personBasicInfo)){ |
| | | throw new ErrorException("è¯¥ç¨æ·çåºæ¬ä¿¡æ¯æ²¡æå½å
¥,ææ æ³å¯¼åº"); |
| | | } |
| | | // è¯ä»¶ |
| | | List<Annex> annexList = annexMapper.selectList(Wrappers.<Annex>lambdaQuery() |
| | | .eq(Annex::getUserId, id)); |
| | | // å·¥ä½ç»å |
| | | List<PersonBasicInfoWork> personBasicInfoWorks = personBasicInfoWorkMapper.selectList(Wrappers.<PersonBasicInfoWork>lambdaQuery() |
| | | .eq(PersonBasicInfoWork::getUserId, id)); |
| | | |
| | | List<PersonBasicInfoWorkDto> workList = personBasicInfoWorks.stream().map(basicInfoWork -> { |
| | | PersonBasicInfoWorkDto personBasicInfoWorkDto = new PersonBasicInfoWorkDto(); |
| | | personBasicInfoWorkDto.setWorkExperience(basicInfoWork.getWorkExperience()); |
| | | personBasicInfoWorkDto.setFill("主è¦å·¥ä½ç»å\nMain work experienceâ1"); |
| | | return personBasicInfoWorkDto; |
| | | }).collect(Collectors.toList()); |
| | | |
| | | // æ£æ¥å表é¿åº¦å¹¶å¡«å
空对象 |
| | | while (annexList.size() < 10) { |
| | | annexList.add(new Annex()); |
| | | } |
| | | |
| | | // æ£æ¥å表é¿åº¦å¹¶å¡«å
空对象 |
| | | while (workList.size() < 4) { |
| | | workList.add(new PersonBasicInfoWorkDto()); |
| | | } |
| | | |
| | | // è·åè·¯å¾ |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/person-basic-info.docx"); |
| | | Configure configure = Configure.builder() |
| | | .bind("annexList", new HackLoopTableRenderPolicy()) |
| | | .bind("workList", new HackLoopTableRenderPolicy()) |
| | | .build(); |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("user", userMap); |
| | | put("annexList", annexList); |
| | | put("workList", workList); |
| | | }}); |
| | | |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String fileName = URLEncoder.encode( |
| | | userMap.get("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("导åºå¤±è´¥"); |
| | | } |
| | | |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 人åå¹è®åºæ¬ä¿¡æ¯éä»¶æ°å¢ |
| | | * @param userId |
| | | * @param file |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean uploadBasicInfoFile(Integer userId, MultipartFile file) { |
| | | if (userId == null) { |
| | | throw new ErrorException("缺å°äººåid"); |
| | | } |
| | | |
| | | String urlString; |
| | | String pathName; |
| | | String path; |
| | | String filename = file.getOriginalFilename(); |
| | | String contentType = file.getContentType(); |
| | | PersonBasicInfoFile personBasicInfoFile = new PersonBasicInfoFile(); |
| | | personBasicInfoFile.setUserId(userId); |
| | | personBasicInfoFile.setFileName(filename); |
| | | if (contentType != null && contentType.startsWith("image/")) { |
| | | // æ¯å¾ç |
| | | path = imgUrl; |
| | | personBasicInfoFile.setType(1); |
| | | } else { |
| | | // æ¯æä»¶ |
| | | path = wordUrl; |
| | | personBasicInfoFile.setType(2); |
| | | } |
| | | try { |
| | | File realpath = new File(path); |
| | | if (!realpath.exists()) { |
| | | realpath.mkdirs(); |
| | | } |
| | | pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "_" + file.getOriginalFilename(); |
| | | urlString = realpath + "/" + pathName; |
| | | file.transferTo(new File(urlString)); |
| | | personBasicInfoFile.setFileUrl(pathName); |
| | | personBasicInfoFileMapper.insert(personBasicInfoFile); |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | System.err.println("éä»¶ä¸ä¼ é误"); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * é彿¥è¯¢åèç¹ |
| | | * @param root æ ¹èç¹ |
| | | * @param all ææèç¹ |
| | | * @return æ ¹èç¹ä¿¡æ¯ |
| | | */ |
| | | private List<DepartmentDto> getChildren(DepartmentDto root, List<DepartmentDto> all) { |
| | | if (ObjectUtils.isNotEmpty(root.getId())) { |
| | | return all.stream().filter(m -> Objects.equals(m.getFatherId(), root.getId())).peek( |
| | | (m) -> m.setChildren(getChildren(m, all)) |
| | | ).collect(Collectors.toList()); |
| | | } else { |
| | | return Collections.emptyList(); |
| | | } |
| | | } |
| | | |
| | | // æ°´å¹³åå¹¶åå
æ ¼ |
| | | private static void mergeCellsHorizontally(XWPFTable table, int row, int fromCol, int toCol) { |
| | | for (int i = fromCol; i <= toCol; i++) { |
| | | if (i == fromCol) { |
| | | table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.RESTART); |
| | | } else { |
| | | table.getRow(row).getCell(i).getCTTc().addNewTcPr().addNewHMerge().setVal(STMerge.CONTINUE); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // åç´åå¹¶åå
æ ¼ |
| | | private static void mergeCellsVertically(XWPFTable table, int col, int fromRow, int toRow) { |
| | | for (int i = fromRow; i <= toRow; i++) { |
| | | if (i == fromRow) { |
| | | table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.RESTART); |
| | | } else { |
| | | table.getRow(i).getCell(col).getCTTc().addNewTcPr().addNewVMerge().setVal(STMerge.CONTINUE); |
| | | } |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.personnel.mapper.PersonBasicInfoWorkMapper; |
| | | import com.ruoyi.personnel.pojo.PersonBasicInfoWork; |
| | | import com.ruoyi.personnel.service.PersonBasicInfoWorkService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 人ååºæ¬ä¿¡æ¯ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author æ±èéµ·éç½ç»ç§ææéå
¬å¸ |
| | | * @since 2025-01-09 05:45:04 |
| | | */ |
| | | @Service |
| | | public class PersonBasicInfoWorkServiceImpl extends ServiceImpl<PersonBasicInfoWorkMapper, PersonBasicInfoWork> implements PersonBasicInfoWorkService { |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.PersonCommunicationAbilityDto; |
| | | import com.ruoyi.personnel.mapper.PersonCommunicationAbilityMapper; |
| | | import com.ruoyi.personnel.pojo.PersonCommunicationAbility; |
| | | import com.ruoyi.personnel.service.PersonCommunicationAbilityService; |
| | | import com.ruoyi.system.mapper.UserMapper; |
| | | 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.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | | * æ²éè½å æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-09 12:00:57 |
| | | */ |
| | | @Service |
| | | public class PersonCommunicationAbilityServiceImpl extends ServiceImpl<PersonCommunicationAbilityMapper, PersonCommunicationAbility> implements PersonCommunicationAbilityService { |
| | | |
| | | @Resource |
| | | private UserMapper userMapper; |
| | | |
| | | @Override |
| | | public IPage<PersonCommunicationAbilityDto> personPersonCommunicationAbilityPage(Page page, Integer departLimsId, Integer userId, String userName) { |
| | | IPage<PersonCommunicationAbilityDto> personCommunicationAbilityDtoIPage = baseMapper.personPersonCommunicationAbilityPage(page, departLimsId, userId, userName); |
| | | List<PersonCommunicationAbilityDto> collect = personCommunicationAbilityDtoIPage.getRecords().stream().map(personCommunicationAbilityDto -> { |
| | | if (ObjectUtils.isNotEmpty(personCommunicationAbilityDto.getUserId())) { |
| | | List<String> account = new ArrayList<>(); |
| | | List<String> name = new ArrayList<>(); |
| | | for (String s : personCommunicationAbilityDto.getUserId().split(",")) { |
| | | User user = userMapper.selectById(Integer.parseInt(s)); |
| | | account.add(user.getAccount()); |
| | | name.add(user.getName()); |
| | | } |
| | | personCommunicationAbilityDto.setAccount(account.stream().collect(Collectors.joining(","))); |
| | | personCommunicationAbilityDto.setUserName(name.stream().collect(Collectors.joining(","))); |
| | | } |
| | | return personCommunicationAbilityDto; // è¿éå¯ä»¥å¯¹è¿åçæ°æ®è¿è¡å¤çï¼å¦æ·»å ä¸äºæ°ç屿§æè½¬æ¢çã |
| | | }).collect(Collectors.toList()); |
| | | personCommunicationAbilityDtoIPage.setRecords(collect); |
| | | return personCommunicationAbilityDtoIPage; |
| | | } |
| | | |
| | | @Override |
| | | public void exportPersonCommunicationAbility(Integer id, HttpServletResponse response) throws Exception { |
| | | PersonCommunicationAbility personCommunicationAbility = baseMapper.selectById(id); |
| | | //æ²é人 |
| | | String collect = " "; |
| | | if (ObjectUtils.isNotEmpty(personCommunicationAbility.getUserId())) { |
| | | List<String> name = new ArrayList<>(); |
| | | for (String s : personCommunicationAbility.getUserId().split(",")) { |
| | | User user = userMapper.selectById(Integer.parseInt(s)); |
| | | name.add(user.getName()); |
| | | } |
| | | collect = name.stream().collect(Collectors.joining(",")); |
| | | } |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyå¹´MMæddæ¥"); |
| | | |
| | | //æ¶é´ |
| | | String communicationTime = ""; |
| | | if (ObjectUtils.isNotEmpty(personCommunicationAbility.getCommunicationTime())) { |
| | | communicationTime = personCommunicationAbility.getCommunicationTime().format(formatter); |
| | | } |
| | | |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/communication-deal.docx"); |
| | | ConfigureBuilder builder = Configure.builder(); |
| | | builder.useSpringEL(true); |
| | | String finalCollect = collect; |
| | | String finalCommunicationTime = communicationTime; |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("userName", finalCollect); |
| | | put("communicationTime", finalCommunicationTime); |
| | | put("communicationPlace", personCommunicationAbility.getCommunicationPlace()); |
| | | put("communicationContent", personCommunicationAbility.getCommunicationContent()); |
| | | }}); |
| | | |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String fileName = URLEncoder.encode( |
| | | "æ²éè®°å½", "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("导åºå¤±è´¥"); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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å¹´MMæddæ¥"); |
| | | //å²ä½åç§° |
| | | 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("导åºå¤±è´¥"); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | 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.Pictures; |
| | | import com.ruoyi.common.core.domain.entity.InformationNotification; |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | | import com.ruoyi.common.utils.DateImageUtil; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.WxCpUtils; |
| | | import com.ruoyi.framework.exception.ErrorException; |
| | | import com.ruoyi.personnel.dto.PersonPersonnelCapacityDto; |
| | | import com.ruoyi.personnel.dto.PersonPersonnelCapacityExportDto; |
| | | import com.ruoyi.personnel.pojo.PersonPersonnelCapacity; |
| | | import com.ruoyi.personnel.mapper.PersonPersonnelCapacityMapper; |
| | | import com.ruoyi.personnel.service.PersonPersonnelCapacityService; |
| | | import com.ruoyi.system.mapper.UserMapper; |
| | | import com.ruoyi.system.service.InformationNotificationService; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | | import java.net.URLEncoder; |
| | | import java.util.HashMap; |
| | | |
| | | /** |
| | | * <p> |
| | | * 人åè½å æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-10 11:26:18 |
| | | */ |
| | | @Service |
| | | public class PersonPersonnelCapacityServiceImpl extends ServiceImpl<PersonPersonnelCapacityMapper, PersonPersonnelCapacity> implements PersonPersonnelCapacityService { |
| | | |
| | | @Resource |
| | | private UserMapper userMapper; |
| | | @Resource |
| | | private InformationNotificationService informationNotificationService; |
| | | |
| | | @Resource |
| | | private ThreadPoolTaskExecutor threadPoolTaskExecutor; |
| | | |
| | | |
| | | @Value("${file.path}") |
| | | private String imgUrl; |
| | | |
| | | @Override |
| | | public IPage<PersonPersonnelCapacityDto> personPersonnelCapacityPage(Page page, Integer departLimsId, Integer userId, String userName) { |
| | | return baseMapper.personPersonnelCapacityPage(page, departLimsId, userId, userName); |
| | | } |
| | | |
| | | /** |
| | | * 导åºäººåè½å |
| | | * @param id |
| | | * @param response |
| | | */ |
| | | @Override |
| | | public void exportPersonnelCapacity(Integer id, HttpServletResponse response) { |
| | | PersonPersonnelCapacityExportDto capacityExportDto = baseMapper.selectExportPersonnelCapacity(id); |
| | | |
| | | // 确认人 |
| | | String confirmUrl = null; |
| | | if (capacityExportDto.getConfirmOperatingPersonnelId() != null) { |
| | | confirmUrl = userMapper.selectById(capacityExportDto.getConfirmOperatingPersonnelId()).getSignatureUrl(); |
| | | if (StringUtils.isBlank(confirmUrl)) { |
| | | throw new ErrorException("缺å°ç¡®è®¤äººç¾å"); |
| | | } |
| | | } |
| | | |
| | | // è·åè·¯å¾ |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/personnel-capacity.docx"); |
| | | ConfigureBuilder builder = Configure.builder(); |
| | | builder.useSpringEL(true); |
| | | String finalConfirmUrl = confirmUrl; |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, builder.build()).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("capacity", capacityExportDto); |
| | | put("confirmUrl", StringUtils.isNotBlank(finalConfirmUrl) ? Pictures.ofLocal(imgUrl + "/" + finalConfirmUrl).create() : null); |
| | | put("confirmDateUrl", capacityExportDto.getConfirmDate() != null ? |
| | | Pictures.ofStream(DateImageUtil.createDateImage(capacityExportDto.getConfirmDate())).create() : null); |
| | | }}); |
| | | |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String fileName = URLEncoder.encode( |
| | | "人åè½å", "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("导åºå¤±è´¥"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æäº¤ç¡®è®¤äººåè½å |
| | | * @param personPersonnelCapacity |
| | | */ |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void submitConfirmPersonnelCapability(PersonPersonnelCapacity personPersonnelCapacity) { |
| | | if (personPersonnelCapacity.getConfirmOperatingPersonnelId() == null) { |
| | | throw new ErrorException("缺å°ç¡®è®¤äºº"); |
| | | } |
| | | User formUser = userMapper.selectById(personPersonnelCapacity.getUserId()); |
| | | |
| | | Integer userId = SecurityUtils.getUserId().intValue(); |
| | | User user = userMapper.selectById(userId); |
| | | // æ¶æ¯åé |
| | | InformationNotification info = new InformationNotification(); |
| | | // åé人 |
| | | info.setCreateUser(user.getName()); |
| | | info.setMessageType("6"); |
| | | info.setTheme("CNAS人åè½å确认éç¥"); |
| | | info.setContent(formUser.getName() + "ç人åè½åå¾
确认"); |
| | | info.setSenderId(userId); |
| | | // æ¥æ¶äºº |
| | | info.setConsigneeId(personPersonnelCapacity.getConfirmOperatingPersonnelId()); |
| | | info.setJumpPath("a6-personnel"); |
| | | informationNotificationService.addInformationNotification(info); |
| | | this.saveOrUpdate(personPersonnelCapacity); |
| | | |
| | | // åéä¼ä¸å¾®ä¿¡éç¥ |
| | | threadPoolTaskExecutor.execute(() -> { |
| | | // æ¥è¯¢æ¥æ¶äºº |
| | | User personnel = userMapper.selectById(personPersonnelCapacity.getConfirmOperatingPersonnelId()); |
| | | |
| | | String message = ""; |
| | | message += "CNAS人åè½å确认éç¥"; |
| | | message += "\n请å»èµæºç®¡ç-人å-人åè½åå¡«å"; |
| | | message += "\n" + formUser.getName() + "ç人åè½åå¾
确认"; |
| | | //åéä¼ä¸å¾®ä¿¡æ¶æ¯éç¥ |
| | | try { |
| | | WxCpUtils.inform(personnel.getAccount(), message, null); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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("导åºå¤±è´¥"); |
| | | } |
| | | |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | | import com.ruoyi.common.numgen.NumberGenerator; |
| | | import com.ruoyi.framework.exception.ErrorException; |
| | | import com.ruoyi.personnel.dto.PersonTrainingDetailedDto; |
| | | import com.ruoyi.personnel.excel.PersonTrainingDetailedUpload; |
| | | import com.ruoyi.personnel.mapper.PersonTrainingDetailedMapper; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingDetailed; |
| | | import com.ruoyi.personnel.service.PersonTrainingDetailedService; |
| | | import com.ruoyi.system.mapper.UserMapper; |
| | | import lombok.AllArgsConstructor; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å¹è®è®¡å详æ
æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-11 01:46:27 |
| | | */ |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @AllArgsConstructor |
| | | public class PersonTrainingDetailedServiceImpl extends ServiceImpl<PersonTrainingDetailedMapper, PersonTrainingDetailed> implements PersonTrainingDetailedService { |
| | | |
| | | |
| | | private UserMapper userMapper; |
| | | |
| | | @Override |
| | | public void importExcel(List<PersonTrainingDetailedUpload> list, Integer planId) { |
| | | List<PersonTrainingDetailed> personTrainingDetailedList = new ArrayList<>(); |
| | | list.forEach(i -> { |
| | | PersonTrainingDetailed personTrainingDetailed = new PersonTrainingDetailed(); |
| | | BeanUtils.copyProperties(i, personTrainingDetailed); |
| | | |
| | | // å¹é
è®²å¸ |
| | | User user = userMapper.selectOne(Wrappers.<User>lambdaQuery() |
| | | .eq(User::getName, i.getTrainingLecturerName())); |
| | | if (ObjectUtils.isEmpty(user)) { |
| | | throw new ErrorException("æªæ¾å°è¯¥è®²å¸ï¼" + i.getTrainingLecturerName()); |
| | | } |
| | | personTrainingDetailed.setTrainingLecturerId(user.getId()); |
| | | personTrainingDetailed.setPlanId(planId); |
| | | personTrainingDetailed.setState(3); |
| | | |
| | | personTrainingDetailed.setTrainingDate(i.getTrainingDate()); |
| | | |
| | | |
| | | personTrainingDetailedList.add(personTrainingDetailed); |
| | | }); |
| | | // æ¹éæ°å¢ |
| | | if (CollectionUtils.isNotEmpty(personTrainingDetailedList)) { |
| | | baseMapper.insertBatchSomeColumn(personTrainingDetailedList); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void deleteAnnualPlanDetailTable(String ids) { |
| | | String[] split = ids.split(","); |
| | | if (split.length > 0) { |
| | | for (String s : split) { |
| | | baseMapper.deleteById(s); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public IPage<PersonTrainingDetailedDto> queryTheAnnualPlanDetailsTable(Page page, String trainingLecturerName, String courseCode, String trainingDate, Integer id, Integer userId) { |
| | | return baseMapper.queryTheAnnualPlanDetailsTable(page, trainingLecturerName, courseCode, trainingDate, id, userId, null); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | 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.ruoyi.common.core.domain.entity.InformationNotification; |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.WxCpUtils; |
| | | import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; |
| | | import com.ruoyi.personnel.dto.PersonTrainingRecordDto; |
| | | import com.ruoyi.personnel.dto.PersonTrainingRecordListDto; |
| | | import com.ruoyi.personnel.dto.PersonTrainingRecordSubmitDto; |
| | | import com.ruoyi.personnel.dto.TrainingRecordPersonDetailedDto; |
| | | import com.ruoyi.personnel.mapper.PersonTrainingRecordMapper; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingDetailed; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingRecord; |
| | | import com.ruoyi.personnel.service.PersonTrainingDetailedService; |
| | | import com.ruoyi.personnel.service.PersonTrainingRecordService; |
| | | import com.ruoyi.system.mapper.UserMapper; |
| | | import com.ruoyi.system.service.InformationNotificationService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | | import java.net.URLEncoder; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å¹è®è®°å½ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-12 04:50:48 |
| | | */ |
| | | @Transactional(rollbackFor = Exception.class) |
| | | @Service |
| | | public class PersonTrainingRecordServiceImpl extends ServiceImpl<PersonTrainingRecordMapper, PersonTrainingRecord> implements PersonTrainingRecordService { |
| | | |
| | | @Autowired |
| | | private PersonTrainingDetailedService personTrainingDetailedService; |
| | | @Resource |
| | | private InformationNotificationService informationNotificationService; |
| | | @Resource |
| | | private ThreadPoolTaskExecutor threadPoolTaskExecutor; |
| | | @Resource |
| | | private UserMapper userMapper; |
| | | |
| | | @Override |
| | | public List<PersonTrainingRecordDto> trainingAndAssessmentRecordsPage(Integer trainingDetailedId, String userName) { |
| | | return baseMapper.trainingAndAssessmentRecordsPage(trainingDetailedId, userName); |
| | | } |
| | | |
| | | @Override |
| | | public void deleteTrainingAndAssessmentRecords(String ids) { |
| | | String[] split = ids.split(","); |
| | | if (split.length > 0) { |
| | | for (String s : split) { |
| | | baseMapper.deleteById(s); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public IPage<PersonTrainingRecordListDto> personnelTrainingPersonnel(Page page, String userName, Integer userId, Integer departLimsId) { |
| | | return baseMapper.personnelTrainingPersonnel(page, userName, userId, departLimsId); |
| | | } |
| | | |
| | | @Override |
| | | public void claimOfTrainingAndAssessmentRecords(Boolean claimAndClaim, Integer courseId) { |
| | | |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public IPage<TrainingRecordPersonDetailedDto> queryPersonnelDetailsOfUserIdAndYear(Page page, Integer userId, Integer year) { |
| | | return baseMapper.queryPersonnelDetailsOfUserIdAndYear(page, userId, year); |
| | | } |
| | | |
| | | @Override |
| | | public void exportTrainingRecordAddTrainingDate(Integer userId, Integer trainingDate, HttpServletResponse response) { |
| | | // æ¥è¯¢äººåäººä¿¡æ¯ |
| | | PersonTrainingRecordListDto trainingRecordListDto = baseMapper.selectUserTraining(userId); |
| | | |
| | | // æ¥è¯¢å¹è®è®°å½ |
| | | List<TrainingRecordPersonDetailedDto> personDetailedDtos = baseMapper.selectPersonDetailedDtosByTrainingDate(userId, trainingDate); |
| | | |
| | | |
| | | // è·åè·¯å¾ |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/training-record.docx"); |
| | | Configure configure = Configure.builder() |
| | | .bind("personnelDetailsLisat", new HackLoopTableRenderPolicy()) |
| | | .build(); |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("traning", trainingRecordListDto); |
| | | put("personnelDetailsLisat", personDetailedDtos); |
| | | }}); |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String fileName = URLEncoder.encode( |
| | | "人åå¹è®è®°å½å¯¼åº", "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("导åºå¤±è´¥"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * å¹è®æäº¤ |
| | | * @param personTrainingRecordSubmitDto |
| | | */ |
| | | @Override |
| | | public void trainingAndAssessmentRecordsAdded(PersonTrainingRecordSubmitDto personTrainingRecordSubmitDto) { |
| | | personTrainingDetailedService.update(Wrappers.<PersonTrainingDetailed>lambdaUpdate() |
| | | .eq(PersonTrainingDetailed::getId, personTrainingRecordSubmitDto.getTrainingDetailedId()) |
| | | .set(PersonTrainingDetailed::getAssessmentMethod, personTrainingRecordSubmitDto.getAssessmentMethod()) |
| | | .set(PersonTrainingDetailed::getPlaceTraining, personTrainingRecordSubmitDto.getPlaceTraining()) |
| | | .set(PersonTrainingDetailed::getOpeningTime, personTrainingRecordSubmitDto.getOpeningTime()) |
| | | .set(PersonTrainingDetailed::getAssessmentUserId, personTrainingRecordSubmitDto.getAssessmentUserId()) |
| | | .set(PersonTrainingDetailed::getState, personTrainingRecordSubmitDto.getState())); |
| | | |
| | | // åéæ¶æ¯éç¥ |
| | | if (personTrainingRecordSubmitDto.getState().equals(2)) { |
| | | PersonTrainingDetailed personPersonnelCapacity = personTrainingDetailedService.getById(personTrainingRecordSubmitDto.getTrainingDetailedId()); |
| | | |
| | | Integer userId = SecurityUtils.getUserId().intValue(); |
| | | User user = userMapper.selectById(userId); |
| | | // æ¶æ¯åé |
| | | InformationNotification info = new InformationNotification(); |
| | | // åé人 |
| | | info.setCreateUser(user.getName()); |
| | | info.setMessageType("6"); |
| | | info.setTheme("CNAS人åå¹è®è®¡åå¾
è¯ä»·"); |
| | | info.setContent("å¹è®å
容:" + personPersonnelCapacity.getTrainingContent() + "ç人åå¹è®å¾
è¯ä»·"); |
| | | info.setSenderId(userId); |
| | | // æ¥æ¶äºº |
| | | info.setConsigneeId(personTrainingRecordSubmitDto.getAssessmentUserId()); |
| | | info.setJumpPath("a6-personnel"); |
| | | informationNotificationService.addInformationNotification(info); |
| | | |
| | | // åéä¼ä¸å¾®ä¿¡éç¥ |
| | | threadPoolTaskExecutor.execute(() -> { |
| | | // æ¥è¯¢æ¥æ¶äºº |
| | | User personnel = userMapper.selectById(personTrainingRecordSubmitDto.getAssessmentUserId()); |
| | | |
| | | String message = ""; |
| | | message += "CNAS人åå¹è®è®¡åå¾
è¯ä»·"; |
| | | message += "\n请å»èµæºç®¡ç-人å-人åå¹è®è®¡å"; |
| | | message += "\n" + "å¹è®å
容:" + personPersonnelCapacity.getTrainingContent() + "ç人åå¹è®å¾
è¯ä»·"; |
| | | //åéä¼ä¸å¾®ä¿¡æ¶æ¯éç¥ |
| | | try { |
| | | WxCpUtils.inform(personnel.getAccount(), message, null); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.personnel.service.impl; |
| | | |
| | | import com.alibaba.excel.EasyExcel; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.StringUtils; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | 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.data.Pictures; |
| | | import com.ruoyi.common.core.domain.entity.InformationNotification; |
| | | import com.ruoyi.common.core.domain.entity.User; |
| | | import com.ruoyi.common.utils.DateImageUtil; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.WxCpUtils; |
| | | import com.ruoyi.framework.exception.ErrorException; |
| | | import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; |
| | | import com.ruoyi.personnel.dto.PersonTrainingDetailedDto; |
| | | import com.ruoyi.personnel.dto.PersonTrainingDto; |
| | | import com.ruoyi.personnel.dto.PersonTrainingRecordDto; |
| | | import com.ruoyi.personnel.dto.TrainingRecordExportDto; |
| | | import com.ruoyi.personnel.excel.PersonTrainingDetailedListener; |
| | | import com.ruoyi.personnel.excel.PersonTrainingDetailedUpload; |
| | | import com.ruoyi.personnel.mapper.PersonTrainingDetailedFileMapper; |
| | | import com.ruoyi.personnel.mapper.PersonTrainingDetailedMapper; |
| | | import com.ruoyi.personnel.mapper.PersonTrainingMapper; |
| | | import com.ruoyi.personnel.mapper.PersonTrainingRecordMapper; |
| | | import com.ruoyi.personnel.pojo.PersonTraining; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingDetailed; |
| | | import com.ruoyi.personnel.pojo.PersonTrainingDetailedFile; |
| | | import com.ruoyi.personnel.service.PersonTrainingDetailedService; |
| | | import com.ruoyi.personnel.service.PersonTrainingService; |
| | | import com.ruoyi.system.mapper.UserMapper; |
| | | import com.ruoyi.system.service.InformationNotificationService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | | import java.net.URLEncoder; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | |
| | | /** |
| | | * <p> |
| | | * å¹è®è®¡å æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2024-10-11 01:11:49 |
| | | */ |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class PersonTrainingServiceImpl extends ServiceImpl<PersonTrainingMapper, PersonTraining> implements PersonTrainingService { |
| | | |
| | | @Autowired |
| | | private PersonTrainingDetailedService personTrainingDetailedService; |
| | | @Autowired |
| | | private UserMapper userMapper; |
| | | @Autowired |
| | | private PersonTrainingDetailedMapper personTrainingDetailedMapper; |
| | | @Autowired |
| | | private PersonTrainingRecordMapper personTrainingRecordMapper; |
| | | @Autowired |
| | | private PersonTrainingDetailedFileMapper personTrainingDetailedFileMapper; |
| | | @Resource |
| | | private InformationNotificationService informationNotificationService; |
| | | @Resource |
| | | private ThreadPoolTaskExecutor threadPoolTaskExecutor; |
| | | @Value("${file.path}") |
| | | private String imgUrl; |
| | | |
| | | @Value("${wordUrl}") |
| | | private String wordUrl; |
| | | |
| | | @Override |
| | | public IPage<PersonTrainingDto> personTrainingSelect(Page page, String compilerName, String departmentId) { |
| | | |
| | | return baseMapper.personTrainingSelect(page, compilerName, departmentId); |
| | | } |
| | | |
| | | @Override |
| | | public void personTrainingImport(MultipartFile file, PersonTraining training) { |
| | | |
| | | Integer userId = SecurityUtils.getUserId().intValue(); |
| | | // 年度计åç¶çº§æ°å¢æ°æ® |
| | | PersonTraining personSupervisePlan = new PersonTraining(); |
| | | String fileName = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf(".")); |
| | | personSupervisePlan.setFileName(fileName); |
| | | personSupervisePlan.setPlanYear(training.getPlanYear()); |
| | | personSupervisePlan.setCompilerId(userId); |
| | | personSupervisePlan.setReviewerId(training.getReviewerId()); |
| | | personSupervisePlan.setCompilationDate(LocalDateTime.now()); |
| | | baseMapper.insert(personSupervisePlan); |
| | | User user = userMapper.selectById(userId); |
| | | // æ¶æ¯åé |
| | | InformationNotification info = new InformationNotification(); |
| | | // åé人 |
| | | info.setCreateUser(user.getName()); |
| | | info.setMessageType("6"); |
| | | info.setTheme("CNASå¹è®è®¡åå®¡æ ¸éç¥"); |
| | | info.setContent("æ¨æä¸æ¡å¹è®è®¡åå¾
å®¡æ ¸"); |
| | | info.setSenderId(userId); |
| | | // æ¥æ¶äºº |
| | | info.setConsigneeId(training.getApproverId()); |
| | | info.setJumpPath("a6-personnel"); |
| | | informationNotificationService.addInformationNotification(info); |
| | | |
| | | // åéä¼ä¸å¾®ä¿¡éç¥ |
| | | threadPoolTaskExecutor.execute(() -> { |
| | | // æ¥è¯¢æ¥æ¶äºº |
| | | User personnel = userMapper.selectById(training.getApproverId()); |
| | | |
| | | String message = ""; |
| | | message += "CNASå¹è®è®¡åå®¡æ ¸éç¥"; |
| | | message += "\n请å»èµæºç®¡ç-人å-å¹è®è®¡åå¡«å"; |
| | | message += "\n" + fileName + "çå¹è®è®¡åå¾
å®¡æ ¸"; |
| | | //åéä¼ä¸å¾®ä¿¡æ¶æ¯éç¥ |
| | | try { |
| | | WxCpUtils.inform(personnel.getAccount(), message, null); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }); |
| | | |
| | | // 年度计å详æ
æ°å¢ |
| | | try { |
| | | PersonTrainingDetailedListener personSupervisePlanDetailsListener = new PersonTrainingDetailedListener(personTrainingDetailedService); |
| | | personSupervisePlanDetailsListener.setPlanId(personSupervisePlan.getId()); |
| | | EasyExcel.read(file.getInputStream(), PersonTrainingDetailedUpload.class, personSupervisePlanDetailsListener).sheet().doRead(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void personTrainingDelete(Integer id) { |
| | | personTrainingDetailedService.remove(Wrappers.<PersonTrainingDetailed>lambdaQuery() |
| | | .eq(PersonTrainingDetailed::getPlanId, id)); |
| | | baseMapper.deleteById(id); |
| | | } |
| | | |
| | | @Override |
| | | public void reviewAnnualPersonnelTraining(PersonTraining training) { |
| | | PersonTraining personTraining = new PersonTraining(); |
| | | personTraining.setId(training.getId()); |
| | | personTraining.setApproverId(training.getApproverId());// æ·»å æ¹å人 |
| | | personTraining.setAuditDate(LocalDateTime.now()); |
| | | personTraining.setAuditRemarks(training.getAuditRemarks()); |
| | | personTraining.setReviewerStatus(training.getReviewerStatus()); |
| | | |
| | | PersonTraining old = baseMapper.selectById(training.getId()); |
| | | |
| | | // æ¶æ¯åé |
| | | Integer userId = SecurityUtils.getUserId().intValue(); |
| | | User user = userMapper.selectById(userId); |
| | | InformationNotification info = new InformationNotification(); |
| | | // åé人 |
| | | info.setCreateUser(user.getName()); |
| | | info.setMessageType("6"); |
| | | info.setTheme("CNASå¹è®è®¡åå®¡æ ¸éç¥"); |
| | | info.setContent("æ¨æä¸æ¡å¹è®è®¡åå¾
æ¹å"); |
| | | info.setSenderId(userId); |
| | | // æ¥æ¶äºº |
| | | info.setConsigneeId(training.getApproverId()); |
| | | info.setJumpPath("a6-personnel"); |
| | | informationNotificationService.addInformationNotification(info); |
| | | |
| | | // åéä¼ä¸å¾®ä¿¡éç¥ |
| | | threadPoolTaskExecutor.execute(() -> { |
| | | // æ¥è¯¢æ¥æ¶äºº |
| | | User personnel = userMapper.selectById(training.getApproverId()); |
| | | |
| | | String message = ""; |
| | | message += "CNASå¹è®è®¡åæ¹åéç¥"; |
| | | message += "\n请å»èµæºç®¡ç-人å-å¹è®è®¡åå¡«å"; |
| | | message += "\n" + old.getFileName() + "çå¹è®è®¡åå¾
æ¹å"; |
| | | //åéä¼ä¸å¾®ä¿¡æ¶æ¯éç¥ |
| | | try { |
| | | WxCpUtils.inform(personnel.getAccount(), message, null); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }); |
| | | |
| | | baseMapper.updateById(personTraining); |
| | | } |
| | | |
| | | @Override |
| | | public void approveAnnualPersonnelTraining(PersonTraining training) { |
| | | LambdaUpdateWrapper<PersonTraining> wrapper = Wrappers.<PersonTraining>lambdaUpdate() |
| | | .eq(PersonTraining::getId, training.getId()) |
| | | .set(PersonTraining::getApprovalDate, LocalDateTime.now()) |
| | | .set(PersonTraining::getApprovalRemarks, training.getApprovalRemarks()) |
| | | .set(PersonTraining::getApprovalStatus, training.getApprovalStatus()); |
| | | baseMapper.update(new PersonTraining(), wrapper); |
| | | } |
| | | |
| | | /** |
| | | * 导åºäººåå¹è®è®¡å |
| | | * @param id |
| | | * @param response |
| | | */ |
| | | @Override |
| | | public void exportPersonTraining(Integer id, HttpServletResponse response) { |
| | | |
| | | // æ¥è¯¢è¯¦æ
|
| | | PersonTraining personTraining = baseMapper.selectById(id); |
| | | |
| | | //è·åæäº¤äººçç¾åå°å |
| | | String writeUrl = userMapper.selectById(personTraining.getCompilerId()).getSignatureUrl(); |
| | | if (ObjectUtils.isEmpty(writeUrl) || writeUrl.equals("")) { |
| | | throw new ErrorException("æ¾ä¸å°æ£éªäººçç¾å"); |
| | | } |
| | | |
| | | //è·å夿 ¸äººçç¾åå°å |
| | | String examineUrl = null; |
| | | if (personTraining.getReviewerId() != null) { |
| | | examineUrl = userMapper.selectById(personTraining.getReviewerId()).getSignatureUrl(); |
| | | if (StringUtils.isBlank(examineUrl)) { |
| | | throw new ErrorException("æ¾ä¸å°å¤æ ¸äººçç¾å"); |
| | | } |
| | | } |
| | | |
| | | //è·åæ¹å人çç¾åå°å |
| | | String ratifyUrl = null; |
| | | if (personTraining.getApproverId() != null) { |
| | | ratifyUrl = userMapper.selectById(personTraining.getApproverId()).getSignatureUrl(); |
| | | if (StringUtils.isBlank(ratifyUrl)) { |
| | | throw new ErrorException("æ¾ä¸å°å¤æ ¸äººçç¾å"); |
| | | } |
| | | } |
| | | |
| | | // æ¥è¯¢è¯¦æ
|
| | | List<PersonTrainingDetailedDto> detailedDtos = personTrainingDetailedMapper.selectTrainingList(id); |
| | | |
| | | int index = 1; |
| | | for (PersonTrainingDetailedDto detailedDto : detailedDtos) { |
| | | detailedDto.setTrainingDateString(detailedDto.getTrainingDate()); |
| | | detailedDto.setIndex(index); |
| | | index++; |
| | | } |
| | | |
| | | // è·åè·¯å¾ |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/person-training.docx"); |
| | | String finalExamineUrl = examineUrl; |
| | | String finalRatifyUrl = ratifyUrl; |
| | | Configure configure = Configure.builder() |
| | | .bind("trainingDetailedList", new HackLoopTableRenderPolicy()) |
| | | .build(); |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("year", personTraining.getPlanYear()); |
| | | put("trainingDetailedList", detailedDtos); |
| | | put("writeUrl", StringUtils.isNotBlank(writeUrl) ? Pictures.ofLocal(imgUrl + "/" + writeUrl).create() : null); |
| | | put("examineUrl", StringUtils.isNotBlank(finalExamineUrl) ? Pictures.ofLocal(imgUrl + "/" + finalExamineUrl).create() : null); |
| | | put("ratifyUrl", StringUtils.isNotBlank(finalRatifyUrl) ? Pictures.ofLocal(imgUrl + "/" + finalRatifyUrl).create() : null); |
| | | put("writeDateUrl", personTraining.getCompilationDate() != null ? |
| | | Pictures.ofStream(DateImageUtil.createDateImage(personTraining.getCompilationDate())).create() : null); |
| | | put("examineDateUrl", personTraining.getAuditDate() != null ? |
| | | Pictures.ofStream(DateImageUtil.createDateImage(personTraining.getAuditDate())).create() : null); |
| | | put("ratifyDateUrl", personTraining.getApprovalDate() != null ? |
| | | Pictures.ofStream(DateImageUtil.createDateImage(personTraining.getApprovalDate())).create() : null); |
| | | }}); |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String fileName = URLEncoder.encode( |
| | | "人åå¹è®è®¡å导åº", "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("导åºå¤±è´¥"); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 导åºäººåå¹è®ä¸èæ ¸è®°å½ |
| | | * @param id |
| | | * @param response |
| | | */ |
| | | @Override |
| | | public void exportPersonTrainingRecord(Integer id, HttpServletResponse response) { |
| | | // æ¥è¯¢äººåå¹è®æç» |
| | | PersonTrainingDetailedDto detailedDto = personTrainingDetailedMapper.selectTrainingDetail(id); |
| | | |
| | | // æ¥è¯¢å¹è®ç人å |
| | | List<PersonTrainingRecordDto> recordDtos = personTrainingRecordMapper.selectListByTrainingDetailedId(id); |
| | | |
| | | List<TrainingRecordExportDto> exportDtoList = new ArrayList<>(); |
| | | TrainingRecordExportDto exportDto = new TrainingRecordExportDto(); |
| | | |
| | | int count = 0; |
| | | for (PersonTrainingRecordDto recordDto : recordDtos) { |
| | | switch (count) { |
| | | case 0: |
| | | exportDto.setUserName1(recordDto.getUserName()); |
| | | exportDto.setDepartment1(recordDto.getDepartment()); |
| | | exportDto.setExaminationResults1(recordDto.getExaminationResults()); |
| | | count ++; |
| | | break; |
| | | case 1: |
| | | exportDto.setUserName2(recordDto.getUserName()); |
| | | exportDto.setDepartment2(recordDto.getDepartment()); |
| | | exportDto.setExaminationResults2(recordDto.getExaminationResults()); |
| | | exportDtoList.add(exportDto); |
| | | exportDto = new TrainingRecordExportDto(); |
| | | count = 0; |
| | | break; |
| | | } |
| | | } |
| | | exportDtoList.add(exportDto); |
| | | |
| | | // è´¨éè´è´£äºº |
| | | String assessmentUserUrl = null; |
| | | if (detailedDto.getAssessmentUserId() != null) { |
| | | assessmentUserUrl = userMapper.selectById(detailedDto.getAssessmentUserId()).getSignatureUrl(); |
| | | if (StringUtils.isBlank(assessmentUserUrl)) { |
| | | throw new ErrorException("æ¾ä¸å°è¯ä»·äººçç¾å"); |
| | | } |
| | | } |
| | | |
| | | |
| | | // è·åè·¯å¾ |
| | | InputStream inputStream = this.getClass().getResourceAsStream("/static/person-training-record.docx"); |
| | | Configure configure = Configure.builder() |
| | | .bind("trainingRecordsList", new HackLoopTableRenderPolicy()) |
| | | .build(); |
| | | String finalAssessmentUserUrl = assessmentUserUrl; |
| | | XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( |
| | | new HashMap<String, Object>() {{ |
| | | put("trainingDetail", detailedDto); |
| | | put("trainingRecordsList", exportDtoList); |
| | | put("assessmentUserUrl", StringUtils.isNotBlank(finalAssessmentUserUrl) ? Pictures.ofLocal(imgUrl + "/" + finalAssessmentUserUrl).create() : null); |
| | | }}); |
| | | try { |
| | | response.setContentType("application/msword"); |
| | | String fileName = URLEncoder.encode( |
| | | "å¹è®ä¸èæ ¸è®°å½å¯¼åº", "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("导åºå¤±è´¥"); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 人åå¹è®è¯¦æ
éä»¶æ°å¢ |
| | | * @param trainingDetailedId |
| | | * @param file |
| | | * @return |
| | | */ |
| | | @Override |
| | | public boolean uploadTrainingDetailedFile(Integer trainingDetailedId, MultipartFile file) { |
| | | if (trainingDetailedId == null) { |
| | | throw new ErrorException("缺å°éªæ¶id"); |
| | | } |
| | | |
| | | String urlString; |
| | | String pathName; |
| | | String path; |
| | | String filename = file.getOriginalFilename(); |
| | | String contentType = file.getContentType(); |
| | | PersonTrainingDetailedFile detailedFile = new PersonTrainingDetailedFile(); |
| | | detailedFile.setTrainingDetailedId(trainingDetailedId); |
| | | detailedFile.setFileName(filename); |
| | | if (contentType != null && contentType.startsWith("image/")) { |
| | | // æ¯å¾ç |
| | | path = imgUrl; |
| | | detailedFile.setType(1); |
| | | } else { |
| | | // æ¯æä»¶ |
| | | path = wordUrl; |
| | | detailedFile.setType(2); |
| | | } |
| | | try { |
| | | File realpath = new File(path); |
| | | if (!realpath.exists()) { |
| | | realpath.mkdirs(); |
| | | } |
| | | pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "_" + file.getOriginalFilename(); |
| | | urlString = realpath + "/" + pathName; |
| | | file.transferTo(new File(urlString)); |
| | | detailedFile.setFileUrl(pathName); |
| | | personTrainingDetailedFileMapper.insert(detailedFile); |
| | | return true; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | System.err.println("éä»¶ä¸ä¼ é误"); |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æ¥è¯¢ä»å¹´äººåå¹è®ä¿¡æ¯ |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<PersonTrainingDetailed> getThisYearTrainingDetailed() { |
| | | return personTrainingDetailedMapper.getThisYearTrainingDetailed(); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.PersonBasicInfoMapper"> |
| | | |
| | | <select id="selectLimsUser" resultType="com.ruoyi.common.core.domain.entity.DepartmentDto"> |
| | | SELECT u.id userId, u.name, SUBSTRING_INDEX(SUBSTRING_INDEX(u.depart_lims_id, ',', -2), ',', 1) AS fatherId |
| | | FROM user u |
| | | where u.is_custom = 0 |
| | | and u.depart_lims_id is not null |
| | | and u.depart_lims_id != '' |
| | | </select> |
| | | |
| | | <select id="getCNASPersonnelInfo" resultType="com.ruoyi.personnel.dto.PersonBasicInfoDto"> |
| | | SELECT * |
| | | FROM user u |
| | | left join cnas_person_basic_info cpbi on cpbi.user_id = u.id |
| | | where u.id = #{userId} |
| | | </select> |
| | | |
| | | <select id="selectPersonBasecInfoAndUser" resultType="java.util.Map"> |
| | | select |
| | | u.id userId, |
| | | u.`name` name, |
| | | u.account account, |
| | | DATE_FORMAT(cpbi.group_time, '%Y-%m-%d') groupTime, |
| | | cpbi.native_place nativePlace, |
| | | cpbi.identity_card identityCard, |
| | | cpbi.id_address idAddress, |
| | | u.phone telephone, |
| | | cpbi.graduated_institutions1 graduatedInstitutions1, |
| | | cpbi.major1 major1, |
| | | DATE_FORMAT(cpbi.graduation_time1, '%Y-%m-%d') graduationTime1, |
| | | cpbi.official_academic_redentials officialAcademicRedentials, |
| | | cpbi.highest_degree highestDegree, |
| | | cpbi.professional_title professionalTitle |
| | | from user u |
| | | left join cnas_person_basic_info cpbi on cpbi.user_id = u.id |
| | | left join user u1 on u1.id = u.create_user |
| | | <where> |
| | | FIND_IN_SET(#{departmentId},u.depart_lims_id) |
| | | <if test="name != null and name != ''"> |
| | | and u.name like concat('%',#{name},'%') |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!-- å¯¼åºæ¥è¯¢äººåä¿¡æ¯ --> |
| | | <select id="selectexportPersonBasic" resultType="java.util.Map"> |
| | | select DATE_FORMAT(cpbi.last_update_time, '%Yå¹´%mæ%dæ¥') lastUpdateTimeString, |
| | | u.account, |
| | | u.`name`, |
| | | cpbi.sex, |
| | | cpbi.post_name postName, |
| | | u.age, |
| | | DATE_FORMAT(cpbi.working_time, '%Yå¹´%mæ') workingTimeString, |
| | | cpbi.major1, |
| | | DATE_FORMAT(cpbi.graduation_time1, '%Yå¹´%mæ') graduationTime1string, |
| | | cpbi.official_academic_redentials officialAcademicRedentials, |
| | | cpbi.graduated_institutions1 graduatedInstitutions1, |
| | | cpbi.remarks |
| | | from user u |
| | | left join cnas_person_basic_info cpbi on cpbi.user_id = u.id |
| | | where u.id = #{userId} |
| | | </select> |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.PersonCommunicationAbilityMapper"> |
| | | |
| | | |
| | | <select id="personPersonCommunicationAbilityPage" resultType="com.ruoyi.personnel.dto.PersonCommunicationAbilityDto"> |
| | | select cpca.*, us.name create_user_name |
| | | from cnas_person_communication_ability cpca |
| | | left join user us on cpca.create_user = us.id |
| | | <where> |
| | | <if test="userId != null and userId != ''"> |
| | | and FIND_IN_SET(#{userId},cpca.user_id) |
| | | </if> |
| | | <if test="departLimsId != null and departLimsId != ''"> |
| | | and FIND_IN_SET(#{departLimsId},us.depart_lims_id) |
| | | </if> |
| | | </where> |
| | | </select> |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.PersonPersonnelCapacityMapper"> |
| | | |
| | | <select id="personPersonnelCapacityPage" resultType="com.ruoyi.personnel.dto.PersonPersonnelCapacityDto"> |
| | | select cppc.*, |
| | | u2.name confirm_operating_personnel_name, |
| | | u3.name user_name, |
| | | cpbi.post_name, |
| | | ecp.responsibilities, |
| | | cpbi.professional_title, |
| | | TRIM(',' FROM CONCAT(cpbi.major1, ',', cpbi.major2)) AS major |
| | | from cnas_person_personnel_capacity cppc |
| | | left join user u2 on cppc.confirm_operating_personnel_id = u2.id |
| | | left join user u3 on cppc.user_id = u3.id |
| | | -- åå²ä½ |
| | | left join cnas_person_basic_info cpbi on cpbi.user_id = cppc.user_id |
| | | -- å人åè½åçå²ä½èè´£ |
| | | left join (SELECT GROUP_CONCAT(e.label) responsibilities, cppc.id |
| | | from cnas_person_personnel_capacity cppc |
| | | left join enums e on FIND_IN_SET(e.value, cppc.job_responsibilities) |
| | | where e.category = 'å²ä½èè´£' |
| | | GROUP BY cppc.id) ecp on ecp.id = cppc.id |
| | | <where> |
| | | <if test="userId != null and userId != ''"> |
| | | and cppc.user_id = #{userId} |
| | | </if> |
| | | <if test="departLimsId != null and departLimsId != ''"> |
| | | and FIND_IN_SET(#{departLimsId}, u3.depart_lims_id) |
| | | </if> |
| | | <if test="userName != null and userName != ''"> |
| | | and u3.name like concat('%', #{userName}, '%') |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!-- æ¥è¯¢äººåè½åæ¥å£ --> |
| | | <select id="selectExportPersonnelCapacity" |
| | | resultType="com.ruoyi.personnel.dto.PersonPersonnelCapacityExportDto"> |
| | | select cppc.*, |
| | | cpbi.post_name, |
| | | u1.name userName, |
| | | cpbi.official_academic_redentials, |
| | | cpbi.major1, |
| | | cpbi.professional_title, |
| | | p.place_work, |
| | | TRIM(',' FROM CONCAT(cpbi.major1, ',', cpbi.major2)) AS major, |
| | | case when cppc.academic_conform_not = 1 then 'â' |
| | | else 'â¡' end academicConformNot1,-- å¦å |
| | | case when cppc.academic_conform_not = 2 then 'â' |
| | | else 'â¡' end academicConformNot2, |
| | | case when cppc.academic_conform_not = 3 then 'â' |
| | | else 'â¡' end academicConformNot3, |
| | | case when cppc.related_years_conform_not = 1 then 'â' |
| | | else 'â¡' end relatedYearsConformNot1,-- ç¸å
³å¹´é |
| | | case when cppc.related_years_conform_not = 2 then 'â' |
| | | else 'â¡' end relatedYearsConformNot2, |
| | | case when cppc.related_years_conform_not = 3 then 'â' |
| | | else 'â¡' end relatedYearsConformNot3, |
| | | case when cppc.related_training_conform_not = 1 then 'â' |
| | | else 'â¡' end relatedTrainingConformNot1,-- ç¸å
³å¹è® |
| | | case when cppc.related_training_conform_not = 2 then 'â' |
| | | else 'â¡' end relatedTrainingConformNot2, |
| | | case when cppc.related_training_conform_not = 3 then 'â' |
| | | else 'â¡' end relatedTrainingConformNot3, |
| | | case when cppc.relevant_experience_conform_not = 1 then 'â' |
| | | else 'â¡' end relevantExperienceConformNot1,-- ç¸å
³ç»éª |
| | | case when cppc.relevant_experience_conform_not = 2 then 'â' |
| | | else 'â¡' end relevantExperienceConformNot2, |
| | | case when cppc.relevant_experience_conform_not = 3 then 'â' |
| | | else 'â¡' end relevantExperienceConformNot3, |
| | | case when cppc.work_license_conform_not = 1 then 'â' |
| | | else 'â¡' end workLicenseConformNot1,-- ä¸å²è¯ |
| | | case when cppc.work_license_conform_not = 2 then 'â' |
| | | else 'â¡' end workLicenseConformNot2, |
| | | case when cppc.work_license_conform_not = 3 then 'â' |
| | | else 'â¡' end workLicenseConformNot3, |
| | | case when cppc.job_responsibilities_conform_not = 1 then 'â' |
| | | else 'â¡' end jobResponsibilitiesConformNot1,-- å²ä½èè´£ |
| | | case when cppc.job_responsibilities_conform_not = 2 then 'â' |
| | | else 'â¡' end jobResponsibilitiesConformNot2, |
| | | case when cppc.job_responsibilities_conform_not = 3 then 'â' |
| | | else 'â¡' end jobResponsibilitiesConformNot3, |
| | | case when cppc.comprehensive_assessment = 'Qualified this position' then 'â' |
| | | else 'â¡' end comprehensiveAssessment1,-- 综åè¯ä»· |
| | | case when cppc.comprehensive_assessment = 'You can work while training' then 'â' |
| | | else 'â¡' end comprehensiveAssessment2, |
| | | case when cppc.comprehensive_assessment = 'Iconpetent for the position' then 'â' |
| | | else 'â¡' end comprehensiveAssessment3, |
| | | case when find_in_set(1, cppc.job_responsibilities) then 'â' |
| | | else 'â¡' end jobResponsibilities1, |
| | | case when find_in_set(2, cppc.job_responsibilities) then 'â' |
| | | else 'â¡' end jobResponsibilities2, |
| | | case when find_in_set(3, cppc.job_responsibilities) then 'â' |
| | | else 'â¡' end jobResponsibilities3, |
| | | case when find_in_set(4, cppc.job_responsibilities) then 'â' |
| | | else 'â¡' end jobResponsibilities4, |
| | | case when find_in_set(5, cppc.job_responsibilities) then 'â' |
| | | else 'â¡' end jobResponsibilities5, |
| | | case when find_in_set(6, cppc.job_responsibilities) then 'â' |
| | | else 'â¡' end jobResponsibilities6, |
| | | case when find_in_set(7, cppc.job_responsibilities) then 'â' |
| | | else 'â¡' end jobResponsibilities7, |
| | | case when find_in_set(8, cppc.job_responsibilities) then 'â' |
| | | else 'â¡' end jobResponsibilities8, |
| | | case when find_in_set(9, cppc.job_responsibilities) then 'â' |
| | | else 'â¡' end jobResponsibilities9, |
| | | case when find_in_set(10, cppc.job_responsibilities) then 'â' |
| | | else 'â¡' end jobResponsibilities10 |
| | | from cnas_person_personnel_capacity cppc |
| | | left join user u1 on cppc.user_id = u1.id |
| | | left join cnas_person_basic_info cpbi on cpbi.user_id = cppc.user_id |
| | | left join (select GROUP_CONCAT(cptr.work_experience) place_work, cptr.user_id |
| | | from cnas_person_basic_info_work cptr |
| | | GROUP BY cptr.user_id) p on u1.id = p.user_id |
| | | where cppc.id = #{id} |
| | | </select> |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.PersonTrainingMapper"> |
| | | |
| | | <!-- æ ¹æ®å建人çé¨é¨çéæ°æ®ï¼å¯æ¯å建人å¯è½æªåé
é¨é¨ä¹éè¦æ¥ç --> |
| | | <select id="personTrainingSelect" resultType="com.ruoyi.personnel.dto.PersonTrainingDto"> |
| | | SELECT |
| | | cpt.*, |
| | | u1.name compiler_name, |
| | | u2.name reviewer_name, |
| | | u3.name approver_name, |
| | | u4.name create_user_name |
| | | FROM |
| | | cnas_person_training cpt |
| | | LEFT JOIN user u1 ON cpt.compiler_id = u1.id |
| | | LEFT JOIN user u2 ON cpt.reviewer_id = u2.id |
| | | LEFT JOIN user u3 ON cpt.approver_id = u3.id |
| | | LEFT JOIN user u4 ON cpt.create_user = u4.id |
| | | <where> |
| | | <if test="departLimsId != null and departLimsId != ''"> |
| | | and FIND_IN_SET(#{departLimsId}, u4.depart_lims_id) |
| | | </if> |
| | | <if test="compilerName != null and compilerName != ''"> |
| | | and u4.name like concat('%', #{compilerName}, '%') |
| | | </if> |
| | | </where> |
| | | union |
| | | SELECT |
| | | cpt.*, |
| | | u1.name compiler_name, |
| | | u2.name reviewer_name, |
| | | u3.name approver_name, |
| | | u4.name create_user_name |
| | | FROM |
| | | cnas_person_training cpt |
| | | LEFT JOIN user u1 ON cpt.compiler_id = u1.id |
| | | LEFT JOIN user u2 ON cpt.reviewer_id = u2.id |
| | | LEFT JOIN user u3 ON cpt.approver_id = u3.id |
| | | LEFT JOIN user u4 ON cpt.create_user = u4.id |
| | | WHERE |
| | | u4.depart_lims_id is not null and length(u4.depart_lims_id) = 0 |
| | | <if test="compilerName != null and compilerName != ''"> |
| | | and u4.name like concat('%', #{compilerName}, '%') |
| | | </if> |
| | | </select> |
| | | </mapper> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.PersonTrainingRecordMapper"> |
| | | |
| | | <select id="trainingAndAssessmentRecordsPage" resultType="com.ruoyi.personnel.dto.PersonTrainingRecordDto"> |
| | | select cptr.*, u.account, u.name user_name, u.phone, r.name role_name |
| | | from cnas_person_training_record cptr |
| | | left join user u on u.id = cptr.user_id |
| | | left join role r on r.id = u.role_id |
| | | where cptr.course_id = #{trainingDetailedId} |
| | | <if test="userName != null and userName != ''"> |
| | | and u.name like concat('%', #{userName}, '%') |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="personnelTrainingPersonnel" resultType="com.ruoyi.personnel.dto.PersonTrainingRecordListDto"> |
| | | select u.name, u.account, dl.name depart_lims_name, cpbi.professional_title, |
| | | cpbi.official_academic_redentials, u.id user_id |
| | | from user u |
| | | left join cnas_person_basic_info cpbi on cpbi.user_id = u.id |
| | | left join department_lims dl on dl.id = SUBSTRING_INDEX(SUBSTRING_INDEX(u.depart_lims_id, ',', -2), ',', 1) |
| | | where u.is_custom = 0 |
| | | <if test="userName != '' and userName != null and userName != 'null'"> |
| | | and u.name like concat('%', #{userName}, '%') |
| | | </if> |
| | | <if test="userId != null and userId != ''"> |
| | | and u.id = #{userId} |
| | | </if> |
| | | <if test="departLimsId != null and departLimsId != ''"> |
| | | and FIND_IN_SET(#{departLimsId}, u.depart_lims_id) |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="queryPersonnelDetails" resultType="com.ruoyi.personnel.dto.TrainingRecordPersonDetailedDto"> |
| | | select cptd.training_date, cptd.training_content, cptd.class_hour, cptr.examination_results, cptd.remarks |
| | | from cnas_person_training_record cptr |
| | | inner join cnas_person_training_detailed cptd on cptd.id = cptr.course_id |
| | | <where> |
| | | <if test="userId != null and userId != ''"> |
| | | and cptr.user_id = #{userId} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!-- æ ¹æ®è¯¦æ
idæ¥è¯¢å¹è®ä¿¡æ¯ --> |
| | | <select id="selectListByTrainingDetailedId" resultType="com.ruoyi.personnel.dto.PersonTrainingRecordDto"> |
| | | select cptr.*, |
| | | u.name userName, |
| | | dl.name department |
| | | from cnas_person_training_record cptr |
| | | left join user u on u.id = cptr.user_id |
| | | left join department_lims dl on find_in_set(dl.id, u.depart_lims_id) and dl.id != 1 |
| | | where cptr.course_id = #{trainingDetailedId} |
| | | </select> |
| | | |
| | | <!-- æ ¹æ®idæ¥è¯¢äººåä¿¡æ¯ --> |
| | | <select id="selectUserTraining" resultType="com.ruoyi.personnel.dto.PersonTrainingRecordListDto"> |
| | | select u.name, |
| | | u.account, |
| | | dl.name depart_lims_name, |
| | | cpbi.professional_title, |
| | | cpbi.official_academic_redentials, |
| | | cpbi.unit_time, |
| | | cpbi.major1, |
| | | u.id user_id, |
| | | DATE_FORMAT(cpbi.unit_time, '%Y-%m-%d') AS unitTimeSting |
| | | from user u |
| | | left join cnas_person_basic_info cpbi on cpbi.user_id = u.id |
| | | left join department_lims dl on dl.id = SUBSTRING_INDEX(SUBSTRING_INDEX(u.depart_lims_id, ',', -2), ',', 1) |
| | | where u.is_custom = 0 |
| | | and u.id = #{userId} |
| | | </select> |
| | | |
| | | <!-- æ ¹æ®ç¨æ·idæ¥è¯¢äººåè®°å½ --> |
| | | <select id="selectPersonDetailedDtos" resultType="com.ruoyi.personnel.dto.TrainingRecordPersonDetailedDto"> |
| | | select cptd.training_date, |
| | | cptd.training_content, |
| | | cptd.class_hour, |
| | | cptr.examination_results, |
| | | cptd.remarks, |
| | | DATE_FORMAT(cptd.training_date, '%Y-%m-%d') AS trainingDateString |
| | | from cnas_person_training_record cptr |
| | | inner join cnas_person_training_detailed cptd on cptd.id = cptr.course_id |
| | | and cptr.user_id = #{userId} |
| | | <where> |
| | | <if test="year!= null and year!= ''"> |
| | | and YEAR(cptd.training_date) = ${year} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!--æ ¹æ®ç¨æ·idå年份æ¥è¯¢äººåæç» å¹è®è®°å½--> |
| | | <select id="queryPersonnelDetailsOfUserIdAndYear" |
| | | resultType="com.ruoyi.personnel.dto.TrainingRecordPersonDetailedDto"> |
| | | select cptd.training_date, cptd.training_content, cptd.class_hour, cptr.examination_results, cptd.remarks |
| | | from cnas_person_training_record cptr |
| | | inner join cnas_person_training_detailed cptd on cptd.id = cptr.course_id |
| | | <where> |
| | | <if test="userId != null and userId != ''"> |
| | | and cptr.user_id = #{userId} |
| | | </if> |
| | | <if test="year!= null and year!= ''"> |
| | | and YEAR(cptd.training_date) = ${year} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <!-- æ ¹æ®ç¨æ·idå年份æ¥è¯¢äººåæç» å¹è®è®°å½å¯¼åº --> |
| | | <select id="selectPersonDetailedDtosByTrainingDate" |
| | | resultType="com.ruoyi.personnel.dto.TrainingRecordPersonDetailedDto"> |
| | | select cptd.training_date, |
| | | cptd.training_content, |
| | | cptd.class_hour, |
| | | cptr.examination_results, |
| | | cptd.remarks, |
| | | DATE_FORMAT(cptd.training_date, '%Y-%m-%d') AS trainingDateString |
| | | from cnas_person_training_record cptr |
| | | inner join cnas_person_training_detailed cptd on cptd.id = cptr.course_id |
| | | and cptr.user_id = #{userId} |
| | | <where> |
| | | <if test="year!= null and year!= ''"> |
| | | and YEAR(cptd.training_date) = ${year} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | </mapper> |
| | |
| | | <version>${ruoyi.version}</version> |
| | | </dependency> |
| | | |
| | | <!--cnas人å--> |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>cnas-personnel</artifactId> |
| | | <version>${ruoyi.version}</version> |
| | | </dependency> |
| | | |
| | | <!-- minio --> |
| | | <dependency> |
| | | <groupId>io.minio</groupId> |
| | |
| | | <module>cnas-manage</module> |
| | | <module>cnas-device</module> |
| | | <module>cnas-process</module> |
| | | <module>cnas-personnel</module> |
| | | </modules> |
| | | <packaging>pom</packaging> |
| | | |
| | |
| | | <artifactId>cnas-process</artifactId> |
| | | </dependency> |
| | | |
| | | <!--cnas人å--> |
| | | <dependency> |
| | | <groupId>com.ruoyi</groupId> |
| | | <artifactId>cnas-personnel</artifactId> |
| | | </dependency> |
| | | |
| | | |
| | | </dependencies> |
| | | |
| | | <build> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.web; |
| | | |
| | | import com.ruoyi.device.mqtt.MQClient; |
| | | import com.ruoyi.device.mqtt.MQConfig; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.boot.ApplicationArguments; |
| | | import org.springframework.boot.ApplicationRunner; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | @Component |
| | | @Slf4j |
| | | public class MqttApplicationRunner implements ApplicationRunner { |
| | | |
| | | @Autowired |
| | | private MQConfig mqConfig; |
| | | |
| | | @Value("${mqtt.client}") |
| | | private Boolean client; |
| | | |
| | | @Override |
| | | public void run(ApplicationArguments args) throws Exception { |
| | | if (client) { |
| | | MQClient mqttPushClient = new MQClient(); |
| | | mqttPushClient.connect(mqConfig); |
| | | } |
| | | } |
| | | } |
| | |
| | | custorder: http://192.168.20.47/PurchService.ashx? |
| | | custorder-port: http://192.168.20.47:8008/PurchService.ashx? |
| | | erp-services: http://192.168.20.47:8081 |
| | | |
| | | # 夿³¨ 18083å¯ç ï¼zttZTT123!@ |
| | | mqtt: |
| | | url: tcp://mqtt-ztt.zttiot.com:1883 # æå¡å¨ip |
| | | username: forwarder # MQTT-æå¡ç«¯-ç¨æ·å,åæä¼ä¿®æ¹ä¸ºç¨æ·ç»å½å |
| | | password: ZTlink12345 # MQTT-æå¡ç«¯-å¯ç ï¼,åæä¼ä¿®æ¹ä¸ºç¨æ·ç»å½å¯ç |
| | | timeout: 100 # è¶
æ¶æ¶é´ ï¼åä½ï¼ç§ï¼ |
| | | keepalive: 60 # å¿è·³ ï¼åä½ï¼ç§ï¼ |
| | | qos: 1 # å¿è·³å
çº§å« |
| | | completion-timeout: 3000 # è¿æ¥è¶
æ¶æ¶é´ï¼åä½ï¼ç§ï¼ |
| | | clientId: javaPublish # clientId |
| | | subscribe: /ztt/v3/2443521/publish # 订é
ä¸»é¢ |
| | | client: false # 妿å¼åéè¦å¯å¨æµè¯ï¼éè¦æ¹ä¸ºfalseä¸ç¶ä¼ä¸ç´æ¥é |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.domain.entity; |
| | | |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Data; |
| | | import lombok.NoArgsConstructor; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | @AllArgsConstructor |
| | | @NoArgsConstructor |
| | | public class DepartmentDto { |
| | | |
| | | private Integer id; |
| | | |
| | | private String name; |
| | | |
| | | private Integer userId; |
| | | |
| | | private Integer fatherId; |
| | | |
| | | private List<DepartmentDto> children; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.core.domain.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é¨é¨æç» |
| | | * @TableName department_lims |
| | | */ |
| | | @TableName(value ="department_lims") |
| | | @Data |
| | | public class DepartmentLims implements Serializable { |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("åç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty("ç¶çº§id") |
| | | private Integer fatherId; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @TableField(exist = false) |
| | | private List<DepartmentLims> children; |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.utils; |
| | | |
| | | import com.alibaba.excel.util.IoUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.util.FileSystemUtils; |
| | | import org.springframework.util.ObjectUtils; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.PostConstruct; |
| | | import java.io.ByteArrayInputStream; |
| | | import java.io.File; |
| | | import java.io.FileOutputStream; |
| | | import java.io.IOException; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.Random; |
| | | |
| | | /** |
| | | * ä¿åæä»¶å·¥å
· |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class FileSaveUtil { |
| | | |
| | | // åymlä¸çè·¯å¾ + / |
| | | private static String FILE_PATH; |
| | | |
| | | private static String WORD_URL_PATH; |
| | | |
| | | private static String[] ALLOWED; |
| | | |
| | | @Value("${file.path}") |
| | | private String file; |
| | | |
| | | @Value("${wordUrl}") |
| | | private String wordUrl; |
| | | |
| | | @Value("${file.allowed}") |
| | | private String[] allowed; |
| | | |
| | | @PostConstruct |
| | | public void getFile() { |
| | | FILE_PATH = this.file; |
| | | } |
| | | |
| | | @PostConstruct |
| | | public void getWordUrl(){ |
| | | WORD_URL_PATH = this.wordUrl; |
| | | } |
| | | |
| | | @PostConstruct |
| | | public void getAllowed(){ |
| | | ALLOWED = this.allowed; |
| | | } |
| | | |
| | | /** |
| | | * å卿件䏻彿° |
| | | * @param file æä»¶äºè¿å¶æµ |
| | | * @return è¿åæä»¶åç§°ç¨äºå卿°æ®åº |
| | | */ |
| | | public static String StoreFile(MultipartFile file) { |
| | | String originalFilename = file.getOriginalFilename(); |
| | | // çæéæºåç§°ï¼æ¶é´_éæº6使°å |
| | | String FileName = System.currentTimeMillis() + "_" + getNumber(6); |
| | | String suffix = null; |
| | | if (originalFilename != null) { |
| | | suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); |
| | | // 妿åç¼åä¸éè¿æåºå¼å¸¸ |
| | | if (!isFileAllowed(suffix)){ |
| | | throw new RuntimeException(suffix); |
| | | } |
| | | } |
| | | // åç§°æ¼æ¥ |
| | | String fileName = FileName + suffix; |
| | | // è¿è¡åå¨ |
| | | try { |
| | | storeFileWithFileName(file.getBytes(), fileName); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | return fileName; |
| | | } |
| | | |
| | | public static Boolean DeleteFile(String fileName) { |
| | | if (ObjectUtils.isEmpty(fileName)) { |
| | | return false; |
| | | } |
| | | return FileSystemUtils.deleteRecursively(new File(FILE_PATH + "/" + fileName)); |
| | | } |
| | | /** |
| | | * å卿件彿° |
| | | * @param content æä»¶äºè¿å¶æµ |
| | | * @param fileName æä»¶åç§° |
| | | */ |
| | | private static void storeFileWithFileName(byte[] content, String fileName) { |
| | | // åå¨è·¯å¾ |
| | | String path = FILE_PATH + File.separatorChar; |
| | | // ç®å½ä¸åå¨åå建 |
| | | File file = new File(path); |
| | | if (!file.exists()) { |
| | | file.mkdirs(); |
| | | } |
| | | // å¼å§åå¨ |
| | | try (FileOutputStream os = new FileOutputStream(path + fileName); |
| | | ByteArrayInputStream is = new ByteArrayInputStream(content)) { |
| | | IoUtils.copy(is, os); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException("æä»¶å卿 ¼å¼å¼å¸¸"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 夿æä»¶æ¯å¦è¢«å
许ä¸ä¼ |
| | | * |
| | | * @param fileName æä»¶å |
| | | * @return å
许true, å¦åfalse |
| | | */ |
| | | private static boolean isFileAllowed(String fileName) { |
| | | // è·ååç¼å |
| | | String suffixName = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase(); |
| | | for (String allow : ALLOWED) { |
| | | if (allow.equals(suffixName)) { |
| | | return true; |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | /** |
| | | * ä¿åæä»¶å°wordæä»¶å¤¹é |
| | | * @param file |
| | | * @return |
| | | */ |
| | | public static String uploadWordFile(MultipartFile file) { |
| | | String urlString; |
| | | String pathName; |
| | | String path; |
| | | try { |
| | | String contentType = file.getContentType(); |
| | | if (contentType != null && contentType.startsWith("image/")) { |
| | | // æ¯å¾ç |
| | | path = FILE_PATH; |
| | | } else { |
| | | // æ¯æä»¶ |
| | | path = WORD_URL_PATH; |
| | | } |
| | | File realpath = new File(path); |
| | | if (!realpath.exists()) { |
| | | realpath.mkdirs(); |
| | | } |
| | | pathName = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyMMddHHmmss")) + "-" + file.getOriginalFilename(); |
| | | urlString = realpath + "/" + pathName; |
| | | file.transferTo(new File(urlString)); |
| | | return pathName; |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * è·åéæºæ°å |
| | | * @param n 使° |
| | | * @return è¿åéæºå¼ |
| | | */ |
| | | public static String getNumber(int n) { |
| | | char[] chars = "1234567890".toCharArray(); |
| | | StringBuilder sb = new StringBuilder(); |
| | | for (int i = 0; i < n; i++) { |
| | | char c = chars[new Random().nextInt(chars.length)]; |
| | | sb.append(c); |
| | | } |
| | | return sb.toString(); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.common.utils; |
| | | |
| | | import org.springframework.stereotype.Component; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.Random; |
| | | |
| | | @Component |
| | | public class MyUtil<T> { |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.system.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.common.core.domain.entity.DepartmentDto; |
| | | import com.ruoyi.common.core.domain.entity.DepartmentLims; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author z1292 |
| | | * @description é对表ãdepartment_lims(é¨é¨æç»)ãçæ°æ®åºæä½Mapper |
| | | * @createDate 2024-05-22 14:08:17 |
| | | * @Entity com.yuanchu.mom.pojo.DepartmentLims |
| | | */ |
| | | public interface DepartmentLimsMapper extends BaseMapper<DepartmentLims> { |
| | | |
| | | //è·åé¨é¨æ |
| | | List<DepartmentDto> selectDepartment(); |
| | | |
| | | //æ ¹æ®é¨é¨id,æ¥è¯¢ä»çææåç±»id |
| | | List<Integer> selectSonById(Integer id); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.system.mapper.DepartmentLimsMapper"> |
| | | |
| | | |
| | | <select id="selectDepartment" resultType="com.ruoyi.common.core.domain.entity.DepartmentDto"> |
| | | SELECT id, name, father_id |
| | | FROM department_lims |
| | | </select> |
| | | |
| | | <select id="selectSonById" resultType="java.lang.Integer"> |
| | | SELECT au.id |
| | | FROM (SELECT * FROM department_lims WHERE father_id IS NOT NULL) au, |
| | | (SELECT @father_id := #{id}) pd |
| | | WHERE FIND_IN_SET(father_id, @father_id) > 0 |
| | | AND @father_id := concat(@father_id, ',', id) |
| | | UNION |
| | | SELECT id |
| | | FROM department_lims |
| | | WHERE id = #{id} |
| | | ORDER BY id |
| | | </select> |
| | | </mapper> |