找回密码
 立即注册

QQ登录

只需一步,快速开始

successit 悬赏达人认证

银牌会员

84

主题

552

帖子

2670

积分

银牌会员

积分
2670

圣诞拼拼乐微信认证勋章悬赏达人

successit 悬赏达人认证
银牌会员   /  发表于:2023-3-26 15:03  /   查看:2843  /  回复:15
记得一个客户的老板跟我说过,宁可你多花点时间,也要让下面的操作者用起来更便利,基于这个要求,直接导致头发掉了很多。。。懂的都懂


客户是一家家纺企业,在实际的应用过程中,有几个业务要用到交叉表填报,而且行列很多,记得最多的时候,一个表填完了,会有近万行,平时几百上千行的也相当普遍,在实际填报的过程中,有部分值数据是相同的或略有差异,需要复制粘贴,而当前官方的交叉表可以用,但就是不好复制粘贴,对于多记录的填报,略有不便,所以几经思考、测试,捣鼓出这么一种利用表格实现交叉表填报的方式,实际反响不错,大大提交了填报效率

从技术上来说,没什么特别,都是活字格自带的,数据库上主要应用了行列转换的函数,早期做这个功能的时候,是用了一个过程表来做中转,然后用存储过程实现的,后来改进了下逻辑,取消了中转表,直接传参,通过服务端执行SQL命令实现,减少了不必要的数据表

这个DEMO是简化了的,实际应用场景比这个复杂的多的多,主要是分享思路,如果有用可根据自己的实际业务场景来做精细调整

列表.png
填报.png

TestDB.zip (234.88 KB, 下载次数: 78)

评分

参与人数 3金币 +666 满意度 +10 收起 理由
Nancy.Yin + 666 赞一个!
muto + 5
server2021 + 5

查看全部评分

15 个回复

倒序浏览
successit悬赏达人认证
银牌会员   /  发表于:2023-3-26 15:04:07
沙发
数据库SQL2008R2
回复 使用道具 举报
小侠米
论坛元老   /  发表于:2023-3-26 15:37:56
板凳
麻烦转为内置表
回复 使用道具 举报
server2021
高级会员   /  发表于:2023-3-26 19:06:45
地板
方便转内置表吗?SQL server不太方便安装
回复 使用道具 举报
Aa金砂
高级会员   /  发表于:2023-3-26 21:10:53
5#
干货 绝对良心 内置表不支持SQL
回复 使用道具 举报
夏雪冬阳
银牌会员   /  发表于:2023-3-31 14:13:29
6#
多列头的交叉表可能实现
回复 使用道具 举报
successit悬赏达人认证
银牌会员   /  发表于:2023-3-31 14:26:21
7#
夏雪冬阳 发表于 2023-3-31 14:13
多列头的交叉表可能实现

可以实现的,我实际业务场景就是多列头的,原理是一样的
回复 使用道具 举报
喜洋洋
初级会员   /  发表于:2023-3-31 21:05:01
8#
亲测,这个内容挺好的,但只限玩玩,不合适用于真正的应用环境,原因,数据量大时,网络有延迟现象,会造成数据丢失或重复。
回复 使用道具 举报
successit悬赏达人认证
银牌会员   /  发表于:2023-4-1 06:27:19
9#
喜洋洋 发表于 2023-3-31 21:05
亲测,这个内容挺好的,但只限玩玩,不合适用于真正的应用环境,原因,数据量大时,网络有延迟现象,会造成 ...

你这个顾虑是有道理的,如果再严谨点,可以用一个实表把交叉填报的数据先行保存,然后再通过语句转换,这样就不怕由于网络或延迟等情况造成循环添加中断了
回复 使用道具 举报
喜洋洋
初级会员   /  发表于:2023-4-1 09:41:16
10#
successit 发表于 2023-4-1 06:27
你这个顾虑是有道理的,如果再严谨点,可以用一个实表把交叉填报的数据先行保存,然后再通过语句转换,这 ...

工序固定可以这样子去考虑,如果工序是个变量,SQL又怎么去写?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部