From 72e683107991427de5160bab9c21401d86d377ad Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期四, 17 四月 2025 14:48:25 +0800 Subject: [PATCH] 设备维护保养调整 --- cnas-device/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java | 20 +++ cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java | 7 cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceMapper.java | 15 ++ cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java | 70 ++++------- cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java | 83 ++----------- cnas-device/src/main/resources/mapper/DeviceBorrowMapper.xml | 4 cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java | 69 +++++++---- cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenanceService.java | 18 +- cnas-device/src/main/resources/mapper/DeviceMaintenanceMapper.xml | 14 ++ ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java | 8 10 files changed, 147 insertions(+), 161 deletions(-) diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java index 44cf11a..7eb0f3a 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java @@ -1,27 +1,16 @@ 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.common.core.domain.entity.User; +import com.ruoyi.device.dto.DeviceMaintenanceDto; import com.ruoyi.device.pojo.DeviceMaintenance; import com.ruoyi.device.service.DeviceMaintenanceService; +import com.ruoyi.system.mapper.UserMapper; import io.swagger.annotations.Api; 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: 瀛欐渤婊� @@ -35,51 +24,48 @@ private DeviceMaintenanceService deviceMaintenanceService; @Autowired - private NumberGenerator<DeviceMaintenance> numberGenerator; + private UserMapper userMapper; + /** - * 鏂板璁惧缁存姢淇濆吇 + * 璁惧缁存姢鍒嗛〉鏌ヨ * @param deviceMaintenance * @return */ - @ApiOperation(value = "鏂板璁惧缁存姢淇濆吇") - @PostMapping("/addDeviceMaintenance") - public Result addDeviceMaintenance(@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)); + @ApiOperation(value = "璁惧缁存姢鍒嗛〉鏌ヨ") + @GetMapping("/selectDeviceMaintenancePage") + public Result selectDeviceMaintenancePage(Page page, DeviceMaintenanceDto deviceMaintenance){ + return Result.success(deviceMaintenanceService.selectDeviceMaintenancePage(page, deviceMaintenance)); } + /** - * 閫氳繃璁惧id鏌ヨ璁惧缁存姢淇濆吇淇℃伅 - * @param deviceId - * @param page - * @param deviceNumber + * 鏂板淇敼璁惧缁存姢淇濆吇 + * @param deviceMaintenance * @return */ - @ApiOperation(value = "閫氳繃璁惧id鏌ヨ璁惧缁存姢淇濆吇淇℃伅") - @GetMapping("/getDeviceMaintenancePage") - public Result getDeviceMaintenancePage(@RequestParam("deviceId") Integer deviceId, Page page, String deviceNumber){ - return Result.success(deviceMaintenanceService.getDeviceMaintenancePage(page, deviceId, deviceNumber)); + @ApiOperation(value = "鏂板淇敼璁惧缁存姢淇濆吇") + @PostMapping("/addDeviceMaintenance") + public Result addDeviceMaintenance(@RequestBody DeviceMaintenance deviceMaintenance){ + if (deviceMaintenance.getDeviceId() == null) { + throw new RuntimeException("缂哄皯璁惧id"); + } + User user = userMapper.selectById(deviceMaintenance.getMaintenanceUserId()); + deviceMaintenance.setMaintenanceUserName(user.getName()); + + return Result.success(deviceMaintenanceService.saveOrUpdate(deviceMaintenance)); } /** - * 鍒犻櫎璁惧缁存姢淇濆吇 + * 鍒犻櫎淇敼璁惧缁存姢淇濆吇 * @param id + * @return */ - @ApiOperation(value = "鏂板璁惧缁存姢淇濆吇") + @ApiOperation(value = "鍒犻櫎淇敼璁惧缁存姢淇濆吇") @DeleteMapping("/deleteDeviceMaintenance") - public void deleteDeviceMaintenance( Integer id) { - deviceMaintenanceService.removeById(id); + public Result deleteDeviceMaintenance(Integer id){ + return Result.success(deviceMaintenanceService.removeById(id)); } - - @ApiOperation(value = "璁惧缁存姢璁板綍瀵煎嚭") - @GetMapping("/exportMaintenanceRecord") - public void exportMaintenanceRecord(@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) throws Exception { - deviceMaintenanceService.exportMaintenanceRecord(deviceId, response); - } } diff --git a/cnas-device/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java b/cnas-device/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java new file mode 100644 index 0000000..fdf4384 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/dto/DeviceMaintenanceDto.java @@ -0,0 +1,20 @@ +package com.ruoyi.device.dto; + +import com.ruoyi.device.pojo.DeviceMaintenance; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author zhuo + * @Date 2025/4/17 + */ +@Data +public class DeviceMaintenanceDto extends DeviceMaintenance { + + @ApiModelProperty("璁惧鍚嶇О") + private String deviceName; + + @ApiModelProperty("璁惧缂栧彿") + private String managementNumber; + +} diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceMapper.java index b4cbdfb..e538a31 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceMapper.java +++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMaintenanceMapper.java @@ -1,12 +1,14 @@ package com.ruoyi.device.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.ruoyi.device.excel.DeviceMaintenanceExport; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.device.dto.DeviceMaintenanceDto; import com.ruoyi.device.pojo.DeviceMaintenance; import org.apache.ibatis.annotations.Mapper; - -import java.util.List; +import org.apache.ibatis.annotations.Param; /** * 璁惧缁存姢淇濆吇 @@ -14,4 +16,11 @@ @Mapper public interface DeviceMaintenanceMapper extends BaseMapper<DeviceMaintenance> { + /** + * 璁惧缁存姢鍒嗛〉鏌ヨ + * @param page + * @return + */ + IPage<DeviceMaintenanceDto> selectDeviceMaintenancePage(@Param("page") Page page, @Param("ew") QueryWrapper<DeviceMaintenanceDto> ew); + } diff --git a/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java b/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java index bf3c6c6..d8d1017 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java +++ b/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java @@ -1,44 +1,59 @@ package com.ruoyi.device.pojo; -import com.baomidou.mybatisplus.annotation.*; -import lombok.Data; -import lombok.EqualsAndHashCode; -import org.springframework.format.annotation.DateTimeFormat; - import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.Date; + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** - * 璁惧缁存姢淇濆吇 + * 璁惧缁存姢娣诲姞缁存姢璁板綍琛� + * + * @author makejava + * @since 2025-04-17 11:28:56 */ @Data -@EqualsAndHashCode(callSuper = false) @TableName("device_maintenance") public class DeviceMaintenance { - //璁惧id @TableId(type = IdType.AUTO) private Integer id; + @ApiModelProperty("璁惧id") private Integer deviceId; - private String deviceName; - //缂栧彿 - private String deviceNumber; - //缁熶竴缂栧彿 - private String managementNumber; - //缁存姢鍐呭 - private String content; - //缁存姢鏃ユ湡 + @ApiModelProperty("缁存姢鏃ユ湡") + private LocalDate maintenanceDate; + + @ApiModelProperty("缁存姢鍐呭") + private String maintenanceContent; + + @ApiModelProperty("缁存姢浜篿d") + private Integer maintenanceUserId; + + @ApiModelProperty("缁存姢浜�") + private String maintenanceUserName; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("鍒涘缓鏃ユ湡") @TableField(fill = FieldFill.INSERT) - @DateTimeFormat(pattern = "yyyy-MM-dd") - private LocalDate date; - //涓嬫缁存姢鏃ユ湡 - @DateTimeFormat(pattern = "yyyy-MM-dd") - private LocalDate nextDate; - //缁存姢绫诲瀷 - private Integer maintenanceType; - //缁存姢浜哄憳 - private String name; - //澶囨敞 - private String comments; + private LocalDateTime createTime; + + @ApiModelProperty("鍒涘缓浜篿d") + @TableField(fill = FieldFill.INSERT) + private Integer createUser; + + @ApiModelProperty("鏇存柊鏃堕棿") + @TableField(fill = FieldFill.INSERT_UPDATE) + private LocalDateTime updateTime; + + @ApiModelProperty("鏇存柊浜篿d") + @TableField(fill = FieldFill.INSERT_UPDATE) + private Integer updateUser; + } + diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenanceService.java b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenanceService.java index 6ba0be6..8f17d28 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenanceService.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenanceService.java @@ -3,21 +3,17 @@ 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.dto.DeviceMaintenanceDto; 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); - /** - * 瀵煎嚭Word璁惧缁存姢璁板綍 - * - * @param deviceId - * @param response + * 璁惧缁存姢鍒嗛〉鏌ヨ + * @return */ - void exportMaintenanceRecord(Integer deviceId, HttpServletResponse response); + IPage<DeviceMaintenanceDto> selectDeviceMaintenancePage(Page page, DeviceMaintenanceDto deviceMaintenance); } diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java index 7c28152..e658b6b 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java @@ -1,86 +1,31 @@ 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.common.utils.QueryWrappers; +import com.ruoyi.device.dto.DeviceMaintenanceDto; 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.apache.commons.lang3.ObjectUtils; 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 { + + /** + * 璁惧缁存姢鍒嗛〉鏌ヨ + * @return + */ @Override - public IPage<DeviceMaintenance> getDeviceMaintenancePage(Page page, Integer deviceId, String deviceNumber) { - if (ObjectUtils.isEmpty(deviceNumber)){ - return baseMapper.selectPage(page, Wrappers.<DeviceMaintenance>lambdaQuery() - .eq(DeviceMaintenance::getDeviceId, deviceId)); + public IPage<DeviceMaintenanceDto> selectDeviceMaintenancePage(Page page, DeviceMaintenanceDto deviceMaintenance) { + if (deviceMaintenance.getDeviceId() == null) { + return new Page(); } - else return baseMapper.selectPage(page, Wrappers.<DeviceMaintenance>lambdaQuery() - .eq(DeviceMaintenance::getDeviceId, deviceId) - .like(DeviceMaintenance::getDeviceNumber, deviceNumber)); + return baseMapper.selectDeviceMaintenancePage(page, QueryWrappers.queryWrappers(deviceMaintenance)); } - - @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("瀵煎嚭澶辫触"); - } - } - } diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java index 66e5a2a..0cb7415 100644 --- a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java +++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceServiceImpl.java @@ -44,6 +44,7 @@ import java.io.OutputStream; import java.net.URLEncoder; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; @@ -396,11 +397,11 @@ DeviceMaintenance deviceMaintenance = deviceMaintenanceList.get(i); DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 缁翠慨鏃ユ湡 - deviceMetricRecordAndMaintenanceDto.setMaintenanceDateString(deviceMaintenance.getDate().format(dateTimeFormatter)); + deviceMetricRecordAndMaintenanceDto.setMaintenanceDateString(deviceMaintenance.getMaintenanceDate().format(dateTimeFormatter)); // 澶勭悊鏂规硶 - deviceMetricRecordAndMaintenanceDto.setHandlingMethod(deviceMaintenance.getContent()); + deviceMetricRecordAndMaintenanceDto.setHandlingMethod(deviceMaintenance.getMaintenanceContent()); // 澶囨敞 - deviceMetricRecordAndMaintenanceDto.setComments(deviceMaintenance.getComments()); + deviceMetricRecordAndMaintenanceDto.setComments(deviceMaintenance.getRemark()); } deviceMetricRecordAndMaintenanceDtoList.add(deviceMetricRecordAndMaintenanceDto); diff --git a/cnas-device/src/main/resources/mapper/DeviceBorrowMapper.xml b/cnas-device/src/main/resources/mapper/DeviceBorrowMapper.xml index bb2454d..4b62f5b 100644 --- a/cnas-device/src/main/resources/mapper/DeviceBorrowMapper.xml +++ b/cnas-device/src/main/resources/mapper/DeviceBorrowMapper.xml @@ -6,7 +6,7 @@ select * from ( select db.*,device_name from device_borrow db - left join `center-lims`.device on db.device_id=device.id + left join device on db.device_id=device.id )a <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> ${ew.customSqlSegment} @@ -15,7 +15,7 @@ <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 + left join device on db.device_id=device.id where device_id=#{deviceId} </select> </mapper> diff --git a/cnas-device/src/main/resources/mapper/DeviceMaintenanceMapper.xml b/cnas-device/src/main/resources/mapper/DeviceMaintenanceMapper.xml index 136b242..b6ab4cc 100644 --- a/cnas-device/src/main/resources/mapper/DeviceMaintenanceMapper.xml +++ b/cnas-device/src/main/resources/mapper/DeviceMaintenanceMapper.xml @@ -3,4 +3,18 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.ruoyi.device.mapper.DeviceMaintenanceMapper"> + + <!-- 璁惧缁存姢鍒嗛〉鏌ヨ --> + <select id="selectDeviceMaintenancePage" resultType="com.ruoyi.device.dto.DeviceMaintenanceDto"> + select * from ( + select db.*, + d.device_name, + d.management_number + from device_maintenance db + left join device d on db.device_id = d.id)a + <if test="ew.customSqlSegment != null and ew.customSqlSegment != ''"> + ${ew.customSqlSegment} + </if> + order by maintenance_date desc + </select> </mapper> diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index f4a7045..13b3568 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -48,7 +48,7 @@ */ @Autowired @Qualifier("UserDetailsByOpenIdServiceImpl") - private UserDetailsService userDetailsServiceByOpenId; + private UserDetailsService userDetailsServiceBySSO; /** * 璁よ瘉澶辫触澶勭悊绫� @@ -91,11 +91,11 @@ daoAuthenticationProvider.setPasswordEncoder(bCryptPasswordEncoder()); // sso鐧婚檰閴存潈 Provider - SsoCodeAuthenticationProvider wxCodeAuthenticationProvider = new SsoCodeAuthenticationProvider(); - wxCodeAuthenticationProvider.setUserDetailsService(userDetailsServiceByOpenId); + SsoCodeAuthenticationProvider ssoCodeAuthenticationProvider = new SsoCodeAuthenticationProvider(); + ssoCodeAuthenticationProvider.setUserDetailsService(userDetailsServiceBySSO); List<AuthenticationProvider> providers = new ArrayList<>(); - providers.add(wxCodeAuthenticationProvider); + providers.add(ssoCodeAuthenticationProvider); providers.add(daoAuthenticationProvider); return new ProviderManager(providers); -- Gitblit v1.9.3