cnas-device/src/main/java/com/ruoyi/device/controller/DeviceImpowerController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,108 @@ 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.DeviceImpowerDto; import com.ruoyi.device.pojo.DeviceImpower; import com.ruoyi.device.service.DeviceImpowerService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; /** * <p> * 设å¤ä½¿ç¨ææè¡¨ å端æ§å¶å¨ * </p> * * @author * @since 2025-04-17 03:23:23 */ @Api(tags = "设å¤ä½¿ç¨ææè¡¨") @RestController @RequestMapping("/deviceImpower") public class DeviceImpowerController { @Resource private DeviceImpowerService deviceImpowerService; /** * å页æ¥è¯¢ä½¿ç¨ææ * @return */ @ApiOperation("å页æ¥è¯¢ä½¿ç¨ææ") @GetMapping("selectDeviceImpowerByPage") public Result<IPage<DeviceImpower>> selectDeviceImpowerByPage(Page page, DeviceImpowerDto itemParameter){ return deviceImpowerService.selectDeviceImpowerByPage(page, itemParameter); } /** * æ°å¢ä½¿ç¨ææ * @param deviceImpowerDto ä½¿ç¨ææ */ @ApiOperation("æ°å¢ä½¿ç¨ææ") @PostMapping("/addImpower") public Result addImpower(@RequestBody DeviceImpowerDto deviceImpowerDto) { return deviceImpowerService.addImpower(deviceImpowerDto); } /** * ä¿®æ¹ä½¿ç¨ææ * @param deviceImpowerDto ä½¿ç¨ææ */ @ApiOperation("ä¿®æ¹ä½¿ç¨ææ") @PostMapping("/updateImpower") public Result updateImpower(@RequestBody DeviceImpowerDto deviceImpowerDto) { return deviceImpowerService.updateImpower(deviceImpowerDto); } /** * å é¤ä½¿ç¨ææ * @param deviceImpowerDto ä½¿ç¨ææ */ @ApiOperation("å é¤ä½¿ç¨ææ") @DeleteMapping("/deleteImpower") public Result deleteImpower(DeviceImpowerDto deviceImpowerDto) { return deviceImpowerService.deleteImpower(deviceImpowerDto); } /** * æ¥è¯¢ä½¿ç¨ææè¯¦æ */ @ApiOperation("æ¥è¯¢ä½¿ç¨ææè¯¦æ ") @GetMapping("/getImpowerDetail") public Result<DeviceImpowerDto> getImpowerDetail(Integer impowerId) { return deviceImpowerService.getImpowerDetail(impowerId); } /** * æäº¤æ¹å */ @ApiOperation("æäº¤æ¹å") @PostMapping("/submitReviewImpowerStatus") public Result submitReviewImpowerStatus(@RequestBody DeviceImpowerDto deviceImpowerDto) { return deviceImpowerService.submitReviewImpowerStatus(deviceImpowerDto); } /** * ä½¿ç¨æææ¹å */ @ApiOperation("ä½¿ç¨æææ¹å") @PostMapping("/reviewImpowerStatus") public Result reviewImpowerStatus(@RequestBody DeviceImpowerDto deviceImpowerDto) { return deviceImpowerService.reviewImpowerStatus(deviceImpowerDto); } /** * 导åºä½¿ç¨ææ */ @ApiOperation("导åºä½¿ç¨ææ") @GetMapping("/exportDeviceImpower") public Result exportDeviceImpower(@RequestParam("ImpowerId") Integer impowerId, HttpServletResponse response) { return deviceImpowerService.exportDeviceImpowerDto(impowerId, response); } } cnas-device/src/main/java/com/ruoyi/device/dto/DeviceImpowerDetailsDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package com.ruoyi.device.dto; import com.ruoyi.device.pojo.DeviceImpowerDetails; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @Author zhuo * @Date 2025/4/17 */ @Data public class DeviceImpowerDetailsDto extends DeviceImpowerDetails { @ApiModelProperty("åºå·") private Integer index; @ApiModelProperty("仪å¨è®¾å¤åç§°") private String deviceName; @ApiModelProperty("仪å¨è®¾å¤åå·") private String specificationModel; @ApiModelProperty("仪å¨ç¼å·") private String managementNumber; } cnas-device/src/main/java/com/ruoyi/device/dto/DeviceImpowerDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package com.ruoyi.device.dto; import com.ruoyi.device.pojo.DeviceImpower; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * @Author zhuo * @Date 2025/4/17 */ @Data public class DeviceImpowerDto extends DeviceImpower { @ApiModelProperty("详æ ") private List<DeviceImpowerDetailsDto> deviceImpowerDetails; } cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceImpowerDetailsMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ package com.ruoyi.device.mapper; import com.ruoyi.device.dto.DeviceImpowerDetailsDto; import com.ruoyi.device.pojo.DeviceImpowerDetails; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> * 设å¤é弿º¯æºè®¡å详æ 表 Mapper æ¥å£ * </p> * * @author * @since 2025-04-17 03:23:39 */ public interface DeviceImpowerDetailsMapper extends BaseMapper<DeviceImpowerDetails> { /** * æ¥è¯¢è®¾å¤ä½¿ç¨è¯¦æ * @param impowerId * @return */ List<DeviceImpowerDetailsDto> deviceImpowerDetailsList(@Param("impowerId") Integer impowerId); } cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceImpowerMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,36 @@ package com.ruoyi.device.mapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.device.dto.DeviceImpowerDto; import com.ruoyi.device.dto.DeviceTraceabilityManagementDto; import com.ruoyi.device.pojo.DeviceImpower; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; /** * <p> * 设å¤é弿º¯æºè®¡å表 Mapper æ¥å£ * </p> * * @author * @since 2025-04-17 03:23:23 */ public interface DeviceImpowerMapper extends BaseMapper<DeviceImpower> { /** * å页æ¥è¯¢ä½¿ç¨ææ * @param page * @param deviceImpowerDtoQueryWrapper * @return */ IPage<DeviceImpower> selectDeviceParameterPage(@Param("page") Page page, @Param("ew") QueryWrapper<DeviceImpowerDto> deviceImpowerDtoQueryWrapper); /** * æ ¹æ®idæ¥è¯¢è®¾å¤ä½¿ç¨ææ * @param traceabilityManagementId * @return */ DeviceTraceabilityManagementDto selectDeviceTraceabilityManagementById(@Param("traceabilityManagementId") Integer traceabilityManagementId); } cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceImpower.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,75 @@ package com.ruoyi.device.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; /** * <p> * 设å¤é弿º¯æºè®¡å表 * </p> * * @author * @since 2025-04-17 03:23:23 */ @Getter @Setter @TableName("device_impower") @ApiModel(value = "DeviceImpower对象", description = "设å¤é弿º¯æºè®¡å表") public class DeviceImpower implements Serializable { @ApiModelProperty("ææid") @TableId(value = "impower_id", type = IdType.AUTO) private Integer impowerId; @ApiModelProperty("计å年份") private String impowerYear; @ApiModelProperty("ç¼å¶äººid") private Integer compilerId; @ApiModelProperty("ç¼å¶äºº") private String compiler; @ApiModelProperty("ç¼å¶æ¶é´") private LocalDateTime datePreparation; @ApiModelProperty("å®¡æ ¸ç¶æï¼0æªå®¡æ ¸ï¼1å®¡æ ¸") private Integer status; @ApiModelProperty("ææid") private Integer auditId; @ApiModelProperty("ææäºº") private String audit; @ApiModelProperty("æææ¥æ") private LocalDateTime auditDate; @ApiModelProperty("ææä¿¡æ¯") private String auditRemark; @ApiModelProperty("å建人id") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty("åå»ºæ¥æ") @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @ApiModelProperty("ä¿®æ¹äººid") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty("ä¿®æ¹æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; } cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceImpowerDetails.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,61 @@ package com.ruoyi.device.pojo; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; /** * <p> * 设å¤é弿º¯æºè®¡å详æ 表 * </p> * * @author * @since 2025-04-17 03:23:39 */ @Getter @Setter @TableName("device_impower_details") @ApiModel(value = "DeviceImpowerDetails对象", description = "设å¤é弿º¯æºè®¡å详æ 表") public class DeviceImpowerDetails implements Serializable { @ApiModelProperty("设å¤é弿º¯æºè®¡å详æ id") @TableId(value = "impower_detail_id", type = IdType.AUTO) private Integer impowerDetailId; @ApiModelProperty("设å¤é弿º¯æºè®¡åid") private Integer impowerId; @ApiModelProperty("设å¤id") private Integer deviceId; @ApiModelProperty("æ£æµé¡¹ç®") private String inspectionItem; @ApiModelProperty("被ææäºº") private String delegatedUser; @ApiModelProperty("å建人id") @TableField(fill = FieldFill.INSERT) private Integer createUser; @ApiModelProperty("åå»ºæ¥æ") @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; @ApiModelProperty("ä¿®æ¹äººid") @TableField(fill = FieldFill.INSERT_UPDATE) private Integer updateUser; @ApiModelProperty("ä¿®æ¹æ¶é´") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; } cnas-device/src/main/java/com/ruoyi/device/service/DeviceImpowerDetailsService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,16 @@ package com.ruoyi.device.service; import com.ruoyi.device.pojo.DeviceImpowerDetails; import com.baomidou.mybatisplus.extension.service.IService; /** * <p> * 设å¤é弿º¯æºè®¡å详æ 表 æå¡ç±» * </p> * * @author * @since 2025-04-17 03:23:39 */ public interface DeviceImpowerDetailsService extends IService<DeviceImpowerDetails> { } cnas-device/src/main/java/com/ruoyi/device/service/DeviceImpowerService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,71 @@ package com.ruoyi.device.service; 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.DeviceImpowerDto; import com.ruoyi.device.pojo.DeviceImpower; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.device.pojo.DeviceImpower; import org.apache.ibatis.annotations.Param; import javax.servlet.http.HttpServletResponse; /** * <p> * 设å¤ä½¿ç¨ææè¡¨ æå¡ç±» * </p> * * @author * @since 2025-04-17 03:23:23 */ public interface DeviceImpowerService extends IService<DeviceImpower> { /** * å页æ¥è¯¢ä½¿ç¨ææ * @param page å页忰 * @param itemParameter ä½¿ç¨ææ * @return */ Result<IPage<DeviceImpower>> selectDeviceImpowerByPage(@Param("page") Page page, @Param("itemParameter") DeviceImpowerDto itemParameter); /** * æ°å¢ä½¿ç¨ææ * @param deviceImpowerDto ä½¿ç¨ææ */ Result addImpower(DeviceImpowerDto deviceImpowerDto); /** * ä¿®æ¹ä½¿ç¨ææ * @param deviceImpowerDto ä½¿ç¨ææ */ Result updateImpower(DeviceImpowerDto deviceImpowerDto); /** * å é¤ä½¿ç¨ææ * @param deviceImpowerDto ä½¿ç¨ææ */ Result deleteImpower(DeviceImpowerDto deviceImpowerDto); /** * æ¥è¯¢ä½¿ç¨ææè¯¦æ */ Result<DeviceImpowerDto> getImpowerDetail(Integer impowerId); /** * æäº¤æ¹å * @param deviceImpowerDto * @return */ Result submitReviewImpowerStatus(DeviceImpowerDto deviceImpowerDto); /** * ä½¿ç¨ææå®¡æ ¸ */ Result reviewImpowerStatus(DeviceImpowerDto deviceImpowerDto); /** * ä½¿ç¨ææå¯¼åº */ Result exportDeviceImpowerDto(Integer impowerId, HttpServletResponse response); } cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerDetailsServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ package com.ruoyi.device.service.impl; import com.ruoyi.device.pojo.DeviceImpowerDetails; import com.ruoyi.device.mapper.DeviceImpowerDetailsMapper; import com.ruoyi.device.service.DeviceImpowerDetailsService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; /** * <p> * 设å¤é弿º¯æºè®¡å详æ 表 æå¡å®ç°ç±» * </p> * * @author * @since 2025-04-17 03:23:39 */ @Service public class DeviceImpowerDetailsServiceImpl extends ServiceImpl<DeviceImpowerDetailsMapper, DeviceImpowerDetails> implements DeviceImpowerDetailsService { } cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,294 @@ 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.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; import com.ruoyi.common.constant.MenuJumpPathConstants; import com.ruoyi.common.core.domain.Result; import com.ruoyi.common.core.domain.entity.InformationNotification; import com.ruoyi.common.core.domain.entity.User; import com.ruoyi.common.utils.QueryWrappers; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.WxCpUtils; import com.ruoyi.device.dto.DeviceImpowerDetailsDto; import com.ruoyi.device.dto.DeviceImpowerDto; import com.ruoyi.device.mapper.DeviceImpowerDetailsMapper; import com.ruoyi.device.pojo.DeviceImpower; import com.ruoyi.device.mapper.DeviceImpowerMapper; import com.ruoyi.device.pojo.DeviceImpower; import com.ruoyi.device.pojo.DeviceImpowerDetails; import com.ruoyi.device.service.DeviceImpowerService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.device.service.DeviceImpowerDetailsService; import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; import com.ruoyi.inspect.util.UserUtils; import com.ruoyi.system.mapper.UserMapper; import com.ruoyi.system.service.InformationNotificationService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.BeanUtils; 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.time.LocalDateTime; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; /** * <p> * 设å¤ä½¿ç¨è¡¨ æå¡å®ç°ç±» * </p> * * @author * @since 2025-04-17 03:23:23 */ @Service @Transactional(rollbackFor = Exception.class) public class DeviceImpowerServiceImpl extends ServiceImpl<DeviceImpowerMapper, DeviceImpower> implements DeviceImpowerService { @Resource private DeviceImpowerDetailsService deviceImpowerDetailsService; @Resource private DeviceImpowerDetailsMapper deviceImpowerDetailsMapper; @Resource private ThreadPoolTaskExecutor threadPoolTaskExecutor; @Resource private InformationNotificationService informationNotificationService; @Resource private UserMapper userMapper; /** * å页æ¥è¯¢è®¾å¤ä½¿ç¨ * * @param page * @return */ @Override public Result<IPage<DeviceImpower>> selectDeviceImpowerByPage(Page page, DeviceImpowerDto deviceImpowerDto) { IPage<DeviceImpower> iPage = baseMapper.selectDeviceParameterPage(page, QueryWrappers.queryWrappers(deviceImpowerDto)); return Result.success(iPage); } /** * æ°å¢è®¾å¤ä½¿ç¨ * * @param deviceImpowerDto 设å¤ä½¿ç¨ */ @Override public Result addImpower(DeviceImpowerDto deviceImpowerDto) { Integer userId = SecurityUtils.getUserId().intValue(); User user = userMapper.selectById(userId); deviceImpowerDto.setCompilerId(userId); deviceImpowerDto.setCompiler(user.getName()); deviceImpowerDto.setDatePreparation(LocalDateTime.now()); // æ¥è¯¢å®¡æ ¸äººid if (deviceImpowerDto.getAuditId() != null) { User auditUser = userMapper.selectById(deviceImpowerDto.getAuditId()); deviceImpowerDto.setAudit(auditUser.getName()); } this.saveOrUpdate(deviceImpowerDto); // 详æ èµå¼å¹¶ä¿å List<DeviceImpowerDetailsDto> deviceImpowerDetails = deviceImpowerDto.getDeviceImpowerDetails(); if (CollectionUtils.isNotEmpty(deviceImpowerDetails)) { // 详æ ä¸ä¸ºç©º List<DeviceImpowerDetails> collect = deviceImpowerDetails.stream().map(detailsDto -> { detailsDto.setImpowerId(deviceImpowerDto.getImpowerId()); // 使ç¨ID DeviceImpowerDetails details = new DeviceImpowerDetails(); BeanUtils.copyProperties(detailsDto, details); return details; }).collect(Collectors.toList()); deviceImpowerDetailsService.saveBatch(collect); } return Result.success(); } /** * ä¿®æ¹è®¾å¤ä½¿ç¨ * * @param deviceImpowerDto 设å¤ä½¿ç¨ */ @Override public Result updateImpower(DeviceImpowerDto deviceImpowerDto) { // æ¥è¯¢å®¡æ ¸äººid if (deviceImpowerDto.getAuditId() != null) { User auditUser = userMapper.selectById(deviceImpowerDto.getAuditId()); deviceImpowerDto.setAudit(auditUser.getName()); } this.saveOrUpdate(deviceImpowerDto); // å é¤åæ¬ç详æ deviceImpowerDetailsService.remove(Wrappers.<DeviceImpowerDetails>lambdaQuery().eq(DeviceImpowerDetails::getImpowerId, deviceImpowerDto.getImpowerId())); // 详æ èµå¼å¹¶ä¿å List<DeviceImpowerDetailsDto> deviceImpowerDetails = deviceImpowerDto.getDeviceImpowerDetails(); if (CollectionUtils.isNotEmpty(deviceImpowerDetails)) { // 详æ ä¸ä¸ºç©º List<DeviceImpowerDetails> collect = deviceImpowerDetails.stream().map(detailsDto -> { detailsDto.setImpowerId(deviceImpowerDto.getImpowerId()); // 使ç¨ID DeviceImpowerDetails details = new DeviceImpowerDetails(); BeanUtils.copyProperties(detailsDto, details); return details; }).collect(Collectors.toList()); deviceImpowerDetailsService.saveBatch(collect); } return Result.success(); } /** * å é¤è®¾å¤ä½¿ç¨ * * @param deviceImpowerDto 设å¤ä½¿ç¨ */ @Override public Result deleteImpower(DeviceImpowerDto deviceImpowerDto) { this.removeById(deviceImpowerDto); deviceImpowerDetailsService.remove(Wrappers.<DeviceImpowerDetails>lambdaQuery().eq(DeviceImpowerDetails::getImpowerId, deviceImpowerDto.getImpowerId())); return Result.success(); } /** * æ¥è¯¢è®¾å¤ä½¿ç¨è¯¦æ * * @param impowerId 设å¤ä½¿ç¨id */ @Override public Result<DeviceImpowerDto> getImpowerDetail(Integer impowerId) { // æ¥è¯¢è®¾å¤ä½¿ç¨ DeviceImpower deviceImpower = baseMapper.selectById(impowerId); // æ¥è¯¢è¯¦æ DeviceImpowerDto deviceImpowerDto = new DeviceImpowerDto(); BeanUtils.copyProperties(deviceImpower, deviceImpowerDto); deviceImpowerDto.setDeviceImpowerDetails(deviceImpowerDetailsMapper.deviceImpowerDetailsList(impowerId)); return Result.success(deviceImpowerDto); } /** * æäº¤æ¹å * @param deviceImpowerDto * @return */ @Override public Result submitReviewImpowerStatus(DeviceImpowerDto deviceImpowerDto) { // User audit = userMapper.selectById(deviceImpowerDto.getAuditId()); // this.update(Wrappers.<DeviceImpower>lambdaUpdate() // .eq(DeviceImpower::getImpowerId, deviceImpowerDto.getImpowerId()) // .set(DeviceImpower::getAuditId, audit.getId()) // .set(DeviceImpower::getAudit, audit.getName()) // .set(DeviceImpower::getAuditDate, null) // .set(DeviceImpower::getStatus, null) // .set(DeviceImpower::getAuditRemark, null)); // // DeviceImpower deviceImpower = baseMapper.selectById(deviceImpowerDto.getImpowerId()); // // // åéæ¶æ¯ // 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(deviceImpower.getPlanYear() + "å¹´ç设å¤ä½¿ç¨å¾ æ¹å"); // info.setSenderId(userId); // // æ¥æ¶äºº // info.setConsigneeId(audit.getId()); // info.setJumpPath(MenuJumpPathConstants.DEVICE); // informationNotificationService.addInformationNotification(info); // // // åéä¼ä¸å¾®ä¿¡éç¥ // threadPoolTaskExecutor.execute(() -> { // String message = ""; // message += "CNAS设å¤ä½¿ç¨æ ¸éç¥"; // message += "\n请å»èµæºç®¡ç-设å¤ä¸å±ç®å½-设å¤ä½¿ç¨å¡«å"; // message += "\n" + deviceImpower.getPlanYear() + "å¹´ç设å¤ä½¿ç¨å¾ æ¹å"; // //åéä¼ä¸å¾®ä¿¡æ¶æ¯éç¥ // try { // WxCpUtils.inform(audit.getAccount(), message, null); // } catch (Exception e) { // throw new RuntimeException(e); // } // }); return Result.success(); } /** * å®¡æ ¸è®¾å¤ä½¿ç¨ * * @param deviceImpowerDto 设å¤ä½¿ç¨ */ @Override public Result reviewImpowerStatus(DeviceImpowerDto deviceImpowerDto) { LambdaUpdateWrapper<DeviceImpower> wrapper = Wrappers.<DeviceImpower>lambdaUpdate() .eq(DeviceImpower::getImpowerId, deviceImpowerDto.getImpowerId()) .set(DeviceImpower::getAuditDate, LocalDateTime.now()) .set(DeviceImpower::getStatus, deviceImpowerDto.getStatus()) // å®¡æ ¸ç¶æ .set(DeviceImpower::getAuditRemark, deviceImpowerDto.getAuditRemark());// å®¡æ ¸å¤æ³¨ this.update(wrapper); // æ´æ° return Result.success(); } /** * 导åºè®¾å¤ä½¿ç¨ * * @param ImpowerId 设å¤ä½¿ç¨id */ @Override public Result exportDeviceImpowerDto(Integer ImpowerId, HttpServletResponse response) { // // æ¥è¯¢è®¾å¤ä¿å »è®¡å // DeviceImpowerDto deviceImpower = baseMapper.selectDeviceImpowerById(ImpowerId); // // // æ¥è¯¢è®¾å¤ä¿å »è®¡å详æ // List<DeviceImpowerDetailsDto> deviceImpowerDetailsDtoList = deviceImpowerDetailsMapper.deviceImpowerDetailsList(ImpowerId); // // 设置åºå· // deviceImpowerDetailsDtoList.forEach(deviceImpowerDetails -> { // deviceImpowerDetails.setIndex(deviceImpowerDetailsDtoList.indexOf(deviceImpowerDetails) + 1); // }); // // // è·åè·¯å¾ // InputStream inputStream = this.getClass().getResourceAsStream("/static/word/traceability-management-details.docx"); // Configure configure = Configure.builder() // .bind("deviceImpowerDetailsDtoList", new HackLoopTableRenderPolicy()) // .build(); // XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( // new HashMap<String, Object>() {{ // put("deviceImpower", deviceImpower); // put("deviceImpowerDetailsDtoList", deviceImpowerDetailsDtoList); // // ç¼å¶äººç¾åå°å // put("compilerUrl", UserUtils.getFinalUserSignatureUrl(deviceImpower.getCompilerId())); // // å®¡æ ¸äººç¾åå°å // put("auditUrl", UserUtils.getFinalUserSignatureUrl(deviceImpower.getAuditId())); // }}); // // try { // response.setContentType("application/msword"); // String finalFileName = deviceImpower.getFileName() == null ? "" : deviceImpower.getFileName() + "_"; // String fileName = URLEncoder.encode( // finalFileName+ "设å¤ä½¿ç¨", "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(); } } cnas-device/src/main/resources/mapper/DeviceImpowerDetailsMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,17 @@ <?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.DeviceImpowerDetailsMapper"> <!-- æ¥è¯¢è®¾å¤ä½¿ç¨è¯¦æ --> <select id="deviceImpowerDetailsList" resultType="com.ruoyi.device.dto.DeviceImpowerDetailsDto"> select did.*, d.device_name, d.device_name, d.specification_model, d.management_number from device_impower_details did left join device d on did.device_id = d.id where did.traceability_management_id = #{traceabilityManagementId} </select> </mapper> cnas-device/src/main/resources/mapper/DeviceImpowerMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ <?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.DeviceImpowerMapper"> <select id="selectDeviceParameterPage" resultType="com.ruoyi.device.pojo.DeviceImpower"> select * from device_impower <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} </if> </select> </mapper> ruoyi-admin/src/main/java/com/ruoyi/CodeGenerator.java
@@ -20,8 +20,8 @@ public static String database_username = "root"; public static String database_password= "123456"; public static String author = ""; public static String model_name = "/inspect-server"; // å¦æä¸ºåå¸å¼å¡«å模ååç§°ï¼å¦æä¸æ¯åå¸å¼ä¸ºç©ºå³å¯ public static String setParent = "com.ruoyi.inspect"; // å è·¯å¾ public static String model_name = "/cnas-device"; // å¦æä¸ºåå¸å¼å¡«å模ååç§°ï¼å¦æä¸æ¯åå¸å¼ä¸ºç©ºå³å¯ public static String setParent = "com.ruoyi.device"; // å è·¯å¾ public static String tablePrefix = ""; // è®¾ç½®è¿æ»¤è¡¨åç¼ public static void main(String[] args) { String projectPath = System.getProperty("user.dir");