Merge remote-tracking branch 'origin/qms/develop' into qms/develop

This commit is contained in:
yf001217 2026-06-14 15:33:42 +08:00
commit d92cb1136b
6 changed files with 21 additions and 35 deletions

View File

@ -153,6 +153,6 @@ public class QmsQualityInspectorController extends BaseController {
*/
@PostMapping("materialsByUser")
public ApiResult<PageData<QmsQualityInspectorMaterialVO>> materialsByUser(@RequestBody QmsMaterialsByUserQO qo) {
return ApiResult.success(qualityInspectorService.getMaterialsByUserId(qo.getMaterialNo(), qo.getMaterialCategoryCode(), qo.getMaterialDesc(), qo.getPageNum(), qo.getPageSize()));
return ApiResult.success(qualityInspectorService.getMaterialsByUserId(qo));
}
}

View File

@ -1,12 +1,13 @@
package com.nflg.wms.common.pojo.qo;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
/**
* 按用户查询绑定物料参数
*/
@Data
public class QmsMaterialsByUserQO {
public class QmsMaterialsByUserQO extends PageQO{
/**
* 物料编号精确可选
@ -24,12 +25,8 @@ public class QmsMaterialsByUserQO {
private String materialDesc;
/**
* 页码
* 质检类型0为SQE1为IQC2为PQC
*/
private Integer pageNum = 1;
/**
* 每页大小
*/
private Integer pageSize = 10;
@NotNull
private Integer inspectionType;
}

View File

@ -3,6 +3,7 @@ package com.nflg.wms.repository.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.nflg.wms.common.pojo.qo.QmsMaterialsByUserQO;
import com.nflg.wms.common.pojo.qo.QmsQualityInspectorSearchQO;
import com.nflg.wms.common.pojo.vo.QmsQualityInspectorCategoryVO;
import com.nflg.wms.common.pojo.vo.QmsQualityInspectorMaterialVO;
@ -43,12 +44,7 @@ public interface QmsQualityInspectorMapper extends BaseMapper<QmsQualityInspecto
/**
* userId 查询绑定物料列表支持物料编号/类别/描述过滤分页
*/
IPage<QmsQualityInspectorMaterialVO> getMaterialsByUserIdWithFilter(
Page<QmsQualityInspectorMaterialVO> page,
@Param("userId") Long userId,
@Param("materialNo") String materialNo,
@Param("materialCategoryCode") String materialCategoryCode,
@Param("materialDesc") String materialDesc);
IPage<QmsQualityInspectorMaterialVO> getMaterialsByUserIdWithFilter(QmsMaterialsByUserQO request,Long userId, IPage<?> page);
/**
* userId 查询关联物料类别列表

View File

@ -76,5 +76,5 @@ public interface IQmsQualityInspectorService extends IService<QmsQualityInspecto
/**
* userId 查询当前用户绑定的物料列表支持物料编号/类别/描述过滤分页
*/
PageData<QmsQualityInspectorMaterialVO> getMaterialsByUserId(String materialNo, String materialCategoryCode, String materialDesc, Integer pageNum, Integer pageSize);
IPage<QmsQualityInspectorMaterialVO> getMaterialsByUserId(QmsMaterialsByUserQO qo);
}

View File

@ -594,17 +594,8 @@ public class QmsQualityInspectorServiceImpl extends ServiceImpl<QmsQualityInspec
}
@Override
public PageData<QmsQualityInspectorMaterialVO> getMaterialsByUserId(String materialNo, String materialCategoryCode,
String materialDesc, Integer pageNum, Integer pageSize) {
public IPage<QmsQualityInspectorMaterialVO> getMaterialsByUserId(QmsMaterialsByUserQO qo) {
Long userId = UserUtil.getUserId();
Page<QmsQualityInspectorMaterialVO> page = new Page<>(pageNum, pageSize);
IPage<QmsQualityInspectorMaterialVO> result = baseMapper.getMaterialsByUserIdWithFilter(
page, userId, materialNo, materialCategoryCode, materialDesc);
return new PageData<QmsQualityInspectorMaterialVO>()
.setPage((int) result.getCurrent())
.setPageSize((int) result.getSize())
.setTotal((int) result.getTotal())
.setItems(result.getRecords());
return baseMapper.getMaterialsByUserIdWithFilter(qo, userId, new Page<>(qo.getPage(), qo.getPageSize()));
}
}

View File

@ -128,18 +128,19 @@
m.material_texture,
m.is_standard_maintained AS material_status
FROM qms_inspector_material_item imi
INNER JOIN qms_quality_inspector qi ON qi.id = imi.inspector_id
LEFT JOIN qms_qc_material m ON m.id = imi.material_id
WHERE imi.inspector_id = (
WHERE qi.inspection_type=#{request.inspectionType} AND imi.inspector_id = (
SELECT id FROM qms_quality_inspector WHERE user_id = #{userId} LIMIT 1
)
<if test="materialNo != null and materialNo != ''">
AND m.material_no = #{materialNo}
AND m.material_no = #{request.materialNo}
</if>
<if test="materialCategoryCode != null and materialCategoryCode != ''">
AND m.material_category_code LIKE CONCAT(#{materialCategoryCode}, '%')
AND m.material_category_code LIKE CONCAT(#{request.materialCategoryCode}, '%')
</if>
<if test="materialDesc != null and materialDesc != ''">
AND m.material_desc LIKE CONCAT('%', #{materialDesc}, '%')
AND m.material_desc LIKE CONCAT('%', #{request.materialDesc}, '%')
</if>
UNION ALL
SELECT
@ -155,20 +156,21 @@
m.material_texture,
m.is_standard_maintained AS material_status
FROM qms_inspector_material_category_item imci
INNER JOIN qms_quality_inspector qi ON qi.id = imi.inspector_id
JOIN qms_qc_material_category mc ON mc.id = imci.material_category_id
JOIN qms_qc_material_category descendant ON descendant.parent_tree &lt;@ mc.parent_tree
JOIN qms_qc_material m ON m.material_category_code = descendant.category_code
WHERE imci.inspector_id = (
WHERE qi.inspection_type=#{request.inspectionType} AND imci.inspector_id = (
SELECT id FROM qms_quality_inspector WHERE user_id = #{userId} LIMIT 1
)
<if test="materialNo != null and materialNo != ''">
AND m.material_no = #{materialNo}
AND m.material_no = #{request.materialNo}
</if>
<if test="materialCategoryCode != null and materialCategoryCode != ''">
AND m.material_category_code LIKE CONCAT(#{materialCategoryCode}, '%')
AND m.material_category_code LIKE CONCAT(#{request.materialCategoryCode}, '%')
</if>
<if test="materialDesc != null and materialDesc != ''">
AND m.material_desc LIKE CONCAT('%', #{materialDesc}, '%')
AND m.material_desc LIKE CONCAT('%', #{request.materialDesc}, '%')
</if>
ORDER BY material_id ASC
</select>