加班时长按0.5小时取整

栏目:s-hr cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

加班时长按0.5小时取整

【适用版本】 

s-HR Cloud V8.8及以上

【应用场景】 

计算加班时长时,小数部分小于0.5时取0,大于0.5时取5,例如:1.7->1.5,2.3->2,3.5->3.5

【详细说明/示例/操作步骤】

一、PC端

找到\eas\server\deploy\easweb.ear\shr_web.war\attendmanage\web\js\shr\ats\util\路径下的atsMlUtile.js文件

setTransNumValue方法内新增代码:

           if(fieldName == 'entries_applyOTTime' || fieldName == 'entries_realOTTime'){

                     numStr = this.roundUp(numStr);

           }

新增方法:

           ,roundUp: function (value) {

                     // 获取小数点后的第一位

                     var decimalPart = value - Math.floor(value);

                     if (decimalPart < 0.5) { // 如果小于等于 0.5,则直接返回Math.floor的值

                                return Math.floor(value);

                     } else { // 如果大于等于 0.5,则返回小数点第一位为 5

                                return Math.floor(value) + 0.5;

                     }

           }

如图

二、移动端

1、找到我要加班单据js文件

2、新增方法

新增方法:

function roundUp(value) {

    // 获取小数点后的第一位

    var decimalPart = value - Math.floor(value);


    if (decimalPart < 0.5) { // 如果小于等于 0.5,则直接返回Math.floor的值

        return Math.floor(value);

    } else { // 如果大于等于 0.5,则返回小数点第一位为 5

        return Math.floor(value) + 0.5;

    }

}

如图

3、修改代码

3.1 第一句代码

entry.applyOTTime = ((entry.otIntervalLength * entry.days - (entry.restTime || 0) / 60) || 0).toFixed(_this.decimal)

有两个地方需要修改:

修改为:

entry.applyOTTime = roundUp((entry.otIntervalLength * entry.days - (entry.restTime || 0) / 60) || 0)

3.2 第二句代码

entry.applyOTTime = ((entry.otIntervalLength * entry.days - entry.restTime / 60) || 0).toFixed(_this.decimal)

修改为:

entry.applyOTTime = roundUp((entry.otIntervalLength * entry.days - entry.restTime / 60) || 0)

3.3 第三句代码

entry.applyOTTime = (entry.otIntervalLength * entry.days - event.new_value / 60 || 0).toFixed(_this.decimal)

修改为:

 entry.applyOTTime = roundUp(entry.otIntervalLength * entry.days - event.new_value / 60 || 0)

【注意事项/常见错误】

先备份再修改,不用重启服务器,扩展开发单据的同时也要记得扩展安装资源库。

以上仅为前端代码修改,因后台有重新计算时间,若要支持,需要后台同步修改。

加班时长按0.5小时取整

【适用版本】 s-HR Cloud V8.8及以上【应用场景】 计算加班时长时,小数部分小于0.5时取0,大于0.5时取5,例如:1.7->1.5,2.3->2,3.5->...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息