/**
以后新功能上线,会让本文档中的中间库字段出现增减,请大家多多配合。
各个字段,如果没有或者拿不准,就取null,禁止取空字符串’’
****/
—- 集团各个公司的资料
SELECT CORP_ID, – 集团内各个公司的唯一标识,不能为空。如果不是集团化组织架构,就统一提供’00’即可。
– 后面几乎所有地方均用到这个。主要是为了后期的集团化报表使用。
CORP_NAME –公司名称
—- 商品资料
SELECT
CORP_ID , – 集团中的公司ID
ITEM_ID , – 商品编码
ITNAME , – 商品通用名
BAR_CODE, – 条形码 或叫69码
PASS_NO , – 批准文号
MADEIN , – 生产厂家
HOLDER , – 上市许可持有人
UNIT , – 单位
SPEC , – 规格
PJ_DATE , – 批件有效期至
ALIAS_NAME, – 通用名
IS_SPRIT , – 特药类型
MADEIN_D , – 产地详细
MODEL , – 剂型
ITEM_CLASS, – 商品分类
ZERO_ITEM_CLASS, – 商品分类名称
IS_OTC, – 处方类型
IS_OTC_NAME,– 处方类型名称
IS_IMPORT, – 是否进口药
IS_INSURA, – 医保类型
IS_INSURA_NAME,– 医保类型名称
IS_GSP,– 是否GSP
IS_SCAN, – 是否电子监管
QA_INFO, – 质量标准
STORE_WAY, – 存储方式
STORE_WAY_NAME, – 存储方式名称
ISCHINESEDRUG INT, –是否中药品种
THISSALE_AMT, –
AVAIL_AMT , – 品种可售数量
SPRICE ,– 指导价,必须
SPRICE_ZY , – 直营价
jyfw_yp , – 经营范围码
jyfw_yp_name , – 经营范围名称
SPRICE_CH , – 连锁总部价
in_tax , – 进项税率
sale_tax – 销项税率
—- 未匹配商品资料 – 暂时不用
– 商品资料 中过滤掉 LD_DB_SOURCE_MAPPING中已经匹配了的 即可
– NOT EXISTS(SELECT TOP 1 1 FROM DBO.LD_DB_SOURCE_MAPPING WHERE SOURCE_ID=商品资料.ITEM_ID AND TYPE=2)
—- 门店资料
SELECT
CORP_ID, –集团中的公司ID 。门店所属的集团中公司ID。
CVID,–门店在ERP的客商单位ID
CVNAME, –门店名称
[ADDRESS],–地址
SHORTNAME, – 简称
LINKMAN,–联系人
CREDNO – 营业执照号
—- 库存
SELECT
CORP_ID, – 集团中的公司ID
ITEM_ID, – 商品编码
AVAIL_AMT – 品种可售数量
/****
门店零道采购流程参考:(销售开票单有些ERP叫销售订单)
零道采购数据—>插入中间库LD_PURCHASE_ORDER和LD_PURCHASE_ORDER_ITEM表,且LD_PURCHASE_ORDER.ERP_STATUS=0
—>ERP提取做销售开票单
把销售开票单号回写到中间库LD_PURCHASE_ORDER.ERP_XSDJBH字段,多张销售开票单的用英文逗号’,’隔开。
将LD_PURCHASE_ORDER.ERP_STATUS=1。
将生成的销售开票单数量插入LD_PURCHASE_ORDER.NUM_ERP_XSDJBH。
持续地维护更新 LD_PURCHASE_ORDER的 NUM_OK_ERP_XSDJBH,NUM_FAIL_ERP_XSDJBH 两个字段,含义见下方
—>中间件持续查询LD_PURCHASE_ORDER.ERP_STATUS=1且NUM_ERP_XSDJBH > NUM_OK_ERP_XSDJBH+NUM_FAIL_ERP_XSDJBH 的零道采购单的出库情况
ERP提供销售开票汇总和明细查询、销售出库汇总和明细查询,这些查询都需要接受销售开票单单号作为参数。
—>零道收货流程
如何防止丢单:
需要维护更新LD_PURCHASE_ORDER表的NUM_ERP_XSDJBH,NUM_OK_ERP_XSDJBH,NUM_FAIL_ERP_XSDJBH三个字段,
零道中间件是根据NUM_ERP_XSDJBH>NUM_OK_ERP_XSDJBH+NUM_FAIL_ERP_XSDJBH来判断是否还有未完毕的销售开票单,若有则继续轮询。
所以需要维护好 NUM_OK_ERP_XSDJBH,NUM_FAIL_ERP_XSDJBH 两个字段
特别是分单(一张门店零道采购单被拆分为多张销售开票单)的情况,一定要正确维护这三个字段!
[NUM_ERP_XSDJBH] [INT] NULL, – ERP生成的销售开票单数量
[NUM_OK_ERP_XSDJBH] [INT] NULL, – ERP生成的销售开票单中出库成功的单号数量
[NUM_FAIL_ERP_XSDJBH] [INT] NULL, – ERP生成的销售开票单中被取消删除的单号数量
**/
—- 销售开票单查询
SELECT
CORP_ID, –集团中的公司ID
SALEBILL_NO, –销售开票单单号
SALE_MNY, –含税金额
INVOICE_TYPE, –发票类型
MNY_TYPE, –付款方式
CVID, –门店在ERP单位资料的单位ID
SORGID, –部门
SALER_ID, –业务员ID
REMARKS, –业务员
TS, –日期时间
[STATUS] –主要用到状态 ‘01’ 开单处理中,’02’ 已完成。没有的就不填
/*
01 开单处理中
05 待审核
ACC 财务结算
wms WMS处理中
02 已完成
04 已删除
09 异常退回
mob 手机开单中
13 出库下架
fh 单据复核中
*/
—- 销售开票单明细
SELECT
CORP_ID, –集团中的公司ID
SALEBILL_NO, –销售开票单单号
SALEBILLD_NO, –销售开票单明细主键,务必保证唯一性
IT_ID, –商品ID
IS_SPRIT , –是否特药
BATCH_ID, –批次
BATCH_NO, –批号
SALE_AMT, –数量
SALE_PRICE, –含税价
UNIT, –包装单位
MADE_TIME, –生产日期 ‘YYYY-MM-DD’或者NULL
AVAIL_TIME –有效期至 ‘YYYY-MM-DD’或者NULL
—- 销售出库单汇总查询
SELECT
CORP_ID, –集团中的公司ID
SALELOG_NO, – 销售出库单号
SALEBILL_NO, –销售开票单单号
SALE_MNY, –含税金额
INVOICE_TYPE, – 01增值税纸质专用发票,02增值税纸质普通发票,03增值税电子普通发票,04增值税电子专用发票
MNY_TYPE, –付款方式
SENDLINK_NO, –运输单号
CVID, –门店在ERP单位资料的单位ID
SORGID, –部门
CREATE_USER, –制单人
SALER_ID, –业务员ID
SALER, –业务员
REMARK, – 备注
TS –出库单日期时间 ‘YYYY-MM-DD HH:MI:SS’格式
—- 销售出库单明细查询
SELECT
CORP_ID, –集团内的公司ID
IT_ID, –商品内码
IS_SPRIT, –是否特药
BATCH_NO, –批号
SALE_AMT, –数量
SALE_PRICE, –含税价
UNIT, –包装单位 必需,KG–>G的自动拆零收货需要用到
SALELOG_NO, –销售出库单单号
MADE_TIME, –生产日期 ‘YYYY-MM-DD’或者NULL
AVAIL_TIME, –有效期至 ‘YYYY-MM-DD’或者NULL
SALELOGD_NO –明细主键,请务必唯一
/***
反向生成零道采购单流程参考(用于门店的非来源于零道采购的ERP销售数据,比如门店电话要货的销售单据):
ERP中的关于门店(门店资料的CVID)的非来源于零道采购数据(比如LD_PURCHASE_ORDER.ERP_XSDJBH不包含)的销售开票单(最好是经过审核的不再更改的!)
—>中间件查询到需要反向生成的销售开票单单号
—>中间件据此单号查询销售开票单数据
—>中间件生成 反向记录 到LD_PURCHASE_ORDER,且ERP_STATUS=1(表示已有销售开票单),ERP_XSDJBH=该开票单号(防止重复反向生成),NUM_OK_ERP_XSDJBH=0(表示此时可能还未出库)
—>erp根据出库情况,将LD_PURCHASE_ORDER.NUM_OK_ERP_XSDJBH=1(表示此开票单已经完全出库)
这样做原因:可能存在一张销售开票单会被拆分为多张出库单异步出库的情况,在全部出库单都处理完毕情况下ERP才把NUM_OK_ERP_XSDJBH=1,可以有效防止数据丢失。
—>中间件在NUM_OK_ERP_XSDJBH=1后,根据ERP_XSDJBH查询相关所有出库单数据,反向生成准确的零道采购单
***/
SELECT
CORP_ID, –集团中的公司ID
SALEBILL_NO, – 销售开票单单号
SALE_MNY, – 含税金额
CVID –门店在ERP单位资料的单位ID
/*
门店零道采退流程参考:
零道采退数据—>中间库LD_CK_INFO表,ERP_STATUS=0
—>ERP提取做销退单并回写销退单号到中间库LD_CK_INFO.ERP_DJBH字段,并且将ERP_STATUS=1,若多个销退单号则用英文逗号’,’隔开
—>中间件查询LD_CK_INFO.ERP_STATUS=1的行,根据ERP_DJBH字段查询ERP销退数据:
—>零道根据erp销退数据,重新生成零道采退单
*/
—- 销退单汇总
SELECT
CORP_ID, – 集团中的公司ID
SDRET_NO, – 销退单号
RET_MNY, –销退单金额
CVID, – 门店在ERP单位资料的单位ID
SORGID, – 部门
[STATUS], – 主要用到状态
SALER_ID, – 业务员ID
REMARKS, – 备注
TS –日期时间
—- 销退单明细
SELECT
CORP_ID, –集团中的公司ID
SDRET_NO, –销退单号
SALELOG_NO, – 销售出库单号,必须 20220829
SALELOGD_NO, – 销售出库单明细主键,必须
PLACE_ID, – 库位编号
IT_ID, – 商品ID
BATCH_ID, –批次
BATCH_NO, –批号
RET_AMT, –销退数量 —必须正数
RET_PRICE, –销退含税价
UNIT, –包装单位
MADE_TIME, –生产日期
AVAIL_TIME –有效期至