天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 579|回复: 0

[已解决] 请假半天那个脚本怎么写啊!

[复制链接]
lillian828 发表于 2022-10-30 18:17:09 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v5.0- sp 2
【浏览器类型】:Chrome/其他
【联系方式-QQ】:请留下您的QQ号码
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:

Q:
请假半天那个脚本怎么写啊!好像只能算一天样
几天零几小时




A:
这个是小时的

(function(){
        var doc = getCurrentDocument();

                var starttime = doc.getItemValueAsDate("请假开始日期");
                var endtime = doc.getItemValueAsDate("请假结束日期");
                var diffday = 0;
                if (starttime != null && endtime != null && starttime != "" && endtime != "") {
                        var startday = $TOOLS.DATE_UTIL.getDateTimeStr(starttime);
                        var endday = $TOOLS.DATE_UTIL.getDateTimeStr(endtime);
                        diffday = getWorkingTimesCount(startday, endday);
                        if (diffday + 1 > round(diffday, 0) + 1) {
                                diffday = round(diffday, 0) + 1;
                        } else {
                                diffday = round(diffday, 0);
                        }
                }
                var day = diffday/8;
                var hour = diffday%8;
                return hour;
})();




这个是天数

(function(){
                var starttime1 = getItemValueAsString("请假开始日期");
                var endtime1 = getItemValueAsString("请假结束日期");
                var hour = 0;
                var diffday = 0;
                var day = 0;
                var type = getItemValueAsString("请假类别");
                if (starttime1 != null && endtime1 != null && !"".equals(starttime1) && !"".equals(endtime1)) {
                        if("产假".equals(type)){
                                diffday =diffHours(starttime1,endtime1);
                                if (diffday + 1 > round(diffday, 0) + 1) {
                                diffday = round(diffday, 0) + 1;
                                } else {
                                diffday = round(diffday, 0);
                                }
                                 day = toFloor(diffday/24);
                         hour = diffday%24;
                        }else{
                                diffday = getWorkingTimesCount(starttime1, endtime1);
                                if (diffday + 1 > round(diffday, 0) + 1) {
                                        diffday = round(diffday, 0) + 1;
                                } else {
                                        diffday = round(diffday, 0);
                                }
                                 day = toFloor(diffday/8);
                         hour = diffday%8;                        
                        }
                        
                }
               
                var _curDoc = getCurrentDocument();
                _curDoc.findItem("请假小时").setValue(hour);
                return day;
})();


本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-12 13:13

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表