最近一直忙于开发财务成本核算,财务小MM前天跑来跟我倒苦水,希望ES的财务总账能展开,这样就相当于也有科目余额表的功能了,好吧,今天周五,趁着空闲来一波久违的ES开发!
点击按钮就可以自动展开或收缩了,是不是很棒?
1层-总账
with cte as --v科目
(
select 科目代码,上级 pid,科目代码 科目,代码,名称,科目全称,0 as lvl from 科目
union all
select c.科目代码,d.上级,d.科目代码,d.代码 ,d.名称,d.科目全称,lvl+1
from cte c inner join 科目 d on c.科目 = d.上级
)
select * from cte
--order by 科目代码,科目
with cte as --v科目层
(
select 科目代码,上级 pid,科目代码 科目,代码,名称,科目全称,0 as lvl
from 科目 where isnull(上级,'')=''
union all
select c.科目代码,d.上级,d.科目代码,d.代码 ,d.名称,
cast(replicate('·',lvl+1)+d.科目全称 as nvarchar(100)),lvl+1
from cte c inner join 科目 d on c.科目 = d.上级
)
select * from cte
--order by 科目代码,科目
然后就是各种撸表间公式了,嗯,模板拿去,别跟村长客气,用爽了记得捐赠esap项目啊,母哈哈哈哈,ε=ε=ε=┏(゜_゜;)┛逃
猛戳这里下载→:总账ES模板
主要应用了sql的cte递归,要求sql2005+哦~
By woylin 2017-6-16
继年初v2.0版发布后,经过两月的时间,迭代到v2.5。
v2.5到2.7版又花费了两个月开发和稳定,这其中发生了什么巨变?!
本次发行代号为:destiny(命运),先看看更新日志吧^_^
** 官方主页 **
发布于2017-5-9
2.7版采纳了大量社区的金点子,同时又整合了大量开源社区力量,发行代号为destiny,即“命运”由您决定!
2.7版相比2.5版最大的变化来自于程序本身的组织架构,如果说2.5是实现了功能,那么2.7就是强化优化了功能,这其中有架构层面也有功能层面。
2.7版引入了golang社区的一些新的库,例如sqlt,task,log,也引入了vux这样的前端库,引入库不是目的,目的是使所有功能变得可控,可拆分,可扩展,可配置。
2.7版可配置的内容和功能实在太丰富,计划任务和默认查询的发挥余地有待社区大大力挖掘,sql模板也给前端开发以及移植ESAP带来了极大便利,相关文档将在后续发布,敬请期待。
by @村长
2017-5-9
老师进入微信应用,填入:“学号,课程,日期”,esap采集存入ES数据库
企业号部分设置完成。
接下来设置ES部分。
接下在微信查询中加入一条查询
其中,功能名称是应用ID(22),即定义默认应用
rcid和rtid为sql查出的部分,主要用于工作台显示
格式提醒配合进入提醒使用
...
"ReTryMsg": false,
"ShowFuncList": false,
"ShowFuncListEnter": true,
"NeedWxOAuth2": false,
"Debug": false
注意日期必须是YYYY-MM-DD格式,需要补0
Ok,大功告成!
主要应用了ESAP2.7中的相关技术:
By woylin 2017-5-9
继一月开放ESAP数据库框架后,又一重磅项目发布啦,凝聚社区金点子集合的超级好玩免费项目——ESAP服务器,来自村长的倾情奉献!
两个月时间,社区力量推动,来看看这货的更新履历,脑洞大开一下吧。
发布于2017-2-4
发布于2017-1-18
发布于2017-1-13
发布于2017-1-7
发布于2017-1-5
作为一款分布式免费软件,esap项目已经在牛叉的路上越走越远,2.5里程碑的发布宣布微信端已经逐步成熟,接下来会在app,desktop和其他云服务方面继续发力,欢迎大家一起参与,贡献你的智慧和金币(hahahaha~:)
by 打了三管鸡血的村长
2017-3-7
村长没有口头禅,如果有,那就是这句了。
软件系统的设计能遵循这点就是守住了根基,否则系统越大溃败也越快。
虽然村长不是计算机专业出身,但作为业余爱好之一,编程经验也超过了17年。
最早是初中接触DOS,WIN98,自学了VF,C++; 后来大学接触winXP/2000,专业课学习C语言,图书馆借书自学了VB; 工作以后又自学了C#,php,javascript,go等;
整个计算机世界都是C语言在支撑,从Unix,linux到windows,系统内核无一不是由C构建。
作为内核级语言,C语言已经足够优秀,但C只被少数人掌握和使用,远远不能满足应用级软件的开发需求。
由此导致了C++/JAVA等语言的诞生,这些类C语言对C进行了大幅的扩展,加入许多黑科技,日积月累形成了人为技术壁垒,深入学习曲线变得陡峭。
无意于评价语言的好坏,只是学到go时才让村长真正静下心来思考一些设计哲学的问题。
相比于C#/C++/java那些冗长的OO链,以及各种多余抽象概念和复杂设计模式,go就像一股清流,回归到C语言的本源哲学。
有人说google是重度代码洁癖患者,的确,要支持世界那么多应用,google的20亿行代码放在哪儿都是令人生畏的。
同样的,网络传输中哪怕只能节省一个字符,对全世界而已也是节省了巨额流量,google主导的go处处充满了这种洁癖。
go的简洁正是大道至简的哲学实践:
仅有25个关键字,这是最最常见的简洁评价。
没有泛型,这点跟C类似,然而经常被OO玩家吐槽。
没有分号,越来越多的语言开始这么干了,此处节省1字符。
没有括号,if,for,switch等条件没有括号,此处节省2字符。
没有break,switch自带了,节省5字符。
没有while,只有for,可以,这里节省了2个字符。
没有Public,Private,只有大小写,嗯,节省得任性。
没有class,跟C语言一样,只有struct,其实class也就是在struct上扩展了成员函数,go就是这么干的,no class!
没有构造函数,使用make关键字处理内置类型,例如slice,map。
没有继承,使用interface,回忆一下google的20亿行代码交流,你确定要写继承声明?实际上这就像现实交流中没人会说我祖上是谁,而是说这个工作我会,这就是接口的哲学。
go的设计哲学虽然简洁,但功能方面确一点也不含糊:
动静结合,语法动态,静态编译。
原生的UTF-8支持,你可以适当使用中文编码。
多值返回,妈妈再也不需要组arr再返回了。
跨平台,这比C/C++要强太多。
有GC,1.8的GC已经降到1ms了,很多游戏服务器已经起飞。
并发性能,goroutine和channel不但简单易用,还能充分发挥多核硬件优势,Let’s go go go~
部署简单,自带runtime,没有任何外部依赖。
强大的网络库和工具,构建网络服务能力非常惊艳。
自带单元测试和性能测试,跑Benchmark会上瘾啊。
最重要的一点,简单易学,任何语言转过来都是几天的事儿,业余时间都能撸出大项目。
2016年已成为历史,然而村长在这年收获了很多也成长了很多,最近在重构一年前的wechat模块时,从go的官方库中获得了许多灵感,也新增了许多姿势。重构工作已接近尾声,接下来就是ESAP项目快速迭代,发力的时间到啦!