master
old-tom 2 years ago
parent 75b6be6555
commit fc534e2d70

@ -157,3 +157,55 @@ WITH SUMORDER AS
) B ON (A.PRODUCTID = B.PRODUCTID) ) B ON (A.PRODUCTID = B.PRODUCTID)
WHEN MATCHED THEN UPDATE SET A.TOTAL = B.TOTAL; WHEN MATCHED THEN UPDATE SET A.TOTAL = B.TOTAL;
``` ```
## 2.2 日期时间
+ 数据库最大的年月往前推12个月
```sql
SELECT
TO_CHAR(
ADD_MONTHS(
TO_DATE( to_char( to_date( ( select max(DECLARE_PERIOD_YEAR_MONTH) from CRZ_NMG_WORKER_WAGE_BOND where project_id=600000000000000138 ), 'yyyy-MM' ), 'yyyy-MM' ), 'yyyy-MM' ),
ROWNUM - 12
),
'yyyy-MM'
) AS MONTHLIST
FROM
DUAL CONNECT BY ROWNUM <= 12
```
+ 指定月份的前N个月
```sql
-- 获取2020-06的后5个月2020-11
SELECT TO_CHAR(ADD_MONTHS(to_date('2020-06','yyyy-MM'),5),'YYYY-MM') FROM dual;
-- 获取2020-06的前3个月2020-03
SELECT TO_CHAR(ADD_MONTHS(to_date('2020-06','yyyy-MM'),-3),'YYYY-MM') FROM dual;
```
+ 返回指定日期当月的最后一天
```sql
SELECT SYSDATE,last_day(SYSDATE) FROM dual;
```
## 2.3 窗口函数
+ over()
```
# 累加
sum(COLLECT_BOND_AMOUNT) over ( ORDER BY DECLARE_PERIOD_YEAR_MONTH desc)
# 分组累加
sum( DESIGN_AMOUNT ) over ( partition BY PROJECT_ID order by DESIGN_AMOUNT desc)
# 在按部门划分的基础上工资从高到低分级级别RANK从1开始依次递增
RANK() OVER(PARTITION BY E.DEPTNO ORDER BY E.SAL DESC) RANK
# 记录后第N条
LEAD(E.SAL, 1, 0) OVER(PARTITION BY E.DEPTNO ORDER BY E.SAL) LEAD_SAL
# 记录前面第N行记录
LAG(E.SAL, 1, 0) OVER(PARTITION BY E.DEPTNO ORDER BY E.SAL) LAG_SAL
# 取行号
ROW_NUMBER() OVER(PARTITION BY E.DEPTNO ORDER BY E.SAL) ROW_NUM
# 统计某组中的总计值
SUM(E.SAL) OVER(PARTITION BY E.DEPTNO) SUM_SAL
# 统计某组中的平均值
AVG(E.SAL) OVER(PARTITION BY E.DEPTNO) AVG_SAL
# 按某列分组,并统计该组中记录数量
COUNT(E.SAL) OVER(PARTITION BY E.DEPTNO) COUNT_SAL
```

@ -0,0 +1,74 @@
# 一、pip
## 1. 镜像加速
```shell
# 添加 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip install 'acryl-datahub[oracle]' -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
```
## 2. 导入导出依赖
```
pip freeze > requirements.txt # 生成
pip install -r requirements.txt # 安装requirements.txt中依赖包
```
# 二、pipenv虚拟环境管理
```text
$ pipenv
Usage: pipenv [OPTIONS] COMMAND [ARGS]...
Options:
--update 更新Pipenv & pip
--where 显示项目文件所在路径
--venv 显示虚拟环境实际文件所在路径
--py 显示虚拟环境Python解释器所在路径
--envs 显示虚拟环境的选项变量
--rm 删除虚拟环境
--bare 最小化输出
--completion 完整输出
--man 显示帮助页面
--three / --two 使用Python 3/2创建虚拟环境注意本机已安装的Python版本
--python TEXT 指定某个Python版本作为虚拟环境的安装源
--site-packages 附带安装原Python解释器中的第三方库
--jumbotron 不知道啥玩意....
--version 版本信息
-h, --help 帮助信息
Commands:
check 检查安全漏洞
graph 显示当前依赖关系图信息
install 安装虚拟环境或者第三方库
lock 锁定并生成Pipfile.lock文件
open 在编辑器中查看一个库
run 在虚拟环境中运行命令
shell 进入虚拟环境
uninstall 卸载一个
update 卸载当前所有的包,并安装它们的最新版本
```
常用命令如下:
- pipenv --python 3.7 创建3.7版本Python环境
- pipenv install package_name 安装包
- pipenv graph 查看包与包之间依赖关系
- pipenv --venv 查看虚拟环境保存路径
- pipenv --py 查看python解释器路径
- pipenv install package_name --skip-lock 跳过lock可以等项目开发好后再更新所有报的hash值
- pipenv install --dev package_name 在开发环境安装测试包(可以加skip-lock参数)
- pipenv uninstall package_name 卸载包
- 你也可以指定 $ pipenv install -r path/to/requirements.txt 导入某个requirements文件
• 安装
pip install pipenv
• 创建虚拟环境
a. cd 到代码所在目录,创建文件夹
b. 创建虚拟环境pipenv install 会默认创建当前python版本的环境如需指定环境请使用 pipenv install --python 3.6
• 包安装
cd 到虚拟环境目录 pipenv shell 激活环境
使用pip install 或pipenv install命令
重点(运行):
cd 到项目目录 pipenv run python xxx.py
必须在pipfile文件所在路径的目录下执行例如在根目录下生成的pipfile文件执行命令为pipenv run python xxx.py或pipenv run python <xxx_path>/xxx.py
由于直接用pipenv run来执行会有根目录的限制所以推荐项目容器化部署在docker容器里面把生成的pipfile和pipfile.lock文件导出为requirements再用dockerFile执行安装这样便可以灵活指定Workdir了方便cd到项目下任意路径执行python运行命令。

