Sfoglia il codice sorgente

日报需求(新增项目字典配置)

liubing 2 anni fa
parent
commit
64b984e9c9

+ 92 - 23
business/base-service/src/main/java/com/yihu/jw/dailyReport/service/DailyReportUploadService.java

@ -375,6 +375,8 @@ public class DailyReportUploadService {
                BaseDailyReportItemDO reportItemDO = new BaseDailyReportItemDO();
                reportItemDO.setState(0);
                reportItemDO.setDel(1);
                reportItemDO.setProjectCode(tmp.getProjectCode());
                reportItemDO.setProjectName(tmp.getProjectName());
                reportItemDO.setTitle(title);
                reportItemDO.setContent(tmp.getReportContent());
                reportItemDO.setBeginTime(null);
@ -382,6 +384,11 @@ public class DailyReportUploadService {
                reportItemDO.setCreateTime(new Date());
                reportItemDO.setCreateUser(doctorId);
                reportItemDO.setCreateUserName(doctorDO.getName());
                if (doctorHospitalDOS != null && doctorHospitalDOS.size() != 0) {
                    reportItemDO.setDept(doctorHospitalDOS.get(0).getDeptCode());
                    reportItemDO.setDeptName(doctorHospitalDOS.get(0).getDeptName());
                }
                reportItemDO = reportItemDao.save(reportItemDO);
                BaseDailyReportItemMembersDO membersDOTmp = new BaseDailyReportItemMembersDO();
@ -393,6 +400,13 @@ public class DailyReportUploadService {
                tmp.setReportItemId(reportItemDO.getId());
                tmp.setReportItemName(title);
            }
            BaseDailyReportItemDO reportItemDO = reportItemDao.findOne(tmp.getReportItemId());
            if (null!=reportItemDO){
                if (StringUtils.isBlank(reportItemDO.getAcBeginTime())){
                    reportItemDO.setAcBeginTime(DateUtil.getStringDate());
                    reportItemDao.save(reportItemDO);
                }
            }
        }
        if (detailDOList.size()>0){
            reportDetailDao.save(detailDOList);
@ -949,7 +963,7 @@ public class DailyReportUploadService {
        logger.info("deptSql=="+deptSql);
        List<Map<String, Object>> mapList = jdbcTemplate.queryForList(deptSql);
        for (Map<String,Object> deptMap:mapList){
            String day = DateUtil.getTwoDay(endDate, startDate);
            String day = DateUtil.getWorkDays(endDate, startDate)+"";
            Integer doctorTotal = 0;
            Integer total=0;
            Integer yishangbaoTotal=0;
@ -1542,7 +1556,7 @@ public class DailyReportUploadService {
            startDate = DateUtil.getFristDayOfMonth();
            endDate = DateUtil.getLastDayOfMonth();
        }
        String day = DateUtil.getTwoDay(endDate, startDate);
        String day = DateUtil.getWorkDays(endDate, startDate)+"";
        String doctorSql = " select COUNT(1) as 'total' from base_doctor d where d.del=1 and d.identity=0  ";
        Integer total = 0;//总人次
        String sqlCondition = "";
@ -1692,7 +1706,7 @@ public class DailyReportUploadService {
     */
    public JSONObject selectHeaderTotal(String dept, String idType, String status, String state, String startDate, String endDate, String name) {
        JSONObject object = new JSONObject();
        String day = DateUtil.getTwoDay(endDate, startDate);
        String day = DateUtil.getWorkDays(endDate, startDate)+"";
        String doctorSql = " select COUNT(1) as \"total\" from base_doctor d where d.del=1 and d.identity=0 ";
        Integer total = 0;//总人次
@ -1839,7 +1853,7 @@ public class DailyReportUploadService {
     * 新增日报项目
     */
    @Transactional(rollbackFor = Exception.class)
    public BaseDailyReportItemDO newReportItem(String user,String title,String content,String begin_time,String end_time,Integer member_type,String members) throws Exception {
    public BaseDailyReportItemDO newReportItem(String user,String projectCode,String projectName,String title,String content,String begin_time,String end_time,Integer member_type,String members) throws Exception {
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
@ -1852,6 +1866,8 @@ public class DailyReportUploadService {
        BaseDailyReportItemDO reportItemDO = new BaseDailyReportItemDO();
        reportItemDO.setState(0);
        reportItemDO.setDel(1);
        reportItemDO.setProjectCode(projectCode);
        reportItemDO.setProjectName(projectName);
        reportItemDO.setTitle(title);
        reportItemDO.setContent(content);
        reportItemDO.setBeginTime(begin_time);
@ -1859,6 +1875,11 @@ public class DailyReportUploadService {
        reportItemDO.setCreateTime(new Date());
        reportItemDO.setCreateUser(user);
        reportItemDO.setCreateUserName(doctorDO.getName());
        List<BaseDoctorHospitalDO> doctorHospitalDOs = baseDoctorHospitalDao.findByDoctorCode(user);
        if (null !=doctorHospitalDOs&&doctorHospitalDOs.size()!=0){
            reportItemDO.setDept(doctorHospitalDOs.get(0).getDeptCode());
            reportItemDO.setDeptName(doctorHospitalDOs.get(0).getDeptName());
        }
        reportItemDO = reportItemDao.save(reportItemDO);
        List<BaseDailyReportItemMembersDO> membersDOS = new ArrayList<>();
        if (1==member_type){//指定成员
@ -1906,7 +1927,7 @@ public class DailyReportUploadService {
     * 编辑日报项目
     */
    @Transactional(rollbackFor = Exception.class)
    public BaseDailyReportItemDO modifyReportItem(String user,String item_id,String title,String content,Integer state,String begin_time,String end_time,String members) throws Exception {
    public BaseDailyReportItemDO modifyReportItem(String user,String item_id,String projectCode,String projectName,String title,String content,Integer state,String begin_time,String end_time,String members) throws Exception {
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
@ -1925,6 +1946,8 @@ public class DailyReportUploadService {
        }
        reportItemDO.setState(state);
        reportItemDO.setDel(1);
        reportItemDO.setProjectCode(projectCode);
        reportItemDO.setProjectName(projectName);
        reportItemDO.setTitle(title);
        reportItemDO.setContent(content);
        reportItemDO.setBeginTime(begin_time);
@ -1932,6 +1955,12 @@ public class DailyReportUploadService {
        reportItemDO.setUpdateTime(new Date());
        reportItemDO.setUpdateUser(user);
        reportItemDO.setUpdateUserName(doctorDO.getName());
        List<BaseDoctorHospitalDO> doctorHospitalDOs = baseDoctorHospitalDao.findByDoctorCode(user);
        if (null !=doctorHospitalDOs&&doctorHospitalDOs.size()!=0){
            reportItemDO.setDept(doctorHospitalDOs.get(0).getDeptCode());
            reportItemDO.setDeptName(doctorHospitalDOs.get(0).getDeptName());
        }
        reportItemDO = reportItemDao.save(reportItemDO);
        reportItemDao.save(reportItemDO);
        List<BaseDailyReportItemMembersDO> membersDOS = new ArrayList<>();
        reportItemMembersDao.deleteAllByReportItemId(reportItemDO.getId());
@ -2134,8 +2163,43 @@ public class DailyReportUploadService {
    /**
     * 管理员日报项目统计
     */
    public PageEnvelop statisticReportItemList(String user, String title, String content, Integer state,
                                               String begin_time, String end_time, String createUser,String createUserName, Integer page, Integer size) throws Exception {
    public List<Map<String,Object>> statisticReportProjectList(String user, String projectCode,String startDate, String endDate) throws Exception {
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
        if (userRoles.size()==0){
            throw new Exception("您无权限操作");
        }
        String sqlCondition = "  ";
        if (StringUtils.isNotBlank(startDate)){
            sqlCondition += " and up.report_date>='"+startDate+"' ";
        }
        if (StringUtils.isNotBlank(endDate)){
            sqlCondition += " and up.report_date<='"+endDate+"' ";
        }
        if (StringUtils.isNotBlank(projectCode)){
            sqlCondition += " and i.project_code='"+projectCode+"' ";
        }
        String sqlList = "  select dict.dict_code project_code,dict.dict_value projectName,IFNULL( A.completionHour,0) 'completionHour', " +
                " IFNULL(A.doctorTotal,0) 'doctorTotal' from wlyy_hospital_sys_dict dict " +
                " Left JOIN (" +
                " select i.project_code,CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour, " +
                " count(distinct up.doctor_id) as doctorTotal from base_daily_report_item i LEFT JOIN base_daily_report_detail de on i.id = de.report_item_id " +
                " INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id  and up.report_date>='2022-08-01' " +
                "  and up.report_date<='2022-08-13'  where i.del=1 "+sqlCondition+" GROUP BY i.project_code )A " +
                "on A.project_code = dict.dict_code where dict.dict_name='daily_report_project' ";
        if (StringUtils.isNotBlank(projectCode)){
            sqlList +=" and dict.dict_code='"+projectCode+"' ";
        }
        sqlList += "  order by completionHour desc ";
        return jdbcTemplate.queryForList(sqlList);
    }
    /**
     * 管理员日报项目统计
     */
    public PageEnvelop statisticReportItemList(String user, String projectCode,String title, String content, Integer state,
                                               String startDate, String endDate, String createUser,String createUserName, Integer page, Integer size) throws Exception {
        page = page>0?page-1:0;
        String sql = " select * from base_doctor_role where doctor_code='"+user+"' ";
        List<Map<String,Object>> userRoles = jdbcTemplate.queryForList(sql);
@ -2144,10 +2208,17 @@ public class DailyReportUploadService {
        }
        List<BaseDailyReportItemDO> itemDOS = new ArrayList<>();
        String sqlCondition = "  ";
        String sqlList = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName," +
        String updateTimeSql="";
        if (StringUtils.isNotBlank(startDate)){
            updateTimeSql += " and up.report_date>='"+startDate+"' ";
        }
        if (StringUtils.isNotBlank(endDate)){
            updateTimeSql += " and up.report_date<='"+endDate+"' ";
        }
        String sqlList = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName," +
                " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,count(distinct up.doctor_id) as doctorTotal " +
                " from base_daily_report_item i  LEFT JOIN base_daily_report_detail de on i.id = de.report_item_id " +
                "  INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id where i.del=1 ";
                "  INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id "+updateTimeSql+" where i.del=1 ";
        String sqlCount = " select count(distinct i.id) from base_daily_report_item i where i.del=1 ";
        if (StringUtils.isNotBlank(title)){
            sqlCondition +=" and i.title like '%"+title+"%' ";
@ -2158,18 +2229,16 @@ public class DailyReportUploadService {
        if (null!=state){
            sqlCondition += " and i.state='"+state+"' ";
        }
        if (StringUtils.isNotBlank(begin_time)){
            sqlCondition += " and i.begin_time>='"+begin_time+"' ";
        }
        if (StringUtils.isNotBlank(end_time)){
            sqlCondition += " and i.end_time<='"+end_time+"' ";
        }
        if (StringUtils.isNotBlank(createUser)){
            sqlCondition += " and i.create_user = '"+createUser+"' ";
        }
        if (StringUtils.isNotBlank(createUserName)){
            sqlCondition += " and i.create_user_name like '%"+createUserName+"%' ";
        }
        if (StringUtils.isNotBlank(projectCode)){
            sqlCondition += " and i.project_code='"+projectCode+"' ";
        }
        sqlList +=sqlCondition+ " group by i.id order by i.create_time,i.id desc limit "+page*size+","+size;
        itemDOS = jdbcTemplate.query(sqlList,new BeanPropertyRowMapper<>(BaseDailyReportItemDO.class));
        Long count = jdbcTemplate.queryForObject(sqlCount+sqlCondition,Long.class);
@ -2183,21 +2252,21 @@ public class DailyReportUploadService {
            throw new Exception("您无权限操作");
        }
        if(1==type){//天
            sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
            sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time', " +
                    " count(distinct up.doctor_id) as doctorTotal from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id " +
                    "where 1=1 and i.id='"+item_id+"' " +
                    "group by i.id,DATE_FORMAT(de.create_time,'%Y-%m-%d') order by time asc ";
        }else if (2==type){//按周
            sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
            sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time', " +
                    " count(distinct up.doctor_id) as doctorTotal from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id  " +
                    "where 1=1 and i.id='"+item_id+"' " +
                    "group by i.id,DATE_FORMAT(de.create_time,'%Y%v') order by time asc ";
        }else if (3==type){//月
            sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
            sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName, " +
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m') as 'time', " +
                    " count(distinct up.doctor_id) as doctorTotal from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
                    "on i.id = de.report_item_id INNER JOIN base_doctor_daily_report_upload up on up.id = de.report_id " +
@ -2233,7 +2302,7 @@ public class DailyReportUploadService {
        }
        String searchTimeFormat = "";
        if(0==type){
            sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName,up.doctor_id,up.doctor_name doctorName, " +
            sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName,up.doctor_id,up.doctor_name doctorName, " +
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time'," +
                    " DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'searchTime' " +
                    "from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
@ -2243,7 +2312,7 @@ public class DailyReportUploadService {
            searchTimeFormat=" DATE_FORMAT(de.create_time,'%Y-%m-%d') ";
        }
        else if(1==type){//天
            sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName,up.doctor_id,up.doctor_name doctorName, " +
            sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName,up.doctor_id,up.doctor_name doctorName, " +
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time', " +
                    "DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'searchTime' " +
                    "from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
@ -2252,7 +2321,7 @@ public class DailyReportUploadService {
                    "group by i.id,up.doctor_id,DATE_FORMAT(de.create_time,'%Y-%m-%d') order by time asc ";
            searchTimeFormat=" DATE_FORMAT(de.create_time,'%Y-%m-%d') ";
        }else if (2==type){//按周
            sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName,up.doctor_id,up.doctor_name doctorName, " +
            sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName,up.doctor_id,up.doctor_name doctorName, " +
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m-%d') as 'time', " +
                    "DATE_FORMAT(de.create_time,'%Y%v') as 'searchTime' " +
                    "from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
@ -2261,7 +2330,7 @@ public class DailyReportUploadService {
                    "group by i.id,up.doctor_id,DATE_FORMAT(de.create_time,'%Y%v') order by time asc ";
            searchTimeFormat=" DATE_FORMAT(de.create_time,'%Y%v') ";
        }else if (3==type){//月
            sql = " select i.id,i.title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName,up.doctor_id,up.doctor_name doctorName, " +
            sql = " select i.id,CONCAT(i.title,'(',i.dept_name,')') title,i.content,i.state,i.begin_time beginTime,i.end_time endTime,i.create_user_name createUserName,up.doctor_id,up.doctor_name doctorName, " +
                    " CAST((sum(IFNULL(de.actual_completion_hour,IFNULL(de.completion_hour,'0')))) as char ) as completionHour,DATE_FORMAT(de.create_time,'%Y-%m') as 'time', " +
                    "DATE_FORMAT(de.create_time,'%Y-%m') as 'searchTime' " +
                    "from base_daily_report_item i LEFT JOIN base_daily_report_detail de " +
@ -2335,7 +2404,7 @@ public class DailyReportUploadService {
            throw new Exception("导出失败,请检查传入参数");
        }
        //项目耗时情况
        sql = " select it.title,it.content,sum(IFNULL(pd.actual_completion_hour,IFNULL(pd.completion_hour,0))) 'completion_hour' ," +
        sql = " select CONCAT(it.title,'(',i.dept_name,')') title,it.content,sum(IFNULL(pd.actual_completion_hour,IFNULL(pd.completion_hour,0))) 'completion_hour' ," +
                " CASE it.state WHEN 1 THEN '已完成' ELSE '未完成' END as 'state',DATE_FORMAT(it.create_time,'%Y-%m-%d %H:%i:%S') create_time,it.create_user_name " +
                "from base_daily_report_item it LEFT JOIN base_daily_report_detail pd  " +
                "on it.id = pd.report_item_id " +

+ 7 - 1
common/common-entity/sql记录

@ -2145,4 +2145,10 @@ CREATE TABLE `base_yujing_dict` (
  PRIMARY KEY (`id`),
  KEY `dict_name` (`dict_name`),
  KEY `hospital` (`hospital`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COMMENT='预警状态字典';
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COMMENT='预警状态字典';
--2022-08-15
ALTER table base_daily_report_item add COLUMN `project_code` varchar(50) DEFAULT NULL COMMENT '项目code 字典base_daily_report_item';
ALTER table base_daily_report_item add COLUMN `ac_begin_time` varchar(50) DEFAULT NULL COMMENT '项目实际开始时间';
ALTER table base_daily_report_item add COLUMN `dept` varchar(50) DEFAULT NULL COMMENT '部门';
ALTER table base_daily_report_item add COLUMN `dept_name` varchar(50) DEFAULT NULL COMMENT '部门名称';

+ 19 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/dailyReport/BaseDailyReportDetailDO.java

@ -36,6 +36,8 @@ public class BaseDailyReportDetailDO extends UuidIdentityEntityWithOperator {
    private boolean reportItemFlag;
    private String reportItemTitle;
    private String projectCode;
    private String projectName;
    public String getReportId() {
        return reportId;
@ -192,4 +194,21 @@ public class BaseDailyReportDetailDO extends UuidIdentityEntityWithOperator {
        this.reportItemTitle = reportItemTitle;
    }
    @Transient
    public String getProjectCode() {
        return projectCode;
    }
    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }
    @Transient
    public String getProjectName() {
        return projectName;
    }
    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }
}

+ 45 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/dailyReport/BaseDailyReportItemDO.java

@ -39,6 +39,11 @@ public class BaseDailyReportItemDO extends UuidIdentityEntity {
    protected String updateUser;
    protected String updateUserName;
    private String completionUserName;
    private String projectCode;
    private String projectName;
    private String acBeginTime;//项目实际开始时间
    private String dept;
    private String deptName;
    private List<BaseDailyReportItemMembersDO> itemMembersDOList;
@ -183,4 +188,44 @@ public class BaseDailyReportItemDO extends UuidIdentityEntity {
    public void setCompletionUserName(String completionUserName) {
        this.completionUserName = completionUserName;
    }
    public String getProjectCode() {
        return projectCode;
    }
    public void setProjectCode(String projectCode) {
        this.projectCode = projectCode;
    }
    public String getProjectName() {
        return projectName;
    }
    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }
    public String getAcBeginTime() {
        return acBeginTime;
    }
    public void setAcBeginTime(String acBeginTime) {
        this.acBeginTime = acBeginTime;
    }
    public String getDept() {
        return dept;
    }
    public void setDept(String dept) {
        this.dept = dept;
    }
    public String getDeptName() {
        return deptName;
    }
    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }
}

+ 31 - 0
common/common-util/src/main/java/com/yihu/jw/util/date/DateUtil.java

@ -1068,6 +1068,37 @@ public class DateUtil {
        return df2.format(c.getTime());
    }
    /**
     * 获取某一时间端内的工作天数
     * @param start
     * @param end
     * @return
     */
    public static long getWorkDays(String start, String end){
        SimpleDateFormat myFormatter = new SimpleDateFormat(YYYY_MM_DD);
        long day = 0;
        Calendar startCal = Calendar.getInstance();
        Calendar endCal = Calendar.getInstance();
        try {
            startCal.setTime(myFormatter.parse(start));
            endCal.setTime(myFormatter.parse(end));
        } catch (ParseException e) {
            System.out.println("日期格式非法");
            e.printStackTrace();
            return day;
        }
        while (startCal.compareTo(endCal) <= 0) {
            //如果不是周六或者周日则工作日+1
            if (startCal.get(Calendar.DAY_OF_WEEK) != 7 && startCal.get(Calendar.DAY_OF_WEEK) != 1) {
                day++;
            }
            startCal.add(Calendar.DAY_OF_MONTH, 1);
        }
        return day;
    }
    /**
     * 获取当月第一天
     * @return

+ 36 - 8
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/dailyReport/DailyReportUploadPoint.java

@ -497,6 +497,10 @@ public class DailyReportUploadPoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "管理员新增日报项目")
    public ObjEnvelop newReportItem(@ApiParam(name = "user", value = "user")
                                    @RequestParam(value = "user", required = true) String user,
                                    @ApiParam(name = "projectCode", value = "项目Code")
                                    @RequestParam(value = "projectCode", required = true) String projectCode,
                                    @ApiParam(name = "projectName", value = "项目名称")
                                    @RequestParam(value = "projectName", required = true) String projectName,
                                    @ApiParam(name = "title", value = "项目标题")
                                    @RequestParam(value = "title", required = true) String title,
                                    @ApiParam(name = "content", value = "项目内容")
@ -510,7 +514,7 @@ public class DailyReportUploadPoint extends EnvelopRestEndpoint {
                                    @ApiParam(name = "members", value = "成员or部门编码,多个逗号隔开")
                                    @RequestParam(value = "members", required = true) String members) {
        try {
            BaseDailyReportItemDO itemDO = dailyReportUploadService.newReportItem(user,title,content,begin_time,end_time,member_type,members);
            BaseDailyReportItemDO itemDO = dailyReportUploadService.newReportItem(user,projectCode,projectName,title,content,begin_time,end_time,member_type,members);
            return success(itemDO);
        } catch (Exception e) {
            return failedObjEnvelopException(e);
@ -541,6 +545,10 @@ public class DailyReportUploadPoint extends EnvelopRestEndpoint {
    @ApiOperation(value = "管理员修改日报项目")
    public ObjEnvelop modifyReportItem(@ApiParam(name = "user", value = "user")
                                    @RequestParam(value = "user", required = true) String user,
                                    @ApiParam(name = "projectCode", value = "项目Code")
                                    @RequestParam(value = "projectCode", required = true) String projectCode,
                                    @ApiParam(name = "projectName", value = "项目名称")
                                    @RequestParam(value = "projectName", required = true) String projectName,
                                    @ApiParam(name = "item_id", value = "item_id")
                                    @RequestParam(value = "item_id", required = true) String item_id,
                                    @ApiParam(name = "title", value = "项目标题")
@ -556,7 +564,7 @@ public class DailyReportUploadPoint extends EnvelopRestEndpoint {
                                    @ApiParam(name = "members", value = "成员编码,多个逗号隔开")
                                    @RequestParam(value = "members", required = true) String members) {
        try {
            BaseDailyReportItemDO itemDO = dailyReportUploadService.modifyReportItem(user,item_id,title,content,state,begin_time,end_time,members);
            BaseDailyReportItemDO itemDO = dailyReportUploadService.modifyReportItem(user,item_id,projectCode,projectName,title,content,state,begin_time,end_time,members);
            return success(itemDO);
        } catch (Exception e) {
            return failedObjEnvelopException(e);
@ -641,20 +649,40 @@ public class DailyReportUploadPoint extends EnvelopRestEndpoint {
        }
    }
    @GetMapping(value = "statisticReportProjectList")
    @ApiOperation(value = "管理员日报项目统计列表一级")
    public ListEnvelop statisticReportProjectList(@ApiParam(name = "user", value = "user")
                                               @RequestParam(value = "user", required = true) String user,
                                               @ApiParam(name = "projectCode", value = "项目Code")
                                               @RequestParam(value = "projectCode", required = false) String projectCode,
                                               @ApiParam(name = "startDate", value = "startDate")
                                               @RequestParam(value = "startDate", required = false) String startDate,
                                               @ApiParam(name = "endDate", value = "endDate")
                                               @RequestParam(value = "endDate", required = false) String endDate) {
        try {
            return ListEnvelop.getSuccess("success",dailyReportUploadService.statisticReportProjectList(user,projectCode,startDate,endDate));
        } catch (Exception e) {
            return failedListEnvelopException(e);
        }
    }
    @GetMapping(value = "statisticReportItemList")
    @ApiOperation(value = "管理员日报项目统计列表")
    @ApiOperation(value = "管理员日报项目统计列表二级")
    public PageEnvelop statisticReportItemList(@ApiParam(name = "user", value = "user")
                                               @RequestParam(value = "user", required = true) String user,
                                               @ApiParam(name = "projectCode", value = "项目Code")
                                               @RequestParam(value = "projectCode", required = false) String projectCode,
                                               @ApiParam(name = "title", value = "事项标题")
                                               @RequestParam(value = "title", required = false) String title,
                                               @ApiParam(name = "content", value = "项目内容")
                                               @RequestParam(value = "content", required = false) String content,
                                               @ApiParam(name = "state", value = "-1取消,0待办,1已完成")
                                               @RequestParam(value = "state", required = false) Integer state,
                                               @ApiParam(name = "begin_time", value = "begin_time")
                                               @RequestParam(value = "begin_time", required = false) String begin_time,
                                               @ApiParam(name = "end_time", value = "end_time")
                                               @RequestParam(value = "end_time", required = false) String end_time,
                                               @ApiParam(name = "startDate", value = "startDate")
                                               @RequestParam(value = "startDate", required = false) String startDate,
                                               @ApiParam(name = "endDate", value = "endDate")
                                               @RequestParam(value = "endDate", required = false) String endDate,
                                               @ApiParam(name = "createUser", value = "createUser")
                                               @RequestParam(value = "createUser", required = false) String createUser,
                                               @ApiParam(name = "createUserName", value = "createUserName")
@ -664,7 +692,7 @@ public class DailyReportUploadPoint extends EnvelopRestEndpoint {
                                               @ApiParam(name = "size", value = "size")
                                               @RequestParam(value = "size", required = true)Integer size) {
        try {
            return dailyReportUploadService.statisticReportItemList(user,title,content,state,begin_time,end_time,createUser,createUserName,page,size);
            return dailyReportUploadService.statisticReportItemList(user,projectCode,title,content,state,startDate,endDate,createUser,createUserName,page,size);
        } catch (Exception e) {
            return failedPageEnvelopException(e);
        }