¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | |
| | | |
| | | //å页 |
| | | @PostMapping("/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)); |
| | | } |
| | | |
| | | //å é¤ |
| | | @PostMapping("/deleteDeviceBorrow") |
| | | public Result deleteDeviceBorrow(Integer id) { |
| | | return Result.success(deviceBorrowService.removeById(id)); |
| | | } |
| | | |
| | | //å¯¼åº |
| | | @PostMapping("/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.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); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 = "è®¾å¤æ¥åºç³è¯·å表") |
| | | @PostMapping("/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 = "å é¤è®¾å¤æ¥åºç³è¯·") |
| | | @GetMapping("/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); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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.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.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.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.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.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.*; |
| | | 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.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.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.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.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.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.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("导åºå¤±è´¥"); |
| | | } |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <?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.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> |