From 88b4f398111e6ca81efa7dee369112020dd38557 Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期六, 22 二月 2025 14:03:26 +0800 Subject: [PATCH] 设备使用记录移植 --- cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceRecordMapper.java | 37 ++++ cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceRecord.java | 70 +++++++ cnas-device/src/main/java/com/ruoyi/device/service/DeviceRecordService.java | 31 +++ cnas-device/src/main/resources/mapper/DeviceTraceabilityManagementDetailsMapper.xml | 4 cnas-device/src/main/resources/mapper/InsOrderDeviceRecordMapper.xml | 50 +++++ cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExternalApplyController.java | 84 +++++++++ cnas-device/src/main/java/com/ruoyi/device/dto/DeviceRecordDto.java | 14 + cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceRecordServiceImpl.java | 132 ++++++++++++++ cnas-device/src/main/java/com/ruoyi/device/excel/DeviceRecordExportWord.java | 28 +++ cnas-device/src/main/java/com/ruoyi/device/controller/DeviceRecordController.java | 63 +++++++ 10 files changed, 511 insertions(+), 2 deletions(-) diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExternalApplyController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExternalApplyController.java new file mode 100644 index 0000000..88518a7 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceExternalApplyController.java @@ -0,0 +1,84 @@ +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.DeviceExternalApply; +import com.ruoyi.device.service.DeviceExternalApplyService; +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 10:28:43 + */ +@Api(tags = "鍒╃敤澶栭儴璁惧鐢宠琛�") +@AllArgsConstructor +@RestController +@RequestMapping("/deviceExternalApply") +public class DeviceExternalApplyController { + + private DeviceExternalApplyService deviceExternalApplyService; + + + /** + * 鍒╃敤澶栭儴璁惧鐢宠鍒楄〃 + * @return + */ + @ApiOperation(value = "鍒╃敤澶栭儴璁惧鐢宠鍒楄〃") + @GetMapping("/pageDeviceExternalApply") + public Result<IPage<DeviceExternalApply>> pageDeviceExternalApply(Page page, DeviceExternalApply deviceExternalApply) throws Exception { + return Result.success(deviceExternalApplyService.pageDeviceExternalApply(page, deviceExternalApply)); + } + + /** + * 鏌ヨ鍒╃敤澶栭儴璁惧鐢宠 + * @return + */ + @ApiOperation(value = "鏌ヨ鍒╃敤澶栭儴璁惧鐢宠") + @GetMapping("/getDeviceExternalApply") + public Result getDeviceExternalApply(Integer externalApplyId){ + return Result.success(deviceExternalApplyService.getById(externalApplyId)); + } + + /** + * 鍒犻櫎鍒╃敤澶栭儴璁惧鐢宠 + * @return + */ + @ApiOperation(value = "鍒犻櫎鍒╃敤澶栭儴璁惧鐢宠") + @GetMapping("/delDeviceExternalApply") + public Result delDeviceExternalApply(Integer externalApplyId){ + return Result.success(deviceExternalApplyService.removeById(externalApplyId)); + } + + /** + * 鏂板鍒╃敤澶栭儴璁惧鐢宠 + * @return + */ + @ApiOperation(value = "鏂板鍒╃敤澶栭儴璁惧鐢宠") + @PostMapping("/addDeviceExternalApply") + public Result addDeviceExternalApply(@RequestBody DeviceExternalApply deviceExternalApply){ + return Result.success(deviceExternalApplyService.addDeviceExternalApply(deviceExternalApply)); + } + + /** + * 瀵煎嚭鍒╃敤澶栭儴璁惧鐢宠 + * @param externalApplyId 澶栭儴璁惧鐢宠id + * @return + */ + @ApiOperation(value = "瀵煎嚭鍒╃敤澶栭儴璁惧鐢宠") + @GetMapping("/exportDeviceExternalApply") + public Result exportDeviceExternalApply(Integer externalApplyId, HttpServletResponse response){ + deviceExternalApplyService.exportDeviceExternalApply(externalApplyId, response); + return Result.success(); + } +} diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceRecordController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceRecordController.java new file mode 100644 index 0000000..250fd42 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceRecordController.java @@ -0,0 +1,63 @@ +package com.ruoyi.device.controller; + +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.pojo.DeviceRecord; +import com.ruoyi.device.service.DeviceRecordService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * cnas璁惧浣跨敤璁板綍琛� 鍓嶇鎺у埗鍣� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 11:06:47 + */ +@Api(tags = "璁惧浣跨敤璁板綍") +@RestController +@RequestMapping("/deviceRecord") +public class DeviceRecordController { + @Autowired + private DeviceRecordService deviceRecordService; + + @ApiOperation(value = "澶囦娇鐢ㄨ褰曟煡璇�") + @GetMapping("/deviceRecordPage") + public Result deviceRecordPage(Integer deviceId, Page page, String sampleCode, String managementNumber) { + return Result.success(deviceRecordService.deviceRecordPage(deviceId, page, sampleCode, managementNumber)); + } + + @ApiOperation(value = "鏂板") + @PostMapping("/saveDeviceRecord") + public Result saveDeviceRecords(@RequestBody DeviceRecord deviceRecord) { + return Result.success(deviceRecordService.save(deviceRecord)); + } + + /** + * 缂栬緫璁惧浣跨敤璁板綍 + * @param deviceRecord + * @return + */ + @ApiOperation(value = "淇敼") + @PostMapping("/updateDeviceRecord") + public Result updateDeviceRecord(@RequestBody DeviceRecord deviceRecord) { + return Result.success(deviceRecordService.updateById(deviceRecord)); + } + + @DeleteMapping("/deleteDeviceRecord") + public Result deleteDeviceRecords(@RequestParam("id") Integer id) { + return Result.success(deviceRecordService.removeById(id)); + } + + @ApiOperation(value = "璁惧浣跨敤璁板綍瀵煎嚭") + @GetMapping("/exportUseRecord") + public void exportUseRecord(Integer deviceId, String exportDate, HttpServletResponse response){ + deviceRecordService.exportUseRecord(deviceId, exportDate, response); + } +} diff --git a/cnas-device/src/main/java/com/ruoyi/device/dto/DeviceRecordDto.java b/cnas-device/src/main/java/com/ruoyi/device/dto/DeviceRecordDto.java new file mode 100644 index 0000000..1e4226b --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/dto/DeviceRecordDto.java @@ -0,0 +1,14 @@ +package com.ruoyi.device.dto; + +import com.ruoyi.device.pojo.DeviceRecord; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class DeviceRecordDto extends DeviceRecord { + + @ApiModelProperty("璁惧鍚嶇О") + private String deviceName; + @ApiModelProperty("璁惧缂栧彿") + private String managementNumber; +} diff --git a/cnas-device/src/main/java/com/ruoyi/device/excel/DeviceRecordExportWord.java b/cnas-device/src/main/java/com/ruoyi/device/excel/DeviceRecordExportWord.java new file mode 100644 index 0000000..a9505d5 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/excel/DeviceRecordExportWord.java @@ -0,0 +1,28 @@ +package com.ruoyi.device.excel; + +import com.ruoyi.device.pojo.DeviceRecord; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Author: yuan + * Date: 2024-12-10 鏄熸湡浜� 17:19:22 + * Description: + */ +@Data +public class DeviceRecordExportWord extends DeviceRecord { + @ApiModelProperty("浣跨敤鍓�0浠h〃涓嶆甯�1浠h〃姝e父") + private String useBeforeString; + + @ApiModelProperty("浣跨敤鍚�0浠h〃涓嶆甯�1浠h〃姝e父") + private String useAfterString; + + @ApiModelProperty("鎿嶄綔鏃堕棿 String yyyy-MM-dd") + private String operationDate; + + @ApiModelProperty("浣跨敤寮�濮嬫棩鏈� String yyyy-MM-dd \n HH:mm:ss") + private String useStartDateString; + + @ApiModelProperty("浣跨敤缁撴潫鏃ユ湡 String yyyy-MM-dd \n HH:mm:ss") + private String useEndDateString; +} diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceRecordMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceRecordMapper.java new file mode 100644 index 0000000..f2a4e58 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceRecordMapper.java @@ -0,0 +1,37 @@ +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.DeviceRecordDto; +import com.ruoyi.device.pojo.DeviceRecord; + +import java.util.List; + +/** + * <p> + * cnas璁惧浣跨敤璁板綍琛� Mapper 鎺ュ彛 + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 11:06:47 + */ +public interface DeviceRecordMapper extends BaseMapper<DeviceRecord> { + + IPage<DeviceRecordDto> deviceRecordPage(Integer deviceId, Page page, String sampleCode, String managementNumber, Integer userId); + + + /** + * 鏌ヨ鏈~鍐欑殑璁惧 + * @return + */ + List<DeviceRecordDto> selectNotFilled(); + + /** + * 鏌ヨ瀵煎嚭璁惧浣跨敤璁板綍 + * @param deviceId + * @param exportDate + * @return + */ + List<DeviceRecord> selectExportList(Integer deviceId, String exportDate); +} diff --git a/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceRecord.java b/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceRecord.java new file mode 100644 index 0000000..dae2f66 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceRecord.java @@ -0,0 +1,70 @@ +package com.ruoyi.device.pojo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Getter; +import lombok.Setter; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * <p> + * cnas璁惧浣跨敤璁板綍琛� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 11:06:47 + */ +@Getter +@Setter +@TableName("device_record") +@ApiModel(value = "DeviceRecord瀵硅薄", description = "cnas璁惧浣跨敤璁板綍琛�") +public class DeviceRecord implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + + private Integer deviceId; + + @ApiModelProperty("璁㈠崟id") + private Integer insOrderId; + + @ApiModelProperty("鏍峰搧缂栧彿") + private String sampleCode; + + @ApiModelProperty("娓╁害") + private String temperature; + + @ApiModelProperty("婀垮害") + private String humidity; + + @ApiModelProperty("浣跨敤鍓�0寮傚父1鑹ソ") + private Integer useBefore; + + @ApiModelProperty("浣跨敤鍚�0寮傚父1鑹ソ") + private Integer useAfter; + + @ApiModelProperty("寮傚父鎯呭喌") + private String abnormal; + + @ApiModelProperty("浣跨敤浜篿d") + private Integer usePersonId; + + @ApiModelProperty("浣跨敤浜�") + private String usePerson; + + @ApiModelProperty("澶囨敞") + private String remark; + + @ApiModelProperty("浣跨敤寮�濮嬫棩鏈�") + private LocalDateTime useStartDate; + + @ApiModelProperty("浣跨敤缁撴潫鏃ユ湡") + private LocalDateTime useEndDate; +} diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/DeviceRecordService.java b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceRecordService.java new file mode 100644 index 0000000..3d91d5a --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/service/DeviceRecordService.java @@ -0,0 +1,31 @@ +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.DeviceRecordDto; +import com.ruoyi.device.pojo.DeviceRecord; + +import javax.servlet.http.HttpServletResponse; + +/** + * <p> + * cnas璁惧浣跨敤璁板綍琛� 鏈嶅姟绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 11:06:47 + */ +public interface DeviceRecordService extends IService<DeviceRecord> { + + IPage<DeviceRecordDto> deviceRecordPage(Integer deviceId, Page page, String sampleCode, String managementNumber); + + + /** + * 瀵煎嚭璁惧浣跨敤璁板綍 + * + * @param deviceId + * @param response + */ + void exportUseRecord(Integer deviceId, String exportDate, HttpServletResponse response); +} diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceRecordServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceRecordServiceImpl.java new file mode 100644 index 0000000..f507f30 --- /dev/null +++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceRecordServiceImpl.java @@ -0,0 +1,132 @@ +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.device.dto.DeviceRecordDto; +import com.ruoyi.device.excel.DeviceRecordExportWord; +import com.ruoyi.device.mapper.DeviceMapper; +import com.ruoyi.device.mapper.DeviceRecordMapper; +import com.ruoyi.device.pojo.Device; +import com.ruoyi.device.pojo.DeviceRecord; +import com.ruoyi.device.service.DeviceRecordService; +import com.ruoyi.inspect.util.HackLoopTableRenderPolicy; +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.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * <p> + * cnas璁惧浣跨敤璁板綍琛� 鏈嶅姟瀹炵幇绫� + * </p> + * + * @author 姹熻嫃榈烽洀缃戠粶绉戞妧鏈夐檺鍏徃 + * @since 2024-09-21 11:06:47 + */ +@Service +public class DeviceRecordServiceImpl extends ServiceImpl<DeviceRecordMapper, DeviceRecord> implements DeviceRecordService { + @Resource + private DeviceMapper deviceMapper; + + @Override + public IPage<DeviceRecordDto> deviceRecordPage(Integer deviceId, Page page, String sampleCode, String managementNumber) { + // todo:浠呯湅鑷繁 + Integer userId = null; + + return baseMapper.deviceRecordPage(deviceId, page, sampleCode, managementNumber, userId); + } + + + @Override + public void exportUseRecord(Integer deviceId, String exportDate, HttpServletResponse response) { + // 鏌ヨcnas璁惧浣跨敤璁板綍 + List<DeviceRecord> deviceList = baseMapper.selectExportList(deviceId, exportDate); + // 璁惧淇℃伅 + Device device = deviceMapper.selectById(deviceId); + + + // 鏌ヨ璁惧灞炰簬鍝釜瀹為獙瀹� + String laboratoryName = "瑁呭绾跨紗瀹為獙瀹�"; + + // 瑕佹槧灏勫埌word鏁版嵁 + List<DeviceRecordExportWord> deviceExportList = new ArrayList<>(); + // deviceExportList 璧嬪�� + for (DeviceRecord deviceRecord : deviceList) { + // 澶勭悊璁惧 寮�濮嬩娇鐢ㄦ椂闂� 鍜� 缁撴潫鏃堕棿 + String startTime = ""; + String endTime = ""; + String operationDate = ""; + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"); + if (deviceRecord.getUseStartDate() != null) { + startTime = deviceRecord.getUseStartDate().format(formatter); + endTime = deviceRecord.getUseEndDate().format(formatter); + String[] startTimeSplit = startTime.split(" "); + String[] endTimeSplit = endTime.split(" "); + startTime = startTimeSplit[1]; + if (startTimeSplit[0].equals(endTimeSplit[0])) { + endTime = endTimeSplit[1]; + } else { + endTime = endTimeSplit[0] + '\n' + endTimeSplit[1]; + } + DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy.M.d"); + operationDate = deviceRecord.getUseStartDate().format(formatter2); + } + // 澶勭悊浣跨敤鍓嶅拰浣跨敤鍚� + String useBeforeString = deviceRecord.getUseBefore() == 0? "寮傚父" : "鑹ソ"; + String useAfterString = deviceRecord.getUseAfter() == 0 ? "寮傚父" : "鑹ソ"; + + DeviceRecordExportWord deviceRecordExportWord = new DeviceRecordExportWord(); + // 杩涜璧嬪�� + BeanUtils.copyProperties(deviceRecord, deviceRecordExportWord); + deviceRecordExportWord.setUseBeforeString(useBeforeString); // 浣跨敤鍓� + deviceRecordExportWord.setUseAfterString(useAfterString); // 浣跨敤鍚� + deviceRecordExportWord.setOperationDate(operationDate); // 璁惧鎿嶄綔鏃ユ湡 + deviceRecordExportWord.setUseStartDateString(startTime); // 寮�濮嬫椂闂� + deviceRecordExportWord.setUseEndDateString(endTime); // 缁撴潫鏃堕棿 + deviceExportList.add(deviceRecordExportWord); + } + + // 鑾峰彇璺緞 + InputStream inputStream = this.getClass().getResourceAsStream("/static/word/use-record.docx"); + Configure configure = Configure.builder() + .bind("useRecord", new HackLoopTableRenderPolicy()) + .build(); + String deviceName = device.getDeviceName(); + String managementNumber = device.getManagementNumber(); + XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render( + new HashMap<String, Object>() {{ + put("useRecord", deviceExportList); + put("deviceName", deviceName); + put("managementNumber", managementNumber); + 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("瀵煎嚭澶辫触"); + } + } + +} diff --git a/cnas-device/src/main/resources/mapper/DeviceTraceabilityManagementDetailsMapper.xml b/cnas-device/src/main/resources/mapper/DeviceTraceabilityManagementDetailsMapper.xml index e689b3b..7de51b3 100644 --- a/cnas-device/src/main/resources/mapper/DeviceTraceabilityManagementDetailsMapper.xml +++ b/cnas-device/src/main/resources/mapper/DeviceTraceabilityManagementDetailsMapper.xml @@ -1,9 +1,9 @@ <?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.yuanchu.mom.mapper.DeviceTraceabilityManagementDetailsMapper"> +<mapper namespace="com.ruoyi.device.mapper.DeviceTraceabilityManagementDetailsMapper"> <select id="deviceTraceabilityManagementDetailsList" - resultType="com.yuanchu.mom.dto.DeviceTraceabilityManagementDetailsDto"> + resultType="com.ruoyi.device.dto.DeviceTraceabilityManagementDetailsDto"> select dtmd.*, d.device_name, diff --git a/cnas-device/src/main/resources/mapper/InsOrderDeviceRecordMapper.xml b/cnas-device/src/main/resources/mapper/InsOrderDeviceRecordMapper.xml new file mode 100644 index 0000000..1707e9d --- /dev/null +++ b/cnas-device/src/main/resources/mapper/InsOrderDeviceRecordMapper.xml @@ -0,0 +1,50 @@ +<?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.DeviceRecordMapper"> + + <select id="deviceRecordPage" resultType="com.ruoyi.device.dto.DeviceRecordDto"> + select dr.*, + d.device_name, + d.management_number + from device_record dr + left join device d on d.id = dr.device_id + where 1=1 + <if test="deviceId != null"> + and dr.device_id = #{deviceId} + </if> + <if test="sampleCode != '' and sampleCode != null"> + and dr.sample_code like concat('%', #{sampleCode}, '%') + </if> + <if test="managementNumber != '' and managementNumber != null"> + and d.management_number like concat('%', #{managementNumber}, '%') + </if> + <if test="userId != null"> + and dr.use_person_id = #{userId} + and dr.use_start_date is null + </if> + ORDER BY (dr.use_start_date IS NULL) desc , dr.use_start_date DESC + </select> + + + <select id="selectNotFilled" resultType="com.ruoyi.device.dto.DeviceRecordDto"> + select dr.*, + d.device_name, + d.management_number + from device_record dr + left join device d on d.id = dr.device_id + where dr.use_start_date is null + </select> + + <!-- 鏌ヨ瀵煎嚭璁惧浣跨敤璁板綍 --> + <select id="selectExportList" resultType="com.ruoyi.device.dto.DeviceRecordDto"> + select dr.* + from device_record dr + where dr.use_start_date is not null + <if test="deviceId != null"> + and dr.device_id = #{deviceId} + </if> + <if test="exportDate != '' and exportDate != null"> + and DATE_FORMAT(dr.use_start_date, '%Y-%m') = #{exportDate}; + </if> + </select> +</mapper> -- Gitblit v1.9.3