| | |
| | | sbSql.append(" (SELECT room_name FROM product_oa_conference_room_config WHERE uuid = A.meeting_room) as meeting_room \n"); |
| | | sbSql.append("FROM product_oa_conference_apply A \n"); |
| | | sbSql.append("WHERE (end_time >= ? AND start_time <= ?)"); |
| | | sbSql.append("AND status != '已取消'"); |
| | | |
| | | DataTableEntity dtRecord = baseDao.listTable(sbSql.toString(), new Object[] {queryStartDate, queryEndDate + " 23:59:59"}); |
| | | String replace_meeting_resource=""; |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 会议看板-会议记录 |
| | | */ |
| | | @Override |
| | | public List getMeetingDetails(FieldSetEntity fse) throws BaseException { |
| | | public DataTableEntity getMeetingRecords(FieldSetEntity fse) throws BaseException { |
| | | String meeting_room = fse.getString("meeting_room"); |
| | | String meeting_start_date = fse.getString("meeting_start_date"); |
| | | String meeting_end_date = fse.getString("meeting_end_date"); |
| | |
| | | param.add(meeting_start_date); |
| | | param.add(meeting_end_date); |
| | | StringBuilder sb=new StringBuilder(); |
| | | sb.append("\nSELECT b.uuid,DATE_FORMAT(b.start_time, \"%Y-%m-%d\") start_time,b.start_time start_time1,b.end_time,b.meeting_topic,b.status,b.meeting_recorder as meeting_recorder_uuid, "); |
| | | sb.append("\nSELECT "); |
| | | sb.append("\n b.uuid,b.meeting_topic,b.status,b.meeting_recorder as meeting_recorder_uuid,"); |
| | | sb.append("\n b.start_time,b.end_time,DATE_FORMAT(b.start_time,'%Y-%m-%d') as meeting_date,"); |
| | | sb.append("\n (select user_name from product_sys_users where user_id=b.meeting_recorder) as meeting_recorder,"); |
| | | sb.append("\n (select user_name from product_sys_users where user_id=b.meeting_master) as meeting_master,"); |
| | | sb.append("\n CONCAT(DATE_FORMAT(b.start_time,\"%H:%i\"),'~',DATE_FORMAT(b.end_time,\"%H:%i\")) as time_quantum,"); |
| | | sb.append("\n DATE_FORMAT(b.start_time,\"%Y-%m-%d\") as meeting_date,"); |
| | | sb.append("\n GROUP_CONCAT(b.dict_label SEPARATOR ',') AS meeting_resouces "); |
| | | sb.append("\n GROUP_CONCAT(b.dict_label SEPARATOR ',') AS meeting_resouces,"); |
| | | sb.append("\n C.uuid AS minute_uuid,C.flow_flag AS minute_flow_flag"); |
| | | sb.append("\nFROM ("); |
| | | sb.append("\n SELECT DISTINCT a.uuid,a.start_time,a.end_time,a.meeting_topic,a.meeting_recorder,a.meeting_master,a.status,t.dict_label "); |
| | | sb.append("\n FROM ("); |
| | |
| | | sb.append("\n ) T2"); |
| | | sb.append("\n ON T2.digit < ( length( T1.meeting_resource )- length( REPLACE ( T1.meeting_resource, ',', '' ))+ 1 )"); |
| | | sb.append("\n WHERE T1.meeting_room = ? "); |
| | | sb.append("\n and T1.start_time between ? and ? "); |
| | | sb.append("\n AND T1.start_time between ? AND ? "); |
| | | if(!StringUtils.isEmpty(meeting_resource)){ |
| | | sb.append(" and ("+replace_meeting_resource+" )"); |
| | | sb.append(" AND ("+replace_meeting_resource+" )"); |
| | | } |
| | | sb.append("\n ) a"); |
| | | sb.append("\n LEFT JOIN product_sys_dict t ON a.type = t.dict_value AND t.dict_name = '会议室资源'"); |
| | | sb.append("\n)b "); |
| | | sb.append("\ngroup by b.uuid,b.start_time,b.end_time,b.meeting_topic,b.meeting_recorder,b.meeting_master,b.status "); |
| | | sb.append("\nLEFT JOIN product_oa_conference_minute C ON C.meeting_uuid = B.uuid"); |
| | | sb.append("\nGROUP BY b.uuid,b.start_time,b.end_time,b.meeting_topic,b.meeting_recorder,b.meeting_master,b.status,C.uuid,C.flow_flag "); |
| | | DataTableEntity dataTableEntity = baseDao.listTable(sb.toString(), param.toArray()); |
| | | |
| | | List dataList =new ArrayList(); |
| | | for (int i = 0; i < dataTableEntity.getRows(); i++) { |
| | | FieldSetEntity fieldSetEntity = dataTableEntity.getData().get(i); |
| | | Map<Object, Object> MapValues = fieldSetEntity.getValues(); |
| | | if(ObjectUtil.isNotEmpty(MapValues.get("start_time1")) || ObjectUtil.isNotEmpty( MapValues.get("end_time"))){ |
| | | Object start_time = MapValues.get("start_time1"); |
| | | Object end_time = MapValues.get("end_time"); |
| | | SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | String start_time_date = dateFormat.format(start_time); |
| | | String end_time_date = dateFormat.format(end_time); |
| | | MapValues.put("start_time",start_time_date); |
| | | MapValues.put("end_time",end_time_date); |
| | | } |
| | | |
| | | Date date = new Date(); |
| | | //是否能够取消 |
| | | if(date.before(fieldSetEntity.getDate("start_time"))){ |
| | | MapValues.put("isCancel",true); |
| | | } |
| | | //是否执行开启功能 |
| | | if(date.before(fieldSetEntity.getDate("start_time")) && fieldSetEntity.getString("status").equals("已取消")){ |
| | | MapValues.put("isStart",true); |
| | | } |
| | | dataList.add(MapValues); |
| | | } |
| | | return dataList; |
| | | if (!BaseUtil.dataTableIsEmpty(dataTableEntity)) { |
| | | for (int i = 0; i < dataTableEntity.getRows(); i++) { |
| | | FieldSetEntity fieldSetEntity = dataTableEntity.getData().get(i); |
| | | String status = fieldSetEntity.getString("status"); |
| | | Date startTime = fieldSetEntity.getDate("start_time"); |
| | | Date endTime = fieldSetEntity.getDate("end_time"); |
| | | Date date = new Date(); |
| | | //是否能够取消/编辑/启用 |
| | | if(date.before(startTime)){ |
| | | if("已取消".equals(status)) { |
| | | fieldSetEntity.setValue("isRestart", true); |
| | | } else if ("已启用".equals(status) || BaseUtil.strIsNull(status)) { |
| | | fieldSetEntity.setValue("isCancel", true); |
| | | } |
| | | fieldSetEntity.setValue("isUpdate", true); |
| | | if (BaseUtil.strIsNull(status)) { |
| | | fieldSetEntity.setValue("status", "未开始"); |
| | | } |
| | | } else { |
| | | //是否能够录入会议纪要 |
| | | if(date.after(endTime)){ |
| | | if (BaseUtil.strIsNull(status)) { |
| | | fieldSetEntity.setValue("status", "已结束"); |
| | | } |
| | | fieldSetEntity.setValue("isFinish", true); |
| | | } else { |
| | | if (BaseUtil.strIsNull(status)) { |
| | | fieldSetEntity.setValue("status", "进行中"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | return dataTableEntity; |
| | | }else { |
| | | return null; |
| | | } |
| | |
| | | DataTableEntity product_oa_conference_apply = baseDao.listTable("product_oa_conference_apply", filter, new Object[]{}); |
| | | if(product_oa_conference_apply.getRows()!=0){ |
| | | FieldSetEntity fieldSetEntity = product_oa_conference_apply.getFieldSetEntity(0); |
| | | if(fieldSetEntity.getString("status").equals("已取消")){ |
| | | if("已取消".equals(fieldSetEntity.getString("status"))){ |
| | | fieldSetEntity.setValue("status","已启用"); |
| | | }else { |
| | | fieldSetEntity.setValue("status","已取消"); |
| | |
| | | */ |
| | | public DataTableEntity listMeetingMinute(FieldSetEntity fse) { |
| | | StringBuilder sbSql = new StringBuilder(); |
| | | sbSql.append("\nSELECT B.meeting_topic, A.*"); |
| | | sbSql.append("\nSELECT B.meeting_master,start_time,end_time, A.*"); |
| | | sbSql.append("\nFROM product_oa_conference_minute A"); |
| | | sbSql.append("\nLEFT JOIN product_oa_conference_apply B ON B.uuid = A.meeting_uuid"); |
| | | return baseDao.listTable(sbSql.toString(), new Object[] {}, fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE)); |
| | |
| | | fseOaTask.setValue("task_source", 1); |
| | | fseOaTask.setValue("task_status", 1); |
| | | fseOaTask.setValue("task_complete_sche", 0); |
| | | fseOaTask.setValue("finish_type", 0); |
| | | fseOaTask.setValue("org_level_uuid", SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid()); |
| | | baseDao.add(fseOaTask); |
| | | |