feat(wms): 添加根据入场钢卷号查询最早热轧卷板材质功能
- 在 IWmsMaterialCoilService 中新增 queryEarliestHotRolledMaterial 方法定义 - 在 WmsMaterialCoilController 中新增查询接口并添加参数验证 - 在 WmsMaterialCoilMapper 中新增 selectEarliestHotRolledMaterial 数据库查询方法 - 在 WmsMaterialCoilMapper.xml 中新增 SQL 查询语句实现热轧卷板材质查询逻辑 - 在 WmsMaterialCoilServiceImpl 中实现服务层查询逻辑并添加空值校验 - 接口返回最早创建的热轧卷板材质信息,无对应材质时返回 null
This commit is contained in:
@@ -657,6 +657,23 @@ public class WmsMaterialCoilController extends BaseController {
|
||||
return toAjax(iWmsMaterialCoilService.fixMaterialMismatchCoils(coilId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据入场钢卷号查询最早的热轧卷板材质
|
||||
* 前端传入某个入场钢卷号,查询该组钢卷中是否有热轧卷板
|
||||
* 如果有,返回最早创建的热轧卷板的材质信息
|
||||
*
|
||||
* @param enterCoilNo 入场钢卷号
|
||||
* @return 材质信息
|
||||
*/
|
||||
@GetMapping("/queryEarliestHotRolledMaterial")
|
||||
public R<String> queryEarliestHotRolledMaterial(@NotBlank(message = "入场钢卷号不能为空") @RequestParam String enterCoilNo) {
|
||||
String material = iWmsMaterialCoilService.queryEarliestHotRolledMaterial(enterCoilNo);
|
||||
if (material == null) {
|
||||
return R.fail("未找到该入场钢卷号对应的热轧卷板材质");
|
||||
}
|
||||
return R.ok(material, "查询成功");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -127,5 +127,12 @@ List<WmsMaterialCoilDeliveryExportVo> selectDeliveryExportListByCoilIds(@Param("
|
||||
* 分页查询材质异常的钢卷
|
||||
*/
|
||||
IPage<WmsMaterialCoil> selectMaterialMismatchCoilsPage(IPage<WmsMaterialCoil> page);
|
||||
|
||||
/**
|
||||
* 根据入场钢卷号查询最早的热轧卷板材质
|
||||
* @param enterCoilNo 入场钢卷号
|
||||
* @return 材质信息
|
||||
*/
|
||||
String selectEarliestHotRolledMaterial(@Param("enterCoilNo") String enterCoilNo);
|
||||
}
|
||||
|
||||
|
||||
@@ -304,6 +304,16 @@ public interface IWmsMaterialCoilService {
|
||||
*/
|
||||
Boolean fixMaterialMismatchCoils(Long coilId);
|
||||
|
||||
/**
|
||||
* 根据入场钢卷号查询最早的热轧卷板材质
|
||||
* 用于前端传入某个入场钢卷号,查询该组钢卷中是否有热轧卷板
|
||||
* 如果有,返回最早创建的热轧卷板的材质信息
|
||||
*
|
||||
* @param enterCoilNo 入场钢卷号
|
||||
* @return 材质信息,如果没有热轧卷板则返回null
|
||||
*/
|
||||
String queryEarliestHotRolledMaterial(String enterCoilNo);
|
||||
|
||||
/**
|
||||
* 退火报表导出数据列表(按 coilIds)
|
||||
*
|
||||
|
||||
@@ -5514,6 +5514,22 @@ public class WmsMaterialCoilServiceImpl implements IWmsMaterialCoilService {
|
||||
return dto;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String queryEarliestHotRolledMaterial(String enterCoilNo) {
|
||||
if (StringUtils.isBlank(enterCoilNo)) {
|
||||
throw new RuntimeException("入场钢卷号不能为空");
|
||||
}
|
||||
|
||||
// 查询该入场钢卷号下最早创建的热轧卷板的材质
|
||||
String material = baseMapper.selectEarliestHotRolledMaterial(enterCoilNo);
|
||||
|
||||
if (StringUtils.isBlank(material)) {
|
||||
// 找不到返回空值说明这个钢卷号对应的组没有热轧卷板
|
||||
return null;
|
||||
}
|
||||
|
||||
return material;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1068,5 +1068,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
)
|
||||
</select>
|
||||
|
||||
<!-- 根据入场钢卷号查询最早的热轧卷板材质 -->
|
||||
<select id="selectEarliestHotRolledMaterial" resultType="java.lang.String">
|
||||
SELECT rm.material
|
||||
FROM wms_material_coil mc
|
||||
LEFT JOIN wms_raw_material rm ON mc.item_type = 'raw_material' AND mc.item_id = rm.raw_material_id AND rm.del_flag = 0
|
||||
WHERE mc.del_flag = 0
|
||||
AND mc.enter_coil_no = #{enterCoilNo}
|
||||
AND mc.item_type = 'raw_material'
|
||||
AND rm.raw_material_name LIKE '%热轧卷板%'
|
||||
AND rm.material IS NOT NULL
|
||||
ORDER BY mc.create_time ASC
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user