feat(inspection): 优化送检及检测数量管理

- 调整送检数量字段注释和校验信息的描述
- 在入库检验任务服务逻辑中根据检测方法设置检测数量
- 实体及VO中新增检测数量与已检数量属性,并计算未检数量
- Mapper接口及XML新增获取已检数量的数据库查询方法
- 在获取任务详情时设置已检数量以供前端显示使用
This commit is contained in:
曹鹏飞 2026-04-29 10:30:28 +08:00
parent 66e5407cbf
commit b17e1fcec8
8 changed files with 70 additions and 6 deletions

View File

@ -224,6 +224,18 @@ public class IncomingInspectionTaskControllerService {
.setTriggerTime(LocalDateTime.now())
);
}
// 9. 设置检测数量
Integer total;
if (Objects.equals(standard.getTestingMethodDictItemId(), dictionaryItemService.getIdByCode("InspectionStandardTestingMethod", "Full"))) {
total = task.getInspectionQty();
} else {
total = getCountOfSampling(task.getId(), task.getInspectionQty(), standard);
}
incomingInspectionTaskService.lambdaUpdate()
.set(QmsIncomingInspectionTask::getDetectionQty, total)
.eq(QmsIncomingInspectionTask::getId, task.getId())
.update();
}
/**
@ -333,6 +345,18 @@ public class IncomingInspectionTaskControllerService {
.setTriggerTime(LocalDateTime.now())
);
}
// 9. 设置检测数量
Integer total;
if (Objects.equals(standard.getTestingMethodDictItemId(), dictionaryItemService.getIdByCode("InspectionStandardTestingMethod", "Full"))) {
total = task.getInspectionQty();
} else {
total = getCountOfSampling(task.getId(), task.getInspectionQty(), standard);
}
incomingInspectionTaskService.lambdaUpdate()
.set(QmsIncomingInspectionTask::getDetectionQty, total)
.eq(QmsIncomingInspectionTask::getId, task.getId())
.update();
}
private DictionaryItem getAql(Long id, List<DictionaryItem> aqls) {
@ -521,6 +545,7 @@ public class IncomingInspectionTaskControllerService {
public QmsIncomingInspectionTaskVO getDetail(Long id) {
QmsIncomingInspectionTaskVO detail = incomingInspectionTaskService.getDetail(id);
VUtil.trueThrowBusinessError(Objects.isNull(detail)).throwMessage("任务不存在");
detail.setInspectedQty(incomingInspectionTaskService.getInspectedQty(id));
return detail;
}

View File

@ -66,10 +66,10 @@ public class ExternalIncomingInspectionApplyQO {
private String factory;
/**
* 数量必填即送检数量
* 检数量必填
*/
@NotNull(message = "数量不能为空")
@Min(value = 1, message = "数量必须大于0")
@NotNull(message = "检数量不能为空")
@Min(value = 1, message = "检数量必须大于0")
private Integer inspectionQty;
/**

View File

@ -103,7 +103,7 @@ public class QmsIncomingInspectionTaskVO {
private Integer inspectionType;
/**
* 数量
* 检数量
*/
private Integer inspectionQty;
@ -117,6 +117,25 @@ public class QmsIncomingInspectionTaskVO {
*/
private Integer unqualifiedQty;
/**
* 检测数量
*/
private Integer detectionQty;
/**
* 已检数量
*/
private Integer inspectedQty;
/**
* 未检数量
*/
private Integer uninspectedQty;
public Integer getUninspectedQty() {
return detectionQty - inspectedQty;
}
/**
* 检验状态0=待检1=已检
*/

View File

@ -88,7 +88,7 @@ public class QmsIncomingInspectionTask implements Serializable {
private Integer inspectionType;
/**
* 检验数量送检数量
* 送检数量
*/
private Integer inspectionQty;
@ -102,6 +102,11 @@ public class QmsIncomingInspectionTask implements Serializable {
*/
private Integer unqualifiedQty;
/**
* 检测数量
*/
private Integer detectionQty;
/**
* 检验状态0=待检1=检验中2=已检
*/

View File

@ -21,4 +21,6 @@ public interface QmsIncomingInspectionTaskMapper extends BaseMapper<QmsIncomingI
* 根据id查询任务详情
*/
QmsIncomingInspectionTaskVO getDetail(Long id);
Integer getInspectedQty(Long id);
}

View File

@ -48,4 +48,6 @@ public interface IQmsIncomingInspectionTaskService extends IService<QmsIncomingI
* @return 任务详情
*/
QmsIncomingInspectionTaskVO getDetail(Long id);
Integer getInspectedQty(Long id);
}

View File

@ -64,4 +64,9 @@ public class QmsIncomingInspectionTaskServiceImpl extends ServiceImpl<QmsIncomin
public QmsIncomingInspectionTaskVO getDetail(Long id) {
return baseMapper.getDetail(id);
}
@Override
public Integer getInspectedQty(Long id) {
return baseMapper.getInspectedQty(id);
}
}

View File

@ -215,7 +215,8 @@
t.warehouse,
t.storage_location,
t.storage_days,
t.callback_result
t.callback_result,
t.detection_qty
FROM qms_incoming_inspection_task t
LEFT JOIN qms_qc_material m ON t.material_id = m.id
LEFT JOIN qms_inspection_standard s ON t.inspection_standard_id = s.id
@ -223,4 +224,9 @@
WHERE t.id = #{id}
</select>
<select id="getInspectedQty" resultType="java.lang.Integer">
SELECT SUM(inspection_qty)
FROM qms_incoming_inspection_task_record
WHERE task_id=#{id}
</select>
</mapper>