@ -1,5 +0,0 @@
# 一、 镜像加速
```shell
# 添加 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip install 'acryl-datahub[oracle]' -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
```

@ -0,0 +1,12 @@
# 一、编码类
## 1.1 统一社会信用代码
91530111MA6PD8BJ9K
统一社会信用代码是三证合一、一证一码的改革结果
三证合一:营业执照、税务登记、组织机构代码合并为一张三证合一的营业执照。
一证一码:营业执照注册号、税号、组织机构代码证号合并为统一社会信用代码。
营业执照号=统一社会信用代码
组织机构代码=统一社会信用代码[9-17]共9位
税务登记证号=统一社会信用代码[3-17]共15位
[全国组织机构统一社会信用代码查询平台 - 全国组织机构统一社会信用代码数据服务中心 (cods.org.cn)](https://www.cods.org.cn/gscx/)

@ -4,4 +4,37 @@
- [ ] 确定代码集定义及需新增的字段 - [ ] 确定代码集定义及需新增的字段
二、事权 二、事权
1. - [x] 梳理筹融资统计不准情况
#筹融资及资金使用
ODS_FINANCE_SOURCE 资金到位融资金额构成
ODS_FINANCE_PLAN 资金到位计划主表(年报)
ODS_FINANCE_PLAN_DETAIL 资金到位计划明细表(年报)
TJ_DWJH_VIEW 资金到位计划视图
ODS_FINANCE_FINISH 资金到位主表
ODS_FINANCE_FINISH_DETAIL 资金到位明细
TJ_ZJDW_VIEW 资金到位明细视图
ODS_INVEST_FORM 投资完成金额组成
ODS_INVEST_PLAN 投资完成计划主表
ODS_INVEST_PLAN_DETAIL 投资完成计划明细表
VIEW_ODS_INVEST_PLAN_DETAIL 投资完成计划明细视图
ODS_INVEST_FINISH 投资完成主表
ODS_INVEST_FINISH_DETAIL 投资完成明细
TJ_TZWC_VIEW 投资完成明细视图
CRZ_NMG_WORKER_WAGE_BOND 农民工工资收返保障情况
概念:
累计到位资金=资金到位情况+初始累计到位金额(筹融资额构成)
累计资金到位率=累计到位资金/资金到位计划
累计投资完成率=累计投资金额/设计金额
年度资金到位率=年度实际到位/年度计划到位

@ -0,0 +1,7 @@
计划:
一、事权
- [ ] 完成筹融资统计修改
工作日志:
一、事权
1. 筹融资资金到位及投资完成-指标卡、筹融资额构成情况、资金到位情况、投资金额组成查询接口重写

@ -0,0 +1,8 @@
计划:
一、事权
- [ ] 筹融资模块统计fix需先找赵核对并确认
- [ ] 单项目-投资完成情况明细、资金到位计划与实际到位资金清空
工作日志:
一、事权
1. 修复筹融资统计bug排序、年度统计、字段不显示问题

@ -0,0 +1,7 @@
计划:
一、事权
- [ ] 基建程序统计重构
工作日志:
一、事权
1. 基建程序指标卡、各项目统计接口重写

@ -0,0 +1,3 @@
工作日志:
一、事权-基建程序
1. 前期工作修改统计项,并修改统计项视图

@ -0,0 +1,4 @@
工作日志:
一、事权-基建程序-多项目
1. 重写各项目基建程序完成情况三个接口
2. 修改基建程序完成情况总览明细查询接口

@ -0,0 +1,9 @@
计划:
一、事权报表重写
- [ ] 筹融资-单项目-投资完成情况-计划完成与实际完成投资情况
- [ ] 筹融资-单项目-资金到位情况-资金到位计划与实际到位资金情况
工作日志:
一、事权
1. 筹融资-单项目-资金到位情况-资金到位计划与实际到位资金情况报表接口重构并替换正式版本
2. 分析总体概况左下角统计结果不一致问题

@ -0,0 +1,10 @@
计划:
一、事权
- [x] 完成筹融资-单项目-投资完成情况-计划完成与实际完成投资情况报表
- [ ] 处理金伟鹏给出的问题清单
工作日志:
一、事权
1. 筹融资-单项目-投资完成情况-计划完成与实际完成投资情况报表
2. 重写总体概况左侧指标卡统计SQL
3. 基建程序-多项目-指标卡截至上月末项目数统计

@ -0,0 +1,8 @@
计划:
一、事权
- [ ] 总体概况左下角操作逻辑与赵讨论
二、血缘分析工具
- [ ] 元数据查询bugfix
三、全省交通行业信用评价系统
- [ ] 业务流程梳理
- [ ] 评价算法

@ -0,0 +1,3 @@
工作日志:
一、省厅信用系统
1. 对接并梳理业务需求(旧系统公路、水路、水运)

@ -0,0 +1,4 @@
工作日志:
一、省厅信用系统
1. 业务流程梳理
2. 编写概要设计

@ -0,0 +1,8 @@
计划:
一、信用系统
- [x] 组织概要审计评审
工作日志:
1. 主题库建设思路
2. 信用系统评审

@ -0,0 +1,8 @@
计划:
一、信用系统
- [ ] 完成三类主题库表结构设计
- [ ] 天眼查爬虫
工作日志:
一、主题库设计
1. 完成企业、人员主题库DWD层表结构设计

@ -0,0 +1,12 @@
计划:
一、信用系统
- [ ] 建设、运输表结构设计
- [x] 学习信用会议纪要
工作日志:
一、信用系统
1. 学习信用会议纪要
2. 业务流程梳理、数据流向梳理
二、水路运政
1. 梳理水路运政电子证照对接流程

@ -0,0 +1,5 @@
计划:
一、信用系统
- [ ] 完成业务建模(业务模块、业务模块关系)
今日工作:

@ -46,3 +46,5 @@ zourui/zourui
登录账号demoano  |  登录密码90683 登录账号demoano  |  登录密码90683
蓝凌 18787010990 蓝凌 18787010990
VPNhttps://220.165.247.70:6443 zourui/abc123

@ -2,7 +2,8 @@
### 1. 视图、存储过程逆向分析并构建关系图 ### 1. 视图、存储过程逆向分析并构建关系图
已完成 已完成
### 2. 定时构建 ### 2. 定时构建
1. 通过apscheduler实现定时任务 1. 通过apscheduler实现定时任务 (暂不支持动态添加定时任务)
2. stopwatch 实现(完成)
## 二、第二阶段 ## 二、第二阶段
### 1. 数据库版本差异扫描及版本管理 ### 1. 数据库版本差异扫描及版本管理

@ -0,0 +1,89 @@
装饰器的一般语法结构如下:
```python
def decorator(func):
def wrapper():
# 新增功能或者附加限制条件
# ...
return func()
return wrapper
```
装饰器函数可以不用使用装饰器语法糖@,而是采用原始的方式进行调用。例如,下面是一个用于计算函数运行时间的装饰器函数,它的等效写法是:
```python
import time
def my_decorator(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print("Function took {:.6f} seconds.".format(end_time - start_time))
return result
return wrapper
def my_function(x):
time.sleep(x)
return x
decorated_function = my_decorator(my_function)
print(decorated_function(2))
```
装饰器也可以用类进行实现我们可以定义一个类将需要被装饰的函数作为一个参数传递给类的构造函数并重载类的__call__方法。
例如,下面是一个用于计算函数运行时间的类装饰器,它的等效写法是:
```python
import time
class MyDecorator:
def __init__(self, func):
self.func = func
def __call__(self, *args, **kwargs):
start_time = time.time()
result = self.func(*args, **kwargs)
end_time = time.time()
print("Function took {:.6f} seconds.".format(end_time - start_time))
return result
@MyDecorator
def my_function(x):
time.sleep(x)
return x
print(my_function(2))
```
### 单参数被装饰函数
```python
def my_decorator(func):
def wrapper(arg):
print("Calling function...")
result = func(arg)
print("Function returned: ", result)
return result
return wrapper
@my_decorator
def my_function(x):
return x * 2
my_function(2) # 输出Calling function... Function returned: 4
```
### 多参数被装饰函数
```python
def my_decorator(func):
def wrapper(*args, **kwargs):
print("Calling function...")
result = func(*args, **kwargs)
print("Function returned: ", result)
return result
return wrapper
@my_decorator
def my_function(x, y, z):
return x + y + z
my_function(2, 3, z=4) # 输出Calling function... Function returned: 9
```

@ -9,4 +9,7 @@ docker 安装:
1.docker pull neo4j 1.docker pull neo4j
2. docker run -d --name container_name -p 7474:7474 -p 7687:7687 --env NEO4J_AUTH=neo4j/root@12345 neo4j 2. docker run -d --name container_name -p 7474:7474 -p 7687:7687 --env NEO4J_AUTH=neo4j/root@12345 neo4j
http://localhost:7474/ neo4j/clone-formula-shelf-hair-neptune-3446 http://localhost:7474/ neo4j/clone-formula-shelf-hair-neptune-3446
修改密码::server change-password 修改密码::server change-password
+ sqlserver 2008
sa/root@123
Loading…
Cancel
Save