 
 (function() {
    var doc = $.context.getCurrentDocument();
    var appId = $.context.getCurrentApplicationId();
    //var nowtime=$.date.getCurrentDate();
    //var format = "yyyy-MM-01";
    //var nowtimestr =$.date.dateToString(nowtime,format);
    //var salarymonth=$.date.stringToDate(nowtimestr,format);
    //salarymonth.setMonth(salarymonth.getMonth()-1);
    var salarymonth = $.date.timestampToDate(doc.getElementByName("计薪月").getValue());
    //根据公司人员名单表
    var appId = $.context.getCurrentApplicationId();
    var fieldMaps = new Packages.java.util.HashMap();
    fieldMaps.put("id", doc.getElementByName("选择公司").getValue());
    var emps = $.form.getFormDocumentsByFieldNameAndValue(appId, "工资数据审批名单", fieldMaps);
    //清除该公司,当月考勤数据
    var delmap = new Packages.java.util.HashMap();
    delmap.put("所属公司", doc.getElementByName("选择公司").getValue());
    delmap.put("薪资月", salarymonth);
    $.form.deleteFormDocumentsByFieldNameAndValue(appId, "考勤表", delmap);
    //根据月份获取当月应出勤天数
    var map2 = new Packages.java.util.HashMap();
    map2.put("所属月份", salarymonth);
    map2.put("是否工作日", "1");
    var ycqts = 0;
    var ycq = $.form.getFormDocumentsByFieldNameAndValue(appId, "工作日期维护表", map2);
    if (ycq != null) {
        ycqts = ycq.size();
    }
    var users = new Packages.java.util.ArrayList();
    if (emps != null) {
        users = emps.get(0).getElementByName("人员名单").getValue();
    }
    if (users != null) {
        for (var i = 0; i < users.size(); i++) {
            var nj = 0; //年假
            var sj = 0; //事假
            var bj = 0; //病假
            var hj = 0; //婚假
            var cj = 0; //产假
            var pcj = 0; //陪产假
            var sangj = 0; //丧假
            var txj = 0; //调休假
            //查询该员工所有假期
            var map3 = new Packages.java.util.HashMap();
            map3.put("所属月份", salarymonth);
            map3.put("是否工作日", "1");
            map3.put("姓名", users.get(i));
            var qjdocs = $.form.getFormDocumentsByFieldNameAndValue(appId, "请假日期记录表", map3);
            if (qjdocs != null) {
                for (var x = 0; x < qjdocs.size(); x++) {
                    var qdoc = qjdocs.get(x);
                    if (qdoc.getElementByName("请假类型").getValue() == "1") {
                        nj = nj + qdoc.getElementByName("请假时长").getFloatValue();
                    } else if (qdoc.getElementByName("请假类型").getValue() == "2") {
                        sj = sj + qdoc.getElementByName("请假时长").getFloatValue();
                    } else if (qdoc.getElementByName("请假类型").getValue() == "3") {
                        bj = bj + qdoc.getElementByName("请假时长").getFloatValue();
                    } else if (qdoc.getElementByName("请假类型").getValue() == "4") {
                        hj = hj + qdoc.getElementByName("请假时长").getFloatValue();
                    } else if (qdoc.getElementByName("请假类型").getValue() == "5") {
                        cj = cj + qdoc.getElementByName("请假时长").getFloatValue();
                    } else if (qdoc.getElementByName("请假类型").getValue() == "6") {
                        pcj = pcj + qdoc.getElementByName("请假时长").getFloatValue();
                    } else if (qdoc.getElementByName("请假类型").getValue() == "7") {
                        sangj = sangj + qdoc.getElementByName("请假时长").getFloatValue();
                    } else if (qdoc.getElementByName("请假类型").getValue() == "8") {
                        txj = txj + qdoc.getElementByName("请假时长").getFloatValue();
                    }
                }
            }
            var adddoc = $.form.createEmptyDocument(appId, "考勤表");
            adddoc.addElement("应出勤天数", ycqts);
            adddoc.addElement("所属公司", doc.getElementByName("选择公司").getValue());
            adddoc.addElement("姓名", users.get(i));
            adddoc.addElement("薪资月", salarymonth);
            adddoc.addElement("年假天数", nj) adddoc.addElement("病假天数", bj) adddoc.addElement("事假天数", sj) adddoc.addElement("婚假天数", hj) adddoc.addElement("丧假天数", sangj) adddoc.addElement("换休假天数", txj) adddoc.addElement("产假天数", cj) adddoc.addElement("陪产假天数", pcj) adddoc.addElement("旷工天数", 0) adddoc.addElement("实际出勤天数", ycqts - nj - bj - sj - hj - sangj - txj - cj - pcj);
            $.form.saveFormDocument(adddoc, appId);
        }
    }
})() 
                如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!