Explorar o código

日报修改,新增节假日判断

liubing %!s(int64=2) %!d(string=hai) anos
pai
achega
6cf55e9c0d

+ 11 - 7
business/base-service/src/main/java/com/yihu/jw/dailyReport/service/DailyReportUploadService.java

@ -342,7 +342,7 @@ public class DailyReportUploadService {
        if (StringUtil.isBlank(report_date)){
            report_date = DateUtil.getStringDateShort();
            week_name = DateUtil.getWeek(report_date);
            week_name = DateUtil.getWeekStr(report_date);
        }
        BaseDailyReportUploadDO dailyReportUploadDO = dailyReportUploadDao.findByDoctorIdAndReportDate(doctorId,report_date);
        if (null==dailyReportUploadDO){
@ -3482,16 +3482,20 @@ public class DailyReportUploadService {
            workDays = DateUtil.getWorkDays(startDate, endDate);
        }
        String shangchuanSql = " select count(distinct up.id) from base_doctor_daily_report_upload up " +
        String shangchuanSql = " select distinct up.report_date from base_doctor_daily_report_upload up " +
                " INNER JOIN base_doctor doc on up.doctor_id = doc.id and doc.del=1 " +
                "Inner JOIN base_doctor_hospital dh on doc.id = dh.doctor_code and dh.del=1 " +
                "LEFT JOIN base_daily_report_detail rd on up.id = rd.report_id " +
                "LEFT join base_daily_report_item i on i.id = rd.report_item_id and i.del=1 where 1=1 " +
                "and DATE_FORMAT(up.report_date,'%w') BETWEEN 1 and 5  "+sqlWhere;
        //只计算出周一到周五上传的数量去求未上传
        Long shangchuanTotal = jdbcTemplate.queryForObject(shangchuanSql,Long.class);
                " "+sqlWhere;
        //只计算出工作日上传的数量去求未上传
        List<String> upLoadTimes = jdbcTemplate.queryForList(shangchuanSql,String.class);
        Long shangchuanTotal = 0l;
        for (String tmp:upLoadTimes){
            if (!DateUtil.isHoliday(DateUtil.strToDate(tmp))){
                shangchuanTotal++;
            }
        }
        Double acWorkHours = 0d;
        Long needWorkHours = workDays*members*8;

+ 0 - 26
business/base-service/src/main/java/com/yihu/jw/dailyReport/service/Main.java

@ -1,26 +0,0 @@
package com.yihu.jw.dailyReport.service;
import com.yihu.jw.util.date.DateUtil;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * 测试类
 *
 * @author holate
 * @date 2020/10/26
 */
public class Main {
    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSSS");
   /*     System.out.println("Holiday.calculateNormalDay(new Date(), 1) = " +
            sdf.format(Holiday.calculateNormalDay(new Date(), 7)));
        System.out.println("Holiday.calculateWorkDay(new Date(), 1) = " +
            sdf.format(Holiday.calculateWorkDay(new Date(), 7)));
        System.out.println("Holiday.calculateNextHoliday(new Date(),1) = " +
            sdf.format(Holiday.calculateNextHoliday(new Date(), 1)));*/
        System.out.println("Holiday.isHoliday(new Date()) = " + Holiday.isHoliday(DateUtil.strToDate("2022-09-10")));
    }
}

+ 14 - 2
common/common-util/src/main/java/com/yihu/jw/util/date/DateUtil.java

@ -1108,8 +1108,8 @@ public class DateUtil {
        }
        while (startCal.compareTo(endCal) <= 0) {
            //如果不是周六或者周日则工作日+1
            if (startCal.get(Calendar.DAY_OF_WEEK) != 7 && startCal.get(Calendar.DAY_OF_WEEK) != 1) {
            //工作日+1
            if (!Holiday.isHoliday((startCal.getTime()))){
                day++;
            }
            startCal.add(Calendar.DAY_OF_MONTH, 1);
@ -1118,6 +1118,17 @@ public class DateUtil {
    }
    /**
     * 判断一天是不是工作日
     *
     * @param date 日期
     * @return true:休息日,false:工作日
     * @date 2020/10/26
     */
    public static boolean isHoliday(Date date) {
        return Holiday.isHoliday(date);
    }
    /**
     * 获取当月第一天
     * @return
@ -1682,4 +1693,5 @@ public class DateUtil {
        String[] weekDays = { "周日", "周一", "周二", "周三", "周四", "周五", "周六" };
        return weekDays[getWeekByString(date)];
    }
}

+ 1 - 1
business/base-service/src/main/java/com/yihu/jw/dailyReport/service/Holiday.java

@ -1,4 +1,4 @@
package com.yihu.jw.dailyReport.service;
package com.yihu.jw.util.date;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

+ 12 - 0
svr/svr-internet-hospital-job/src/main/java/com/yihu/jw/service/channel/DailyReportService.java

@ -72,6 +72,10 @@ public class DailyReportService {
    private Logger logger= LoggerFactory.getLogger(DailyReportService.class);
    public void dailyReportRemind() throws Exception {
        Date date = new Date();
        if (DateUtil.isHoliday(date)){
            return;
        }
        List<BaseDoctorDO> doctorDOList = doctorDao.findByDel();
        String nowDate = DateUtil.getStringDateShort();
        for (BaseDoctorDO doctorDO:doctorDOList){
@ -98,6 +102,10 @@ public class DailyReportService {
     * @throws Exception
     */
    public void dailyReportWsbTotalRemind() throws Exception {
        Date date = new Date();
        if (DateUtil.isHoliday(date)){
            return;
        }
        String boosID = "0592008";//老板id
        String nowDate = DateUtil.getStringDateShort();
        List<BaseDoctorRoleDO> deptAdminRoleList = doctorRoleDao.findByRoleCode("deptAdmin");
@ -165,6 +173,10 @@ public class DailyReportService {
     * @throws Exception
     */
    public void dailyReportTotalRemind() throws Exception {
        Date date = new Date();
        if (DateUtil.isHoliday(date)){
            return;
        }
        String boosID = "0592008";//老板id
        String nowDate = DateUtil.getStringDateShort();
        List<BaseDoctorRoleDO> deptAdminRoleList = doctorRoleDao.findByRoleCode("deptAdmin");

+ 4 - 4
svr/svr-internet-hospital-job/src/main/resources/system.properties

@ -41,11 +41,11 @@ health_upload_weishangbao_remind_job=0 45 8 * * ? *
health_upload_total_remind_job=0 0 9 * * ? *
DailyReportRemindJob=0 50 17 ? * 2,3,4,5,6
DailyReportRemindJob=0 50 17 * * ? *
DailyReportRemindSecondJob=0 0 20 ? * 2,3,4,5,6
DailyReportRemindSecondJob=0 0 20 * * ? *
DailyReportTotalRemindJob=0 0 22 ? * 2,3,4,5,6
DailyReportTotalRemindJob=0 0 22 * * ? *
DailyReportWsbTotalRemindJob=0 0 21 ? * 2,3,4,5,6
DailyReportWsbTotalRemindJob=0 0 21 * * ? *