feat(oms): 新增出仓委托单,支持新增/编辑/审核/下发WMS/完成入库

- 订单状态五态:1待审核(新增默认,驳回单编辑后自动回此态) 2已审核(下发后保持,用下发状态区分) 3已驳回 4进行中(预留) 5已入库
- 下发走WMS出库通知单链路(stockOutOrInInsert),返回强校验防吞错;完成入库限已审核+已下发
- 订单类型未传默认普通出库;明细新增单价unitPrice;列表支持invoiceNo/settlementCurrency查询,时间参数只传年月日
- 必填:客户/业务员/仓库/商品名称/申报数量;编辑删除限待审核/已驳回且未下发
- 附达梦建表脚本oms_out_entrust_order(主表+明细表,最终版)
This commit is contained in:
rcx
2026-09-04 10:47:29 +08:00
parent 0eb47793a8
commit 7d3c229b9a
21 changed files with 2823 additions and 0 deletions
@@ -0,0 +1,230 @@
-- ----------------------------
-- 通宇「出仓委托单」OMS 建表脚本 —— 达梦(DM)数据库版(最终版,新库直接执行本脚本即可,无需任何增量)
-- 适用:mhd-oms-service 连接的达梦库(生产/测试按环境选择,在OMS服务连接的用户/模式下执行)
-- 含:明细单价UNIT_PRICE、结算币种、审核备注、订单状态(1-待审核 2-已审核 3-已驳回 4-进行中(预留) 5-已入库,默认1待审核)
-- @date 2026-09-03
-- ----------------------------
-- 主表:出仓委托单
CREATE TABLE OMS_OUT_ENTRUST_ORDER (
ID BIGINT IDENTITY(1,1) NOT NULL,
ENTRUST_NUMBER VARCHAR(50) DEFAULT NULL,
WAREHOUSE_ID BIGINT DEFAULT NULL,
WAREHOUSE_CODE VARCHAR(50) DEFAULT NULL,
WAREHOUSE_NAME VARCHAR(100) DEFAULT NULL,
SHIPPER_ID BIGINT DEFAULT NULL,
SHIPPER_CODE VARCHAR(50) DEFAULT NULL,
SHIPPER_NAME VARCHAR(100) DEFAULT NULL,
SALESMAN_ID VARCHAR(64) DEFAULT NULL,
SALESMAN_NAME VARCHAR(50) DEFAULT NULL,
ORDER_TYPE_CODE VARCHAR(50) DEFAULT NULL,
ORDER_TYPE_NAME VARCHAR(100) DEFAULT NULL,
SETTLEMENT_CURRENCY VARCHAR(50) DEFAULT NULL,
PRIORITY_LEVEL_CODE VARCHAR(50) DEFAULT NULL,
PRIORITY_LEVEL_NAME VARCHAR(50) DEFAULT NULL,
DIRECT_WAREHOUSE INT DEFAULT NULL,
REVIEW INT DEFAULT NULL,
EXPECT_TIME DATETIME DEFAULT NULL,
OUTBOUND_DATE DATETIME DEFAULT NULL,
ORDER_DATE DATETIME DEFAULT NULL,
COMPLETE_TIME DATETIME DEFAULT NULL,
TO_RECEIVER VARCHAR(200) DEFAULT NULL,
CONTACT_PERSON VARCHAR(100) DEFAULT NULL,
VEHICLE_MODEL_PLATE VARCHAR(100) DEFAULT NULL,
ENTRUST_NO VARCHAR(100) DEFAULT NULL,
TEL VARCHAR(50) DEFAULT NULL,
FAX VARCHAR(50) DEFAULT NULL,
DRIVER_SIGN VARCHAR(100) DEFAULT NULL,
CARRIER VARCHAR(100) DEFAULT NULL,
CARRIER_NAME VARCHAR(200) DEFAULT NULL,
CONTAINER_NO VARCHAR(100) DEFAULT NULL,
CONTAINER_NO_NAME VARCHAR(50) DEFAULT NULL,
TRANSPORT_MODE_CODE VARCHAR(50) DEFAULT NULL,
TRANSPORT_MODE_NAME VARCHAR(50) DEFAULT NULL,
SUPERVISION_MODE_CODE VARCHAR(50) DEFAULT NULL,
SUPERVISION_MODE_NAME VARCHAR(50) DEFAULT NULL,
DECLARE_CUSTOMS VARCHAR(100) DEFAULT NULL,
ENTRY_EXIT_CUSTOMS VARCHAR(100) DEFAULT NULL,
DEPARTURE_ARRIVAL_COUNTRY VARCHAR(100) DEFAULT NULL,
CUSTOMS_INSPECTION_FLAG VARCHAR(50) DEFAULT NULL,
NEED_DECLARE_FLAG VARCHAR(50) DEFAULT NULL,
NEED_TRANSPORT_FLAG VARCHAR(50) DEFAULT NULL,
MANUFACTURER VARCHAR(200) DEFAULT NULL,
CUSTOMS_DECLARER_INFO VARCHAR(200) DEFAULT NULL,
DELIVERY_ADDR VARCHAR(500) DEFAULT NULL,
ANNEX_URL VARCHAR(500) DEFAULT NULL,
ORDER_STATUS INT DEFAULT 1,
AUDIT_BY BIGINT DEFAULT NULL,
AUDIT_BY_NAME VARCHAR(50) DEFAULT NULL,
AUDIT_TIME DATETIME DEFAULT NULL,
AUDIT_REMARK VARCHAR(500) DEFAULT NULL,
ISSUE_STATUS INT DEFAULT 1,
ISSUE_BY BIGINT DEFAULT NULL,
ISSUE_BY_NAME VARCHAR(50) DEFAULT NULL,
ISSUE_TIME DATETIME DEFAULT NULL,
DECLARE_TOTAL_QUANTITY DECIMAL(24,6) DEFAULT 0,
REMARK VARCHAR(500) DEFAULT NULL,
ORGANIZATION_ID BIGINT DEFAULT NULL,
ORGANIZATION_NAME VARCHAR(100) DEFAULT NULL,
TOP_ORGANIZATION_ID BIGINT DEFAULT NULL,
CREATE_BY BIGINT DEFAULT NULL,
CREATE_BY_NAME VARCHAR(50) DEFAULT NULL,
CREATE_TIME DATETIME DEFAULT NULL,
UPDATE_BY BIGINT DEFAULT NULL,
UPDATE_BY_NAME VARCHAR(50) DEFAULT NULL,
UPDATE_TIME DATETIME DEFAULT NULL,
DEL_FLAG INT DEFAULT 1,
CONSTRAINT PK_OMS_OUT_ENTRUST_ORDER PRIMARY KEY (ID)
);
COMMENT ON TABLE OMS_OUT_ENTRUST_ORDER IS '出仓委托单主表';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ID IS '编号';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ENTRUST_NUMBER IS '委托单号';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.WAREHOUSE_ID IS '出库仓库ID(必填)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.WAREHOUSE_CODE IS '仓库编码';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.WAREHOUSE_NAME IS '仓库名称';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.SHIPPER_ID IS '客户ID(货主,必填)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.SHIPPER_CODE IS '客户编码';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.SHIPPER_NAME IS '客户名称';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.SALESMAN_ID IS '业务员ID(必填)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.SALESMAN_NAME IS '业务员名称';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ORDER_TYPE_CODE IS '订单类型编码(字典outDocumentType,为空时下发默认普通出库)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ORDER_TYPE_NAME IS '订单类型名称';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.SETTLEMENT_CURRENCY IS '结算币种';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.PRIORITY_LEVEL_CODE IS '优先级别编码';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.PRIORITY_LEVEL_NAME IS '优先级别名称';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.DIRECT_WAREHOUSE IS '是否直接出库: 1-是 2-否';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.REVIEW IS '是否复核: 1-是 2-否';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.EXPECT_TIME IS '预计出货时间';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.OUTBOUND_DATE IS '出仓日期';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ORDER_DATE IS 'orderDate';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.COMPLETE_TIME IS '完成时间';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.TO_RECEIVER IS 'To(收货人)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.CONTACT_PERSON IS '联系人';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.VEHICLE_MODEL_PLATE IS '车型及车牌';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ENTRUST_NO IS '委托编号(客户委托单号)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.TEL IS 'Tel电话';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.FAX IS 'Fax传真';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.DRIVER_SIGN IS '司机签名';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.CARRIER IS '承运商编码';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.CARRIER_NAME IS '承运商名称';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.CONTAINER_NO IS '柜号';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.CONTAINER_NO_NAME IS '';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.TRANSPORT_MODE_CODE IS '运输方式编码';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.TRANSPORT_MODE_NAME IS '运输方式名称';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.SUPERVISION_MODE_CODE IS '监管方式编码';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.SUPERVISION_MODE_NAME IS '监管方式名称';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.DECLARE_CUSTOMS IS '申报地关区';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ENTRY_EXIT_CUSTOMS IS '进出境关别';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.DEPARTURE_ARRIVAL_COUNTRY IS '起运/运抵国(地区)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.CUSTOMS_INSPECTION_FLAG IS '海关是否查验货物';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.NEED_DECLARE_FLAG IS '是否需要报关(预留,页面隐藏)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.NEED_TRANSPORT_FLAG IS '是否需要运输(预留,页面隐藏)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.MANUFACTURER IS '生产商';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.CUSTOMS_DECLARER_INFO IS '报关员姓名及联系方式';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.DELIVERY_ADDR IS '送货地址';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ANNEX_URL IS '附件url';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ORDER_STATUS IS '订单状态:1-待审核 2-已审核(含已下发) 3-已驳回 4-进行中(预留) 5-已入库';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.AUDIT_BY IS '审核人ID';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.AUDIT_BY_NAME IS '审核人姓名';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.AUDIT_TIME IS '审核时间';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.AUDIT_REMARK IS '审核备注(驳回原因)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ISSUE_STATUS IS '下发状态:1-未下发 2-已下发';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ISSUE_BY IS '下发人ID';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ISSUE_BY_NAME IS '下发人姓名';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ISSUE_TIME IS '下发时间';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.DECLARE_TOTAL_QUANTITY IS '申报总数量(明细申报数量之和)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.REMARK IS '备注';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ORGANIZATION_ID IS '组织ID';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.ORGANIZATION_NAME IS '组织名称';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.TOP_ORGANIZATION_ID IS '一级组织ID';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER.DEL_FLAG IS '删除标记:0-无状态,1-正常,2-已删除';
CREATE INDEX IDX_OOE_ENTRUST_NUMBER ON OMS_OUT_ENTRUST_ORDER (ENTRUST_NUMBER);
CREATE INDEX IDX_OOE_TOP_ORG ON OMS_OUT_ENTRUST_ORDER (TOP_ORGANIZATION_ID);
-- 明细表:出仓委托单明细
CREATE TABLE OMS_OUT_ENTRUST_ORDER_DETAIL (
ID BIGINT IDENTITY(1,1) NOT NULL,
ENTRUST_NUMBER VARCHAR(50) DEFAULT NULL,
MATERIAL_BASE_INFO_ID BIGINT DEFAULT NULL,
MATERIAL_CODE VARCHAR(100) DEFAULT NULL,
MATERIAL_NAME VARCHAR(200) DEFAULT NULL,
BAR_CODE VARCHAR(100) DEFAULT NULL,
COMMODITY_NAME VARCHAR(200) DEFAULT NULL,
COMMODITY_NO VARCHAR(100) DEFAULT NULL,
MATERIAL_NO VARCHAR(100) DEFAULT NULL,
SPECIFICATION_MODEL VARCHAR(200) DEFAULT NULL,
SKUCODE VARCHAR(100) DEFAULT NULL,
INVOICE_NO VARCHAR(200) DEFAULT NULL,
DECLARE_UNIT VARCHAR(50) DEFAULT NULL,
DECLARE_QUANTITY DECIMAL(24,6) DEFAULT NULL,
UNIT_PRICE DECIMAL(24,6) DEFAULT NULL,
UNIT VARCHAR(50) DEFAULT NULL,
LITER VARCHAR(50) DEFAULT NULL,
"SIZE" VARCHAR(100) DEFAULT NULL,
CASE_COUNT DECIMAL(24,6) DEFAULT NULL,
PIECE_COUNT DECIMAL(24,6) DEFAULT NULL,
OUTBOUND_QUANTITY DECIMAL(24,6) DEFAULT NULL,
TOTAL_NET_WEIGHT DECIMAL(24,6) DEFAULT NULL,
TOTAL_GROSS_WEIGHT DECIMAL(24,6) DEFAULT NULL,
TOTAL_VOLUME DECIMAL(24,6) DEFAULT NULL,
TOTAL_AREA DECIMAL(24,6) DEFAULT NULL,
TOTAL_AMOUNT DECIMAL(24,6) DEFAULT NULL,
CURRENCY VARCHAR(50) DEFAULT NULL,
BATCH_REF_NO VARCHAR(100) DEFAULT NULL,
SHEET_REF_NO VARCHAR(100) DEFAULT NULL,
COUNTRY_OF_ORIGIN VARCHAR(100) DEFAULT NULL,
BOX_PALLET_NO VARCHAR(100) DEFAULT NULL,
REMARK VARCHAR(500) DEFAULT NULL,
CREATE_BY BIGINT DEFAULT NULL,
CREATE_BY_NAME VARCHAR(50) DEFAULT NULL,
CREATE_TIME DATETIME DEFAULT NULL,
UPDATE_BY BIGINT DEFAULT NULL,
UPDATE_BY_NAME VARCHAR(50) DEFAULT NULL,
UPDATE_TIME DATETIME DEFAULT NULL,
DEL_FLAG INT DEFAULT 1,
CONSTRAINT PK_OMS_OUT_ENTRUST_ORDER_DETAIL PRIMARY KEY (ID)
);
COMMENT ON TABLE OMS_OUT_ENTRUST_ORDER_DETAIL IS '出仓委托单明细表';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.ID IS '编号';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.ENTRUST_NUMBER IS '委托单号(关联主表)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.MATERIAL_BASE_INFO_ID IS '物料基础信息ID';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.MATERIAL_CODE IS '商品编码';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.MATERIAL_NAME IS '商品名称(物料档案名,与COMMODITY_NAME至少其一)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.BAR_CODE IS '商品条形码';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.COMMODITY_NAME IS '商品名称(委托单品名,与MATERIAL_NAME至少其一)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.COMMODITY_NO IS '商品编号';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.MATERIAL_NO IS '料号';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.SPECIFICATION_MODEL IS '规格型号';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.SKUCODE IS 'SKU码';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.INVOICE_NO IS '发票号';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.DECLARE_UNIT IS '申报单位';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.DECLARE_QUANTITY IS '申报数量(必填,大于0)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.UNIT_PRICE IS '单价';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.UNIT IS '单位';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.LITER IS '';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL."SIZE" IS '尺寸';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.CASE_COUNT IS '箱数';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.PIECE_COUNT IS '件数';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.OUTBOUND_QUANTITY IS '出库数量';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.TOTAL_NET_WEIGHT IS '总净重(千克)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.TOTAL_GROSS_WEIGHT IS '总毛重(千克)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.TOTAL_VOLUME IS '总体积(立方米)';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.TOTAL_AREA IS '总面积';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.TOTAL_AMOUNT IS '总金额';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.CURRENCY IS '币制';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.BATCH_REF_NO IS '批次';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.SHEET_REF_NO IS '单据参考号';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.COUNTRY_OF_ORIGIN IS '原产国';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.BOX_PALLET_NO IS '箱/托盘号';
COMMENT ON COLUMN OMS_OUT_ENTRUST_ORDER_DETAIL.DEL_FLAG IS '删除标记:0-无状态,1-正常,2-已删除';
CREATE INDEX IDX_OOED_ENTRUST_NUMBER ON OMS_OUT_ENTRUST_ORDER_DETAIL (ENTRUST_NUMBER);
-- ----------------------------
-- 回滚脚本
-- DROP TABLE OMS_OUT_ENTRUST_ORDER_DETAIL;
-- DROP TABLE OMS_OUT_ENTRUST_ORDER;
-- ----------------------------