| | |
| | | import com.product.core.transfer.Transactional; |
| | | import com.product.core.websocket.service.WebsocketMesssageServiceThread; |
| | | import com.product.module.sys.entity.SystemUser; |
| | | import com.product.oa.task.service.TaskDistributionService; |
| | | import com.product.util.BaseUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | QueryFilterService queryFilterService; |
| | | @Autowired |
| | | PermissionService permissionService; |
| | | @Autowired |
| | | TaskDistributionService taskDistributionService; |
| | | |
| | | /** |
| | | * 会议室列表 |
| | |
| | | return baseDao.listTable(sbSql.toString(), new Object[] {}, fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE)); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 会议纪要详情 |
| | | * @param fse |
| | | * @return |
| | | */ |
| | | public FieldSetEntity findMeetingMinute(FieldSetEntity fse) { |
| | | List<String> param = new ArrayList<>(); |
| | | String filter = null; |
| | | if (StringUtils.isEmpty(fse.getUUID())) { |
| | | filter = "B.uuid = ?"; |
| | | param.add(fse.getString("meeting_uuid")); |
| | | } else { |
| | | filter = "A.uuid = ?"; |
| | | param.add(fse.getUUID()); |
| | | } |
| | | StringBuilder sbSql = new StringBuilder(); |
| | | sbSql.append("\nSELECT "); |
| | | sbSql.append("\n B.uuid AS meeting_uuid,B.meeting_topic,B.meeting_master,B.meeting_recorder,B.participator,CONCAT(start_time,'-',end_time)AS meeting_time, "); |
| | | sbSql.append("\n A.uuid,A.meeting_minute,A.copy_user,A.flow_flag"); |
| | | sbSql.append("\nFROM product_oa_conference_minute A"); |
| | | sbSql.append("\nRIGHT JOIN product_oa_conference_apply B ON B.uuid = A.meeting_uuid"); |
| | | sbSql.append("\nWHERE ").append(filter); |
| | | FieldSetEntity fseMeetingMinute = baseDao.getFieldSetEntityBySQL(sbSql.toString(), param.toArray(), false); |
| | | baseDao.loadPromptData(fseMeetingMinute); |
| | | if(!StringUtils.isEmpty(fseMeetingMinute.getUUID())) { |
| | | DataTableEntity dtMeetingMinute = baseDao.listTable("product_oa_conference_minute_sub", "main_uuid = ?", new Object[] {fseMeetingMinute.getUUID()}); |
| | | fseMeetingMinute.addSubDataTable(dtMeetingMinute); |
| | | } |
| | | return fseMeetingMinute; |
| | | } |
| | | |
| | | /** |
| | | * 自动发起任务 |
| | | * @param fse |
| | | */ |
| | | public void autoMeetingtask(FieldSetEntity fse) { |
| | | DataTableEntity dtMeetingMinute = fse.getSubDataTable("product_oa_conference_minute_sub"); |
| | | if(!BaseUtil.dataTableIsEmpty(dtMeetingMinute)) { |
| | | for (int i = 0; i < dtMeetingMinute.getRows(); i++) { |
| | | FieldSetEntity fseMeetingMinute = dtMeetingMinute.getFieldSetEntity(i); |
| | | if ("1".equals(fseMeetingMinute.getString("item_task"))) { |
| | | FieldSetEntity fseOaTask = new FieldSetEntity("product_oa_task_distribution"); |
| | | fseOaTask.setValue("task_name", fseMeetingMinute.getString("item_name")); |
| | | fseOaTask.setValue("task_description", fseMeetingMinute.getString("item_detail")); |
| | | fseOaTask.setValue("task_persons", fseMeetingMinute.getString("item_user")); |
| | | fseOaTask.setValue("owner", fseMeetingMinute.getString("item_mananger")); |
| | | fseOaTask.setValue("task_start_time", fseMeetingMinute.getString("plan_finish_time")); |
| | | fseOaTask.setValue("task_finish_time", fseMeetingMinute.getString("plan_start_time")); |
| | | fseOaTask.setValue("task_source", 1); |
| | | fseOaTask.setValue("task_status", 1); |
| | | fseOaTask.setValue("task_complete_sche", 0); |
| | | fseOaTask.setValue("org_level_uuid", SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid()); |
| | | baseDao.add(fseOaTask); |
| | | |
| | | // 发送任务消息 |
| | | taskDistributionService.sendTaskMessage(fseOaTask, fseMeetingMinute.getString("item_user"), "admin", 1, fseOaTask.getUUID()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void taskMeetingRminder() { |
| | | DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_OA_CONFERENCE_APPLY, " flow_flag=2 and ( to_remind IS NULL OR to_remind = 0 ) AND reminder_time > 0 and reminder_time>=(( UNIX_TIMESTAMP(start_time ) - UNIX_TIMESTAMP( now( ) ) ) / 60) ", new Object[]{}); |
| | | baseDao.loadPromptData(dt); |