.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宽严转换)
-
+
首页
【WES】TFn_ParsingBarcodeStr
**1.应用场景** 【供应商来料条码解析】 供应商未接入系统,但按约定规则打印条码送货,收货时需要解析条码,保存料号、供应商、线径等重要信息,便于后续的追溯。可按照供应商、料号等维度,维护来料条码解析规则字符串,实现动态条码解析。 PS:以上为临时方案,后续可在平台开发供应商条码解析配置的功能模块,将会更加灵活和完善。 **2.表值函数** 2.1、调用示例 ````sql SELECT * FROM [dbo].[TFn_ParsingBarcodeStr]('YYX32SM5H18006000250','MCX:XXX|LR:XX|OL:XX|R:X|MCHNO:XXXXX|SN:XXX|LS:XXXX','|',':') ```` ![](/media//202305/2023-05-18_104412.png) 2.3、表值函数代码 ````sql SET QUOTED_IDENTIFIER ON SET ANSI_NULLS ON GO -- ============================================= -- Author: <OrBit Team HG0064> -- Create date: <2023/05/17> -- Description: <按照解析规则字符串,将原字符串分割成表> -- Rev: 15.00 -- Update comment: -- Update date: -- ============================================= CREATE FUNCTION [dbo].[TFn_ParsingBarcodeStr] ( @Str VARCHAR(2000) = '', -- 原字符串 @ParsingRule NVARCHAR(2000) = '', -- 解析规则字符串 @S_CHAR CHAR(1) = '|', -- 分段间隔符 @K_CHAR CHAR(1) = ':' -- 键值对分隔符 ) RETURNS @tableName TABLE ( Id INT, ParaValueEx NVARCHAR(200), ParaName NVARCHAR(50), ParaValue VARCHAR(50), StartIndex INT, PLen INT, _Value VARCHAR(50) ) AS BEGIN /* Explain: 1.注意:用的地方太多太多了,输入参数不能动(个数、位置);输出参数 ParNo、parameter_Value 不能动,谢谢! 2.支持空格分隔 3.调用示例:SELECT * FROM [dbo].[TFn_ParsingBarcodeStr]('YYX32SM5H18006000250','MCX:XXX|LR:XX|OL:XX|R:X|MCHNO:XXXXX|SN:XXX','|',':') */ IF ISNULL(@Str,'') = '' OR ISNULL(@ParsingRule,'') = '' OR ISNULL(@S_CHAR,'') = '' OR ISNULL(@K_CHAR,'') = '' RETURN INSERT INTO @tableName ( Id, ParaValueEx, ParaName, ParaValue, StartIndex, PLen, _Value ) SELECT ParNo,LTRIM(RTRIM(parameter_Value)),NULL,NULL,NULL,NULL,NULL FROM dbo.ConvertParameterToTable(@ParsingRule,@S_CHAR) WHERE parameter_Value <> '' UPDATE @tableName SET ParaName = SUBSTRING(ParaValueEx,1,CHARINDEX(@K_CHAR,ParaValueEx,0)-1), ParaValue = SUBSTRING(ParaValueEx,CHARINDEX(@K_CHAR,ParaValueEx,0)+1,LEN(ParaValueEx)-CHARINDEX(@K_CHAR,ParaValueEx,0)) UPDATE @tableName SET PLen = LEN(ParaValue) UPDATE @tableName SET StartIndex = S.SIndex FROM ( SELECT T.Id,1+ISNULL(SUM(S.PLen),0) AS SIndex FROM @tableName T LEFT OUTER JOIN @tableName S ON S.Id < T.Id GROUP BY T.Id ) S WHERE S.Id = [@tableName].Id UPDATE @tableName SET _Value = SUBSTRING(@Str,StartIndex,PLen) RETURN END GO ````
供应商来料条码解析
HG0064
2023年5月18日 10:48
分享
上一篇
下一篇
目录
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
下载Markdown文件