当前位置: 首页 > news >正文

k3:增加触发器,当外协单和报料单新增时,更新生产任务单的“说明”栏

外协单新增时

CREATE TRIGGER [dbo].[t_BOS257800018Entry2_update]ON  [dbo].[t_BOS257800018Entry2]AFTER insert
AS 
BEGINSET NOCOUNT ON;
------实现当外协时,生产任务单的说明有标识(240731 BY WK)
declare @fid_souce as int;
declare @xm as varchar(255);--获取源单内码
select @fid_souce=fid_src from inserted--判断当源单内码不为空时执行语句if @fid_souce<>0 or @fid_souce<>''  begin--获取生产任务单的“说明”栏select @xm=tt.fheadselfj01108 from icmo tt where tt.FInterID=@fid_souce--实现当“说明”有内容时,增加"分号+日期+外协工序",没内容时加"日期+外协工序 " if len(@xm)>0 beginupdate  tt set tt.fheadselfj01108=@xm+';'+right('00'+cast(month(isnull(t1.fdate2,t2.FDate)) as varchar(2)),2)+right('00'+cast(day(isnull(t1.fdate2,t2.FDate)) as varchar(2)),2) +'WX'+t3.FNamefrom   icmo ttinner join t_BOS257800018Entry2 T1 on t1.fid_src=tt.finteridinner join t_BOS257800018 t2 on t2.FID=t1.FIDINNER JOIN  t_SubMessage t3 on t1.FBase5=t3.FInterIDendelsebeginupdate  tt set tt.fheadselfj01108=right('00'+cast(month(isnull(t1.fdate2,t2.FDate)) as varchar(2)),2)+right('00'+cast(day(isnull(t1.fdate2,t2.FDate)) as varchar(2)),2) +'WX'+t3.FName from   icmo ttinner join t_BOS257800018Entry2 T1 on t1.fid_src=tt.finteridinner join t_BOS257800018 t2 on t2.FID=t1.FIDINNER JOIN  t_SubMessage t3 on t1.FBase5=t3.FInterIDend  end   end 

原料报料单新增时

create TRIGGER [dbo].[t_BOS257800035Entry2_insert]ON  [dbo].[t_BOS257800035Entry2]AFTER INSERT
AS 
BEGINSET NOCOUNT ON;
------实现当报料时,生产任务单的说明有标识(240731 BY WK)
declare @fid_souce as int;
declare @xm as varchar(255);
--获取源单内码
select @fid_souce=fid_src from inserted--判断当源单内码不为空时执行语句if @fid_souce<>0 or @fid_souce<>''  begin--获取生产任务单的“说明”栏select @xm=tt.fheadselfj01108 from icmo tt where tt.FInterID=@fid_souce--实现当“说明”有内容时,增加"分号+日期+供应商",没内容时加"日期+供应商 " if len(@xm)>0 beginupdate tt set tt.fheadselfj01108=@xm+';'+right('00'+cast(month(t2.FDate) as varchar(2)),2)+right('00'+cast(day(t2.FDate) as varchar(2)),2) +'('+case whent2.FSupplier=27540 then 'JN报料'when t2.FSupplier=27571 then 'HQ报料'else '其他报料'end +')',tt.fheadselfj01106=84047  --外协方式改为“报料”from icmo tt inner join inserted t1 on t1.FID_SRC=tt.FInterIDinner join t_BOS257800035 t2 on  t2.FID=t1.FID;endelsebeginupdate tt set tt.fheadselfj01108= right('00'+cast(month(t2.FDate) as varchar(2)),2)+right('00'+cast(day(t2.FDate) as varchar(2)),2) +'('+case whent2.FSupplier=27540 then 'JN报料'when t2.FSupplier=27571 then 'HQ报料'else '其他报料'end +')',tt.fheadselfj01106=84047 --外协方式改为“报料”from icmo tt inner join inserted t1 on t1.FID_SRC=tt.FInterIDinner join t_BOS257800035 t2 on  t2.FID=t1.FIDend  end   end 

重点是其中SQLSERVER对于时间只取月份和日期并都设置成两位数的处理

http://www.lryc.cn/news/411004.html

相关文章:

  • 神奇海洋养鱼小程序游戏广告联盟流量主休闲小游戏源码
  • 分享几个适合普通人的AI副业变现思路
  • 如何使用CANoe自带的TCP/IP Stack验证TCP的零窗口探测机制
  • 二进制搭建 Kubernetes v1.20(中)
  • Scrapy 爬取旅游景点相关数据(七):利用指纹实现“不重复爬取”
  • java的对象向上转型
  • Navicat Premium 16破解
  • 【C/C++】C语言到C++的入门知识点(主要适用于C语言精通到Qt的C++开发入门)
  • docker 建木 发版 (详细教程)
  • 什么样的人适合学习网络安全?
  • 大厂linux面试题攻略四之Linux网络服务(二)
  • MySQL和PostgreSQL group by后 Concatenate 拼接所有的字符串
  • Python爬虫技术 第24节 数据清洗和预处理(二)
  • conda常用命令整理
  • JDK8新特性之Lambda表达式快速入门
  • QEMU源码全解析 —— CPU虚拟化(14)
  • libsoup的简单使用
  • electron项目搭建
  • 【CVPR2024】Efficient LoFTR: 高效的 LoFTR:具有类似稀疏的速度的半密集局部特征匹配
  • 【Golang 面试 - 基础题】每日 5 题(九)
  • 《程序猿入职必会(4) · Vue 完成 CURD 案例 》
  • 编程技巧:如何优雅地合并两个有序数组?
  • Vue组件库移动端预览实现原理
  • FastAPI(七十五)实战开发《在线课程学习系统》接口开发-- 创建课程
  • 【C++】 条件变量实现线程同步示例
  • linux下载redis安装并指定配置文件启动
  • 线性结构、线性表、顺序表、链表、头插法、尾插法、中间插入或删除一个节点
  • C# Task.WaitAll 的用法
  • vue2 前端实现pdf在线预览(无插件版)
  • 排序XXXXXXXXX