泛微Ecology8明细表对主表赋值

文章目录

    • @[toc]
    • 1.需求及效果
      • 1.1 需求
      • 1.2 效果
      • 2.思路与实现
      • 3.结语

1.需求及效果

1.1 需求

在明细表中的项目经理,可以将值赋值给主表中的项目经理来作为审批人员
在这里插入图片描述

1.2 效果

在申请人保存或者提交后将明细表中的人名赋值给主表中对应的值

2.思路与实现

在通过js测试后,不能够百分百的赋值成功,只能在数据库中写触发器来确保每次都能够赋值成功。
注意点:1.明细表中的项目经理可能是多个不同的人,所以需要将值都取出来,写到同一行,并用逗号隔开,确保与主表中的多人力资源在数据库中存储的格式相同。
2.我这里的项目经理是汉字,并不是存储的人力资源字段对应的数字,所以还需要从HRmresource表中获取人名对应的id

/*
此触发器用来使用明细表中的项目经理赋值给主表中的项目经理及申请人带出人力资源部考勤工时
1.明细表中的项目经理可能存在多个,所以需要多对一
2.主表中的项目经理是int类型,需要用HrmResource转化
3.申请人带出人力资源部导入的考勤工时
*/
CREATE TRIGGER trg_yyhc_xxgs
ON dbo.formtable_main_201 
AFTER INSERT,UPDATE
AS 
BEGINSET NOCOUNT ON;  --不返回结果行数-- 声明变量DECLARE @requestID INT,  --请求id@sqr INT,		 --申请人@name NVARCHAR(100), --项目工时中的name@gs DECIMAL(10,4),   --工时@xmjl NVARCHAR(100),    --项目经理(项目负责人)@id INT;  --主表id-- 查询插入的数据SELECT @requestID = i.requestId, @sqr = i.sqr,@id=i.id FROM inserted i;-- 获取姓名SELECT @name = hr.lastname FROM dbo.HrmResource hr WHERE hr.id = @sqr;-- 获取工时值SELECT @gs = yy.gs FROM dbo.yyhc_yybgg yy WHERE yy.name = @name;--根据id获取明细表中的项目经理SELECT @xmjl = STUFF((SELECT DISTINCT ',' + CAST(hr.id AS NVARCHAR)FROM formtable_main_201_dt1 dtJOIN HrmResource hr ON dt.xmjl = hr.lastnameWHERE dt.mainid = @idFOR XML PATH('')), 1, 1, '')-- 更新数据--0709日更改,不是项目成员无法更新数据,没有项目经理即不能提交IF EXISTS (SELECT 1 FROM yyhc_xmcylb WHERE name=@name)BEGINUPDATE m SET m.rlzybtggs = @gs,m.xmfzr=@xmjl FROM dbo.formtable_main_201 m WHERE m.requestId = @requestID;END 
END;

3.结语

可以通过触发器来完成明细表中的值赋值给对应的主表的值,当然还可以建一些表通过匹配给他们赋值,也会大大减少填写的内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/378697.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生成树(STP)协议

一、生成树的技术背景 1、交换机单线路上链,存在单点故障,上行线路及设备都不具备冗余性,一旦链路或上行设备发生故障,网络将面临断网。 总结:以下网络不够健壮,不具备冗余性。 2、因此引入如下网络拓扑结构: 上述冗余拓扑能够解决单点故障问题,但同时冗拓扑也带来了…

zookeeper基础知识学习

官网:Apache ZooKeeper 下载地址:Index of /dist/zookeeper/zookeeper-3.5.7Index of /dist/zookeeperIndex of /dist/zookeeper/zookeeper-3.5.7 ZK配置参数说明: 1、tickTime2000:通讯心跳时间,zookeeper服务器与客…

连锁直营店小程序赋能多店如何管理

如商超便利店卖货线下场景,也有不少品牌以同城多店和多地开店经营为主,获取店铺周围客户和散流,如今线上重要性凸显,品牌电商发展是经营的重要方式之一,也是完善同城和外地客户随时便捷消费的方式之一。 多个门店管理…

Python | Leetcode Python题解之第238题除自身以外数组的乘积

题目: 题解: class Solution:def productExceptSelf(self, nums: List[int]) -> List[int]:length len(nums)# L 和 R 分别表示左右两侧的乘积列表L, R, answer [0]*length, [0]*length, [0]*length# L[i] 为索引 i 左侧所有元素的乘积# 对于索引为…

STM32智能交通监测系统教程

目录 引言环境准备智能交通监测系统基础代码实现:实现智能交通监测系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:交通监测与管理问题解决方案与优化收尾与总结 1. 引言 智能交通监测系统通…

MyBatis源码中的设计模式1

