博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用Python的三元表达式解决Odoo中工资条中城镇、农村保险的问题
阅读量:6616 次
发布时间:2019-06-24

本文共 475 字,大约阅读时间需要 1 分钟。

Python中没有像C#中有三元表达式 A?B:C 但在python中可以通过 A if condition else B 的方式来达到同样的效果。

例如 : 1 if True else 0 输出 1 ,1 if False else 0 输出 0

很简单。

下面我们利用这个三元表达式来解决Odoo中保险计算的问题。

由于国内公司投保时通常要考虑员工的户口类型问题,我们在系统中本地化了这么一个字段叫做e_hukou_locaiton,它有两个值,一个urban ,一个rural.

 

那么我们就可以在工资规则中新创建一条规则,然后条件选总为真,在计算的框里填入下面的计算公式:

 

1 result = employee.e_ss_base * 0.105 if employee.e_hukou_location=='urban' else employee.e_ss_base * 0.10

 

其中employee.e_ss_base是社保基数,这样的话既可以通过一条公式来计算出城镇员工和农村员工的社保金额了,而不必在分别为其创建对应的工资规则。

 

转载地址:http://chhso.baihongyu.com/

你可能感兴趣的文章
JAVA API集
查看>>
开源类型
查看>>
onSaveInstanceState() 什么时候调用
查看>>
双十一高并发场景背后的数据库RDS技术揭秘
查看>>
数据流被污染?数据质量不高?蚂蚁金服数据资产管理平台了解一下
查看>>
我的友情链接
查看>>
DES 算法报告
查看>>
iscsiadm命令使用方法
查看>>
双机热备篇 VGMP招式详解.2
查看>>
使用recon/domains-hosts/baidu_site模块,枚举baidu网站的子域
查看>>
解决 Warning: Permanently added (RSA) to the list of known hosts.
查看>>
Open Flash Chart2 常用的参数
查看>>
数据仓库入门(实验7)部署分析服务数据库
查看>>
linux下mysql双主热备
查看>>
解决Binary XML file line #6: : Error inflating class <unknown> 的问题
查看>>
linux常用命令显示说明
查看>>
我的友情链接
查看>>
使用路由和远程访问服务为Hyper-V中虚拟机实现NAT上网
查看>>
python中列表的使用
查看>>
Oracle 11g 间隔分区,导出报错 EXP-00006
查看>>