feat(wms): 退火计划选择合同提前

- 在退火计划表格中添加合同号选择功能,支持远程搜索和下拉选择
- 更新数据库表结构,在wms_furnace_plan_coil表中新增contract_id字段
- 修改后端实体类将contractNo改为contractId,并更新相关映射配置
- 调整前端页面布局,将左右两列比例从12:12调整为10:14
- 优化退火完成验证逻辑,要求所有钢卷必须绑定合同后才能完成操作
- 修复材料网格布局样式,改为固定2列显示
- 添加订单列表加载和搜索功能,支持按关键词过滤
- 更新完成退火对话框提示文案,明确合同绑定要求
This commit is contained in:
2026-06-25 15:04:41 +08:00
parent 7e9caf9bb7
commit 1c0b0da99e
9 changed files with 97 additions and 42 deletions

View File

@@ -47,9 +47,9 @@ public class WmsFurnacePlanCoil extends BaseEntity {
private Integer furnaceLevel;
/**
* 合同
* 合同ID
*/
private String contractNo;
private Long contractId;
/**
* 删除标志0=正常1=已删除)

View File

@@ -43,9 +43,9 @@ public class WmsFurnacePlanCoilBo extends BaseEntity {
private Integer furnaceLevel;
/**
* 合同
* 合同ID
*/
private String contractNo;
private Long contractId;
/**
* 钢卷ID列表逗号分隔

View File

@@ -34,8 +34,8 @@ public class WmsFurnacePlanCoilVo {
@ExcelProperty(value = "炉火层级")
private Integer furnaceLevel;
@ExcelProperty(value = "合同")
private String contractNo;
@ExcelProperty(value = "合同ID")
private Long contractId;
@ExcelProperty(value = "入场钢卷号")
private String enterCoilNo;

View File

@@ -64,7 +64,7 @@ public class WmsFurnacePlanCoilServiceImpl implements IWmsFurnacePlanCoilService
lqw.eq(bo.getCoilId() != null, WmsFurnacePlanCoil::getCoilId, bo.getCoilId());
lqw.eq(bo.getLogicWarehouseId() != null, WmsFurnacePlanCoil::getLogicWarehouseId, bo.getLogicWarehouseId());
lqw.eq(bo.getFurnaceLevel() != null, WmsFurnacePlanCoil::getFurnaceLevel, bo.getFurnaceLevel());
lqw.eq(bo.getContractNo() != null, WmsFurnacePlanCoil::getContractNo, bo.getContractNo());
lqw.eq(bo.getContractId() != null, WmsFurnacePlanCoil::getContractId, bo.getContractId());
return lqw;
}

View File

@@ -392,6 +392,11 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService {
if (targetLocation == null) {
throw new ServiceException("钢卷" + coil.getEnterCoilNo() + "未分配库位");
}
// 校验合同ID必须所有钢卷都已绑定合同
Long contractId = contractIdMap.get(coil.getCoilId());
if (contractId == null) {
throw new ServiceException("钢卷" + coil.getEnterCoilNo() + "未绑定合同,请先在明细中设置合同");
}
WmsMaterialCoil oldCoil = materialCoilMapper.selectById(coil.getCoilId());
if (oldCoil == null) {
@@ -414,7 +419,7 @@ public class WmsFurnacePlanServiceImpl implements IWmsFurnacePlanService {
updateBo.setStatus(0);
updateBo.setExportBy(null);
updateBo.setExportTime(null);
updateBo.setContractId(contractIdMap.get(coil.getCoilId()));
updateBo.setContractId(contractId);
materialCoilService.updateByBo(updateBo, "annealing");

View File

@@ -10,7 +10,7 @@
<result property="coilId" column="coil_id"/>
<result property="logicWarehouseId" column="logic_warehouse_id"/>
<result property="furnaceLevel" column="furnace_level"/>
<result property="contractNo" column="contract_no"/>
<result property="contractId" column="contract_id"/>
<result property="delFlag" column="del_flag"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>