src/main/java/com/ruoyi/common/enums/FileNameType.java
@@ -14,7 +14,8 @@ SHIP(9),//发货台账 INSPECTION_PRODUCTION_BEFORE(10), INSPECTION_PRODUCTION_AFTER(11), INSPECTION(12);//巡检 生产前 INSPECTION(12),//巡检 生产前 DeviceRepair(13);// 设备维修 private final int value; src/main/java/com/ruoyi/common/enums/RawMaterialCheckResult.java
@@ -26,10 +26,10 @@ */ public static RawMaterialCheckResult fromValue(Integer value) { for (RawMaterialCheckResult type : values()) { if (type.getValue().equals(value)) { if (type.getCode().equals(value)) { return type; } } throw new IllegalArgumentException("未知的 RawMaterialCheckResult 值: " + value); return null; } } src/main/java/com/ruoyi/common/enums/RawMaterialCheckType.java
@@ -27,10 +27,10 @@ */ public static RawMaterialCheckType fromValue(Integer value) { for (RawMaterialCheckType type : values()) { if (type.getValue().equals(value)) { if (type.getCode().equals(value)) { return type; } } throw new IllegalArgumentException("未知的 RawMaterialCheckType 值: " + value); return null; } } src/main/java/com/ruoyi/common/enums/RawMaterialInspectState.java
@@ -26,10 +26,10 @@ */ public static RawMaterialInspectState fromValue(Integer value) { for (RawMaterialInspectState type : values()) { if (type.getValue().equals(value)) { if (type.getCode().equals(value)) { return type; } } throw new IllegalArgumentException("未知的 RawMaterialInspectState 值: " + value); return null; } } src/main/java/com/ruoyi/device/dto/DeviceRepairDto.java
@@ -3,11 +3,13 @@ import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.sales.pojo.CommonFile; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.time.LocalDateTime; import java.util.Date; import java.util.List; @Data public class DeviceRepairDto { @@ -74,5 +76,7 @@ private String sparePartsNames; private List<CommonFile> fileList; } src/main/java/com/ruoyi/device/pojo/DeviceRepair.java
@@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.other.pojo.TempFile; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import java.util.Date; import java.util.List; @Data @TableName("device_repair") @@ -76,5 +78,6 @@ @ApiModelProperty("领用备件ids") private String sparePartsIds; @ApiModelProperty("文件列表") private List<TempFile> fileList; } src/main/java/com/ruoyi/device/service/impl/DeviceRepairServiceImpl.java
@@ -1,11 +1,12 @@ package com.ruoyi.device.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.github.xiaoymin.knife4j.core.util.CollectionUtils; import com.github.xiaoymin.knife4j.core.util.StrUtil; import com.google.common.collect.Lists; import com.ruoyi.common.enums.FileNameType; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.device.dto.DeviceDefectRecordDto; @@ -20,14 +21,15 @@ import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.measuringinstrumentledger.mapper.SparePartsMapper; import com.ruoyi.measuringinstrumentledger.pojo.SpareParts; import com.ruoyi.measuringinstrumentledger.service.SparePartsService; import com.ruoyi.other.pojo.TempFile; import com.ruoyi.other.service.TempFileService; import com.ruoyi.sales.mapper.CommonFileMapper; import com.ruoyi.sales.pojo.CommonFile; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletResponse; import java.util.*; @@ -46,12 +48,20 @@ private IDeviceLedgerService deviceLedgerService; @Autowired private SparePartsMapper sparePartsMapper; @Autowired private TempFileService tempFileService; @Autowired private CommonFileMapper commonFileMapper; @Override public IPage<DeviceRepairDto> queryPage(Page page, DeviceRepairDto deviceRepairDto) { IPage<DeviceRepairDto> deviceRepairDtoIPage = deviceRepairMapper.queryPage(page, deviceRepairDto); List<DeviceRepairDto> records = deviceRepairDtoIPage.getRecords(); List<Long> recordIds = records.stream() .map(DeviceRepairDto::getId) .collect(Collectors.toList()); if (!CollectionUtils.isEmpty(records)) { // 1. 获取所有唯一的备件ID Set<String> allIds = records.stream() @@ -86,6 +96,12 @@ record.setSparePartsNames(names); }); } // 处理文件 List<CommonFile> commonFiles = commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>().in(CommonFile::getCommonId, recordIds) .eq(CommonFile::getType, FileNameType.DeviceRepair.getValue())); Map<Long, List<CommonFile>> collect = commonFiles.stream() .collect(Collectors.groupingBy(CommonFile::getCommonId)); records.forEach(record -> record.setFileList(collect.get(record.getId()))); } return deviceRepairDtoIPage; @@ -94,6 +110,17 @@ @Override public AjaxResult saveDeviceRepair(DeviceRepair deviceRepair) { DeviceLedger byId = deviceLedgerService.getById(deviceRepair.getDeviceLedgerId()); if (CollectionUtils.isNotEmpty(deviceRepair.getFileList())) { List<String> fileIds = deviceRepair.getFileList().stream() .map(TempFile::getTempId) .collect(Collectors.toList()); try { tempFileService.migrateTempFilesToFormal(deviceRepair.getId(), fileIds, FileNameType.DeviceRepair.getValue()); } catch (Exception e) { log.error("设备维修文件迁移错误", e); } } deviceRepair.setDeviceName(byId.getDeviceName()); deviceRepair.setDeviceModel(byId.getDeviceModel()); boolean save = this.save(deviceRepair); @@ -106,6 +133,16 @@ @Override public AjaxResult updateDeviceRepair(DeviceRepair deviceRepair) { if (this.updateById(deviceRepair)) { if (CollectionUtils.isNotEmpty(deviceRepair.getFileList())) { List<String> fileIds = deviceRepair.getFileList().stream() .map(TempFile::getTempId) .collect(Collectors.toList()); try { tempFileService.migrateTempFilesToFormal(deviceRepair.getId(), fileIds, FileNameType.DeviceRepair.getValue()); } catch (Exception e) { log.error("设备维修文件迁移错误", e); } } Long id = deviceRepair.getId(); // DeviceDefectRecordDto deviceDefectRecordDto = new DeviceDefectRecordDto(); src/main/java/com/ruoyi/inspectiontask/pojo/QualityInspectItem.java
@@ -1,10 +1,12 @@ package com.ruoyi.inspectiontask.pojo; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.time.LocalDateTime; import lombok.Data; /** * 质量检测项 @@ -59,12 +61,16 @@ * */ @TableField(value = "create_time",fill = FieldFill.INSERT) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime createTime; /** * */ @TableField(value = "update_time",fill = FieldFill.INSERT_UPDATE) @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime updateTime; /** src/main/java/com/ruoyi/other/service/TempFileService.java
@@ -4,9 +4,12 @@ import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.util.List; public interface TempFileService { TempFile uploadFile(MultipartFile file,Integer type) throws IOException; String uploadByCommon(MultipartFile file, Integer type, Long id) throws IOException; void migrateTempFilesToFormal(Long businessId, List<String> tempFileIds, Integer fileType) throws IOException; } src/main/java/com/ruoyi/other/service/impl/TempFileServiceImpl.java
@@ -9,16 +9,13 @@ import com.ruoyi.sales.mapper.CommonFileMapper; import com.ruoyi.sales.pojo.CommonFile; import lombok.extern.slf4j.Slf4j; import org.apache.catalina.util.URLEncoder; import org.apache.commons.io.FilenameUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -98,6 +95,7 @@ * @param fileType 文件类型(来自FileNameType) * @throws IOException 文件操作异常 */ @Override public void migrateTempFilesToFormal(Long businessId, List<String> tempFileIds, Integer fileType) throws IOException { if (com.baomidou.mybatisplus.core.toolkit.CollectionUtils.isEmpty(tempFileIds)) { return; src/main/java/com/ruoyi/quality/controller/RawMaterialController.java
@@ -1,8 +1,10 @@ package com.ruoyi.quality.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.enums.RawMaterialInspectState; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.quality.dto.RawMaterialDto; import com.ruoyi.quality.pojo.RawMaterial; import com.ruoyi.quality.service.RawMaterialService; import org.springframework.web.bind.annotation.*; @@ -31,6 +33,13 @@ return AjaxResult.success(rawMaterialService.listPage(page, rawMaterialDto)); } /** * 原料详情 */ @GetMapping("/detail/{id}") public AjaxResult detail(@PathVariable Long id) { return AjaxResult.success(rawMaterialService.detail(id)); } /** * 原料新增 @@ -41,11 +50,37 @@ } /** * 检测提交 * @param id 原料id * @return */ @PatchMapping("/submit/{id}") public AjaxResult submit(@PathVariable Long id) { RawMaterial rawMaterial = new RawMaterial(); rawMaterial.setId(id); rawMaterial.setInspectState(RawMaterialInspectState.RawMaterialInspectStateSubmitted.getCode()); return AjaxResult.success(rawMaterialService.updateById(rawMaterial)); } /** * 修改检验人 * @param rawMaterialDto 原料 * @return */ @PatchMapping("/updateCheckUserName") public AjaxResult updateCheckUserName(@RequestBody RawMaterialDto rawMaterialDto) { RawMaterial rawMaterial = new RawMaterial(); rawMaterial.setId(rawMaterialDto.getId()); rawMaterial.setCheckUserName(rawMaterialDto.getCheckUserName()); return AjaxResult.success(rawMaterialService.updateById(rawMaterial)); } /** * 原料更新 */ @PutMapping("") public AjaxResult update(@RequestBody RawMaterialDto rawMaterialDto) { return AjaxResult.success(rawMaterialService.updateById(rawMaterialDto)); return AjaxResult.success(rawMaterialService.update(rawMaterialDto)); } /** src/main/java/com/ruoyi/quality/dto/RawMaterialDto.java
@@ -1,16 +1,12 @@ package com.ruoyi.quality.dto; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.inspectiontask.pojo.QualityInspectItem; import com.ruoyi.quality.pojo.RawMaterial; import com.ruoyi.quality.pojo.RawMaterialQualityInspectItem; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.time.LocalDate; import java.util.List; /** @@ -24,18 +20,14 @@ /** * 开始时间 */ @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty("表单搜索时间范围:开始时间") private LocalDate entryDateStart; private String entryDateStart; /** * 结束时间 */ @JsonFormat(pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty("表单搜索时间范围:结束时间") private LocalDate entryDateEnd; private String entryDateEnd; @ApiModelProperty("检验类型 0入场检 1车间检 2出厂检") private String checkTypeText; @@ -46,6 +38,18 @@ @ApiModelProperty("类别(0:未提交;1:已提交)") private String inspectStateText; @ApiModelProperty("原料检测项列表ids") private List<Long> qualityInspectItemIds; @ApiModelProperty("原料检测项列表") private List<QualityInspectItem> qualityInspectItem; @ApiModelProperty("产品名称") private String productName; @ApiModelProperty("规格型号") private String model; @ApiModelProperty("产品id") private Long productId; @ApiModelProperty("单位") private String unit; } src/main/java/com/ruoyi/quality/pojo/RawMaterialQualityInspectItem.java
@@ -1,16 +1,13 @@ package com.ruoyi.quality.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 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> @@ -37,6 +34,9 @@ @ApiModelProperty("质量检验项id") private Long qualityInspectItemId; @ApiModelProperty("化验值") private String testValue; @ApiModelProperty("录入时间") @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; src/main/java/com/ruoyi/quality/service/RawMaterialService.java
@@ -2,10 +2,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.quality.dto.RawMaterialDto; import com.ruoyi.quality.pojo.QualityInspectFile; import com.ruoyi.quality.pojo.RawMaterial; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.quality.dto.RawMaterialDto; import com.ruoyi.quality.pojo.RawMaterial; /** * <p> @@ -18,5 +17,9 @@ public interface RawMaterialService extends IService<RawMaterial> { IPage<RawMaterialDto> listPage(Page page, RawMaterialDto rawMaterialDto); RawMaterialDto detail(Long id); boolean add(RawMaterialDto rawMaterialDto); boolean update(RawMaterialDto rawMaterialDto); } src/main/java/com/ruoyi/quality/service/impl/RawMaterialServiceImpl.java
@@ -1,25 +1,33 @@ package com.ruoyi.quality.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.collaborativeApproval.dto.DutyPlanDTO; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.mapper.ProductMapper; import com.ruoyi.basic.mapper.ProductModelMapper; import com.ruoyi.basic.pojo.Product; import com.ruoyi.basic.pojo.ProductModel; import com.ruoyi.common.enums.RawMaterialCheckResult; import com.ruoyi.common.enums.RawMaterialCheckType; import com.ruoyi.common.enums.RawMaterialInspectState; import com.ruoyi.production.mapper.ProductProcessRouteMapper; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.inspectiontask.mapper.QualityInspectItemMapper; import com.ruoyi.inspectiontask.pojo.QualityInspectItem; import com.ruoyi.quality.dto.RawMaterialDto; import com.ruoyi.quality.mapper.RawMaterialQualityInspectItemMapper; import com.ruoyi.quality.pojo.RawMaterial; import com.ruoyi.quality.mapper.RawMaterialMapper; import com.ruoyi.quality.pojo.RawMaterial; import com.ruoyi.quality.pojo.RawMaterialQualityInspectItem; import com.ruoyi.quality.service.RawMaterialQualityInspectItemService; import com.ruoyi.quality.service.RawMaterialService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -38,33 +46,106 @@ private RawMaterialQualityInspectItemService rawMaterialQualityInspectItemService; private QualityInspectItemMapper qualityInspectItemMapper; private ProductModelMapper productModelMapper; private ProductMapper productMapper; @Override public IPage<RawMaterialDto> listPage(Page page, RawMaterialDto rawMaterialDto) { IPage<RawMaterialDto> rawMaterials = rawMaterialMapper.listPage(page, rawMaterialDto); for (RawMaterialDto rawMaterial : rawMaterials.getRecords()) { rawMaterial.setCheckTypeText(RawMaterialCheckType.fromValue(rawMaterial.getCheckType()).getValue()); rawMaterial.setCheckResultText(RawMaterialCheckResult.fromValue(rawMaterial.getCheckResult()).getValue()); rawMaterial.setInspectStateText(RawMaterialInspectState.fromValue(rawMaterial.getInspectState()).getValue()); IPage<RawMaterialDto> pageRes = rawMaterialMapper.listPage(page, rawMaterialDto); List<RawMaterialDto> rawMaterials = pageRes.getRecords(); Map<Long, ProductModel> productModelMap = new HashMap<>(); Map<Long, Product> productMap = new HashMap<>(); if (CollectionUtils.isNotEmpty(rawMaterials)) { List<Long> productModelIds = rawMaterials.stream().map(RawMaterialDto::getProductModelId).collect(Collectors.toList()); List<ProductModel> productModels = productModelMapper.selectList(new LambdaQueryWrapper<ProductModel>() .in(ProductModel::getId, productModelIds)); productModelMap = productModels.stream().collect(Collectors.toMap(ProductModel::getId, productModel -> productModel)); List<Long> productIds = productModels.stream().map(ProductModel::getProductId).collect(Collectors.toList()); List<Product> products = productMapper.selectList(new LambdaQueryWrapper<Product>() .in(Product::getId, productIds)); productMap = products.stream().collect(Collectors.toMap(Product::getId, product -> product)); } return rawMaterials; for (RawMaterialDto rawMaterial : pageRes.getRecords()) { rawMaterial.setCheckTypeText(RawMaterialCheckType.fromValue(rawMaterial.getCheckType()) == null ? "" : RawMaterialCheckType.fromValue(rawMaterial.getCheckType()).getValue()); rawMaterial.setCheckResultText(RawMaterialCheckResult.fromValue(rawMaterial.getCheckResult()) == null ? "" : RawMaterialCheckResult.fromValue(rawMaterial.getCheckResult()).getValue()); rawMaterial.setInspectStateText(RawMaterialInspectState.fromValue(rawMaterial.getInspectState()) == null ? "" : RawMaterialInspectState.fromValue(rawMaterial.getInspectState()).getValue()); rawMaterial.setProductName(productMap.get(productModelMap.get(rawMaterial.getProductModelId()).getProductId()).getProductName()); rawMaterial.setModel(productModelMap.get(rawMaterial.getProductModelId()).getModel()); rawMaterial.setProductId(productModelMap.get(rawMaterial.getProductModelId()).getProductId()); } return pageRes; } @Override public RawMaterialDto detail(Long id) { RawMaterial rawMaterial = rawMaterialMapper.selectById(id); RawMaterialDto rawMaterialDto = new RawMaterialDto(); BeanUtils.copyBeanProp(rawMaterialDto, rawMaterial); // 获取检测项关联关系 List<RawMaterialQualityInspectItem> rawQualityList = rawMaterialQualityInspectItemService.list(new LambdaQueryWrapper<RawMaterialQualityInspectItem>() .eq(RawMaterialQualityInspectItem::getRawMaterialId, id)); Map<Long, RawMaterialQualityInspectItem> map = rawQualityList.stream().collect(Collectors.toMap(RawMaterialQualityInspectItem::getQualityInspectItemId, qualityInspectItem -> qualityInspectItem)); // 获取检验项目 List<QualityInspectItem> qualityInspectItems = qualityInspectItemMapper.selectList(new LambdaQueryWrapper<QualityInspectItem>() .in(QualityInspectItem::getId, rawQualityList.stream().map(RawMaterialQualityInspectItem::getQualityInspectItemId).collect(Collectors.toList()))); // 替换化验值 qualityInspectItems.forEach(qualityInspectItem -> { qualityInspectItem.setTestValue(map.get(qualityInspectItem.getId()).getTestValue()); }); rawMaterialDto.setQualityInspectItem(qualityInspectItems); // 查询产品id ProductModel productModel = productModelMapper.selectById(rawMaterialDto.getProductModelId()); rawMaterialDto.setProductId(productModel.getProductId()); rawMaterialDto.setUnit(productModel.getUnit()); return rawMaterialDto; } @Override @Transactional(rollbackFor = Exception.class) public boolean add(RawMaterialDto rawMaterialDto) { rawMaterialDto.setInspectState(RawMaterialInspectState.RawMaterialInspectStateUnsubmitted.getCode()); // 新增原料 int i = rawMaterialMapper.insert(rawMaterialDto); // 新增检测项关联关系 if (rawMaterialDto.getQualityInspectItemIds() != null && !rawMaterialDto.getQualityInspectItemIds().isEmpty()) { List<RawMaterialQualityInspectItem> rawMaterialQualityInspectItems = rawMaterialDto.getQualityInspectItemIds().stream() .map(id -> { if (CollectionUtils.isNotEmpty(rawMaterialDto.getQualityInspectItem())) { List<RawMaterialQualityInspectItem> rawMaterialQualityInspectItems = rawMaterialDto.getQualityInspectItem().stream() .map(qualityInspectItem -> { RawMaterialQualityInspectItem item = new RawMaterialQualityInspectItem(); item.setRawMaterialId(rawMaterialDto.getId()); item.setQualityInspectItemId(id); item.setQualityInspectItemId(qualityInspectItem.getId()); item.setTestValue(qualityInspectItem.getTestValue()); return item; }) .collect(Collectors.toList()); rawMaterialQualityInspectItemService.saveBatch(rawMaterialQualityInspectItems); } // 新增原料 return rawMaterialMapper.insert(rawMaterialDto) > 0; return i > 0; } @Override public boolean update(RawMaterialDto rawMaterialDto) { // 删除所有关联项目重新加载 rawMaterialQualityInspectItemService.remove(new LambdaQueryWrapper<RawMaterialQualityInspectItem>() .eq(RawMaterialQualityInspectItem::getRawMaterialId, rawMaterialDto.getId())); int i = rawMaterialMapper.updateById(rawMaterialDto); // 新增检测项关联关系 if (CollectionUtils.isNotEmpty(rawMaterialDto.getQualityInspectItem())) { List<RawMaterialQualityInspectItem> rawMaterialQualityInspectItems = rawMaterialDto.getQualityInspectItem().stream() .map(qualityInspectItem -> { RawMaterialQualityInspectItem item = new RawMaterialQualityInspectItem(); item.setRawMaterialId(rawMaterialDto.getId()); item.setQualityInspectItemId(qualityInspectItem.getId()); item.setTestValue(qualityInspectItem.getTestValue()); return item; }) .collect(Collectors.toList()); rawMaterialQualityInspectItemService.saveBatch(rawMaterialQualityInspectItems); } return i > 0; } } src/main/resources/mapper/quality/RawMaterialMapper.xml
@@ -28,10 +28,10 @@ AND rm.check_type = #{params.checkType} </if> <if test="params.entryDateStart != null and params.entryDateStart != '' "> AND rm.check_time >= DATE_FORMAT(#{params.entryDateStart},'%Y-%m-%d') AND rm.check_time >= #{params.entryDateStart} </if> <if test="params.entryDateEnd != null and params.entryDateEnd != '' "> AND rm.check_time <= DATE_FORMAT(#{params.entryDateEnd},'%Y-%m-%d') AND rm.check_time <= #{params.entryDateEnd} </if> ORDER BY rm.check_time DESC </select>