feat(oms,wms):出库/运输单据增加线路车次字段,线路管理支持车次清单维护

1. OMS四张表(business_document_order/execute_order/
   reservation_stock_out_order/execution_stock_out_order)加
   LINE_CODE/LINE_NAME/SHUTTLE_NO三列,entity/DO/DTO/PO同步加字段,
   出库两链路Mapper XML补列与resultMap。
   线路编码/名称冗余存line_management的route_code/route_name
   (两库不互通无法join);SHUTTLE_NO为字符串(如4或31-4),
   前端拼"编码-车次"显示(31-4车次);不复用route(存tms_route.id)
   和train_no(入库链路占用)。
   下发链路(预约单->执行单,业务单->执行单)同名拷贝自动透传。
2. WMS line_management加SHUTTLE_JSON列(车次序号JSON数组),
   四层加字段+XML;DTO加反序列化器兼容前端传数组,
   PO加序列化器返回原样输出数组。
3. LineManagementImpl.update组织/仓库名称空串兜底,
   修复编辑线路后组织名称被刷成空串、列表查不到的问题。
4. 新增建表脚本sql/20260820_oms_outbound_transport_add_line_shuttle.sql(达梦语法)。
This commit is contained in:
rcx
2026-08-21 15:28:50 +08:00
parent 22f2b66ffa
commit 000092952f
27 changed files with 324 additions and 2 deletions
@@ -3,6 +3,7 @@ package com.mhd.wms.interfaces.dto.LineManagement;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.mhd.common.core.annotation.Excel;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
@@ -62,6 +63,13 @@ public class LineManagementDTO extends BaseVOEntity{
@ApiModelProperty("客户Json数据")
private String customerJson;
/**
* 车次清单
*/
@ApiModelProperty("车次清单Json数组,如[\"1\",\"2\",\"4\"],OMS单据车次下拉数据源")
@JsonDeserialize(using = ShuttleJsonDeserializer.class)
private String shuttleJson;
@ApiModelProperty("注册地址")
private String register;
}
@@ -0,0 +1,24 @@
package com.mhd.wms.interfaces.dto.LineManagement;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonNode;
import java.io.IOException;
/**
* 车次清单反序列化器:前端传 JSON 数组(如 ["1","2","3","4"])或 JSON 文本字符串均可,
* 统一转成 JSON 文本存入 String 字段落库(形如 ["1","2","3","4"])。
*/
public class ShuttleJsonDeserializer extends JsonDeserializer<String> {
@Override
public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
JsonNode node = p.readValueAsTree();
if (node == null || node.isNull()) {
return null;
}
return node.toString();
}
}