1. 建造者模式的应用 建造者模式属于创建类模式,通过一步一步地创建一个复杂的对象,能够将部件与其组装过程分开。用户只需指定复杂对象的类型,就可以得到该对象,而不需要了解其内部的具体构造细节。《Effective Java》中也提到&…

OpenCV教程04:结合pillow在图片上显示中文文字

1.如果添加的内容是纯英文文字,直接使用cv2.putText 函数操作即可。但它不支持自定义字体文件,仅限于这些内置的字体样式。如果你需要更复杂的字体支持,可能需要使用其他库,如 Python Imaging Library (PIL) 或 Pillow。可用的字体…

Docker-Nvidia(NVIDIA Container Toolkit)

安装NVIDIA Container Toolkit工具,支持docker使用GPU 目录 1.NVIDIA Container Toolkit 安装1.1 nvidia-docker安装1.2 验证1.2.1 验证安装1.2.2 额外补充 1.NVIDIA Container Toolkit 安装 1.1 nvidia-docker安装 NVIDIA/nvidia-docker Installing the NVIDIA …

【BUG】已解决:java.lang.IllegalStateException: Duplicate key

已解决:java.lang.IllegalStateException: Duplicate key 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市…

线程控制

对线程的控制思路和进程相似,创建、等待、终止,只需要调用接口就行。但是在Linux下没有线程的概念,因为Linux的设计者认为,线程是一种轻量级的进程,毕竟创建线程只需要创建PCB。因此Linux中使用多线程必须使用第三方pt…

聊一聊前后端权限控制 RBAC(完整流程)

介绍 RBAC(Role-Based Access Control)模型也就是基于角色的权限控制。 权限会分配到角色中,角色再分配给用户,这样用户就根据角色有了不同的权限。 当然,你可以说把权限直接挂载到用户上,这样不是更直接…

前端工程化10-webpack静态的模块化打包工具之各种loader处理器

9.1、案例编写 我们创建一个component.js 通过JavaScript创建了一个元素,并且希望给它设置一些样式; 我们自己写的css,要把他加入到Webpack的图结构当中,这样才能被webpack检测到进行打包, style.css–>div_cn.js–>main…

代码随想录二刷复习(二分法)

二分法模板: 1:左闭右闭区间写法 第一种写法,我们定义 target 是在一个在左闭右闭的区间里,也就是[left, right] (这个很重要非常重要)。 区间的定义这就决定了二分法的代码应该如何写,因为定…

泛微e-cology WorkflowServiceXml SQL注入漏洞(POC)

漏洞描述: 泛微 e-cology 是泛微公司开发的协同管理应用平台。泛微 e-cology v10.64.1的/services/接口默认对内网暴露,用于服务调用,未经身份认证的攻击者可向 /services/WorkflowServiceXml 接口发送恶意的SOAP请求进行SQL注入,…

Web渗透:Shiro550漏洞(CVE-2016-4437)

Apache Shiro 是一个强大且易于使用的Java安全框架,提供了身份验证(Authentication)、授权(Authorization)、会话管理(Session Management)和密码学支持等功能。Apache Shiro 550反序列化漏洞&a…

AI算法19-偏最小二乘法回归算法Partial Least Squares Regression | PLS

偏最小二乘法回归算法简介 算法概述 偏最小二乘法模型可分为偏最小二乘回归模型和偏最小二乘路径模型。其中偏最小二乘回归模型是一种新型的多元统计方法,它集中了主成分分析、典型相关分析和线性回归的特点,特别在解决回归中的共线性问题具有无可比拟…

内网安全:权限维持的各种姿势

1.Linux权限维持 2.Windows权限维持 目录: 一.Linux权限维持: 1.webshell: 2.定时任务: 3.SUID后门: 4.SSH Key免密登录后门: 5.添加用户后门: 二.Windows权限维持 1.计划任务后门&…

记录些Spring+题集(1)

接口防刷机制 接口被刷指的是同一接口被频繁调用,可能是由于以下原因导致: 恶意攻击:攻击者利用自动化脚本或工具对接口进行大量请求,以消耗系统资源、拖慢系统响应速度或达到其他恶意目的。误操作或程序错误:某些情…

iOS ------ 消息传递和消息转发

一,消息传递 在OC中,传递消息就是在对象上调用方法。 相对于C语言的方法就“静态绑定”的函数,在编译器就决定了运行时所要调用的函数。在OC中,如果向某对象传递消息,就会使用动态绑定机制来决定需要调用那个方法。调…

【操作系统】定时器(Timer)的实现

这里写目录标题 定时器一、定时器是什么二、标准库中的定时器三、实现定时器 定时器 一、定时器是什么 定时器也是软件开发中的⼀个重要组件.类似于⼀个"闹钟".达到⼀个设定的时间之后,就执行某个指定 好的代码. 定时器是⼀种实际开发中⾮常常用的组件. ⽐如⽹络通…