.Net 平台标准存储过程&函数&CLR方法
CLR 方法类
CLR_CallWebAPIEx / CLR_CallWebAPIEx2 [调用外部系统接口]
CLR_CallWebAPIEx3 [调用外部系统接口]
CLR_CreateImageByHtml 根据HTML内容生成图片接口
CLR_Dingtalk_GetUserIdByMobile 通过手机号码获取企业钉钉号
CLR_Dingtalk_MessageSend 企业钉钉发送消息接口
CLR_FeiShu_MessageSend 企业飞书发送消息接口
CLR_GetSolarDate 农历日期转换成阳历日期
CLR_RegexIsMatch 正则表达式匹配函数
CLR_RegexReplace 正则表达式替换函数
CLR_WeChatPostEx 企业微信消息及文件推送
【EAM】标准方法
【QMS】存储过程类
FQC(终检)生产卡控处理
PQC(半成品检验)生产卡控处理
出货检 宽严转换规则处理
出货检验单生成接口
发货扫描卡控出货检验
完工检 宽严转换规则处理
完工检验单生成接口
巡检检验生产卡控
巡检验检验单生成接口(手工引用)
巡检验检验单生成接口(用于自动执行)
来料检验急料邮件预警提醒
首件检验单生成接口
首件检验生产卡控处理
【WES】标准方法
【MES】TxnBase_LotStart_Batch(批号批量启动) --【5大接口之一】
【WES】TxnBase_WES_AdviceCell(获取建议储位)
【WES】TxnBase_WES_BoxSN_PrintForPDA(物料箱号打印)
【WES】TxnBase_WES_InAndOutRecord(WES出入库记录)
【WES】TxnBase_WES_LotSN_PrintForPDA(物料批号打印)
【WES】TxnBase_WES_LotTrackBatch(批号追溯--批量)
【WES】TxnBase_WES_LotTrack(批号追溯)
【WES】TxnBase_WES_Lot_InCellCheck(上架策略)
【WES】TxnBase_WES_Lot_OutCellCheck_PickingList(出库策略--领料)
【WES】TxnBase_WES_Lot_OutCellCheck_SaleDelivery(出库策略--销售发货)
【WES】TxnBase_WES_Vendor_LotRuleCheck(供应批号规则检查)
函数类【通用】
【OrBit】Convert10ToUserXSerial(10进制 转换为 “任意自定义进制” 序列)
【OrBit】Convert10ToUserX(10进制 转换为 “任意自定义进制”)
【OrBit】Convert10ToXSerial(10进制 转换为 2到36进制 “序列”)
【OrBit】Convert10ToX(10进制 转换为 2到36进制)
【OrBit】ConvertXTo10(2到36进制 转换为 10进制)
【OrBit】Fn_GetObjectPKId(根据主键头及序列计数值获取主键)
【OrBit】TFn_BillStates_Table(获取单据状态表)
【OrBit】TFn_BillType_Table(获取单据类型表)
【OrBit】TFn_UserCodeToTable(获取用户自定义编码)
【OrBit】TFn_UserCode_Table(获取用户编码表)
【WES】TFn_ParsingBarcodeStr
存储过程类【通用】
【MES】LotOnResourceBackflushDoMethod(通用生产扣料)
【MES】LotOnSMTBackflushDoMethod(SMT扣料)
【MES】SysCheckLotStatus(规程检查) --【5大接口之一】
【MES】TxnBase_DataChainMainLine(创建数据链) --【5大接口之一】
【MES】TxnBase_IsolationLot_Submit(批次隔离)
【MES】TxnBase_LotMove(批号移动,移动到下一个节点) --【5大接口之一】
【MES】TxnBase_LotNonStdMove(非标准移动) --【5大接口之一】
【MES】TxnBase_LotStart(批号启动) --【5大接口之一】
【MES】TxnBase_MES_CollectSNCheck(采集项SN检查)
【MES】TxnBase_Production_Feedback(生产报工)
【OrBit】StartRuleSNDoMethod / StartRuleSN_BatchDoMethod(序列号接口)
【OrBit】Txn_BillNewSN(生成--系统单据号)
【QMS】TxnBase_QMS_IQCCheck_RuleShift(IQC宽严转换)
-
+
首页
【OrBit】Fn_GetObjectPKId(根据主键头及序列计数值获取主键)
**1.概述** 平台现有的主键申请,是通过调用存储过程实现的,SysGetObjectPKId(申请单个主键)和SysGetBatchObjectPKId(申请多个主键)。需要先定义变量或者表变量,用来存储所申请到的主键,再获取变量写入业务数据表。而且需要传入表对象参数甚至需要先获取业务数据的行数,总之是比较繁琐。现提供Fn_GetObjectPKId函数,直接申请主键,用1行代码取而代之。 PS:**前提是,业务数据表先定义好序列**。平台的表对象插件,在保存时会自动以表对象名称_PK的格式创建序列,如dbo.Bill_PK。 ![](http://121.37.203.18:8006/media//202203/SequencePK_1646213659.png) **2.函数说明** 2.1、sql脚本 ```sql -- ============================================= -- Author: <Orbit HG0064> -- Create date: <2022.03.02> -- Description: <根据主键头及序列计数值获取主键> -- ============================================= ALTER FUNCTION [dbo].[Fn_GetObjectPKId] ( @Len INT = 12, -- 主键长度 @Pre VARCHAR(4), -- 主键头 @SeqNo INT) -- 流水号 RETURNS CHAR(12) AS BEGIN -- 调用示例1:单独申请主键 --SELECT @PKId = [dbo].[Fn_GetObjectPKId](12,'BILL',NEXT VALUE FOR dbo.Bill_PK) -- 调用示例2:插入数据时直接申请主键,根据插入行数自动申请对应数量的主键(插入一行就申请一个) --INSERT INTO dbo.Bill(BillId) --SELECT [dbo].[Fn_GetObjectPKId](12,'BILL',NEXT VALUE FOR dbo.Bill_PK) DECLARE @PLen INT=LEN(@Pre) RETURN @Pre+dbo.Convert10ToDecimal(@seqno,@Len-@PLen,36) END ``` 2.2、参数说明 ![](http://121.37.203.18:8006/media//202203/using%20Sample1_1646213665.png) **3.函数说明** 3.1、单独申请主键示例 ```sql SELECT @PKId = [dbo].[Fn_GetObjectPKId](12,'BILL',NEXT VALUE FOR dbo.Bill_PK) ``` 3.2、插入数据时直接申请主键示例(根据selet返回的数据行数,自动申请对应数量的主键) ```sql INSERT INTO dbo.Bill(BillId) SELECT [dbo].[Fn_GetObjectPKId](12,'BILL',NEXT VALUE FOR dbo.Bill_PK) --NEXT VALUE FOR dbo.Bill_PK -- 通过序列,获取下一个计数值 ```
申请主键
一行代码搞定
HG0064
2022年3月18日 10:57
分享
上一篇
下一篇
目录
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
下载Markdown文件